feat: add live OBOL faucet buyer-seller smoke flow#450
Closed
bussyjd wants to merge 3 commits into
Closed
Conversation
b89f237 to
497c322
Compare
497c322 to
9e02619
Compare
- prefer current Go path for nohup/cron flow execution - poll for remote-signer pod creation before age checks - allow cooldown-safe flow-15 reruns when Bob already has faucet OBOL - poll post-claim balances to tolerate public RPC state lag
Collaborator
Author
|
Live flow-15 smoke update (2026-05-08):
I updated the PR body with the full pass/fail breakdown and non-secret chain evidence. |
6 tasks
Collaborator
Author
|
Marking this PR as superseded by #452. Reason:
Closing this PR as redundant in favor of:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
flows/flow-15-live-obol-faucet-alice-bob.sh, a dedicated live smoke flow whose purpose is: official faucet funds Bob, then the existing Alice/Bob live OBOL x402 buyer/seller flow runs via flow-14Canonical Base Sepolia OBOL source of truth
Source of truth is #447 plus the live deployed contracts:
This PR intentionally uses the new faucet-backed OBOL token above for the flow-14/flow-15 live smoke path. It does not use the old duplicate/testnet token or the ad-hoc
0xde24...1129token page.Corrective alignment done in this PR
internal/x402/tokens.goregisters Base Sepolia OBOL at0x0a09371a8b011d5110656ceBCc70603e53FD2c78.flows/flow-14-live-obol-base-sepolia.shdefaultsOBOL_TOKEN_BASE_SEPOLIAto the same token.flows/flow-15-live-obol-faucet-alice-bob.shdefaults token/faucet to the feat: wire Base Sepolia OBOL faucet env #447 contracts and assertsfaucet.token() == OBOL_TOKEN_BASE_SEPOLIAbefore claiming.internal/embed/infrastructure/values/obol-frontend.yaml.gotmplremains aligned with the feat: wire Base Sepolia OBOL faucet env #447/fix: lower Base Sepolia OBOL faucet default amount #448 runtime env defaults..agents/skills/obol-stack-dev) now cite feat: wire Base Sepolia OBOL faucet env #447, use the new token, and no longer hardcode old-token holder addresses as the canonical pair.NEXT_PUBLIC_BASE_SEPOLIA_OBOL_*/100 OBOLguidance in favor of the runtime env defaults.Flow 15 shape
token()matches the selected OBOL tokenREMOTE_SIGNER_PRIVATE_KEYclaim(address Bob)from a funded faucet claimer walletclaimAmountand faucet balance decreases by at leastclaimAmountflow-14-live-obol-base-sepolia.shto complete Alice sells → Bob buys → x402 settlementTests / verification
NEXT_PUBLIC_BASE_SEPOLIA_OBOL_*, or100 OBOLremain in the PR worktreegit diff --checkbash -n flows/lib.shbash -n flows/flow-14-live-obol-base-sepolia.shbash -n flows/flow-15-live-obol-faucet-alice-bob.shgo test ./internal/x402 -count=1go build ./cmd/obolgo test ./...Live flow-15 smoke result (2026-05-08)
Ran
flows/flow-15-live-obol-faucet-alice-bob.shagainst live Base Sepolia using redacted logging.Passed / verified:
84532reachable viahttps://base-sepolia-rpc.publicnode.com.0x0c8Ec594d067d1D850deba7BAa05d4052Ab97076points at OBOL0x0a09371a8b011d5110656ceBCc70603e53FD2c78(Obol Network/OBOL/18).5 OBOL:0x81ed1f64dc92452e89431ded6f8ef0865b3093e5da74c7889dee23d01df86f91(status=0x1, block0x2752240). The final rerun detected the faucet claimer cooldown and skipped a duplicate claim because Bob was already sufficiently funded.0 OBOL, Bob5 OBOL, faucet49,995 OBOL.ServiceOfferReady=True.5669registered.0x0ab89e9e6a8424719a2f94411eec017e88c6c5f1f4f829ecc3039512aaf8a73b(status=0x1, block0x2752dc8).0xb4fe6c31626c4b5f2e1f42437cbe53e4d177917feead1d115b85d5815074adab(status=0x1, block0x2752dca).Failed / not release-ready yet:
530instead of expected402.InternalServerError: OpenAIException - Connection errorfor model groupgemma4-fast.PurchaseRequestCR was created; the run failed waiting forPurchaseRequest Ready=True.Transfer(Bob -> Alice)scan from registration block to latest returned count0, matching balances (Alice stayed0, Bob stayed5 OBOL).Interpretation: this PR's token registry, faucet wiring, faucet-funded Bob path, Alice OBOL ServiceOffer, x402 402 gate, and ERC-8004 registration are verified live. The remaining blocker is buyer-side runtime/network reliability (Bob agent pod reachability to the Cloudflare tunnel and Hermes/LiteLLM upstream connection to
gemma4-fast) before flow-15 can be called fully green.Not run
shellcheckis not installed in this environment, so validation isbash -nplus review.