feat(deploy): Sepolia redeployment with GTokenAuthorization v2.2.0#196
feat(deploy): Sepolia redeployment with GTokenAuthorization v2.2.0#196jhfnetboy wants to merge 4 commits into
Conversation
…ings (Section 8) Records all findings from Codex + local adversarial dual-track review after PR #195 merge: 2 Critical, 7 High, 8 Medium, 6 Low/Info with UUPS-upgradeable vs redeploy fix paths. Deferred to v5.4 per user decision — no code changes in this commit.
- GTokenAuthorization (EIP-3009 gasless transfers) replaces plain GToken - deploy-core: add --non-interactive flag for Sepolia/live envs to prevent forge 1.4+ broadcast prompt blocking in non-TTY environments - verify-all.sh: update GToken verification path/args for GTokenAuthorization (constructor now takes cap + factory address) - config.sepolia.json: updated with new contract addresses (2026-05-13) - verify.sepolia.contracts-5-13.md: 12/12 contracts verified on Etherscan New Sepolia addresses: GToken (GTokenAuthorization): 0xbC17B6C319561bcA805981fC2846e4678f9114Cb Registry proxy: 0x3dfeBE636eDA211E0a783308Cf0CB31892686d67 SuperPaymaster proxy: 0x506962D17AEA6E7A15fd3479D8c4E2ABBBF91112
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4ea69e46f0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "updateTime": "2026-05-11 19:47:00", | ||
| "xPNTsFactory": "0x0195f1f30276f1455F650207F9A1D2AAeABBEc7D" | ||
| } | ||
| {"aPNTs":"0x6859dC0b5ee1CcE829673161B7a3550CC4A25E48","blsAggregator":"0x12Ae250EF63adCEF487B5679b917011D508687AB","dvtValidator":"0x6b131ac781Adea7785d4DFfF612E5A26B37F0D0d","entryPoint":"0x0000000071727De22E5E9d8BAf0edAc6f37da032","gToken":"0xbC17B6C319561bcA805981fC2846e4678f9114Cb","paymasterFactory":"0x7647b6Db63f87C5625153CD1cD1675095E06B480","paymasterV4Impl":"0x661E02f276D2B589Fb08453E43739C3766be69Cb","pnts":"0xAc57F61ad917d8D9325cB5388B7Ec307d8644eEa","priceFeed":"0x694AA1769357215DE4FAC081bf1f309aDC325306","registry":"0x3dfeBE636eDA211E0a783308Cf0CB31892686d67","reputationSystem":"0x1290d30abD9324756258e6eE66dc11B4bC9E96de","sbt":"0x4ab7FF379e3491C27FB26F8c0a811CbD7891A1B2","simpleAccountFactory":"0x91E60e0613810449d098b0b5Ec8b51A0FE8c8985","srcHash":"07e8f377915661601beefc03be7b7c39d422d644f5e04baa8da572145bf80c78","staking":"0x4C1EA3A91eF13236F5F13a47321C83cf86EF51dF","superPaymaster":"0x506962D17AEA6E7A15fd3479D8c4E2ABBBF91112","updateTime":"2026-05-13 22:03:14","xPNTsFactory":"0x907C23F11c00221fa916c9d9b0F8169D5Bd46aC2"} No newline at end of file |
There was a problem hiding this comment.
Preserve non-redeployed service addresses in sepolia config
deployments/config.sepolia.json now drops keys such as microPaymentChannel, but script/gasless-tests/test-micropayment-channel.js hard-fails when that field is absent (throw new Error('microPaymentChannel address missing...')). This makes the micropayment E2E path non-runnable immediately after this redeploy even if the channel contract is still deployed and intended to remain in use; keep unchanged service addresses in the shared config when a redeploy only rotates core contracts.
Useful? React with 👍 / 👎.
…loy record - abis/GTokenAuthorization.json: new ABI for EIP-3009 gasless transfers - abis/GToken.json: updated to GTokenAuthorization ABI (backward-compat name) - abis/abi.config.json: refreshed hashes + timestamp (17 files) - All 11 other ABIs synced from compiled output - Also synced all ABIs to ../aastar-sdk/packages/core/src/abis/ - docs/deployment/sepolia-deploy-record-2026-05-13.md: full deploy record including contract addresses, wiring, Etherscan verification (12/12), unit tests (925/925), E2E tests (21/24), 3 real gasless tx results, gas report
MPC (0x5753e9675f68221cA901e495C1696e33F552ea36) was deployed separately in a prior commit and is not part of DeployLive.s.sol. Full --force redeploy overwrote the config. MPC is token-agnostic so the old contract remains valid. TODO v5.4: add MPC deploy step to DeployLive.s.sol so --force won't drop it again.
Summary
deploy-core: add--non-interactiveflag for live envs — prevents forge 1.4+ broadcast confirmation blocking in non-TTY/CI environmentsscripts/verify-all.sh: update GToken → GTokenAuthorization with correct constructor args(cap, factory)deployments/config.sepolia.json: updated with new 2026-05-13 addressesdeployments/verify.sepolia.contracts-5-13.md: 12/12 contracts verified on EtherscanNew Sepolia Addresses
0xbC17B6C319561bcA805981fC2846e4678f9114Cb0x3dfeBE636eDA211E0a783308Cf0CB31892686d670x506962D17AEA6E7A15fd3479D8c4E2ABBBF911120x4C1EA3A91eF13236F5F13a47321C83cf86EF51dF0x4ab7FF379e3491C27FB26F8c0a811CbD7891A1B2Verification
Check04_Registry,Check01_GToken,Check02_GTokenStaking,Check03_MySBT,Check07_SuperPaymaster,Check08_Wiring,VerifyV3_1_1)Test plan
./prepare-test sepoliato register test accountscd script/gasless-tests && ./run-all-tests.shfor E2E gasless tests