@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.
Files changed (662) hide show
  1. package/.github/workflows/gas-analytics-daily.yml +52 -0
  2. package/CHANGELOG.md +43 -0
  3. package/README.md +39 -139
  4. package/backup/run_sdk_regression.sh +135 -0
  5. package/config.anvil.json +1 -1
  6. package/config.sepolia.json +19 -1
  7. package/docs/API_REFERENCE.md +9 -169
  8. package/docs/L4_Manual_Test_CheatSheet.md +22 -65
  9. package/docs/Reputation-to-Credit_Mapping_Whitepaper.md +242 -0
  10. package/docs/TESTER_GUIDE_GASLESS.md +23 -277
  11. package/docs/api/@aastar/account/README.md +15 -0
  12. package/docs/api/@aastar/account/classes/UserOpClient.md +87 -0
  13. package/docs/api/@aastar/account/functions/createEOAWalletClient.md +21 -0
  14. package/docs/api/@aastar/account/functions/getUserOpHash.md +23 -0
  15. package/docs/api/@aastar/account/functions/packUserOpLimits.md +19 -0
  16. package/docs/api/@aastar/account/functions/toSimpleSmartAccount.md +83 -0
  17. package/docs/api/@aastar/account/type-aliases/EOAWalletClient.md +37 -0
  18. package/docs/api/@aastar/account/type-aliases/SimpleSmartAccount.md +39 -0
  19. package/docs/api/@aastar/core/README.md +211 -0
  20. package/docs/api/@aastar/core/classes/BLSSigner.md +147 -0
  21. package/docs/api/@aastar/core/classes/BaseClient.md +9657 -0
  22. package/docs/api/@aastar/core/classes/ContractConfigManager.md +25 -0
  23. package/docs/api/@aastar/core/classes/RequirementChecker.md +1837 -0
  24. package/docs/api/@aastar/core/classes/SepoliaFaucetAPI.md +13661 -0
  25. package/docs/api/@aastar/core/classes/StateValidator.md +133 -0
  26. package/docs/api/@aastar/core/enumerations/EntryPointVersion.md +17 -0
  27. package/docs/api/@aastar/core/enumerations/NodeType.md +33 -0
  28. package/docs/api/@aastar/core/enumerations/RolePermissionLevel.md +43 -0
  29. package/docs/api/@aastar/core/functions/accountActions.md +2720 -0
  30. package/docs/api/@aastar/core/functions/accountFactoryActions.md +2720 -0
  31. package/docs/api/@aastar/core/functions/aggregatorActions.md +2720 -0
  32. package/docs/api/@aastar/core/functions/createAAStarPublicClient.md +3105 -0
  33. package/docs/api/@aastar/core/functions/dvtActions.md +2720 -0
  34. package/docs/api/@aastar/core/functions/entryPointActions.md +2724 -0
  35. package/docs/api/@aastar/core/functions/gTokenActions.md +2714 -0
  36. package/docs/api/@aastar/core/functions/gTokenExtendedActions.md +2720 -0
  37. package/docs/api/@aastar/core/functions/getAddressUrl.md +32 -0
  38. package/docs/api/@aastar/core/functions/getAllCommunityConfigs.md +9 -0
  39. package/docs/api/@aastar/core/functions/getAllV2Contracts.md +20 -0
  40. package/docs/api/@aastar/core/functions/getBlockExplorer.md +26 -0
  41. package/docs/api/@aastar/core/functions/getChainId.md +26 -0
  42. package/docs/api/@aastar/core/functions/getCommunities.md +76 -0
  43. package/docs/api/@aastar/core/functions/getCommunity.md +32 -0
  44. package/docs/api/@aastar/core/functions/getCommunityConfig.md +15 -0
  45. package/docs/api/@aastar/core/functions/getContract.md +37 -0
  46. package/docs/api/@aastar/core/functions/getContractNetworks.md +18 -0
  47. package/docs/api/@aastar/core/functions/getContracts.md +194 -0
  48. package/docs/api/@aastar/core/functions/getCoreContracts.md +71 -0
  49. package/docs/api/@aastar/core/functions/getDeploymentDate.md +32 -0
  50. package/docs/api/@aastar/core/functions/getEntryPoint.md +25 -0
  51. package/docs/api/@aastar/core/functions/getNetwork.md +26 -0
  52. package/docs/api/@aastar/core/functions/getPaymasterV4_1.md +25 -0
  53. package/docs/api/@aastar/core/functions/getRoleName.md +15 -0
  54. package/docs/api/@aastar/core/functions/getRpcUrl.md +25 -0
  55. package/docs/api/@aastar/core/functions/getSimpleAccountFactory.md +25 -0
  56. package/docs/api/@aastar/core/functions/getSuperPaymasterV2.md +25 -0
  57. package/docs/api/@aastar/core/functions/getTestAccounts.md +30 -0
  58. package/docs/api/@aastar/core/functions/getTestTokenContracts.md +38 -0
  59. package/docs/api/@aastar/core/functions/getTokenContracts.md +31 -0
  60. package/docs/api/@aastar/core/functions/getTxUrl.md +32 -0
  61. package/docs/api/@aastar/core/functions/getV2ContractByAddress.md +28 -0
  62. package/docs/api/@aastar/core/functions/getV2ContractByName.md +28 -0
  63. package/docs/api/@aastar/core/functions/getV2ContractsByDate.md +26 -0
  64. package/docs/api/@aastar/core/functions/isContractNetworkSupported.md +27 -0
  65. package/docs/api/@aastar/core/functions/isRegisteredCommunity.md +15 -0
  66. package/docs/api/@aastar/core/functions/isV2Contract.md +27 -0
  67. package/docs/api/@aastar/core/functions/paymasterActions.md +2720 -0
  68. package/docs/api/@aastar/core/functions/paymasterFactoryActions.md +2720 -0
  69. package/docs/api/@aastar/core/functions/registryActions.md +2720 -0
  70. package/docs/api/@aastar/core/functions/reputationActions.md +2720 -0
  71. package/docs/api/@aastar/core/functions/sbtActions.md +2720 -0
  72. package/docs/api/@aastar/core/functions/stakingActions.md +2720 -0
  73. package/docs/api/@aastar/core/functions/superPaymasterActions.md +2720 -0
  74. package/docs/api/@aastar/core/functions/tokenActions.md +2714 -0
  75. package/docs/api/@aastar/core/functions/xPNTsFactoryActions.md +2720 -0
  76. package/docs/api/@aastar/core/interfaces/AccountBalance.md +41 -0
  77. package/docs/api/@aastar/core/interfaces/BalanceValidationParams.md +51 -0
  78. package/docs/api/@aastar/core/interfaces/ClientConfig.md +4841 -0
  79. package/docs/api/@aastar/core/interfaces/CommunityConfig.md +81 -0
  80. package/docs/api/@aastar/core/interfaces/ContractVersion.md +63 -0
  81. package/docs/api/@aastar/core/interfaces/DeploymentValidationParams.md +39 -0
  82. package/docs/api/@aastar/core/interfaces/RoleConfig.md +83 -0
  83. package/docs/api/@aastar/core/interfaces/RoleRequirement.md +43 -0
  84. package/docs/api/@aastar/core/interfaces/RoleValidationParams.md +55 -0
  85. package/docs/api/@aastar/core/interfaces/SuperPaymasterConfig.md +57 -0
  86. package/docs/api/@aastar/core/interfaces/TokenBalanceValidationParams.md +63 -0
  87. package/docs/api/@aastar/core/interfaces/TransactionOptions.md +24 -0
  88. package/docs/api/@aastar/core/interfaces/ValidationParams.md +25 -0
  89. package/docs/api/@aastar/core/interfaces/ValidationResult.md +25 -0
  90. package/docs/api/@aastar/core/type-aliases/AccountActions.md +151 -0
  91. package/docs/api/@aastar/core/type-aliases/AccountFactoryActions.md +55 -0
  92. package/docs/api/@aastar/core/type-aliases/AggregatorActions.md +471 -0
  93. package/docs/api/@aastar/core/type-aliases/BusinessResult.md +12 -0
  94. package/docs/api/@aastar/core/type-aliases/ContractCategory.md +5 -0
  95. package/docs/api/@aastar/core/type-aliases/ContractNetwork.md +5 -0
  96. package/docs/api/@aastar/core/type-aliases/DVTActions.md +319 -0
  97. package/docs/api/@aastar/core/type-aliases/EntryPointActions.md +103 -0
  98. package/docs/api/@aastar/core/type-aliases/GTokenExtendedActions.md +239 -0
  99. package/docs/api/@aastar/core/type-aliases/NetworkContracts.md +5 -0
  100. package/docs/api/@aastar/core/type-aliases/PaymasterActions.md +1087 -0
  101. package/docs/api/@aastar/core/type-aliases/PaymasterFactoryActions.md +263 -0
  102. package/docs/api/@aastar/core/type-aliases/RegistryActions.md +1543 -0
  103. package/docs/api/@aastar/core/type-aliases/ReputationActions.md +811 -0
  104. package/docs/api/@aastar/core/type-aliases/SBTActions.md +1199 -0
  105. package/docs/api/@aastar/core/type-aliases/StakingActions.md +703 -0
  106. package/docs/api/@aastar/core/type-aliases/SuperPaymasterActions.md +1311 -0
  107. package/docs/api/@aastar/core/type-aliases/SupportedNetwork.md +3 -0
  108. package/docs/api/@aastar/core/type-aliases/TokenActions.md +1227 -0
  109. package/docs/api/@aastar/core/type-aliases/XPNTsFactoryActions.md +395 -0
  110. package/docs/api/@aastar/core/variables/AASTAR_COMMUNITY.md +8 -0
  111. package/docs/api/@aastar/core/variables/ALL_ADDRESSES.md +75 -0
  112. package/docs/api/@aastar/core/variables/ALL_ROLES.md +5 -0
  113. package/docs/api/@aastar/core/variables/APNTS_ADDRESS.md +3 -0
  114. package/docs/api/@aastar/core/variables/BLSAggregatorABI.md +3 -0
  115. package/docs/api/@aastar/core/variables/BLSAggregatorArtifact.md +13 -0
  116. package/docs/api/@aastar/core/variables/BLSHelpers.md +101 -0
  117. package/docs/api/@aastar/core/variables/BLSValidatorABI.md +3 -0
  118. package/docs/api/@aastar/core/variables/BLSValidatorArtifact.md +13 -0
  119. package/docs/api/@aastar/core/variables/BLS_AGGREGATOR_ADDRESS.md +3 -0
  120. package/docs/api/@aastar/core/variables/BLS_VALIDATOR_ADDRESS.md +3 -0
  121. package/docs/api/@aastar/core/variables/BPS_DENOMINATOR.md +5 -0
  122. package/docs/api/@aastar/core/variables/BRANDING.md +67 -0
  123. package/docs/api/@aastar/core/variables/BREAD_COMMUNITY.md +8 -0
  124. package/docs/api/@aastar/core/variables/CHAIN_MAINNET.md +3 -0
  125. package/docs/api/@aastar/core/variables/CHAIN_SEPOLIA.md +5 -0
  126. package/docs/api/@aastar/core/variables/COMMUNITIES.md +5 -0
  127. package/docs/api/@aastar/core/variables/COMMUNITY_OWNERS.md +15 -0
  128. package/docs/api/@aastar/core/variables/CONTRACTS.md +179 -0
  129. package/docs/api/@aastar/core/variables/CONTRACT_METADATA.md +67 -0
  130. package/docs/api/@aastar/core/variables/CONTRACT_SRC_HASH.md +5 -0
  131. package/docs/api/@aastar/core/variables/CORE_ADDRESSES.md +51 -0
  132. package/docs/api/@aastar/core/variables/DEFAULT_ADMIN_ROLE.md +17 -0
  133. package/docs/api/@aastar/core/variables/DEFAULT_APNTS_PRICE_USD.md +5 -0
  134. package/docs/api/@aastar/core/variables/DEFAULT_CALL_GAS_LIMIT.md +3 -0
  135. package/docs/api/@aastar/core/variables/DEFAULT_GAS_TOKEN_MINT_AMOUNT.md +5 -0
  136. package/docs/api/@aastar/core/variables/DEFAULT_PRE_VERIFICATION_GAS.md +3 -0
  137. package/docs/api/@aastar/core/variables/DEFAULT_TIMEOUT_MS.md +5 -0
  138. package/docs/api/@aastar/core/variables/DEFAULT_TOKEN_NAME.md +3 -0
  139. package/docs/api/@aastar/core/variables/DEFAULT_TOKEN_SYMBOL.md +5 -0
  140. package/docs/api/@aastar/core/variables/DEFAULT_USDT_MINT_AMOUNT.md +5 -0
  141. package/docs/api/@aastar/core/variables/DEFAULT_VERIFICATION_GAS_LIMIT.md +5 -0
  142. package/docs/api/@aastar/core/variables/DVTValidatorABI.md +3 -0
  143. package/docs/api/@aastar/core/variables/DVTValidatorArtifact.md +13 -0
  144. package/docs/api/@aastar/core/variables/DVT_VALIDATOR_ADDRESS.md +3 -0
  145. package/docs/api/@aastar/core/variables/ENTRY_POINT_0_8_ADDRESS.md +3 -0
  146. package/docs/api/@aastar/core/variables/ENTRY_POINT_0_9_ADDRESS.md +3 -0
  147. package/docs/api/@aastar/core/variables/ENTRY_POINT_ADDRESS.md +3 -0
  148. package/docs/api/@aastar/core/variables/EntryPointABI.md +3 -0
  149. package/docs/api/@aastar/core/variables/EntryPointArtifact.md +13 -0
  150. package/docs/api/@aastar/core/variables/FAUCET_API_URL.md +5 -0
  151. package/docs/api/@aastar/core/variables/GTOKEN_ADDRESS.md +3 -0
  152. package/docs/api/@aastar/core/variables/GTOKEN_STAKING_ADDRESS.md +3 -0
  153. package/docs/api/@aastar/core/variables/GTokenABI.md +3 -0
  154. package/docs/api/@aastar/core/variables/GTokenArtifact.md +13 -0
  155. package/docs/api/@aastar/core/variables/GTokenStakingABI.md +3 -0
  156. package/docs/api/@aastar/core/variables/GTokenStakingArtifact.md +13 -0
  157. package/docs/api/@aastar/core/variables/INITIAL_ROLE_STAKES.md +13 -0
  158. package/docs/api/@aastar/core/variables/LINKS.md +33 -0
  159. package/docs/api/@aastar/core/variables/MAX_SERVICE_FEE.md +5 -0
  160. package/docs/api/@aastar/core/variables/MONITORING_ADDRESSES.md +15 -0
  161. package/docs/api/@aastar/core/variables/MySBTABI.md +3 -0
  162. package/docs/api/@aastar/core/variables/MySBTArtifact.md +13 -0
  163. package/docs/api/@aastar/core/variables/NETWORKS.md +79 -0
  164. package/docs/api/@aastar/core/variables/NODE_STAKE_AMOUNTS.md +31 -0
  165. package/docs/api/@aastar/core/variables/OFFICIAL_ADDRESSES.md +11 -0
  166. package/docs/api/@aastar/core/variables/PAYMASTER_ADDRESSES.md +15 -0
  167. package/docs/api/@aastar/core/variables/PAYMASTER_FACTORY_ADDRESS.md +3 -0
  168. package/docs/api/@aastar/core/variables/PAYMASTER_V4_IMPL_ADDRESS.md +3 -0
  169. package/docs/api/@aastar/core/variables/PaymasterABI.md +3 -0
  170. package/docs/api/@aastar/core/variables/PaymasterArtifact.md +13 -0
  171. package/docs/api/@aastar/core/variables/PaymasterFactoryABI.md +3 -0
  172. package/docs/api/@aastar/core/variables/PaymasterFactoryArtifact.md +13 -0
  173. package/docs/api/@aastar/core/variables/PaymasterV4ABI.md +3 -0
  174. package/docs/api/@aastar/core/variables/PaymasterV4Artifact.md +13 -0
  175. package/docs/api/@aastar/core/variables/REGISTRY_ADDRESS.md +3 -0
  176. package/docs/api/@aastar/core/variables/REPUTATION_SYSTEM_ADDRESS.md +3 -0
  177. package/docs/api/@aastar/core/variables/ROLE_ANODE.md +29 -0
  178. package/docs/api/@aastar/core/variables/ROLE_COMMUNITY.md +29 -0
  179. package/docs/api/@aastar/core/variables/ROLE_DVT.md +29 -0
  180. package/docs/api/@aastar/core/variables/ROLE_ENDUSER.md +33 -0
  181. package/docs/api/@aastar/core/variables/ROLE_KMS.md +29 -0
  182. package/docs/api/@aastar/core/variables/ROLE_NAMES.md +3 -0
  183. package/docs/api/@aastar/core/variables/ROLE_PAYMASTER_AOA.md +29 -0
  184. package/docs/api/@aastar/core/variables/ROLE_PAYMASTER_SUPER.md +33 -0
  185. package/docs/api/@aastar/core/variables/ROLE_PERMISSION_LEVELS.md +3 -0
  186. package/docs/api/@aastar/core/variables/RegistryABI.md +3 -0
  187. package/docs/api/@aastar/core/variables/RegistryArtifact.md +13 -0
  188. package/docs/api/@aastar/core/variables/ReputationSystemABI.md +3 -0
  189. package/docs/api/@aastar/core/variables/ReputationSystemArtifact.md +13 -0
  190. package/docs/api/@aastar/core/variables/SBT_ADDRESS.md +3 -0
  191. package/docs/api/@aastar/core/variables/SEPOLIA_CONTRACTS.md +175 -0
  192. package/docs/api/@aastar/core/variables/SEPOLIA_V2_VERSIONS.md +67 -0
  193. package/docs/api/@aastar/core/variables/SERVICE_FEE_RATE.md +5 -0
  194. package/docs/api/@aastar/core/variables/SUPER_PAYMASTER_ADDRESS.md +3 -0
  195. package/docs/api/@aastar/core/variables/SimpleAccountABI.md +3 -0
  196. package/docs/api/@aastar/core/variables/SimpleAccountArtifact.md +13 -0
  197. package/docs/api/@aastar/core/variables/SimpleAccountFactoryABI.md +3 -0
  198. package/docs/api/@aastar/core/variables/SimpleAccountFactoryArtifact.md +13 -0
  199. package/docs/api/@aastar/core/variables/SuperPaymasterABI.md +3 -0
  200. package/docs/api/@aastar/core/variables/SuperPaymasterArtifact.md +13 -0
  201. package/docs/api/@aastar/core/variables/TEST_ACCOUNT_ADDRESSES.md +11 -0
  202. package/docs/api/@aastar/core/variables/TEST_ACCOUNT_POOL_SIZE.md +5 -0
  203. package/docs/api/@aastar/core/variables/TEST_COMMUNITIES.md +19 -0
  204. package/docs/api/@aastar/core/variables/TEST_TOKEN_ADDRESSES.md +19 -0
  205. package/docs/api/@aastar/core/variables/TOKEN_ADDRESSES.md +11 -0
  206. package/docs/api/@aastar/core/variables/V2_SUMMARY.md +39 -0
  207. package/docs/api/@aastar/core/variables/XPNTS_FACTORY_ADDRESS.md +3 -0
  208. package/docs/api/@aastar/core/variables/xPNTsFactoryABI.md +3 -0
  209. package/docs/api/@aastar/core/variables/xPNTsFactoryArtifact.md +13 -0
  210. package/docs/api/@aastar/core/variables/xPNTsTokenABI.md +3 -0
  211. package/docs/api/@aastar/core/variables/xPNTsTokenArtifact.md +13 -0
  212. package/docs/api/@aastar/paymaster/README.md +23 -0
  213. package/docs/api/@aastar/paymaster/classes/PaymasterClient.md +388 -0
  214. package/docs/api/@aastar/paymaster/classes/PaymasterOperator.md +451 -0
  215. package/docs/api/@aastar/paymaster/classes/SuperPaymasterAdminClient.md +189 -0
  216. package/docs/api/@aastar/paymaster/classes/SuperPaymasterClient.md +55 -0
  217. package/docs/api/@aastar/paymaster/functions/buildPaymasterData.md +34 -0
  218. package/docs/api/@aastar/paymaster/functions/buildSuperPaymasterData.md +30 -0
  219. package/docs/api/@aastar/paymaster/functions/checkEligibility.md +28 -0
  220. package/docs/api/@aastar/paymaster/functions/formatUserOpV07.md +15 -0
  221. package/docs/api/@aastar/paymaster/functions/getPaymasterV4Middleware.md +32 -0
  222. package/docs/api/@aastar/paymaster/functions/getSuperPaymasterMiddleware.md +32 -0
  223. package/docs/api/@aastar/paymaster/functions/getUserOpHashV07.md +21 -0
  224. package/docs/api/@aastar/paymaster/type-aliases/GaslessReadinessReport.md +55 -0
  225. package/docs/api/@aastar/paymaster/type-aliases/GaslessTransactionConfig.md +59 -0
  226. package/docs/api/@aastar/paymaster/type-aliases/PaymasterConfig.md +43 -0
  227. package/docs/api/@aastar/paymaster/type-aliases/PaymasterV4MiddlewareConfig.md +35 -0
  228. package/docs/api/@aastar/tokens/README.md +3 -0
  229. package/docs/api/@aastar/tokens/classes/FinanceClient.md +10385 -0
  230. package/docs/api/README.md +4 -8
  231. package/env.template +3 -5
  232. package/examples/l1-api-demo.ts +196 -107
  233. package/examples/l2-clients-demo.ts +70 -73
  234. package/examples/l3-community-launch.ts +49 -0
  235. package/examples/l3-user-onboarding.ts +36 -54
  236. package/examples/prepare-gasless.ts +1 -1
  237. package/examples/simple-gasless-demo.ts +55 -26
  238. package/examples/simple-superpaymaster-demo.ts +2 -2
  239. package/ext/aastar-shared-config/generate-comparison-table.sh +0 -0
  240. package/ext/aastar-shared-config/sync-abis.sh +0 -0
  241. package/ext/aastar-shared-config/sync-versions.mjs +0 -0
  242. package/ext/aastar-shared-config/verify-all.sh +0 -0
  243. package/ext/aastar-shared-config/verify-contracts.sh +0 -0
  244. package/l4-setup.sh +1 -11
  245. package/lib/shared-config/generate-comparison-table.sh +0 -0
  246. package/lib/shared-config/sync-abis.sh +0 -0
  247. package/lib/shared-config/sync-versions.mjs +0 -0
  248. package/lib/shared-config/verify-all.sh +0 -0
  249. package/lib/shared-config/verify-contracts.sh +0 -0
  250. package/package.json +36 -32
  251. package/packages/account/__tests__/index.test.ts +9 -0
  252. package/packages/account/node_modules/.bin/tsc +21 -0
  253. package/packages/account/node_modules/.bin/tsserver +21 -0
  254. package/packages/account/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  255. package/packages/account/package.json +3 -5
  256. package/packages/account/src/eoa.ts +2 -4
  257. package/packages/account/tsconfig.json +2 -1
  258. package/packages/analytics/README.md +68 -0
  259. package/packages/analytics/__tests__/index.test.ts +25 -0
  260. package/packages/analytics/data/attribution_dataset.csv +29 -0
  261. package/packages/analytics/data/complete_dataset.csv +29 -0
  262. package/packages/analytics/data/eth_price_cache.json +4 -0
  263. package/packages/analytics/data/full_dataset.csv +11 -0
  264. package/packages/analytics/data/full_dataset.json +134 -0
  265. package/packages/analytics/data/parsed_transactions.csv +29 -0
  266. package/packages/analytics/node_modules/.bin/tsc +21 -0
  267. package/packages/analytics/node_modules/.bin/tsserver +21 -0
  268. package/packages/analytics/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  269. package/packages/analytics/package.json +2 -5
  270. package/packages/analytics/reports/full/attribution_analysis_20260119.md +42 -0
  271. package/packages/analytics/reports/full/attribution_analysis_fresh_20260119.md +67 -0
  272. package/packages/analytics/reports/full/competitive_analysis_20260119.md +103 -0
  273. package/packages/analytics/reports/full/comprehensive_analysis_20260119.md +107 -0
  274. package/packages/analytics/reports/full/comprehensive_analysis_v4_1_20260119.md +74 -0
  275. package/packages/analytics/reports/full/economic_audit_v4_2_20260119.md +74 -0
  276. package/packages/analytics/reports/full/profit_audit_v4_3_20260119.md +74 -0
  277. package/packages/analytics/reports/full/profit_audit_v4_4_20260119.md +74 -0
  278. package/packages/analytics/reports/full/profit_audit_v4_5_20260119.md +74 -0
  279. package/packages/analytics/reports/full/profit_audit_v4_6_20260119.md +74 -0
  280. package/packages/analytics/reports/full/profit_audit_v4_final_20260119.md +74 -0
  281. package/packages/analytics/reports/full/profit_audit_v4_final_v2_20260119.md +74 -0
  282. package/packages/analytics/reports/full/profit_audit_v4_final_v3_20260119.md +74 -0
  283. package/packages/analytics/reports/full/profit_audit_v4_final_v4_20260119.md +75 -0
  284. package/packages/analytics/reports/full/profit_audit_v4_final_v5_20260119.md +76 -0
  285. package/packages/analytics/reports/full/two_layer_analysis_20260119.md +81 -0
  286. package/packages/analytics/reports/full/two_layer_analysis_academic_20260119.md +81 -0
  287. package/packages/analytics/reports/full/two_layer_analysis_dynamic_20260119.md +81 -0
  288. package/packages/analytics/reports/full/two_layer_analysis_final_20260119.md +81 -0
  289. package/packages/analytics/reports/full/two_layer_analysis_final_fixed_20260119.md +81 -0
  290. package/packages/analytics/reports/full/two_layer_analysis_fixed_20260119.md +52 -0
  291. package/packages/analytics/reports/full/two_layer_analysis_normalized_20260119.md +81 -0
  292. package/packages/analytics/reports/full/tx_0xc30cfcbb.md +39 -0
  293. package/packages/analytics/src/analyzers/AttributionAnalyzer.ts +124 -0
  294. package/packages/analytics/src/analyzers/ComparisonAnalyzer.ts +89 -0
  295. package/packages/analytics/src/analyzers/TransactionAnalyzer.ts +111 -0
  296. package/packages/analytics/src/analyzers/TrendAnalyzer.ts +107 -0
  297. package/packages/analytics/src/cli-analyze-tx.ts +45 -0
  298. package/packages/analytics/src/cli.ts +39 -0
  299. package/packages/analytics/src/core/BenchmarkLoader.ts +163 -0
  300. package/packages/analytics/src/core/CostCalculator.ts +202 -0
  301. package/packages/analytics/src/core/DataCollector.ts +245 -0
  302. package/packages/analytics/src/gas-analyzer-v4.ts +118 -0
  303. package/packages/analytics/src/gas-analyzer.ts +184 -0
  304. package/packages/analytics/src/test-logparser.ts +63 -0
  305. package/packages/analytics/src/utils/EventDecoder.ts +152 -0
  306. package/packages/analytics/src/utils/LogParser.ts +220 -0
  307. package/packages/analytics/src/utils/PriceOracle.ts +117 -0
  308. package/packages/analytics/test/AttributionAnalyzer.test.ts +42 -0
  309. package/packages/analytics/test/CostCalculator.test.ts +75 -0
  310. package/packages/analytics/tsconfig.json +2 -1
  311. package/packages/community/__tests__/index.test.ts +9 -0
  312. package/packages/community/node_modules/.bin/tsc +21 -0
  313. package/packages/community/node_modules/.bin/tsserver +21 -0
  314. package/packages/community/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  315. package/packages/community/package.json +27 -0
  316. package/packages/community/src/index.ts +326 -0
  317. package/packages/community/tsconfig.json +8 -0
  318. package/packages/core/__tests__/actions/account-comprehensive.test.ts +92 -0
  319. package/packages/core/__tests__/actions/aggregator.test.ts +62 -0
  320. package/packages/core/__tests__/actions/comprehensive-batch1.test.ts +86 -0
  321. package/packages/core/__tests__/actions/comprehensive-batch2.test.ts +39 -0
  322. package/packages/core/__tests__/actions/comprehensive-batch3.test.ts +35 -0
  323. package/packages/core/__tests__/actions/comprehensive-error.test.ts +115 -0
  324. package/packages/core/__tests__/actions/dvt.test.ts +39 -0
  325. package/packages/core/__tests__/actions/edge-cases.test.ts +39 -0
  326. package/packages/core/__tests__/actions/error-paths.test.ts +82 -0
  327. package/packages/core/__tests__/actions/factory.test.ts +81 -0
  328. package/packages/core/__tests__/actions/faucet.test.ts +131 -0
  329. package/packages/core/__tests__/actions/paymaster.test.ts +116 -0
  330. package/packages/core/__tests__/actions/registry.test.ts +81 -0
  331. package/packages/core/__tests__/actions/reputation.test.ts +43 -0
  332. package/packages/core/__tests__/actions/sbt.test.ts +145 -0
  333. package/packages/core/__tests__/actions/staking.test.ts +30 -0
  334. package/packages/core/__tests__/actions/superPaymaster.test.ts +158 -0
  335. package/packages/core/__tests__/actions/tokens-extended.test.ts +18 -0
  336. package/packages/core/__tests__/actions/tokens.test.ts +122 -0
  337. package/packages/core/__tests__/clients.test.ts +77 -0
  338. package/packages/core/__tests__/contracts-config.test.ts +69 -0
  339. package/packages/core/__tests__/index.test.ts +9 -0
  340. package/packages/core/__tests__/mocks/client.ts +40 -0
  341. package/packages/core/node_modules/.bin/tsc +21 -0
  342. package/packages/core/node_modules/.bin/tsserver +21 -0
  343. package/packages/core/node_modules/.bin/tsx +21 -0
  344. package/packages/core/node_modules/.bin/vite +21 -0
  345. package/packages/core/node_modules/.bin/vitest +21 -0
  346. package/packages/core/node_modules/.bin/yaml +21 -0
  347. package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  348. package/packages/core/package.json +5 -12
  349. package/packages/core/src/abis/SuperPaymaster.json +1 -1
  350. package/packages/core/src/abis/aPNTs.json +1160 -0
  351. package/packages/core/src/abis/abi.config.json +3 -3
  352. package/packages/core/src/abis/index.ts +37 -50
  353. package/packages/core/src/actions/account.ts +137 -126
  354. package/packages/core/src/actions/aggregator.ts +363 -33
  355. package/packages/core/src/actions/dvt.ts +261 -45
  356. package/packages/core/src/actions/entryPoint.ts +56 -233
  357. package/packages/core/src/actions/factory.ts +671 -552
  358. package/packages/core/src/actions/faucet.ts +181 -322
  359. package/packages/core/src/actions/index.ts +2 -5
  360. package/packages/core/src/actions/paymaster.ts +780 -0
  361. package/packages/core/src/actions/registry.ts +926 -825
  362. package/packages/core/src/actions/reputation.ts +568 -278
  363. package/packages/core/src/actions/sbt.ts +867 -632
  364. package/packages/core/src/actions/staking.ts +440 -285
  365. package/packages/core/src/actions/superPaymaster.ts +1058 -793
  366. package/packages/core/src/actions/tokens.ts +468 -514
  367. package/packages/core/src/clients/BaseClient.ts +3 -3
  368. package/packages/core/src/clients/BundlerClient.ts +132 -0
  369. package/packages/core/src/communities.ts +2 -2
  370. package/packages/core/src/constants.ts +1 -32
  371. package/packages/core/src/contract-addresses.ts +3 -10
  372. package/packages/core/src/contract-versions.ts +374 -0
  373. package/packages/core/src/contracts.ts +2 -2
  374. package/packages/core/src/errors/index.ts +173 -0
  375. package/packages/core/src/index.ts +2 -1
  376. package/packages/core/src/requirementChecker.ts +39 -1
  377. package/packages/core/src/roles.ts +50 -61
  378. package/packages/core/src/validators/index.ts +88 -0
  379. package/packages/core/tsconfig.json +2 -1
  380. package/packages/dapp/__tests__/index.test.ts +9 -0
  381. package/packages/dapp/node_modules/.bin/tsc +21 -0
  382. package/packages/dapp/node_modules/.bin/tsserver +21 -0
  383. package/packages/dapp/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  384. package/packages/dapp/package.json +3 -5
  385. package/packages/dapp/tsconfig.json +2 -1
  386. package/packages/enduser/__tests__/CommunityClient.test.ts +205 -0
  387. package/packages/enduser/__tests__/UserClient.test.ts +294 -0
  388. package/packages/enduser/__tests__/index.test.ts +16 -0
  389. package/packages/enduser/__tests__/mocks/client.ts +22 -0
  390. package/packages/enduser/node_modules/.bin/tsc +21 -0
  391. package/packages/enduser/node_modules/.bin/tsserver +21 -0
  392. package/packages/enduser/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  393. package/packages/enduser/package.json +26 -0
  394. package/packages/enduser/src/CommunityClient.ts +235 -0
  395. package/packages/enduser/src/UserClient.ts +447 -0
  396. package/packages/enduser/src/index.ts +2 -0
  397. package/packages/enduser/src/testAccountManager.ts +374 -0
  398. package/packages/enduser/tsconfig.json +10 -0
  399. package/packages/identity/__tests__/index.test.ts +9 -0
  400. package/packages/identity/node_modules/.bin/tsc +21 -0
  401. package/packages/identity/node_modules/.bin/tsserver +21 -0
  402. package/packages/identity/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  403. package/packages/identity/package.json +3 -5
  404. package/packages/identity/tsconfig.json +2 -1
  405. package/packages/operator/__tests__/PaymasterOperatorClient.test.ts +258 -0
  406. package/packages/operator/__tests__/ProtocolClient.test.ts +135 -0
  407. package/packages/operator/__tests__/index.test.ts +16 -0
  408. package/packages/operator/__tests__/mocks/client.ts +22 -0
  409. package/packages/operator/node_modules/.bin/tsc +21 -0
  410. package/packages/operator/node_modules/.bin/tsserver +21 -0
  411. package/packages/operator/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  412. package/packages/operator/package.json +26 -0
  413. package/packages/operator/src/PaymasterOperatorClient.ts +454 -0
  414. package/packages/operator/src/ProtocolClient.ts +154 -0
  415. package/packages/operator/src/index.ts +2 -0
  416. package/packages/operator/tsconfig.json +10 -0
  417. package/packages/patterns/node_modules/.bin/tsc +21 -0
  418. package/packages/patterns/node_modules/.bin/tsserver +21 -0
  419. package/packages/paymaster/__tests__/PaymasterOperator.test.ts +123 -0
  420. package/packages/paymaster/__tests__/index.test.ts +9 -0
  421. package/packages/paymaster/node_modules/.bin/tsc +21 -0
  422. package/packages/paymaster/node_modules/.bin/tsserver +21 -0
  423. package/packages/paymaster/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  424. package/packages/paymaster/package.json +4 -6
  425. package/packages/paymaster/src/V4/BundlerCompat.ts +47 -0
  426. package/packages/paymaster/src/V4/PaymasterClient.ts +122 -17
  427. package/packages/paymaster/src/V4/PaymasterUtils.ts +37 -23
  428. package/packages/paymaster/src/V4/SuperPaymasterClient.ts +17 -11
  429. package/packages/paymaster/tsconfig.json +8 -3
  430. package/packages/sdk/README.md +21 -0
  431. package/packages/sdk/__tests__/index.test.ts +9 -0
  432. package/packages/sdk/aastar/package.json +1 -1
  433. package/packages/sdk/aastar/tsconfig.json +2 -1
  434. package/packages/sdk/node_modules/.bin/tsc +21 -0
  435. package/packages/sdk/node_modules/.bin/tsserver +21 -0
  436. package/packages/sdk/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  437. package/packages/sdk/package.json +4 -14
  438. package/packages/sdk/src/clients/admin.ts +10 -108
  439. package/packages/sdk/src/clients/community.ts +242 -176
  440. package/packages/sdk/src/clients/endUser.ts +168 -291
  441. package/packages/sdk/src/clients/operator.ts +87 -162
  442. package/packages/sdk/src/errors/decoder.ts +41 -84
  443. package/packages/sdk/src/index.ts +10 -9
  444. package/packages/sdk/src/utils/keys.ts +0 -15
  445. package/packages/sdk/src/utils/roleData.ts +26 -15
  446. package/packages/sdk/src/utils/testScenarios.ts +2 -2
  447. package/packages/sdk/src/utils/userOp.ts +3 -11
  448. package/packages/sdk/tsconfig.json +2 -1
  449. package/packages/tokens/__tests__/index.test.ts +9 -0
  450. package/packages/tokens/node_modules/.bin/tsc +21 -0
  451. package/packages/tokens/node_modules/.bin/tsserver +21 -0
  452. package/packages/tokens/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  453. package/packages/tokens/package.json +3 -5
  454. package/packages/tokens/src/index.ts +0 -15
  455. package/packages/tokens/tsconfig.json +2 -1
  456. package/publish.sh +30 -0
  457. package/run_l4_gasless_regression.sh +35 -5
  458. package/run_sdk_regression.sh +3 -9
  459. package/scripts/01_prepare_all.ts +198 -149
  460. package/scripts/02_test_eoa.ts +24 -27
  461. package/scripts/03_test_standard_aa.ts +153 -48
  462. package/scripts/04_test_paymaster_v4.ts +198 -41
  463. package/scripts/05_test_superpaymaster.ts +362 -40
  464. package/scripts/11_test_core_flows_full.ts +197 -75
  465. package/scripts/18_test_dvt_sdk_flow.ts +1 -1
  466. package/scripts/19_sdk_experiment_runner.ts +135 -42
  467. package/scripts/20_sdk_full_capability.ts +77 -75
  468. package/scripts/analyze_abi_coverage.ts +4 -4
  469. package/scripts/analyze_missing_functions.ts +136 -0
  470. package/scripts/canary-bundler.ts +47 -0
  471. package/scripts/check-chainlink.ts +28 -0
  472. package/scripts/check-jason-status.ts +61 -160
  473. package/scripts/check-roles.ts +1 -1
  474. package/scripts/complete-jack-superpaymaster.ts +1 -1
  475. package/scripts/deploy_and_init_v3.sh +0 -0
  476. package/scripts/deploy_jason_pm.ts +114 -0
  477. package/scripts/dev_tools/extract_abis.sh +0 -0
  478. package/scripts/dev_tools/extract_addresses_to_env.sh +0 -0
  479. package/scripts/extract-docs.sh +9 -78
  480. package/scripts/l4-debug-bob.ts +62 -0
  481. package/scripts/l4-paymasterv4-transfer-test.ts +12 -20
  482. package/scripts/l4-setup.ts +1235 -341
  483. package/scripts/l4-state.json +16 -14
  484. package/scripts/manual-update-price.ts +39 -0
  485. package/scripts/phase1_verify_contracts.ts +1 -1
  486. package/scripts/publish_all.sh +0 -0
  487. package/scripts/query-jack-token.ts +1 -1
  488. package/scripts/run_automated_experiment.sh +0 -0
  489. package/scripts/run_full_regression.sh +38 -0
  490. package/scripts/run_l4_gasless_regression.sh +0 -0
  491. package/scripts/run_sdk_experiment.sh +0 -0
  492. package/scripts/run_sdk_regression-v2.sh +0 -0
  493. package/scripts/sdk_regression_v2.ts +20 -34
  494. package/scripts/security_audit.sh +0 -0
  495. package/scripts/setup-bbq-community.ts +2 -2
  496. package/scripts/setup-dancing-community.ts +3 -3
  497. package/scripts/test-brown-v4-deploy.ts +2 -2
  498. package/scripts/test-faucet-and-gasless.ts +119 -139
  499. package/scripts/test-jack-gasless.ts +1 -1
  500. package/scripts/test-jack-registration.ts +2 -2
  501. package/scripts/test-jack-superpaymaster-api.ts +2 -2
  502. package/scripts/test-kms-gasless.ts +307 -93
  503. package/scripts/update-price-dvt.ts +53 -0
  504. package/scripts/v2_regression/01_setup_and_fund.ts +1 -1
  505. package/scripts/v2_regression/02_operator_onboarding.ts +140 -14
  506. package/scripts/v2_regression/03_community_registry.ts +58 -24
  507. package/scripts/v2_regression/04_enduser_flow.ts +49 -16
  508. package/scripts/v2_regression/05_admin_audit.ts +1 -1
  509. package/scripts/verify-bob-token.ts +41 -0
  510. package/sdk-abi-coverage.sh +1 -0
  511. package/sdk-build-and-test.sh +1 -0
  512. package/sdk-test-coverage.sh +1 -0
  513. package/simple-test-paymaster.sh +1 -1
  514. package/simple-test-superpaymaster.sh +3 -1
  515. package/tests/check-aa-balance.ts +31 -0
  516. package/tests/l1-regression.test.ts +13 -34
  517. package/tests/l4-test-anni-gasless.ts +497 -85
  518. package/tests/l4-test-jason1-gasless.ts +29 -21
  519. package/tests/l4-test-jason2-gasless.ts +21 -15
  520. package/tests/l4-test-pmv4-deposit.ts +2 -2
  521. package/tests/l4-test-pmv4-gasless.ts +2 -2
  522. package/tests/l4-test-pmv4-submit.ts +2 -2
  523. package/tests/regression/config.ts +4 -2
  524. package/tests/regression/index.ts +0 -0
  525. package/tests/regression/l1-tests.ts +16 -35
  526. package/tests/regression/l2-tests.ts +149 -93
  527. package/tests/regression/l3-tests.ts +16 -113
  528. package/tests/regression/l4-comprehensive-gasless.ts +478 -0
  529. package/tests/regression/l4-gasless.ts +115 -13
  530. package/tests/regression/l4-reputation-tiers.ts +102 -0
  531. package/tests/test-bundler-compat.ts +132 -0
  532. package/tests/test-candide-bundler.ts +117 -0
  533. package/tests/test-candide-paymaster.ts +101 -0
  534. package/tests/test-candide-sdk.ts +116 -0
  535. package/tests/test-candide-simple.ts +204 -0
  536. package/tests/test-pimlico-complete.ts +134 -0
  537. package/tests/utils/contractVerifier.ts +3 -3
  538. package/tsconfig.build.json +23 -0
  539. package/tsconfig.json +5 -19
  540. package/typedoc.json +5 -39
  541. package/update-version.sh +20 -0
  542. package/vitest.config.ts +6 -5
  543. package/.eslintrc.cjs +0 -30
  544. package/docs/ABI_Change_Tracking_Workflow.md +0 -41
  545. package/docs/Faucet_Gasless_Plan.md +0 -56
  546. package/docs/api/@aastar/account.md +0 -235
  547. package/docs/api/@aastar/analytics.md +0 -219
  548. package/docs/api/@aastar/core.md +0 -26830
  549. package/docs/api/@aastar/dapp.md +0 -130
  550. package/docs/api/@aastar/identity.md +0 -482
  551. package/docs/api/@aastar/paymaster.md +0 -1387
  552. package/docs/api/@aastar/sdk/README.md +0 -155
  553. package/docs/api/@aastar/sdk/node.md +0 -4044
  554. package/docs/api/@aastar/tokens.md +0 -1971
  555. package/docs/changelog.md +0 -99
  556. package/docs/examples/README.md +0 -18
  557. package/docs/guide/concepts/account-abstraction.md +0 -95
  558. package/docs/guide/concepts/rainbow-bridge.md +0 -68
  559. package/docs/guide/concepts/reputation.md +0 -95
  560. package/docs/guide/concepts/superpaymaster.md +0 -141
  561. package/docs/guide/use-cases/community-management.md +0 -141
  562. package/docs/guide/use-cases/gasless-transactions.md +0 -71
  563. package/docs/guide/use-cases/operator-staking.md +0 -84
  564. package/docs/guide/use-cases/yop.md +0 -72
  565. package/docs/refactor/2026-01-13-221242-trae-refactor.md +0 -224
  566. package/docs/refactor/2026-01-13-audit-analysis.md +0 -96
  567. package/docs/refactor/2026-01-13-audit-report-v0.16.2.md +0 -76
  568. package/docs/refactor/2026-01-13-audit-report-v0.17.0.md +0 -74
  569. package/docs/refactor/2026-01-13-cursor-refactor.md +0 -511
  570. package/docs/refactor/2026-01-13-refactor-plan.md +0 -88
  571. package/docs/refactor/2026-01-13-refactor-response-plan.md +0 -77
  572. package/docs/refactor/2026-01-13-refactor-review.md +0 -39
  573. package/docs/refactor/2026-01-13-sdk-enhancement-plan.md +0 -120
  574. package/docs/refactor/2026-01-14-audit-response.md +0 -242
  575. package/docs/refactor/2026-01-14-audit-summary.md +0 -133
  576. package/docs/refactor/cursor-2026-01-13-14-00-audit-report.md +0 -267
  577. package/packages/account/src/accounts/simple.test.ts +0 -93
  578. package/packages/account/src/eoa.test.ts +0 -37
  579. package/packages/account/src/index.test.ts +0 -34
  580. package/packages/core/scripts/audit-abi-coverage.ts +0 -165
  581. package/packages/core/scripts/debug-regex.ts +0 -36
  582. package/packages/core/src/abis/.abi-hashes.json +0 -26
  583. package/packages/core/src/actions/StateValidator.test.ts +0 -175
  584. package/packages/core/src/actions/account.test.ts +0 -155
  585. package/packages/core/src/actions/aggregator.test.ts +0 -88
  586. package/packages/core/src/actions/dvt.test.ts +0 -124
  587. package/packages/core/src/actions/entryPoint.test.ts +0 -176
  588. package/packages/core/src/actions/factory.test.ts +0 -250
  589. package/packages/core/src/actions/faucet.test.ts +0 -202
  590. package/packages/core/src/actions/gtokenExtended.test.ts +0 -162
  591. package/packages/core/src/actions/gtokenExtended.ts +0 -153
  592. package/packages/core/src/actions/paymasterV4.test.ts +0 -209
  593. package/packages/core/src/actions/paymasterV4.ts +0 -455
  594. package/packages/core/src/actions/registry.test.ts +0 -443
  595. package/packages/core/src/actions/reputation.test.ts +0 -225
  596. package/packages/core/src/actions/sbt.test.ts +0 -322
  597. package/packages/core/src/actions/staking.test.ts +0 -273
  598. package/packages/core/src/actions/superPaymaster.test.ts +0 -356
  599. package/packages/core/src/actions/tokens.test.ts +0 -60
  600. package/packages/core/src/actions/validators.test.ts +0 -239
  601. package/packages/core/src/actions/validators.ts +0 -590
  602. package/packages/core/src/contracts.test.ts +0 -58
  603. package/packages/core/src/requirementChecker.test.ts +0 -71
  604. package/packages/core/src/roles.test.ts +0 -34
  605. package/packages/core/src/utils/validation.test.ts +0 -50
  606. package/packages/core/src/utils/validation.ts +0 -66
  607. package/packages/core/vitest.config.ts +0 -14
  608. package/packages/paymaster/src/V4/PaymasterClient.test.ts +0 -114
  609. package/packages/paymaster/src/V4/PaymasterOperator.test.ts +0 -80
  610. package/packages/paymaster/src/V4/PaymasterUtils.test.ts +0 -54
  611. package/packages/paymaster/src/V4/SuperPaymasterClient.test.ts +0 -79
  612. package/packages/sdk/coverage_output.txt +0 -393
  613. package/packages/sdk/coverage_output_final.txt +0 -739
  614. package/packages/sdk/coverage_output_final_v2.txt +0 -722
  615. package/packages/sdk/coverage_output_final_v3.txt +0 -722
  616. package/packages/sdk/src/clients/ExperimentClient.test.ts +0 -65
  617. package/packages/sdk/src/clients/admin.test.ts +0 -98
  618. package/packages/sdk/src/clients/clients.test.ts +0 -104
  619. package/packages/sdk/src/clients/community.test.ts +0 -118
  620. package/packages/sdk/src/clients/endUser.test.ts +0 -221
  621. package/packages/sdk/src/clients/operator.test.ts +0 -162
  622. package/packages/sdk/src/errors/AAStarError.test.ts +0 -92
  623. package/packages/sdk/src/errors/AAStarError.ts +0 -70
  624. package/packages/sdk/src/errors/decoder.test.ts +0 -107
  625. package/packages/sdk/src/node/index.ts +0 -8
  626. package/packages/sdk/src/types/result.ts +0 -29
  627. package/packages/sdk/src/utils/errorHandler.test.ts +0 -102
  628. package/packages/sdk/src/utils/eventDecoder.test.ts +0 -56
  629. package/packages/sdk/src/utils/eventDecoder.ts +0 -66
  630. package/packages/sdk/src/utils/funding.test.ts +0 -117
  631. package/packages/sdk/src/utils/keys.test.ts +0 -105
  632. package/packages/sdk/src/utils/roleData.test.ts +0 -85
  633. package/packages/sdk/src/utils/testScenarios.test.ts +0 -79
  634. package/packages/sdk/src/utils/userOp.test.ts +0 -190
  635. package/scripts/debug-addr.ts +0 -43
  636. package/scripts/debug-community-registration.ts +0 -92
  637. package/scripts/debug-deploy-v4.ts +0 -116
  638. package/scripts/debug-paymaster.ts +0 -127
  639. package/scripts/debug-register-role.ts +0 -101
  640. package/scripts/debug-version.ts +0 -71
  641. package/scripts/debug_account_c.ts +0 -43
  642. package/scripts/debug_bls.ts +0 -58
  643. package/scripts/debug_config_v036.ts +0 -13
  644. package/scripts/debug_contracts.ts +0 -2
  645. package/scripts/debug_env.ts +0 -69
  646. package/scripts/debug_find_paymaster.ts +0 -98
  647. package/scripts/debug_isolated_registration.ts +0 -256
  648. package/scripts/debug_paymaster_config.ts +0 -19
  649. package/scripts/debug_pim_addr.ts +0 -23
  650. package/scripts/debug_pm_status.ts +0 -51
  651. package/scripts/debug_registry.ts +0 -39
  652. package/scripts/debug_registry_setup.ts +0 -129
  653. package/scripts/debug_sanity.ts +0 -32
  654. package/scripts/debug_shared_config.ts +0 -10
  655. package/scripts/debug_token_compat.ts +0 -51
  656. package/scripts/debug_tokens.ts +0 -41
  657. package/scripts/debug_vcheck.ts +0 -33
  658. package/scripts/test_groups.ts +0 -138
  659. package/scripts/test_multi_community_anvil.ts +0 -276
  660. package/scripts/test_new_sdk_apis_sepolia.ts +0 -193
  661. package/scripts/test_sdk_join_idempotent.ts +0 -233
  662. package/scripts/test_simple_sepolia.ts +0 -44
@@ -11,27 +11,23 @@ import {
11
11
  type PublicActions,
12
12
  type WalletActions,
13
13
  type Address,
14
+ keccak256,
15
+ stringToBytes,
16
+ erc20Abi
14
17
  } from 'viem';
15
18
 
16
19
  import {
17
20
  registryActions,
18
- RegistryABI,
19
- xPNTsFactoryABI,
21
+ RegistryABI,
20
22
  sbtActions,
21
- reputationActions,
22
23
  type RegistryActions,
23
24
  type SBTActions,
24
- type ReputationActions,
25
25
  CORE_ADDRESSES,
26
- TEST_TOKEN_ADDRESSES,
27
- validateAddress
26
+ TEST_TOKEN_ADDRESSES
28
27
  } from '@aastar/core';
29
- import { AAStarError, AAStarErrorCode as AAStarErrorType, createError } from '../errors/AAStarError.js';
30
28
  import { RoleDataFactory, RoleIds } from '../utils/roleData.js';
31
- import { decodeContractError } from '../errors/decoder.js';
32
- import { decodeContractEvents, logDecodedEvents, type DecodedEvent } from '../utils/eventDecoder.js';
33
29
 
34
- export type CommunityClient = Client<Transport, Chain, Account | undefined> & PublicActions<Transport, Chain, Account | undefined> & WalletActions<Chain, Account | undefined> & RegistryActions & SBTActions & ReputationActions & {
30
+ export type CommunityClient = Client<Transport, Chain, Account | undefined> & PublicActions<Transport, Chain, Account | undefined> & WalletActions<Chain, Account | undefined> & RegistryActions & SBTActions & {
35
31
  /**
36
32
  * Query community registration status and token information
37
33
  * Returns null if not registered, otherwise returns community details
@@ -56,14 +52,9 @@ export type CommunityClient = Client<Transport, Chain, Account | undefined> & Pu
56
52
  description?: string;
57
53
  logoURI?: string;
58
54
  website?: string;
59
- governance?: {
60
- minStake?: bigint;
61
- initialReputationRule?: boolean;
62
- }
63
- }) => Promise<{ tokenAddress: Address; results: { hash: Hash, events: DecodedEvent[] }[] }>;
55
+ }) => Promise<{ tokenAddress: Address; txs: Hex[] }>;
64
56
  };
65
57
 
66
-
67
58
  export function createCommunityClient({
68
59
  chain,
69
60
  transport,
@@ -87,8 +78,6 @@ export function createCommunityClient({
87
78
 
88
79
  const registryActionsObj = registryActions(usedAddresses.registry)(client as any);
89
80
  const sbtActionsObj = sbtActions(usedAddresses.mySBT)(client as any);
90
- const reputationActionsObj = reputationActions(usedAddresses.reputationSystem)(client as any);
91
-
92
81
 
93
82
  const launch = async (args: {
94
83
  name: string;
@@ -97,75 +86,144 @@ export function createCommunityClient({
97
86
  description?: string;
98
87
  logoURI?: string;
99
88
  website?: string;
100
- governance?: {
101
- minStake?: bigint;
102
- initialReputationRule?: boolean;
103
- }
104
- }) => {
105
- if (!account) throw createError.validation("Account", "Account required for launch");
106
-
107
- // Input Validation
108
- if (!args.name) throw new AAStarError("Community Name is required", AAStarErrorType.VALIDATION_ERROR);
109
- if (args.name.length > 50) throw new AAStarError("Community Name must be ≤ 50 characters", AAStarErrorType.VALIDATION_ERROR);
110
- if (!args.tokenName) throw new AAStarError("Token Name is required", AAStarErrorType.VALIDATION_ERROR);
111
- if (args.tokenName.length > 50) throw new AAStarError("Token Name must be ≤ 50 characters", AAStarErrorType.VALIDATION_ERROR);
112
- if (!args.tokenSymbol) throw new AAStarError("Token Symbol is required", AAStarErrorType.VALIDATION_ERROR);
113
- if (args.tokenSymbol.length > 10) throw new AAStarError("Token Symbol must be ≤ 10 characters", AAStarErrorType.VALIDATION_ERROR);
114
-
115
- const results: { hash: Hash, events: DecodedEvent[] }[] = [];
116
- let tokenAddress: Address = '0x0000000000000000000000000000000000000000';
117
-
89
+ }): Promise<{ tokenAddress: Address; txs: Hex[] }> => {
118
90
  try {
119
- console.log(`🚀 Launching Community "${args.name}"...`);
91
+ console.log(`🚀 Launching community: ${args.name}`);
92
+
93
+ if (!account) {
94
+ throw new Error('Account is required for launch()');
95
+ }
96
+
97
+ // Generate unique community name with timestamp
98
+ const uniqueName = `${args.name}_${Date.now()}`;
99
+ console.log(` 📝 Unique name: ${uniqueName}`);
120
100
 
121
- // 1. Register Role (Community)
122
- // Using helper logic to reuse data encoding
123
- const communityRoleData = {
124
- name: args.name,
101
+ // Generate roleData using RoleDataFactory
102
+ const roleData = RoleDataFactory.community({
103
+ name: uniqueName,
125
104
  ensName: '',
126
105
  website: args.website || '',
127
106
  description: args.description || '',
128
107
  logoURI: args.logoURI || '',
129
- stakeAmount: args.governance?.minStake || 0n
130
- };
131
-
132
- const roleDataHex = RoleDataFactory.community(communityRoleData);
133
-
134
- // Register Role (with idempotent check)
135
- console.log(' Registry: Checking Role...');
136
- const hasRole = await registryActionsObj.registryHasRole({
137
- user: account.address,
138
- roleId: RoleIds.COMMUNITY
108
+ stakeAmount: 0n
139
109
  });
110
+ console.log(` ✅ RoleData generated:`, roleData);
111
+ console.log(` 📊 RoleData type:`, typeof roleData);
112
+ console.log(` 📏 RoleData length:`, roleData?.length);
113
+
114
+ // 1. Check if already has role
115
+ const hasRole = await client.readContract({
116
+ address: usedAddresses.registry,
117
+ abi: RegistryABI,
118
+ functionName: 'hasRole',
119
+ args: [RoleIds.COMMUNITY, account.address]
120
+ }) as boolean;
121
+
122
+ let registerTx: Hex | undefined;
140
123
 
141
124
  if (hasRole) {
142
- console.log(' Role already registered, skipping.');
125
+ console.log(` ℹ️ Account already has COMMUNITY role. Skipping registration.`);
143
126
  } else {
144
- console.log(' Registry: Registering Role...');
127
+ // 2. Check GToken Allowance and Balance
128
+ if (usedAddresses.gToken && usedAddresses.gTokenStaking) {
129
+ console.log(` 💰 Checking GToken allowance...`);
130
+ const balance = await client.readContract({
131
+ address: usedAddresses.gToken,
132
+ abi: erc20Abi,
133
+ functionName: 'balanceOf',
134
+ args: [account.address]
135
+ }) as bigint;
136
+
137
+ if (balance < 50000000000000000000n) { // 50 GT assumption, should ideally check minStake
138
+ console.warn(` ⚠️ Warning: Low GToken balance (${balance}). Registration may fail if minStake > balance.`);
139
+ }
140
+
141
+ const allowance = await client.readContract({
142
+ address: usedAddresses.gToken,
143
+ abi: erc20Abi,
144
+ functionName: 'allowance',
145
+ args: [account.address, usedAddresses.gTokenStaking]
146
+ }) as bigint;
147
+
148
+ if (allowance < 50000000000000000000n) {
149
+ console.log(` 🔓 Approving GToken for Staking...`);
150
+ const approveTx = await client.writeContract({
151
+ address: usedAddresses.gToken,
152
+ abi: erc20Abi,
153
+ functionName: 'approve',
154
+ args: [usedAddresses.gTokenStaking, 115792089237316195423570985008687907853269984665640564039457584007913129639935n], // MaxUint256
155
+ account: account
156
+ });
157
+ console.log(` ✅ Approved: ${approveTx}`);
158
+ await client.waitForTransactionReceipt({ hash: approveTx });
159
+ }
160
+ }
161
+
162
+ // Register community role
163
+ console.log(` 📤 Registering community role...`);
145
164
  try {
146
- const regTx = await registryActionsObj.registryRegisterRoleSelf({
165
+ registerTx = await registryActionsObj.registerRole({
147
166
  roleId: RoleIds.COMMUNITY,
148
- data: roleDataHex,
149
- account
167
+ user: account.address,
168
+ data: roleData,
169
+ account: account
150
170
  });
151
- console.log(` ✅ Registered: ${regTx}`);
152
- const receipt = await client.waitForTransactionReceipt({ hash: regTx });
153
- const events = decodeContractEvents(receipt.logs);
154
- logDecodedEvents(events);
155
- results.push({ hash: regTx, events });
171
+ console.log(` ✅ Community registered: ${registerTx}`);
156
172
  } catch (e: any) {
157
- // Fallback in case of race condition
158
- console.log(' ℹ️ Role registration check:', e.message || 'Already registered');
173
+ // Check for RoleAlreadyGranted (just in case hasRole returned false but race condition or cache)
174
+ const isRoleError = e.message?.includes('RoleAlreadyGranted') ||
175
+ (e.cause as any)?.data?.errorName === 'RoleAlreadyGranted' ||
176
+ (e as any).name === 'RoleAlreadyGranted' ||
177
+ (e as any).name === 'RoleAlreadyGranted';
178
+
179
+ if (isRoleError) {
180
+ console.log(` ℹ️ Role already granted (caught in tx). Skipping.`);
181
+ } else {
182
+ throw e;
183
+ }
159
184
  }
160
185
  }
161
186
 
162
- // 2. Deploy xPNTs Token via Factory
187
+ // Deploy xPNTs token if factory is available
188
+ let tokenAddress: Address = '0x0000000000000000000000000000000000000000' as Address;
189
+ const txs: Hex[] = [];
190
+ if (registerTx) txs.push(registerTx);
191
+
163
192
  if (usedAddresses.xPNTsFactory) {
164
- // Check if token already exists
193
+ if (!client.account) {
194
+ throw new Error("Client account is required for token deployment");
195
+ }
196
+
197
+ // ABI from xPNTsFactory.sol
198
+ const factoryAbi = [
199
+ {
200
+ type: 'function',
201
+ name: 'deployxPNTsToken',
202
+ inputs: [
203
+ { name: 'name', type: 'string' },
204
+ { name: 'symbol', type: 'string' },
205
+ { name: 'communityName', type: 'string' },
206
+ { name: 'communityENS', type: 'string' },
207
+ { name: 'exchangeRate', type: 'uint256' },
208
+ { name: 'paymasterAOA', type: 'address' }
209
+ ],
210
+ outputs: [{ name: 'token', type: 'address' }],
211
+ stateMutability: 'nonpayable'
212
+ },
213
+ {
214
+ type: 'function',
215
+ name: 'getTokenAddress',
216
+ inputs: [{ name: 'community', type: 'address' }],
217
+ outputs: [{ name: 'token', type: 'address' }],
218
+ stateMutability: 'view'
219
+ }
220
+ ] as const;
221
+
222
+ // 1. Check if token already exists
165
223
  try {
166
224
  const existingToken = await client.readContract({
167
225
  address: usedAddresses.xPNTsFactory,
168
- abi: xPNTsFactoryABI,
226
+ abi: factoryAbi,
169
227
  functionName: 'getTokenAddress',
170
228
  args: [account.address]
171
229
  }) as Address;
@@ -173,81 +231,82 @@ export function createCommunityClient({
173
231
  if (existingToken && existingToken !== '0x0000000000000000000000000000000000000000') {
174
232
  console.log(` ℹ️ Found existing token at ${existingToken}`);
175
233
  tokenAddress = existingToken;
176
- } else {
177
- console.log(` 🏭 Deploying Token via Factory: ${usedAddresses.xPNTsFactory}`);
178
-
179
- // deployxPNTsToken(name, symbol, communityName, communityENS, exchangeRate, paymasterAOA)
180
- const { request } = await client.simulateContract({
181
- address: usedAddresses.xPNTsFactory,
182
- abi: xPNTsFactoryABI,
183
- functionName: 'deployxPNTsToken',
184
- args: [
185
- args.tokenName,
186
- args.tokenSymbol,
187
- args.name, // communityName
188
- args.website || '', // communityENS (mapping website to ENS param for now)
189
- 1000000000000000000n, // exchangeRate 1e18 (1:1)
190
- '0x0000000000000000000000000000000000000000' // paymasterAOA (optional)
191
- ],
192
- account: client.account
193
- } as any);
194
-
195
- const deployTx = await client.writeContract(request as any);
196
- console.log(` 📤 Deploy Token Tx: ${deployTx}`);
197
- const receipt = await client.waitForTransactionReceipt({ hash: deployTx });
198
- const events = decodeContractEvents(receipt.logs);
199
- logDecodedEvents(events);
200
- results.push({ hash: deployTx, events });
201
-
202
- // After deployment, fetch the address again
203
- tokenAddress = await client.readContract({
204
- address: usedAddresses.xPNTsFactory,
205
- abi: xPNTsFactoryABI,
206
- functionName: 'getTokenAddress',
207
- args: [account.address]
208
- }) as Address;
209
-
210
- console.log(` 🪙 Token Deployed: ${tokenAddress}`);
234
+ // Return early or continue? Logic expects result.
235
+ // If we found it, we don't need to deploy.
236
+ return { tokenAddress, txs };
211
237
  }
212
238
  } catch (e) {
213
- console.warn(` ⚠️ Token deployment step issues:`, e);
239
+ console.warn(` ⚠️ Failed to check for existing token:`, e);
214
240
  }
215
- } else {
216
- console.warn(` ⚠️ xPNTsFactory address missing, skipping token deployment.`);
217
- }
218
241
 
219
- // 3. Setup Governance (Reputation Rule) - Pattern logic
220
- if (args.governance?.initialReputationRule) {
221
- console.log('⚖️ Setting up Governance Rules...');
242
+ console.log(` 🏭 Deploying Token via Factory: ${usedAddresses.xPNTsFactory}`);
243
+
222
244
  try {
223
- const ruleId = '0x0000000000000000000000000000000000000000000000000000000000000001' as Hex; // Default Rule ID 1
224
- const ruleConfig = {
225
- topic: '0x0000000000000000000000000000000000000000' as Address, // Topic 0
226
- weight: 100n,
227
- maxScore: 1000n,
228
- customData: '0x' as Hex
229
- };
230
- const govTx = await reputationActionsObj.setReputationRule({
231
- ruleId,
232
- rule: ruleConfig,
233
- account
234
- });
235
- console.log(` ✅ Reputation Rule Set: ${govTx}`);
236
- const receipt = await client.waitForTransactionReceipt({ hash: govTx });
237
- const events = decodeContractEvents(receipt.logs);
238
- logDecodedEvents(events);
239
- results.push({ hash: govTx, events });
240
- } catch (e) {
241
- console.warn(' ⚠️ Failed to set reputation rule:', e);
245
+ // deployxPNTsToken(name, symbol, communityName, communityENS, exchangeRate, paymasterAOA)
246
+ const { request } = await client.simulateContract({
247
+ address: usedAddresses.xPNTsFactory,
248
+ abi: factoryAbi,
249
+ functionName: 'deployxPNTsToken',
250
+ args: [
251
+ args.tokenName,
252
+ args.tokenSymbol,
253
+ args.name, // communityName
254
+ args.website || '', // communityENS (mapping website to ENS param for now)
255
+ 1000000000000000000n, // exchangeRate 1e18 (1:1)
256
+ '0x0000000000000000000000000000000000000000' // paymasterAOA (optional)
257
+ ],
258
+ account: client.account
259
+ } as any);
260
+
261
+ const deployTx = await client.writeContract(request as any);
262
+ console.log(` 📤 Deploy Token Tx: ${deployTx}`);
263
+ txs.push(deployTx);
264
+
265
+ const receipt = await client.waitForTransactionReceipt({ hash: deployTx });
266
+
267
+ // After deployment, fetch the address again
268
+ const newTokenAddress = await client.readContract({
269
+ address: usedAddresses.xPNTsFactory,
270
+ abi: factoryAbi,
271
+ functionName: 'getTokenAddress',
272
+ args: [account.address]
273
+ }) as Address;
274
+
275
+ if (newTokenAddress) {
276
+ tokenAddress = newTokenAddress;
277
+ console.log(` 🪙 Token Deployed: ${tokenAddress}`);
278
+ }
279
+
280
+ } catch (deployError) {
281
+ console.warn(' ⚠️ Failed to deploy token, but community registered:', deployError);
242
282
  }
243
283
  }
244
284
 
245
- return { tokenAddress, results };
285
+ return { tokenAddress, txs };
246
286
  } catch (error: any) {
247
- const decodedMsg = decodeContractError(error);
248
- if (decodedMsg) {
249
- throw new AAStarError(`Community Launch Failed: ${decodedMsg}`, AAStarErrorType.CONTRACT_ERROR);
287
+ console.error('❌ Error in launch():', error);
288
+
289
+ // 检查是否是 RoleAlreadyGranted 错误
290
+ const errorMessage = error.message || '';
291
+ const errorData = error.data?.errorName || '';
292
+ const errorString = JSON.stringify(error);
293
+
294
+ if (errorMessage.includes('RoleAlreadyGranted') ||
295
+ errorData === 'RoleAlreadyGranted' ||
296
+ errorString.includes('RoleAlreadyGranted')) {
297
+ throw new Error(`Account ${account?.address || 'unknown'} already has COMMUNITY role. Please use a different account or exit the role first.`);
298
+ }
299
+
300
+ // 检查其他常见错误
301
+ if (errorMessage.includes('InsufficientStake')) {
302
+ throw new Error('Insufficient stake. Please ensure you have enough GToken staked.');
303
+ }
304
+
305
+ if (errorMessage.includes('RoleNotConfigured')) {
306
+ throw new Error('COMMUNITY role is not configured in the Registry contract.');
250
307
  }
308
+
309
+ // 重新抛出原始错误
251
310
  throw error;
252
311
  }
253
312
  };
@@ -255,8 +314,6 @@ export function createCommunityClient({
255
314
  // State query method - check before operations
256
315
  const getCommunityInfo = async (accountAddress: Address) => {
257
316
  try {
258
- validateAddress(accountAddress, 'Account Address');
259
-
260
317
  // 1. Check if account has COMMUNITY role
261
318
  const hasRole = await client.readContract({
262
319
  address: usedAddresses.registry,
@@ -274,53 +331,62 @@ export function createCommunityClient({
274
331
  }
275
332
 
276
333
  // 2. Get token address from factory
277
- let tokenAddress: Address | null = null;
278
- if (usedAddresses.xPNTsFactory) {
279
- tokenAddress = await client.readContract({
280
- address: usedAddresses.xPNTsFactory,
281
- abi: xPNTsFactoryABI,
282
- functionName: 'getTokenAddress',
283
- args: [accountAddress]
284
- }) as Address;
285
- }
334
+ const factoryAbi = [
335
+ {
336
+ inputs: [{ name: 'community', type: 'address' }],
337
+ name: 'getTokenAddress',
338
+ outputs: [{ name: '', type: 'address' }],
339
+ stateMutability: 'view',
340
+ type: 'function'
341
+ }
342
+ ] as const;
343
+
344
+ const tokenAddress = await client.readContract({
345
+ address: usedAddresses.xPNTsFactory!,
346
+ abi: factoryAbi,
347
+ functionName: 'getTokenAddress',
348
+ args: [accountAddress]
349
+ }) as Address;
286
350
 
287
351
  // 3. Get community metadata from Registry
288
- const metadata = await client.readContract({
289
- address: usedAddresses.registry,
290
- abi: RegistryABI,
291
- functionName: 'roleMetadata',
292
- args: [RoleIds.COMMUNITY, accountAddress]
293
- }) as Hex;
352
+ const metadata = await client.readContract({
353
+ address: usedAddresses.registry,
354
+ abi: RegistryABI,
355
+ functionName: 'roleMetadata',
356
+ args: [RoleIds.COMMUNITY, accountAddress]
357
+ }) as Hex;
294
358
 
295
- let communityData = {
296
- name: 'Community',
297
- ensName: '',
298
- website: '',
299
- description: '',
300
- logoURI: ''
301
- };
359
+ let communityData = {
360
+ name: 'Community',
361
+ ensName: '',
362
+ website: '',
363
+ description: '',
364
+ logoURI: ''
365
+ };
302
366
 
303
- if (metadata && metadata !== '0x') {
304
- try {
305
- const decoded = RoleDataFactory.decodeCommunity(metadata);
306
- communityData = {
307
- name: decoded.name || 'Community',
308
- ensName: decoded.ensName || '',
309
- website: decoded.website || '',
310
- description: decoded.description || '',
311
- logoURI: decoded.logoURI || ''
312
- };
313
- } catch (e) {
314
- console.warn(' ⚠️ Failed to decode community metadata:', e);
315
- }
367
+ if (metadata && metadata !== '0x') {
368
+ try {
369
+ // RoleMetadata is encoded as CommunityRoleData struct:
370
+ // (string name, string ensName, string website, string description, string logoURI, uint256 stakeAmount)
371
+ const decoded = RoleDataFactory.decodeCommunity(metadata);
372
+ communityData = {
373
+ name: decoded.name || 'Community',
374
+ ensName: decoded.ensName || '',
375
+ website: decoded.website || '',
376
+ description: decoded.description || '',
377
+ logoURI: decoded.logoURI || ''
378
+ };
379
+ } catch (e) {
380
+ console.warn(' ⚠️ Failed to decode community metadata:', e);
316
381
  }
382
+ }
317
383
 
318
- return {
319
- hasRole: true,
320
- tokenAddress: (tokenAddress && tokenAddress !== '0x0000000000000000000000000000000000000000') ? tokenAddress : null,
321
- communityData: (metadata && metadata !== '0x') ? communityData : null
322
- };
323
- } catch (error) {
384
+ return {
385
+ hasRole: true,
386
+ tokenAddress: (tokenAddress && tokenAddress !== '0x0000000000000000000000000000000000000000') ? tokenAddress : null,
387
+ communityData: (metadata && metadata !== '0x') ? communityData : null
388
+ };
389
+ } catch (error) {
324
390
  console.error('Error fetching community info:', error);
325
391
  return {
326
392
  hasRole: false,
@@ -330,8 +396,8 @@ export function createCommunityClient({
330
396
  }
331
397
  };
332
398
 
333
- return Object.assign(client, registryActionsObj, sbtActionsObj, reputationActionsObj, {
399
+ return Object.assign(client, registryActionsObj, sbtActionsObj, {
334
400
  launch,
335
401
  getCommunityInfo
336
- }) as CommunityClient;
402
+ }) as unknown as CommunityClient;
337
403
  }