Skip to content

feat(deploy): Sepolia redeployment with GTokenAuthorization v2.2.0#196

Open
jhfnetboy wants to merge 4 commits into
mainfrom
feat/sepolia-gtoken-auth-redeployment
Open

feat(deploy): Sepolia redeployment with GTokenAuthorization v2.2.0#196
jhfnetboy wants to merge 4 commits into
mainfrom
feat/sepolia-gtoken-auth-redeployment

Conversation

@jhfnetboy
Copy link
Copy Markdown
Member

Summary

  • GTokenAuthorization (EIP-3009 gasless transfers, PR feat(tokens): GTokenAuthorization v2.2.0 — EIP-3009 gasless transfers #195) replaces plain GToken in Sepolia deployment
  • deploy-core: add --non-interactive flag for live envs — prevents forge 1.4+ broadcast confirmation blocking in non-TTY/CI environments
  • scripts/verify-all.sh: update GToken → GTokenAuthorization with correct constructor args (cap, factory)
  • deployments/config.sepolia.json: updated with new 2026-05-13 addresses
  • deployments/verify.sepolia.contracts-5-13.md: 12/12 contracts verified on Etherscan

New Sepolia Addresses

Contract Address
GToken (GTokenAuthorization) 0xbC17B6C319561bcA805981fC2846e4678f9114Cb
Registry proxy (UUPS) 0x3dfeBE636eDA211E0a783308Cf0CB31892686d67
SuperPaymaster proxy (UUPS) 0x506962D17AEA6E7A15fd3479D8c4E2ABBBF91112
GTokenStaking 0x4C1EA3A91eF13236F5F13a47321C83cf86EF51dF
MySBT 0x4ab7FF379e3491C27FB26F8c0a811CbD7891A1B2

Verification

  • All 7 audit scripts passed (Check04_Registry, Check01_GToken, Check02_GTokenStaking, Check03_MySBT, Check07_SuperPaymaster, Check08_Wiring, VerifyV3_1_1)
  • "All Core & BLS Wiring Paths Verified Successfully!"
  • 12/12 contracts verified on Etherscan Sepolia

Test plan

  • ./prepare-test sepolia to register test accounts
  • cd script/gasless-tests && ./run-all-tests.sh for E2E gasless tests

jhfnetboy added 2 commits May 13, 2026 21:44
…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
@jhfnetboy jhfnetboy requested a review from fanhousanbu as a code owner May 13, 2026 15:21
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread deployments/config.sepolia.json Outdated
"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
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

jhfnetboy added 2 commits May 13, 2026 22:45
…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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant