feat(example): Pendle demo real-tx readiness on Arbitrum Sepolia#26
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…router + real executeEnvelope tx Deploy MockPendleRouter to Robinhood Chain testnet and allow-list it on the existing AgentPolicyGate, then land a real non-reverting executeEnvelope via SmokeExecuteEnvelope - the AI Agentic category needs a real tx, not a preview. Sync addresses + tx hashes into deployed.json, decoder-data, and the judge-facing README table. Robinhood Chain (Arbitrum Orbit) executes the cancun/PUSH0 bytecode unchanged; forge's EIP-3855 warning is only a stale chain-id allowlist, so no evm_version downgrade was needed and the Arbitrum default build is untouched (20 forge tests pass). Gate 0x03008A57b9f1FA575D891a26b70608381D1Ab19E Router 0xDCF04578bD2C379dc6BaD97bD21A37aC65F53D51 ExecTx 0xfe39ae63191998fb6af0c4fc9868aa7ad7b4c17a506f2f9a22ffee02f17fefcc
…ge table Ran SmokeExecuteEnvelope against Arbitrum Sepolia (gate 0x8C696D..., router 0x92d8a5...) - status 1, EnvelopeExecuted + SwapExactTokenForPt events. Fills the last 0x__PENDING__ row in the judge-facing README; both chains now show a real agent-executed tx. ExecTx 0x97ca441d66a1a934f94de1cde628cde145359f45e114270184894f35cadb9c3a
…ification
The hardcoded V1 arbiscan url (api-sepolia.arbiscan.io/api) was deprecated in Etherscan's 2025 V2 migration and now rejects requests ("deprecated V1 endpoint"). Dropping the url lets forge resolve the V2 unified endpoint from --chain. AgentPolicyGate + MockPendleRouter are now verified on Arbiscan; this also unblocks --verify in DeployArbSepolia.
Anthropic Claude stays the preferred provider when ANTHROPIC_API_KEY is set; otherwise the route uses the free, OpenAI-compatible Groq endpoint when GROQ_API_KEY is present. Model call is extracted to src/agent/llm.ts so zod validation, envelope build and EIP-712 signing stay provider- agnostic. No new dependency - Groq is reached via a plain fetch.
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.
What
Readies the Pendle demo (Scenario A) to really execute
executeEnvelopeon Arbitrum Sepolia, where the contracts are now deployed. Syncs the addresses, fixes a latent typecheck error main inherited from the ERC last-call merge, and fills the judge-facing README. Branch offmain(which now has the merged Week 2 flow, #25).Changes
contracts/deployed.json+decoder-data/*now carry the live Arbitrum SepoliaAgentPolicyGate/MockPendleRouteraddresses, so the deploy-pending banner clears and the agent route builds real envelopes.app/api/decode/route.tsnow passesoperation: 'call'todecodeCall. After the ERC-8265 last-call merge,@txkit/tx-protocol'sEvmCall.operationbecame required; CI buildspackages/**only, so the example's break was latent. This PR makes the example typecheck again.executeEnveloperow stays a placeholder until the demo run.Verified
gate.agentSigner()=0xEC6613578be203e23e360A3985EA1601435D5907;gate.allowedRecipients(router)=true;gate.spendLimit()=0(the Pendle swap forwards value 0, so it passes).tsc --noEmitclean ·next buildclean (9 routes) ·forge test20/20 · em-dash scan clean.For Mike (the real tx - needs a funded key you hold)
.env.local:AGENT_SIGNER_PRIVATE_KEYfor0xEC66...5907(server-side EIP-712 envelope signing),ANTHROPIC_API_KEY,ARB_SEPOLIA_RPC_URL./flow-aend to end (orSmokeExecuteEnvelope, seeDEPLOY.md) -> capture theexecuteEnvelopetx hash -> paste it into the README Arbitrum Sepolia table.Pending
SignEnvelopeActions.Do not merge - review first.
🤖 Generated with Claude Code