Wiki di ZooBC
Transazioni

Trasferimenti pianificati

Un trasferimento pianificato è una serie di pagamenti impostata con un'unica transazione. Il pagante firma una volta, e la catena esegue ogni pagamento alla sua scadenza: uno stipendio, un abbonamento, una paghetta o il vesting di un finanziamento. Può pagare ZBC o qualsiasi token.

Impostare una pianificazione

Uno ScheduledTransfer (tipo 29) ha un corpo di 47 byte che indica:

CampoSignificato
id del tokenl'asset da pagare; 0 significa ZBC
importol'importo di ciascun pagamento
intervalloil tempo tra due pagamenti, in secondi
numero di pagamentida 1 a 520
cliffun ritardo facoltativo prima del primo pagamento
modalità di finanziamento0 per il vesting, 1 per il prelievo (vedi sotto)
politica di annullamentorevocabile o irrevocabile
termine finalefacoltativo

La commissione si paga una sola volta, quando la pianificazione viene creata. I pagamenti seguono poi l'intervallo; ciascuno scade in base al timestamp del blocco precedente, quindi un produttore non può datare il suo blocco in anticipo per includervi un pagamento.

Due modalità di finanziamento

Due corsie lungo un asse del tempo: il vesting, in cui un forziere bloccato rilascia un pagamento uguale a ogni scatto, e il prelievo, in cui ogni pagamento viene preso dal pagante e quattro mancati pagamenti di fila portano all'annullamento
Due corsie lungo un asse del tempo: il vesting, in cui un forziere bloccato rilascia un pagamento uguale a ogni scatto, e il prelievo, in cui ogni pagamento viene preso dal pagante e quattro mancati pagamenti di fila portano all'annullamento
  • Vesting (modalità 0): l'intero totale viene bloccato alla creazione della pianificazione e rilasciato un pagamento alla volta. Il destinatario sa che il denaro c'è davvero.
  • Prelievo (modalità 1): non viene bloccato nulla. Ogni pagamento viene preso dal saldo del pagante alla sua scadenza. Dopo quattro pagamenti mancati di fila, la pianificazione si annulla da sola.

I pagamenti in vesting passano attraverso la politica di ripartizione del destinatario, come qualsiasi accredito in entrata; i pagamenti in prelievo no (vedi politiche di ripartizione e di transazione).

Annullare e reindirizzare

  • CancelSchedule (tipo 30) chiude una pianificazione. Il pagante può annullarla solo se è revocabile. Il destinatario può annullarla in qualsiasi momento, ed è così che un destinatario rifiuta una pianificazione. Quando una pianificazione in vesting viene annullata, tutto ciò che è ancora bloccato torna al pagante.
  • ReassignSchedule (tipo 31) permette al destinatario di reindirizzare i pagamenti futuri a un altro indirizzo.

Una politica di transazione viene verificata solo rispetto al destinatario indicato nello ScheduledTransfer stesso, quindi i pagamenti successivi raggiungono comunque un destinatario che in seguito rifiuta i pagamenti.

Che cosa non fa una pianificazione

Una pianificazione non va a caccia di un momento economico sulla rete: la sua commissione si paga alla creazione, e i suoi pagamenti seguono l'intervallo fissato dal pagante. E non scambia nulla: paga l'asset che indica, e convertire un asset in un altro è compito delle offerte di swap e dei mercati.

Altri strumenti coprono altre forme di pagamento. Per denaro che deve maturare in modo continuo, minuto per minuto, vedi pagamenti liquidi (flussi). Per un unico pagamento rilasciato a una futura altezza di blocco o quando un evento viene confermato, vedi trigger e attestazioni.

Se un token pianificato scade, le unità ancora bloccate in una pianificazione in vesting contano per il proprietario della pianificazione quando la copertura in ZBC del token viene divisa (vedi manutenzione dei token (persistenza)).

Vedi anche