UTXO DAG Description
The history of the entire ledger representing balances collateralized on a Participating Interface can be represented as a direct acyclic graph with the following properties:
- every node is either a
UTXO
or aTraderIntent
- a
UTXO
represents the state of an entry in the ledger - a
TraderIntent
represents an action initiated by the owner of the ledger entry
- a
TraderIntent
can only have vertices that connect to aUTXO
- a
UTXO
must have 1 input vertices and 0 or 1 output vertices - a
TraderIntent
must have 0 or more input vertices and 1 or more output vertices - a
Deposit
:- is a
TraderIntent
that has no input vertices and 1 output vertex - must output a
DepositUTXO
- a
DepositUTXO
:- has 1 input and 0 or 1 outputs
- is a
UTXO
that represents a digital asset first entering the ledger of a PI through anAssetCustody
contract - every
UTXO
either is aDepositUTXO
or is a descendant of aDepositUTXO
(meaning if you follow the inputs of anyUTXO
, you will eventually reach aDepositUTXO
) - no descendant of a
UTXO
can be aDepositUTXO
- a
Trade
:- represents a PI matching two trader-signed orders and including them in the ledger
- is a
TraderIntent
that has at least 2 input vertices and 4 output vertices:- each input must be either a
DepositUTXO
or anObligationUTXO
- each output must be either an
ObligationUTXO
or aFeeUTXO
- swaps ownership of UTXOs between two traders, creating the new ledger entries as well as entries for any fees paid
- a
ObligationUTXO
:- has 1 input and 0 or 1 outputs
- is a
UTXO
that represents a ledger entry in the PI that is "out-of-sync" with theAssetCustody
contract. It will either continue to be transferred on the ledger as a result of aTrade
, or it will become aSettledUTXO
- a
FeeUTXO
:- has 1 input and 0 outputs
- is a
UTXO
that represents a fee paid by a trader
Last modified 9mo ago