pages / program / flow_vault_money

program · flow_vault_money

canister coord://offchain/genie/program/flow_vault_money@v1/df9cdb38626e7612 · v1 · artifact root 0xdf9cdb38626e7612d8351cbe1ebf337ac5ac3bb5d93fe20fe6384700f7f2a527 · previous none (first version) · superroot at publish not sealed yet

sealed cases that reached it: 0 — sealed cases that reached this word (the store counts, never reads)

the words it says

the source

// generated by genie import from lang/gen/lambda-flows.json (flow:vault-money) — a lambda flow as a genie machine: every node a state, every edge a move; a guard node's edge carries its pass; an act node's entry signs behind the lambda's standard arm.
genie flow_vault_money v1
about "The one money lambda: deposits, withdrawals, transfers, subscriptions, top-ups and rebalances of vault:orderbook:clob as one flow: seen on the rail's lane, final, guarded by the refusals of money.cue, credited or released, metered under the intent's key"

use chain eip155:4663 eip155:8453 eip155:5042 eip155:143 eip155:3692781 eip155:36927
use guard owner-arm signer-allowlist

agent vault_money is "The one money lambda"
  states start finality credit_guard credit release_guard release released rebalance_plan owner_approval burn attested mint reconciled
  start start
  final credit released reconciled
  on event lane_seen
  on event queue
  move start -> finality component coord-rpc
  move start -> release_guard component vault-signer
  move start -> rebalance_plan component cctp-router
  move finality -> credit_guard component vault-signer
  move credit_guard -> credit component grid-meter
  move release_guard -> release act release signs registered-address transfer(address,uint256) guard owner-arm signer-allowlist component vault-signer
  move release -> released component evm-carrier
  move rebalance_plan -> owner_approval component vault-signer
  move owner_approval -> burn act burn signs registered-address depositForBurn(uint256,uint32,bytes32,address,bytes32,uint256,uint32) guard owner-arm signer-allowlist component cctp-router
  move burn -> attested component vault-signer
  move attested -> mint act mint signs registered-address receiveMessage(bytes,bytes) guard owner-arm signer-allowlist component cctp-router
  move mint -> reconciled component grid-meter
  next finality credit_guard "then credit guard"
  next credit_guard credit "then credit"
  next release_guard release "then release"
  next release released "then released"
  next rebalance_plan owner_approval "then owner approval"
  next owner_approval burn "then burn"
  next burn attested "then attested"
  next attested mint "then mint"
  next mint reconciled "then reconciled"

knowledge
  symptom "The one money lambda stops before its end" caused_by "a guard node did not pass" fixed_by "read the guard's expect in the flow, fix the input, run again"
  rule "The one money lambda: an act node is entered only from a guard node"