@aastar/sdk 0.16.6 → 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/CHANGELOG.md +43 -0
- package/README.md +39 -139
- package/backup/run_sdk_regression.sh +135 -0
- package/config.anvil.json +1 -1
- package/config.sepolia.json +19 -1
- package/docs/API_REFERENCE.md +9 -169
- package/docs/L4_Manual_Test_CheatSheet.md +22 -65
- package/docs/Reputation-to-Credit_Mapping_Whitepaper.md +242 -0
- package/docs/TESTER_GUIDE_GASLESS.md +23 -277
- 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 +4 -8
- package/env.template +3 -5
- package/examples/l1-api-demo.ts +196 -107
- package/examples/l2-clients-demo.ts +70 -73
- package/examples/l3-community-launch.ts +49 -0
- package/examples/l3-user-onboarding.ts +36 -54
- package/examples/prepare-gasless.ts +1 -1
- package/examples/simple-gasless-demo.ts +55 -26
- package/examples/simple-superpaymaster-demo.ts +2 -2
- package/ext/aastar-shared-config/generate-comparison-table.sh +0 -0
- package/ext/aastar-shared-config/sync-abis.sh +0 -0
- package/ext/aastar-shared-config/sync-versions.mjs +0 -0
- package/ext/aastar-shared-config/verify-all.sh +0 -0
- package/ext/aastar-shared-config/verify-contracts.sh +0 -0
- package/l4-setup.sh +1 -11
- package/lib/shared-config/generate-comparison-table.sh +0 -0
- package/lib/shared-config/sync-abis.sh +0 -0
- package/lib/shared-config/sync-versions.mjs +0 -0
- package/lib/shared-config/verify-all.sh +0 -0
- package/lib/shared-config/verify-contracts.sh +0 -0
- package/package.json +36 -32
- 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 +3 -5
- package/packages/account/src/eoa.ts +2 -4
- package/packages/account/tsconfig.json +2 -1
- 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 +2 -5
- 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/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 +2 -1
- 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 +5 -12
- package/packages/core/src/abis/SuperPaymaster.json +1 -1
- package/packages/core/src/abis/aPNTs.json +1160 -0
- package/packages/core/src/abis/abi.config.json +3 -3
- package/packages/core/src/abis/index.ts +37 -50
- package/packages/core/src/actions/account.ts +137 -126
- package/packages/core/src/actions/aggregator.ts +363 -33
- package/packages/core/src/actions/dvt.ts +261 -45
- package/packages/core/src/actions/entryPoint.ts +56 -233
- package/packages/core/src/actions/factory.ts +671 -552
- package/packages/core/src/actions/faucet.ts +181 -322
- package/packages/core/src/actions/index.ts +2 -5
- package/packages/core/src/actions/paymaster.ts +780 -0
- package/packages/core/src/actions/registry.ts +926 -825
- package/packages/core/src/actions/reputation.ts +568 -278
- package/packages/core/src/actions/sbt.ts +867 -632
- package/packages/core/src/actions/staking.ts +440 -285
- package/packages/core/src/actions/superPaymaster.ts +1058 -793
- package/packages/core/src/actions/tokens.ts +468 -514
- package/packages/core/src/clients/BaseClient.ts +3 -3
- package/packages/core/src/clients/BundlerClient.ts +132 -0
- package/packages/core/src/communities.ts +2 -2
- package/packages/core/src/constants.ts +1 -32
- package/packages/core/src/contract-addresses.ts +3 -10
- package/packages/core/src/contract-versions.ts +374 -0
- package/packages/core/src/contracts.ts +2 -2
- package/packages/core/src/errors/index.ts +173 -0
- package/packages/core/src/index.ts +2 -1
- package/packages/core/src/requirementChecker.ts +39 -1
- package/packages/core/src/roles.ts +50 -61
- package/packages/core/src/validators/index.ts +88 -0
- package/packages/core/tsconfig.json +2 -1
- 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 +3 -5
- package/packages/dapp/tsconfig.json +2 -1
- 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 +3 -5
- package/packages/identity/tsconfig.json +2 -1
- 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 +4 -6
- package/packages/paymaster/src/V4/BundlerCompat.ts +47 -0
- package/packages/paymaster/src/V4/PaymasterClient.ts +122 -17
- package/packages/paymaster/src/V4/PaymasterUtils.ts +37 -23
- package/packages/paymaster/src/V4/SuperPaymasterClient.ts +17 -11
- package/packages/paymaster/tsconfig.json +8 -3
- package/packages/sdk/README.md +21 -0
- package/packages/sdk/__tests__/index.test.ts +9 -0
- package/packages/sdk/aastar/package.json +1 -1
- package/packages/sdk/aastar/tsconfig.json +2 -1
- 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 +4 -14
- package/packages/sdk/src/clients/admin.ts +10 -108
- package/packages/sdk/src/clients/community.ts +242 -176
- package/packages/sdk/src/clients/endUser.ts +168 -291
- package/packages/sdk/src/clients/operator.ts +87 -162
- package/packages/sdk/src/errors/decoder.ts +41 -84
- package/packages/sdk/src/index.ts +10 -9
- package/packages/sdk/src/utils/keys.ts +0 -15
- package/packages/sdk/src/utils/roleData.ts +26 -15
- package/packages/sdk/src/utils/testScenarios.ts +2 -2
- package/packages/sdk/src/utils/userOp.ts +3 -11
- package/packages/sdk/tsconfig.json +2 -1
- 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 +3 -5
- package/packages/tokens/src/index.ts +0 -15
- package/packages/tokens/tsconfig.json +2 -1
- package/publish.sh +30 -0
- package/run_l4_gasless_regression.sh +35 -5
- package/run_sdk_regression.sh +3 -9
- package/scripts/01_prepare_all.ts +198 -149
- package/scripts/02_test_eoa.ts +24 -27
- package/scripts/03_test_standard_aa.ts +153 -48
- package/scripts/04_test_paymaster_v4.ts +198 -41
- package/scripts/05_test_superpaymaster.ts +362 -40
- package/scripts/11_test_core_flows_full.ts +197 -75
- package/scripts/18_test_dvt_sdk_flow.ts +1 -1
- package/scripts/19_sdk_experiment_runner.ts +135 -42
- package/scripts/20_sdk_full_capability.ts +77 -75
- package/scripts/analyze_abi_coverage.ts +4 -4
- package/scripts/analyze_missing_functions.ts +136 -0
- package/scripts/canary-bundler.ts +47 -0
- package/scripts/check-chainlink.ts +28 -0
- package/scripts/check-jason-status.ts +61 -160
- package/scripts/check-roles.ts +1 -1
- package/scripts/complete-jack-superpaymaster.ts +1 -1
- package/scripts/deploy_and_init_v3.sh +0 -0
- package/scripts/deploy_jason_pm.ts +114 -0
- package/scripts/dev_tools/extract_abis.sh +0 -0
- package/scripts/dev_tools/extract_addresses_to_env.sh +0 -0
- package/scripts/extract-docs.sh +9 -78
- package/scripts/l4-debug-bob.ts +62 -0
- package/scripts/l4-paymasterv4-transfer-test.ts +12 -20
- package/scripts/l4-setup.ts +1235 -341
- package/scripts/l4-state.json +16 -14
- package/scripts/manual-update-price.ts +39 -0
- package/scripts/phase1_verify_contracts.ts +1 -1
- package/scripts/publish_all.sh +0 -0
- package/scripts/query-jack-token.ts +1 -1
- package/scripts/run_automated_experiment.sh +0 -0
- package/scripts/run_full_regression.sh +38 -0
- package/scripts/run_l4_gasless_regression.sh +0 -0
- package/scripts/run_sdk_experiment.sh +0 -0
- package/scripts/run_sdk_regression-v2.sh +0 -0
- package/scripts/sdk_regression_v2.ts +20 -34
- package/scripts/security_audit.sh +0 -0
- package/scripts/setup-bbq-community.ts +2 -2
- package/scripts/setup-dancing-community.ts +3 -3
- package/scripts/test-brown-v4-deploy.ts +2 -2
- package/scripts/test-faucet-and-gasless.ts +119 -139
- package/scripts/test-jack-gasless.ts +1 -1
- package/scripts/test-jack-registration.ts +2 -2
- package/scripts/test-jack-superpaymaster-api.ts +2 -2
- package/scripts/test-kms-gasless.ts +307 -93
- package/scripts/update-price-dvt.ts +53 -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/verify-bob-token.ts +41 -0
- package/sdk-abi-coverage.sh +1 -0
- package/sdk-build-and-test.sh +1 -0
- package/sdk-test-coverage.sh +1 -0
- package/simple-test-paymaster.sh +1 -1
- package/simple-test-superpaymaster.sh +3 -1
- package/tests/check-aa-balance.ts +31 -0
- package/tests/l1-regression.test.ts +13 -34
- package/tests/l4-test-anni-gasless.ts +497 -85
- package/tests/l4-test-jason1-gasless.ts +29 -21
- package/tests/l4-test-jason2-gasless.ts +21 -15
- package/tests/l4-test-pmv4-deposit.ts +2 -2
- package/tests/l4-test-pmv4-gasless.ts +2 -2
- package/tests/l4-test-pmv4-submit.ts +2 -2
- package/tests/regression/config.ts +4 -2
- package/tests/regression/index.ts +0 -0
- package/tests/regression/l1-tests.ts +16 -35
- package/tests/regression/l2-tests.ts +149 -93
- package/tests/regression/l3-tests.ts +16 -113
- package/tests/regression/l4-comprehensive-gasless.ts +478 -0
- package/tests/regression/l4-gasless.ts +115 -13
- package/tests/regression/l4-reputation-tiers.ts +102 -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 +3 -3
- package/tsconfig.build.json +23 -0
- package/tsconfig.json +5 -19
- package/typedoc.json +5 -39
- package/update-version.sh +20 -0
- package/vitest.config.ts +6 -5
- package/.eslintrc.cjs +0 -30
- package/docs/ABI_Change_Tracking_Workflow.md +0 -41
- package/docs/Faucet_Gasless_Plan.md +0 -56
- package/docs/api/@aastar/account.md +0 -235
- package/docs/api/@aastar/analytics.md +0 -219
- package/docs/api/@aastar/core.md +0 -26830
- package/docs/api/@aastar/dapp.md +0 -130
- package/docs/api/@aastar/identity.md +0 -482
- package/docs/api/@aastar/paymaster.md +0 -1387
- package/docs/api/@aastar/sdk/README.md +0 -155
- package/docs/api/@aastar/sdk/node.md +0 -4044
- package/docs/api/@aastar/tokens.md +0 -1971
- package/docs/changelog.md +0 -99
- package/docs/examples/README.md +0 -18
- package/docs/guide/concepts/account-abstraction.md +0 -95
- package/docs/guide/concepts/rainbow-bridge.md +0 -68
- package/docs/guide/concepts/reputation.md +0 -95
- package/docs/guide/concepts/superpaymaster.md +0 -141
- package/docs/guide/use-cases/community-management.md +0 -141
- package/docs/guide/use-cases/gasless-transactions.md +0 -71
- package/docs/guide/use-cases/operator-staking.md +0 -84
- package/docs/guide/use-cases/yop.md +0 -72
- package/docs/refactor/2026-01-13-221242-trae-refactor.md +0 -224
- package/docs/refactor/2026-01-13-audit-analysis.md +0 -96
- package/docs/refactor/2026-01-13-audit-report-v0.16.2.md +0 -76
- package/docs/refactor/2026-01-13-audit-report-v0.17.0.md +0 -74
- package/docs/refactor/2026-01-13-cursor-refactor.md +0 -511
- package/docs/refactor/2026-01-13-refactor-plan.md +0 -88
- package/docs/refactor/2026-01-13-refactor-response-plan.md +0 -77
- package/docs/refactor/2026-01-13-refactor-review.md +0 -39
- package/docs/refactor/2026-01-13-sdk-enhancement-plan.md +0 -120
- package/docs/refactor/2026-01-14-audit-response.md +0 -242
- package/docs/refactor/2026-01-14-audit-summary.md +0 -133
- package/docs/refactor/cursor-2026-01-13-14-00-audit-report.md +0 -267
- package/packages/account/src/accounts/simple.test.ts +0 -93
- package/packages/account/src/eoa.test.ts +0 -37
- package/packages/account/src/index.test.ts +0 -34
- package/packages/core/scripts/audit-abi-coverage.ts +0 -165
- package/packages/core/scripts/debug-regex.ts +0 -36
- package/packages/core/src/abis/.abi-hashes.json +0 -26
- package/packages/core/src/actions/StateValidator.test.ts +0 -175
- package/packages/core/src/actions/account.test.ts +0 -155
- package/packages/core/src/actions/aggregator.test.ts +0 -88
- package/packages/core/src/actions/dvt.test.ts +0 -124
- package/packages/core/src/actions/entryPoint.test.ts +0 -176
- package/packages/core/src/actions/factory.test.ts +0 -250
- package/packages/core/src/actions/faucet.test.ts +0 -202
- package/packages/core/src/actions/gtokenExtended.test.ts +0 -162
- package/packages/core/src/actions/gtokenExtended.ts +0 -153
- package/packages/core/src/actions/paymasterV4.test.ts +0 -209
- package/packages/core/src/actions/paymasterV4.ts +0 -455
- package/packages/core/src/actions/registry.test.ts +0 -443
- package/packages/core/src/actions/reputation.test.ts +0 -225
- package/packages/core/src/actions/sbt.test.ts +0 -322
- package/packages/core/src/actions/staking.test.ts +0 -273
- package/packages/core/src/actions/superPaymaster.test.ts +0 -356
- package/packages/core/src/actions/tokens.test.ts +0 -60
- package/packages/core/src/actions/validators.test.ts +0 -239
- package/packages/core/src/actions/validators.ts +0 -590
- package/packages/core/src/contracts.test.ts +0 -58
- package/packages/core/src/requirementChecker.test.ts +0 -71
- package/packages/core/src/roles.test.ts +0 -34
- package/packages/core/src/utils/validation.test.ts +0 -50
- package/packages/core/src/utils/validation.ts +0 -66
- package/packages/core/vitest.config.ts +0 -14
- package/packages/paymaster/src/V4/PaymasterClient.test.ts +0 -114
- package/packages/paymaster/src/V4/PaymasterOperator.test.ts +0 -80
- package/packages/paymaster/src/V4/PaymasterUtils.test.ts +0 -54
- package/packages/paymaster/src/V4/SuperPaymasterClient.test.ts +0 -79
- package/packages/sdk/coverage_output.txt +0 -393
- package/packages/sdk/coverage_output_final.txt +0 -739
- package/packages/sdk/coverage_output_final_v2.txt +0 -722
- package/packages/sdk/coverage_output_final_v3.txt +0 -722
- package/packages/sdk/src/clients/ExperimentClient.test.ts +0 -65
- package/packages/sdk/src/clients/admin.test.ts +0 -98
- package/packages/sdk/src/clients/clients.test.ts +0 -104
- package/packages/sdk/src/clients/community.test.ts +0 -118
- package/packages/sdk/src/clients/endUser.test.ts +0 -221
- package/packages/sdk/src/clients/operator.test.ts +0 -162
- package/packages/sdk/src/errors/AAStarError.test.ts +0 -92
- package/packages/sdk/src/errors/AAStarError.ts +0 -70
- package/packages/sdk/src/errors/decoder.test.ts +0 -107
- package/packages/sdk/src/node/index.ts +0 -8
- package/packages/sdk/src/types/result.ts +0 -29
- package/packages/sdk/src/utils/errorHandler.test.ts +0 -102
- package/packages/sdk/src/utils/eventDecoder.test.ts +0 -56
- package/packages/sdk/src/utils/eventDecoder.ts +0 -66
- package/packages/sdk/src/utils/funding.test.ts +0 -117
- package/packages/sdk/src/utils/keys.test.ts +0 -105
- package/packages/sdk/src/utils/roleData.test.ts +0 -85
- package/packages/sdk/src/utils/testScenarios.test.ts +0 -79
- package/packages/sdk/src/utils/userOp.test.ts +0 -190
- package/scripts/debug-addr.ts +0 -43
- package/scripts/debug-community-registration.ts +0 -92
- package/scripts/debug-deploy-v4.ts +0 -116
- package/scripts/debug-paymaster.ts +0 -127
- package/scripts/debug-register-role.ts +0 -101
- package/scripts/debug-version.ts +0 -71
- package/scripts/debug_account_c.ts +0 -43
- package/scripts/debug_bls.ts +0 -58
- package/scripts/debug_config_v036.ts +0 -13
- package/scripts/debug_contracts.ts +0 -2
- package/scripts/debug_env.ts +0 -69
- package/scripts/debug_find_paymaster.ts +0 -98
- package/scripts/debug_isolated_registration.ts +0 -256
- package/scripts/debug_paymaster_config.ts +0 -19
- package/scripts/debug_pim_addr.ts +0 -23
- package/scripts/debug_pm_status.ts +0 -51
- package/scripts/debug_registry.ts +0 -39
- package/scripts/debug_registry_setup.ts +0 -129
- package/scripts/debug_sanity.ts +0 -32
- package/scripts/debug_shared_config.ts +0 -10
- package/scripts/debug_token_compat.ts +0 -51
- package/scripts/debug_tokens.ts +0 -41
- package/scripts/debug_vcheck.ts +0 -33
- package/scripts/test_groups.ts +0 -138
- package/scripts/test_multi_community_anvil.ts +0 -276
- package/scripts/test_new_sdk_apis_sepolia.ts +0 -193
- package/scripts/test_sdk_join_idempotent.ts +0 -233
- package/scripts/test_simple_sepolia.ts +0 -44
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: Gas Analytics Daily Report
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
# Run every day at 00:00 UTC
|
|
6
|
+
- cron: '0 0 * * *'
|
|
7
|
+
workflow_dispatch: # Allow manual trigger
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
analyze-and-report:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
env:
|
|
14
|
+
SEPOLIA_RPC_URL: ${{ secrets.SEPOLIA_RPC_URL }}
|
|
15
|
+
PRIVATE_KEY_SUPPLIER: ${{ secrets.PRIVATE_KEY_SUPPLIER }} # Needed if any tx is required, though analysis is read-only usually
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout code
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- name: Setup Node.js
|
|
22
|
+
uses: actions/setup-node@v4
|
|
23
|
+
with:
|
|
24
|
+
node-version: '20'
|
|
25
|
+
cache: 'pnpm'
|
|
26
|
+
|
|
27
|
+
- name: Install pnpm
|
|
28
|
+
uses: pnpm/action-setup@v3
|
|
29
|
+
with:
|
|
30
|
+
version: 8
|
|
31
|
+
|
|
32
|
+
- name: Install Dependencies
|
|
33
|
+
run: pnpm install --frozen-lockfile
|
|
34
|
+
|
|
35
|
+
- name: Fetch External Data
|
|
36
|
+
# Ensure we have the latest benchmarks
|
|
37
|
+
run: npx tsx packages/analytics/src/gas-analyzer-v4.ts --fetch-only || true
|
|
38
|
+
|
|
39
|
+
- name: Generate Gas Analytics Report
|
|
40
|
+
run: |
|
|
41
|
+
mkdir -p packages/analytics/reports/daily
|
|
42
|
+
REPORT_NAME="gas_report_$(date +%Y%m%d).md"
|
|
43
|
+
npx tsx packages/analytics/src/gas-analyzer-v4.ts > packages/analytics/reports/daily/$REPORT_NAME
|
|
44
|
+
|
|
45
|
+
# Also update the latest summary
|
|
46
|
+
cp packages/analytics/reports/daily/$REPORT_NAME packages/analytics/reports/LATEST.md
|
|
47
|
+
|
|
48
|
+
- name: Commit and Push Report
|
|
49
|
+
uses: stefanzweifel/git-auto-commit-action@v5
|
|
50
|
+
with:
|
|
51
|
+
commit_message: "chore(analytics): generate daily gas report [skip ci]"
|
|
52
|
+
file_pattern: 'packages/analytics/reports/**'
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [0.16.11] - 2026-01-19
|
|
6
|
+
|
|
7
|
+
### 📊 Gas Analytics & Reporting (New Package)
|
|
8
|
+
- **[NEW]** Added `@aastar/analytics` package for comprehensive gas analysis.
|
|
9
|
+
- **[FEATURE]** `CostCalculator`: Calculates true L1/L2 gas costs, protocol profit (10% premium + buffer), and user savings.
|
|
10
|
+
- **[FEATURE]** `AttributionAnalyzer`: Simulates L2 costs (Optimism model) to provide "Apple-to-Apple" competitiveness comparisons.
|
|
11
|
+
- **[REPORT]** `gas-analyzer-v4.ts`: Generates detailed reports showing ~28% protocol profit margin and ~400x savings vs. Ethereum L1.
|
|
12
|
+
|
|
13
|
+
### SDK & Core Enhancements
|
|
14
|
+
- **[FIX]** **Anni Gasless Fix**: Updated `l4-setup.ts` to use `updatePriceDVT` for refreshing stale SuperPaymaster price cache, preventing "UserOperation expired" errors.
|
|
15
|
+
- **[FIX]** **Duplicate Build Fix**: Resolved merge conflicts and duplicate identifiers in `packages/core` actions (e.g., `contracts.ts`, `actions/index.ts`).
|
|
16
|
+
- **[FIX]** **Build System**: Removed residual `*.test.ts` files in modification directories to ensure clean `tsc` builds.
|
|
17
|
+
|
|
18
|
+
### Regression & Testing
|
|
19
|
+
- **[IMPROVED]** `L4 Regression`: Full automation for Setup -> Funding -> Gasless Transactions -> Analytics.
|
|
20
|
+
- **[FEATURE]** `DVT Price Update`: Integrated DVT signature generation in test setup to simulate authenticated price updates.
|
|
21
|
+
|
|
22
|
+
- **[BREAKING]** Decoupled development and production build configurations.
|
|
23
|
+
- Added `tsconfig.build.json` for strictly clean production builds (`pnpm build`).
|
|
24
|
+
- Updated root `tsconfig.json` to retain `paths` mappings for rapid development (`tsx`).
|
|
25
|
+
- Updated all `packages/*/tsconfig.json` to extend the build configuration.
|
|
26
|
+
- Fixed `packages/core` build output to correctly generate type definitions (`.d.ts`).
|
|
27
|
+
|
|
28
|
+
### SDK Core (`@aastar/core`)
|
|
29
|
+
- **[CHANGED]** `BaseClient` visibility update.
|
|
30
|
+
- Changed `client` and `getStartPublicClient` from `protected` to `public` to allow easier extension and debugging in consuming applications.
|
|
31
|
+
- **[Check]** Standardized ABI exports.
|
|
32
|
+
- Updated `abis/index.ts` to support both array-based and object-based (`{ abi: [] }`) ABI JSON formats, resolving compatibility issues with external artifacts.
|
|
33
|
+
|
|
34
|
+
### SDK Operator (`@aastar/operator`)
|
|
35
|
+
- **[FIXED]** ABI Property Access.
|
|
36
|
+
- Fixed runtime error where `PaymasterOperatorClient` attempted to access `.abi` on a raw ABI array. Now uses the standardized `PaymasterABI` export.
|
|
37
|
+
|
|
38
|
+
### SDK EndUser (`@aastar/enduser`)
|
|
39
|
+
- **[FIXED]** `UserClient` build failure due to `BaseClient` visibility issues.
|
|
40
|
+
|
|
41
|
+
### Testing & Regression
|
|
42
|
+
- **[ADDED]** `run_sdk_regression.sh` now supports a strict `sepolia` environment mode with correct `.env` loading (`set -a`).
|
|
43
|
+
- **[ADDED]** `extract_v3_abis.sh` integration for reliable ABI synchronization from the SuperPaymaster project.
|
package/README.md
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
# AAStar SDK
|
|
2
|
-
|
|
1
|
+
# AAStar SDK (Mycelium Network)
|
|
2
|
+
|
|
3
3
|
<p align="left">
|
|
4
4
|
<img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT" style="display:inline-block; margin-right: 10px;" />
|
|
5
5
|
<img src="https://img.shields.io/badge/TypeScript-5.0-blue" alt="TypeScript" style="display:inline-block; margin-right: 10px;" />
|
|
6
|
-
<img src="https://img.shields.io/badge/Status-0.
|
|
6
|
+
<img src="https://img.shields.io/badge/Status-0.14.0-green" alt="Status" style="display:inline-block;" />
|
|
7
7
|
</p>
|
|
8
8
|
|
|
9
|
-
**Comprehensive Account Abstraction Infrastructure SDK - Mycelium Network
|
|
10
|
-
**完整的账户抽象基础设施 SDK - Mycelium
|
|
9
|
+
**Comprehensive Account Abstraction Infrastructure SDK - Powering the Mycelium Network**
|
|
10
|
+
**完整的账户抽象基础设施 SDK - 为 Mycelium 网络提供动力**
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
## 📚 Contents / 目录
|
|
15
15
|
|
|
16
|
-
- [AAStar SDK](#aastar-sdk)
|
|
16
|
+
- [AAStar SDK (Mycelium Network)](#aastar-sdk-mycelium-network)
|
|
17
17
|
- [📚 Contents / 目录](#-contents--目录)
|
|
18
18
|
- [Introduction / 简介](#introduction--简介)
|
|
19
19
|
- [Core Features / 核心特性](#core-features--核心特性)
|
|
@@ -23,28 +23,8 @@
|
|
|
23
23
|
- [End User Gasless Transaction / 终端用户 Gasless 流程](#end-user-gasless-transaction--终端用户-gasless-流程)
|
|
24
24
|
- [Testing Commands / 测试命令](#testing-commands--测试命令)
|
|
25
25
|
- [SDK Regression (Using SDK Clients)](#sdk-regression-using-sdk-clients)
|
|
26
|
-
- [ABI Alignment \& Coverage](#abi-alignment--coverage)
|
|
27
26
|
- [Full Protocol Regression (Anvil Dedicated)](#full-protocol-regression-anvil-dedicated)
|
|
28
|
-
- [Development Guides / 开发指南](#development-guides--开发指南)
|
|
29
|
-
- [ABI Maintenance / ABI 维护](#abi-maintenance--abi-维护)
|
|
30
|
-
- [Node.js Usage / Node.js 使用](#nodejs-usage--nodejs-使用)
|
|
31
|
-
- [Development Workflow / 开发者工作流](#development-workflow--开发者工作流)
|
|
32
|
-
- [Step 1: Modify Contracts / 修改合约](#step-1-modify-contracts--修改合约)
|
|
33
|
-
- [Step 2: Local Build \& Deploy (Anvil) / 本地构建与部署](#step-2-local-build--deploy-anvil--本地构建与部署)
|
|
34
|
-
- [Step 3: Run Local Tests / 运行本地测试](#step-3-run-local-tests--运行本地测试)
|
|
35
|
-
- [Step 4: Deploy to Sepolia / 部署至 Sepolia](#step-4-deploy-to-sepolia--部署至-sepolia)
|
|
36
|
-
- [Step 5: Verify on Sepolia / Sepolia 验证](#step-5-verify-on-sepolia--sepolia-验证)
|
|
37
27
|
- [Academic Research / 学术研究](#academic-research--学术研究)
|
|
38
|
-
- [API Documentation / API 文档](#api-documentation--api-文档)
|
|
39
|
-
- [📚 Complete API Reference](#-complete-api-reference)
|
|
40
|
-
- [📊 Documentation Coverage](#-documentation-coverage)
|
|
41
|
-
- [🔍 Key API Highlights](#-key-api-highlights)
|
|
42
|
-
- [Core Package (`@aastar/core`)](#core-package-aastarcore)
|
|
43
|
-
- [Account Package (`@aastar/account`)](#account-package-aastaraccount)
|
|
44
|
-
- [Paymaster Package (`@aastar/paymaster`)](#paymaster-package-aastarpaymaster)
|
|
45
|
-
- [Tokens Package (`@aastar/tokens`)](#tokens-package-aastartokens)
|
|
46
|
-
- [📝 Documentation Features](#-documentation-features)
|
|
47
|
-
- [🚀 Generate Documentation](#-generate-documentation)
|
|
48
28
|
- [Support / 支援](#support--支援)
|
|
49
29
|
|
|
50
30
|
---
|
|
@@ -87,31 +67,22 @@ pnpm install @aastar/sdk @aastar/core viem
|
|
|
87
67
|
---
|
|
88
68
|
|
|
89
69
|
## Quick Start / 快速开始
|
|
90
|
-
### End User Gasless Transaction / 终端用户 Gasless 流程
|
|
91
70
|
|
|
92
|
-
|
|
71
|
+
### End User Gasless Transaction / 终端用户 Gasless 流程
|
|
93
72
|
|
|
94
73
|
```typescript
|
|
95
|
-
import {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
wallet,
|
|
108
|
-
aaAccount,
|
|
109
|
-
entryPoint,
|
|
110
|
-
paymasterAddress,
|
|
111
|
-
gasTokenAddress,
|
|
112
|
-
bundlerUrl,
|
|
113
|
-
callData
|
|
114
|
-
);
|
|
74
|
+
import { createEndUserClient } from '@aastar/sdk';
|
|
75
|
+
|
|
76
|
+
const user = createEndUserClient({
|
|
77
|
+
account,
|
|
78
|
+
paymasterUrl: 'https://paymaster.aastar.io'
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// Send sponsored transaction / 使用社区信用代付 Gas
|
|
82
|
+
await user.sendGaslessTransaction({
|
|
83
|
+
to: TARGET_ADDR,
|
|
84
|
+
data: CALL_DATA
|
|
85
|
+
});
|
|
115
86
|
```
|
|
116
87
|
|
|
117
88
|
---
|
|
@@ -123,17 +94,6 @@ const hash = await PaymasterClient.submitGaslessUserOperation(
|
|
|
123
94
|
pnpm run test:full_sdk
|
|
124
95
|
```
|
|
125
96
|
|
|
126
|
-
### ABI Alignment & Coverage
|
|
127
|
-
```bash
|
|
128
|
-
# Audit ABI alignment between Registry.json and core/actions
|
|
129
|
-
pnpm run audit:abi
|
|
130
|
-
|
|
131
|
-
# Run unit tests with coverage report
|
|
132
|
-
pnpm run test:coverage
|
|
133
|
-
# or for specific packages
|
|
134
|
-
pnpm exec vitest run packages --coverage
|
|
135
|
-
```
|
|
136
|
-
|
|
137
97
|
|
|
138
98
|
### Full Protocol Regression (Anvil Dedicated)
|
|
139
99
|
```bash
|
|
@@ -146,19 +106,6 @@ pnpm run test:full_anvil
|
|
|
146
106
|
|
|
147
107
|
### ABI Maintenance / ABI 维护
|
|
148
108
|
- [ABI Maintenance Plan](./docs/ABI_MAINTENANCE_PLAN.md) - 合约 ABI 自动同步和维护策略
|
|
149
|
-
- [ABI Change Tracking Workflow](./docs/ABI_Change_Tracking_Workflow.md) - ABI 变动追踪与 SDK 自动化审计流程
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
### Node.js Usage / Node.js 使用
|
|
154
|
-
For server-side or CLI tools needing direct private key management (e.g., `KeyManager`), use the Node-specific export:
|
|
155
|
-
|
|
156
|
-
```typescript
|
|
157
|
-
import { KeyManager } from '@aastar/sdk/node';
|
|
158
|
-
|
|
159
|
-
// Generate or load keys securely
|
|
160
|
-
const key = KeyManager.loadFromEnv('PRIVATE_KEY');
|
|
161
|
-
```
|
|
162
109
|
|
|
163
110
|
---
|
|
164
111
|
|
|
@@ -212,87 +159,40 @@ cd projects/aastar-sdk
|
|
|
212
159
|
|
|
213
160
|
---
|
|
214
161
|
|
|
215
|
-
##
|
|
162
|
+
## 📊 Gas Analytics & Reporting | Gas 分析与报表
|
|
163
|
+
The SDK includes a powerful **Gas Analytics Module** for analyzing Paymaster efficiency, tracking costs, and generating industry comparison reports.
|
|
164
|
+
SDK 包含一个强大的 **Gas 分析模块**,用于分析 Paymaster 效率、追踪成本并生成行业对比报告。
|
|
216
165
|
|
|
217
|
-
|
|
166
|
+
### Quick Start | 快速开始
|
|
167
|
+
Generate a real-time analysis of recent Sepolia transactions:
|
|
168
|
+
生成最近 Sepolia 交易的实时分析:
|
|
169
|
+
```bash
|
|
170
|
+
npx tsx packages/analytics/src/gas-analyzer-v4.ts
|
|
171
|
+
```
|
|
218
172
|
|
|
219
|
-
|
|
173
|
+
### Key Features | 核心功能
|
|
174
|
+
- **Double-Layer Analysis (双层分析)**: Intrinsic EVM Efficiency vs. Economic USD Costs
|
|
175
|
+
- **Industry Benchmarking (行业对标)**: Compare AAStar vs. Optimism, Alchemy, Pimlico
|
|
176
|
+
- **Profit Tracking (利润追踪)**: Transparent breakdown of Protocol Revenue & Profit
|
|
177
|
+
- **L2 Simulation (L2 模拟)**: Estimate savings for migrating UserOps to Optimism
|
|
220
178
|
|
|
221
|
-
|
|
179
|
+
👉 **[View Full Analytics Documentation | 查看完整分析文档](./packages/analytics/README.md)**
|
|
222
180
|
|
|
223
181
|
---
|
|
224
182
|
|
|
225
|
-
##
|
|
226
|
-
|
|
227
|
-
### 📚 Complete API Reference
|
|
228
|
-
|
|
229
|
-
The SDK provides comprehensive TypeDoc-generated API documentation for all packages:
|
|
230
|
-
|
|
231
|
-
- **📖 [Full API Documentation](./docs/api/)** - Complete reference for all packages
|
|
232
|
-
- **🌐 [Online Documentation](https://docs.aastar.io)** - Hosted documentation site
|
|
233
|
-
|
|
234
|
-
### 📊 Documentation Coverage
|
|
235
|
-
|
|
236
|
-
| Package | Classes | Functions | Interfaces | Types | Total APIs |
|
|
237
|
-
|---------|---------|-----------|------------|-------|------------|
|
|
238
|
-
| **[@aastar/core](./docs/api/@aastar/core/)** | 7 | 51 | 14 | 20 | **92+** |
|
|
239
|
-
| **[@aastar/account](./docs/api/@aastar/account/)** | 1 | 4 | 2 | 2 | **9** |
|
|
240
|
-
| **[@aastar/paymaster](./docs/api/@aastar/paymaster/)** | 4 | 7 | 4 | 4 | **19** |
|
|
241
|
-
| **[@aastar/tokens](./docs/api/@aastar/tokens/)** | 1 | 15+ | - | - | **16+** |
|
|
242
|
-
| **Total** | **13** | **77+** | **20+** | **26+** | **136+** |
|
|
243
|
-
|
|
244
|
-
### 🔍 Key API Highlights
|
|
245
|
-
|
|
246
|
-
#### Core Package (`@aastar/core`)
|
|
247
|
-
- **Configuration Management**: `ContractConfigManager`, `getNetwork()`, `getRpcUrl()`
|
|
248
|
-
- **Role System**: 7 role constants with complete requirements and permissions
|
|
249
|
-
- **Actions**: Registry, Staking, SBT, SuperPaymaster, Token, EntryPoint actions
|
|
250
|
-
- **Validation**: `RequirementChecker`, `StateValidator`, `AAStarValidationError`
|
|
251
|
-
- **Client Base**: `BaseClient` with full viem integration
|
|
252
|
-
|
|
253
|
-
#### Account Package (`@aastar/account`)
|
|
254
|
-
- **User Operations**: `UserOpClient` for AA account management
|
|
255
|
-
- **Account Creation**: `createEOAWalletClient()`, `toSimpleSmartAccount()`
|
|
256
|
-
- **Utilities**: `getUserOpHash()`, `packUserOpLimits()`
|
|
257
|
-
|
|
258
|
-
#### Paymaster Package (`@aastar/paymaster`)
|
|
259
|
-
- **Clients**: `PaymasterClient`, `SuperPaymasterClient`, `SuperPaymasterAdminClient`, `PaymasterOperator`
|
|
260
|
-
- **Middleware**: `getPaymasterV4Middleware()`, `getSuperPaymasterMiddleware()`
|
|
261
|
-
- **Utilities**: `checkEligibility()`, `buildPaymasterData()`, `buildSuperPaymasterData()`
|
|
262
|
-
|
|
263
|
-
#### Tokens Package (`@aastar/tokens`)
|
|
264
|
-
- **Finance Client**: `FinanceClient` with 15+ token operation methods
|
|
265
|
-
- **GToken Operations**: Balance queries, staking, unstaking, rewards
|
|
266
|
-
- **aPNTs Operations**: Minting, burning, wrapping, balance management
|
|
267
|
-
- **Tokenomics**: `getTokenomicsOverview()`, `getCirculatingSupply()`
|
|
268
|
-
|
|
269
|
-
### 📝 Documentation Features
|
|
270
|
-
|
|
271
|
-
✅ **Zero Warnings**: Clean documentation generation with no TypeDoc warnings
|
|
272
|
-
✅ **100% Accuracy**: All API docs verified against source code
|
|
273
|
-
✅ **Complete Coverage**: All exported APIs documented with types, parameters, and examples
|
|
274
|
-
✅ **Rich Metadata**: JSDoc comments, usage examples, and source code links
|
|
275
|
-
✅ **Auto-Generated**: Synchronized with latest codebase via `pnpm run docs:generate`
|
|
183
|
+
## Academic Research / 学术研究
|
|
276
184
|
|
|
277
|
-
|
|
185
|
+
The SDK supports doctoral data collection for the SuperPaymaster paper. Official experiment logger is available at `scripts/19_sdk_experiment_runner.ts`.
|
|
278
186
|
|
|
279
|
-
|
|
280
|
-
# Generate API documentation
|
|
281
|
-
pnpm run docs:generate
|
|
187
|
+
本 SDK 支撑了 SuperPaymaster 论文的博士实验数据采集。官方实验记录器位于 `scripts/19_sdk_experiment_runner.ts`。
|
|
282
188
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
```
|
|
189
|
+
- [Stage 3 Scenario Experiment Plan](./docs/STAGE_3_SCENARIO_EXP_PLAN.md)
|
|
190
|
+
- [Reputation-to-Credit Mapping Whitepaper](./docs/Reputation-to-Credit_Mapping_Whitepaper.md) - 声誉与信用体系映射技术白皮书
|
|
286
191
|
|
|
287
192
|
---
|
|
288
193
|
|
|
289
194
|
## Support / 支援
|
|
290
195
|
|
|
291
|
-
**⭐ If you find this project helpful, please consider giving us a star on GitHub!**
|
|
292
|
-
**如果您觉得这个项目有帮助,请在 GitHub 上给我们一个 Star!**
|
|
293
|
-
|
|
294
|
-
[](https://github.com/AAStarCommunity/aastar-sdk)
|
|
295
|
-
|
|
296
196
|
- **Documentation**: [docs.aastar.io](https://docs.aastar.io)
|
|
297
197
|
- **GitHub**: [AAStarCommunity/aastar-sdk](https://github.com/AAStarCommunity/aastar-sdk)
|
|
298
198
|
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# SDK Full Regression & Scenario Runner
|
|
3
|
+
# Usage: ./run_sdk_regression.sh [--env anvil|sepolia] [--scenarios-only]
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
# 1. Configuration & Args
|
|
8
|
+
export PATH="$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin:$HOME/.foundry/bin:$HOME/Library/pnpm:/Users/jason/.nvm/versions/node/v24.12.0/bin"
|
|
9
|
+
|
|
10
|
+
ENV="anvil"
|
|
11
|
+
SCENARIOS_ONLY=false
|
|
12
|
+
KEEP_ANVIL=false
|
|
13
|
+
|
|
14
|
+
while [[ "$#" -gt 0 ]]; do
|
|
15
|
+
case $1 in
|
|
16
|
+
--env) ENV="$2"; shift ;;
|
|
17
|
+
--scenarios-only) SCENARIOS_ONLY=true ;;
|
|
18
|
+
--keep-anvil) KEEP_ANVIL=true ;;
|
|
19
|
+
esac
|
|
20
|
+
shift
|
|
21
|
+
done
|
|
22
|
+
|
|
23
|
+
# Colors
|
|
24
|
+
GREEN='\033[0;32m'
|
|
25
|
+
RED='\033[0;31m'
|
|
26
|
+
YELLOW='\033[1;33m'
|
|
27
|
+
BLUE='\033[0;34m'
|
|
28
|
+
NC='\033[0m'
|
|
29
|
+
|
|
30
|
+
echo -e "${BLUE}╔════════════════════════════════════════════════╗${NC}"
|
|
31
|
+
echo -e "${BLUE}║ AAStar SDK Multi-Env Regression Suite ║${NC}"
|
|
32
|
+
echo -e "${BLUE}║ Target Environment: ${ENV} ║${NC}"
|
|
33
|
+
echo -e "${BLUE}╚════════════════════════════════════════════════╝${NC}\n"
|
|
34
|
+
|
|
35
|
+
# 2. Load Environment Variables
|
|
36
|
+
# Priority: .env.${ENV} > .env
|
|
37
|
+
if [ -f ".env.${ENV}" ]; then
|
|
38
|
+
echo -e "${YELLOW}📡 Loading environment: .env.${ENV}${NC}"
|
|
39
|
+
export $(grep -v '^#' .env.${ENV} | xargs)
|
|
40
|
+
elif [ -f ".env" ]; then
|
|
41
|
+
echo -e "${YELLOW}📡 Loading default .env${NC}"
|
|
42
|
+
export $(grep -v '^#' .env | xargs)
|
|
43
|
+
else
|
|
44
|
+
echo -e "${RED}❌ No environment file found (.env or .env.${ENV})${NC}"
|
|
45
|
+
exit 1
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
# 3. Environment Check/Init
|
|
49
|
+
WE_STARTED_ANVIL=false
|
|
50
|
+
if [ "$ENV" == "anvil" ]; then
|
|
51
|
+
echo -e "${YELLOW}🔍 Checking Anvil instance...${NC}"
|
|
52
|
+
if ! curl -s -X POST -H "Content-Type: application/json" \
|
|
53
|
+
--data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
|
|
54
|
+
http://127.0.0.1:8545 > /dev/null 2>&1; then
|
|
55
|
+
|
|
56
|
+
echo -e "${YELLOW}⚠️ Anvil not running. Starting persistent Anvil...${NC}"
|
|
57
|
+
pkill anvil || true
|
|
58
|
+
anvil --port 8545 --chain-id 31337 > /dev/null 2>&1 &
|
|
59
|
+
ANVIL_PID=$!
|
|
60
|
+
WE_STARTED_ANVIL=true
|
|
61
|
+
sleep 3
|
|
62
|
+
|
|
63
|
+
echo -e "${YELLOW}🚀 Deploying contracts to Anvil...${NC}"
|
|
64
|
+
if [ -d "../SuperPaymaster" ]; then
|
|
65
|
+
cd ../SuperPaymaster
|
|
66
|
+
forge script contracts/script/DeployAnvil.s.sol:DeployAnvil \
|
|
67
|
+
--rpc-url http://127.0.0.1:8545 \
|
|
68
|
+
--broadcast \
|
|
69
|
+
--private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
|
|
70
|
+
|
|
71
|
+
# Sync ABIs & Config
|
|
72
|
+
node scripts/extract_abis_to_sdk.js
|
|
73
|
+
cd ../aastar-sdk
|
|
74
|
+
node scripts/sync_anvil_config.cjs
|
|
75
|
+
# Refresh env in current shell
|
|
76
|
+
export $(grep -v '^#' .env.${ENV} | xargs)
|
|
77
|
+
else
|
|
78
|
+
echo -e "${RED}❌ SuperPaymaster directory not found at ../SuperPaymaster.${NC}"
|
|
79
|
+
kill $ANVIL_PID
|
|
80
|
+
exit 1
|
|
81
|
+
fi
|
|
82
|
+
fi
|
|
83
|
+
echo -e "${GREEN}✅ Anvil is ready.${NC}"
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
# 4. Build SDK
|
|
87
|
+
echo -e "\n${YELLOW}🔨 Building SDK packages...${NC}"
|
|
88
|
+
export PATH="$PATH:/Users/jason/Library/pnpm:/Users/jason/.nvm/versions/node/v24.12.0/bin"
|
|
89
|
+
# Clean up any accidental artifacts in src before build
|
|
90
|
+
find packages -name "*.js" -o -name "*.d.ts" -o -name "*.map" | grep "/src/" | xargs rm -f
|
|
91
|
+
# Build only our packages
|
|
92
|
+
pnpm -F "@aastar/*" build
|
|
93
|
+
echo -e "${GREEN}✅ Build successful.${NC}"
|
|
94
|
+
|
|
95
|
+
# 5. Run Test Scenarios
|
|
96
|
+
echo -e "\n${BLUE}🚀 Running Scenarios...${NC}"
|
|
97
|
+
|
|
98
|
+
# Scenario 1: Onboard Community
|
|
99
|
+
echo -e "${YELLOW}🧪 Scenario 1: Community Onboarding${NC}"
|
|
100
|
+
TARGET_ENV=$ENV pnpm tsx packages/sdk/tests/scenarios/01_onboard_community.ts
|
|
101
|
+
|
|
102
|
+
# Scenario 2: Onboard Operator
|
|
103
|
+
echo -e "${YELLOW}🧪 Scenario 2: Operator Onboarding${NC}"
|
|
104
|
+
TARGET_ENV=$ENV pnpm tsx packages/sdk/tests/scenarios/02_onboard_operator.ts
|
|
105
|
+
|
|
106
|
+
# Scenario 3: Onboard User
|
|
107
|
+
echo -e "${YELLOW}🧪 Scenario 3: User Onboarding${NC}"
|
|
108
|
+
TARGET_ENV=$ENV pnpm tsx packages/sdk/tests/scenarios/03_onboard_user.ts
|
|
109
|
+
|
|
110
|
+
# Scenario 4: Gasless Flow
|
|
111
|
+
echo -e "${YELLOW}🧪 Scenario 4: Gasless Transaction Flow${NC}"
|
|
112
|
+
TARGET_ENV=$ENV pnpm tsx packages/sdk/tests/scenarios/04_gasless_tx_flow.ts
|
|
113
|
+
|
|
114
|
+
if [ "$SCENARIOS_ONLY" == "true" ]; then
|
|
115
|
+
echo -e "\n${GREEN}🎉 Scenario verification complete.${NC}"
|
|
116
|
+
if [ "$WE_STARTED_ANVIL" == "true" ] && [ "$KEEP_ANVIL" == "false" ]; then
|
|
117
|
+
echo -e "${YELLOW}🛑 Stopping Anvil...${NC}"
|
|
118
|
+
kill $ANVIL_PID
|
|
119
|
+
fi
|
|
120
|
+
exit 0
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
# 6. Legacy Regression (Anvil Only)
|
|
124
|
+
if [ "$ENV" == "anvil" ]; then
|
|
125
|
+
echo -e "\n${YELLOW}🧪 Running Legacy SDK Regression (Anvil)...${NC}"
|
|
126
|
+
TARGET_ENV=$ENV pnpm tsx scripts/v2_regression/01_setup_and_fund.ts
|
|
127
|
+
TARGET_ENV=$ENV pnpm tsx scripts/v2_regression/02_operator_onboarding.ts
|
|
128
|
+
fi
|
|
129
|
+
|
|
130
|
+
if [ "$WE_STARTED_ANVIL" == "true" ] && [ "$KEEP_ANVIL" == "false" ]; then
|
|
131
|
+
echo -e "${YELLOW}🛑 Stopping Anvil...${NC}"
|
|
132
|
+
kill $ANVIL_PID
|
|
133
|
+
fi
|
|
134
|
+
|
|
135
|
+
echo -e "\n${GREEN}🎉 SDK Regression Suite Finished!${NC}\n"
|
package/config.anvil.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"aPNTs":"
|
|
1
|
+
{"aPNTs":"0x9d4454B023096f34B160D6B654540c56A1F81688","blsAggregator":"0x809d550fca64d94Bd9F66E60752A544199cfAC3D","blsValidator":"0x1291Be112d480055DaFd8a610b7d1e203891C274","dvtValidator":"0x4c5859f0F772848b2D91F1D83E2Fe57935348029","entryPoint":"0x70e0bA845a1A0F2DA3359C97E0285013525FFC49","gToken":"0x4826533B4897376654Bb4d4AD88B7faFD0C98528","paymasterFactory":"0xb7278A61aa25c888815aFC32Ad3cC52fF24fE575","paymasterV4Impl":"0xCD8a1C3ba11CF5ECfa6267617243239504a98d90","priceFeed":"0x998abeb3E57409262aE5b751f60747921B33613E","registry":"0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf","reputationSystem":"0x36C02dA8a0983159322a80FFE9F24b1acfF8B570","sbt":"0x0E801D84Fa97b50751Dbf25036d067dCf18858bF","simpleAccountFactory":"0x82e01223d51Eb87e16A03E24687EDF0F294da6f1","srcHash":"","staking":"0x99bbA657f2BbC93c02D617f8bA121cB8Fc104Acf","superPaymaster":"0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00","xPNTsFactory":"0x5f3f1dBD7B74C6B46e8c44f98792A1dAf8d69154"}
|
package/config.sepolia.json
CHANGED
|
@@ -1 +1,19 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"aPNTs": "0x40EEd0BD4b2ce9C411Ab558afA490e36d48cbebB",
|
|
3
|
+
"blsAggregator": "0x6A250ED6B4bF97976E0Bd62D1A63a5A53Fd6e68b",
|
|
4
|
+
"blsValidator": "0x9B553e7a222b7a1d3d10C51Ba6bC06598BA4A99D",
|
|
5
|
+
"dvtValidator": "0x2e882317eE4c3B317358976f169487a78268B3B1",
|
|
6
|
+
"entryPoint": "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
|
|
7
|
+
"gToken": "0xF2607058CA1353578CAcB265F093F2e6A2c46c64",
|
|
8
|
+
"paymasterFactory": "0x70E8d97Fb84DD6195353D48F147d10a8D98088FC",
|
|
9
|
+
"paymasterV4Impl": "0x48c2Cf1B187396D0B1A7291f0265d973c10f3050",
|
|
10
|
+
"registry": "0xC84A8B0C0063333a89B4c31c1a54E6fEb53551c2",
|
|
11
|
+
"reputationSystem": "0x2588C39F0FE5eB3F8238d3a2871A854C543b9675",
|
|
12
|
+
"sbt": "0x20996bc9fabC1Af82E80Fb68b8acC0a4F2e0CA0b",
|
|
13
|
+
"srcHash": "f7edcc4d9d08db4d12099906a37f37ae7eebd7bcaf681b6508ab483e525abde9",
|
|
14
|
+
"staking": "0xdaE2dF2016cFbDc39ca1F3f3663F85d4b7B3b023",
|
|
15
|
+
"superPaymaster": "0xe74304cC5860B950A45967E12321dfF8B5cdCAA0",
|
|
16
|
+
"xPNTsFactory": "0xa636363E7C976662c542Db029C04Db8A2d66e875",
|
|
17
|
+
"simpleAccountFactory": "0x91E60e0613810449d098b0b5Ec8b51A0FE8c8985",
|
|
18
|
+
"priceFeed": "0x694AA1769357215DE4FAC081bf1f309aDC325306"
|
|
19
|
+
}
|