pages / program / flow_pay_in

program · flow_pay_in

canister coord://offchain/genie/program/flow_pay_in@v1/f3730a8bcb984e0f · v1 · artifact root 0xf3730a8bcb984e0f38f9978395dc4b37ec7464b2224e5d9978dca086532e37f1 · 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:pay-in) — 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_pay_in v1
about "Pay from any venue: the venue's own bridge to the buyer's own address, then x402 per call, the sale under the vault: _PAY_IN_v1_ (lang/cue/pay-in.cue): the standard subflow every buy flow reuses. Read the door's 402 (accepts per network, payTo the vault) → pick the buyer's #PayIn row by where its money is → x402-direct: pay there; a bridge rail: quote …"

use chain near:mainnet eip155:8453 eip155:42161 eip155:5042 eip155:4663 eip155:143
use guard owner-arm signer-allowlist

agent pay_in is "Pay from any venue: the venue's own bridge to the buyer's own address, then x402 per call, the sale under the vault"
  states start challenge rail bridge_quote bridge_guard bridge delivered pay_guard pay recorded
  start start
  final recorded
  on event need
  move start -> challenge component x402-door
  move challenge -> rail component pay-in
  move rail -> bridge_quote component pay-in
  move bridge_quote -> bridge_guard component vault-signer
  move bridge_guard -> bridge component pay-in
  move bridge -> delivered component pay-in
  move delivered -> pay_guard component vault-signer
  move rail -> pay_guard component vault-signer
  move pay_guard -> pay act pay signs the-door-network-s-dollar-token-(settle_on_seller_venue.pay_tokens) transferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes) guard owner-arm signer-allowlist component x402
  move pay -> recorded component coord-stream
  next challenge rail "then rail"
  next rail bridge_quote "then bridge quote"
  next bridge_quote bridge_guard "then bridge guard"
  next bridge_guard bridge "then bridge"
  next bridge delivered "then delivered"
  next delivered pay_guard "then pay guard"
  next pay_guard pay "then pay"
  next pay recorded "then recorded"

knowledge
  symptom "Pay from any venue: the venue's own bridge to the buyer's own address, then x402 per call, the …" caused_by "a guard node did not pass" fixed_by "read the guard's expect in the flow, fix the input, run again"
  rule "Pay from any venue: the venue's own bridge to the buyer's own address, then x402 per call, the …"