Juvix imports
module arch.system.types.transaction;
import prelude open;
import arch.system.types.action open;
Transactions¶
A transaction is a term of type Transaction
.
Transaction
¶
type Transaction A :=
mkTransaction@{
actions : Set (Action A);
};
Arguments
CMTreeRoots
- a set of valid commitment tree roots used to prove the existence of the resources being consumed in the transaction. This set is not a part of actions to avoid duplication of data
actions
- a set of actions that comprise the transaction
deltaProof
- balance proof. It makes sure that
transactionDelta
is correctly derived from the actions' deltas and commits to the expected publicly known value, called a balancing value. There is just one delta proof per transaction
Auxiliary Juvix code: Instances
deriving instance
eqTrans {A} {{Eq A}} : Eq (Transaction A);
deriving instance
ordTrans {A} {{Ord A}} : Ord (Transaction A);
Purpose¶
Todo
Explain the purpose of transactions.
Properties¶
Todo
Explain the properties of transactions.