Offerte di swap
Un'offerta di swap è il modo più semplice per fare scambi su ZooBC. Un maker blocca un importo di un asset e indica l'importo di un altro asset che vuole in cambio; un solo taker paga esattamente quell'importo, ed entrambe le parti si muovono nello stesso momento. Le offerte di swap funzionano con qualsiasi coppia di asset (ZBC, monete genesi o token degli utenti), qualunque siano i loro decimali, quindi servono anche per i token che non possono andare su un mercato con order book.
Le tre transazioni
- CreateSwapOffer (tipo 18) indica la parte data (un asset e un importo), la parte richiesta (un asset e un importo), una scadenza facoltativa in secondi Unix e una controparte designata facoltativa, l'unico indirizzo che potrà accettare. La parte data lascia subito il saldo del maker e viene trattenuta nell'offerta, così un taker sa che c'è davvero.
- AcceptSwapOffer (tipo 19) permette a un taker di pagare l'intera parte richiesta. Nello stesso passaggio il maker riceve la parte richiesta e il taker riceve la parte data. Un maker non può accettare la propria offerta.
- CancelSwapOffer (tipo 20) restituisce la parte data al maker, in qualsiasi momento finché l'offerta è aperta.
Tutto o niente
Non esistono esecuzioni parziali: un solo taker prende l'intera offerta, oppure non succede nulla. Non viene nemmeno prestato nulla: entrambe le parti si muovono nello stesso momento e in modo definitivo, quindi dopo nessuno deve niente a nessuno. Eseguire un po' alla volta contro molte controparti è ciò che fanno gli ordini su un mercato.
Se due taker cercano di accettare la stessa offerta, vince il primo applicato. Il secondo non ha più senso ed è una no-op pagata: paga la sua commissione e non cambia nulla (vedi una transazione per account per blocco, e i batch).
Scadenza e annullamento
Una scadenza blocca solo l'accettazione. La catena non spazza mai via le offerte, quindi un'offerta scaduta resta bloccata finché il suo maker non la annulla e recupera la parte data. Le offerte di swap non pagano alcun canone.
Offerte di swap e ordini su un mercato
| Offerta di swap | Ordine su un mercato | |
|---|---|---|
| Asset | due qualsiasi, qualsiasi numero di decimali | token con 8 decimali |
| Controparti | un solo taker, tutto o niente | esecuzioni contro molti ordini |
| Prezzo | fissato dai due importi del maker | ogni esecuzione al prezzo dell'ordine già presente nel book |
| Canone | nessuno | il mercato paga un canone |
Con altre funzioni
- Gli asset che un maker o un taker riceve sono accrediti in entrata, quindi passano attraverso la politica di ripartizione di chi riceve (vedi politiche di ripartizione e di transazione).
- Un account la cui politica di transazione rifiuta la categoria Exchange non può né creare né accettare offerte.
- Se un token presente in un'offerta aperta scade, le unità bloccate nell'offerta contano comunque per il maker quando la copertura in ZBC del token viene divisa (vedi manutenzione dei token (persistenza)).