@aastar/sdk 0.14.3 → 0.16.6
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/.eslintrc.cjs +30 -0
- package/README.md +148 -19
- package/abis/BLSAggregator.json +13 -13
- package/abis/BLSValidator.json +13 -0
- package/abis/DVTValidator.json +13 -0
- package/abis/GToken.json +57 -26
- package/abis/GTokenStaking.json +13 -39
- package/abis/MySBT.json +0 -39
- package/abis/Paymaster.json +0 -13
- package/abis/PaymasterFactory.json +26 -39
- package/abis/PaymasterV4_2.json +68 -58
- package/abis/Registry.json +57 -16
- package/abis/ReputationSystem.json +182 -0
- package/abis/SuperPaymaster.json +169 -0
- package/abis/aPNTs.json +13 -26
- package/abis/xPNTsFactory.json +13 -26
- package/abis/xPNTsToken.json +13 -26
- package/config.anvil.json +1 -0
- package/config.sepolia.json +1 -0
- package/config.test.json +27 -0
- package/docs/ABI_Change_Tracking_Workflow.md +41 -0
- package/docs/ABI_MAINTENANCE_PLAN.md +132 -0
- package/docs/API_REFERENCE.md +169 -9
- package/docs/Configuration_Sync.md +47 -0
- package/docs/DEMO_REFACTOR_PLAN.md +289 -0
- package/docs/ENV_SEPOLIA_UPDATE.md +68 -0
- package/docs/Faucet_Gasless_Plan.md +56 -0
- package/docs/L2_BUSINESS_CLIENTS_PLAN.md +394 -0
- package/docs/L4_Manual_Test_CheatSheet.md +215 -0
- package/docs/SDK_ABI_COVERAGE.md +839 -0
- package/docs/SDK_COVERAGE_STRATEGY.md +397 -0
- package/docs/SDK_REGRESSION_AND_API_PLAN.md +98 -0
- package/docs/SDK_STAGE3_PLAN.md +151 -0
- package/docs/STAGE3.md +191 -0
- package/docs/TESTER_GUIDE_GASLESS.md +663 -0
- package/docs/Verifier_L4_Gasless_Plan.md +454 -0
- package/docs/api/@aastar/account.md +235 -0
- package/docs/api/@aastar/analytics.md +219 -0
- package/docs/api/@aastar/core.md +26830 -0
- package/docs/api/@aastar/dapp.md +130 -0
- package/docs/api/@aastar/identity.md +482 -0
- package/docs/api/@aastar/paymaster.md +1387 -0
- package/docs/api/@aastar/sdk/README.md +155 -0
- package/docs/api/@aastar/sdk/node.md +4044 -0
- package/docs/api/@aastar/tokens.md +1971 -0
- package/docs/api/README.md +8 -4
- package/docs/changelog.md +99 -0
- package/docs/examples/README.md +18 -0
- package/docs/guide/concepts/account-abstraction.md +95 -0
- package/docs/guide/concepts/rainbow-bridge.md +68 -0
- package/docs/guide/concepts/reputation.md +95 -0
- package/docs/guide/concepts/superpaymaster.md +141 -0
- package/docs/guide/use-cases/community-management.md +141 -0
- package/docs/guide/use-cases/gasless-transactions.md +71 -0
- package/docs/guide/use-cases/operator-staking.md +84 -0
- package/docs/guide/use-cases/yop.md +72 -0
- package/docs/refactor/2026-01-13-221242-trae-refactor.md +224 -0
- package/docs/refactor/2026-01-13-audit-analysis.md +96 -0
- package/docs/refactor/2026-01-13-audit-report-v0.16.2.md +76 -0
- package/docs/refactor/2026-01-13-audit-report-v0.17.0.md +74 -0
- package/docs/refactor/2026-01-13-cursor-refactor.md +511 -0
- package/docs/refactor/2026-01-13-refactor-plan.md +88 -0
- package/docs/refactor/2026-01-13-refactor-response-plan.md +77 -0
- package/docs/refactor/2026-01-13-refactor-review.md +39 -0
- package/docs/refactor/2026-01-13-sdk-enhancement-plan.md +120 -0
- package/docs/refactor/2026-01-14-audit-response.md +242 -0
- package/docs/refactor/2026-01-14-audit-summary.md +133 -0
- package/docs/refactor/cursor-2026-01-13-14-00-audit-report.md +267 -0
- package/env.template +32 -0
- package/examples/l1-api-demo.ts +184 -0
- package/examples/l2-clients-demo.ts +138 -0
- package/examples/l3-user-onboarding.ts +74 -0
- package/examples/prepare-gasless.ts +89 -0
- package/examples/simple-gasless-demo.ts +80 -0
- package/examples/simple-superpaymaster-demo.ts +96 -0
- package/l4-setup.sh +11 -0
- package/package.json +12 -8
- package/packages/account/package.json +6 -3
- package/packages/account/src/accounts/simple.test.ts +93 -0
- package/packages/account/src/eoa.test.ts +37 -0
- package/packages/account/src/eoa.ts +4 -2
- package/packages/account/src/index.test.ts +34 -0
- package/packages/account/tsconfig.json +0 -1
- package/packages/analytics/package.json +12 -5
- package/packages/analytics/tsconfig.json +0 -5
- package/packages/core/package.json +16 -6
- package/packages/core/scripts/audit-abi-coverage.ts +165 -0
- package/packages/core/scripts/debug-regex.ts +36 -0
- package/packages/core/src/abis/.abi-hashes.json +26 -0
- package/packages/core/src/abis/BLSAggregator.json +686 -572
- package/packages/core/src/abis/BLSValidator.json +42 -26
- package/packages/core/src/abis/DVTValidator.json +368 -370
- package/packages/core/src/abis/EntryPoint.json +1382 -1379
- package/packages/core/src/abis/GToken.json +513 -523
- package/packages/core/src/abis/GTokenStaking.json +949 -931
- package/packages/core/src/abis/MySBT.json +1518 -1586
- package/packages/core/src/abis/Paymaster.json +1143 -1205
- package/packages/core/src/abis/PaymasterFactory.json +640 -650
- package/packages/core/src/abis/Registry.json +1942 -1636
- package/packages/core/src/abis/ReputationSystem.json +699 -477
- package/packages/core/src/abis/SimpleAccount.json +560 -625
- package/packages/core/src/abis/SimpleAccountFactory.json +111 -108
- package/packages/core/src/abis/SuperPaymaster.json +1781 -1399
- package/packages/core/src/abis/abi.config.json +24 -0
- package/packages/core/src/abis/index.ts +74 -38
- package/packages/core/src/abis/xPNTsFactory.json +718 -728
- package/packages/core/src/abis/xPNTsToken.json +1280 -1173
- package/packages/core/src/actions/StateValidator.test.ts +175 -0
- package/packages/{sdk/src/utils/validation.ts → core/src/actions/StateValidator.ts} +22 -125
- package/packages/core/src/actions/account.test.ts +155 -0
- package/packages/core/src/actions/account.ts +179 -0
- package/packages/core/src/actions/aggregator.test.ts +88 -0
- package/packages/core/src/actions/dvt.test.ts +124 -0
- package/packages/core/src/actions/entryPoint.test.ts +176 -0
- package/packages/core/src/actions/entryPoint.ts +266 -0
- package/packages/core/src/actions/factory.test.ts +250 -0
- package/packages/core/src/actions/factory.ts +586 -14
- package/packages/core/src/actions/faucet.test.ts +202 -0
- package/packages/core/src/actions/faucet.ts +421 -0
- package/packages/core/src/actions/gtokenExtended.test.ts +162 -0
- package/packages/core/src/actions/gtokenExtended.ts +153 -0
- package/packages/core/src/actions/index.ts +8 -0
- package/packages/core/src/actions/paymasterV4.test.ts +209 -0
- package/packages/core/src/actions/paymasterV4.ts +330 -138
- package/packages/core/src/actions/registry.test.ts +443 -0
- package/packages/core/src/actions/registry.ts +768 -28
- package/packages/core/src/actions/reputation.test.ts +225 -0
- package/packages/core/src/actions/reputation.ts +351 -0
- package/packages/core/src/actions/sbt.test.ts +322 -0
- package/packages/core/src/actions/sbt.ts +614 -30
- package/packages/core/src/actions/staking.test.ts +273 -0
- package/packages/core/src/actions/staking.ts +350 -8
- package/packages/core/src/actions/superPaymaster.test.ts +356 -0
- package/packages/core/src/actions/superPaymaster.ts +746 -35
- package/packages/core/src/actions/tokens.test.ts +60 -0
- package/packages/core/src/actions/tokens.ts +482 -20
- package/packages/core/src/actions/validators.test.ts +239 -0
- package/packages/core/src/actions/validators.ts +590 -0
- package/packages/core/src/clients/BaseClient.ts +78 -0
- package/packages/core/src/clients/types.ts +69 -0
- package/packages/core/src/clients.ts +1 -1
- package/packages/core/src/communities.ts +2 -2
- package/packages/core/src/config/ContractConfigManager.ts +63 -0
- package/packages/core/src/constants.ts +64 -0
- package/packages/core/src/contract-addresses.ts +42 -18
- package/packages/core/src/contracts.test.ts +58 -0
- package/packages/core/src/contracts.ts +2 -2
- package/packages/core/src/index.ts +4 -1
- package/packages/core/src/requirementChecker.test.ts +71 -0
- package/packages/core/src/requirementChecker.ts +1 -39
- package/packages/core/src/roles.test.ts +34 -0
- package/packages/core/src/roles.ts +61 -50
- package/packages/core/src/utils/validation.test.ts +50 -0
- package/packages/core/src/utils/validation.ts +66 -0
- package/packages/core/tsconfig.json +2 -2
- package/packages/core/vitest.config.ts +14 -0
- package/packages/dapp/package.json +6 -3
- package/packages/dapp/src/ui/hooks/useCreditScore.ts +1 -1
- package/packages/dapp/tsconfig.json +0 -1
- package/packages/identity/package.json +6 -3
- package/packages/identity/src/index.ts +49 -17
- package/packages/identity/tsconfig.json +0 -1
- package/packages/paymaster/package.json +6 -3
- package/packages/paymaster/src/SuperPaymaster/index.ts +2 -2
- package/packages/paymaster/src/V4/PaymasterClient.test.ts +114 -0
- package/packages/paymaster/src/V4/PaymasterClient.ts +385 -0
- package/packages/paymaster/src/V4/PaymasterOperator.test.ts +80 -0
- package/packages/paymaster/src/V4/PaymasterOperator.ts +282 -0
- package/packages/paymaster/src/V4/PaymasterUtils.test.ts +54 -0
- package/packages/paymaster/src/V4/PaymasterUtils.ts +185 -0
- package/packages/paymaster/src/V4/SuperPaymasterClient.test.ts +79 -0
- package/packages/paymaster/src/V4/SuperPaymasterClient.ts +123 -0
- package/packages/paymaster/src/V4/index.ts +4 -123
- package/packages/paymaster/tsconfig.json +0 -1
- package/packages/sdk/aastar/tsconfig.json +0 -1
- package/packages/sdk/coverage_output.txt +393 -0
- package/packages/sdk/coverage_output_final.txt +739 -0
- package/packages/sdk/coverage_output_final_v2.txt +722 -0
- package/packages/sdk/coverage_output_final_v3.txt +722 -0
- package/packages/sdk/package.json +14 -2
- package/packages/sdk/src/clients/ExperimentClient.test.ts +65 -0
- package/packages/sdk/src/clients/ExperimentClient.ts +80 -0
- package/packages/sdk/src/clients/admin.test.ts +98 -0
- package/packages/sdk/src/clients/admin.ts +108 -8
- package/packages/sdk/src/clients/clients.test.ts +104 -0
- package/packages/sdk/src/clients/community.test.ts +118 -0
- package/packages/sdk/src/clients/community.ts +175 -241
- package/packages/sdk/src/clients/endUser.test.ts +221 -0
- package/packages/sdk/src/clients/endUser.ts +430 -52
- package/packages/sdk/src/clients/operator.test.ts +162 -0
- package/packages/sdk/src/clients/operator.ts +168 -90
- package/packages/sdk/src/errors/AAStarError.test.ts +92 -0
- package/packages/sdk/src/errors/AAStarError.ts +70 -0
- package/packages/sdk/src/errors/decoder.test.ts +107 -0
- package/packages/sdk/src/errors/decoder.ts +84 -41
- package/packages/sdk/src/index.ts +11 -8
- package/packages/sdk/src/node/index.ts +8 -0
- package/packages/sdk/src/types/result.ts +29 -0
- package/packages/sdk/src/utils/errorHandler.test.ts +102 -0
- package/packages/sdk/src/utils/eventDecoder.test.ts +56 -0
- package/packages/sdk/src/utils/eventDecoder.ts +66 -0
- package/packages/sdk/src/utils/funding.test.ts +117 -0
- package/packages/sdk/src/utils/keys.test.ts +105 -0
- package/packages/sdk/src/utils/keys.ts +15 -0
- package/packages/sdk/src/utils/roleData.test.ts +85 -0
- package/packages/sdk/src/utils/roleData.ts +15 -26
- package/packages/sdk/src/utils/testScenarios.test.ts +79 -0
- package/packages/sdk/src/utils/testScenarios.ts +128 -0
- package/packages/sdk/src/utils/userOp.test.ts +190 -0
- package/packages/sdk/src/utils/userOp.ts +265 -0
- package/packages/sdk/tests/scenarios/01_onboard_community.ts +62 -0
- package/packages/sdk/tests/scenarios/02_onboard_operator.ts +109 -0
- package/packages/sdk/tests/scenarios/03_onboard_user.ts +53 -0
- package/packages/sdk/tests/scenarios/04_gasless_tx_flow.ts +68 -0
- package/packages/sdk/tests/scenarios/check_entrypoint.ts +19 -0
- package/packages/sdk/tests/scenarios/check_initialization.ts +65 -0
- package/packages/sdk/tests/scenarios/debug_addresses.ts +26 -0
- package/packages/sdk/tests/scenarios/diagnose_scenario4.ts +55 -0
- package/packages/sdk/tests/scenarios/setup.ts +33 -0
- package/packages/sdk/tests/scenarios/test_entrypoint_nonce.ts +46 -0
- package/packages/sdk/tsconfig.json +0 -1
- package/packages/tokens/package.json +6 -3
- package/packages/tokens/src/index.ts +92 -64
- package/packages/tokens/tsconfig.json +0 -1
- package/run_l4_gasless_regression.sh +79 -0
- package/run_sdk_regression.sh +200 -175
- package/scripts/00_utils.ts +1 -1
- package/scripts/01_prepare_all.ts +149 -198
- package/scripts/02_test_eoa.ts +27 -24
- package/scripts/03_test_standard_aa.ts +48 -153
- package/scripts/04_test_paymaster_v4.ts +41 -198
- package/scripts/05_test_superpaymaster.ts +40 -362
- package/scripts/09_local_test_community_lifecycle.ts +4 -3
- package/scripts/11_test_core_flows_full.ts +75 -197
- package/scripts/15_test_bls_full.ts +25 -2
- package/scripts/15_test_dvt_bls_full.ts +11 -4
- package/scripts/18_test_lifecycle_completion.ts +2 -2
- package/scripts/19_sdk_experiment_runner.ts +41 -16
- package/scripts/20_sdk_full_capability.ts +75 -77
- package/scripts/99_bug_hunting_fast.ts +55 -172
- package/scripts/analyze_abi_coverage.ts +169 -0
- package/scripts/check-admin.ts +95 -0
- package/scripts/check-jason-status.ts +184 -0
- package/scripts/check-roles.ts +36 -0
- package/scripts/clear-nonce.ts +47 -0
- package/scripts/complete-jack-superpaymaster.ts +171 -0
- package/scripts/debug-addr.ts +43 -0
- package/scripts/debug-community-registration.ts +92 -0
- package/scripts/debug-deploy-v4.ts +116 -0
- package/scripts/debug-paymaster.ts +127 -0
- package/scripts/debug-register-role.ts +101 -0
- package/scripts/debug-version.ts +71 -0
- package/scripts/deploy-sync.ts +104 -0
- package/scripts/deprecated/check_aa_entrypoint.ts +29 -0
- package/scripts/deprecated/check_paymaster_deposits.ts +45 -0
- package/scripts/deprecated/debug_aoa_function.ts +28 -0
- package/scripts/deprecated/debug_aoa_issue.ts +16 -0
- package/scripts/deprecated/debug_pimlico_aa23.ts +40 -0
- package/scripts/deprecated/debug_summary.ts +34 -0
- package/scripts/deprecated/deploy_v07_aa.ts +99 -0
- package/scripts/deprecated/fix_all_issues.ts +61 -0
- package/scripts/deprecated/fund_bpnts.ts +52 -0
- package/scripts/deprecated/get_factory_addresses.ts +28 -0
- package/scripts/deprecated/recheck_pim.ts +34 -0
- package/{extract_abis.sh → scripts/dev_tools/extract_abis.sh} +13 -2
- package/scripts/extract-docs.sh +78 -9
- package/scripts/fund-jack.ts +38 -0
- package/scripts/inspect-anni-token.ts +116 -0
- package/scripts/inspect-factory.ts +83 -0
- package/scripts/l4-paymasterv4-transfer-test.ts +228 -0
- package/scripts/l4-setup.ts +453 -0
- package/scripts/l4-state.json +80 -0
- package/scripts/phase1_verify_contracts.ts +207 -0
- package/scripts/pre_test_sync.ts +83 -0
- package/scripts/prepare_sepolia_resources.ts +154 -0
- package/scripts/query-jack-token.ts +22 -0
- package/scripts/quick_setup_account.ts +80 -0
- package/scripts/run_l4_gasless_regression.sh +32 -0
- package/scripts/run_sdk_experiment.sh +13 -0
- package/scripts/run_sdk_regression-v2.sh +38 -0
- package/scripts/sdk_regression_v2.ts +162 -0
- package/scripts/setup-bbq-community.ts +187 -0
- package/scripts/setup-dancing-community.ts +223 -0
- package/scripts/setup_test_accounts.ts +88 -0
- package/scripts/setup_test_environment.ts +147 -0
- package/scripts/sync_anvil_config.cjs +44 -0
- package/scripts/sync_contract_addresses.ts +186 -0
- package/scripts/sync_sepolia_config.cjs +90 -0
- package/scripts/sync_sepolia_config.mjs +74 -0
- package/scripts/test-brown-v4-deploy.ts +90 -0
- package/scripts/test-faucet-and-gasless.ts +170 -0
- package/scripts/test-jack-gasless.ts +119 -0
- package/scripts/test-jack-registration.ts +133 -0
- package/scripts/test-jack-superpaymaster-api.ts +112 -0
- package/scripts/test-kms-gasless.ts +138 -0
- package/scripts/test_groups.ts +63 -192
- package/scripts/test_new_sdk_apis_sepolia.ts +78 -0
- package/scripts/update_env_from_config.ts +83 -0
- package/scripts/v2_regression/00_validate_env.ts +28 -4
- package/scripts/v2_regression/02_operator_onboarding.ts +15 -141
- package/scripts/v2_regression/03_community_registry.ts +23 -57
- package/scripts/v2_regression/04_enduser_flow.ts +15 -48
- package/scripts/verify-tx-status.ts +81 -0
- package/scripts/verify_onchain_milestone.ts +114 -0
- package/scripts/verify_phase1.ts +66 -0
- package/scripts/verify_phase2.ts +66 -0
- package/sdk_experiment_data.csv +2 -0
- package/simple-test-paymaster.sh +2 -0
- package/simple-test-superpaymaster.sh +1 -0
- package/tests/l1-regression.test.ts +458 -0
- package/tests/l4-test-anni-gasless.ts +105 -0
- package/tests/l4-test-jason1-gasless.ts +150 -0
- package/tests/l4-test-jason2-gasless.ts +174 -0
- package/tests/l4-test-pmv4-deposit.ts +111 -0
- package/tests/l4-test-pmv4-gasless.ts +166 -0
- package/tests/l4-test-pmv4-submit.ts +223 -0
- package/tests/regression/README.md +168 -0
- package/tests/regression/config.ts +215 -0
- package/tests/regression/display-versions.ts +85 -0
- package/tests/regression/index.ts +67 -0
- package/tests/regression/l1-tests.ts +267 -0
- package/tests/regression/l2-tests.ts +171 -0
- package/tests/regression/l3-tests.ts +125 -0
- package/tests/regression/l4-gasless.ts +897 -0
- package/tests/regression/l4-runner.ts +52 -0
- package/tests/reports/phase1_contract_verification.md +45 -0
- package/tests/utils/contractVerifier.ts +237 -0
- package/tests/utils/userOpHelper.ts +194 -0
- package/tsconfig.json +32 -6
- package/typedoc.json +39 -5
- package/vitest.config.ts +16 -0
- package/.eslintrc.js +0 -28
- package/docs/STAGE_3_SCENARIO_EXP_PLAN.md +0 -77
- package/docs/api/@aastar/account/README.md +0 -15
- package/docs/api/@aastar/account/classes/UserOpClient.md +0 -87
- package/docs/api/@aastar/account/functions/createEOAWalletClient.md +0 -21
- package/docs/api/@aastar/account/functions/getUserOpHash.md +0 -23
- package/docs/api/@aastar/account/functions/packUserOpLimits.md +0 -19
- package/docs/api/@aastar/account/functions/toSimpleSmartAccount.md +0 -83
- package/docs/api/@aastar/account/type-aliases/EOAWalletClient.md +0 -37
- package/docs/api/@aastar/account/type-aliases/SimpleSmartAccount.md +0 -39
- package/docs/api/@aastar/core/README.md +0 -136
- package/docs/api/@aastar/core/classes/BLSSigner.md +0 -147
- package/docs/api/@aastar/core/enumerations/NodeType.md +0 -33
- package/docs/api/@aastar/core/functions/aggregatorActions.md +0 -2714
- package/docs/api/@aastar/core/functions/createAAStarPublicClient.md +0 -3105
- package/docs/api/@aastar/core/functions/dvtActions.md +0 -2714
- package/docs/api/@aastar/core/functions/factoryActions.md +0 -2714
- package/docs/api/@aastar/core/functions/getAddressUrl.md +0 -32
- package/docs/api/@aastar/core/functions/getAllCommunityConfigs.md +0 -9
- package/docs/api/@aastar/core/functions/getAllV2Contracts.md +0 -20
- package/docs/api/@aastar/core/functions/getBlockExplorer.md +0 -26
- package/docs/api/@aastar/core/functions/getChainId.md +0 -26
- package/docs/api/@aastar/core/functions/getCommunities.md +0 -76
- package/docs/api/@aastar/core/functions/getCommunity.md +0 -32
- package/docs/api/@aastar/core/functions/getCommunityConfig.md +0 -15
- package/docs/api/@aastar/core/functions/getContract.md +0 -37
- package/docs/api/@aastar/core/functions/getContractNetworks.md +0 -18
- package/docs/api/@aastar/core/functions/getContracts.md +0 -178
- package/docs/api/@aastar/core/functions/getCoreContracts.md +0 -55
- package/docs/api/@aastar/core/functions/getDeploymentDate.md +0 -32
- package/docs/api/@aastar/core/functions/getEntryPoint.md +0 -25
- package/docs/api/@aastar/core/functions/getNetwork.md +0 -26
- package/docs/api/@aastar/core/functions/getPaymasterV4_1.md +0 -25
- package/docs/api/@aastar/core/functions/getRpcUrl.md +0 -25
- package/docs/api/@aastar/core/functions/getSimpleAccountFactory.md +0 -25
- package/docs/api/@aastar/core/functions/getSuperPaymasterV2.md +0 -25
- package/docs/api/@aastar/core/functions/getTestAccounts.md +0 -30
- package/docs/api/@aastar/core/functions/getTestTokenContracts.md +0 -38
- package/docs/api/@aastar/core/functions/getTokenContracts.md +0 -31
- package/docs/api/@aastar/core/functions/getTxUrl.md +0 -32
- package/docs/api/@aastar/core/functions/getV2ContractByAddress.md +0 -28
- package/docs/api/@aastar/core/functions/getV2ContractByName.md +0 -28
- package/docs/api/@aastar/core/functions/getV2ContractsByDate.md +0 -26
- package/docs/api/@aastar/core/functions/isContractNetworkSupported.md +0 -27
- package/docs/api/@aastar/core/functions/isRegisteredCommunity.md +0 -15
- package/docs/api/@aastar/core/functions/isV2Contract.md +0 -27
- package/docs/api/@aastar/core/functions/paymasterV4Actions.md +0 -2719
- package/docs/api/@aastar/core/functions/registryActions.md +0 -2720
- package/docs/api/@aastar/core/functions/reputationActions.md +0 -2720
- package/docs/api/@aastar/core/functions/sbtActions.md +0 -2720
- package/docs/api/@aastar/core/functions/stakingActions.md +0 -2720
- package/docs/api/@aastar/core/functions/superPaymasterActions.md +0 -2720
- package/docs/api/@aastar/core/functions/tokenActions.md +0 -2714
- package/docs/api/@aastar/core/interfaces/CommunityConfig.md +0 -81
- package/docs/api/@aastar/core/interfaces/ContractVersion.md +0 -63
- package/docs/api/@aastar/core/type-aliases/AggregatorActions.md +0 -79
- package/docs/api/@aastar/core/type-aliases/ContractCategory.md +0 -5
- package/docs/api/@aastar/core/type-aliases/ContractNetwork.md +0 -5
- package/docs/api/@aastar/core/type-aliases/DVTActions.md +0 -139
- package/docs/api/@aastar/core/type-aliases/FactoryActions.md +0 -99
- package/docs/api/@aastar/core/type-aliases/NetworkContracts.md +0 -5
- package/docs/api/@aastar/core/type-aliases/PaymasterV4Actions.md +0 -422
- package/docs/api/@aastar/core/type-aliases/RegistryActions.md +0 -263
- package/docs/api/@aastar/core/type-aliases/ReputationActions.md +0 -47
- package/docs/api/@aastar/core/type-aliases/RoleConfig.md +0 -83
- package/docs/api/@aastar/core/type-aliases/SBTActions.md +0 -203
- package/docs/api/@aastar/core/type-aliases/StakingActions.md +0 -179
- package/docs/api/@aastar/core/type-aliases/SuperPaymasterActions.md +0 -219
- package/docs/api/@aastar/core/type-aliases/SupportedNetwork.md +0 -3
- package/docs/api/@aastar/core/type-aliases/TokenActions.md +0 -151
- package/docs/api/@aastar/core/variables/AASTAR_COMMUNITY.md +0 -8
- package/docs/api/@aastar/core/variables/ALL_ADDRESSES.md +0 -71
- package/docs/api/@aastar/core/variables/BLSAggregatorABI.md +0 -3
- package/docs/api/@aastar/core/variables/BLSHelpers.md +0 -91
- package/docs/api/@aastar/core/variables/BPS_DENOMINATOR.md +0 -5
- package/docs/api/@aastar/core/variables/BRANDING.md +0 -67
- package/docs/api/@aastar/core/variables/BREAD_COMMUNITY.md +0 -8
- package/docs/api/@aastar/core/variables/COMMUNITIES.md +0 -5
- package/docs/api/@aastar/core/variables/COMMUNITY_OWNERS.md +0 -15
- package/docs/api/@aastar/core/variables/CONTRACTS.md +0 -163
- package/docs/api/@aastar/core/variables/CONTRACT_METADATA.md +0 -67
- package/docs/api/@aastar/core/variables/CORE_ADDRESSES.md +0 -35
- package/docs/api/@aastar/core/variables/DEFAULT_APNTS_PRICE_USD.md +0 -5
- package/docs/api/@aastar/core/variables/DEFAULT_GAS_TOKEN_MINT_AMOUNT.md +0 -5
- package/docs/api/@aastar/core/variables/DEFAULT_USDT_MINT_AMOUNT.md +0 -5
- package/docs/api/@aastar/core/variables/DVTValidatorABI.md +0 -3
- package/docs/api/@aastar/core/variables/EntryPointABI.md +0 -3
- package/docs/api/@aastar/core/variables/FAUCET_API_URL.md +0 -5
- package/docs/api/@aastar/core/variables/GTokenABI.md +0 -3
- package/docs/api/@aastar/core/variables/GTokenStakingABI.md +0 -3
- package/docs/api/@aastar/core/variables/LINKS.md +0 -33
- package/docs/api/@aastar/core/variables/MAX_SERVICE_FEE.md +0 -5
- package/docs/api/@aastar/core/variables/MONITORING_ADDRESSES.md +0 -15
- package/docs/api/@aastar/core/variables/MySBTABI.md +0 -3
- package/docs/api/@aastar/core/variables/NETWORKS.md +0 -79
- package/docs/api/@aastar/core/variables/NODE_STAKE_AMOUNTS.md +0 -31
- package/docs/api/@aastar/core/variables/OFFICIAL_ADDRESSES.md +0 -11
- package/docs/api/@aastar/core/variables/PAYMASTER_ADDRESSES.md +0 -15
- package/docs/api/@aastar/core/variables/PaymasterABI.md +0 -3
- package/docs/api/@aastar/core/variables/PaymasterFactoryABI.md +0 -3
- package/docs/api/@aastar/core/variables/PaymasterV4ABI.md +0 -3
- package/docs/api/@aastar/core/variables/ROLE_ANODE.md +0 -3
- package/docs/api/@aastar/core/variables/ROLE_COMMUNITY.md +0 -3
- package/docs/api/@aastar/core/variables/ROLE_ENDUSER.md +0 -5
- package/docs/api/@aastar/core/variables/ROLE_KMS.md +0 -3
- package/docs/api/@aastar/core/variables/ROLE_PAYMASTER_AOA.md +0 -3
- package/docs/api/@aastar/core/variables/ROLE_PAYMASTER_SUPER.md +0 -3
- package/docs/api/@aastar/core/variables/RegistryABI.md +0 -3
- package/docs/api/@aastar/core/variables/ReputationSystemABI.md +0 -3
- package/docs/api/@aastar/core/variables/ReputationSystemV3ABI.md +0 -3
- package/docs/api/@aastar/core/variables/SEPOLIA_CONTRACTS.md +0 -159
- package/docs/api/@aastar/core/variables/SEPOLIA_V2_VERSIONS.md +0 -67
- package/docs/api/@aastar/core/variables/SERVICE_FEE_RATE.md +0 -5
- package/docs/api/@aastar/core/variables/Simple7702AccountABI.md +0 -3
- package/docs/api/@aastar/core/variables/SimpleAccountABI.md +0 -3
- package/docs/api/@aastar/core/variables/SimpleAccountFactoryABI.md +0 -3
- package/docs/api/@aastar/core/variables/SimpleAccountFactoryV08ABI.md +0 -3
- package/docs/api/@aastar/core/variables/SimpleAccountV08ABI.md +0 -3
- package/docs/api/@aastar/core/variables/SuperPaymasterABI.md +0 -3
- package/docs/api/@aastar/core/variables/SuperPaymasterV3ABI.md +0 -3
- package/docs/api/@aastar/core/variables/TEST_ACCOUNT_ADDRESSES.md +0 -11
- package/docs/api/@aastar/core/variables/TEST_ACCOUNT_POOL_SIZE.md +0 -5
- package/docs/api/@aastar/core/variables/TEST_COMMUNITIES.md +0 -19
- package/docs/api/@aastar/core/variables/TEST_TOKEN_ADDRESSES.md +0 -19
- package/docs/api/@aastar/core/variables/TOKEN_ADDRESSES.md +0 -11
- package/docs/api/@aastar/core/variables/V2_SUMMARY.md +0 -39
- package/docs/api/@aastar/core/variables/xPNTsFactoryABI.md +0 -3
- package/docs/api/@aastar/core/variables/xPNTsTokenABI.md +0 -3
- package/docs/api/@aastar/paymaster/README.md +0 -14
- package/docs/api/@aastar/paymaster/classes/SuperPaymasterClient.md +0 -163
- package/docs/api/@aastar/paymaster/functions/checkEligibility.md +0 -28
- package/docs/api/@aastar/paymaster/functions/getPaymasterV4Middleware.md +0 -32
- package/docs/api/@aastar/paymaster/functions/getSuperPaymasterMiddleware.md +0 -32
- package/docs/api/@aastar/paymaster/type-aliases/PaymasterConfig.md +0 -35
- package/docs/api/@aastar/paymaster/type-aliases/PaymasterV4MiddlewareConfig.md +0 -35
- package/docs/api/@aastar/tokens/README.md +0 -3
- package/docs/api/@aastar/tokens/classes/FinanceClient.md +0 -8653
- package/ext/permissionless.js/.changeset/README.md +0 -8
- package/ext/permissionless.js/.changeset/config.json +0 -11
- package/ext/permissionless.js/.env-example +0 -2
- package/ext/permissionless.js/.github/actions/install-dependencies/action.yml +0 -17
- package/ext/permissionless.js/.github/dependabot.yaml +0 -10
- package/ext/permissionless.js/.github/workflows/canary.yml +0 -49
- package/ext/permissionless.js/.github/workflows/on-pull-request.yml +0 -61
- package/ext/permissionless.js/.github/workflows/on-push-to-main.yml +0 -59
- package/ext/permissionless.js/.github/workflows/prune-tags.yml +0 -92
- package/ext/permissionless.js/.github/workflows/verify.yml +0 -114
- package/ext/permissionless.js/.size-limit.json +0 -13
- package/ext/permissionless.js/LICENSE +0 -21
- package/ext/permissionless.js/assets/banner.png +0 -0
- package/ext/permissionless.js/biome.json +0 -46
- package/ext/permissionless.js/bun.lock +0 -2340
- package/ext/permissionless.js/bun.lockb +0 -0
- package/ext/permissionless.js/package.json +0 -82
- package/ext/permissionless.js/packages/mock-paymaster/CHANGELOG.md +0 -31
- package/ext/permissionless.js/packages/mock-paymaster/constants.ts +0 -84
- package/ext/permissionless.js/packages/mock-paymaster/helpers/abi.ts +0 -1048
- package/ext/permissionless.js/packages/mock-paymaster/helpers/erc20-utils.ts +0 -105
- package/ext/permissionless.js/packages/mock-paymaster/helpers/schema.ts +0 -307
- package/ext/permissionless.js/packages/mock-paymaster/helpers/utils.ts +0 -78
- package/ext/permissionless.js/packages/mock-paymaster/index.ts +0 -63
- package/ext/permissionless.js/packages/mock-paymaster/package.json +0 -33
- package/ext/permissionless.js/packages/mock-paymaster/relay.ts +0 -424
- package/ext/permissionless.js/packages/mock-paymaster/setup.ts +0 -163
- package/ext/permissionless.js/packages/mock-paymaster/singletonPaymasters.ts +0 -230
- package/ext/permissionless.js/packages/permissionless/CHANGELOG.md +0 -893
- package/ext/permissionless.js/packages/permissionless/README.md +0 -122
- package/ext/permissionless.js/packages/permissionless/accounts/biconomy/abi/BiconomySmartAccountAbi.ts +0 -128
- package/ext/permissionless.js/packages/permissionless/accounts/biconomy/toBiconomySmartAccount.ts +0 -374
- package/ext/permissionless.js/packages/permissionless/accounts/decodeCalls.test.ts +0 -505
- package/ext/permissionless.js/packages/permissionless/accounts/etherspot/abi/EtherspotBootstrapAbi.ts +0 -94
- package/ext/permissionless.js/packages/permissionless/accounts/etherspot/constants.ts +0 -27
- package/ext/permissionless.js/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts +0 -369
- package/ext/permissionless.js/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts +0 -56
- package/ext/permissionless.js/packages/permissionless/accounts/etherspot/utils/getNonceKey.ts +0 -21
- package/ext/permissionless.js/packages/permissionless/accounts/etherspot/utils/wrapMessageHash.ts +0 -43
- package/ext/permissionless.js/packages/permissionless/accounts/index.ts +0 -86
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/abi/KernelAccountAbi.ts +0 -87
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/abi/KernelV3AccountAbi.ts +0 -813
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/abi/KernelV3FactoryAbi.ts +0 -12
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/abi/KernelV3MetaFactoryAbi.ts +0 -17
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/constants.ts +0 -14
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/to7702KernelSmartAccount.ts +0 -63
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/toEcdsaKernelSmartAccount.ts +0 -62
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/toKernelSmartAccount.ts +0 -984
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/decodeCallData.ts +0 -43
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/encodeCallData.ts +0 -57
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/getNonceKey.ts +0 -33
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/isKernelV2.ts +0 -6
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/isWebAuthnAccount.ts +0 -8
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/signMessage.ts +0 -115
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/signTypedData.ts +0 -97
- package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/wrapMessageHash.ts +0 -44
- package/ext/permissionless.js/packages/permissionless/accounts/light/toLightSmartAccount.ts +0 -496
- package/ext/permissionless.js/packages/permissionless/accounts/nexus/toNexusSmartAccount.ts +0 -351
- package/ext/permissionless.js/packages/permissionless/accounts/safe/index.ts +0 -14
- package/ext/permissionless.js/packages/permissionless/accounts/safe/signUserOperation.test.ts +0 -275
- package/ext/permissionless.js/packages/permissionless/accounts/safe/signUserOperation.ts +0 -316
- package/ext/permissionless.js/packages/permissionless/accounts/safe/toSafeSmartAccount.ts +0 -1980
- package/ext/permissionless.js/packages/permissionless/accounts/simple/to7702SimpleSmartAccount.ts +0 -51
- package/ext/permissionless.js/packages/permissionless/accounts/simple/toSimpleSmartAccount.ts +0 -585
- package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/toThirdwebSmartAccount.ts +0 -221
- package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/decodeCallData.ts +0 -87
- package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/encodeCallData.ts +0 -81
- package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/getAccountAddress.ts +0 -48
- package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/getFactoryData.ts +0 -40
- package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/signMessage.ts +0 -33
- package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/signTypedData.ts +0 -67
- package/ext/permissionless.js/packages/permissionless/accounts/trust/toTrustSmartAccount.ts +0 -232
- package/ext/permissionless.js/packages/permissionless/accounts/trust/utils/decodeCallData.ts +0 -87
- package/ext/permissionless.js/packages/permissionless/accounts/trust/utils/encodeCallData.ts +0 -81
- package/ext/permissionless.js/packages/permissionless/accounts/trust/utils/getFactoryData.ts +0 -51
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/accountId.test.ts +0 -39
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/accountId.ts +0 -93
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/installModule.test.ts +0 -216
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/installModule.ts +0 -99
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/installModules.test.ts +0 -237
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/installModules.ts +0 -96
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/isModuleInstalled.test.ts +0 -72
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/isModuleInstalled.ts +0 -132
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/supportsExecutionMode.test.ts +0 -108
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/supportsExecutionMode.ts +0 -158
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/supportsModule.test.ts +0 -35
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/supportsModule.ts +0 -120
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/uninstallModule.test.ts +0 -129
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/uninstallModule.ts +0 -98
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/uninstallModules.test.ts +0 -117
- package/ext/permissionless.js/packages/permissionless/actions/erc7579/uninstallModules.ts +0 -87
- package/ext/permissionless.js/packages/permissionless/actions/erc7579.ts +0 -103
- package/ext/permissionless.js/packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts +0 -32
- package/ext/permissionless.js/packages/permissionless/actions/etherspot.ts +0 -4
- package/ext/permissionless.js/packages/permissionless/actions/index.ts +0 -9
- package/ext/permissionless.js/packages/permissionless/actions/package.json +0 -6
- package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/getCredentials.ts +0 -47
- package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/startAuthentication.ts +0 -39
- package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/startRegistration.ts +0 -126
- package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/verifyAuthentication.ts +0 -142
- package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/verifyRegistration.ts +0 -132
- package/ext/permissionless.js/packages/permissionless/actions/passkeyServer.ts +0 -17
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/estimateErc20PaymasterCost.ts +0 -102
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/getTokenQuotes.test.ts +0 -90
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/getTokenQuotes.ts +0 -77
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/getUserOperationGasPrice.test.ts +0 -82
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/getUserOperationGasPrice.ts +0 -67
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/getUserOperationStatus.test.ts +0 -199
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/getUserOperationStatus.ts +0 -49
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/sendCompressedUserOperation.ts +0 -59
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/sponsorUserOperation.test.ts +0 -236
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/sponsorUserOperation.ts +0 -151
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/validateSponsorshipPolicies.test.ts +0 -153
- package/ext/permissionless.js/packages/permissionless/actions/pimlico/validateSponsorshipPolicies.ts +0 -74
- package/ext/permissionless.js/packages/permissionless/actions/pimlico.ts +0 -38
- package/ext/permissionless.js/packages/permissionless/actions/public/getAccountNonce.test.ts +0 -96
- package/ext/permissionless.js/packages/permissionless/actions/public/getAccountNonce.ts +0 -75
- package/ext/permissionless.js/packages/permissionless/actions/public/getSenderAddress.test.ts +0 -154
- package/ext/permissionless.js/packages/permissionless/actions/public/getSenderAddress.ts +0 -129
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/getCallsStatus.test.ts +0 -255
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/getCallsStatus.ts +0 -91
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/sendCalls.test.ts +0 -571
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/sendCalls.ts +0 -38
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/sendTransaction.test.ts +0 -416
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/sendTransaction.ts +0 -133
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/signMessage.test.ts +0 -219
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/signMessage.ts +0 -73
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/signTypedData.test.ts +0 -228
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/signTypedData.ts +0 -157
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount/writeContract.ts +0 -70
- package/ext/permissionless.js/packages/permissionless/actions/smartAccount.ts +0 -7
- package/ext/permissionless.js/packages/permissionless/clients/createSmartAccountClient.ts +0 -181
- package/ext/permissionless.js/packages/permissionless/clients/decorators/passkeyServer.ts +0 -57
- package/ext/permissionless.js/packages/permissionless/clients/decorators/pimlico.ts +0 -189
- package/ext/permissionless.js/packages/permissionless/clients/decorators/smartAccount.ts +0 -350
- package/ext/permissionless.js/packages/permissionless/clients/index.ts +0 -2
- package/ext/permissionless.js/packages/permissionless/clients/passkeyServer.ts +0 -69
- package/ext/permissionless.js/packages/permissionless/clients/pimlico.ts +0 -124
- package/ext/permissionless.js/packages/permissionless/errors/index.ts +0 -17
- package/ext/permissionless.js/packages/permissionless/experimental/pimlico/index.ts +0 -1
- package/ext/permissionless.js/packages/permissionless/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.test.ts +0 -523
- package/ext/permissionless.js/packages/permissionless/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts +0 -369
- package/ext/permissionless.js/packages/permissionless/index.ts +0 -3
- package/ext/permissionless.js/packages/permissionless/package.json +0 -102
- package/ext/permissionless.js/packages/permissionless/types/etherspot.ts +0 -12
- package/ext/permissionless.js/packages/permissionless/types/package.json +0 -6
- package/ext/permissionless.js/packages/permissionless/types/passkeyServer.ts +0 -125
- package/ext/permissionless.js/packages/permissionless/types/pimlico.ts +0 -151
- package/ext/permissionless.js/packages/permissionless/utils/decode7579Calls.ts +0 -133
- package/ext/permissionless.js/packages/permissionless/utils/decodeNonce.test.ts +0 -40
- package/ext/permissionless.js/packages/permissionless/utils/decodeNonce.ts +0 -10
- package/ext/permissionless.js/packages/permissionless/utils/deepHexlify.test.ts +0 -57
- package/ext/permissionless.js/packages/permissionless/utils/deepHexlify.ts +0 -35
- package/ext/permissionless.js/packages/permissionless/utils/encode7579Calls.test.ts +0 -69
- package/ext/permissionless.js/packages/permissionless/utils/encode7579Calls.ts +0 -114
- package/ext/permissionless.js/packages/permissionless/utils/encodeInstallModule.ts +0 -91
- package/ext/permissionless.js/packages/permissionless/utils/encodeNonce.test.ts +0 -38
- package/ext/permissionless.js/packages/permissionless/utils/encodeNonce.ts +0 -8
- package/ext/permissionless.js/packages/permissionless/utils/encodeUninstallModule.ts +0 -88
- package/ext/permissionless.js/packages/permissionless/utils/erc20AllowanceOverride.test.ts +0 -59
- package/ext/permissionless.js/packages/permissionless/utils/erc20AllowanceOverride.ts +0 -66
- package/ext/permissionless.js/packages/permissionless/utils/erc20BalanceOverride.test.ts +0 -57
- package/ext/permissionless.js/packages/permissionless/utils/erc20BalanceOverride.ts +0 -49
- package/ext/permissionless.js/packages/permissionless/utils/getAddressFromInitCodeOrPaymasterAndData.test.ts +0 -31
- package/ext/permissionless.js/packages/permissionless/utils/getAddressFromInitCodeOrPaymasterAndData.ts +0 -13
- package/ext/permissionless.js/packages/permissionless/utils/getEstimationCallData.ts +0 -297
- package/ext/permissionless.js/packages/permissionless/utils/getPackedUserOperation.test.ts +0 -204
- package/ext/permissionless.js/packages/permissionless/utils/getPackedUserOperation.ts +0 -122
- package/ext/permissionless.js/packages/permissionless/utils/getRequiredPrefund.test.ts +0 -90
- package/ext/permissionless.js/packages/permissionless/utils/getRequiredPrefund.ts +0 -56
- package/ext/permissionless.js/packages/permissionless/utils/index.ts +0 -43
- package/ext/permissionless.js/packages/permissionless/utils/isSmartAccountDeployed.ts +0 -13
- package/ext/permissionless.js/packages/permissionless/utils/ox.ts +0 -48
- package/ext/permissionless.js/packages/permissionless/utils/toOwner.ts +0 -89
- package/ext/permissionless.js/packages/permissionless/vitest.config.ts +0 -31
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/biconomy.ts +0 -22
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/etherspot.ts +0 -12
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/kernel.ts +0 -63
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/light.ts +0 -10
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/nexus.ts +0 -16
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/safe.ts +0 -75
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/simple.ts +0 -16
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/thirdweb.ts +0 -7
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/trust.ts +0 -26
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/core.ts +0 -24
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/index.ts +0 -10
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/index.ts +0 -783
- package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/instance.ts +0 -290
- package/ext/permissionless.js/packages/permissionless-test/src/testWithRpc.ts +0 -128
- package/ext/permissionless.js/packages/permissionless-test/src/types.ts +0 -12
- package/ext/permissionless.js/packages/permissionless-test/src/utils.ts +0 -1091
- package/ext/permissionless.js/packages/wagmi/CHANGELOG.md +0 -53
- package/ext/permissionless.js/packages/wagmi/README.md +0 -93
- package/ext/permissionless.js/packages/wagmi/context.ts +0 -22
- package/ext/permissionless.js/packages/wagmi/hooks/useAvailableCapabilities.ts +0 -43
- package/ext/permissionless.js/packages/wagmi/hooks/useSendTransaction.ts +0 -164
- package/ext/permissionless.js/packages/wagmi/hooks/useWaitForTransactionReceipt.ts +0 -427
- package/ext/permissionless.js/packages/wagmi/index.ts +0 -15
- package/ext/permissionless.js/packages/wagmi/package.json +0 -26
- package/ext/permissionless.js/packages/wagmi/utils/observe.ts +0 -76
- package/ext/permissionless.js/packages/wagmi-demo/README.md +0 -1
- package/ext/permissionless.js/packages/wagmi-demo/biome.json +0 -13
- package/ext/permissionless.js/packages/wagmi-demo/index.html +0 -12
- package/ext/permissionless.js/packages/wagmi-demo/package.json +0 -16
- package/ext/permissionless.js/packages/wagmi-demo/src/App.tsx +0 -98
- package/ext/permissionless.js/packages/wagmi-demo/src/PasskeyServerDemo.tsx +0 -286
- package/ext/permissionless.js/packages/wagmi-demo/src/PasskeysDemo.tsx +0 -457
- package/ext/permissionless.js/packages/wagmi-demo/src/index.css +0 -21
- package/ext/permissionless.js/packages/wagmi-demo/src/main.tsx +0 -275
- package/ext/permissionless.js/packages/wagmi-demo/src/vite-env.d.ts +0 -1
- package/ext/permissionless.js/packages/wagmi-demo/src/wagmi.ts +0 -33
- package/ext/permissionless.js/packages/wagmi-demo/tsconfig.json +0 -25
- package/ext/permissionless.js/packages/wagmi-demo/tsconfig.node.json +0 -12
- package/ext/permissionless.js/packages/wagmi-demo/vite.config.ts +0 -7
- package/ext/permissionless.js/tsconfig/tsconfig.base.json +0 -42
- package/ext/permissionless.js/tsconfig/tsconfig.mock-paymaster.cjs.json +0 -11
- package/ext/permissionless.js/tsconfig/tsconfig.mock-paymaster.esm.json +0 -9
- package/ext/permissionless.js/tsconfig/tsconfig.mock-paymaster.json +0 -17
- package/ext/permissionless.js/tsconfig/tsconfig.mock-paymaster.types.json +0 -13
- package/ext/permissionless.js/tsconfig/tsconfig.permissionless.cjs.json +0 -11
- package/ext/permissionless.js/tsconfig/tsconfig.permissionless.esm.json +0 -9
- package/ext/permissionless.js/tsconfig/tsconfig.permissionless.json +0 -18
- package/ext/permissionless.js/tsconfig/tsconfig.permissionless.types.json +0 -13
- package/ext/permissionless.js/tsconfig/tsconfig.wagmi.esm.json +0 -8
- package/ext/permissionless.js/tsconfig/tsconfig.wagmi.json +0 -19
- package/ext/permissionless.js/tsconfig/tsconfig.wagmi.types.json +0 -12
- package/packages/community/package.json +0 -22
- package/packages/community/src/index.ts +0 -306
- package/packages/community/tsconfig.json +0 -8
- package/packages/core/src/abis/PaymasterV4_2.json +0 -1183
- package/packages/core/src/abis/aPNTs.json +0 -1173
- package/packages/core/src/contract-versions.ts +0 -374
- package/packages/enduser/package.json +0 -21
- package/packages/enduser/src/index.ts +0 -138
- package/packages/enduser/tsconfig.json +0 -8
- package/packages/operator/package.json +0 -21
- package/packages/operator/src/index.ts +0 -172
- package/packages/operator/tsconfig.json +0 -8
- package/run_full_regression.sh +0 -215
- package/scripts/validate_environment.ts +0 -140
- /package/{extract_addresses_to_env.sh → scripts/dev_tools/extract_addresses_to_env.sh} +0 -0
- /package/{final_safe_harmonize.py → scripts/dev_tools/final_safe_harmonize.py} +0 -0
- /package/{safe_harmonize.py → scripts/dev_tools/safe_harmonize.py} +0 -0
- /package/{surgical_harmonize.py → scripts/dev_tools/surgical_harmonize.py} +0 -0
package/docs/API_REFERENCE.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
****# AAStar SDK API Documentation
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
5
|
AAStar SDK is a comprehensive TypeScript SDK for interacting with the AAStar Public Goods Infrastructure and create Your Own Protocol (YOP), providing Account Abstraction (ERC-4337) capabilities with advanced features like gasless SuperPaymaster(AOA+), EOA RainBow Bridge and community management, and reputation systems.
|
|
6
6
|
|
|
7
|
-
**Version**: 0.
|
|
7
|
+
**Version**: 0.16.4
|
|
8
8
|
**License**: MIT
|
|
9
9
|
**Repository**: [AAStarCommunity/aastar-sdk](https://github.com/AAStarCommunity/aastar-sdk)
|
|
10
10
|
|
|
@@ -14,13 +14,14 @@ AAStar SDK is a comprehensive TypeScript SDK for interacting with the AAStar Pub
|
|
|
14
14
|
|
|
15
15
|
1. [Installation](#installation)
|
|
16
16
|
2. [Quick Start](#quick-start)
|
|
17
|
-
3. [
|
|
18
|
-
4. [
|
|
19
|
-
5. [
|
|
20
|
-
6. [
|
|
21
|
-
7. [
|
|
22
|
-
8. [
|
|
23
|
-
9. [
|
|
17
|
+
3. [Error Handling - AAStarError](#error-handling---aastarerror)
|
|
18
|
+
4. [Core Module](#core-module)
|
|
19
|
+
5. [Account Module](#account-module)
|
|
20
|
+
6. [Paymaster Module](#paymaster-module)
|
|
21
|
+
7. [Tokens Module](#tokens-module)
|
|
22
|
+
8. [Identity Module](#identity-module)
|
|
23
|
+
9. [DApp Module](#dapp-module)
|
|
24
|
+
10. [Complete Examples](#complete-examples)
|
|
24
25
|
|
|
25
26
|
---
|
|
26
27
|
|
|
@@ -32,6 +33,15 @@ pnpm add @aastar/sdk
|
|
|
32
33
|
pnpm add @aastar/core @aastar/account @aastar/paymaster
|
|
33
34
|
```
|
|
34
35
|
|
|
36
|
+
### Development & Maintenance
|
|
37
|
+
```bash
|
|
38
|
+
# Audit ABI alignment with contracts
|
|
39
|
+
pnpm run audit:abi
|
|
40
|
+
|
|
41
|
+
# Generate code coverage report
|
|
42
|
+
pnpm run test:coverage
|
|
43
|
+
```
|
|
44
|
+
|
|
35
45
|
---
|
|
36
46
|
|
|
37
47
|
## Quick Start
|
|
@@ -55,6 +65,156 @@ const stakeTx = await operatorClient.stake({
|
|
|
55
65
|
|
|
56
66
|
---
|
|
57
67
|
|
|
68
|
+
## Error Handling - AAStarError
|
|
69
|
+
|
|
70
|
+
### Overview
|
|
71
|
+
|
|
72
|
+
All SDK clients throw `AAStarError` for better error handling and debugging. `AAStarError` provides structured error information with error codes, messages, and optional details.
|
|
73
|
+
|
|
74
|
+
### AAStarErrorCode Enum
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
export enum AAStarErrorCode {
|
|
78
|
+
VALIDATION_ERROR = 'VALIDATION_ERROR', // Invalid input parameters
|
|
79
|
+
CONTRACT_ERROR = 'CONTRACT_ERROR', // Smart contract execution failed
|
|
80
|
+
NETWORK_ERROR = 'NETWORK_ERROR', // RPC or network issues
|
|
81
|
+
CONFIGURATION_ERROR = 'CONFIGURATION_ERROR', // Missing or invalid configuration
|
|
82
|
+
UNKNOWN_ERROR = 'UNKNOWN_ERROR', // Unclassified errors
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### AAStarError Class
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
class AAStarError extends Error {
|
|
90
|
+
code: AAStarErrorCode;
|
|
91
|
+
details?: any;
|
|
92
|
+
|
|
93
|
+
constructor(message: string, code: AAStarErrorCode, details?: any);
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Usage Example
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
import { createEndUserClient, AAStarError, AAStarErrorCode } from '@aastar/sdk';
|
|
101
|
+
|
|
102
|
+
try {
|
|
103
|
+
await client.executeGasless({
|
|
104
|
+
to: '0xinvalid', // Invalid address
|
|
105
|
+
value: 1000n,
|
|
106
|
+
});
|
|
107
|
+
} catch (error) {
|
|
108
|
+
if (error instanceof AAStarError) {
|
|
109
|
+
switch (error.code) {
|
|
110
|
+
case AAStarErrorCode.VALIDATION_ERROR:
|
|
111
|
+
console.error(`Validation failed: ${error.message}`);
|
|
112
|
+
console.error(`Details:`, error.details);
|
|
113
|
+
break;
|
|
114
|
+
case AAStarErrorCode.CONTRACT_ERROR:
|
|
115
|
+
console.error(`Contract execution failed: ${error.message}`);
|
|
116
|
+
break;
|
|
117
|
+
case AAStarErrorCode.NETWORK_ERROR:
|
|
118
|
+
console.error(`Network error: ${error.message}`);
|
|
119
|
+
// Retry logic here
|
|
120
|
+
break;
|
|
121
|
+
case AAStarErrorCode.CONFIGURATION_ERROR:
|
|
122
|
+
console.error(`Configuration error: ${error.message}`);
|
|
123
|
+
break;
|
|
124
|
+
default:
|
|
125
|
+
console.error(`Unknown error: ${error.message}`);
|
|
126
|
+
}
|
|
127
|
+
} else {
|
|
128
|
+
// Handle non-AAStarError exceptions
|
|
129
|
+
console.error('Unexpected error:', error);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Error Code Reference
|
|
135
|
+
|
|
136
|
+
| Error Code | Description | Common Causes | Recommended Action |
|
|
137
|
+
|------------|-------------|---------------|-------------------|
|
|
138
|
+
| `VALIDATION_ERROR` | Invalid input parameters | Invalid address format, negative amounts, missing required fields | Validate inputs before calling SDK methods |
|
|
139
|
+
| `CONTRACT_ERROR` | Smart contract execution failed | Insufficient gas, reverted transaction, access denied | Check contract state, user permissions, and gas limits |
|
|
140
|
+
| `NETWORK_ERROR` | RPC or network communication failed | Timeout, connection refused, invalid RPC endpoint | Retry with exponential backoff, check network status |
|
|
141
|
+
| `CONFIGURATION_ERROR` | SDK configuration is invalid | Missing contract addresses, invalid network configuration | Verify SDK initialization parameters |
|
|
142
|
+
| `UNKNOWN_ERROR` | Unclassified error | Unexpected runtime errors | Report to SDK maintainers with error details |
|
|
143
|
+
|
|
144
|
+
### Best Practices
|
|
145
|
+
|
|
146
|
+
#### 1. Always Check Error Type
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
try {
|
|
150
|
+
await sdkMethod();
|
|
151
|
+
} catch (error) {
|
|
152
|
+
if (error instanceof AAStarError) {
|
|
153
|
+
// Handle AAStarError
|
|
154
|
+
} else {
|
|
155
|
+
// Handle other errors
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
#### 2. Use Error Details for Debugging
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
catch (error) {
|
|
164
|
+
if (error instanceof AAStarError) {
|
|
165
|
+
console.error({
|
|
166
|
+
code: error.code,
|
|
167
|
+
message: error.message,
|
|
168
|
+
details: error.details, // Additional context
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
####3. Implement Retry Logic for Network Errors
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
async function withRetry(fn: () => Promise<any>, maxRetries = 3) {
|
|
178
|
+
for (let i = 0; i < maxRetries; i++) {
|
|
179
|
+
try {
|
|
180
|
+
return await fn();
|
|
181
|
+
} catch (error) {
|
|
182
|
+
if (error instanceof AAStarError &&
|
|
183
|
+
error.code === AAStarErrorCode.NETWORK_ERROR &&
|
|
184
|
+
i < maxRetries - 1) {
|
|
185
|
+
await new Promise(resolve => setTimeout(resolve, 1000 * Math.pow(2, i)));
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
throw error;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// Usage
|
|
194
|
+
await withRetry(() => client.executeGasless({...}));
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
#### 4. Provide User-Friendly Messages
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
function getUserFriendlyMessage(error: AAStarError): string {
|
|
201
|
+
switch (error.code) {
|
|
202
|
+
case AAStarErrorCode.VALIDATION_ERROR:
|
|
203
|
+
return 'Please check your input and try again.';
|
|
204
|
+
case AAStarErrorCode.CONTRACT_ERROR:
|
|
205
|
+
return 'Transaction failed. Please try again later.';
|
|
206
|
+
case AAStarErrorCode.NETWORK_ERROR:
|
|
207
|
+
return 'Network connection issue. Please check your internet.';
|
|
208
|
+
case AAStarErrorCode.CONFIGURATION_ERROR:
|
|
209
|
+
return 'SDK configuration error. Please contact support.';
|
|
210
|
+
default:
|
|
211
|
+
return 'An unexpected error occurred. Please try again.';
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
58
218
|
## Core Module
|
|
59
219
|
|
|
60
220
|
### `@aastar/core`
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# SDK & Contract Repository Configuration Sync
|
|
2
|
+
|
|
3
|
+
This document outlines the synchronization mechanism between the `SuperPaymaster` (Contracts) repository and the `aastar-sdk`.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The SDK relies on two artifacts from the contract repository:
|
|
8
|
+
1. **ABIs**: JSON files defining the contract interfaces.
|
|
9
|
+
2. **Configuration**: JSON files defining deployed contract addresses and source code verification hashes.
|
|
10
|
+
|
|
11
|
+
## Sync Workflow
|
|
12
|
+
|
|
13
|
+
The synchronization is automated via the `run_sdk_complete_regression.sh` script (and standalone `sync_to_sdk.sh` in SuperPaymaster).
|
|
14
|
+
|
|
15
|
+
### 1. Artifact Generation (SuperPaymaster Side)
|
|
16
|
+
* **ABIs**: `forge build` generates artifacts. `extract_v3_abis.sh` extracts verified ABIs to `abis/*.json`.
|
|
17
|
+
* **Config**: Deployment scripts (e.g., `DeployAnvil.s.sol`) generate `deployments/config.{network}.json`. This file includes:
|
|
18
|
+
* Contract Addresses (Registry, SuperPaymaster, etc.)
|
|
19
|
+
* `srcHash`: SHA-256 hash of the `contracts/src` directory for integrity checks.
|
|
20
|
+
|
|
21
|
+
### 2. Synchronization Bridge
|
|
22
|
+
Artifacts are copied to the SDK:
|
|
23
|
+
* `abis/*.json` -> `packages/core/src/abis/`
|
|
24
|
+
* `deployments/config.{network}.json` -> `config.{network}.json` (SDK Root)
|
|
25
|
+
|
|
26
|
+
### 3. SDK Abstraction Layer (`constants.ts`)
|
|
27
|
+
The SDK avoids hardcoding addresses or reading JSON files directly in business logic.
|
|
28
|
+
* **File**: `packages/core/src/constants.ts`
|
|
29
|
+
* **Mechanism**:
|
|
30
|
+
* Reads `process.env.NETWORK` (default: 'anvil').
|
|
31
|
+
* Dynamically loads `config.{network}.json`.
|
|
32
|
+
* Exports constants like `REGISTRY_ADDRESS`, `SUPER_PAYMASTER_ADDRESS`.
|
|
33
|
+
* **Legacy Support**: `contract-addresses.ts` has been refactored to consume `constants.ts`, ensuring backward compatibility.
|
|
34
|
+
|
|
35
|
+
## Verification (`verify_onchain_milestone.ts`)
|
|
36
|
+
|
|
37
|
+
A verification script (`scripts/verify_onchain_milestone.ts`) ensures the SDK is in sync with the chain:
|
|
38
|
+
1. Loads `config.{network}.json` via `constants.ts`.
|
|
39
|
+
2. Verifies `srcHash` existence.
|
|
40
|
+
3. Checks on-chain code presence for all critical contracts using `viem`.
|
|
41
|
+
|
|
42
|
+
## Usage
|
|
43
|
+
|
|
44
|
+
To run the full regression with sync and verification:
|
|
45
|
+
```bash
|
|
46
|
+
./run_sdk_complete_regression.sh --env anvil
|
|
47
|
+
```
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
# Demo 重构计划
|
|
2
|
+
|
|
3
|
+
## 项目目标
|
|
4
|
+
创建一个基于 SDK 高层 API (99%) 的交互式演示系统,提供清晰的左右分栏界面,展示 AAStar 生态系统的完整生命周期。
|
|
5
|
+
|
|
6
|
+
## UI/UX 架构设计
|
|
7
|
+
|
|
8
|
+
### 界面布局
|
|
9
|
+
```
|
|
10
|
+
┌─────────────────────────────────────────────────────────┐
|
|
11
|
+
│ AAStar Demo │
|
|
12
|
+
├──────────────┬──────────────────────────────────────────┤
|
|
13
|
+
│ │ │
|
|
14
|
+
│ 左侧导航栏 │ 右侧内容区域 │
|
|
15
|
+
│ │ │
|
|
16
|
+
│ ┌────────┐ │ ┌─────────────────────────────────────┐ │
|
|
17
|
+
│ │ Step 1 │ │ │ │ │
|
|
18
|
+
│ │Accounts│ │ │ 当前步骤的详细信息和操作界面 │ │
|
|
19
|
+
│ └────────┘ │ │ │ │
|
|
20
|
+
│ ┌────────┐ │ │ - 显示历史记录 │ │
|
|
21
|
+
│ │ Step 2 │ │ │ - 显示当前状态 │ │
|
|
22
|
+
│ │Community│ │ │ - 提供操作按钮 │ │
|
|
23
|
+
│ └────────┘ │ │ - 实时反馈 │ │
|
|
24
|
+
│ ┌────────┐ │ │ │ │
|
|
25
|
+
│ │ Step 3 │ │ └─────────────────────────────────────┘ │
|
|
26
|
+
│ │Operator│ │ │
|
|
27
|
+
│ └────────┘ │ │
|
|
28
|
+
│ ┌────────┐ │ │
|
|
29
|
+
│ │ Step 4 │ │ │
|
|
30
|
+
│ │End User│ │ │
|
|
31
|
+
│ └────────┘ │ │
|
|
32
|
+
│ │ │
|
|
33
|
+
└──────────────┴──────────────────────────────────────────┘
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 分步骤功能设计
|
|
37
|
+
|
|
38
|
+
#### Step 1: Account Management (账户管理)
|
|
39
|
+
**右侧显示内容**
|
|
40
|
+
- 账户列表表格
|
|
41
|
+
|
|
42
|
+
| 名称 | 地址 | ETH 余额 | GToken 余额 | 操作 |
|
|
43
|
+
|---------|-------------------|----------|-------------|---------|
|
|
44
|
+
| Alice | 0xB6D3... | 0.1000 | 200.00 | [选择] |
|
|
45
|
+
| Bob | 0x2944... | 0.1000 | 200.00 | [选择] |
|
|
46
|
+
| Charlie | 0xa74f... | 0.1000 | 100.00 | [选择] |
|
|
47
|
+
|
|
48
|
+
**操作按钮**
|
|
49
|
+
- `+ 新建账户` - 生成新的 EOA 账户
|
|
50
|
+
- `刷新余额` - 更新所有账户余额
|
|
51
|
+
- `充值选中账户` - 为选中账户充值 ETH 和 GToken
|
|
52
|
+
|
|
53
|
+
**SDK API 需求**
|
|
54
|
+
- ✅ `KeyManager.generateAccount()` - 生成账户
|
|
55
|
+
- ✅ `FundingManager.fundWithETH()` - ETH 充值
|
|
56
|
+
- ✅ `FundingManager.fundWithToken()` - Token 充值
|
|
57
|
+
- 🆕 `StateValidator.getAccountBalances()` - 批量查询余额
|
|
58
|
+
|
|
59
|
+
#### Step 2: Launch Community (启动社区)
|
|
60
|
+
**右侧显示内容**
|
|
61
|
+
- 当前账户状态卡片
|
|
62
|
+
```
|
|
63
|
+
选中账户: Alice (0xB6D3...)
|
|
64
|
+
┌─────────────────────────────────────┐
|
|
65
|
+
│ 社区状态 │
|
|
66
|
+
├─────────────────────────────────────┤
|
|
67
|
+
│ ✅ 已注册 COMMUNITY 角色 │
|
|
68
|
+
│ ✅ 已部署社区 Token │
|
|
69
|
+
│ │
|
|
70
|
+
│ Token 地址: 0xb65D... │
|
|
71
|
+
│ Token 名称: DemoDAO_xxx │
|
|
72
|
+
│ 注册时间: 2024-12-29 11:37 │
|
|
73
|
+
└─────────────────────────────────────┘
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**操作流程**
|
|
77
|
+
- 如果未注册:显示 `[启动新社区]` 表单
|
|
78
|
+
- 社区名称输入框
|
|
79
|
+
- ENS 名称(可选)
|
|
80
|
+
- 描述(可选)
|
|
81
|
+
- `[确认启动]` 按钮
|
|
82
|
+
- 如果已注册:显示社区详情 + `[查看 Token 详情]`
|
|
83
|
+
|
|
84
|
+
**SDK API 需求**
|
|
85
|
+
- ✅ `CommunityClient.launch()` - 启动社区
|
|
86
|
+
- 🆕 `CommunityClient.getCommunityInfo(account)` - 查询社区信息
|
|
87
|
+
```typescript
|
|
88
|
+
{
|
|
89
|
+
hasRole: boolean;
|
|
90
|
+
tokenAddress: Address | null;
|
|
91
|
+
communityData: {
|
|
92
|
+
name: string;
|
|
93
|
+
ensName: string;
|
|
94
|
+
createdAt: number;
|
|
95
|
+
} | null;
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### Step 3: Setup Operator (运营商设置)
|
|
100
|
+
**右侧显示内容**
|
|
101
|
+
- 运营商类型选择
|
|
102
|
+
```
|
|
103
|
+
选中账户: Bob (0x2944...)
|
|
104
|
+
请选择运营商类型:
|
|
105
|
+
┌──────────────────────────────────────┐
|
|
106
|
+
│ ⭕ SuperPaymaster (推荐) │
|
|
107
|
+
│ - 跨社区共享流动性 │
|
|
108
|
+
│ - 支持多 Token 支付 │
|
|
109
|
+
│ - 需要质押 50 GToken + 存入 aPNTs │
|
|
110
|
+
└──────────────────────────────────────┘
|
|
111
|
+
┌──────────────────────────────────────┐
|
|
112
|
+
│ ⭕ Paymaster V4 (独立) │
|
|
113
|
+
│ - 社区独立部署 │
|
|
114
|
+
│ - 单一 Token 支付 │
|
|
115
|
+
│ - 需要指定 Token 和 SBT │
|
|
116
|
+
└──────────────────────────────────────┘
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
- 已注册状态显示
|
|
120
|
+
```
|
|
121
|
+
┌─────────────────────────────────────┐
|
|
122
|
+
│ SuperPaymaster 运营商 │
|
|
123
|
+
├─────────────────────────────────────┤
|
|
124
|
+
│ ✅ 已质押: 50 GToken │
|
|
125
|
+
│ ✅ 已存入: 100 aPNTs │
|
|
126
|
+
│ 📊 可用余额: 75 aPNTs │
|
|
127
|
+
│ 🏦 Treasury: 0x2944... │
|
|
128
|
+
│ 📈 Exchange Rate: 1:1 │
|
|
129
|
+
└─────────────────────────────────────┘
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**操作:**
|
|
133
|
+
- `[追加存款]` `[提取余额]` `[修改配置]`
|
|
134
|
+
|
|
135
|
+
**SDK API 需求**
|
|
136
|
+
- ✅ `OperatorClient.onboardOperator()` - 注册运营商(SuperPaymaster)
|
|
137
|
+
- ✅ `OperatorClient.deployPaymasterV4()` - 部署 Paymaster V4
|
|
138
|
+
- 🆕 `OperatorClient.getOperatorInfo(account)` - 查询运营商状态
|
|
139
|
+
```typescript
|
|
140
|
+
{
|
|
141
|
+
type: 'super' | 'v4' | null;
|
|
142
|
+
superPaymaster: {
|
|
143
|
+
isConfigured: boolean;
|
|
144
|
+
balance: bigint;
|
|
145
|
+
exchangeRate: bigint;
|
|
146
|
+
treasury: Address;
|
|
147
|
+
} | null;
|
|
148
|
+
paymasterV4: {
|
|
149
|
+
address: Address;
|
|
150
|
+
token: Address;
|
|
151
|
+
balance: bigint;
|
|
152
|
+
} | null;
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
- 🆕 `OperatorClient.depositFunds(amount)` - 追加存款
|
|
156
|
+
- 🆕 `OperatorClient.withdrawFunds(amount)` - 提取余额
|
|
157
|
+
|
|
158
|
+
#### Step 4: Onboard End User (用户入驻)
|
|
159
|
+
**右侧显示内容**
|
|
160
|
+
- 用户账户来源选择
|
|
161
|
+
```
|
|
162
|
+
选择用户账户类型:
|
|
163
|
+
┌──────────────────────────────────────┐
|
|
164
|
+
│ ⭕ 从现有 EOA 创建 │
|
|
165
|
+
│ 选择账户: [下拉列表] │
|
|
166
|
+
│ [创建 AA 账户] │
|
|
167
|
+
└──────────────────────────────────────┘
|
|
168
|
+
┌──────────────────────────────────────┐
|
|
169
|
+
│ ⭕ 生成新的 Simple Account │
|
|
170
|
+
│ 盐值: [自动生成] │
|
|
171
|
+
│ [部署新账户] │
|
|
172
|
+
└──────────────────────────────────────┘
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
- 用户状态显示
|
|
176
|
+
```
|
|
177
|
+
┌─────────────────────────────────────┐
|
|
178
|
+
│ AA Account: 0x1234... │
|
|
179
|
+
├─────────────────────────────────────┤
|
|
180
|
+
│ 📍 已部署 │
|
|
181
|
+
│ 👤 Owner: Alice (0xB6D3...) │
|
|
182
|
+
│ 💰 余额: │
|
|
183
|
+
│ - 0.05 ETH │
|
|
184
|
+
│ - 50 xPNTs (社区 Token) │
|
|
185
|
+
│ - 100 aPNTs │
|
|
186
|
+
│ │
|
|
187
|
+
│ 🎫 SBT 持有: │
|
|
188
|
+
│ - MySBT #1234 (已mint) │
|
|
189
|
+
└─────────────────────────────────────┘
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**操作:**
|
|
193
|
+
- `[充值 xPNTs]` `[Mint SBT]` `[发送 UserOp]`
|
|
194
|
+
|
|
195
|
+
**SDK API 需求**
|
|
196
|
+
- 🆕 `EndUserClient.deployAccount(owner, salt?)` - 部署 AA 账户
|
|
197
|
+
- 🆕 `EndUserClient.getAccountInfo(address)` - 查询 AA 账户信息
|
|
198
|
+
- 🆕 `EndUserClient.mintSBT(account)` - 为用户 Mint SBT
|
|
199
|
+
- 🆕 `EndUserClient.fundWithXPNTs(account, amount)` - 充值社区 Token
|
|
200
|
+
- ✅ `EndUserClient.sendUserOp()` - 发送 UserOperation
|
|
201
|
+
|
|
202
|
+
## SDK API 增强计划
|
|
203
|
+
|
|
204
|
+
### 优先级分类
|
|
205
|
+
**P0 - 立即实现(状态查询类)**
|
|
206
|
+
- `CommunityClient.getCommunityInfo(account: Address)`
|
|
207
|
+
- `OperatorClient.getOperatorInfo(account: Address)`
|
|
208
|
+
- `StateValidator.getAccountBalances(addresses: Address[])`
|
|
209
|
+
|
|
210
|
+
**P1 - 高优先级(核心功能)**
|
|
211
|
+
- `EndUserClient.deployAccount(owner: Address, salt?: bigint)`
|
|
212
|
+
- `EndUserClient.mintSBT(account: Address)`
|
|
213
|
+
- `OperatorClient.depositFunds(amount: bigint)`
|
|
214
|
+
- `OperatorClient.withdrawFunds(amount: bigint)`
|
|
215
|
+
|
|
216
|
+
**P2 - 中优先级(增强功能)**
|
|
217
|
+
- `EndUserClient.getAccountInfo(address: Address)`
|
|
218
|
+
- `EndUserClient.fundWithXPNTs(account: Address, amount: bigint)`
|
|
219
|
+
|
|
220
|
+
### 回归脚本分析
|
|
221
|
+
需要从以下脚本中提取功能:
|
|
222
|
+
|
|
223
|
+
**社区相关**
|
|
224
|
+
- ✅ `01_register_community_raw.ts` - 已提取为 `CommunityClient.launch()`
|
|
225
|
+
- 📋 `09_local_test_community_lifecycle.ts` - 社区生命周期完整流程
|
|
226
|
+
|
|
227
|
+
**运营商相关**
|
|
228
|
+
- 📋 `deploy_paymaster_v4.ts` - Paymaster V4 部署逻辑
|
|
229
|
+
- 📋 `05_test_superpaymaster.ts` - SuperPaymaster 完整设置流程
|
|
230
|
+
- Line 114-199: `setupOperator` 函数(包含配置和存款)
|
|
231
|
+
|
|
232
|
+
**用户相关**
|
|
233
|
+
- 📋 `deploy_test_accounts.ts` - AA 账户部署逻辑
|
|
234
|
+
- 📋 `03_test_standard_aa.ts` - AA 交互流程
|
|
235
|
+
|
|
236
|
+
## 实现路线图
|
|
237
|
+
|
|
238
|
+
### 阶段 1: 修复当前错误 ✅
|
|
239
|
+
- [x] 修复 account undefined 错误
|
|
240
|
+
- [x] 修复 gToken undefined 错误
|
|
241
|
+
- [x] 确保 SDK 构建成功
|
|
242
|
+
|
|
243
|
+
### 阶段 2: SDK API 增强 (1-2天)
|
|
244
|
+
- [ ] 实现 P0 状态查询 API
|
|
245
|
+
- [ ] 从回归脚本提取 `setupOperator` 的配置逻辑
|
|
246
|
+
- [ ] 从 `deploy_test_accounts.ts` 提取 AA 部署逻辑
|
|
247
|
+
- [ ] 添加单元测试
|
|
248
|
+
|
|
249
|
+
### 阶段 3: UI 重构 (2-3天)
|
|
250
|
+
- [ ] 重构 index.html 为左右分栏布局
|
|
251
|
+
- [ ] 实现 Step 1: Account Management
|
|
252
|
+
- [ ] 实现 Step 2: Launch Community(状态查询 + 操作)
|
|
253
|
+
- [ ] 实现 Step 3: Setup Operator(类型选择 + 状态查询)
|
|
254
|
+
- [ ] 实现 Step 4: Onboard End User
|
|
255
|
+
|
|
256
|
+
### 阶段 4: 集成测试 (1天)
|
|
257
|
+
- [ ] 端到端流程测试
|
|
258
|
+
- [ ] 性能优化
|
|
259
|
+
- [ ] 错误处理完善
|
|
260
|
+
|
|
261
|
+
## 技术细节
|
|
262
|
+
|
|
263
|
+
### 前端状态管理
|
|
264
|
+
```javascript
|
|
265
|
+
const demoState = {
|
|
266
|
+
selectedAccount: null, // 当前选中的账户
|
|
267
|
+
currentStep: 1, // 当前步骤
|
|
268
|
+
accounts: [], // 账户列表
|
|
269
|
+
communityInfo: {}, // 社区信息缓存
|
|
270
|
+
operatorInfo: {}, // 运营商信息缓存
|
|
271
|
+
aaAccounts: [] // AA 账户列表
|
|
272
|
+
};
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### API 响应格式规范
|
|
276
|
+
所有 SDK API 应返回统一格式:
|
|
277
|
+
```typescript
|
|
278
|
+
interface SDKResponse<T> {
|
|
279
|
+
success: boolean;
|
|
280
|
+
data?: T;
|
|
281
|
+
error?: string;
|
|
282
|
+
txHashes?: Hash[];
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## 下一步行动
|
|
287
|
+
- ✅ 立即修复: 修复 operator 设置中的地址问题
|
|
288
|
+
- 📝 规划审查: 用户审查本计划,提供反馈
|
|
289
|
+
- 🔨 开始实施: 按阶段实施
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# .env.sepolia Configuration Update
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
Cleaned and updated `.env.sepolia` with latest Sepolia deployment addresses from `SuperPaymaster/script/v3/config/deployed.json`.
|
|
5
|
+
|
|
6
|
+
## Key Changes
|
|
7
|
+
|
|
8
|
+
### Removed Duplicates
|
|
9
|
+
- Removed old/duplicate contract addresses (e.g., multiple GTOKEN_ADDRESS entries)
|
|
10
|
+
- Consolidated to single source of truth
|
|
11
|
+
|
|
12
|
+
### Latest Contract Addresses
|
|
13
|
+
|
|
14
|
+
#### Paymaster Contracts
|
|
15
|
+
- **PaymasterV4 Proxy**: `0x0F9019Dd30C7Cc5774d4883fba933aA0Caba9424`
|
|
16
|
+
- **PaymasterV4 Implementation**: `0x720472c8ce72c2A2D711333e064ABD3E6BbEAdd3`
|
|
17
|
+
- **SuperPaymaster**: `0x86A2EE8FAf9A840F7a2c64CA3d51209F9A02081D`
|
|
18
|
+
- **Paymaster Factory**: `0x5c74c94173F05dA1720953407cbb920F3DF9f887`
|
|
19
|
+
|
|
20
|
+
#### Core Contracts
|
|
21
|
+
- **GToken**: `0xfbC22278A96299D91d41C453234d97b4F5Eb9B2d`
|
|
22
|
+
- **Staking**: `0xC9a43158891282A2B1475592D5719c001986Aaec`
|
|
23
|
+
- **Registry**: `0x367761085BF3C12e5DA2Df99AC6E1a824612b8fb`
|
|
24
|
+
- **MySBT**: `0x1c85638e118b37167e9298c2268758e058DdfDA0`
|
|
25
|
+
- **ReputationSystem**: `0xCace1b78160AE76398F486c8a18044da0d66d86D`
|
|
26
|
+
|
|
27
|
+
#### Token Contracts
|
|
28
|
+
- **aPNTs**: `0x49fd2BE640DB2910c2fAb69bB8531Ab6E76127ff`
|
|
29
|
+
- **xPNTs Factory**: `0xA4899D35897033b927acFCf422bc745916139776`
|
|
30
|
+
|
|
31
|
+
#### EntryPoint & Validators
|
|
32
|
+
- **EntryPoint V0.7**: `0x2B0d36FACD61B71CC05ab8F3D2355ec3631C0dd5`
|
|
33
|
+
- **BLS Aggregator**: `0xF8e31cb472bc70500f08Cd84917E5A1912Ec8397`
|
|
34
|
+
- **DVT Validator**: `0xD5ac451B0c50B9476107823Af206eD814a2e2580`
|
|
35
|
+
|
|
36
|
+
#### SimpleAccount Factory
|
|
37
|
+
- **Factory**: `0x4b6aB5F819A515382B0dEB6935D793817bB4af28`
|
|
38
|
+
|
|
39
|
+
### Test Account Configuration
|
|
40
|
+
- **TEST_SIMPLE_ACCOUNT_A**: `0x11595E52131Ffd571ce5e00C44472FBf94c99937`
|
|
41
|
+
- ✅ Has PIM tokens deposited
|
|
42
|
+
- ✅ Ready for Pimlico paymaster tests
|
|
43
|
+
- **TEST_OWNER_EOA_A**: `0xda7f83CafAe1b76Bd4446a4aB2B8e88770CfA927`
|
|
44
|
+
- **TEST_OWNER_KEY_A**: (stored in .env.sepolia)
|
|
45
|
+
|
|
46
|
+
### Bundler RPC Configuration
|
|
47
|
+
- **Primary RPC**: `SEPOLIA_RPC_URL` (Alchemy)
|
|
48
|
+
- **Bundler RPC**: `SEPOLIA_RPC_URL2` (Alchemy bundler endpoint)
|
|
49
|
+
- Used for AA UserOp submission
|
|
50
|
+
|
|
51
|
+
## For Experiment Runner
|
|
52
|
+
|
|
53
|
+
The experiment runner now uses:
|
|
54
|
+
1. **PAYMASTER_ADDRESS**: `0x0F9019Dd30C7Cc5774d4883fba933aA0Caba9424` (PaymasterV4 Proxy)
|
|
55
|
+
2. **SUPERPAYMASTER_ADDRESS**: `0x86A2EE8FAf9A840F7a2c64CA3d51209F9A02081D`
|
|
56
|
+
3. **SEPOLIA_RPC_URL2**: Alchemy bundler RPC for Groups 3 & 4
|
|
57
|
+
|
|
58
|
+
## Next Steps
|
|
59
|
+
Run the experiment runner to test all 4 groups:
|
|
60
|
+
```bash
|
|
61
|
+
pnpm tsx scripts/19_sdk_experiment_runner.ts
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Expected results:
|
|
65
|
+
- ✅ Group 1 (EOA): Should pass
|
|
66
|
+
- ✅ Group 2 (Pimlico): Should pass with PIM tokens
|
|
67
|
+
- ✅ Group 3 (AOA/PaymasterV4): Should pass with new address
|
|
68
|
+
- ✅ Group 4 (SuperPaymaster): Should pass with new address
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Faucet & Gasless Verification Plan (Sepolia)
|
|
2
|
+
|
|
3
|
+
This document outlines the systematic steps required to verify the Faucet API and SuperPaymaster gasless flow on Sepolia, mapping each step to the corresponding SDK/API capability.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
The goal is to provide a "one-click" experience for a new user to:
|
|
7
|
+
1. Receive initial ETH (for account buffer).
|
|
8
|
+
2. Receive a sponsored `ENDUSER` role (stake paid by community).
|
|
9
|
+
3. Receive gas tokens (`cPNTs`).
|
|
10
|
+
4. Execute a gasless transaction via `SuperPaymaster`.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 📋 Step-by-Step Execution Plan
|
|
15
|
+
|
|
16
|
+
### Phase 1: Infrastructure & Admin Setup
|
|
17
|
+
| Step | Action | API / Contract | Status | Rationale |
|
|
18
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
19
|
+
| 1.1 | **Supplier Funding** | `supplierWallet.sendTransaction` | ✅ DONE | Ensure Admin has ETH for stakes and gas. |
|
|
20
|
+
| 1.2 | **Community Registration** | `Registry.registerRole` (COMMUNITY) | ✅ DONE | Admin must be a Community to sponsor users. |
|
|
21
|
+
|
|
22
|
+
### Phase 2: User Preparation (Faucet API)
|
|
23
|
+
| Step | Action | API / Contract | Status | Rationale |
|
|
24
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
25
|
+
| 2.1 | **ETH Funding** | `SepoliaFaucetAPI.fundETH` | ✅ DONE | Provide seed ETH to the new AA account. |
|
|
26
|
+
| 2.2 | **Sponsored Role** | `Registry.safeMintForRole` | ✅ DONE | Admin pays 0.35 GToken stake for User. |
|
|
27
|
+
| 2.3 | **Gas Token Funding** | `ERC20.transfer` | ✅ DONE | User needs tokens to use as service credit in SuperPaymaster. |
|
|
28
|
+
|
|
29
|
+
### Phase 3: Gasless Transaction Submission
|
|
30
|
+
| Step | Action | API / Contract | Status | Rationale |
|
|
31
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
32
|
+
| 3.1 | **Account Calculation** | `AccountFactory.getAddress` (v0.7) | ⚠️ FIXING | Need correct v0.7 salt and factory address. |
|
|
33
|
+
| 3.2 | **InitCode Generation**| `SuperPaymasterClient` | ⚠️ FIXING | Factory call to deploy the AA account on first use. |
|
|
34
|
+
| 3.3 | **Gasless UserOp** | `SuperPaymasterClient.submitGaslessTransaction` | ⏳ PENDING | Submit signed UserOp to the Bundler. |
|
|
35
|
+
| 3.4 | **Final Confirmation** | `bundlerClient.waitForUserOperationReceipt` | ⏳ PENDING | Verify transaction landed on Sepolia. |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 🚫 Current Blockers & Resolution
|
|
40
|
+
|
|
41
|
+
### 1. `AA13 initCode failed or OOG`
|
|
42
|
+
- **Cause**: The script was using a v0.6 factory address logic with a v0.7 Bundler/EntryPoint.
|
|
43
|
+
- **Resolution**: I am updating `test-faucet-and-gasless.ts` to use `paymasterFactory` (0xDaC3...) from the config, which is the verified v0.7 SimpleAccountFactory.
|
|
44
|
+
|
|
45
|
+
### 2. `getAddress` Revert
|
|
46
|
+
- **Cause**: ABI mismatch in the `readContract` call.
|
|
47
|
+
- **Resolution**: Adjusting the ABI to match v0.7 `SimpleAccountFactory` (owner, salt).
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 🛠️ API Coverage Audit
|
|
52
|
+
- [x] **Registry.safeMintForRole**: Verified as the correct "Sponsor Mode" API.
|
|
53
|
+
- [x] **SepoliaFaucetAPI**: Successfully handles ETH/Token prep.
|
|
54
|
+
- [x] **SuperPaymasterClient**: Handles V4 gasless submission.
|
|
55
|
+
|
|
56
|
+
**Next Action**: Apply the v0.7 Factory fix to `test-faucet-and-gasless.ts` and run the final verification.
|