Skip to content
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.