module arch.system.types.transaction;

import prelude open;
import arch.system.types.action open;

type Transaction A :=
  mkTransaction@{
    actions : Set (Action A);
  -- CMTreeRoots : Set CMtree.Value;
  -- deltaProof : DeltaProvingSystem.Proof;
  };

deriving instance
eqTrans {A} {{Eq A}} : Eq (Transaction A);

deriving instance
ordTrans {A} {{Ord A}} : Ord (Transaction A);