pages / program / flow_pons_buyback

program · flow_pons_buyback

canister coord://offchain/genie/program/flow_pons_buyback@v1/e532c258446b9812 · v1 · artifact root 0xe532c258446b9812307830392fa05929cfc38172390e433b88f6d3784fc42acc · 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:pons-buyback) — 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_pons_buyback v1
about "Pons buyback with a curve market maker: the first lambda drawn as a flow: tick → read the curve and the escrow → quote on the curve → signer guard → claim, sweep, buy the dip, sell the ask band → receipts on the stream"

use chain eip155:4663
use guard owner-arm signer-allowlist

agent pons_buyback is "Pons buyback with a curve market maker"
  states start read_curve quote mm guard_node claim trade pay_out receipts
  start start
  final receipts
  on event tick
  move start -> read_curve component coord-rpc
  move read_curve -> quote component pons-v2
  move quote -> mm component curve-mm
  move mm -> guard_node component vault-signer
  move guard_node -> claim act claim signs registered-address claim() claimToken(address) guard owner-arm signer-allowlist component vault-signer
  move guard_node -> trade act trade signs curve:launch sweepFees(uint256) buy(uint256,uint256,address) sell(uint256,uint256,address) guard owner-arm signer-allowlist component pons-v2
  move guard_node -> pay_out act pay_out signs token:launch transfer(address,uint256) approve(address,uint256) guard owner-arm signer-allowlist component vault-signer
  move claim -> receipts component coord-stream
  move pay_out -> receipts component coord-stream
  move trade -> receipts component coord-stream
  next read_curve quote "then quote"
  next quote mm "then mm"
  next mm guard_node "then guard"
  next guard_node claim "then claim"
  next claim receipts "then receipts"
  next trade receipts "then receipts"
  next pay_out receipts "then receipts"

knowledge
  symptom "Pons buyback with a curve market maker 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 "Pons buyback with a curve market maker: an act node is entered only from a guard node"