pages / program / lambda_venice_reseller

program · lambda_venice_reseller

canister coord://offchain/genie/program/lambda_venice_reseller@v1/c2c73d1c7bfcdb1d · v1 · artifact root 0xc2c73d1c7bfcdb1dae410a5ba1f1965a632611b4eadd945c3df03a40c2f6395c · 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/taifoon-lambdas.json (lambda:venice-reseller) — a Taifoon Lambda as a genie client program: its triggers, reads, acts behind its guards, its vault.
genie lambda_venice_reseller v1
about "Venice reseller (the vault flow): hourly on the inference feed: read Venice's catalogue and the edge; when the top-up gate opens and the Venice balance is under the floor, PROPOSE one x402 top-up (5 to 20 USDC) the owner approves and signs under MFA; per session: sign in (SIWE) and buy the resold calls against the balance; every call a …"

use vault vault:taifoon:kms
use chain every
use product lambda.act lambda.read
use guard owner-arm signer-allowlist message-pin chain-pin receipt-check outflow-breaker halt-on-failure single-runner idempotent-payouts fixed-addresses vault-owns kms-sign-only role-keys

agent venice_reseller is "Venice reseller (the vault flow)"
  states idle read act_1 settled recorded held
  start idle
  final recorded held
  failed held
  on tick 1h
  on event lane
  move idle -> read meter lambda.read
  move read -> act_1 when plan.ready == true act vault_node signs registered-address TransferWithAuthorization(address-from,address-to,uint256-value,uint256-validAfter,uint256-validBefore,bytes32-nonce) guard owner-arm signer-allowlist message-pin chain-pin receipt-check outflow-breaker halt-on-failure single-runner idempotent-payouts fixed-addresses vault-owns kms-sign-only role-keys meter lambda.act
  move act_1 -> settled act settler signs evm-carrier settle(bytes32) guard owner-arm signer-allowlist message-pin chain-pin receipt-check outflow-breaker halt-on-failure single-runner idempotent-payouts fixed-addresses vault-owns kms-sign-only role-keys via vault:taifoon:kms on every cap 5000000 USDC meter lambda.act
  move settled -> recorded
  move * -> held when guard.held == true
  refuse guard_held "a guard held the run; nothing was signed"
  say recorded "Venice reseller (the vault flow): the run is recorded"
  next idle read "The run starts on its trigger: tick 1h, lane"

vault vault:taifoon:kms
  grid lambda.act per_call 1
  cap USDC every per_tx 5000000 per_day 20000000

knowledge
  symptom "Venice reseller (the vault flow) is held" caused_by "a guard held the run (owner-arm, signer-allowlist, message-pin, chain-pin, receipt-check, outflow-breaker, halt-on-failure, single-runner, idempotent-payouts, fixed-addresses, vault-owns, kms-sign-only, role-keys)" fixed_by "read the guard by name in the trace, fix its cause, let the next trigger run"
  rule "Venice reseller (the vault flow) signs only behind owner-arm, signer-allowlist, message-pin, chain-pin, receipt-check, outflow-breaker, halt-on-failure, single-runner, idempotent-payouts, fixed-addresses, vault-owns, kms-sign-only, …"