@aastar/sdk 0.16.6 → 0.16.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -245
- package/dist/account/src/accounts/simple.d.ts +18 -0
- package/{packages/account/src/accounts/simple.ts → dist/account/src/accounts/simple.js} +12 -47
- package/dist/account/src/eoa.d.ts +10 -0
- package/dist/account/src/eoa.js +21 -0
- package/dist/account/src/index.d.ts +19 -0
- package/dist/account/src/index.js +49 -0
- package/dist/core/src/abis/BLSAggregator.json +686 -0
- package/dist/core/src/abis/BLSValidator.json +42 -0
- package/dist/core/src/abis/DVTValidator.json +368 -0
- package/dist/core/src/abis/EntryPoint.json +1382 -0
- package/dist/core/src/abis/GToken.json +513 -0
- package/dist/core/src/abis/GTokenStaking.json +949 -0
- package/dist/core/src/abis/MySBT.json +1518 -0
- package/dist/core/src/abis/Paymaster.json +1143 -0
- package/dist/core/src/abis/PaymasterFactory.json +640 -0
- package/dist/core/src/abis/Registry.json +1942 -0
- package/dist/core/src/abis/ReputationSystem.json +699 -0
- package/dist/core/src/abis/SimpleAccount.json +560 -0
- package/dist/core/src/abis/SimpleAccountFactory.json +111 -0
- package/dist/core/src/abis/SuperPaymaster.json +1781 -0
- package/dist/core/src/abis/index.d.ts +1126 -0
- package/{packages/core/src/abis/index.ts → dist/core/src/abis/index.js} +7 -20
- package/dist/core/src/abis/xPNTsFactory.json +718 -0
- package/dist/core/src/abis/xPNTsToken.json +1280 -0
- package/dist/core/src/actions/StateValidator.d.ts +68 -0
- package/{packages/core/src/actions/StateValidator.ts → dist/core/src/actions/StateValidator.js} +68 -134
- package/dist/core/src/actions/account.d.ts +55 -0
- package/dist/core/src/actions/account.js +133 -0
- package/dist/core/src/actions/aggregator.d.ts +17 -0
- package/dist/core/src/actions/aggregator.js +31 -0
- package/dist/core/src/actions/dvt.d.ts +30 -0
- package/dist/core/src/actions/dvt.js +41 -0
- package/dist/core/src/actions/entryPoint.d.ts +90 -0
- package/dist/core/src/actions/entryPoint.js +211 -0
- package/dist/core/src/actions/factory.d.ts +215 -0
- package/dist/core/src/actions/factory.js +442 -0
- package/dist/core/src/actions/faucet.d.ts +48 -0
- package/{packages/core/src/actions/faucet.ts → dist/core/src/actions/faucet.js} +58 -142
- package/dist/core/src/actions/gtokenExtended.d.ts +39 -0
- package/dist/core/src/actions/gtokenExtended.js +115 -0
- package/dist/core/src/actions/index.d.ts +15 -0
- package/{packages/core/src/actions/index.ts → dist/core/src/actions/index.js} +0 -1
- package/dist/core/src/actions/paymasterV4.d.ts +170 -0
- package/dist/core/src/actions/paymasterV4.js +334 -0
- package/dist/core/src/actions/registry.d.ts +246 -0
- package/dist/core/src/actions/registry.js +667 -0
- package/dist/core/src/actions/reputation.d.ts +129 -0
- package/dist/core/src/actions/reputation.js +281 -0
- package/dist/core/src/actions/sbt.d.ts +191 -0
- package/dist/core/src/actions/sbt.js +533 -0
- package/dist/core/src/actions/staking.d.ts +132 -0
- package/{packages/core/src/actions/staking.ts → dist/core/src/actions/staking.js} +83 -174
- package/dist/core/src/actions/superPaymaster.d.ts +237 -0
- package/dist/core/src/actions/superPaymaster.js +644 -0
- package/dist/core/src/actions/tokens.d.ts +229 -0
- package/dist/core/src/actions/tokens.js +415 -0
- package/dist/core/src/branding.d.ts +30 -0
- package/dist/core/src/branding.js +30 -0
- package/dist/core/src/clients/BaseClient.d.ts +25 -0
- package/{packages/core/src/clients/BaseClient.ts → dist/core/src/clients/BaseClient.js} +16 -28
- package/{packages/core/src/clients/types.ts → dist/core/src/clients/types.d.ts} +0 -9
- package/dist/core/src/clients/types.js +1 -0
- package/dist/core/src/clients.d.ts +5 -0
- package/dist/core/src/clients.js +11 -0
- package/dist/core/src/communities.d.ts +52 -0
- package/dist/core/src/communities.js +73 -0
- package/dist/core/src/config/ContractConfigManager.d.ts +20 -0
- package/{packages/core/src/config/ContractConfigManager.ts → dist/core/src/config/ContractConfigManager.js} +8 -23
- package/dist/core/src/constants.d.ts +88 -0
- package/dist/core/src/constants.js +125 -0
- package/dist/core/src/contract-addresses.d.ts +110 -0
- package/dist/core/src/contract-addresses.js +99 -0
- package/dist/core/src/contracts.d.ts +424 -0
- package/dist/core/src/contracts.js +343 -0
- package/dist/core/src/crypto/blsSigner.d.ts +64 -0
- package/{packages/core/src/crypto/blsSigner.ts → dist/core/src/crypto/blsSigner.js} +23 -49
- package/dist/core/src/crypto/index.js +1 -0
- package/dist/core/src/index.d.ts +21 -0
- package/{packages/core/src/index.ts → dist/core/src/index.js} +0 -1
- package/dist/core/src/networks.d.ts +127 -0
- package/{lib/shared-config/src/networks.ts → dist/core/src/networks.js} +34 -33
- package/dist/core/src/requirementChecker.d.ts +38 -0
- package/{packages/core/src/requirementChecker.ts → dist/core/src/requirementChecker.js} +26 -74
- package/dist/core/src/roles.d.ts +204 -0
- package/{packages/core/src/roles.ts → dist/core/src/roles.js} +23 -67
- package/dist/core/src/utils/validation.d.ts +24 -0
- package/{packages/core/src/utils/validation.ts → dist/core/src/utils/validation.js} +6 -16
- package/{packages/dapp/src/index.ts → dist/dapp/src/index.d.ts} +0 -1
- package/dist/dapp/src/index.js +3 -0
- package/dist/dapp/src/ui/hooks/useCreditScore.d.ts +13 -0
- package/{packages/dapp/src/ui/hooks/useCreditScore.ts → dist/dapp/src/ui/hooks/useCreditScore.js} +11 -23
- package/dist/dapp/src/ui/hooks/useSuperPaymaster.d.ts +8 -0
- package/{packages/dapp/src/ui/hooks/useSuperPaymaster.ts → dist/dapp/src/ui/hooks/useSuperPaymaster.js} +9 -17
- package/dist/dapp/src/ui/index.d.ts +4 -0
- package/{packages/dapp/src/ui/index.ts → dist/dapp/src/ui/index.js} +3 -8
- package/dist/identity/src/index.d.ts +46 -0
- package/{packages/identity/src/index.ts → dist/identity/src/index.js} +21 -41
- package/dist/identity/src/mysbt.d.ts +13 -0
- package/{packages/identity/src/mysbt.ts → dist/identity/src/mysbt.js} +9 -20
- package/dist/paymaster/src/SuperPaymaster/index.d.ts +44 -0
- package/{packages/paymaster/src/SuperPaymaster/index.ts → dist/paymaster/src/SuperPaymaster/index.js} +27 -62
- package/dist/paymaster/src/V4/PaymasterClient.d.ts +79 -0
- package/{packages/paymaster/src/V4/PaymasterClient.ts → dist/paymaster/src/V4/PaymasterClient.js} +63 -133
- package/dist/paymaster/src/V4/PaymasterOperator.d.ts +41 -0
- package/{packages/paymaster/src/V4/PaymasterOperator.ts → dist/paymaster/src/V4/PaymasterOperator.js} +66 -107
- package/dist/paymaster/src/V4/PaymasterUtils.d.ts +55 -0
- package/{packages/paymaster/src/V4/PaymasterUtils.ts → dist/paymaster/src/V4/PaymasterUtils.js} +19 -80
- package/dist/paymaster/src/V4/SuperPaymasterClient.d.ts +21 -0
- package/{packages/paymaster/src/V4/SuperPaymasterClient.ts → dist/paymaster/src/V4/SuperPaymasterClient.js} +18 -68
- package/dist/paymaster/src/V4/index.js +4 -0
- package/dist/paymaster/src/index.d.ts +2 -0
- package/{packages/paymaster/src/index.ts → dist/paymaster/src/index.js} +0 -1
- package/dist/sdk/src/clients/ExperimentClient.d.ts +34 -0
- package/{packages/sdk/src/clients/ExperimentClient.ts → dist/sdk/src/clients/ExperimentClient.js} +11 -33
- package/dist/sdk/src/clients/ExperimentClient.test.d.ts +1 -0
- package/{packages/sdk/src/clients/ExperimentClient.test.ts → dist/sdk/src/clients/ExperimentClient.test.js} +4 -16
- package/dist/sdk/src/clients/admin.d.ts +57 -0
- package/dist/sdk/src/clients/admin.js +105 -0
- package/dist/sdk/src/clients/admin.test.d.ts +1 -0
- package/{packages/sdk/src/clients/admin.test.ts → dist/sdk/src/clients/admin.test.js} +18 -37
- package/dist/sdk/src/clients/clients.test.d.ts +1 -0
- package/{packages/sdk/src/clients/clients.test.ts → dist/sdk/src/clients/clients.test.js} +22 -35
- package/dist/sdk/src/clients/community.d.ts +48 -0
- package/{packages/sdk/src/clients/community.ts → dist/sdk/src/clients/community.js} +63 -156
- package/dist/sdk/src/clients/community.test.d.ts +1 -0
- package/dist/sdk/src/clients/community.test.js +99 -0
- package/dist/sdk/src/clients/endUser.d.ts +95 -0
- package/dist/sdk/src/clients/endUser.js +388 -0
- package/dist/sdk/src/clients/endUser.test.d.ts +1 -0
- package/dist/sdk/src/clients/endUser.test.js +188 -0
- package/dist/sdk/src/clients/operator.d.ts +96 -0
- package/{packages/sdk/src/clients/operator.ts → dist/sdk/src/clients/operator.js} +70 -178
- package/dist/sdk/src/clients/operator.test.d.ts +1 -0
- package/dist/sdk/src/clients/operator.test.js +139 -0
- package/dist/sdk/src/errors/AAStarError.d.ts +26 -0
- package/dist/sdk/src/errors/AAStarError.js +32 -0
- package/dist/sdk/src/errors/AAStarError.test.d.ts +1 -0
- package/{packages/sdk/src/errors/AAStarError.test.ts → dist/sdk/src/errors/AAStarError.test.js} +0 -18
- package/dist/sdk/src/errors/decoder.d.ts +1 -0
- package/{packages/sdk/src/errors/decoder.ts → dist/sdk/src/errors/decoder.js} +20 -28
- package/dist/sdk/src/errors/decoder.test.d.ts +1 -0
- package/{packages/sdk/src/errors/decoder.test.ts → dist/sdk/src/errors/decoder.test.js} +10 -27
- package/dist/sdk/src/index.d.ts +16 -0
- package/{packages/sdk/src/index.ts → dist/sdk/src/index.js} +0 -3
- package/{packages/sdk/src/node/index.ts → dist/sdk/src/node/index.d.ts} +0 -1
- package/dist/sdk/src/node/index.js +7 -0
- package/dist/sdk/src/types/result.d.ts +15 -0
- package/{packages/sdk/src/types/result.ts → dist/sdk/src/types/result.js} +5 -11
- package/dist/sdk/src/utils/errorHandler.d.ts +40 -0
- package/{packages/sdk/src/utils/errorHandler.ts → dist/sdk/src/utils/errorHandler.js} +22 -75
- package/dist/sdk/src/utils/errorHandler.test.d.ts +1 -0
- package/{packages/sdk/src/utils/errorHandler.test.ts → dist/sdk/src/utils/errorHandler.test.js} +1 -14
- package/dist/sdk/src/utils/eventDecoder.d.ts +7 -0
- package/{packages/sdk/src/utils/eventDecoder.ts → dist/sdk/src/utils/eventDecoder.js} +14 -26
- package/dist/sdk/src/utils/eventDecoder.test.d.ts +1 -0
- package/{packages/sdk/src/utils/eventDecoder.test.ts → dist/sdk/src/utils/eventDecoder.test.js} +10 -18
- package/dist/sdk/src/utils/funding.d.ts +115 -0
- package/{packages/sdk/src/utils/funding.ts → dist/sdk/src/utils/funding.js} +27 -119
- package/dist/sdk/src/utils/funding.test.d.ts +1 -0
- package/{packages/sdk/src/utils/funding.test.ts → dist/sdk/src/utils/funding.test.js} +18 -30
- package/dist/sdk/src/utils/keys.d.ts +73 -0
- package/{packages/sdk/src/utils/keys.ts → dist/sdk/src/utils/keys.js} +17 -54
- package/dist/sdk/src/utils/keys.test.d.ts +1 -0
- package/{packages/sdk/src/utils/keys.test.ts → dist/sdk/src/utils/keys.test.js} +13 -37
- package/dist/sdk/src/utils/roleData.d.ts +66 -0
- package/{packages/sdk/src/utils/roleData.ts → dist/sdk/src/utils/roleData.js} +28 -53
- package/dist/sdk/src/utils/roleData.test.d.ts +1 -0
- package/{packages/sdk/src/utils/roleData.test.ts → dist/sdk/src/utils/roleData.test.js} +2 -13
- package/dist/sdk/src/utils/testScenarios.d.ts +33 -0
- package/dist/sdk/src/utils/testScenarios.js +85 -0
- package/dist/sdk/src/utils/testScenarios.test.d.ts +1 -0
- package/{packages/sdk/src/utils/testScenarios.test.ts → dist/sdk/src/utils/testScenarios.test.js} +19 -30
- package/dist/sdk/src/utils/userOp.d.ts +78 -0
- package/{packages/sdk/src/utils/userOp.ts → dist/sdk/src/utils/userOp.js} +61 -131
- package/dist/sdk/src/utils/userOp.test.d.ts +1 -0
- package/{packages/sdk/src/utils/userOp.test.ts → dist/sdk/src/utils/userOp.test.js} +55 -93
- package/dist/tokens/src/index.d.ts +56 -0
- package/{packages/tokens/src/index.ts → dist/tokens/src/index.js} +52 -95
- package/examples/regression_test.d.ts +2 -0
- package/examples/regression_test.d.ts.map +1 -0
- package/examples/regression_test.js +89 -0
- package/examples/regression_test.js.map +1 -0
- package/package.json +40 -58
- package/scripts/v2_regression/01_setup_and_fund.ts +1 -1
- package/scripts/v2_regression/02_operator_onboarding.ts +1 -1
- package/scripts/v2_regression/03_community_registry.ts +1 -1
- package/scripts/v2_regression/04_enduser_flow.ts +1 -1
- package/scripts/v2_regression/05_admin_audit.ts +1 -1
- package/.eslintrc.cjs +0 -30
- package/.gitmodules +0 -9
- package/aastar-sdk.code-workspace +0 -14
- package/abis/BLSAggregator.json +0 -572
- package/abis/BLSValidator.json +0 -39
- package/abis/DVTValidator.json +0 -383
- package/abis/Eip7702Support.json +0 -24
- package/abis/EntryPoint.json +0 -1379
- package/abis/GToken.json +0 -510
- package/abis/GTokenStaking.json +0 -918
- package/abis/LegacyAccount.json +0 -625
- package/abis/MySBT.json +0 -1547
- package/abis/Paymaster.json +0 -1192
- package/abis/PaymasterFactory.json +0 -637
- package/abis/PaymasterV4_2.json +0 -1193
- package/abis/Registry.json +0 -1677
- package/abis/ReputationSystem.json +0 -659
- package/abis/SenderCreator.json +0 -99
- package/abis/Simple7702Account.json +0 -395
- package/abis/SimpleAccount.json +0 -625
- package/abis/SimpleAccountFactory.json +0 -108
- package/abis/SimpleAccountFactoryV08.json +0 -87
- package/abis/SimpleAccountV08.json +0 -557
- package/abis/SuperPaymaster.json +0 -1568
- package/abis/UserOperationLib.json +0 -57
- package/abis/aPNTs.json +0 -1160
- package/abis/xPNTsFactory.json +0 -715
- package/abis/xPNTsToken.json +0 -1160
- package/config/networks/README.md +0 -54
- package/config/networks/mainnet.env.example +0 -39
- package/config/networks/optimism-sepolia.env.example +0 -35
- package/config/networks/optimism.env.example +0 -36
- package/config/networks/sepolia.env.example +0 -36
- package/config.anvil.json +0 -1
- package/config.sepolia.json +0 -1
- package/config.test.json +0 -27
- package/data/experiment_data.csv +0 -36
- package/data/industry_baseline_2025-12-23.json +0 -154
- package/data/industry_baseline_latest.json +0 -154
- package/docs/ABI_Change_Tracking_Workflow.md +0 -41
- package/docs/ABI_MAINTENANCE_PLAN.md +0 -132
- package/docs/API_REFERENCE.md +0 -956
- package/docs/Configuration_Sync.md +0 -47
- package/docs/DAO_Mining_Distribution_Plan.md +0 -522
- package/docs/DEMO_REFACTOR_PLAN.md +0 -289
- package/docs/DOCUMENTATION_PLAN.md +0 -455
- package/docs/ENV_SEPOLIA_UPDATE.md +0 -68
- package/docs/Faucet_Gasless_Plan.md +0 -56
- package/docs/L2_BUSINESS_CLIENTS_PLAN.md +0 -394
- package/docs/L4_Manual_Test_CheatSheet.md +0 -215
- package/docs/Plan.md +0 -266
- package/docs/Regression_Testing_Guide.md +0 -70
- package/docs/SDK_ABI_COVERAGE.md +0 -839
- package/docs/SDK_COVERAGE_STRATEGY.md +0 -397
- package/docs/SDK_Optimization_Evaluation_Plan.md +0 -51
- package/docs/SDK_REGRESSION_AND_API_PLAN.md +0 -98
- package/docs/SDK_STAGE3_PLAN.md +0 -151
- package/docs/SEPOLIA_ENV_REFERENCE.md +0 -51
- package/docs/STAGE3.md +0 -191
- package/docs/Script_Comparison_Report.md +0 -91
- package/docs/Sepolia_Latest_Deployment.md +0 -117
- package/docs/TESTER_GUIDE_GASLESS.md +0 -663
- package/docs/TEST_COVERAGE_MATRIX.md +0 -72
- package/docs/TODO_SDK_COVERAGE.md +0 -55
- package/docs/USER_CASE_DESIGN.md +0 -110
- package/docs/Verifier_L4_Gasless_Plan.md +0 -454
- package/docs/api/@aastar/account.md +0 -235
- package/docs/api/@aastar/analytics.md +0 -219
- package/docs/api/@aastar/core.md +0 -26830
- package/docs/api/@aastar/dapp.md +0 -130
- package/docs/api/@aastar/identity.md +0 -482
- package/docs/api/@aastar/paymaster.md +0 -1387
- package/docs/api/@aastar/sdk/README.md +0 -155
- package/docs/api/@aastar/sdk/node.md +0 -4044
- package/docs/api/@aastar/tokens.md +0 -1971
- package/docs/api/README.md +0 -10
- package/docs/changelog.md +0 -99
- package/docs/examples/README.md +0 -18
- package/docs/examples/community-flow.md +0 -28
- package/docs/examples/enduser-flow.md +0 -24
- package/docs/examples/index.md +0 -18
- package/docs/examples/multi-chain.md +0 -31
- package/docs/examples/operator-flow.md +0 -28
- package/docs/guide/CLI_GUIDE.md +0 -65
- package/docs/guide/DOCUMENTATION_PLAN.md +0 -455
- package/docs/guide/Security-solution.md +0 -106
- package/docs/guide/TEST_COMMANDS.md +0 -320
- package/docs/guide/concepts/account-abstraction.md +0 -95
- package/docs/guide/concepts/rainbow-bridge.md +0 -68
- package/docs/guide/concepts/reputation.md +0 -95
- package/docs/guide/concepts/superpaymaster.md +0 -141
- package/docs/guide/getting-started.md +0 -133
- package/docs/guide/installation.md +0 -40
- package/docs/guide/paper-data-collection.md +0 -69
- package/docs/guide/quick-start.md +0 -52
- package/docs/guide/task_breakdown.md +0 -121
- package/docs/guide/use-cases/community-management.md +0 -141
- package/docs/guide/use-cases/gasless-transactions.md +0 -71
- package/docs/guide/use-cases/operator-staking.md +0 -84
- package/docs/guide/use-cases/yop.md +0 -72
- package/docs/old-solution.md +0 -1078
- package/docs/paper-data-collection.md +0 -69
- package/docs/refactor/2026-01-13-221242-trae-refactor.md +0 -224
- package/docs/refactor/2026-01-13-audit-analysis.md +0 -96
- package/docs/refactor/2026-01-13-audit-report-v0.16.2.md +0 -76
- package/docs/refactor/2026-01-13-audit-report-v0.17.0.md +0 -74
- package/docs/refactor/2026-01-13-cursor-refactor.md +0 -511
- package/docs/refactor/2026-01-13-refactor-plan.md +0 -88
- package/docs/refactor/2026-01-13-refactor-response-plan.md +0 -77
- package/docs/refactor/2026-01-13-refactor-review.md +0 -39
- package/docs/refactor/2026-01-13-sdk-enhancement-plan.md +0 -120
- package/docs/refactor/2026-01-14-audit-response.md +0 -242
- package/docs/refactor/2026-01-14-audit-summary.md +0 -133
- package/docs/refactor/cursor-2026-01-13-14-00-audit-report.md +0 -267
- package/docs/technical_plan.md +0 -510
- package/docs/zh/examples/community-flow.md +0 -38
- package/docs/zh/examples/complete-workflow.md +0 -10
- package/docs/zh/examples/enduser-flow.md +0 -33
- package/docs/zh/examples/index.md +0 -18
- package/docs/zh/examples/multi-chain.md +0 -46
- package/docs/zh/examples/operator-flow.md +0 -37
- package/docs/zh/guide/CLI_GUIDE.md +0 -48
- package/docs/zh/guide/DOCUMENTATION_PLAN.md +0 -455
- package/docs/zh/guide/Plan.md +0 -266
- package/docs/zh/guide/SDK_Optimization_Evaluation_Plan.md +0 -51
- package/docs/zh/guide/Security-solution.md +0 -106
- package/docs/zh/guide/TEST_COMMANDS.md +0 -125
- package/docs/zh/guide/TEST_COVERAGE_MATRIX.md +0 -72
- package/docs/zh/guide/concepts/account-abstraction.md +0 -95
- package/docs/zh/guide/concepts/rainbow-bridge.md +0 -68
- package/docs/zh/guide/concepts/reputation.md +0 -95
- package/docs/zh/guide/concepts/superpaymaster.md +0 -141
- package/docs/zh/guide/getting-started.md +0 -133
- package/docs/zh/guide/installation.md +0 -107
- package/docs/zh/guide/old-solution.md +0 -1078
- package/docs/zh/guide/paper-data-collection.md +0 -69
- package/docs/zh/guide/quick-start.md +0 -134
- package/docs/zh/guide/sdk-readme.md +0 -253
- package/docs/zh/guide/task_breakdown.md +0 -76
- package/docs/zh/guide/technical_plan.md +0 -510
- package/docs/zh/guide/use-cases/community-management.md +0 -141
- package/docs/zh/guide/use-cases/gasless-transactions.md +0 -71
- package/docs/zh/guide/use-cases/operator-staking.md +0 -84
- package/docs/zh/guide/use-cases/yop.md +0 -72
- package/env.template +0 -32
- package/examples/l1-api-demo.ts +0 -184
- package/examples/l2-clients-demo.ts +0 -138
- package/examples/l3-user-onboarding.ts +0 -74
- package/examples/prepare-gasless.ts +0 -89
- package/examples/sdk-demo/DEVELOPER_GUIDE.md +0 -159
- package/examples/sdk-demo/README.md +0 -30
- package/examples/sdk-demo/usage.ts +0 -137
- package/examples/simple-gasless-demo.ts +0 -80
- package/examples/simple-superpaymaster-demo.ts +0 -96
- package/ext/aastar-shared-config/.env.example +0 -6
- package/ext/aastar-shared-config/.github/workflows/check-secrets.yml +0 -257
- package/ext/aastar-shared-config/AGENTS.md +0 -21
- package/ext/aastar-shared-config/CHANGELOG.md +0 -99
- package/ext/aastar-shared-config/LICENSE +0 -21
- package/ext/aastar-shared-config/QUICK_START.md +0 -215
- package/ext/aastar-shared-config/README.md +0 -412
- package/ext/aastar-shared-config/SHARED_CONFIG_SUMMARY.md +0 -273
- package/ext/aastar-shared-config/check-locker-status.mjs +0 -7
- package/ext/aastar-shared-config/favicon.ico +0 -0
- package/ext/aastar-shared-config/generate-comparison-table.sh +0 -67
- package/ext/aastar-shared-config/package.json +0 -46
- package/ext/aastar-shared-config/pnpm-lock.yaml +0 -1182
- package/ext/aastar-shared-config/src/abis/BLSAggregator.json +0 -1
- package/ext/aastar-shared-config/src/abis/DVTValidator.json +0 -1
- package/ext/aastar-shared-config/src/abis/GToken.json +0 -1
- package/ext/aastar-shared-config/src/abis/GTokenStaking.json +0 -1
- package/ext/aastar-shared-config/src/abis/MySBT.json +0 -1
- package/ext/aastar-shared-config/src/abis/PaymasterFactory.json +0 -1
- package/ext/aastar-shared-config/src/abis/PaymasterV4.json +0 -1098
- package/ext/aastar-shared-config/src/abis/Registry.json +0 -1
- package/ext/aastar-shared-config/src/abis/SimpleAccount.json +0 -557
- package/ext/aastar-shared-config/src/abis/SimpleAccountFactory.json +0 -87
- package/ext/aastar-shared-config/src/abis/SuperPaymasterV2.json +0 -1
- package/ext/aastar-shared-config/src/abis/index.ts +0 -45
- package/ext/aastar-shared-config/src/abis/xPNTsFactory.json +0 -1
- package/ext/aastar-shared-config/src/abis/xPNTsToken.json +0 -1
- package/ext/aastar-shared-config/src/branding.ts +0 -32
- package/ext/aastar-shared-config/src/communities.ts +0 -93
- package/ext/aastar-shared-config/src/constants.ts +0 -67
- package/ext/aastar-shared-config/src/contract-addresses.ts +0 -95
- package/ext/aastar-shared-config/src/contract-versions.ts +0 -374
- package/ext/aastar-shared-config/src/contracts.ts +0 -414
- package/ext/aastar-shared-config/src/index.ts +0 -14
- package/ext/aastar-shared-config/src/networks.ts +0 -117
- package/ext/aastar-shared-config/sync-abis.sh +0 -92
- package/ext/aastar-shared-config/sync-versions.mjs +0 -150
- package/ext/aastar-shared-config/tsconfig.json +0 -18
- package/ext/aastar-shared-config/tsup.config.ts +0 -10
- package/ext/aastar-shared-config/verify-all.sh +0 -207
- package/ext/aastar-shared-config/verify-contracts.sh +0 -85
- package/ext/aastar-shared-config/verify-mysbt-v243.mjs +0 -27
- package/ext/aastar-shared-config/verify-onchain-versions.mjs +0 -93
- package/l4-setup.sh +0 -11
- package/lib/SHARED_CONFIG_REFERENCE.md +0 -133
- package/lib/shared-config/.env.example +0 -6
- package/lib/shared-config/.github/workflows/check-secrets.yml +0 -257
- package/lib/shared-config/AGENTS.md +0 -21
- package/lib/shared-config/CHANGELOG.md +0 -99
- package/lib/shared-config/LICENSE +0 -21
- package/lib/shared-config/QUICK_START.md +0 -215
- package/lib/shared-config/README.md +0 -412
- package/lib/shared-config/SHARED_CONFIG_SUMMARY.md +0 -273
- package/lib/shared-config/check-locker-status.mjs +0 -7
- package/lib/shared-config/favicon.ico +0 -0
- package/lib/shared-config/generate-comparison-table.sh +0 -67
- package/lib/shared-config/package.json +0 -46
- package/lib/shared-config/pnpm-lock.yaml +0 -1182
- package/lib/shared-config/src/abis/BLSAggregator.json +0 -1
- package/lib/shared-config/src/abis/DVTValidator.json +0 -1
- package/lib/shared-config/src/abis/GToken.json +0 -1
- package/lib/shared-config/src/abis/GTokenStaking.json +0 -1
- package/lib/shared-config/src/abis/MySBT.json +0 -1
- package/lib/shared-config/src/abis/PaymasterFactory.json +0 -1
- package/lib/shared-config/src/abis/PaymasterV4.json +0 -1098
- package/lib/shared-config/src/abis/Registry.json +0 -1
- package/lib/shared-config/src/abis/SimpleAccount.json +0 -557
- package/lib/shared-config/src/abis/SimpleAccountFactory.json +0 -87
- package/lib/shared-config/src/abis/SuperPaymasterV2.json +0 -1
- package/lib/shared-config/src/abis/index.ts +0 -45
- package/lib/shared-config/src/abis/xPNTsFactory.json +0 -1
- package/lib/shared-config/src/abis/xPNTsToken.json +0 -1
- package/lib/shared-config/src/branding.ts +0 -32
- package/lib/shared-config/src/communities.ts +0 -93
- package/lib/shared-config/src/constants.ts +0 -67
- package/lib/shared-config/src/contract-addresses.ts +0 -95
- package/lib/shared-config/src/contract-versions.ts +0 -374
- package/lib/shared-config/src/contracts.ts +0 -414
- package/lib/shared-config/src/index.ts +0 -14
- package/lib/shared-config/sync-abis.sh +0 -92
- package/lib/shared-config/sync-versions.mjs +0 -150
- package/lib/shared-config/tsconfig.json +0 -18
- package/lib/shared-config/tsup.config.ts +0 -10
- package/lib/shared-config/verify-all.sh +0 -207
- package/lib/shared-config/verify-contracts.sh +0 -85
- package/lib/shared-config/verify-mysbt-v243.mjs +0 -27
- package/lib/shared-config/verify-onchain-versions.mjs +0 -93
- package/packages/account/package.json +0 -23
- package/packages/account/src/accounts/simple.test.ts +0 -93
- package/packages/account/src/eoa.test.ts +0 -37
- package/packages/account/src/eoa.ts +0 -33
- package/packages/account/src/index.test.ts +0 -34
- package/packages/account/src/index.ts +0 -61
- package/packages/account/tsconfig.json +0 -11
- package/packages/analytics/package.json +0 -28
- package/packages/analytics/src/index.ts +0 -145
- package/packages/analytics/tsconfig.json +0 -11
- package/packages/core/package.json +0 -32
- package/packages/core/scripts/audit-abi-coverage.ts +0 -165
- package/packages/core/scripts/debug-regex.ts +0 -36
- package/packages/core/src/abis/.abi-hashes.json +0 -26
- package/packages/core/src/abis/BLSAggregator.json +0 -686
- package/packages/core/src/abis/BLSValidator.json +0 -42
- package/packages/core/src/abis/DVTValidator.json +0 -368
- package/packages/core/src/abis/Eip7702Support.json +0 -24
- package/packages/core/src/abis/EntryPoint.json +0 -1382
- package/packages/core/src/abis/GToken.json +0 -513
- package/packages/core/src/abis/GTokenStaking.json +0 -949
- package/packages/core/src/abis/LegacyAccount.json +0 -625
- package/packages/core/src/abis/MySBT.json +0 -1518
- package/packages/core/src/abis/Paymaster.json +0 -1143
- package/packages/core/src/abis/PaymasterFactory.json +0 -640
- package/packages/core/src/abis/Registry.json +0 -1942
- package/packages/core/src/abis/ReputationSystem.json +0 -699
- package/packages/core/src/abis/SenderCreator.json +0 -99
- package/packages/core/src/abis/Simple7702Account.json +0 -395
- package/packages/core/src/abis/SimpleAccount.json +0 -560
- package/packages/core/src/abis/SimpleAccountFactory.json +0 -111
- package/packages/core/src/abis/SimpleAccountFactoryV08.json +0 -87
- package/packages/core/src/abis/SimpleAccountV08.json +0 -557
- package/packages/core/src/abis/SuperPaymaster.json +0 -1781
- package/packages/core/src/abis/UserOperationLib.json +0 -57
- package/packages/core/src/abis/abi.config.json +0 -24
- package/packages/core/src/abis/xPNTsFactory.json +0 -718
- package/packages/core/src/abis/xPNTsToken.json +0 -1280
- package/packages/core/src/actions/StateValidator.test.ts +0 -175
- package/packages/core/src/actions/account.test.ts +0 -155
- package/packages/core/src/actions/account.ts +0 -179
- package/packages/core/src/actions/aggregator.test.ts +0 -88
- package/packages/core/src/actions/aggregator.ts +0 -41
- package/packages/core/src/actions/dvt.test.ts +0 -124
- package/packages/core/src/actions/dvt.ts +0 -53
- package/packages/core/src/actions/entryPoint.test.ts +0 -176
- package/packages/core/src/actions/entryPoint.ts +0 -266
- package/packages/core/src/actions/factory.test.ts +0 -250
- package/packages/core/src/actions/factory.ts +0 -613
- package/packages/core/src/actions/faucet.test.ts +0 -202
- package/packages/core/src/actions/gtokenExtended.test.ts +0 -162
- package/packages/core/src/actions/gtokenExtended.ts +0 -153
- package/packages/core/src/actions/paymasterV4.test.ts +0 -209
- package/packages/core/src/actions/paymasterV4.ts +0 -455
- package/packages/core/src/actions/registry.test.ts +0 -443
- package/packages/core/src/actions/registry.ts +0 -860
- package/packages/core/src/actions/reputation.test.ts +0 -225
- package/packages/core/src/actions/reputation.ts +0 -378
- package/packages/core/src/actions/sbt.test.ts +0 -322
- package/packages/core/src/actions/sbt.ts +0 -681
- package/packages/core/src/actions/staking.test.ts +0 -273
- package/packages/core/src/actions/superPaymaster.test.ts +0 -356
- package/packages/core/src/actions/superPaymaster.ts +0 -828
- package/packages/core/src/actions/tokens.test.ts +0 -60
- package/packages/core/src/actions/tokens.ts +0 -527
- package/packages/core/src/actions/validators.test.ts +0 -239
- package/packages/core/src/actions/validators.ts +0 -590
- package/packages/core/src/branding.ts +0 -32
- package/packages/core/src/clients.ts +0 -13
- package/packages/core/src/communities.ts +0 -93
- package/packages/core/src/constants.ts +0 -145
- package/packages/core/src/contract-addresses.ts +0 -125
- package/packages/core/src/contracts.test.ts +0 -58
- package/packages/core/src/contracts.ts +0 -414
- package/packages/core/src/networks.ts +0 -127
- package/packages/core/src/requirementChecker.test.ts +0 -71
- package/packages/core/src/roles.test.ts +0 -34
- package/packages/core/src/utils/validation.test.ts +0 -50
- package/packages/core/src/utils.ts +0 -23
- package/packages/core/tsconfig.json +0 -12
- package/packages/core/vitest.config.ts +0 -14
- package/packages/dapp/package.json +0 -30
- package/packages/dapp/src/ui/components/EvaluationPanel.tsx +0 -40
- package/packages/dapp/tsconfig.json +0 -12
- package/packages/identity/package.json +0 -25
- package/packages/identity/tsconfig.json +0 -11
- package/packages/paymaster/package.json +0 -25
- package/packages/paymaster/src/V4/PaymasterClient.test.ts +0 -114
- package/packages/paymaster/src/V4/PaymasterOperator.test.ts +0 -80
- package/packages/paymaster/src/V4/PaymasterUtils.test.ts +0 -54
- package/packages/paymaster/src/V4/SuperPaymasterClient.test.ts +0 -79
- package/packages/paymaster/tsconfig.json +0 -11
- package/packages/sdk/README.md +0 -150
- package/packages/sdk/aastar/package.json +0 -21
- package/packages/sdk/aastar/src/index.ts +0 -3
- package/packages/sdk/aastar/tsconfig.json +0 -7
- package/packages/sdk/coverage_output.txt +0 -393
- package/packages/sdk/coverage_output_final.txt +0 -739
- package/packages/sdk/coverage_output_final_v2.txt +0 -722
- package/packages/sdk/coverage_output_final_v3.txt +0 -722
- package/packages/sdk/package.json +0 -44
- package/packages/sdk/src/clients/admin.ts +0 -154
- package/packages/sdk/src/clients/community.test.ts +0 -118
- package/packages/sdk/src/clients/endUser.test.ts +0 -221
- package/packages/sdk/src/clients/endUser.ts +0 -551
- package/packages/sdk/src/clients/operator.test.ts +0 -162
- package/packages/sdk/src/errors/AAStarError.ts +0 -70
- package/packages/sdk/src/utils/testScenarios.ts +0 -128
- package/packages/sdk/tests/scenarios/01_onboard_community.ts +0 -62
- package/packages/sdk/tests/scenarios/02_onboard_operator.ts +0 -109
- package/packages/sdk/tests/scenarios/03_onboard_user.ts +0 -53
- package/packages/sdk/tests/scenarios/04_gasless_tx_flow.ts +0 -68
- package/packages/sdk/tests/scenarios/check_entrypoint.ts +0 -19
- package/packages/sdk/tests/scenarios/check_initialization.ts +0 -65
- package/packages/sdk/tests/scenarios/debug_addresses.ts +0 -26
- package/packages/sdk/tests/scenarios/diagnose_scenario4.ts +0 -55
- package/packages/sdk/tests/scenarios/setup.ts +0 -33
- package/packages/sdk/tests/scenarios/test_entrypoint_nonce.ts +0 -46
- package/packages/sdk/tsconfig.json +0 -11
- package/packages/tokens/package.json +0 -25
- package/packages/tokens/tsconfig.json +0 -11
- package/pnpm-workspace.yaml +0 -2
- package/run_l4_gasless_regression.sh +0 -79
- package/run_sdk_regression.sh +0 -238
- package/scripts/00_utils.ts +0 -59
- package/scripts/00_verify_phase1.ts +0 -130
- package/scripts/01_1_prep_gtoken.ts +0 -81
- package/scripts/01_2_register_sbt.ts +0 -88
- package/scripts/01_3_prep_tokens_paymaster.ts +0 -102
- package/scripts/01_prepare_all.ts +0 -222
- package/scripts/02_test_eoa.ts +0 -53
- package/scripts/03_test_standard_aa.ts +0 -68
- package/scripts/04_0_check_deploy.ts +0 -24
- package/scripts/04_1_check_allowance.ts +0 -44
- package/scripts/04_2_construct_verify.ts +0 -96
- package/scripts/04_3_verify_estimate.ts +0 -66
- package/scripts/04_4_verify_pack.ts +0 -74
- package/scripts/04_test_paymaster_v4.ts +0 -60
- package/scripts/05_1_deposit.ts +0 -48
- package/scripts/05_test_superpaymaster.ts +0 -58
- package/scripts/06_local_test_v3_admin.ts +0 -163
- package/scripts/06_local_test_v3_execution.ts +0 -132
- package/scripts/06_local_test_v3_full.ts +0 -490
- package/scripts/06_local_test_v3_funding.ts +0 -124
- package/scripts/06_local_test_v3_reputation.ts +0 -234
- package/scripts/07_local_test_v3_audit.ts +0 -181
- package/scripts/08_local_test_registry_lifecycle.ts +0 -382
- package/scripts/09_local_test_community_lifecycle.ts +0 -385
- package/scripts/09_local_test_community_simple.ts +0 -108
- package/scripts/09_scenario_bread_independent.ts +0 -247
- package/scripts/10_scenario_super_shared.ts +0 -196
- package/scripts/10_test_protocol_admin_full.ts +0 -173
- package/scripts/11_scenario_hacker_defense.ts +0 -104
- package/scripts/11_test_core_flows_full.ts +0 -157
- package/scripts/12_test_slash_mechanism.ts +0 -205
- package/scripts/12_test_slash_queries.ts +0 -83
- package/scripts/12_test_staking_exit.ts +0 -152
- package/scripts/12_test_staking_slash.ts +0 -301
- package/scripts/12_test_tier2_slash.ts +0 -139
- package/scripts/13_test_sbt_burn_linkage.ts +0 -266
- package/scripts/14_test_credit_redesign.ts +0 -266
- package/scripts/15_test_bls_full.ts +0 -148
- package/scripts/15_test_dvt_bls_full.ts +0 -140
- package/scripts/17_test_cross_role_collaboration.ts +0 -95
- package/scripts/18_sdk_e2e_verification.ts +0 -67
- package/scripts/18_test_dvt_sdk_flow.ts +0 -138
- package/scripts/18_test_lifecycle_completion.ts +0 -144
- package/scripts/19_sdk_experiment_runner.ts +0 -114
- package/scripts/19_sdk_experiment_runner.ts.backup +0 -391
- package/scripts/20_sdk_full_capability.ts +0 -93
- package/scripts/20_test_superpaymaster_new_apis.ts +0 -193
- package/scripts/21_test_paymasterv4_complete.ts +0 -341
- package/scripts/22_test_bls_signing.ts +0 -260
- package/scripts/23_test_middleware.ts +0 -197
- package/scripts/98_edge_reentrancy.ts +0 -85
- package/scripts/99_bug_hunting_fast.ts +0 -99
- package/scripts/analyze_abi_coverage.ts +0 -169
- package/scripts/check-admin.ts +0 -95
- package/scripts/check-jason-status.ts +0 -184
- package/scripts/check-roles.ts +0 -36
- package/scripts/clear-nonce.ts +0 -47
- package/scripts/collect_industry_baseline.ts +0 -236
- package/scripts/complete-jack-superpaymaster.ts +0 -171
- package/scripts/complete_env_config.ts +0 -97
- package/scripts/debug-addr.ts +0 -43
- package/scripts/debug-community-registration.ts +0 -92
- package/scripts/debug-deploy-v4.ts +0 -116
- package/scripts/debug-paymaster.ts +0 -127
- package/scripts/debug-register-role.ts +0 -101
- package/scripts/debug-version.ts +0 -71
- package/scripts/debug_account_c.ts +0 -43
- package/scripts/debug_bls.ts +0 -58
- package/scripts/debug_config_v036.ts +0 -13
- package/scripts/debug_contracts.ts +0 -2
- package/scripts/debug_env.ts +0 -69
- package/scripts/debug_find_paymaster.ts +0 -98
- package/scripts/debug_isolated_registration.ts +0 -256
- package/scripts/debug_paymaster_config.ts +0 -19
- package/scripts/debug_pim_addr.ts +0 -23
- package/scripts/debug_pm_status.ts +0 -51
- package/scripts/debug_registry.ts +0 -39
- package/scripts/debug_registry_setup.ts +0 -129
- package/scripts/debug_sanity.ts +0 -32
- package/scripts/debug_shared_config.ts +0 -10
- package/scripts/debug_token_compat.ts +0 -51
- package/scripts/debug_tokens.ts +0 -41
- package/scripts/debug_vcheck.ts +0 -33
- package/scripts/deploy-sync.ts +0 -104
- package/scripts/deploy_and_init_v3.sh +0 -134
- package/scripts/deploy_anvil_accounts.ts +0 -144
- package/scripts/deploy_paymaster_v4.ts +0 -139
- package/scripts/deploy_test_accounts.ts +0 -401
- package/scripts/deprecated/check_aa_entrypoint.ts +0 -29
- package/scripts/deprecated/check_paymaster_deposits.ts +0 -45
- package/scripts/deprecated/debug_aoa_function.ts +0 -28
- package/scripts/deprecated/debug_aoa_issue.ts +0 -16
- package/scripts/deprecated/debug_pimlico_aa23.ts +0 -40
- package/scripts/deprecated/debug_summary.ts +0 -34
- package/scripts/deprecated/deploy_v07_aa.ts +0 -99
- package/scripts/deprecated/fix_all_issues.ts +0 -61
- package/scripts/deprecated/fund_bpnts.ts +0 -52
- package/scripts/deprecated/get_factory_addresses.ts +0 -28
- package/scripts/deprecated/recheck_pim.ts +0 -34
- package/scripts/dev_tools/extract_abis.sh +0 -151
- package/scripts/dev_tools/extract_addresses_to_env.sh +0 -67
- package/scripts/dev_tools/final_safe_harmonize.py +0 -77
- package/scripts/dev_tools/safe_harmonize.py +0 -107
- package/scripts/dev_tools/surgical_harmonize.py +0 -83
- package/scripts/experiment/stage3/SETUP_GUIDE.md +0 -258
- package/scripts/experiment/stage3/archived_scripts/00_token_distribution.ts +0 -78
- package/scripts/experiment/stage3/archived_scripts/01_dao_launch.ts +0 -96
- package/scripts/experiment/stage3/archived_scripts/01b_bread_launch.ts +0 -112
- package/scripts/experiment/stage3/archived_scripts/02_operator_setup.ts +0 -84
- package/scripts/experiment/stage3/archived_scripts/02b_operator_b_setup.ts +0 -104
- package/scripts/experiment/stage3/archived_scripts/02c_finalize_operators.ts +0 -86
- package/scripts/experiment/stage3/archived_scripts/02d_operator_collateral.ts +0 -89
- package/scripts/experiment/stage3/archived_scripts/03_user_onboarding.ts +0 -83
- package/scripts/experiment/stage3/archived_scripts/03b_deploy_aa_account.ts +0 -61
- package/scripts/experiment/stage3/archived_scripts/03c_aa_onboarding.ts +0 -104
- package/scripts/experiment/stage3/archived_scripts/03d_mint_points.ts +0 -60
- package/scripts/experiment/stage3/archived_scripts/04_benchmarking.ts +0 -100
- package/scripts/experiment/stage3/archived_scripts/05_multi_op_setup.ts +0 -149
- package/scripts/experiment/stage3/archived_scripts/README.md +0 -58
- package/scripts/experiment/stage3/archived_scripts/check_roles.ts +0 -29
- package/scripts/experiment/stage3/archived_scripts/decode_error.ts +0 -23
- package/scripts/experiment/stage3/archived_scripts/fund_user.ts +0 -51
- package/scripts/experiment/stage3/archived_scripts/gen_b_key.ts +0 -3
- package/scripts/experiment/stage3/archived_scripts/gen_keys.ts +0 -4
- package/scripts/experiment/stage3/archived_scripts/setup.ts +0 -105
- package/scripts/experiment/stage3/archived_scripts/test_key.ts +0 -4
- package/scripts/experiment/stage3/archived_scripts/verify_state.ts +0 -59
- package/scripts/experiment/stage3/refactored/00_token_distribution.ts +0 -46
- package/scripts/experiment/stage3/refactored/02_operator_setup.ts +0 -65
- package/scripts/experiment/stage3/refactored/03_user_onboarding.ts +0 -68
- package/scripts/experiment/stage3/refactored/05_multi_op_setup.ts +0 -63
- package/scripts/experiment/stage3/refactored/README.md +0 -71
- package/scripts/extract-docs.sh +0 -141
- package/scripts/fund-jack.ts +0 -38
- package/scripts/generate_env_from_deployment.ts +0 -109
- package/scripts/inspect-anni-token.ts +0 -116
- package/scripts/inspect-factory.ts +0 -83
- package/scripts/l4-paymasterv4-transfer-test.ts +0 -228
- package/scripts/l4-setup.ts +0 -453
- package/scripts/l4-state.json +0 -80
- package/scripts/phase1_verify_contracts.ts +0 -207
- package/scripts/pre_test_sync.ts +0 -83
- package/scripts/prepare_sepolia_resources.ts +0 -154
- package/scripts/publish_all.sh +0 -39
- package/scripts/query-jack-token.ts +0 -22
- package/scripts/quick_setup.ts +0 -124
- package/scripts/quick_setup_account.ts +0 -80
- package/scripts/run_automated_experiment.sh +0 -121
- package/scripts/run_daily_experiment.ts +0 -70
- package/scripts/run_l4_gasless_regression.sh +0 -32
- package/scripts/run_sdk_experiment.sh +0 -13
- package/scripts/run_sdk_regression-v2.sh +0 -38
- package/scripts/sdk_regression_v2.ts +0 -162
- package/scripts/security_audit.sh +0 -172
- package/scripts/setup-bbq-community.ts +0 -187
- package/scripts/setup-dancing-community.ts +0 -223
- package/scripts/setup_test_accounts.ts +0 -88
- package/scripts/setup_test_environment.ts +0 -147
- package/scripts/sync_anvil_config.cjs +0 -44
- package/scripts/sync_config_to_env.ts +0 -88
- package/scripts/sync_contract_addresses.ts +0 -186
- package/scripts/sync_sepolia_config.cjs +0 -90
- package/scripts/sync_sepolia_config.mjs +0 -74
- package/scripts/test-brown-v4-deploy.ts +0 -90
- package/scripts/test-faucet-and-gasless.ts +0 -170
- package/scripts/test-jack-gasless.ts +0 -119
- package/scripts/test-jack-registration.ts +0 -133
- package/scripts/test-jack-superpaymaster-api.ts +0 -112
- package/scripts/test-kms-gasless.ts +0 -138
- package/scripts/test_groups.ts +0 -138
- package/scripts/test_multi_community_anvil.ts +0 -276
- package/scripts/test_new_sdk_apis_sepolia.ts +0 -193
- package/scripts/test_sdk_join_idempotent.ts +0 -233
- package/scripts/test_simple_sepolia.ts +0 -44
- package/scripts/update_env_from_config.ts +0 -83
- package/scripts/v2_regression/README.md +0 -161
- package/scripts/verify-tx-status.ts +0 -81
- package/scripts/verify_onchain_milestone.ts +0 -114
- package/scripts/verify_phase1.ts +0 -66
- package/scripts/verify_phase2.ts +0 -66
- package/sdk_experiment_data.csv +0 -4
- package/simple-test-paymaster.sh +0 -2
- package/simple-test-superpaymaster.sh +0 -1
- package/tests/l1-regression.test.ts +0 -458
- package/tests/l4-test-anni-gasless.ts +0 -105
- package/tests/l4-test-jason1-gasless.ts +0 -150
- package/tests/l4-test-jason2-gasless.ts +0 -174
- package/tests/l4-test-pmv4-deposit.ts +0 -111
- package/tests/l4-test-pmv4-gasless.ts +0 -166
- package/tests/l4-test-pmv4-submit.ts +0 -223
- package/tests/regression/README.md +0 -168
- package/tests/regression/config.ts +0 -215
- package/tests/regression/display-versions.ts +0 -85
- package/tests/regression/index.ts +0 -67
- package/tests/regression/l1-tests.ts +0 -267
- package/tests/regression/l2-tests.ts +0 -171
- package/tests/regression/l3-tests.ts +0 -125
- package/tests/regression/l4-gasless.ts +0 -897
- package/tests/regression/l4-runner.ts +0 -52
- package/tests/reports/phase1_contract_verification.md +0 -45
- package/tests/utils/contractVerifier.ts +0 -237
- package/tests/utils/userOpHelper.ts +0 -194
- package/tsconfig.json +0 -41
- package/typedoc.json +0 -59
- package/vitest.config.ts +0 -16
- /package/{packages/core/src/crypto/index.ts → dist/core/src/crypto/index.d.ts} +0 -0
- /package/{packages/paymaster/src/V4/index.ts → dist/paymaster/src/V4/index.d.ts} +0 -0
- /package/{packages/sdk/examples → examples}/config.json +0 -0
- /package/{packages/sdk/examples → examples}/regression_test.ts +0 -0
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Comprehensive Contract Verification Script
|
|
4
|
-
# Verifies consistency between:
|
|
5
|
-
# 1. On-chain contract versions
|
|
6
|
-
# 2. ABI function definitions
|
|
7
|
-
# 3. SuperPaymaster source code versions
|
|
8
|
-
|
|
9
|
-
set -e
|
|
10
|
-
|
|
11
|
-
# Colors
|
|
12
|
-
RED='\033[0;31m'
|
|
13
|
-
GREEN='\033[0;32m'
|
|
14
|
-
YELLOW='\033[1;33m'
|
|
15
|
-
BLUE='\033[0;34m'
|
|
16
|
-
NC='\033[0m'
|
|
17
|
-
|
|
18
|
-
# Paths
|
|
19
|
-
SUPERPAYMASTER_DIR="${SUPERPAYMASTER_DIR:-../SuperPaymaster}"
|
|
20
|
-
ABIS_DIR="./src/abis"
|
|
21
|
-
|
|
22
|
-
# RPC URL
|
|
23
|
-
SEPOLIA_RPC="${SEPOLIA_RPC_URL:-https://rpc.sepolia.org}"
|
|
24
|
-
|
|
25
|
-
echo "🔍 Comprehensive Contract Verification"
|
|
26
|
-
echo "======================================"
|
|
27
|
-
echo ""
|
|
28
|
-
|
|
29
|
-
# Check prerequisites
|
|
30
|
-
if ! command -v cast &> /dev/null; then
|
|
31
|
-
echo -e "${RED}❌ Error: 'cast' not found. Install Foundry.${NC}"
|
|
32
|
-
exit 1
|
|
33
|
-
fi
|
|
34
|
-
|
|
35
|
-
if ! command -v jq &> /dev/null; then
|
|
36
|
-
echo -e "${RED}❌ Error: 'jq' not found. Install jq.${NC}"
|
|
37
|
-
exit 1
|
|
38
|
-
fi
|
|
39
|
-
|
|
40
|
-
# Function to get version from source code
|
|
41
|
-
get_source_version() {
|
|
42
|
-
local contract_name=$1
|
|
43
|
-
local sol_file="${2:-$contract_name.sol}"
|
|
44
|
-
|
|
45
|
-
local source_path="$SUPERPAYMASTER_DIR/src/paymasters/v2/core/$sol_file"
|
|
46
|
-
|
|
47
|
-
if [ ! -f "$source_path" ]; then
|
|
48
|
-
# Try tokens directory
|
|
49
|
-
source_path="$SUPERPAYMASTER_DIR/src/paymasters/v2/tokens/$sol_file"
|
|
50
|
-
fi
|
|
51
|
-
|
|
52
|
-
if [ ! -f "$source_path" ]; then
|
|
53
|
-
echo "N/A"
|
|
54
|
-
return
|
|
55
|
-
fi
|
|
56
|
-
|
|
57
|
-
# Extract VERSION from source
|
|
58
|
-
local version=$(grep 'string public constant VERSION' "$source_path" | sed -E 's/.*"([^"]+)".*/\1/' || echo "N/A")
|
|
59
|
-
echo "$version"
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
# Function to get version code from source
|
|
63
|
-
get_source_version_code() {
|
|
64
|
-
local contract_name=$1
|
|
65
|
-
local sol_file="${2:-$contract_name.sol}"
|
|
66
|
-
|
|
67
|
-
local source_path="$SUPERPAYMASTER_DIR/src/paymasters/v2/core/$sol_file"
|
|
68
|
-
|
|
69
|
-
if [ ! -f "$source_path" ]; then
|
|
70
|
-
source_path="$SUPERPAYMASTER_DIR/src/paymasters/v2/tokens/$sol_file"
|
|
71
|
-
fi
|
|
72
|
-
|
|
73
|
-
if [ ! -f "$source_path" ]; then
|
|
74
|
-
echo "N/A"
|
|
75
|
-
return
|
|
76
|
-
fi
|
|
77
|
-
|
|
78
|
-
local version_code=$(grep 'uint256 public constant VERSION_CODE' "$source_path" | sed -E 's/.*= ([0-9]+);.*/\1/' || echo "N/A")
|
|
79
|
-
echo "$version_code"
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
# Function to check if ABI has VERSION function
|
|
83
|
-
check_abi_has_version() {
|
|
84
|
-
local abi_file=$1
|
|
85
|
-
|
|
86
|
-
if [ ! -f "$abi_file" ]; then
|
|
87
|
-
echo "false"
|
|
88
|
-
return
|
|
89
|
-
fi
|
|
90
|
-
|
|
91
|
-
local has_version=$(cat "$abi_file" | jq -r 'map(select(.name == "VERSION")) | length > 0')
|
|
92
|
-
echo "$has_version"
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
# Function to verify a contract
|
|
96
|
-
verify_contract() {
|
|
97
|
-
local name=$1
|
|
98
|
-
local address=$2
|
|
99
|
-
local config_version=$3
|
|
100
|
-
local config_version_code=$4
|
|
101
|
-
local source_file=${5:-$name.sol}
|
|
102
|
-
|
|
103
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
104
|
-
echo -e "${BLUE}📦 Verifying: $name${NC}"
|
|
105
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
106
|
-
echo " Contract Address: $address"
|
|
107
|
-
echo ""
|
|
108
|
-
|
|
109
|
-
local errors=0
|
|
110
|
-
|
|
111
|
-
# 1. Get on-chain version
|
|
112
|
-
echo " [1/4] Checking on-chain version..."
|
|
113
|
-
local onchain_version=$(cast call $address "VERSION()(string)" --rpc-url $SEPOLIA_RPC 2>/dev/null || echo "ERROR")
|
|
114
|
-
local onchain_version_code=$(cast call $address "VERSION_CODE()(uint256)" --rpc-url $SEPOLIA_RPC 2>/dev/null || echo "ERROR")
|
|
115
|
-
|
|
116
|
-
if [ "$onchain_version" = "ERROR" ]; then
|
|
117
|
-
echo -e " ${RED}❌ Failed to get on-chain version${NC}"
|
|
118
|
-
errors=$((errors+1))
|
|
119
|
-
else
|
|
120
|
-
echo -e " ${GREEN}✅ On-chain VERSION: $onchain_version${NC}"
|
|
121
|
-
echo -e " ${GREEN}✅ On-chain VERSION_CODE: $onchain_version_code${NC}"
|
|
122
|
-
fi
|
|
123
|
-
|
|
124
|
-
# 2. Check ABI
|
|
125
|
-
echo ""
|
|
126
|
-
echo " [2/4] Checking ABI..."
|
|
127
|
-
local abi_file="$ABIS_DIR/$name.json"
|
|
128
|
-
local has_version=$(check_abi_has_version "$abi_file")
|
|
129
|
-
|
|
130
|
-
if [ "$has_version" = "true" ]; then
|
|
131
|
-
echo -e " ${GREEN}✅ ABI contains VERSION function${NC}"
|
|
132
|
-
else
|
|
133
|
-
echo -e " ${YELLOW}⚠️ ABI does not contain VERSION function${NC}"
|
|
134
|
-
fi
|
|
135
|
-
|
|
136
|
-
# 3. Get source code version
|
|
137
|
-
echo ""
|
|
138
|
-
echo " [3/4] Checking source code version..."
|
|
139
|
-
local source_version=$(get_source_version "$name" "$source_file")
|
|
140
|
-
local source_version_code=$(get_source_version_code "$name" "$source_file")
|
|
141
|
-
|
|
142
|
-
if [ "$source_version" != "N/A" ]; then
|
|
143
|
-
echo -e " ${GREEN}✅ Source VERSION: $source_version${NC}"
|
|
144
|
-
echo -e " ${GREEN}✅ Source VERSION_CODE: $source_version_code${NC}"
|
|
145
|
-
else
|
|
146
|
-
echo -e " ${YELLOW}⚠️ Source file not found${NC}"
|
|
147
|
-
fi
|
|
148
|
-
|
|
149
|
-
# 4. Compare versions
|
|
150
|
-
echo ""
|
|
151
|
-
echo " [4/4] Version Comparison:"
|
|
152
|
-
echo " ┌─────────────────┬──────────┬──────────────┐"
|
|
153
|
-
echo " │ Source │ VERSION │ VERSION_CODE │"
|
|
154
|
-
echo " ├─────────────────┼──────────┼──────────────┤"
|
|
155
|
-
printf " │ %-15s │ %-8s │ %-12s │\n" "Config" "$config_version" "$config_version_code"
|
|
156
|
-
printf " │ %-15s │ %-8s │ %-12s │\n" "On-chain" "$onchain_version" "$onchain_version_code"
|
|
157
|
-
printf " │ %-15s │ %-8s │ %-12s │\n" "Source Code" "$source_version" "$source_version_code"
|
|
158
|
-
echo " └─────────────────┴──────────┴──────────────┘"
|
|
159
|
-
echo ""
|
|
160
|
-
|
|
161
|
-
# Check consistency
|
|
162
|
-
local all_match=true
|
|
163
|
-
|
|
164
|
-
if [ "$onchain_version" != "$config_version" ]; then
|
|
165
|
-
echo -e " ${RED}❌ VERSION mismatch: Config ($config_version) != On-chain ($onchain_version)${NC}"
|
|
166
|
-
errors=$((errors+1))
|
|
167
|
-
all_match=false
|
|
168
|
-
fi
|
|
169
|
-
|
|
170
|
-
if [ "$onchain_version_code" != "$config_version_code" ]; then
|
|
171
|
-
echo -e " ${RED}❌ VERSION_CODE mismatch: Config ($config_version_code) != On-chain ($onchain_version_code)${NC}"
|
|
172
|
-
errors=$((errors+1))
|
|
173
|
-
all_match=false
|
|
174
|
-
fi
|
|
175
|
-
|
|
176
|
-
if [ "$source_version" != "N/A" ] && [ "$source_version" != "$onchain_version" ]; then
|
|
177
|
-
echo -e " ${RED}❌ VERSION mismatch: Source ($source_version) != On-chain ($onchain_version)${NC}"
|
|
178
|
-
errors=$((errors+1))
|
|
179
|
-
all_match=false
|
|
180
|
-
fi
|
|
181
|
-
|
|
182
|
-
if $all_match; then
|
|
183
|
-
echo -e " ${GREEN}✅ All versions match!${NC}"
|
|
184
|
-
fi
|
|
185
|
-
|
|
186
|
-
echo ""
|
|
187
|
-
return $errors
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
# Main verification
|
|
191
|
-
TOTAL_ERRORS=0
|
|
192
|
-
|
|
193
|
-
verify_contract "Registry" "0xf384c592D5258c91805128291c5D4c069DD30CA6" "2.1.4" "20104" "Registry.sol" || TOTAL_ERRORS=$((TOTAL_ERRORS+$?))
|
|
194
|
-
verify_contract "GToken" "0x99cCb70646Be7A5aeE7aF98cE853a1EA1A676DCc" "2.0.0" "20000" "GToken.sol" || TOTAL_ERRORS=$((TOTAL_ERRORS+$?))
|
|
195
|
-
verify_contract "GTokenStaking" "0x60Bd54645b0fDabA1114B701Df6f33C4ecE87fEa" "2.0.0" "20000" "GTokenStaking.sol" || TOTAL_ERRORS=$((TOTAL_ERRORS+$?))
|
|
196
|
-
verify_contract "SuperPaymasterV2" "0x95B20d8FdF173a1190ff71e41024991B2c5e58eF" "2.0.0" "20000" "SuperPaymasterV2.sol" || TOTAL_ERRORS=$((TOTAL_ERRORS+$?))
|
|
197
|
-
|
|
198
|
-
echo "======================================"
|
|
199
|
-
if [ $TOTAL_ERRORS -eq 0 ]; then
|
|
200
|
-
echo -e "${GREEN}✅ All contracts verified successfully!${NC}"
|
|
201
|
-
echo -e "${GREEN} All versions are consistent across on-chain, ABI, and source code.${NC}"
|
|
202
|
-
exit 0
|
|
203
|
-
else
|
|
204
|
-
echo -e "${RED}❌ Verification failed with $TOTAL_ERRORS error(s)${NC}"
|
|
205
|
-
echo -e "${YELLOW} Please check the mismatches above and update accordingly.${NC}"
|
|
206
|
-
exit 1
|
|
207
|
-
fi
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Shared-Config Contract Verification Script
|
|
4
|
-
# Verifies that on-chain contracts match ABI versions and source code versions
|
|
5
|
-
|
|
6
|
-
set -e
|
|
7
|
-
|
|
8
|
-
# Colors for output
|
|
9
|
-
RED='\033[0;31m'
|
|
10
|
-
GREEN='\033[0;32m'
|
|
11
|
-
YELLOW='\033[1;33m'
|
|
12
|
-
NC='\033[0m' # No Color
|
|
13
|
-
|
|
14
|
-
# RPC URL (replace with your private RPC)
|
|
15
|
-
SEPOLIA_RPC="${SEPOLIA_RPC_URL:-https://rpc.sepolia.org}"
|
|
16
|
-
|
|
17
|
-
echo "🔍 Contract Verification Script"
|
|
18
|
-
echo "================================"
|
|
19
|
-
echo ""
|
|
20
|
-
|
|
21
|
-
# Load contract addresses from config
|
|
22
|
-
REGISTRY_ADDR="0xf384c592D5258c91805128291c5D4c069DD30CA6"
|
|
23
|
-
GTOKEN_ADDR="0x99cCb70646Be7A5aeE7aF98cE853a1EA1A676DCc"
|
|
24
|
-
GTOKEN_STAKING_ADDR="0x60Bd54645b0fDabA1114B701Df6f33C4ecE87fEa"
|
|
25
|
-
SUPER_PAYMASTER_ADDR="0x95B20d8FdF173a1190ff71e41024991B2c5e58eF"
|
|
26
|
-
|
|
27
|
-
# Check if cast is available
|
|
28
|
-
if ! command -v cast &> /dev/null; then
|
|
29
|
-
echo -e "${RED}❌ Error: 'cast' command not found. Please install Foundry.${NC}"
|
|
30
|
-
exit 1
|
|
31
|
-
fi
|
|
32
|
-
|
|
33
|
-
# Function to check contract version
|
|
34
|
-
check_contract() {
|
|
35
|
-
local name=$1
|
|
36
|
-
local address=$2
|
|
37
|
-
local expected_version=$3
|
|
38
|
-
local expected_version_code=$4
|
|
39
|
-
|
|
40
|
-
echo "📦 Checking $name"
|
|
41
|
-
echo " Address: $address"
|
|
42
|
-
|
|
43
|
-
# Get on-chain VERSION
|
|
44
|
-
local onchain_version=$(cast call $address "VERSION()(string)" --rpc-url $SEPOLIA_RPC 2>/dev/null || echo "N/A")
|
|
45
|
-
echo " On-chain VERSION: $onchain_version"
|
|
46
|
-
|
|
47
|
-
# Get on-chain VERSION_CODE
|
|
48
|
-
local onchain_version_code=$(cast call $address "VERSION_CODE()(uint256)" --rpc-url $SEPOLIA_RPC 2>/dev/null || echo "N/A")
|
|
49
|
-
echo " On-chain VERSION_CODE: $onchain_version_code"
|
|
50
|
-
|
|
51
|
-
# Compare versions
|
|
52
|
-
if [ "$onchain_version" = "$expected_version" ]; then
|
|
53
|
-
echo -e " ${GREEN}✅ VERSION matches (expected: $expected_version)${NC}"
|
|
54
|
-
else
|
|
55
|
-
echo -e " ${RED}❌ VERSION mismatch (expected: $expected_version, got: $onchain_version)${NC}"
|
|
56
|
-
return 1
|
|
57
|
-
fi
|
|
58
|
-
|
|
59
|
-
if [ "$onchain_version_code" = "$expected_version_code" ]; then
|
|
60
|
-
echo -e " ${GREEN}✅ VERSION_CODE matches (expected: $expected_version_code)${NC}"
|
|
61
|
-
else
|
|
62
|
-
echo -e " ${RED}❌ VERSION_CODE mismatch (expected: $expected_version_code, got: $onchain_version_code)${NC}"
|
|
63
|
-
return 1
|
|
64
|
-
fi
|
|
65
|
-
|
|
66
|
-
echo ""
|
|
67
|
-
return 0
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
# Check each contract
|
|
71
|
-
FAILED=0
|
|
72
|
-
|
|
73
|
-
check_contract "Registry" "$REGISTRY_ADDR" "2.1.4" "20104" || FAILED=$((FAILED+1))
|
|
74
|
-
check_contract "GToken" "$GTOKEN_ADDR" "2.0.0" "20000" || FAILED=$((FAILED+1))
|
|
75
|
-
check_contract "GTokenStaking" "$GTOKEN_STAKING_ADDR" "2.0.0" "20000" || FAILED=$((FAILED+1))
|
|
76
|
-
check_contract "SuperPaymasterV2" "$SUPER_PAYMASTER_ADDR" "2.0.0" "20000" || FAILED=$((FAILED+1))
|
|
77
|
-
|
|
78
|
-
echo "================================"
|
|
79
|
-
if [ $FAILED -eq 0 ]; then
|
|
80
|
-
echo -e "${GREEN}✅ All contracts verified successfully!${NC}"
|
|
81
|
-
exit 0
|
|
82
|
-
else
|
|
83
|
-
echo -e "${RED}❌ $FAILED contract(s) failed verification${NC}"
|
|
84
|
-
exit 1
|
|
85
|
-
fi
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ethers } from "ethers";
|
|
2
|
-
|
|
3
|
-
const MYSBT_ADDRESS = "0xD1e6BDfb907EacD26FF69a40BBFF9278b1E7Cf5C"; // MySBT v2.4.3
|
|
4
|
-
const RPC_URL = "https://rpc.ankr.com/eth_sepolia";
|
|
5
|
-
|
|
6
|
-
const MYSBT_ABI = [
|
|
7
|
-
"function VERSION() view returns (string)",
|
|
8
|
-
"function VERSION_CODE() view returns (uint256)"
|
|
9
|
-
];
|
|
10
|
-
|
|
11
|
-
async function verify() {
|
|
12
|
-
const provider = new ethers.JsonRpcProvider(RPC_URL);
|
|
13
|
-
const mySBT = new ethers.Contract(MYSBT_ADDRESS, MYSBT_ABI, provider);
|
|
14
|
-
|
|
15
|
-
try {
|
|
16
|
-
const version = await mySBT.VERSION();
|
|
17
|
-
const versionCode = await mySBT.VERSION_CODE();
|
|
18
|
-
console.log("✅ MySBT v2.4.3 Verification:");
|
|
19
|
-
console.log(" Address:", MYSBT_ADDRESS);
|
|
20
|
-
console.log(" VERSION:", version);
|
|
21
|
-
console.log(" VERSION_CODE:", versionCode.toString());
|
|
22
|
-
} catch (error) {
|
|
23
|
-
console.error("❌ Error:", error.message);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
verify();
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Verify on-chain contract versions against config
|
|
4
|
-
* Dynamically reads contracts from contract-versions.ts instead of hardcoding
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { execSync } from 'child_process';
|
|
8
|
-
import { getAllV2Contracts } from './dist/index.js';
|
|
9
|
-
|
|
10
|
-
const SEPOLIA_RPC = process.env.SEPOLIA_RPC_URL || 'https://rpc.sepolia.org';
|
|
11
|
-
|
|
12
|
-
// Colors (using hex escapes for strict mode compatibility)
|
|
13
|
-
const colors = {
|
|
14
|
-
green: '\x1b[0;32m',
|
|
15
|
-
red: '\x1b[0;31m',
|
|
16
|
-
yellow: '\x1b[1;33m',
|
|
17
|
-
blue: '\x1b[0;34m',
|
|
18
|
-
nc: '\x1b[0m',
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
console.log('╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗');
|
|
22
|
-
console.log('║ On-Chain Version Verification Table ║');
|
|
23
|
-
console.log('╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝');
|
|
24
|
-
console.log('');
|
|
25
|
-
console.log(`RPC: ${SEPOLIA_RPC}`);
|
|
26
|
-
console.log('');
|
|
27
|
-
|
|
28
|
-
// Check if cast is available
|
|
29
|
-
try {
|
|
30
|
-
execSync('cast --version', { stdio: 'pipe' });
|
|
31
|
-
} catch {
|
|
32
|
-
console.error(`${colors.red}❌ Error: 'cast' command not found. Please install Foundry.${colors.nc}`);
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function getOnchainVersion(address) {
|
|
37
|
-
try {
|
|
38
|
-
const result = execSync(
|
|
39
|
-
`cast call "${address}" "VERSION()(string)" --rpc-url "${SEPOLIA_RPC}"`,
|
|
40
|
-
{ encoding: 'utf-8', stdio: 'pipe' }
|
|
41
|
-
);
|
|
42
|
-
return result.trim().replaceAll('"', '');
|
|
43
|
-
} catch {
|
|
44
|
-
return 'ERROR';
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function getOnchainVersionCode(address) {
|
|
49
|
-
try {
|
|
50
|
-
const result = execSync(
|
|
51
|
-
`cast call "${address}" "VERSION_CODE()(uint256)" --rpc-url "${SEPOLIA_RPC}"`,
|
|
52
|
-
{ encoding: 'utf-8', stdio: 'pipe' }
|
|
53
|
-
);
|
|
54
|
-
return result.trim().split(/\s+/)[0];
|
|
55
|
-
} catch {
|
|
56
|
-
return 'ERROR';
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Table Header
|
|
61
|
-
const header = `| %-18s | %-42s | %-7s | %-7s | %s | %-12s | %-12s | %s |`;
|
|
62
|
-
console.log(
|
|
63
|
-
`| Contract Name | Address | Config | On-Chain | ✓ | Config Code | On-Chain Code | ✓ |`
|
|
64
|
-
);
|
|
65
|
-
console.log(
|
|
66
|
-
'|────────────────────|──────────────────────────────────────────|─────────|─────────|───|──────────────|──────────────|───|'
|
|
67
|
-
);
|
|
68
|
-
|
|
69
|
-
// Get all V2 contracts from config (no hardcoding!)
|
|
70
|
-
const contracts = getAllV2Contracts();
|
|
71
|
-
|
|
72
|
-
// Print each contract
|
|
73
|
-
contracts.forEach((contract) => {
|
|
74
|
-
process.stdout.write(`Checking ${contract.name}...`);
|
|
75
|
-
|
|
76
|
-
const onchainVersion = getOnchainVersion(contract.address);
|
|
77
|
-
const onchainVersionCode = getOnchainVersionCode(contract.address);
|
|
78
|
-
|
|
79
|
-
// Clear the "Checking..." line
|
|
80
|
-
process.stdout.write('\r\x1b[K');
|
|
81
|
-
|
|
82
|
-
const versionMatch = onchainVersion === contract.version ? '✅' : '❌';
|
|
83
|
-
const versionCodeMatch = onchainVersionCode === String(contract.versionCode) ? '✅' : '❌';
|
|
84
|
-
|
|
85
|
-
console.log(
|
|
86
|
-
`| ${contract.name.padEnd(18)} | ${contract.address.padEnd(42)} | ${contract.version.padEnd(7)} | ${onchainVersion.padEnd(7)} | ${versionMatch} | ${String(contract.versionCode).padEnd(12)} | ${onchainVersionCode.padEnd(12)} | ${versionCodeMatch} |`
|
|
87
|
-
);
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
console.log('');
|
|
91
|
-
console.log('Legend: ✅ = Match, ❌ = Mismatch or Error');
|
|
92
|
-
console.log('');
|
|
93
|
-
console.log('Note: This verification queries on-chain data and may take a few minutes depending on RPC response time.');
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@aastar/account",
|
|
3
|
-
"version": "0.16.6",
|
|
4
|
-
"type": "module",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"files": [
|
|
8
|
-
"dist"
|
|
9
|
-
],
|
|
10
|
-
"dependencies": {
|
|
11
|
-
"@aastar/core": "workspace:*",
|
|
12
|
-
"viem": "2.43.3"
|
|
13
|
-
},
|
|
14
|
-
"devDependencies": {
|
|
15
|
-
"typescript": "5.7.2"
|
|
16
|
-
},
|
|
17
|
-
"scripts": {
|
|
18
|
-
"build": "tsc"
|
|
19
|
-
},
|
|
20
|
-
"publishConfig": {
|
|
21
|
-
"access": "public"
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
-
import { toSimpleSmartAccount } from './simple.js';
|
|
3
|
-
import { type Address } from 'viem';
|
|
4
|
-
|
|
5
|
-
describe('SimpleSmartAccount', () => {
|
|
6
|
-
const MOCK_OWNER = {
|
|
7
|
-
address: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' as Address,
|
|
8
|
-
signMessage: vi.fn().mockResolvedValue('0xsignature'),
|
|
9
|
-
signTypedData: vi.fn(),
|
|
10
|
-
};
|
|
11
|
-
const MOCK_FACTORY = '0x1111111111111111111111111111111111111111' as Address;
|
|
12
|
-
const MOCK_SMART_ACCOUNT = '0x2222222222222222222222222222222222222222' as Address;
|
|
13
|
-
const MOCK_EP = '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789' as Address;
|
|
14
|
-
|
|
15
|
-
it('should create simple smart account wrapper', async () => {
|
|
16
|
-
const mockClient = {
|
|
17
|
-
readContract: vi.fn().mockResolvedValue(MOCK_SMART_ACCOUNT),
|
|
18
|
-
chain: { id: 31337 }
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const account = await toSimpleSmartAccount({
|
|
22
|
-
client: mockClient,
|
|
23
|
-
owner: MOCK_OWNER as any,
|
|
24
|
-
factoryAddress: MOCK_FACTORY,
|
|
25
|
-
entryPoint: { address: MOCK_EP, version: '0.6' }
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
expect(account.address).toBe(MOCK_SMART_ACCOUNT);
|
|
29
|
-
expect(account.entryPoint).toBe(MOCK_EP);
|
|
30
|
-
|
|
31
|
-
const initCode = await account.getInitCode();
|
|
32
|
-
expect(initCode.startsWith(MOCK_FACTORY)).toBe(true);
|
|
33
|
-
|
|
34
|
-
const dummy = await account.getDummySignature();
|
|
35
|
-
expect(dummy).toBeDefined();
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('should sign user operation', async () => {
|
|
39
|
-
const mockClient = {
|
|
40
|
-
readContract: vi.fn().mockResolvedValue(MOCK_SMART_ACCOUNT),
|
|
41
|
-
chain: { id: 31337 }
|
|
42
|
-
};
|
|
43
|
-
const account = await toSimpleSmartAccount({
|
|
44
|
-
client: mockClient,
|
|
45
|
-
owner: MOCK_OWNER as any,
|
|
46
|
-
factoryAddress: MOCK_FACTORY,
|
|
47
|
-
entryPoint: { address: MOCK_EP, version: '0.6' }
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
const userOp = {
|
|
51
|
-
sender: MOCK_SMART_ACCOUNT,
|
|
52
|
-
nonce: 0n,
|
|
53
|
-
initCode: '0x',
|
|
54
|
-
callData: '0x',
|
|
55
|
-
accountGasLimits: '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
56
|
-
preVerificationGas: 0n,
|
|
57
|
-
gasFees: '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
58
|
-
paymasterAndData: '0x'
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const sig = await account.signUserOperation(userOp);
|
|
62
|
-
expect(sig).toBe('0xsignature');
|
|
63
|
-
expect(MOCK_OWNER.signMessage).toHaveBeenCalled();
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
it('should sign message and typed data', async () => {
|
|
67
|
-
const mockClient = { readContract: vi.fn().mockResolvedValue(MOCK_SMART_ACCOUNT) };
|
|
68
|
-
const account = await toSimpleSmartAccount({
|
|
69
|
-
client: mockClient,
|
|
70
|
-
owner: MOCK_OWNER as any,
|
|
71
|
-
factoryAddress: MOCK_FACTORY,
|
|
72
|
-
entryPoint: { address: MOCK_EP, version: '0.6' }
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
await account.signMessage({ message: 'hello' });
|
|
76
|
-
expect(MOCK_OWNER.signMessage).toHaveBeenCalled();
|
|
77
|
-
|
|
78
|
-
await account.signTypedData({} as any);
|
|
79
|
-
expect(MOCK_OWNER.signTypedData).toHaveBeenCalled();
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it('should throw on signTransaction', async () => {
|
|
83
|
-
const mockClient = { readContract: vi.fn().mockResolvedValue(MOCK_SMART_ACCOUNT) };
|
|
84
|
-
const account = await toSimpleSmartAccount({
|
|
85
|
-
client: mockClient,
|
|
86
|
-
owner: MOCK_OWNER as any,
|
|
87
|
-
factoryAddress: MOCK_FACTORY,
|
|
88
|
-
entryPoint: { address: MOCK_EP, version: '0.6' }
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
await expect(account.signTransaction({})).rejects.toThrow('UserOperations');
|
|
92
|
-
});
|
|
93
|
-
});
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
-
import { createEOAWalletClient } from './eoa.js';
|
|
3
|
-
import * as viem from 'viem';
|
|
4
|
-
import { mainnet } from 'viem/chains';
|
|
5
|
-
|
|
6
|
-
vi.mock('viem', async () => {
|
|
7
|
-
const actual = await vi.importActual('viem');
|
|
8
|
-
return {
|
|
9
|
-
...actual,
|
|
10
|
-
createWalletClient: vi.fn(),
|
|
11
|
-
};
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
describe('EOAWalletClient', () => {
|
|
15
|
-
const MOCK_KEY = '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80';
|
|
16
|
-
const MOCK_ADDR = '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266';
|
|
17
|
-
|
|
18
|
-
it('should create and use EOA wallet client', async () => {
|
|
19
|
-
const sendTransactionSpy = vi.fn().mockResolvedValue('0xhash');
|
|
20
|
-
const mockViemClient = {
|
|
21
|
-
sendTransaction: sendTransactionSpy,
|
|
22
|
-
account: { address: MOCK_ADDR }
|
|
23
|
-
};
|
|
24
|
-
(viem.createWalletClient as any).mockReturnValue(mockViemClient);
|
|
25
|
-
|
|
26
|
-
const client = createEOAWalletClient(MOCK_KEY, mainnet);
|
|
27
|
-
|
|
28
|
-
expect(client.getAddress()).toBe(MOCK_ADDR);
|
|
29
|
-
|
|
30
|
-
const hash = await client.sendTransaction({ to: MOCK_ADDR, value: 100n });
|
|
31
|
-
expect(hash).toBe('0xhash');
|
|
32
|
-
expect(sendTransactionSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
33
|
-
to: MOCK_ADDR,
|
|
34
|
-
value: 100n
|
|
35
|
-
}));
|
|
36
|
-
});
|
|
37
|
-
});
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { type WalletClient, type PublicClient, type Address, type Chain, type Transport, type Hash, type Hex, createWalletClient, http } from 'viem';
|
|
2
|
-
import { privateKeyToAccount } from 'viem/accounts';
|
|
3
|
-
|
|
4
|
-
export type EOAWalletClient = WalletClient & {
|
|
5
|
-
sendTransaction: (args: { to: Address, value?: bigint, data?: Hex }) => Promise<Hash>;
|
|
6
|
-
getAddress: () => Address;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
export const createEOAWalletClient = (
|
|
10
|
-
privateKey: Hex,
|
|
11
|
-
chain: Chain,
|
|
12
|
-
transport: Transport = http()
|
|
13
|
-
): EOAWalletClient => {
|
|
14
|
-
const account = privateKeyToAccount(privateKey);
|
|
15
|
-
const client = createWalletClient({
|
|
16
|
-
account,
|
|
17
|
-
chain,
|
|
18
|
-
transport
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
const baseSendTransaction = client.sendTransaction.bind(client);
|
|
22
|
-
|
|
23
|
-
return Object.assign(client, {
|
|
24
|
-
async sendTransaction(args: { to: Address, value?: bigint, data?: Hex }) {
|
|
25
|
-
return baseSendTransaction({
|
|
26
|
-
...args,
|
|
27
|
-
account,
|
|
28
|
-
chain
|
|
29
|
-
} as any);
|
|
30
|
-
},
|
|
31
|
-
getAddress: () => account.address
|
|
32
|
-
}) as EOAWalletClient;
|
|
33
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
-
import { packUserOpLimits, UserOpClient } from './index.js';
|
|
3
|
-
|
|
4
|
-
describe('Account Utils', () => {
|
|
5
|
-
it('should pack user op limits', () => {
|
|
6
|
-
const packed = packUserOpLimits(100n, 200n);
|
|
7
|
-
expect(packed).toBeDefined();
|
|
8
|
-
expect(packed.length).toBe(66); // 0x + 64 chars
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
describe('UserOpClient', () => {
|
|
12
|
-
const mockBundler = {
|
|
13
|
-
request: vi.fn()
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
it('should estimate gas', async () => {
|
|
17
|
-
mockBundler.request.mockResolvedValue({ preVerificationGas: 1000n });
|
|
18
|
-
const res = await UserOpClient.estimateGas(mockBundler, {}, '0x1' as any);
|
|
19
|
-
expect(res.preVerificationGas).toBe(1000n);
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it('should send user operation', async () => {
|
|
23
|
-
mockBundler.request.mockResolvedValue('0xhash');
|
|
24
|
-
const res = await UserOpClient.sendUserOp(mockBundler, {}, '0x1' as any);
|
|
25
|
-
expect(res).toBe('0xhash');
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it('should get receipt', async () => {
|
|
29
|
-
mockBundler.request.mockResolvedValue({ success: true });
|
|
30
|
-
const res = await UserOpClient.getReceipt(mockBundler, '0xhash');
|
|
31
|
-
expect(res.success).toBe(true);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
});
|