@aastar/sdk 0.16.8 → 0.16.11
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/.github/workflows/gas-analytics-daily.yml +52 -0
- package/.gitmodules +9 -0
- package/CHANGELOG.md +43 -0
- package/README.md +147 -98
- package/aastar-sdk.code-workspace +14 -0
- package/abis/BLSAggregator.json +572 -0
- package/abis/BLSValidator.json +39 -0
- package/abis/DVTValidator.json +383 -0
- package/abis/Eip7702Support.json +24 -0
- package/abis/EntryPoint.json +1379 -0
- package/abis/GToken.json +510 -0
- package/abis/GTokenStaking.json +918 -0
- package/abis/LegacyAccount.json +625 -0
- package/abis/MySBT.json +1547 -0
- package/abis/Paymaster.json +1192 -0
- package/abis/PaymasterFactory.json +637 -0
- package/abis/PaymasterV4_2.json +1193 -0
- package/abis/Registry.json +1677 -0
- package/abis/ReputationSystem.json +659 -0
- package/abis/SenderCreator.json +99 -0
- package/abis/Simple7702Account.json +395 -0
- package/abis/SimpleAccount.json +625 -0
- package/abis/SimpleAccountFactory.json +108 -0
- package/abis/SimpleAccountFactoryV08.json +87 -0
- package/abis/SimpleAccountV08.json +557 -0
- package/abis/SuperPaymaster.json +1568 -0
- package/abis/UserOperationLib.json +57 -0
- package/abis/aPNTs.json +1160 -0
- package/abis/xPNTsFactory.json +715 -0
- package/abis/xPNTsToken.json +1160 -0
- package/backup/run_sdk_regression.sh +135 -0
- package/config/networks/README.md +54 -0
- package/config/networks/mainnet.env.example +39 -0
- package/config/networks/optimism-sepolia.env.example +35 -0
- package/config/networks/optimism.env.example +36 -0
- package/config/networks/sepolia.env.example +36 -0
- package/config.anvil.json +1 -0
- package/config.sepolia.json +19 -0
- package/config.test.json +27 -0
- package/data/experiment_data.csv +36 -0
- package/data/industry_baseline_2025-12-23.json +154 -0
- package/data/industry_baseline_latest.json +154 -0
- package/docs/ABI_MAINTENANCE_PLAN.md +132 -0
- package/docs/API_REFERENCE.md +796 -0
- package/docs/Configuration_Sync.md +47 -0
- package/docs/DAO_Mining_Distribution_Plan.md +522 -0
- package/docs/DEMO_REFACTOR_PLAN.md +289 -0
- package/docs/DOCUMENTATION_PLAN.md +455 -0
- package/docs/ENV_SEPOLIA_UPDATE.md +68 -0
- package/docs/L2_BUSINESS_CLIENTS_PLAN.md +394 -0
- package/docs/L4_Manual_Test_CheatSheet.md +172 -0
- package/docs/Plan.md +266 -0
- package/docs/Regression_Testing_Guide.md +70 -0
- package/docs/Reputation-to-Credit_Mapping_Whitepaper.md +242 -0
- package/docs/SDK_ABI_COVERAGE.md +839 -0
- package/docs/SDK_COVERAGE_STRATEGY.md +397 -0
- package/docs/SDK_Optimization_Evaluation_Plan.md +51 -0
- package/docs/SDK_REGRESSION_AND_API_PLAN.md +98 -0
- package/docs/SDK_STAGE3_PLAN.md +151 -0
- package/docs/SEPOLIA_ENV_REFERENCE.md +51 -0
- package/docs/STAGE3.md +191 -0
- package/docs/Script_Comparison_Report.md +91 -0
- package/docs/Sepolia_Latest_Deployment.md +117 -0
- package/docs/TESTER_GUIDE_GASLESS.md +409 -0
- package/docs/TEST_COVERAGE_MATRIX.md +72 -0
- package/docs/TODO_SDK_COVERAGE.md +55 -0
- package/docs/USER_CASE_DESIGN.md +110 -0
- package/docs/Verifier_L4_Gasless_Plan.md +454 -0
- package/docs/api/@aastar/account/README.md +15 -0
- package/docs/api/@aastar/account/classes/UserOpClient.md +87 -0
- package/docs/api/@aastar/account/functions/createEOAWalletClient.md +21 -0
- package/docs/api/@aastar/account/functions/getUserOpHash.md +23 -0
- package/docs/api/@aastar/account/functions/packUserOpLimits.md +19 -0
- package/docs/api/@aastar/account/functions/toSimpleSmartAccount.md +83 -0
- package/docs/api/@aastar/account/type-aliases/EOAWalletClient.md +37 -0
- package/docs/api/@aastar/account/type-aliases/SimpleSmartAccount.md +39 -0
- package/docs/api/@aastar/core/README.md +211 -0
- package/docs/api/@aastar/core/classes/BLSSigner.md +147 -0
- package/docs/api/@aastar/core/classes/BaseClient.md +9657 -0
- package/docs/api/@aastar/core/classes/ContractConfigManager.md +25 -0
- package/docs/api/@aastar/core/classes/RequirementChecker.md +1837 -0
- package/docs/api/@aastar/core/classes/SepoliaFaucetAPI.md +13661 -0
- package/docs/api/@aastar/core/classes/StateValidator.md +133 -0
- package/docs/api/@aastar/core/enumerations/EntryPointVersion.md +17 -0
- package/docs/api/@aastar/core/enumerations/NodeType.md +33 -0
- package/docs/api/@aastar/core/enumerations/RolePermissionLevel.md +43 -0
- package/docs/api/@aastar/core/functions/accountActions.md +2720 -0
- package/docs/api/@aastar/core/functions/accountFactoryActions.md +2720 -0
- package/docs/api/@aastar/core/functions/aggregatorActions.md +2720 -0
- package/docs/api/@aastar/core/functions/createAAStarPublicClient.md +3105 -0
- package/docs/api/@aastar/core/functions/dvtActions.md +2720 -0
- package/docs/api/@aastar/core/functions/entryPointActions.md +2724 -0
- package/docs/api/@aastar/core/functions/gTokenActions.md +2714 -0
- package/docs/api/@aastar/core/functions/gTokenExtendedActions.md +2720 -0
- package/docs/api/@aastar/core/functions/getAddressUrl.md +32 -0
- package/docs/api/@aastar/core/functions/getAllCommunityConfigs.md +9 -0
- package/docs/api/@aastar/core/functions/getAllV2Contracts.md +20 -0
- package/docs/api/@aastar/core/functions/getBlockExplorer.md +26 -0
- package/docs/api/@aastar/core/functions/getChainId.md +26 -0
- package/docs/api/@aastar/core/functions/getCommunities.md +76 -0
- package/docs/api/@aastar/core/functions/getCommunity.md +32 -0
- package/docs/api/@aastar/core/functions/getCommunityConfig.md +15 -0
- package/docs/api/@aastar/core/functions/getContract.md +37 -0
- package/docs/api/@aastar/core/functions/getContractNetworks.md +18 -0
- package/docs/api/@aastar/core/functions/getContracts.md +194 -0
- package/docs/api/@aastar/core/functions/getCoreContracts.md +71 -0
- package/docs/api/@aastar/core/functions/getDeploymentDate.md +32 -0
- package/docs/api/@aastar/core/functions/getEntryPoint.md +25 -0
- package/docs/api/@aastar/core/functions/getNetwork.md +26 -0
- package/docs/api/@aastar/core/functions/getPaymasterV4_1.md +25 -0
- package/docs/api/@aastar/core/functions/getRoleName.md +15 -0
- package/docs/api/@aastar/core/functions/getRpcUrl.md +25 -0
- package/docs/api/@aastar/core/functions/getSimpleAccountFactory.md +25 -0
- package/docs/api/@aastar/core/functions/getSuperPaymasterV2.md +25 -0
- package/docs/api/@aastar/core/functions/getTestAccounts.md +30 -0
- package/docs/api/@aastar/core/functions/getTestTokenContracts.md +38 -0
- package/docs/api/@aastar/core/functions/getTokenContracts.md +31 -0
- package/docs/api/@aastar/core/functions/getTxUrl.md +32 -0
- package/docs/api/@aastar/core/functions/getV2ContractByAddress.md +28 -0
- package/docs/api/@aastar/core/functions/getV2ContractByName.md +28 -0
- package/docs/api/@aastar/core/functions/getV2ContractsByDate.md +26 -0
- package/docs/api/@aastar/core/functions/isContractNetworkSupported.md +27 -0
- package/docs/api/@aastar/core/functions/isRegisteredCommunity.md +15 -0
- package/docs/api/@aastar/core/functions/isV2Contract.md +27 -0
- package/docs/api/@aastar/core/functions/paymasterActions.md +2720 -0
- package/docs/api/@aastar/core/functions/paymasterFactoryActions.md +2720 -0
- package/docs/api/@aastar/core/functions/registryActions.md +2720 -0
- package/docs/api/@aastar/core/functions/reputationActions.md +2720 -0
- package/docs/api/@aastar/core/functions/sbtActions.md +2720 -0
- package/docs/api/@aastar/core/functions/stakingActions.md +2720 -0
- package/docs/api/@aastar/core/functions/superPaymasterActions.md +2720 -0
- package/docs/api/@aastar/core/functions/tokenActions.md +2714 -0
- package/docs/api/@aastar/core/functions/xPNTsFactoryActions.md +2720 -0
- package/docs/api/@aastar/core/interfaces/AccountBalance.md +41 -0
- package/docs/api/@aastar/core/interfaces/BalanceValidationParams.md +51 -0
- package/docs/api/@aastar/core/interfaces/ClientConfig.md +4841 -0
- package/docs/api/@aastar/core/interfaces/CommunityConfig.md +81 -0
- package/docs/api/@aastar/core/interfaces/ContractVersion.md +63 -0
- package/docs/api/@aastar/core/interfaces/DeploymentValidationParams.md +39 -0
- package/docs/api/@aastar/core/interfaces/RoleConfig.md +83 -0
- package/docs/api/@aastar/core/interfaces/RoleRequirement.md +43 -0
- package/docs/api/@aastar/core/interfaces/RoleValidationParams.md +55 -0
- package/docs/api/@aastar/core/interfaces/SuperPaymasterConfig.md +57 -0
- package/docs/api/@aastar/core/interfaces/TokenBalanceValidationParams.md +63 -0
- package/docs/api/@aastar/core/interfaces/TransactionOptions.md +24 -0
- package/docs/api/@aastar/core/interfaces/ValidationParams.md +25 -0
- package/docs/api/@aastar/core/interfaces/ValidationResult.md +25 -0
- package/docs/api/@aastar/core/type-aliases/AccountActions.md +151 -0
- package/docs/api/@aastar/core/type-aliases/AccountFactoryActions.md +55 -0
- package/docs/api/@aastar/core/type-aliases/AggregatorActions.md +471 -0
- package/docs/api/@aastar/core/type-aliases/BusinessResult.md +12 -0
- package/docs/api/@aastar/core/type-aliases/ContractCategory.md +5 -0
- package/docs/api/@aastar/core/type-aliases/ContractNetwork.md +5 -0
- package/docs/api/@aastar/core/type-aliases/DVTActions.md +319 -0
- package/docs/api/@aastar/core/type-aliases/EntryPointActions.md +103 -0
- package/docs/api/@aastar/core/type-aliases/GTokenExtendedActions.md +239 -0
- package/docs/api/@aastar/core/type-aliases/NetworkContracts.md +5 -0
- package/docs/api/@aastar/core/type-aliases/PaymasterActions.md +1087 -0
- package/docs/api/@aastar/core/type-aliases/PaymasterFactoryActions.md +263 -0
- package/docs/api/@aastar/core/type-aliases/RegistryActions.md +1543 -0
- package/docs/api/@aastar/core/type-aliases/ReputationActions.md +811 -0
- package/docs/api/@aastar/core/type-aliases/SBTActions.md +1199 -0
- package/docs/api/@aastar/core/type-aliases/StakingActions.md +703 -0
- package/docs/api/@aastar/core/type-aliases/SuperPaymasterActions.md +1311 -0
- package/docs/api/@aastar/core/type-aliases/SupportedNetwork.md +3 -0
- package/docs/api/@aastar/core/type-aliases/TokenActions.md +1227 -0
- package/docs/api/@aastar/core/type-aliases/XPNTsFactoryActions.md +395 -0
- package/docs/api/@aastar/core/variables/AASTAR_COMMUNITY.md +8 -0
- package/docs/api/@aastar/core/variables/ALL_ADDRESSES.md +75 -0
- package/docs/api/@aastar/core/variables/ALL_ROLES.md +5 -0
- package/docs/api/@aastar/core/variables/APNTS_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/BLSAggregatorABI.md +3 -0
- package/docs/api/@aastar/core/variables/BLSAggregatorArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/BLSHelpers.md +101 -0
- package/docs/api/@aastar/core/variables/BLSValidatorABI.md +3 -0
- package/docs/api/@aastar/core/variables/BLSValidatorArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/BLS_AGGREGATOR_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/BLS_VALIDATOR_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/BPS_DENOMINATOR.md +5 -0
- package/docs/api/@aastar/core/variables/BRANDING.md +67 -0
- package/docs/api/@aastar/core/variables/BREAD_COMMUNITY.md +8 -0
- package/docs/api/@aastar/core/variables/CHAIN_MAINNET.md +3 -0
- package/docs/api/@aastar/core/variables/CHAIN_SEPOLIA.md +5 -0
- package/docs/api/@aastar/core/variables/COMMUNITIES.md +5 -0
- package/docs/api/@aastar/core/variables/COMMUNITY_OWNERS.md +15 -0
- package/docs/api/@aastar/core/variables/CONTRACTS.md +179 -0
- package/docs/api/@aastar/core/variables/CONTRACT_METADATA.md +67 -0
- package/docs/api/@aastar/core/variables/CONTRACT_SRC_HASH.md +5 -0
- package/docs/api/@aastar/core/variables/CORE_ADDRESSES.md +51 -0
- package/docs/api/@aastar/core/variables/DEFAULT_ADMIN_ROLE.md +17 -0
- package/docs/api/@aastar/core/variables/DEFAULT_APNTS_PRICE_USD.md +5 -0
- package/docs/api/@aastar/core/variables/DEFAULT_CALL_GAS_LIMIT.md +3 -0
- package/docs/api/@aastar/core/variables/DEFAULT_GAS_TOKEN_MINT_AMOUNT.md +5 -0
- package/docs/api/@aastar/core/variables/DEFAULT_PRE_VERIFICATION_GAS.md +3 -0
- package/docs/api/@aastar/core/variables/DEFAULT_TIMEOUT_MS.md +5 -0
- package/docs/api/@aastar/core/variables/DEFAULT_TOKEN_NAME.md +3 -0
- package/docs/api/@aastar/core/variables/DEFAULT_TOKEN_SYMBOL.md +5 -0
- package/docs/api/@aastar/core/variables/DEFAULT_USDT_MINT_AMOUNT.md +5 -0
- package/docs/api/@aastar/core/variables/DEFAULT_VERIFICATION_GAS_LIMIT.md +5 -0
- package/docs/api/@aastar/core/variables/DVTValidatorABI.md +3 -0
- package/docs/api/@aastar/core/variables/DVTValidatorArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/DVT_VALIDATOR_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/ENTRY_POINT_0_8_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/ENTRY_POINT_0_9_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/ENTRY_POINT_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/EntryPointABI.md +3 -0
- package/docs/api/@aastar/core/variables/EntryPointArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/FAUCET_API_URL.md +5 -0
- package/docs/api/@aastar/core/variables/GTOKEN_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/GTOKEN_STAKING_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/GTokenABI.md +3 -0
- package/docs/api/@aastar/core/variables/GTokenArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/GTokenStakingABI.md +3 -0
- package/docs/api/@aastar/core/variables/GTokenStakingArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/INITIAL_ROLE_STAKES.md +13 -0
- package/docs/api/@aastar/core/variables/LINKS.md +33 -0
- package/docs/api/@aastar/core/variables/MAX_SERVICE_FEE.md +5 -0
- package/docs/api/@aastar/core/variables/MONITORING_ADDRESSES.md +15 -0
- package/docs/api/@aastar/core/variables/MySBTABI.md +3 -0
- package/docs/api/@aastar/core/variables/MySBTArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/NETWORKS.md +79 -0
- package/docs/api/@aastar/core/variables/NODE_STAKE_AMOUNTS.md +31 -0
- package/docs/api/@aastar/core/variables/OFFICIAL_ADDRESSES.md +11 -0
- package/docs/api/@aastar/core/variables/PAYMASTER_ADDRESSES.md +15 -0
- package/docs/api/@aastar/core/variables/PAYMASTER_FACTORY_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/PAYMASTER_V4_IMPL_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/PaymasterABI.md +3 -0
- package/docs/api/@aastar/core/variables/PaymasterArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/PaymasterFactoryABI.md +3 -0
- package/docs/api/@aastar/core/variables/PaymasterFactoryArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/PaymasterV4ABI.md +3 -0
- package/docs/api/@aastar/core/variables/PaymasterV4Artifact.md +13 -0
- package/docs/api/@aastar/core/variables/REGISTRY_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/REPUTATION_SYSTEM_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/ROLE_ANODE.md +29 -0
- package/docs/api/@aastar/core/variables/ROLE_COMMUNITY.md +29 -0
- package/docs/api/@aastar/core/variables/ROLE_DVT.md +29 -0
- package/docs/api/@aastar/core/variables/ROLE_ENDUSER.md +33 -0
- package/docs/api/@aastar/core/variables/ROLE_KMS.md +29 -0
- package/docs/api/@aastar/core/variables/ROLE_NAMES.md +3 -0
- package/docs/api/@aastar/core/variables/ROLE_PAYMASTER_AOA.md +29 -0
- package/docs/api/@aastar/core/variables/ROLE_PAYMASTER_SUPER.md +33 -0
- package/docs/api/@aastar/core/variables/ROLE_PERMISSION_LEVELS.md +3 -0
- package/docs/api/@aastar/core/variables/RegistryABI.md +3 -0
- package/docs/api/@aastar/core/variables/RegistryArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/ReputationSystemABI.md +3 -0
- package/docs/api/@aastar/core/variables/ReputationSystemArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/SBT_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/SEPOLIA_CONTRACTS.md +175 -0
- package/docs/api/@aastar/core/variables/SEPOLIA_V2_VERSIONS.md +67 -0
- package/docs/api/@aastar/core/variables/SERVICE_FEE_RATE.md +5 -0
- package/docs/api/@aastar/core/variables/SUPER_PAYMASTER_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/SimpleAccountABI.md +3 -0
- package/docs/api/@aastar/core/variables/SimpleAccountArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/SimpleAccountFactoryABI.md +3 -0
- package/docs/api/@aastar/core/variables/SimpleAccountFactoryArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/SuperPaymasterABI.md +3 -0
- package/docs/api/@aastar/core/variables/SuperPaymasterArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/TEST_ACCOUNT_ADDRESSES.md +11 -0
- package/docs/api/@aastar/core/variables/TEST_ACCOUNT_POOL_SIZE.md +5 -0
- package/docs/api/@aastar/core/variables/TEST_COMMUNITIES.md +19 -0
- package/docs/api/@aastar/core/variables/TEST_TOKEN_ADDRESSES.md +19 -0
- package/docs/api/@aastar/core/variables/TOKEN_ADDRESSES.md +11 -0
- package/docs/api/@aastar/core/variables/V2_SUMMARY.md +39 -0
- package/docs/api/@aastar/core/variables/XPNTS_FACTORY_ADDRESS.md +3 -0
- package/docs/api/@aastar/core/variables/xPNTsFactoryABI.md +3 -0
- package/docs/api/@aastar/core/variables/xPNTsFactoryArtifact.md +13 -0
- package/docs/api/@aastar/core/variables/xPNTsTokenABI.md +3 -0
- package/docs/api/@aastar/core/variables/xPNTsTokenArtifact.md +13 -0
- package/docs/api/@aastar/paymaster/README.md +23 -0
- package/docs/api/@aastar/paymaster/classes/PaymasterClient.md +388 -0
- package/docs/api/@aastar/paymaster/classes/PaymasterOperator.md +451 -0
- package/docs/api/@aastar/paymaster/classes/SuperPaymasterAdminClient.md +189 -0
- package/docs/api/@aastar/paymaster/classes/SuperPaymasterClient.md +55 -0
- package/docs/api/@aastar/paymaster/functions/buildPaymasterData.md +34 -0
- package/docs/api/@aastar/paymaster/functions/buildSuperPaymasterData.md +30 -0
- package/docs/api/@aastar/paymaster/functions/checkEligibility.md +28 -0
- package/docs/api/@aastar/paymaster/functions/formatUserOpV07.md +15 -0
- package/docs/api/@aastar/paymaster/functions/getPaymasterV4Middleware.md +32 -0
- package/docs/api/@aastar/paymaster/functions/getSuperPaymasterMiddleware.md +32 -0
- package/docs/api/@aastar/paymaster/functions/getUserOpHashV07.md +21 -0
- package/docs/api/@aastar/paymaster/type-aliases/GaslessReadinessReport.md +55 -0
- package/docs/api/@aastar/paymaster/type-aliases/GaslessTransactionConfig.md +59 -0
- package/docs/api/@aastar/paymaster/type-aliases/PaymasterConfig.md +43 -0
- package/docs/api/@aastar/paymaster/type-aliases/PaymasterV4MiddlewareConfig.md +35 -0
- package/docs/api/@aastar/tokens/README.md +3 -0
- package/docs/api/@aastar/tokens/classes/FinanceClient.md +10385 -0
- package/docs/api/README.md +6 -0
- package/docs/examples/community-flow.md +28 -0
- package/docs/examples/enduser-flow.md +24 -0
- package/docs/examples/index.md +18 -0
- package/docs/examples/multi-chain.md +31 -0
- package/docs/examples/operator-flow.md +28 -0
- package/docs/guide/CLI_GUIDE.md +65 -0
- package/docs/guide/DOCUMENTATION_PLAN.md +455 -0
- package/docs/guide/Security-solution.md +106 -0
- package/docs/guide/TEST_COMMANDS.md +320 -0
- package/docs/guide/getting-started.md +133 -0
- package/docs/guide/installation.md +40 -0
- package/docs/guide/paper-data-collection.md +69 -0
- package/docs/guide/quick-start.md +52 -0
- package/docs/guide/task_breakdown.md +121 -0
- package/docs/old-solution.md +1078 -0
- package/docs/paper-data-collection.md +69 -0
- package/docs/technical_plan.md +510 -0
- package/docs/zh/examples/community-flow.md +38 -0
- package/docs/zh/examples/complete-workflow.md +10 -0
- package/docs/zh/examples/enduser-flow.md +33 -0
- package/docs/zh/examples/index.md +18 -0
- package/docs/zh/examples/multi-chain.md +46 -0
- package/docs/zh/examples/operator-flow.md +37 -0
- package/docs/zh/guide/CLI_GUIDE.md +48 -0
- package/docs/zh/guide/DOCUMENTATION_PLAN.md +455 -0
- package/docs/zh/guide/Plan.md +266 -0
- package/docs/zh/guide/SDK_Optimization_Evaluation_Plan.md +51 -0
- package/docs/zh/guide/Security-solution.md +106 -0
- package/docs/zh/guide/TEST_COMMANDS.md +125 -0
- package/docs/zh/guide/TEST_COVERAGE_MATRIX.md +72 -0
- package/docs/zh/guide/concepts/account-abstraction.md +95 -0
- package/docs/zh/guide/concepts/rainbow-bridge.md +68 -0
- package/docs/zh/guide/concepts/reputation.md +95 -0
- package/docs/zh/guide/concepts/superpaymaster.md +141 -0
- package/docs/zh/guide/getting-started.md +133 -0
- package/docs/zh/guide/installation.md +107 -0
- package/docs/zh/guide/old-solution.md +1078 -0
- package/docs/zh/guide/paper-data-collection.md +69 -0
- package/docs/zh/guide/quick-start.md +134 -0
- package/docs/zh/guide/sdk-readme.md +253 -0
- package/docs/zh/guide/task_breakdown.md +76 -0
- package/docs/zh/guide/technical_plan.md +510 -0
- package/docs/zh/guide/use-cases/community-management.md +141 -0
- package/docs/zh/guide/use-cases/gasless-transactions.md +71 -0
- package/docs/zh/guide/use-cases/operator-staking.md +84 -0
- package/docs/zh/guide/use-cases/yop.md +72 -0
- package/env.template +30 -0
- package/examples/l1-api-demo.ts +273 -0
- package/examples/l2-clients-demo.ts +135 -0
- package/examples/l3-community-launch.ts +49 -0
- package/examples/l3-user-onboarding.ts +56 -0
- package/examples/prepare-gasless.ts +89 -0
- package/examples/sdk-demo/DEVELOPER_GUIDE.md +159 -0
- package/examples/sdk-demo/README.md +30 -0
- package/examples/sdk-demo/usage.ts +137 -0
- package/examples/simple-gasless-demo.ts +109 -0
- package/examples/simple-superpaymaster-demo.ts +96 -0
- package/ext/aastar-shared-config/.env.example +6 -0
- package/ext/aastar-shared-config/.github/workflows/check-secrets.yml +257 -0
- package/ext/aastar-shared-config/AGENTS.md +21 -0
- package/ext/aastar-shared-config/CHANGELOG.md +99 -0
- package/ext/aastar-shared-config/LICENSE +21 -0
- package/ext/aastar-shared-config/QUICK_START.md +215 -0
- package/ext/aastar-shared-config/README.md +412 -0
- package/ext/aastar-shared-config/SHARED_CONFIG_SUMMARY.md +273 -0
- package/ext/aastar-shared-config/check-locker-status.mjs +7 -0
- package/ext/aastar-shared-config/favicon.ico +0 -0
- package/ext/aastar-shared-config/generate-comparison-table.sh +67 -0
- package/ext/aastar-shared-config/package.json +46 -0
- package/ext/aastar-shared-config/pnpm-lock.yaml +1182 -0
- package/ext/aastar-shared-config/src/abis/BLSAggregator.json +1 -0
- package/ext/aastar-shared-config/src/abis/DVTValidator.json +1 -0
- package/ext/aastar-shared-config/src/abis/GToken.json +1 -0
- package/ext/aastar-shared-config/src/abis/GTokenStaking.json +1 -0
- package/ext/aastar-shared-config/src/abis/MySBT.json +1 -0
- package/ext/aastar-shared-config/src/abis/PaymasterFactory.json +1 -0
- package/ext/aastar-shared-config/src/abis/PaymasterV4.json +1098 -0
- package/ext/aastar-shared-config/src/abis/Registry.json +1 -0
- package/ext/aastar-shared-config/src/abis/SimpleAccount.json +557 -0
- package/ext/aastar-shared-config/src/abis/SimpleAccountFactory.json +87 -0
- package/ext/aastar-shared-config/src/abis/SuperPaymasterV2.json +1 -0
- package/ext/aastar-shared-config/src/abis/index.ts +45 -0
- package/ext/aastar-shared-config/src/abis/xPNTsFactory.json +1 -0
- package/ext/aastar-shared-config/src/abis/xPNTsToken.json +1 -0
- package/ext/aastar-shared-config/src/branding.ts +32 -0
- package/ext/aastar-shared-config/src/communities.ts +93 -0
- package/ext/aastar-shared-config/src/constants.ts +67 -0
- package/ext/aastar-shared-config/src/contract-addresses.ts +95 -0
- package/ext/aastar-shared-config/src/contract-versions.ts +374 -0
- package/ext/aastar-shared-config/src/contracts.ts +414 -0
- package/ext/aastar-shared-config/src/index.ts +14 -0
- package/ext/aastar-shared-config/src/networks.ts +117 -0
- package/ext/aastar-shared-config/sync-abis.sh +92 -0
- package/ext/aastar-shared-config/sync-versions.mjs +150 -0
- package/ext/aastar-shared-config/tsconfig.json +18 -0
- package/ext/aastar-shared-config/tsup.config.ts +10 -0
- package/ext/aastar-shared-config/verify-all.sh +207 -0
- package/ext/aastar-shared-config/verify-contracts.sh +85 -0
- package/ext/aastar-shared-config/verify-mysbt-v243.mjs +27 -0
- package/ext/aastar-shared-config/verify-onchain-versions.mjs +93 -0
- package/l4-setup.sh +1 -0
- package/lib/SHARED_CONFIG_REFERENCE.md +133 -0
- package/lib/shared-config/.env.example +6 -0
- package/lib/shared-config/.github/workflows/check-secrets.yml +257 -0
- package/lib/shared-config/AGENTS.md +21 -0
- package/lib/shared-config/CHANGELOG.md +99 -0
- package/lib/shared-config/LICENSE +21 -0
- package/lib/shared-config/QUICK_START.md +215 -0
- package/lib/shared-config/README.md +412 -0
- package/lib/shared-config/SHARED_CONFIG_SUMMARY.md +273 -0
- package/lib/shared-config/check-locker-status.mjs +7 -0
- package/lib/shared-config/favicon.ico +0 -0
- package/lib/shared-config/generate-comparison-table.sh +67 -0
- package/lib/shared-config/package.json +46 -0
- package/lib/shared-config/pnpm-lock.yaml +1182 -0
- package/lib/shared-config/src/abis/BLSAggregator.json +1 -0
- package/lib/shared-config/src/abis/DVTValidator.json +1 -0
- package/lib/shared-config/src/abis/GToken.json +1 -0
- package/lib/shared-config/src/abis/GTokenStaking.json +1 -0
- package/lib/shared-config/src/abis/MySBT.json +1 -0
- package/lib/shared-config/src/abis/PaymasterFactory.json +1 -0
- package/lib/shared-config/src/abis/PaymasterV4.json +1098 -0
- package/lib/shared-config/src/abis/Registry.json +1 -0
- package/lib/shared-config/src/abis/SimpleAccount.json +557 -0
- package/lib/shared-config/src/abis/SimpleAccountFactory.json +87 -0
- package/lib/shared-config/src/abis/SuperPaymasterV2.json +1 -0
- package/lib/shared-config/src/abis/index.ts +45 -0
- package/lib/shared-config/src/abis/xPNTsFactory.json +1 -0
- package/lib/shared-config/src/abis/xPNTsToken.json +1 -0
- package/lib/shared-config/src/branding.ts +32 -0
- package/lib/shared-config/src/communities.ts +93 -0
- package/lib/shared-config/src/constants.ts +67 -0
- package/lib/shared-config/src/contract-addresses.ts +95 -0
- package/lib/shared-config/src/contract-versions.ts +374 -0
- package/lib/shared-config/src/contracts.ts +414 -0
- package/lib/shared-config/src/index.ts +14 -0
- package/lib/shared-config/src/networks.ts +117 -0
- package/lib/shared-config/sync-abis.sh +92 -0
- package/lib/shared-config/sync-versions.mjs +150 -0
- package/lib/shared-config/tsconfig.json +18 -0
- package/lib/shared-config/tsup.config.ts +10 -0
- package/lib/shared-config/verify-all.sh +207 -0
- package/lib/shared-config/verify-contracts.sh +85 -0
- package/lib/shared-config/verify-mysbt-v243.mjs +27 -0
- package/lib/shared-config/verify-onchain-versions.mjs +93 -0
- package/package.json +60 -38
- package/packages/account/__tests__/index.test.ts +9 -0
- package/packages/account/node_modules/.bin/tsc +21 -0
- package/packages/account/node_modules/.bin/tsserver +21 -0
- package/packages/account/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/account/package.json +21 -0
- package/packages/account/src/accounts/simple.ts +84 -0
- package/packages/account/src/eoa.ts +31 -0
- package/packages/account/src/index.ts +61 -0
- package/packages/account/tsconfig.json +12 -0
- package/packages/analytics/README.md +68 -0
- package/packages/analytics/__tests__/index.test.ts +25 -0
- package/packages/analytics/data/attribution_dataset.csv +29 -0
- package/packages/analytics/data/complete_dataset.csv +29 -0
- package/packages/analytics/data/eth_price_cache.json +4 -0
- package/packages/analytics/data/full_dataset.csv +11 -0
- package/packages/analytics/data/full_dataset.json +134 -0
- package/packages/analytics/data/parsed_transactions.csv +29 -0
- package/packages/analytics/node_modules/.bin/tsc +21 -0
- package/packages/analytics/node_modules/.bin/tsserver +21 -0
- package/packages/analytics/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/analytics/package.json +25 -0
- package/packages/analytics/reports/full/attribution_analysis_20260119.md +42 -0
- package/packages/analytics/reports/full/attribution_analysis_fresh_20260119.md +67 -0
- package/packages/analytics/reports/full/competitive_analysis_20260119.md +103 -0
- package/packages/analytics/reports/full/comprehensive_analysis_20260119.md +107 -0
- package/packages/analytics/reports/full/comprehensive_analysis_v4_1_20260119.md +74 -0
- package/packages/analytics/reports/full/economic_audit_v4_2_20260119.md +74 -0
- package/packages/analytics/reports/full/profit_audit_v4_3_20260119.md +74 -0
- package/packages/analytics/reports/full/profit_audit_v4_4_20260119.md +74 -0
- package/packages/analytics/reports/full/profit_audit_v4_5_20260119.md +74 -0
- package/packages/analytics/reports/full/profit_audit_v4_6_20260119.md +74 -0
- package/packages/analytics/reports/full/profit_audit_v4_final_20260119.md +74 -0
- package/packages/analytics/reports/full/profit_audit_v4_final_v2_20260119.md +74 -0
- package/packages/analytics/reports/full/profit_audit_v4_final_v3_20260119.md +74 -0
- package/packages/analytics/reports/full/profit_audit_v4_final_v4_20260119.md +75 -0
- package/packages/analytics/reports/full/profit_audit_v4_final_v5_20260119.md +76 -0
- package/packages/analytics/reports/full/two_layer_analysis_20260119.md +81 -0
- package/packages/analytics/reports/full/two_layer_analysis_academic_20260119.md +81 -0
- package/packages/analytics/reports/full/two_layer_analysis_dynamic_20260119.md +81 -0
- package/packages/analytics/reports/full/two_layer_analysis_final_20260119.md +81 -0
- package/packages/analytics/reports/full/two_layer_analysis_final_fixed_20260119.md +81 -0
- package/packages/analytics/reports/full/two_layer_analysis_fixed_20260119.md +52 -0
- package/packages/analytics/reports/full/two_layer_analysis_normalized_20260119.md +81 -0
- package/packages/analytics/reports/full/tx_0xc30cfcbb.md +39 -0
- package/packages/analytics/src/analyzers/AttributionAnalyzer.ts +124 -0
- package/packages/analytics/src/analyzers/ComparisonAnalyzer.ts +89 -0
- package/packages/analytics/src/analyzers/TransactionAnalyzer.ts +111 -0
- package/packages/analytics/src/analyzers/TrendAnalyzer.ts +107 -0
- package/packages/analytics/src/cli-analyze-tx.ts +45 -0
- package/packages/analytics/src/cli.ts +39 -0
- package/packages/analytics/src/core/BenchmarkLoader.ts +163 -0
- package/packages/analytics/src/core/CostCalculator.ts +202 -0
- package/packages/analytics/src/core/DataCollector.ts +245 -0
- package/packages/analytics/src/gas-analyzer-v4.ts +118 -0
- package/packages/analytics/src/gas-analyzer.ts +184 -0
- package/packages/analytics/src/index.ts +145 -0
- package/packages/analytics/src/test-logparser.ts +63 -0
- package/packages/analytics/src/utils/EventDecoder.ts +152 -0
- package/packages/analytics/src/utils/LogParser.ts +220 -0
- package/packages/analytics/src/utils/PriceOracle.ts +117 -0
- package/packages/analytics/test/AttributionAnalyzer.test.ts +42 -0
- package/packages/analytics/test/CostCalculator.test.ts +75 -0
- package/packages/analytics/tsconfig.json +12 -0
- package/packages/community/__tests__/index.test.ts +9 -0
- package/packages/community/node_modules/.bin/tsc +21 -0
- package/packages/community/node_modules/.bin/tsserver +21 -0
- package/packages/community/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/community/package.json +27 -0
- package/packages/community/src/index.ts +326 -0
- package/packages/community/tsconfig.json +8 -0
- package/packages/core/__tests__/actions/account-comprehensive.test.ts +92 -0
- package/packages/core/__tests__/actions/aggregator.test.ts +62 -0
- package/packages/core/__tests__/actions/comprehensive-batch1.test.ts +86 -0
- package/packages/core/__tests__/actions/comprehensive-batch2.test.ts +39 -0
- package/packages/core/__tests__/actions/comprehensive-batch3.test.ts +35 -0
- package/packages/core/__tests__/actions/comprehensive-error.test.ts +115 -0
- package/packages/core/__tests__/actions/dvt.test.ts +39 -0
- package/packages/core/__tests__/actions/edge-cases.test.ts +39 -0
- package/packages/core/__tests__/actions/error-paths.test.ts +82 -0
- package/packages/core/__tests__/actions/factory.test.ts +81 -0
- package/packages/core/__tests__/actions/faucet.test.ts +131 -0
- package/packages/core/__tests__/actions/paymaster.test.ts +116 -0
- package/packages/core/__tests__/actions/registry.test.ts +81 -0
- package/packages/core/__tests__/actions/reputation.test.ts +43 -0
- package/packages/core/__tests__/actions/sbt.test.ts +145 -0
- package/packages/core/__tests__/actions/staking.test.ts +30 -0
- package/packages/core/__tests__/actions/superPaymaster.test.ts +158 -0
- package/packages/core/__tests__/actions/tokens-extended.test.ts +18 -0
- package/packages/core/__tests__/actions/tokens.test.ts +122 -0
- package/packages/core/__tests__/clients.test.ts +77 -0
- package/packages/core/__tests__/contracts-config.test.ts +69 -0
- package/packages/core/__tests__/index.test.ts +9 -0
- package/packages/core/__tests__/mocks/client.ts +40 -0
- package/packages/core/node_modules/.bin/tsc +21 -0
- package/packages/core/node_modules/.bin/tsserver +21 -0
- package/packages/core/node_modules/.bin/tsx +21 -0
- package/packages/core/node_modules/.bin/vite +21 -0
- package/packages/core/node_modules/.bin/vitest +21 -0
- package/packages/core/node_modules/.bin/yaml +21 -0
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/core/package.json +25 -0
- package/packages/core/src/abis/BLSAggregator.json +686 -0
- package/packages/core/src/abis/BLSValidator.json +42 -0
- package/packages/core/src/abis/DVTValidator.json +368 -0
- package/packages/core/src/abis/Eip7702Support.json +24 -0
- package/packages/core/src/abis/EntryPoint.json +1382 -0
- package/packages/core/src/abis/GToken.json +513 -0
- package/packages/core/src/abis/GTokenStaking.json +949 -0
- package/packages/core/src/abis/LegacyAccount.json +625 -0
- package/packages/core/src/abis/MySBT.json +1518 -0
- package/packages/core/src/abis/Paymaster.json +1143 -0
- package/packages/core/src/abis/PaymasterFactory.json +640 -0
- package/packages/core/src/abis/Registry.json +1942 -0
- package/packages/core/src/abis/ReputationSystem.json +699 -0
- package/packages/core/src/abis/SenderCreator.json +99 -0
- package/packages/core/src/abis/Simple7702Account.json +395 -0
- package/packages/core/src/abis/SimpleAccount.json +560 -0
- package/packages/core/src/abis/SimpleAccountFactory.json +111 -0
- package/packages/core/src/abis/SimpleAccountFactoryV08.json +87 -0
- package/packages/core/src/abis/SimpleAccountV08.json +557 -0
- package/packages/core/src/abis/SuperPaymaster.json +1781 -0
- package/packages/core/src/abis/UserOperationLib.json +57 -0
- package/packages/core/src/abis/aPNTs.json +1160 -0
- package/packages/core/src/abis/abi.config.json +24 -0
- package/packages/core/src/abis/index.ts +91 -0
- package/packages/core/src/abis/xPNTsFactory.json +718 -0
- package/packages/core/src/abis/xPNTsToken.json +1280 -0
- package/packages/core/src/actions/StateValidator.ts +253 -0
- package/packages/core/src/actions/account.ts +190 -0
- package/packages/core/src/actions/aggregator.ts +371 -0
- package/packages/core/src/actions/dvt.ts +269 -0
- package/packages/core/src/actions/entryPoint.ts +89 -0
- package/packages/core/src/actions/factory.ts +732 -0
- package/packages/core/src/actions/faucet.ts +280 -0
- package/packages/core/src/actions/index.ts +15 -0
- package/packages/core/src/actions/paymaster.ts +780 -0
- package/packages/core/src/actions/registry.ts +961 -0
- package/packages/core/src/actions/reputation.ts +668 -0
- package/packages/core/src/actions/sbt.ts +916 -0
- package/packages/core/src/actions/staking.ts +576 -0
- package/packages/core/src/actions/superPaymaster.ts +1093 -0
- package/packages/core/src/actions/tokens.ts +481 -0
- package/packages/core/src/branding.ts +32 -0
- package/packages/core/src/clients/BaseClient.ts +78 -0
- package/packages/core/src/clients/BundlerClient.ts +132 -0
- package/packages/core/src/clients/types.ts +69 -0
- package/packages/core/src/clients.ts +13 -0
- package/packages/core/src/communities.ts +93 -0
- package/packages/core/src/config/ContractConfigManager.ts +63 -0
- package/packages/core/src/constants.ts +114 -0
- package/packages/core/src/contract-addresses.ts +118 -0
- package/packages/core/src/contract-versions.ts +374 -0
- package/packages/core/src/contracts.ts +414 -0
- package/packages/core/src/crypto/blsSigner.ts +124 -0
- package/packages/core/src/errors/index.ts +173 -0
- package/packages/core/src/index.ts +23 -0
- package/packages/core/src/networks.ts +127 -0
- package/packages/core/src/requirementChecker.ts +225 -0
- package/packages/core/src/roles.ts +244 -0
- package/packages/core/src/utils.ts +23 -0
- package/packages/core/src/validators/index.ts +88 -0
- package/packages/core/tsconfig.json +13 -0
- package/packages/dapp/__tests__/index.test.ts +9 -0
- package/packages/dapp/node_modules/.bin/tsc +21 -0
- package/packages/dapp/node_modules/.bin/tsserver +21 -0
- package/packages/dapp/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/dapp/package.json +28 -0
- package/packages/dapp/src/index.ts +4 -0
- package/packages/dapp/src/ui/components/EvaluationPanel.tsx +40 -0
- package/packages/dapp/src/ui/hooks/useCreditScore.ts +44 -0
- package/packages/dapp/src/ui/hooks/useSuperPaymaster.ts +31 -0
- package/packages/dapp/src/ui/index.ts +22 -0
- package/packages/dapp/tsconfig.json +13 -0
- package/packages/enduser/__tests__/CommunityClient.test.ts +205 -0
- package/packages/enduser/__tests__/UserClient.test.ts +294 -0
- package/packages/enduser/__tests__/index.test.ts +16 -0
- package/packages/enduser/__tests__/mocks/client.ts +22 -0
- package/packages/enduser/node_modules/.bin/tsc +21 -0
- package/packages/enduser/node_modules/.bin/tsserver +21 -0
- package/packages/enduser/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/enduser/package.json +26 -0
- package/packages/enduser/src/CommunityClient.ts +235 -0
- package/packages/enduser/src/UserClient.ts +447 -0
- package/packages/enduser/src/index.ts +2 -0
- package/packages/enduser/src/testAccountManager.ts +374 -0
- package/packages/enduser/tsconfig.json +10 -0
- package/packages/identity/__tests__/index.test.ts +9 -0
- package/packages/identity/node_modules/.bin/tsc +21 -0
- package/packages/identity/node_modules/.bin/tsserver +21 -0
- package/packages/identity/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/identity/package.json +23 -0
- package/packages/identity/src/index.ts +114 -0
- package/packages/identity/src/mysbt.ts +48 -0
- package/packages/identity/tsconfig.json +12 -0
- package/packages/operator/__tests__/PaymasterOperatorClient.test.ts +258 -0
- package/packages/operator/__tests__/ProtocolClient.test.ts +135 -0
- package/packages/operator/__tests__/index.test.ts +16 -0
- package/packages/operator/__tests__/mocks/client.ts +22 -0
- package/packages/operator/node_modules/.bin/tsc +21 -0
- package/packages/operator/node_modules/.bin/tsserver +21 -0
- package/packages/operator/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/operator/package.json +26 -0
- package/packages/operator/src/PaymasterOperatorClient.ts +454 -0
- package/packages/operator/src/ProtocolClient.ts +154 -0
- package/packages/operator/src/index.ts +2 -0
- package/packages/operator/tsconfig.json +10 -0
- package/packages/patterns/node_modules/.bin/tsc +21 -0
- package/packages/patterns/node_modules/.bin/tsserver +21 -0
- package/packages/paymaster/__tests__/PaymasterOperator.test.ts +123 -0
- package/packages/paymaster/__tests__/index.test.ts +9 -0
- package/packages/paymaster/node_modules/.bin/tsc +21 -0
- package/packages/paymaster/node_modules/.bin/tsserver +21 -0
- package/packages/paymaster/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/paymaster/package.json +23 -0
- package/packages/paymaster/src/SuperPaymaster/index.ts +168 -0
- package/packages/paymaster/src/V4/BundlerCompat.ts +47 -0
- package/packages/paymaster/src/V4/PaymasterClient.ts +490 -0
- package/packages/paymaster/src/V4/PaymasterOperator.ts +282 -0
- package/packages/paymaster/src/V4/PaymasterUtils.ts +199 -0
- package/packages/paymaster/src/V4/SuperPaymasterClient.ts +129 -0
- package/packages/paymaster/src/index.ts +5 -0
- package/packages/paymaster/tsconfig.json +16 -0
- package/packages/sdk/README.md +171 -0
- package/packages/sdk/__tests__/index.test.ts +9 -0
- package/packages/sdk/aastar/package.json +21 -0
- package/packages/sdk/aastar/src/index.ts +3 -0
- package/packages/sdk/aastar/tsconfig.json +8 -0
- package/packages/sdk/node_modules/.bin/tsc +21 -0
- package/packages/sdk/node_modules/.bin/tsserver +21 -0
- package/packages/sdk/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/sdk/package.json +34 -0
- package/packages/sdk/src/clients/ExperimentClient.ts +80 -0
- package/packages/sdk/src/clients/admin.ts +56 -0
- package/packages/sdk/src/clients/community.ts +403 -0
- package/packages/sdk/src/clients/endUser.ts +428 -0
- package/packages/sdk/src/clients/operator.ts +280 -0
- package/packages/sdk/src/errors/decoder.ts +48 -0
- package/packages/sdk/src/index.ts +24 -0
- package/packages/sdk/src/utils/errorHandler.ts +167 -0
- package/packages/sdk/src/utils/funding.ts +280 -0
- package/packages/sdk/src/utils/keys.ts +159 -0
- package/packages/sdk/src/utils/roleData.ts +151 -0
- package/packages/sdk/src/utils/testScenarios.ts +128 -0
- package/packages/sdk/src/utils/userOp.ts +257 -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 +12 -0
- package/packages/tokens/__tests__/index.test.ts +9 -0
- package/packages/tokens/node_modules/.bin/tsc +21 -0
- package/packages/tokens/node_modules/.bin/tsserver +21 -0
- package/packages/tokens/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/tokens/package.json +23 -0
- package/packages/tokens/src/index.ts +258 -0
- package/packages/tokens/tsconfig.json +12 -0
- package/pnpm-workspace.yaml +2 -0
- package/publish.sh +30 -0
- package/run_l4_gasless_regression.sh +109 -0
- package/run_sdk_regression.sh +232 -0
- package/scripts/00_utils.ts +59 -0
- package/scripts/00_verify_phase1.ts +130 -0
- package/scripts/01_1_prep_gtoken.ts +81 -0
- package/scripts/01_2_register_sbt.ts +88 -0
- package/scripts/01_3_prep_tokens_paymaster.ts +102 -0
- package/scripts/01_prepare_all.ts +271 -0
- package/scripts/02_test_eoa.ts +50 -0
- package/scripts/03_test_standard_aa.ts +173 -0
- package/scripts/04_0_check_deploy.ts +24 -0
- package/scripts/04_1_check_allowance.ts +44 -0
- package/scripts/04_2_construct_verify.ts +96 -0
- package/scripts/04_3_verify_estimate.ts +66 -0
- package/scripts/04_4_verify_pack.ts +74 -0
- package/scripts/04_test_paymaster_v4.ts +217 -0
- package/scripts/05_1_deposit.ts +48 -0
- package/scripts/05_test_superpaymaster.ts +380 -0
- package/scripts/06_local_test_v3_admin.ts +163 -0
- package/scripts/06_local_test_v3_execution.ts +132 -0
- package/scripts/06_local_test_v3_full.ts +490 -0
- package/scripts/06_local_test_v3_funding.ts +124 -0
- package/scripts/06_local_test_v3_reputation.ts +234 -0
- package/scripts/07_local_test_v3_audit.ts +181 -0
- package/scripts/08_local_test_registry_lifecycle.ts +382 -0
- package/scripts/09_local_test_community_lifecycle.ts +385 -0
- package/scripts/09_local_test_community_simple.ts +108 -0
- package/scripts/09_scenario_bread_independent.ts +247 -0
- package/scripts/10_scenario_super_shared.ts +196 -0
- package/scripts/10_test_protocol_admin_full.ts +173 -0
- package/scripts/11_scenario_hacker_defense.ts +104 -0
- package/scripts/11_test_core_flows_full.ts +279 -0
- package/scripts/12_test_slash_mechanism.ts +205 -0
- package/scripts/12_test_slash_queries.ts +83 -0
- package/scripts/12_test_staking_exit.ts +152 -0
- package/scripts/12_test_staking_slash.ts +301 -0
- package/scripts/12_test_tier2_slash.ts +139 -0
- package/scripts/13_test_sbt_burn_linkage.ts +266 -0
- package/scripts/14_test_credit_redesign.ts +266 -0
- package/scripts/15_test_bls_full.ts +148 -0
- package/scripts/15_test_dvt_bls_full.ts +140 -0
- package/scripts/17_test_cross_role_collaboration.ts +95 -0
- package/scripts/18_sdk_e2e_verification.ts +67 -0
- package/scripts/18_test_dvt_sdk_flow.ts +138 -0
- package/scripts/18_test_lifecycle_completion.ts +144 -0
- package/scripts/19_sdk_experiment_runner.ts +207 -0
- package/scripts/19_sdk_experiment_runner.ts.backup +391 -0
- package/scripts/20_sdk_full_capability.ts +95 -0
- package/scripts/20_test_superpaymaster_new_apis.ts +193 -0
- package/scripts/21_test_paymasterv4_complete.ts +341 -0
- package/scripts/22_test_bls_signing.ts +260 -0
- package/scripts/23_test_middleware.ts +197 -0
- package/scripts/98_edge_reentrancy.ts +85 -0
- package/scripts/99_bug_hunting_fast.ts +99 -0
- package/scripts/analyze_abi_coverage.ts +169 -0
- package/scripts/analyze_missing_functions.ts +136 -0
- package/scripts/canary-bundler.ts +47 -0
- package/scripts/check-admin.ts +95 -0
- package/scripts/check-chainlink.ts +28 -0
- package/scripts/check-jason-status.ts +85 -0
- package/scripts/check-roles.ts +36 -0
- package/scripts/clear-nonce.ts +47 -0
- package/scripts/collect_industry_baseline.ts +236 -0
- package/scripts/complete-jack-superpaymaster.ts +171 -0
- package/scripts/complete_env_config.ts +97 -0
- package/scripts/deploy-sync.ts +104 -0
- package/scripts/deploy_and_init_v3.sh +134 -0
- package/scripts/deploy_anvil_accounts.ts +144 -0
- package/scripts/deploy_jason_pm.ts +114 -0
- package/scripts/deploy_paymaster_v4.ts +139 -0
- package/scripts/deploy_test_accounts.ts +401 -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/scripts/dev_tools/extract_abis.sh +151 -0
- package/scripts/dev_tools/extract_addresses_to_env.sh +67 -0
- package/scripts/dev_tools/final_safe_harmonize.py +77 -0
- package/scripts/dev_tools/safe_harmonize.py +107 -0
- package/scripts/dev_tools/surgical_harmonize.py +83 -0
- package/scripts/experiment/stage3/SETUP_GUIDE.md +258 -0
- package/scripts/experiment/stage3/archived_scripts/00_token_distribution.ts +78 -0
- package/scripts/experiment/stage3/archived_scripts/01_dao_launch.ts +96 -0
- package/scripts/experiment/stage3/archived_scripts/01b_bread_launch.ts +112 -0
- package/scripts/experiment/stage3/archived_scripts/02_operator_setup.ts +84 -0
- package/scripts/experiment/stage3/archived_scripts/02b_operator_b_setup.ts +104 -0
- package/scripts/experiment/stage3/archived_scripts/02c_finalize_operators.ts +86 -0
- package/scripts/experiment/stage3/archived_scripts/02d_operator_collateral.ts +89 -0
- package/scripts/experiment/stage3/archived_scripts/03_user_onboarding.ts +83 -0
- package/scripts/experiment/stage3/archived_scripts/03b_deploy_aa_account.ts +61 -0
- package/scripts/experiment/stage3/archived_scripts/03c_aa_onboarding.ts +104 -0
- package/scripts/experiment/stage3/archived_scripts/03d_mint_points.ts +60 -0
- package/scripts/experiment/stage3/archived_scripts/04_benchmarking.ts +100 -0
- package/scripts/experiment/stage3/archived_scripts/05_multi_op_setup.ts +149 -0
- package/scripts/experiment/stage3/archived_scripts/README.md +58 -0
- package/scripts/experiment/stage3/archived_scripts/check_roles.ts +29 -0
- package/scripts/experiment/stage3/archived_scripts/decode_error.ts +23 -0
- package/scripts/experiment/stage3/archived_scripts/fund_user.ts +51 -0
- package/scripts/experiment/stage3/archived_scripts/gen_b_key.ts +3 -0
- package/scripts/experiment/stage3/archived_scripts/gen_keys.ts +4 -0
- package/scripts/experiment/stage3/archived_scripts/setup.ts +105 -0
- package/scripts/experiment/stage3/archived_scripts/test_key.ts +4 -0
- package/scripts/experiment/stage3/archived_scripts/verify_state.ts +59 -0
- package/scripts/experiment/stage3/refactored/00_token_distribution.ts +46 -0
- package/scripts/experiment/stage3/refactored/02_operator_setup.ts +65 -0
- package/scripts/experiment/stage3/refactored/03_user_onboarding.ts +68 -0
- package/scripts/experiment/stage3/refactored/05_multi_op_setup.ts +63 -0
- package/scripts/experiment/stage3/refactored/README.md +71 -0
- package/scripts/extract-docs.sh +72 -0
- package/scripts/fund-jack.ts +38 -0
- package/scripts/generate_env_from_deployment.ts +109 -0
- package/scripts/inspect-anni-token.ts +116 -0
- package/scripts/inspect-factory.ts +83 -0
- package/scripts/l4-debug-bob.ts +62 -0
- package/scripts/l4-paymasterv4-transfer-test.ts +220 -0
- package/scripts/l4-setup.ts +1347 -0
- package/scripts/l4-state.json +82 -0
- package/scripts/manual-update-price.ts +39 -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/publish_all.sh +39 -0
- package/scripts/query-jack-token.ts +22 -0
- package/scripts/quick_setup.ts +124 -0
- package/scripts/quick_setup_account.ts +80 -0
- package/scripts/run_automated_experiment.sh +121 -0
- package/scripts/run_daily_experiment.ts +70 -0
- package/scripts/run_full_regression.sh +38 -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 +148 -0
- package/scripts/security_audit.sh +172 -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_config_to_env.ts +88 -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 +150 -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 +352 -0
- package/scripts/update-price-dvt.ts +53 -0
- package/scripts/update_env_from_config.ts +83 -0
- package/scripts/v2_regression/01_setup_and_fund.ts +1 -1
- package/scripts/v2_regression/02_operator_onboarding.ts +140 -14
- package/scripts/v2_regression/03_community_registry.ts +58 -24
- package/scripts/v2_regression/04_enduser_flow.ts +49 -16
- package/scripts/v2_regression/05_admin_audit.ts +1 -1
- package/scripts/v2_regression/README.md +161 -0
- package/scripts/verify-bob-token.ts +41 -0
- 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-abi-coverage.sh +1 -0
- package/sdk-build-and-test.sh +1 -0
- package/sdk-test-coverage.sh +1 -0
- package/sdk_experiment_data.csv +4 -0
- package/simple-test-paymaster.sh +2 -0
- package/simple-test-superpaymaster.sh +3 -0
- package/tests/check-aa-balance.ts +31 -0
- package/tests/l1-regression.test.ts +437 -0
- package/tests/l4-test-anni-gasless.ts +517 -0
- package/tests/l4-test-jason1-gasless.ts +158 -0
- package/tests/l4-test-jason2-gasless.ts +180 -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 +217 -0
- package/tests/regression/display-versions.ts +85 -0
- package/tests/regression/index.ts +67 -0
- package/tests/regression/l1-tests.ts +248 -0
- package/tests/regression/l2-tests.ts +227 -0
- package/tests/regression/l3-tests.ts +28 -0
- package/tests/regression/l4-comprehensive-gasless.ts +478 -0
- package/tests/regression/l4-gasless.ts +999 -0
- package/tests/regression/l4-reputation-tiers.ts +102 -0
- package/tests/regression/l4-runner.ts +52 -0
- package/tests/reports/phase1_contract_verification.md +45 -0
- package/tests/test-bundler-compat.ts +132 -0
- package/tests/test-candide-bundler.ts +117 -0
- package/tests/test-candide-paymaster.ts +101 -0
- package/tests/test-candide-sdk.ts +116 -0
- package/tests/test-candide-simple.ts +204 -0
- package/tests/test-pimlico-complete.ts +134 -0
- package/tests/utils/contractVerifier.ts +237 -0
- package/tests/utils/userOpHelper.ts +194 -0
- package/tsconfig.build.json +23 -0
- package/tsconfig.json +27 -0
- package/typedoc.json +25 -0
- package/update-version.sh +20 -0
- package/vitest.config.ts +17 -0
- package/dist/account/src/accounts/simple.d.ts +0 -18
- package/dist/account/src/accounts/simple.js +0 -49
- package/dist/account/src/eoa.d.ts +0 -10
- package/dist/account/src/eoa.js +0 -21
- package/dist/account/src/index.d.ts +0 -19
- package/dist/account/src/index.js +0 -49
- package/dist/core/src/abis/BLSAggregator.json +0 -686
- package/dist/core/src/abis/BLSValidator.json +0 -42
- package/dist/core/src/abis/DVTValidator.json +0 -368
- package/dist/core/src/abis/EntryPoint.json +0 -1382
- package/dist/core/src/abis/GToken.json +0 -513
- package/dist/core/src/abis/GTokenStaking.json +0 -949
- package/dist/core/src/abis/MySBT.json +0 -1518
- package/dist/core/src/abis/Paymaster.json +0 -1143
- package/dist/core/src/abis/PaymasterFactory.json +0 -640
- package/dist/core/src/abis/Registry.json +0 -1942
- package/dist/core/src/abis/ReputationSystem.json +0 -699
- package/dist/core/src/abis/SimpleAccount.json +0 -560
- package/dist/core/src/abis/SimpleAccountFactory.json +0 -111
- package/dist/core/src/abis/SuperPaymaster.json +0 -1781
- package/dist/core/src/abis/index.d.ts +0 -1126
- package/dist/core/src/abis/index.js +0 -91
- package/dist/core/src/abis/xPNTsFactory.json +0 -718
- package/dist/core/src/abis/xPNTsToken.json +0 -1280
- package/dist/core/src/actions/StateValidator.d.ts +0 -68
- package/dist/core/src/actions/StateValidator.js +0 -187
- package/dist/core/src/actions/account.d.ts +0 -55
- package/dist/core/src/actions/account.js +0 -133
- package/dist/core/src/actions/aggregator.d.ts +0 -17
- package/dist/core/src/actions/aggregator.js +0 -31
- package/dist/core/src/actions/dvt.d.ts +0 -30
- package/dist/core/src/actions/dvt.js +0 -41
- package/dist/core/src/actions/entryPoint.d.ts +0 -90
- package/dist/core/src/actions/entryPoint.js +0 -211
- package/dist/core/src/actions/factory.d.ts +0 -215
- package/dist/core/src/actions/factory.js +0 -442
- package/dist/core/src/actions/faucet.d.ts +0 -48
- package/dist/core/src/actions/faucet.js +0 -337
- package/dist/core/src/actions/gtokenExtended.d.ts +0 -39
- package/dist/core/src/actions/gtokenExtended.js +0 -115
- package/dist/core/src/actions/index.d.ts +0 -15
- package/dist/core/src/actions/index.js +0 -17
- package/dist/core/src/actions/paymasterV4.d.ts +0 -170
- package/dist/core/src/actions/paymasterV4.js +0 -334
- package/dist/core/src/actions/registry.d.ts +0 -246
- package/dist/core/src/actions/registry.js +0 -667
- package/dist/core/src/actions/reputation.d.ts +0 -129
- package/dist/core/src/actions/reputation.js +0 -281
- package/dist/core/src/actions/sbt.d.ts +0 -191
- package/dist/core/src/actions/sbt.js +0 -533
- package/dist/core/src/actions/staking.d.ts +0 -132
- package/dist/core/src/actions/staking.js +0 -330
- package/dist/core/src/actions/superPaymaster.d.ts +0 -237
- package/dist/core/src/actions/superPaymaster.js +0 -644
- package/dist/core/src/actions/tokens.d.ts +0 -229
- package/dist/core/src/actions/tokens.js +0 -415
- package/dist/core/src/branding.d.ts +0 -30
- package/dist/core/src/branding.js +0 -30
- package/dist/core/src/clients/BaseClient.d.ts +0 -25
- package/dist/core/src/clients/BaseClient.js +0 -66
- package/dist/core/src/clients/types.d.ts +0 -60
- package/dist/core/src/clients/types.js +0 -1
- package/dist/core/src/clients.d.ts +0 -5
- package/dist/core/src/clients.js +0 -11
- package/dist/core/src/communities.d.ts +0 -52
- package/dist/core/src/communities.js +0 -73
- package/dist/core/src/config/ContractConfigManager.d.ts +0 -20
- package/dist/core/src/config/ContractConfigManager.js +0 -48
- package/dist/core/src/constants.d.ts +0 -88
- package/dist/core/src/constants.js +0 -125
- package/dist/core/src/contract-addresses.d.ts +0 -110
- package/dist/core/src/contract-addresses.js +0 -99
- package/dist/core/src/contracts.d.ts +0 -424
- package/dist/core/src/contracts.js +0 -343
- package/dist/core/src/crypto/blsSigner.d.ts +0 -64
- package/dist/core/src/crypto/blsSigner.js +0 -98
- package/dist/core/src/crypto/index.js +0 -1
- package/dist/core/src/index.d.ts +0 -21
- package/dist/core/src/index.js +0 -21
- package/dist/core/src/networks.d.ts +0 -127
- package/dist/core/src/networks.js +0 -118
- package/dist/core/src/requirementChecker.d.ts +0 -38
- package/dist/core/src/requirementChecker.js +0 -139
- package/dist/core/src/roles.d.ts +0 -204
- package/dist/core/src/roles.js +0 -211
- package/dist/core/src/utils/validation.d.ts +0 -24
- package/dist/core/src/utils/validation.js +0 -56
- package/dist/dapp/src/index.d.ts +0 -3
- package/dist/dapp/src/index.js +0 -3
- package/dist/dapp/src/ui/hooks/useCreditScore.d.ts +0 -13
- package/dist/dapp/src/ui/hooks/useCreditScore.js +0 -32
- package/dist/dapp/src/ui/hooks/useSuperPaymaster.d.ts +0 -8
- package/dist/dapp/src/ui/hooks/useSuperPaymaster.js +0 -23
- package/dist/dapp/src/ui/index.d.ts +0 -4
- package/dist/dapp/src/ui/index.js +0 -17
- package/dist/identity/src/index.d.ts +0 -46
- package/dist/identity/src/index.js +0 -94
- package/dist/identity/src/mysbt.d.ts +0 -13
- package/dist/identity/src/mysbt.js +0 -37
- package/dist/paymaster/src/SuperPaymaster/index.d.ts +0 -44
- package/dist/paymaster/src/SuperPaymaster/index.js +0 -133
- package/dist/paymaster/src/V4/PaymasterClient.d.ts +0 -79
- package/dist/paymaster/src/V4/PaymasterClient.js +0 -315
- package/dist/paymaster/src/V4/PaymasterOperator.d.ts +0 -41
- package/dist/paymaster/src/V4/PaymasterOperator.js +0 -241
- package/dist/paymaster/src/V4/PaymasterUtils.d.ts +0 -55
- package/dist/paymaster/src/V4/PaymasterUtils.js +0 -124
- package/dist/paymaster/src/V4/SuperPaymasterClient.d.ts +0 -21
- package/dist/paymaster/src/V4/SuperPaymasterClient.js +0 -73
- package/dist/paymaster/src/V4/index.js +0 -4
- package/dist/paymaster/src/index.d.ts +0 -2
- package/dist/paymaster/src/index.js +0 -4
- package/dist/sdk/src/clients/ExperimentClient.d.ts +0 -34
- package/dist/sdk/src/clients/ExperimentClient.js +0 -58
- package/dist/sdk/src/clients/ExperimentClient.test.d.ts +0 -1
- package/dist/sdk/src/clients/ExperimentClient.test.js +0 -53
- package/dist/sdk/src/clients/admin.d.ts +0 -57
- package/dist/sdk/src/clients/admin.js +0 -105
- package/dist/sdk/src/clients/admin.test.d.ts +0 -1
- package/dist/sdk/src/clients/admin.test.js +0 -79
- package/dist/sdk/src/clients/clients.test.d.ts +0 -1
- package/dist/sdk/src/clients/clients.test.js +0 -91
- package/dist/sdk/src/clients/community.d.ts +0 -48
- package/dist/sdk/src/clients/community.js +0 -244
- package/dist/sdk/src/clients/community.test.d.ts +0 -1
- package/dist/sdk/src/clients/community.test.js +0 -99
- package/dist/sdk/src/clients/endUser.d.ts +0 -95
- package/dist/sdk/src/clients/endUser.js +0 -388
- package/dist/sdk/src/clients/endUser.test.d.ts +0 -1
- package/dist/sdk/src/clients/endUser.test.js +0 -188
- package/dist/sdk/src/clients/operator.d.ts +0 -96
- package/dist/sdk/src/clients/operator.js +0 -247
- package/dist/sdk/src/clients/operator.test.d.ts +0 -1
- package/dist/sdk/src/clients/operator.test.js +0 -139
- package/dist/sdk/src/errors/AAStarError.d.ts +0 -26
- package/dist/sdk/src/errors/AAStarError.js +0 -32
- package/dist/sdk/src/errors/AAStarError.test.d.ts +0 -1
- package/dist/sdk/src/errors/AAStarError.test.js +0 -74
- package/dist/sdk/src/errors/decoder.d.ts +0 -1
- package/dist/sdk/src/errors/decoder.js +0 -83
- package/dist/sdk/src/errors/decoder.test.d.ts +0 -1
- package/dist/sdk/src/errors/decoder.test.js +0 -90
- package/dist/sdk/src/index.d.ts +0 -16
- package/dist/sdk/src/index.js +0 -20
- package/dist/sdk/src/node/index.d.ts +0 -7
- package/dist/sdk/src/node/index.js +0 -7
- package/dist/sdk/src/types/result.d.ts +0 -15
- package/dist/sdk/src/types/result.js +0 -23
- package/dist/sdk/src/utils/errorHandler.d.ts +0 -40
- package/dist/sdk/src/utils/errorHandler.js +0 -114
- package/dist/sdk/src/utils/errorHandler.test.d.ts +0 -1
- package/dist/sdk/src/utils/errorHandler.test.js +0 -89
- package/dist/sdk/src/utils/eventDecoder.d.ts +0 -7
- package/dist/sdk/src/utils/eventDecoder.js +0 -54
- package/dist/sdk/src/utils/eventDecoder.test.d.ts +0 -1
- package/dist/sdk/src/utils/eventDecoder.test.js +0 -48
- package/dist/sdk/src/utils/funding.d.ts +0 -115
- package/dist/sdk/src/utils/funding.js +0 -188
- package/dist/sdk/src/utils/funding.test.d.ts +0 -1
- package/dist/sdk/src/utils/funding.test.js +0 -105
- package/dist/sdk/src/utils/keys.d.ts +0 -73
- package/dist/sdk/src/utils/keys.js +0 -137
- package/dist/sdk/src/utils/keys.test.d.ts +0 -1
- package/dist/sdk/src/utils/keys.test.js +0 -81
- package/dist/sdk/src/utils/roleData.d.ts +0 -66
- package/dist/sdk/src/utils/roleData.js +0 -115
- package/dist/sdk/src/utils/roleData.test.d.ts +0 -1
- package/dist/sdk/src/utils/roleData.test.js +0 -74
- package/dist/sdk/src/utils/testScenarios.d.ts +0 -33
- package/dist/sdk/src/utils/testScenarios.js +0 -85
- package/dist/sdk/src/utils/testScenarios.test.d.ts +0 -1
- package/dist/sdk/src/utils/testScenarios.test.js +0 -68
- package/dist/sdk/src/utils/userOp.d.ts +0 -78
- package/dist/sdk/src/utils/userOp.js +0 -195
- package/dist/sdk/src/utils/userOp.test.d.ts +0 -1
- package/dist/sdk/src/utils/userOp.test.js +0 -152
- package/dist/tokens/src/index.d.ts +0 -56
- package/dist/tokens/src/index.js +0 -230
- package/examples/regression_test.d.ts +0 -2
- package/examples/regression_test.d.ts.map +0 -1
- package/examples/regression_test.js +0 -89
- package/examples/regression_test.js.map +0 -1
- /package/{dist/core/src/crypto/index.d.ts → packages/core/src/crypto/index.ts} +0 -0
- /package/{dist/paymaster/src/V4/index.d.ts → packages/paymaster/src/V4/index.ts} +0 -0
- /package/{examples → packages/sdk/examples}/config.json +0 -0
- /package/{examples → packages/sdk/examples}/regression_test.ts +0 -0
package/docs/Plan.md
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
# AAStar计划
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## V2
|
|
5
|
+
|
|
6
|
+
好的,完全理解你的思路!MVP阶段聚焦核心功能,快速验证,是非常明智的选择。
|
|
7
|
+
|
|
8
|
+
根据你的优先级分析:
|
|
9
|
+
|
|
10
|
+
* **最高优先级 (High Priority - H)**:
|
|
11
|
+
1. 核心账户功能 (二次签名验证 + 整体集成,包括Relay)
|
|
12
|
+
2. Demo 应用 (页面JS版本 + 简单后端配合,为后续集成COS72做准备)
|
|
13
|
+
* **中等优先级 (Medium Priority - M)**:
|
|
14
|
+
1. 基础的Gasless功能对接 (SuperPaymaster的初步集成)
|
|
15
|
+
* **低优先级 (Low Priority - L)**:
|
|
16
|
+
1. SDSS的完全去中心化 (先采用中心化或简化版)
|
|
17
|
+
2. 完整的SDK化
|
|
18
|
+
3. 其他高级功能和研究性课题
|
|
19
|
+
|
|
20
|
+
现在,我们基于这个思路,从你之前的详细任务列表中筛选和重组,形成一个更聚焦的MVP计划表格。
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## AirAccount MVP 开发计划 (V2)
|
|
25
|
+
|
|
26
|
+
### 一、最高优先级 (High Priority - H)
|
|
27
|
+
|
|
28
|
+
#### H1. 核心账户功能与集成 (Core Account Functionality & Integration)
|
|
29
|
+
- [ ] **H1.1 账户基础与二次签名验证 (Account Primitives & Dual-Signature Verification)**
|
|
30
|
+
- [ ] H1.1.1 最小版二次签名验证账户的合约实现 (BLS with DVT or simplified approach for MVP, plan EIP-7212 for future)
|
|
31
|
+
- [ ] H1.1.2 账户的注册、生成流程实现
|
|
32
|
+
- [ ] H1.1.3 指纹 (Passkey) 绑定与账户管理 (添加、查询) 的基本API和逻辑
|
|
33
|
+
- [ ] **H1.2 TEE 集成与核心钱包逻辑 (TEE Integration & Core Wallet Logic)**
|
|
34
|
+
- [ ] H1.2.1 AirAccount Relay 在 ARM 平台运行 TEE Wallet (TA) 的核心功能 (私钥安全存储与签名)
|
|
35
|
+
- [ ] H1.2.2 不可信应用 (CA) 与 TEE API 的基础交互逻辑 (用于Demo调用)
|
|
36
|
+
- [ ] H1.2.3 CA 与 TA 的核心交互流程联调 (签名请求与响应)
|
|
37
|
+
- [ ] **H1.3 Relay 与 Bundler 核心功能 (Relay & Bundler Core Functionality)**
|
|
38
|
+
- [ ] H1.3.1 内部 Bundler 的核心实现 (打包UserOperation)
|
|
39
|
+
- [ ] H1.3.2 Relay 的核心实现 (接收CA请求,与TEE交互,与Bundler交互,提交交易)
|
|
40
|
+
- [ ] **H1.4 整体核心流程联调 (Overall Core Flow Integration & Testing)**
|
|
41
|
+
- [ ] H1.4.1 从用户发起操作 (CA) -> Relay -> TEE签名 -> Bundler打包 -> 交易上链 的核心流程联调
|
|
42
|
+
- [ ] H1.4.2 部署与测试环境搭建 (例如,本地测试网,目标硬件初步验证 NXP iMX93)
|
|
43
|
+
|
|
44
|
+
#### H2. Demo 应用与初步用户体验 (Demo Application & Initial UX)
|
|
45
|
+
- [ ] **H2.1 Demo 前端页面 (JS 版本) (Demo Frontend - JS Version)**
|
|
46
|
+
- [ ] H2.1.1 核心账户操作的用户界面 (账户创建、指纹绑定、发起简单交易)
|
|
47
|
+
- [ ] H2.1.2 与后端/Relay交互的API调用实现
|
|
48
|
+
- [ ] H2.1.3 基本的用户反馈和状态显示
|
|
49
|
+
- [ ] **H2.2 Demo 简易后端/模拟服务 (Demo Simplified Backend/Mock Service)**
|
|
50
|
+
- [ ] H2.2.1 (如果需要) 提供必要的后端API支持Demo前端 (例如,用户管理、状态查询的简化版)
|
|
51
|
+
- [ ] H2.2.2 (如果需要) 模拟部分链上交互或TEE行为,以便前端独立开发和测试
|
|
52
|
+
- [ ] **H2.3 Demo 流程验证与用户体验初步打磨 (Demo Flow Validation & Initial UX Refinement)**
|
|
53
|
+
- [ ] H2.3.1 完整演示核心账户创建、绑定、使用流程
|
|
54
|
+
- [ ] H2.3.2 收集初步用户体验反馈,进行界面和流程优化
|
|
55
|
+
|
|
56
|
+
### 二、中等优先级 (Medium Priority - M)
|
|
57
|
+
|
|
58
|
+
#### M1. 基础 Gasless 功能对接 (Basic Gasless Functionality Integration)
|
|
59
|
+
- [ ] **M1.1 SuperPaymaster 初步集成 (Initial SuperPaymaster Integration)**
|
|
60
|
+
- [ ] M1.1.1 部署或对接一个基础功能的 Paymaster 合约
|
|
61
|
+
- [ ] M1.1.2 实现 AirAccount 账户与该 Paymaster 的交互逻辑 (例如,允许特定ERC20代付)
|
|
62
|
+
- [ ] M1.1.3 在 Demo 应用中集成基础的 Gasless 交易体验 (例如,特定操作免Gas)
|
|
63
|
+
- [ ] **M1.2 Gasless 流程测试与验证 (Gasless Flow Testing & Validation)**
|
|
64
|
+
- [ ] M1.2.1 测试通过 Paymaster 完成 ERC20 代付的流程
|
|
65
|
+
- [ ] M1.2.2 验证 Gasless 交易的正确性和稳定性
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
**计划V2说明与思考:**
|
|
70
|
+
|
|
71
|
+
1. **聚焦核心**: 这个版本严格筛选了任务,确保所有高优先级任务都直接服务于“可用的核心账户”和“能展示核心价值的Demo”。
|
|
72
|
+
2. **二次签名验证的简化**: 在H1.1.1中提到 "BLS with DVT or simplified approach for MVP",意味着MVP阶段可以考虑一个更易于快速实现的二次签名方案,后续再升级到更复杂的链上验证方案。
|
|
73
|
+
3. **TEE的核心价值**: H1.2 强调了TEE在私钥安全存储和签名方面的核心作用,这是AirAccount安全性的基石。
|
|
74
|
+
4. **Relay是枢纽**: H1.3 将Relay和Bundler作为核心集成部分,它们是连接用户、TEE和区块链的关键。
|
|
75
|
+
5. **Demo驱动**: H2 的目标是快速构建一个能跑通核心流程的Demo,用于验证、展示和收集早期反馈。先有JS版本,后续再考虑集成到COS72。
|
|
76
|
+
6. **Gasless作为重要加分项**: M1 将基础的Gasless功能作为中等优先级,因为它能显著提升用户体验,是账户抽象的一个重要特性。MVP阶段实现基础对接即可。
|
|
77
|
+
7. **隐含的任务**:
|
|
78
|
+
* **合约部署与管理**: 部署账户合约、Paymaster合约等。
|
|
79
|
+
* **测试用例编写**: 对核心功能进行单元测试和集成测试。
|
|
80
|
+
* **文档**: 核心API和流程的初步文档。
|
|
81
|
+
8. **后续迭代**:
|
|
82
|
+
* **低优先级任务**: SDSS的去中心化、完整的SDK、社交恢复、ERC-7702、更多应用协议、AI集成等都放在MVP成功验证之后。
|
|
83
|
+
* **COS72集成**: 在Demo JS版本稳定后,再考虑将其能力集成到更成熟的COS72框架中。
|
|
84
|
+
|
|
85
|
+
这个V2计划更加精炼,目标更明确,希望能帮助你的团队高效推进MVP的开发。记住,MVP的关键在于“最小”和“可行”,快速迭代,持续优化。
|
|
86
|
+
|
|
87
|
+
--------
|
|
88
|
+
下面是V1的
|
|
89
|
+
|
|
90
|
+
------
|
|
91
|
+
|
|
92
|
+
好的,这是一个非常详细和全面的开发计划!我将根据你提供的架构思考、Research重点和明细开发任务,帮你整理成一个包含checkbox的计划表格。
|
|
93
|
+
|
|
94
|
+
**重要说明:**
|
|
95
|
+
|
|
96
|
+
* **层级与拆解**: 你提到了“表格罗列两层任务足够”,但你提供的明细任务非常细致,很多可以看作是第三层甚至第四层的任务。为了保持表格的可读性,我会尽量将相关的细致任务组织在更大的特性或模块下。
|
|
97
|
+
* **负责人与时间**: 这个表格**不包含**负责人和预计完成时间,这些需要你和你的团队根据实际情况来分配。
|
|
98
|
+
* **依赖关系**: 很多任务之间存在依赖关系,这个表格主要关注任务列表,具体的依赖管理需要在项目管理工具中体现。
|
|
99
|
+
* **动态调整**: 这是一个初步的计划,实际开发过程中肯定会遇到变化,需要灵活调整。
|
|
100
|
+
* **N0-N3**: 我理解这是指不同的部署阶段或节点类型,在相关任务中会体现。
|
|
101
|
+
|
|
102
|
+
**开发计划表格 (Markdown格式)**
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## AirAccount 开发计划
|
|
107
|
+
|
|
108
|
+
### 一、基础设施 (Infrastructure)
|
|
109
|
+
|
|
110
|
+
#### 1. 核心账户与签名 (Core Account & Signature)
|
|
111
|
+
- [ ] **1.1 账户基础 (Account Primitives)**
|
|
112
|
+
- [ ] 1.1.1 最小版二次签名验证账户的注册、生成 (BLS with DVT, plan EIP-7212)
|
|
113
|
+
- [ ] 1.1.2 指纹 (Passkey) 绑定与账户管理 (添加、查询)
|
|
114
|
+
- [ ] **1.2 Paymaster 与 Gas 管理 (Paymaster & Gas Management)**
|
|
115
|
+
- [ ] 1.2.1 使用 Paymaster 完成 ERC20 代付
|
|
116
|
+
- [ ] 1.2.2 Gas Card 设计:查询、绑定、ERC20 代扣
|
|
117
|
+
- [ ] **1.3 Bundler 与 Relay (Bundler & Relay)**
|
|
118
|
+
- [ ] 1.3.1 Bundler 实现:从外部依赖过渡到内部 Bundler
|
|
119
|
+
- [ ] 1.3.2 优化:内部 Bundler 与 Paymaster Relay 合并,实现一步提交
|
|
120
|
+
- [ ] **1.4 TEE 集成与硬件钱包交互 (TEE Integration & HW Wallet Interaction)**
|
|
121
|
+
- [ ] 1.4.1 AirAccount Relay 在 ARM 平台运行 TEE Wallet (TA)
|
|
122
|
+
- [ ] 1.4.2 不可信应用 (CA) 开发
|
|
123
|
+
- [ ] 1.4.3 CA 通过 TEE API 调用可信应用 TA (硬件钱包) 的联合调试
|
|
124
|
+
- [ ] **1.5 社交恢复与账户升级 (Social Recovery & Account Upgrade)**
|
|
125
|
+
- [ ] 1.5.1 AirAccount 社交恢复的多签账户设计与实现
|
|
126
|
+
- [ ] 1.5.2 AirAccount 账户升级到社交恢复多签账户的流程
|
|
127
|
+
- [ ] 1.5.3 (可选) ERC-7702 账户集成与多签恢复嵌入
|
|
128
|
+
- [ ] **1.6 整体联调与测试 (Overall Integration & Testing)**
|
|
129
|
+
- [ ] 1.6.1 整体 AirAccount 基础设施联调 (目标平台: NXP iMX93 或更低配置)
|
|
130
|
+
|
|
131
|
+
#### 2. SDSS (Standardized Decentralized Service System) - V0.1
|
|
132
|
+
- [ ] **2.1 核心服务与API (Core Services & API)**
|
|
133
|
+
- [ ] 2.1.1 SDSS ENS (或类似域名服务) 实现
|
|
134
|
+
- [ ] 2.1.2 SDSS API 服务基础框架搭建
|
|
135
|
+
- [ ] 2.1.3 路由注册、发现机制
|
|
136
|
+
- [ ] 2.1.4 API 标准数据提交、更新、缓存、错误处理机制
|
|
137
|
+
- [ ] **2.2 核心提交服务 (Core Submission Service)**
|
|
138
|
+
- [ ] 2.2.1 SDSS Submit 服务基础:一次提交 (Gas Sponsor + Bundler 上链)
|
|
139
|
+
|
|
140
|
+
#### 3. 客户端与工具 (Client & Tools)
|
|
141
|
+
- [ ] **3.1 Tauri 客户端 (Tauri Client)**
|
|
142
|
+
- [ ] 3.1.1 Tauri 客户端多端发布与测试
|
|
143
|
+
- [ ] 3.1.2 Tauri 集成测试:COS72 基础 Web 版本开发与集成
|
|
144
|
+
- [ ] **3.2 SSO 与 SDK (SSO & SDK)**
|
|
145
|
+
- [ ] 3.2.1 SSO (单点登录) 插件/JS/SDK 开发与测试
|
|
146
|
+
|
|
147
|
+
### 二、框架层 (Framework)
|
|
148
|
+
|
|
149
|
+
#### 4. AAStar SDK 与集成
|
|
150
|
+
- [ ] **4.1 AAStar SDK 开发 (AAStar SDK Development)**
|
|
151
|
+
- [ ] 4.1.1 AAStar SDK Web 版本开发与测试
|
|
152
|
+
- [ ] **4.2 COS72 与 AAStar SDK 集成 (COS72 & AAStar SDK Integration)**
|
|
153
|
+
- [ ] 4.2.1 COS72 与 AAStar SDK 集成测试
|
|
154
|
+
|
|
155
|
+
#### 5. Relay 技术栈演进与集成 (Relay Stack Evolution & Integration)
|
|
156
|
+
- [ ] **5.1 Relay 版本统一 (Relay Version Unification)**
|
|
157
|
+
- [ ] 5.1.1 Go 版本 Relay 与 Rust 版本 Relay 的尝试合并/搬迁
|
|
158
|
+
- [ ] **5.2 Rust Relay 集成 (Rust Relay Integration)**
|
|
159
|
+
- [ ] 5.2.1 Rust 版本 Relay 集成到 COS72 (N0-N3 部署)
|
|
160
|
+
|
|
161
|
+
#### 6. SDSS 服务集成到 COS72 (SDSS Service Integration into COS72)
|
|
162
|
+
- [ ] **6.1 文件服务 SDSS (File Service SDSS)**
|
|
163
|
+
- [ ] 6.1.1 文件服务 SDSS 集成到 COS72
|
|
164
|
+
- [ ] **6.2 Supabase SDSS (Supabase SDSS)**
|
|
165
|
+
- [ ] 6.2.1 Supabase (或类似 BaaS) SDSS 集成到 COS72
|
|
166
|
+
- [ ] **6.3 硬件钱包 SDSS (Hardware Wallet SDSS)**
|
|
167
|
+
- [ ] 6.3.1 硬件钱包 SDSS 集成到 COS72
|
|
168
|
+
|
|
169
|
+
#### 7. COS72 可定制化与发布 (COS72 Customization & Release)
|
|
170
|
+
- [ ] **7.1 可定制化 COS72 (Customizable COS72)**
|
|
171
|
+
- [ ] 7.1.1 COS72 配置化方案设计与实现
|
|
172
|
+
- [ ] 7.1.2 COS72 构建 (Build) 流程优化
|
|
173
|
+
- [ ] 7.1.3 COS72 发布流程建立
|
|
174
|
+
|
|
175
|
+
### 三、应用层 (Application)
|
|
176
|
+
|
|
177
|
+
#### 8. 核心协议与应用 (Core Protocols & Applications)
|
|
178
|
+
- [ ] **8.1 OpenPNTs (Programmable Non-fungible Tokens)**
|
|
179
|
+
- [ ] 8.1.1 OpenPNTs 协议设计与基础应用开发
|
|
180
|
+
- [ ] 8.1.2 OpenPNTs 集成到 COS72
|
|
181
|
+
- [ ] **8.2 OpenCards**
|
|
182
|
+
- [ ] 8.2.1 OpenCards 协议设计与基础应用开发
|
|
183
|
+
- [ ] 8.2.2 OpenCards 集成到 COS72
|
|
184
|
+
- [ ] **8.3 Uniswap V4 Launchpad (可选/探索)**
|
|
185
|
+
- [ ] 8.3.1 Uniswap V4 Launchpad 功能开发
|
|
186
|
+
|
|
187
|
+
#### 9. PNTs 发行与演示 (PNTs Issuance & Demo)
|
|
188
|
+
- [ ] **9.1 PNTs 发行流程设计 (PNTs Issuance Flow Design)**
|
|
189
|
+
- [ ] 9.1.1 PNTs 发行流程 (线上线下、链上) Demo 设计
|
|
190
|
+
- [ ] **9.2 PNTs 发行流程开发 (PNTs Issuance Flow Development)**
|
|
191
|
+
- [ ] 9.2.1 PNTs 发行流程功能开发
|
|
192
|
+
|
|
193
|
+
#### 10. COS72 版本发布 (COS72 Release)
|
|
194
|
+
- [ ] **10.1 COS72 V0.14 发布**
|
|
195
|
+
- [ ] 10.1.1 实现无侵入使用特性
|
|
196
|
+
- [ ] 10.1.2 实现随时解绑账户特性
|
|
197
|
+
- [ ] 10.1.3 支持用户发行自己的积分和 GasCard
|
|
198
|
+
|
|
199
|
+
#### 11. AAStar 生态应用 (AAStar Ecosystem Applications)
|
|
200
|
+
- [ ] **11.1 AAStar 积分 (aPNTs)**
|
|
201
|
+
- [ ] 11.1.1 AAStar 发行自己的积分 aPNTs (基于 OpenPNTs)
|
|
202
|
+
- [ ] 11.1.2 aPNTs 引入 SDSS,管理积分发行
|
|
203
|
+
|
|
204
|
+
#### 12. Arcadia (探索性项目)
|
|
205
|
+
- [ ] **12.1 Arcadia 设计与 Demo 开发**
|
|
206
|
+
- [ ] 12.1.1 Arcadia 概念讨论与哲学 AI 基础研究
|
|
207
|
+
- [ ] 12.1.2 Arcadia Demo2 开发
|
|
208
|
+
|
|
209
|
+
#### 13. 插件生态 (Plugin Ecosystem)
|
|
210
|
+
- [ ] **13.1 插件规划**
|
|
211
|
+
- [ ] 13.1.1 ~20+ 插件的思考、规划与优先级排序
|
|
212
|
+
|
|
213
|
+
### 四、AI 集成 (AI Integration) - (探索与研究阶段为主)
|
|
214
|
+
|
|
215
|
+
#### 14. AI 辅助决策与知识库 (AI-Assisted Decision Making & Knowledge Base)
|
|
216
|
+
- [ ] **14.1 人生路径与未来知识库**
|
|
217
|
+
- [ ] 14.1.1 知识库构建与使用场景探索
|
|
218
|
+
- [ ] **14.2 常规选择与决策 AI 辅助**
|
|
219
|
+
- [ ] 14.2.1 AI 辅助模型研究与原型
|
|
220
|
+
- [ ] **14.3 消费决策 AI**
|
|
221
|
+
- [ ] 14.3.1 消费决策 AI 模型研究与原型
|
|
222
|
+
|
|
223
|
+
#### 15. Crypto + AI (Asset3)
|
|
224
|
+
- [ ] **15.1 Asset3 概念与实现探索**
|
|
225
|
+
- [ ] 15.1.1 Crypto 资产与 AI 结合的创新应用探索
|
|
226
|
+
|
|
227
|
+
### 五、Research 重点 (与开发并行或指导开发)
|
|
228
|
+
|
|
229
|
+
*(这些是研究方向,可能不会直接转化为开发任务,但会影响设计和实现)*
|
|
230
|
+
- [ ] **R1. 签名方案研究**
|
|
231
|
+
- [ ] R1.1 当前签名方案优化与安全性分析 (BLS, EIP-7212 等)
|
|
232
|
+
- [ ] R1.2 后量子密码 (PQC) 签名方案调研与集成可行性分析
|
|
233
|
+
- [ ] **R2. TEE 可信方案研究**
|
|
234
|
+
- [ ] R2.1 TEE 技术栈选择与安全性评估 (e.g., Intel SGX, ARM TrustZone)
|
|
235
|
+
- [ ] R2.2 TEE 证明与远程认证机制研究
|
|
236
|
+
- [ ] **R3. 漏洞与作恶防范研究**
|
|
237
|
+
- [ ] R3.1 硬件层面漏洞分析与防范 (TEE, Secure Element)
|
|
238
|
+
- [ ] R3.2 应用层面安全设计与代码审计方法研究
|
|
239
|
+
- [ ] R3.3 智能合约安全审计与形式化验证方法研究
|
|
240
|
+
- [ ] **R4. 隐私保护技术研究**
|
|
241
|
+
- [ ] R4.1 ZKP (零知识证明) 在账户抽象和 SDSS 中的应用研究
|
|
242
|
+
- [ ] R4.2 匿名地址与隐私交易方案研究
|
|
243
|
+
- [ ] **R5. SDSS V0.1 性能评估**
|
|
244
|
+
- [ ] R5.1 SDSS V0.1 效率、吞吐量、延迟等性能指标测试与分析
|
|
245
|
+
- [ ] **R6. SDSS V0.2 (P2P) 演进研究**
|
|
246
|
+
- [ ] R6.1 SDSS 引入 P2P 网络后的架构变化、性能影响、去中心化程度分析
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
**使用建议:**
|
|
251
|
+
|
|
252
|
+
1. **优先级排序**: 你的任务列表非常庞大。强烈建议根据 MVP (最小可行产品) 原则,对这些任务进行优先级排序。哪些是核心功能,哪些是后续迭代?
|
|
253
|
+
2. **分配负责人和时间**: 将每个 `- [ ]` 任务分配给具体的负责人,并估算完成时间。
|
|
254
|
+
3. **工具**: 使用专业的项目管理工具 (如 Jira, Trello, Asana, Notion, ClickUp 等) 来跟踪这些任务、依赖关系和进度。这个 Markdown 表格可以作为初始导入或高级概览。
|
|
255
|
+
4. **迭代**: 将开发过程划分为多个 Sprint 或迭代,每个迭代有明确的目标。
|
|
256
|
+
5. **定期同步**: 团队内部需要定期开会同步进度、讨论问题和调整计划。
|
|
257
|
+
|
|
258
|
+
这个计划表非常宏大,预祝你的项目顺利推进!
|
|
259
|
+
|
|
260
|
+
分析和思考:
|
|
261
|
+
当务之急是MVP,因此
|
|
262
|
+
1. 低优先级:SDSS是去中心化的,可以独立和分离,因此降低优先级,先中心化,再去中心,迁移难度不大
|
|
263
|
+
2. 低优先级:相对独立的Superpaymaster,Gasless是独立的,可选的,因此中等优先级,完成基础的对接和基础的gasless即可
|
|
264
|
+
3. 最高优先级:账户是串联所有的基础,目前核心是二次签名验证+整体集成(relay等),非SDK(后面再整合为sdk)
|
|
265
|
+
4. 考虑demo也是高优先级,因此需要页面和服务器配合,先有页面js版本,再集成到cos72
|
|
266
|
+
5. 所以计划的第二个版本,只设计高优先级(两个)和中等优先级(1个),请按这个思路筛选,不必那么严苛任务数量
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# 回归测试脚本使用说明
|
|
2
|
+
|
|
3
|
+
## 仅使用两个回归脚本
|
|
4
|
+
|
|
5
|
+
### 1. `run_full_regression.sh` - 完整回归测试
|
|
6
|
+
|
|
7
|
+
**用途**: Anvil本地完整测试套件
|
|
8
|
+
|
|
9
|
+
**包含内容**:
|
|
10
|
+
- Anvil启动与清理
|
|
11
|
+
- 合约部署(DeployV3FullLocal.s.sol)
|
|
12
|
+
- 配置同步
|
|
13
|
+
- 24个测试脚本:
|
|
14
|
+
- ✅ V2回归测试 (6个): 00-05
|
|
15
|
+
- ✅ V3核心测试 (6个): 06-11
|
|
16
|
+
- ✅ 高级功能测试 (12个): 12-23, 98-99
|
|
17
|
+
|
|
18
|
+
**运行方式**:
|
|
19
|
+
```bash
|
|
20
|
+
# Anvil模式(默认)
|
|
21
|
+
./run_full_regression.sh
|
|
22
|
+
|
|
23
|
+
# Sepolia模式(跳过部署)
|
|
24
|
+
./run_full_regression.sh --env sepolia
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
### 2. `run_sdk_regression.sh` - SDK独立测试
|
|
30
|
+
|
|
31
|
+
**用途**: SDK API层面的独立功能测试
|
|
32
|
+
|
|
33
|
+
**包含内容**:
|
|
34
|
+
- BLS签名测试
|
|
35
|
+
- Middleware测试
|
|
36
|
+
- 不依赖Anvil的纯SDK功能
|
|
37
|
+
|
|
38
|
+
**运行方式**:
|
|
39
|
+
```bash
|
|
40
|
+
./run_sdk_regression.sh
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## ⚠️ 已删除脚本
|
|
46
|
+
|
|
47
|
+
- ❌ `scripts/run_regression.sh` (冗余,已合并到run_full_regression.sh)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 快速使用指南
|
|
52
|
+
|
|
53
|
+
### 本地开发验证
|
|
54
|
+
```bash
|
|
55
|
+
./run_full_regression.sh
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Sepolia测试网验证
|
|
59
|
+
```bash
|
|
60
|
+
./run_full_regression.sh --env sepolia
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### SDK功能测试
|
|
64
|
+
```bash
|
|
65
|
+
./run_sdk_regression.sh
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
**结论**: 只需要这两个脚本即可完成所有回归测试! ✅
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
# Reputation-to-Credit 技术映射白皮书
|
|
2
|
+
|
|
3
|
+
## 1. 设计初衷与哲学 (Design Philosophy)
|
|
4
|
+
|
|
5
|
+
AAStar 协议的核心愿景是构建一个“赋能社区、简化开发”的账户抽象基础设施。在这个体系中,**Reputation (声誉)** 和 **Credit (信用/授信)** 是连接链上资产与社交共识的桥梁。
|
|
6
|
+
|
|
7
|
+
### 核心理念:
|
|
8
|
+
- **Reputation 是主观度量**:它代表了社区成员之间的共识。声誉不是单纯的数字,而是基于用户活动(Entropic Factor)和社交关系(Social Graph)的综合评分。
|
|
9
|
+
- **Credit 是经济表现**:信用是将主观声誉转化为客观支付能力的机制。通过信用系统,用户可以“预支”Gas 费用,实现真正的无感交互。
|
|
10
|
+
- **去中心化的安全底线**:通过 DVT (Distributed Validator Technology) 和 BLS 聚合签名,确保声誉的更新不依赖于任何单一中心化实体。
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 2. 技术架构与映射逻辑
|
|
15
|
+
|
|
16
|
+
### 2.1 声誉增长路径 (The Three Tiers)
|
|
17
|
+
|
|
18
|
+
系统设计了三种平行的声誉更新路径,以适应不同的信任级别:
|
|
19
|
+
|
|
20
|
+
| 级别 | 名称 | 触发逻辑 | 验证机制 | 适用场景 |
|
|
21
|
+
| :--- | :--- | :--- | :--- | :--- |
|
|
22
|
+
| **Tier 1** | **Manual Inject** | 管理员手动设定 | 合约 Owner 权限 | 测试、紧急干预、初始数据导入 |
|
|
23
|
+
| **Tier 2** | **Rule-based Sync** | 链上规则自动累加 | 预定义智能合约算法 | 质押奖励、固定活动积分 |
|
|
24
|
+
| **Tier 3** | **DVT Batch Sync** | 离线计算批量同步 | **BLS256 聚合签名证明** | 生产环境、综合行为建模、跨链声誉 |
|
|
25
|
+
|
|
26
|
+
### 2.2 映射模型:从分数到额度
|
|
27
|
+
|
|
28
|
+
声誉分数的转换遵循以下三级映射:
|
|
29
|
+
|
|
30
|
+
1. **Reputation Score (25分)**: 用户在特定社区或全局的活动积分。
|
|
31
|
+
2. **Credit Level (Level 2)**: 在 `Registry` 中注册的等级阈值。
|
|
32
|
+
- *配置示例*:Level 1 (>10分), Level 2 (>20分), Level 3 (>50分)。
|
|
33
|
+
3. **Credit Limit (100 aPNTs)**: 每个等级对应一个全局的基础信用额度。
|
|
34
|
+
4. **Community Limits (xPNTs)**: 各社区可基于全局额度进行微调或设置黑名单。
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 3. 用户场景与活动路径
|
|
39
|
+
|
|
40
|
+
### 场景 A:终端用户 Gasless 体验 (End-user Flow)
|
|
41
|
+
1. **活动产生**:用户在 App 内完成每日签到。
|
|
42
|
+
2. **声誉增长**:`ReputationSystem` 根据 Tier 2 规则自动计算分数增长。
|
|
43
|
+
3. **信用变现**:用户发起交易,`SuperPaymaster` 发现该用户 `Credit Level` 已达标。
|
|
44
|
+
4. **代付执行**:`SuperPaymaster` 为用户垫付 Gas,并在 `xPNTsToken` 中记录债务(Debt)。
|
|
45
|
+
5. **自动偿还**:当用户获得新的社区激励(Mint)时,债务先于余额自动扣除。
|
|
46
|
+
|
|
47
|
+
### 场景 B:社区管理员配置 (Admin Flow)
|
|
48
|
+
1. **启动社区**:通过 `createCommunityClient` 启动并部署社区专属 `xPNTsToken`。
|
|
49
|
+
2. **定义规则**:调用 `ReputationSystem.setRule` 设置“质押 100 GT 每日增 1 分”的规则。
|
|
50
|
+
3. **设置阈值**:在 `Registry` 中定义不同信用等级对应的 Airdrop 权限。
|
|
51
|
+
|
|
52
|
+
### 场景 C:生产级去中心化同步 (DVT Consensus Flow)
|
|
53
|
+
1. **离线分析**:DVT 节点群分析用户的跨链及链上行为。
|
|
54
|
+
2. **共识签名**:多个 DVT 节点对更新后的声誉列表进行 BLS 签名。
|
|
55
|
+
3. **批量注入**:调用 `Registry.batchUpdateGlobalReputation`。合约在毫秒内验证 BLS 证明。
|
|
56
|
+
4. **权限锁死**:Owner 权限收缩,确保非 DVT 签名的声誉更新会被拒绝。
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 4. 关键初始化配置 (Default Setup)
|
|
61
|
+
|
|
62
|
+
为了确保系统的“开箱即用”且安全,我们预设了以下基准配置:
|
|
63
|
+
|
|
64
|
+
- **基础信用阈值 (Level Thresholds)**:
|
|
65
|
+
- Level 1: 13 points (入门级,支持基础转账代付)。
|
|
66
|
+
- Level 2: 50 points (高级用户,支持复杂合约交互)。
|
|
67
|
+
- **信用额度配额 (Credit Tiers)**:
|
|
68
|
+
- Level 1 Limit: 等值 $10 USD 的 aPNTs。
|
|
69
|
+
- Level 2 Limit: 等值 $50 USD 的 aPNTs。
|
|
70
|
+
- **安全拦截器 (Safety Interceptor)**:
|
|
71
|
+
- `SuperPaymaster` 采用**被动黑名单机制**。即使额度足够,若 DVT 标记 `isBlocked=true`,交易仍会被拒绝。
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 5. 结论
|
|
76
|
+
|
|
77
|
+
Reputation-to-Credit 映射不仅是一套算法,它是 AAStar 网络治理的核心。它通过将“社交声誉”转化为“链上信用”,解决了 Web3 用户进入门槛高的痛点,同时利用 DVT 技术确保了这套信用体系的公正与去中心化。
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 6. 核心数据结构与关系映射 (Core Data Structures & Relationships)
|
|
82
|
+
|
|
83
|
+
为了深入理解系统如何从底层数据层面支撑声誉到信用的转换,本节整理了三大核心合约的关键数据对象及其交互关系。
|
|
84
|
+
|
|
85
|
+
### 6.1 对象关系图 (Object Relationship Diagram)
|
|
86
|
+
|
|
87
|
+
```mermaid
|
|
88
|
+
classDiagram
|
|
89
|
+
class Registry {
|
|
90
|
+
+mapping(address => uint256) globalReputation
|
|
91
|
+
+mapping(uint256 => uint256) creditTierConfig
|
|
92
|
+
+uint256[] levelThresholds
|
|
93
|
+
+RoleConfig[] roleConfigs
|
|
94
|
+
+getCreditLimit(user)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
class ReputationSystem {
|
|
98
|
+
+mapping(community => Rule) communityRules
|
|
99
|
+
+mapping(user => score) communityReputations
|
|
100
|
+
+computeScore()
|
|
101
|
+
+syncToRegistry()
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
class SuperPaymaster {
|
|
105
|
+
+mapping(operator => OperatorConfig) operators
|
|
106
|
+
+mapping(operator => user => UserOpState) userOpState
|
|
107
|
+
+validatePaymasterUserOp()
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
class User {
|
|
111
|
+
+address account
|
|
112
|
+
+uint256 reputationScore
|
|
113
|
+
+uint256 creditLimit
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
%% Relationships
|
|
117
|
+
ReputationSystem ..> Registry : 1. Sync Score (Write)
|
|
118
|
+
User --> Registry : 2. Check Level (Read)
|
|
119
|
+
Registry --> SuperPaymaster : 3. Credit Limit (Read)
|
|
120
|
+
SuperPaymaster ..> User : 4. Enforce Blocking (Read State)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 6.2 核心数据对象 (Key Data Objects)
|
|
124
|
+
|
|
125
|
+
#### A. Registry (Single Source of Truth)
|
|
126
|
+
Registry 是整个系统的状态中心,存储了用户的全局声誉和信用配置。
|
|
127
|
+
|
|
128
|
+
| 数据结构 | 类型 | 描述 | 关键字段 (Struct/Field) |
|
|
129
|
+
| :--- | :--- | :--- | :--- |
|
|
130
|
+
| **Global Reputation** | `mapping` | 所有用户的全局声誉分 | `globalReputation[user] => uint256 score` |
|
|
131
|
+
| **Credit Tiers** | `mapping` | 等级与信用额度的映射 | `creditTierConfig[level] => uint256 limit (aPNTs)` |
|
|
132
|
+
| **Level Thresholds** | `array` | 晋升等级所需的分数线 | `levelThresholds[] = [13, 34, 89...]` |
|
|
133
|
+
| **Role Config** | `struct` | 角色行为定义 | `minStake`, `exitFeePercent`, `roleLockDuration` |
|
|
134
|
+
|
|
135
|
+
#### B. ReputationSystem (Calculation Engine)
|
|
136
|
+
负责计算分数的逻辑层,支持规则定义和即时计算。
|
|
137
|
+
|
|
138
|
+
| 数据结构 | 类型 | 描述 | 关键字段 (Struct/Field) |
|
|
139
|
+
| :--- | :--- | :--- | :--- |
|
|
140
|
+
| **Rule** | `struct` | 社区定义的声誉获取规则 | `baseScore`, `activityBonus`, `maxBonus` |
|
|
141
|
+
| **Community Rules** | `mapping` | 社区特有规则集 | `communityRules[community][ruleId] => Rule` |
|
|
142
|
+
| **Score Cache** | `mapping` | 社区内局部声誉缓存 | `communityReputations[community][user] => uint256` |
|
|
143
|
+
|
|
144
|
+
#### C. SuperPaymaster (Execution Layer)
|
|
145
|
+
根据 Registry 的数据执行支付逻辑,并维护自身的风险控制状态。
|
|
146
|
+
|
|
147
|
+
| 数据结构 | 类型 | 描述 | 关键字段 (Struct/Field) |
|
|
148
|
+
| :--- | :--- | :--- | :--- |
|
|
149
|
+
| **OperatorConfig** | `struct` | Paymaster 运营商配置 | `aPNTsBalance`, `exchangeRate`, `isPaused` |
|
|
150
|
+
| **UserOpState** | `struct` | 压缩的用户状态(省Gas) | `uint48 lastTimestamp`, `bool isBlocked` |
|
|
151
|
+
| **PriceCache** | `struct` | 代币价格预言机缓存 | `int256 price`, `uint256 updatedAt` |
|
|
152
|
+
|
|
153
|
+
### 6.3 数据流转逻辑 (Data Flow)
|
|
154
|
+
|
|
155
|
+
整个信用体系的数据流转遵循 **"计算 -> 存储 -> 消费"** 的闭环:
|
|
156
|
+
|
|
157
|
+
1. **计算 (Compute)**: `ReputationSystem` 根据 `Rule` 和用户活动(Activities)计算出 `communityScore`。
|
|
158
|
+
2. **同步 (Sync)**: 通过 `syncToRegistry` 或 DVT 共识,将计算结果写入 `Registry.globalReputation`。
|
|
159
|
+
3. **映射 (Map)**: `Registry` 内部通过 `levelThresholds` 将分数动态映射为 `Credit Level`。
|
|
160
|
+
4. **消费 (Consume)**: 用户发起交易时,`SuperPaymaster` 调用 `Registry.getCreditLimit(user)` 获取最新的信用额度。
|
|
161
|
+
5. **校验 (Validate)**: `SuperPaymaster` 结合自身的 `UserOpState` (是否被屏蔽、频率限制) 和额度,决定是否为该 UserOperation 支付 Gas。
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 7. 深度解析:多社区协同与算法聚合 (Deep Dive: Multi-Community Aggregation)
|
|
166
|
+
|
|
167
|
+
本节通过具体的用户案例(Alice)和运营视角,解析声誉系统如何在去中心化的环境下处理多源数据。
|
|
168
|
+
|
|
169
|
+
### 7.1 用户视角:Alice 的多重身份 (The User Journey)
|
|
170
|
+
|
|
171
|
+
假设用户 **Alice** 加入了三个不同的 DAO 社区,并在每个社区通过不同的行为积累声誉。
|
|
172
|
+
|
|
173
|
+
#### A. 行为记录
|
|
174
|
+
| 社区 | 角色/身份 | 参与活动 (Activity) | 原始积分 |
|
|
175
|
+
| :--- | :--- | :--- | :--- |
|
|
176
|
+
| **Panda DAO** | 治理成员 | **投票 (Vote)**: 参与了 15 次治理投票 | 150 pts |
|
|
177
|
+
| **Dev Guild** | 开发者 | **代码贡献 (PR)**: 合并了 3 个 PR | 300 pts |
|
|
178
|
+
| **Charity Fund**| 捐赠者 | **捐款 (Donate)**: 捐赠了 0.5 ETH | 500 pts |
|
|
179
|
+
|
|
180
|
+
#### B. 数据展示与查询
|
|
181
|
+
Alice 不需要去三个不同的应用查看积分。通过 Aggregator(聚合器)前端或 SDK,她可以调用统一的 ABI 获取全视图:
|
|
182
|
+
- **查询单社区分**:`ReputationSystem.calculateReputation(Alice, PandaDAO, 0)` -> 返回 `150`。
|
|
183
|
+
- **查询全局分**:`Registry.globalReputation(Alice)` -> 返回聚合后的总分(如 `950`)。
|
|
184
|
+
- **查询明细**:`ReputationSystem.getReputationBreakdown(Alice, DevGuild, ...)` -> 返回 `baseScore`, `activityBonus` 等。
|
|
185
|
+
|
|
186
|
+
### 7.2 运营视角:规则配置 (Operator Configuration)
|
|
187
|
+
|
|
188
|
+
三个社区的 Operator (运营者账户) 可以在不修改合约代码的情况下,通过 ABI 设置各自的激励规则。
|
|
189
|
+
|
|
190
|
+
#### A. 规则定义 (Rule Definition)
|
|
191
|
+
通过调用 `ReputationSystem.setRule(bytes32 ruleId, uint base, uint bonus, uint max, string desc)`:
|
|
192
|
+
|
|
193
|
+
1. **Panda DAO (投票)**:
|
|
194
|
+
- `ruleId`: `keccak256("VOTE_ACTION")`
|
|
195
|
+
- `base`: 10 (每次参与的基础分)
|
|
196
|
+
- `bonus`: 0
|
|
197
|
+
- `max`: 1000
|
|
198
|
+
2. **Dev Guild (PR)**:
|
|
199
|
+
- `ruleId`: `keccak256("PR_MERGED")`
|
|
200
|
+
- `base`: 50
|
|
201
|
+
- `bonus`: 10 (代码量额外奖励)
|
|
202
|
+
- `max`: 500
|
|
203
|
+
|
|
204
|
+
#### B. 规则生效逻辑
|
|
205
|
+
规则配置立即存储在链上 `communityRules[communityAddr][ruleId]` 中。只要 Alice 在该社区产生交互(触发 SDK 的 `l4-reputation-tiers.ts` 脚本或后端触发),积分计算逻辑会自动拉取最新的配置进行计算。
|
|
206
|
+
|
|
207
|
+
### 7.3 算法核心:熵增因子与聚合 (The Aggregation Algorithm)
|
|
208
|
+
|
|
209
|
+
系统如何避免“积分通胀”?如何平衡不同社区的权重?核心在于 **内置的加权聚合算法**。
|
|
210
|
+
|
|
211
|
+
#### A. 当前算法逻辑 (Current Logic)
|
|
212
|
+
`ReputationSystem.computeScore` 采用线性加权求和模型:
|
|
213
|
+
|
|
214
|
+
```solidity
|
|
215
|
+
// 伪代码逻辑
|
|
216
|
+
function computeScore(user, communities, activities) {
|
|
217
|
+
totalScore = 0;
|
|
218
|
+
for (comm in communities) {
|
|
219
|
+
rawScore = rules[comm].base + (activity * rules[comm].bonus);
|
|
220
|
+
// 关键:熵增因子 (Entropy Factor)
|
|
221
|
+
// 1e18 = 1.0 (标准权重)
|
|
222
|
+
// 0.5e18 = 0.5 (低质量社区降权)
|
|
223
|
+
weight = entropyFactors[comm];
|
|
224
|
+
totalScore += (rawScore * weight) / 1e18;
|
|
225
|
+
}
|
|
226
|
+
return totalScore;
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
- **Panda DAO** (权重 1.0): 150 * 1.0 = 150
|
|
231
|
+
- **Dev Guild** (权重 1.5 - 技术公会): 300 * 1.5 = 450
|
|
232
|
+
- **Charity Fund** (权重 0.8): 500 * 0.8 = 400
|
|
233
|
+
- **Global Score**: 150 + 450 + 400 = **1000**
|
|
234
|
+
|
|
235
|
+
这种设计允许 Registry 管理员(或 DAO 治理)通过调整 `entropyFactors` 来宏观调控不同社区对全局信用的贡献度,防止恶意刷分社区破坏系统平衡。
|
|
236
|
+
|
|
237
|
+
#### B. 未来演进:可插拔算法模块 (Pluggable Algorithm)
|
|
238
|
+
`ReputationSystem` 目前实现了 `IReputationCalculator` 接口。由于 `Registry` 与计算逻辑是**解耦**的(Registry 只存结果,不存过程),未来可以轻松升级:
|
|
239
|
+
|
|
240
|
+
1. **外置模块化**: 可以部署 `ReputationSystemV2`(例如引入 PageRank 算法或通过 AI 模型分析链上行为)。
|
|
241
|
+
2. **多源喂价**: `Registry.isReputationSource` 允许白名单机制。未来可以授权给 Chainlink Oracle 或 ZK-Verifier 合约,它们可以使用完全不同的链下算法计算分数,只需将最终结果 "Feed" 给 Registry。
|
|
242
|
+
3. **无缝迁移**: 由于 Alice 的 Global Reputation 是累积的,新的算法可以基于旧分进行增量更新,或者通过 Epoch 版本号完全重置,实现平滑过渡。
|