@aastar/sdk 0.14.3 → 0.16.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (712) hide show
  1. package/.eslintrc.cjs +30 -0
  2. package/README.md +148 -19
  3. package/abis/BLSAggregator.json +13 -13
  4. package/abis/BLSValidator.json +13 -0
  5. package/abis/DVTValidator.json +13 -0
  6. package/abis/GToken.json +57 -26
  7. package/abis/GTokenStaking.json +13 -39
  8. package/abis/MySBT.json +0 -39
  9. package/abis/Paymaster.json +0 -13
  10. package/abis/PaymasterFactory.json +26 -39
  11. package/abis/PaymasterV4_2.json +68 -58
  12. package/abis/Registry.json +57 -16
  13. package/abis/ReputationSystem.json +182 -0
  14. package/abis/SuperPaymaster.json +169 -0
  15. package/abis/aPNTs.json +13 -26
  16. package/abis/xPNTsFactory.json +13 -26
  17. package/abis/xPNTsToken.json +13 -26
  18. package/config.anvil.json +1 -0
  19. package/config.sepolia.json +1 -0
  20. package/config.test.json +27 -0
  21. package/docs/ABI_Change_Tracking_Workflow.md +41 -0
  22. package/docs/ABI_MAINTENANCE_PLAN.md +132 -0
  23. package/docs/API_REFERENCE.md +169 -9
  24. package/docs/Configuration_Sync.md +47 -0
  25. package/docs/DEMO_REFACTOR_PLAN.md +289 -0
  26. package/docs/ENV_SEPOLIA_UPDATE.md +68 -0
  27. package/docs/Faucet_Gasless_Plan.md +56 -0
  28. package/docs/L2_BUSINESS_CLIENTS_PLAN.md +394 -0
  29. package/docs/L4_Manual_Test_CheatSheet.md +215 -0
  30. package/docs/SDK_ABI_COVERAGE.md +839 -0
  31. package/docs/SDK_COVERAGE_STRATEGY.md +397 -0
  32. package/docs/SDK_REGRESSION_AND_API_PLAN.md +98 -0
  33. package/docs/SDK_STAGE3_PLAN.md +151 -0
  34. package/docs/STAGE3.md +191 -0
  35. package/docs/TESTER_GUIDE_GASLESS.md +663 -0
  36. package/docs/Verifier_L4_Gasless_Plan.md +454 -0
  37. package/docs/api/@aastar/account.md +235 -0
  38. package/docs/api/@aastar/analytics.md +219 -0
  39. package/docs/api/@aastar/core.md +26830 -0
  40. package/docs/api/@aastar/dapp.md +130 -0
  41. package/docs/api/@aastar/identity.md +482 -0
  42. package/docs/api/@aastar/paymaster.md +1387 -0
  43. package/docs/api/@aastar/sdk/README.md +155 -0
  44. package/docs/api/@aastar/sdk/node.md +4044 -0
  45. package/docs/api/@aastar/tokens.md +1971 -0
  46. package/docs/api/README.md +8 -4
  47. package/docs/changelog.md +99 -0
  48. package/docs/examples/README.md +18 -0
  49. package/docs/guide/concepts/account-abstraction.md +95 -0
  50. package/docs/guide/concepts/rainbow-bridge.md +68 -0
  51. package/docs/guide/concepts/reputation.md +95 -0
  52. package/docs/guide/concepts/superpaymaster.md +141 -0
  53. package/docs/guide/use-cases/community-management.md +141 -0
  54. package/docs/guide/use-cases/gasless-transactions.md +71 -0
  55. package/docs/guide/use-cases/operator-staking.md +84 -0
  56. package/docs/guide/use-cases/yop.md +72 -0
  57. package/docs/refactor/2026-01-13-221242-trae-refactor.md +224 -0
  58. package/docs/refactor/2026-01-13-audit-analysis.md +96 -0
  59. package/docs/refactor/2026-01-13-audit-report-v0.16.2.md +76 -0
  60. package/docs/refactor/2026-01-13-audit-report-v0.17.0.md +74 -0
  61. package/docs/refactor/2026-01-13-cursor-refactor.md +511 -0
  62. package/docs/refactor/2026-01-13-refactor-plan.md +88 -0
  63. package/docs/refactor/2026-01-13-refactor-response-plan.md +77 -0
  64. package/docs/refactor/2026-01-13-refactor-review.md +39 -0
  65. package/docs/refactor/2026-01-13-sdk-enhancement-plan.md +120 -0
  66. package/docs/refactor/2026-01-14-audit-response.md +242 -0
  67. package/docs/refactor/2026-01-14-audit-summary.md +133 -0
  68. package/docs/refactor/cursor-2026-01-13-14-00-audit-report.md +267 -0
  69. package/env.template +32 -0
  70. package/examples/l1-api-demo.ts +184 -0
  71. package/examples/l2-clients-demo.ts +138 -0
  72. package/examples/l3-user-onboarding.ts +74 -0
  73. package/examples/prepare-gasless.ts +89 -0
  74. package/examples/simple-gasless-demo.ts +80 -0
  75. package/examples/simple-superpaymaster-demo.ts +96 -0
  76. package/l4-setup.sh +11 -0
  77. package/package.json +12 -8
  78. package/packages/account/package.json +6 -3
  79. package/packages/account/src/accounts/simple.test.ts +93 -0
  80. package/packages/account/src/eoa.test.ts +37 -0
  81. package/packages/account/src/eoa.ts +4 -2
  82. package/packages/account/src/index.test.ts +34 -0
  83. package/packages/account/tsconfig.json +0 -1
  84. package/packages/analytics/package.json +12 -5
  85. package/packages/analytics/tsconfig.json +0 -5
  86. package/packages/core/package.json +16 -6
  87. package/packages/core/scripts/audit-abi-coverage.ts +165 -0
  88. package/packages/core/scripts/debug-regex.ts +36 -0
  89. package/packages/core/src/abis/.abi-hashes.json +26 -0
  90. package/packages/core/src/abis/BLSAggregator.json +686 -572
  91. package/packages/core/src/abis/BLSValidator.json +42 -26
  92. package/packages/core/src/abis/DVTValidator.json +368 -370
  93. package/packages/core/src/abis/EntryPoint.json +1382 -1379
  94. package/packages/core/src/abis/GToken.json +513 -523
  95. package/packages/core/src/abis/GTokenStaking.json +949 -931
  96. package/packages/core/src/abis/MySBT.json +1518 -1586
  97. package/packages/core/src/abis/Paymaster.json +1143 -1205
  98. package/packages/core/src/abis/PaymasterFactory.json +640 -650
  99. package/packages/core/src/abis/Registry.json +1942 -1636
  100. package/packages/core/src/abis/ReputationSystem.json +699 -477
  101. package/packages/core/src/abis/SimpleAccount.json +560 -625
  102. package/packages/core/src/abis/SimpleAccountFactory.json +111 -108
  103. package/packages/core/src/abis/SuperPaymaster.json +1781 -1399
  104. package/packages/core/src/abis/abi.config.json +24 -0
  105. package/packages/core/src/abis/index.ts +74 -38
  106. package/packages/core/src/abis/xPNTsFactory.json +718 -728
  107. package/packages/core/src/abis/xPNTsToken.json +1280 -1173
  108. package/packages/core/src/actions/StateValidator.test.ts +175 -0
  109. package/packages/{sdk/src/utils/validation.ts → core/src/actions/StateValidator.ts} +22 -125
  110. package/packages/core/src/actions/account.test.ts +155 -0
  111. package/packages/core/src/actions/account.ts +179 -0
  112. package/packages/core/src/actions/aggregator.test.ts +88 -0
  113. package/packages/core/src/actions/dvt.test.ts +124 -0
  114. package/packages/core/src/actions/entryPoint.test.ts +176 -0
  115. package/packages/core/src/actions/entryPoint.ts +266 -0
  116. package/packages/core/src/actions/factory.test.ts +250 -0
  117. package/packages/core/src/actions/factory.ts +586 -14
  118. package/packages/core/src/actions/faucet.test.ts +202 -0
  119. package/packages/core/src/actions/faucet.ts +421 -0
  120. package/packages/core/src/actions/gtokenExtended.test.ts +162 -0
  121. package/packages/core/src/actions/gtokenExtended.ts +153 -0
  122. package/packages/core/src/actions/index.ts +8 -0
  123. package/packages/core/src/actions/paymasterV4.test.ts +209 -0
  124. package/packages/core/src/actions/paymasterV4.ts +330 -138
  125. package/packages/core/src/actions/registry.test.ts +443 -0
  126. package/packages/core/src/actions/registry.ts +768 -28
  127. package/packages/core/src/actions/reputation.test.ts +225 -0
  128. package/packages/core/src/actions/reputation.ts +351 -0
  129. package/packages/core/src/actions/sbt.test.ts +322 -0
  130. package/packages/core/src/actions/sbt.ts +614 -30
  131. package/packages/core/src/actions/staking.test.ts +273 -0
  132. package/packages/core/src/actions/staking.ts +350 -8
  133. package/packages/core/src/actions/superPaymaster.test.ts +356 -0
  134. package/packages/core/src/actions/superPaymaster.ts +746 -35
  135. package/packages/core/src/actions/tokens.test.ts +60 -0
  136. package/packages/core/src/actions/tokens.ts +482 -20
  137. package/packages/core/src/actions/validators.test.ts +239 -0
  138. package/packages/core/src/actions/validators.ts +590 -0
  139. package/packages/core/src/clients/BaseClient.ts +78 -0
  140. package/packages/core/src/clients/types.ts +69 -0
  141. package/packages/core/src/clients.ts +1 -1
  142. package/packages/core/src/communities.ts +2 -2
  143. package/packages/core/src/config/ContractConfigManager.ts +63 -0
  144. package/packages/core/src/constants.ts +64 -0
  145. package/packages/core/src/contract-addresses.ts +42 -18
  146. package/packages/core/src/contracts.test.ts +58 -0
  147. package/packages/core/src/contracts.ts +2 -2
  148. package/packages/core/src/index.ts +4 -1
  149. package/packages/core/src/requirementChecker.test.ts +71 -0
  150. package/packages/core/src/requirementChecker.ts +1 -39
  151. package/packages/core/src/roles.test.ts +34 -0
  152. package/packages/core/src/roles.ts +61 -50
  153. package/packages/core/src/utils/validation.test.ts +50 -0
  154. package/packages/core/src/utils/validation.ts +66 -0
  155. package/packages/core/tsconfig.json +2 -2
  156. package/packages/core/vitest.config.ts +14 -0
  157. package/packages/dapp/package.json +6 -3
  158. package/packages/dapp/src/ui/hooks/useCreditScore.ts +1 -1
  159. package/packages/dapp/tsconfig.json +0 -1
  160. package/packages/identity/package.json +6 -3
  161. package/packages/identity/src/index.ts +49 -17
  162. package/packages/identity/tsconfig.json +0 -1
  163. package/packages/paymaster/package.json +6 -3
  164. package/packages/paymaster/src/SuperPaymaster/index.ts +2 -2
  165. package/packages/paymaster/src/V4/PaymasterClient.test.ts +114 -0
  166. package/packages/paymaster/src/V4/PaymasterClient.ts +385 -0
  167. package/packages/paymaster/src/V4/PaymasterOperator.test.ts +80 -0
  168. package/packages/paymaster/src/V4/PaymasterOperator.ts +282 -0
  169. package/packages/paymaster/src/V4/PaymasterUtils.test.ts +54 -0
  170. package/packages/paymaster/src/V4/PaymasterUtils.ts +185 -0
  171. package/packages/paymaster/src/V4/SuperPaymasterClient.test.ts +79 -0
  172. package/packages/paymaster/src/V4/SuperPaymasterClient.ts +123 -0
  173. package/packages/paymaster/src/V4/index.ts +4 -123
  174. package/packages/paymaster/tsconfig.json +0 -1
  175. package/packages/sdk/aastar/tsconfig.json +0 -1
  176. package/packages/sdk/coverage_output.txt +393 -0
  177. package/packages/sdk/coverage_output_final.txt +739 -0
  178. package/packages/sdk/coverage_output_final_v2.txt +722 -0
  179. package/packages/sdk/coverage_output_final_v3.txt +722 -0
  180. package/packages/sdk/package.json +14 -2
  181. package/packages/sdk/src/clients/ExperimentClient.test.ts +65 -0
  182. package/packages/sdk/src/clients/ExperimentClient.ts +80 -0
  183. package/packages/sdk/src/clients/admin.test.ts +98 -0
  184. package/packages/sdk/src/clients/admin.ts +108 -8
  185. package/packages/sdk/src/clients/clients.test.ts +104 -0
  186. package/packages/sdk/src/clients/community.test.ts +118 -0
  187. package/packages/sdk/src/clients/community.ts +175 -241
  188. package/packages/sdk/src/clients/endUser.test.ts +221 -0
  189. package/packages/sdk/src/clients/endUser.ts +430 -52
  190. package/packages/sdk/src/clients/operator.test.ts +162 -0
  191. package/packages/sdk/src/clients/operator.ts +168 -90
  192. package/packages/sdk/src/errors/AAStarError.test.ts +92 -0
  193. package/packages/sdk/src/errors/AAStarError.ts +70 -0
  194. package/packages/sdk/src/errors/decoder.test.ts +107 -0
  195. package/packages/sdk/src/errors/decoder.ts +84 -41
  196. package/packages/sdk/src/index.ts +11 -8
  197. package/packages/sdk/src/node/index.ts +8 -0
  198. package/packages/sdk/src/types/result.ts +29 -0
  199. package/packages/sdk/src/utils/errorHandler.test.ts +102 -0
  200. package/packages/sdk/src/utils/eventDecoder.test.ts +56 -0
  201. package/packages/sdk/src/utils/eventDecoder.ts +66 -0
  202. package/packages/sdk/src/utils/funding.test.ts +117 -0
  203. package/packages/sdk/src/utils/keys.test.ts +105 -0
  204. package/packages/sdk/src/utils/keys.ts +15 -0
  205. package/packages/sdk/src/utils/roleData.test.ts +85 -0
  206. package/packages/sdk/src/utils/roleData.ts +15 -26
  207. package/packages/sdk/src/utils/testScenarios.test.ts +79 -0
  208. package/packages/sdk/src/utils/testScenarios.ts +128 -0
  209. package/packages/sdk/src/utils/userOp.test.ts +190 -0
  210. package/packages/sdk/src/utils/userOp.ts +265 -0
  211. package/packages/sdk/tests/scenarios/01_onboard_community.ts +62 -0
  212. package/packages/sdk/tests/scenarios/02_onboard_operator.ts +109 -0
  213. package/packages/sdk/tests/scenarios/03_onboard_user.ts +53 -0
  214. package/packages/sdk/tests/scenarios/04_gasless_tx_flow.ts +68 -0
  215. package/packages/sdk/tests/scenarios/check_entrypoint.ts +19 -0
  216. package/packages/sdk/tests/scenarios/check_initialization.ts +65 -0
  217. package/packages/sdk/tests/scenarios/debug_addresses.ts +26 -0
  218. package/packages/sdk/tests/scenarios/diagnose_scenario4.ts +55 -0
  219. package/packages/sdk/tests/scenarios/setup.ts +33 -0
  220. package/packages/sdk/tests/scenarios/test_entrypoint_nonce.ts +46 -0
  221. package/packages/sdk/tsconfig.json +0 -1
  222. package/packages/tokens/package.json +6 -3
  223. package/packages/tokens/src/index.ts +92 -64
  224. package/packages/tokens/tsconfig.json +0 -1
  225. package/run_l4_gasless_regression.sh +79 -0
  226. package/run_sdk_regression.sh +200 -175
  227. package/scripts/00_utils.ts +1 -1
  228. package/scripts/01_prepare_all.ts +149 -198
  229. package/scripts/02_test_eoa.ts +27 -24
  230. package/scripts/03_test_standard_aa.ts +48 -153
  231. package/scripts/04_test_paymaster_v4.ts +41 -198
  232. package/scripts/05_test_superpaymaster.ts +40 -362
  233. package/scripts/09_local_test_community_lifecycle.ts +4 -3
  234. package/scripts/11_test_core_flows_full.ts +75 -197
  235. package/scripts/15_test_bls_full.ts +25 -2
  236. package/scripts/15_test_dvt_bls_full.ts +11 -4
  237. package/scripts/18_test_lifecycle_completion.ts +2 -2
  238. package/scripts/19_sdk_experiment_runner.ts +41 -16
  239. package/scripts/20_sdk_full_capability.ts +75 -77
  240. package/scripts/99_bug_hunting_fast.ts +55 -172
  241. package/scripts/analyze_abi_coverage.ts +169 -0
  242. package/scripts/check-admin.ts +95 -0
  243. package/scripts/check-jason-status.ts +184 -0
  244. package/scripts/check-roles.ts +36 -0
  245. package/scripts/clear-nonce.ts +47 -0
  246. package/scripts/complete-jack-superpaymaster.ts +171 -0
  247. package/scripts/debug-addr.ts +43 -0
  248. package/scripts/debug-community-registration.ts +92 -0
  249. package/scripts/debug-deploy-v4.ts +116 -0
  250. package/scripts/debug-paymaster.ts +127 -0
  251. package/scripts/debug-register-role.ts +101 -0
  252. package/scripts/debug-version.ts +71 -0
  253. package/scripts/deploy-sync.ts +104 -0
  254. package/scripts/deprecated/check_aa_entrypoint.ts +29 -0
  255. package/scripts/deprecated/check_paymaster_deposits.ts +45 -0
  256. package/scripts/deprecated/debug_aoa_function.ts +28 -0
  257. package/scripts/deprecated/debug_aoa_issue.ts +16 -0
  258. package/scripts/deprecated/debug_pimlico_aa23.ts +40 -0
  259. package/scripts/deprecated/debug_summary.ts +34 -0
  260. package/scripts/deprecated/deploy_v07_aa.ts +99 -0
  261. package/scripts/deprecated/fix_all_issues.ts +61 -0
  262. package/scripts/deprecated/fund_bpnts.ts +52 -0
  263. package/scripts/deprecated/get_factory_addresses.ts +28 -0
  264. package/scripts/deprecated/recheck_pim.ts +34 -0
  265. package/{extract_abis.sh → scripts/dev_tools/extract_abis.sh} +13 -2
  266. package/scripts/extract-docs.sh +78 -9
  267. package/scripts/fund-jack.ts +38 -0
  268. package/scripts/inspect-anni-token.ts +116 -0
  269. package/scripts/inspect-factory.ts +83 -0
  270. package/scripts/l4-paymasterv4-transfer-test.ts +228 -0
  271. package/scripts/l4-setup.ts +453 -0
  272. package/scripts/l4-state.json +80 -0
  273. package/scripts/phase1_verify_contracts.ts +207 -0
  274. package/scripts/pre_test_sync.ts +83 -0
  275. package/scripts/prepare_sepolia_resources.ts +154 -0
  276. package/scripts/query-jack-token.ts +22 -0
  277. package/scripts/quick_setup_account.ts +80 -0
  278. package/scripts/run_l4_gasless_regression.sh +32 -0
  279. package/scripts/run_sdk_experiment.sh +13 -0
  280. package/scripts/run_sdk_regression-v2.sh +38 -0
  281. package/scripts/sdk_regression_v2.ts +162 -0
  282. package/scripts/setup-bbq-community.ts +187 -0
  283. package/scripts/setup-dancing-community.ts +223 -0
  284. package/scripts/setup_test_accounts.ts +88 -0
  285. package/scripts/setup_test_environment.ts +147 -0
  286. package/scripts/sync_anvil_config.cjs +44 -0
  287. package/scripts/sync_contract_addresses.ts +186 -0
  288. package/scripts/sync_sepolia_config.cjs +90 -0
  289. package/scripts/sync_sepolia_config.mjs +74 -0
  290. package/scripts/test-brown-v4-deploy.ts +90 -0
  291. package/scripts/test-faucet-and-gasless.ts +170 -0
  292. package/scripts/test-jack-gasless.ts +119 -0
  293. package/scripts/test-jack-registration.ts +133 -0
  294. package/scripts/test-jack-superpaymaster-api.ts +112 -0
  295. package/scripts/test-kms-gasless.ts +138 -0
  296. package/scripts/test_groups.ts +63 -192
  297. package/scripts/test_new_sdk_apis_sepolia.ts +78 -0
  298. package/scripts/update_env_from_config.ts +83 -0
  299. package/scripts/v2_regression/00_validate_env.ts +28 -4
  300. package/scripts/v2_regression/02_operator_onboarding.ts +15 -141
  301. package/scripts/v2_regression/03_community_registry.ts +23 -57
  302. package/scripts/v2_regression/04_enduser_flow.ts +15 -48
  303. package/scripts/verify-tx-status.ts +81 -0
  304. package/scripts/verify_onchain_milestone.ts +114 -0
  305. package/scripts/verify_phase1.ts +66 -0
  306. package/scripts/verify_phase2.ts +66 -0
  307. package/sdk_experiment_data.csv +2 -0
  308. package/simple-test-paymaster.sh +2 -0
  309. package/simple-test-superpaymaster.sh +1 -0
  310. package/tests/l1-regression.test.ts +458 -0
  311. package/tests/l4-test-anni-gasless.ts +105 -0
  312. package/tests/l4-test-jason1-gasless.ts +150 -0
  313. package/tests/l4-test-jason2-gasless.ts +174 -0
  314. package/tests/l4-test-pmv4-deposit.ts +111 -0
  315. package/tests/l4-test-pmv4-gasless.ts +166 -0
  316. package/tests/l4-test-pmv4-submit.ts +223 -0
  317. package/tests/regression/README.md +168 -0
  318. package/tests/regression/config.ts +215 -0
  319. package/tests/regression/display-versions.ts +85 -0
  320. package/tests/regression/index.ts +67 -0
  321. package/tests/regression/l1-tests.ts +267 -0
  322. package/tests/regression/l2-tests.ts +171 -0
  323. package/tests/regression/l3-tests.ts +125 -0
  324. package/tests/regression/l4-gasless.ts +897 -0
  325. package/tests/regression/l4-runner.ts +52 -0
  326. package/tests/reports/phase1_contract_verification.md +45 -0
  327. package/tests/utils/contractVerifier.ts +237 -0
  328. package/tests/utils/userOpHelper.ts +194 -0
  329. package/tsconfig.json +32 -6
  330. package/typedoc.json +39 -5
  331. package/vitest.config.ts +16 -0
  332. package/.eslintrc.js +0 -28
  333. package/docs/STAGE_3_SCENARIO_EXP_PLAN.md +0 -77
  334. package/docs/api/@aastar/account/README.md +0 -15
  335. package/docs/api/@aastar/account/classes/UserOpClient.md +0 -87
  336. package/docs/api/@aastar/account/functions/createEOAWalletClient.md +0 -21
  337. package/docs/api/@aastar/account/functions/getUserOpHash.md +0 -23
  338. package/docs/api/@aastar/account/functions/packUserOpLimits.md +0 -19
  339. package/docs/api/@aastar/account/functions/toSimpleSmartAccount.md +0 -83
  340. package/docs/api/@aastar/account/type-aliases/EOAWalletClient.md +0 -37
  341. package/docs/api/@aastar/account/type-aliases/SimpleSmartAccount.md +0 -39
  342. package/docs/api/@aastar/core/README.md +0 -136
  343. package/docs/api/@aastar/core/classes/BLSSigner.md +0 -147
  344. package/docs/api/@aastar/core/enumerations/NodeType.md +0 -33
  345. package/docs/api/@aastar/core/functions/aggregatorActions.md +0 -2714
  346. package/docs/api/@aastar/core/functions/createAAStarPublicClient.md +0 -3105
  347. package/docs/api/@aastar/core/functions/dvtActions.md +0 -2714
  348. package/docs/api/@aastar/core/functions/factoryActions.md +0 -2714
  349. package/docs/api/@aastar/core/functions/getAddressUrl.md +0 -32
  350. package/docs/api/@aastar/core/functions/getAllCommunityConfigs.md +0 -9
  351. package/docs/api/@aastar/core/functions/getAllV2Contracts.md +0 -20
  352. package/docs/api/@aastar/core/functions/getBlockExplorer.md +0 -26
  353. package/docs/api/@aastar/core/functions/getChainId.md +0 -26
  354. package/docs/api/@aastar/core/functions/getCommunities.md +0 -76
  355. package/docs/api/@aastar/core/functions/getCommunity.md +0 -32
  356. package/docs/api/@aastar/core/functions/getCommunityConfig.md +0 -15
  357. package/docs/api/@aastar/core/functions/getContract.md +0 -37
  358. package/docs/api/@aastar/core/functions/getContractNetworks.md +0 -18
  359. package/docs/api/@aastar/core/functions/getContracts.md +0 -178
  360. package/docs/api/@aastar/core/functions/getCoreContracts.md +0 -55
  361. package/docs/api/@aastar/core/functions/getDeploymentDate.md +0 -32
  362. package/docs/api/@aastar/core/functions/getEntryPoint.md +0 -25
  363. package/docs/api/@aastar/core/functions/getNetwork.md +0 -26
  364. package/docs/api/@aastar/core/functions/getPaymasterV4_1.md +0 -25
  365. package/docs/api/@aastar/core/functions/getRpcUrl.md +0 -25
  366. package/docs/api/@aastar/core/functions/getSimpleAccountFactory.md +0 -25
  367. package/docs/api/@aastar/core/functions/getSuperPaymasterV2.md +0 -25
  368. package/docs/api/@aastar/core/functions/getTestAccounts.md +0 -30
  369. package/docs/api/@aastar/core/functions/getTestTokenContracts.md +0 -38
  370. package/docs/api/@aastar/core/functions/getTokenContracts.md +0 -31
  371. package/docs/api/@aastar/core/functions/getTxUrl.md +0 -32
  372. package/docs/api/@aastar/core/functions/getV2ContractByAddress.md +0 -28
  373. package/docs/api/@aastar/core/functions/getV2ContractByName.md +0 -28
  374. package/docs/api/@aastar/core/functions/getV2ContractsByDate.md +0 -26
  375. package/docs/api/@aastar/core/functions/isContractNetworkSupported.md +0 -27
  376. package/docs/api/@aastar/core/functions/isRegisteredCommunity.md +0 -15
  377. package/docs/api/@aastar/core/functions/isV2Contract.md +0 -27
  378. package/docs/api/@aastar/core/functions/paymasterV4Actions.md +0 -2719
  379. package/docs/api/@aastar/core/functions/registryActions.md +0 -2720
  380. package/docs/api/@aastar/core/functions/reputationActions.md +0 -2720
  381. package/docs/api/@aastar/core/functions/sbtActions.md +0 -2720
  382. package/docs/api/@aastar/core/functions/stakingActions.md +0 -2720
  383. package/docs/api/@aastar/core/functions/superPaymasterActions.md +0 -2720
  384. package/docs/api/@aastar/core/functions/tokenActions.md +0 -2714
  385. package/docs/api/@aastar/core/interfaces/CommunityConfig.md +0 -81
  386. package/docs/api/@aastar/core/interfaces/ContractVersion.md +0 -63
  387. package/docs/api/@aastar/core/type-aliases/AggregatorActions.md +0 -79
  388. package/docs/api/@aastar/core/type-aliases/ContractCategory.md +0 -5
  389. package/docs/api/@aastar/core/type-aliases/ContractNetwork.md +0 -5
  390. package/docs/api/@aastar/core/type-aliases/DVTActions.md +0 -139
  391. package/docs/api/@aastar/core/type-aliases/FactoryActions.md +0 -99
  392. package/docs/api/@aastar/core/type-aliases/NetworkContracts.md +0 -5
  393. package/docs/api/@aastar/core/type-aliases/PaymasterV4Actions.md +0 -422
  394. package/docs/api/@aastar/core/type-aliases/RegistryActions.md +0 -263
  395. package/docs/api/@aastar/core/type-aliases/ReputationActions.md +0 -47
  396. package/docs/api/@aastar/core/type-aliases/RoleConfig.md +0 -83
  397. package/docs/api/@aastar/core/type-aliases/SBTActions.md +0 -203
  398. package/docs/api/@aastar/core/type-aliases/StakingActions.md +0 -179
  399. package/docs/api/@aastar/core/type-aliases/SuperPaymasterActions.md +0 -219
  400. package/docs/api/@aastar/core/type-aliases/SupportedNetwork.md +0 -3
  401. package/docs/api/@aastar/core/type-aliases/TokenActions.md +0 -151
  402. package/docs/api/@aastar/core/variables/AASTAR_COMMUNITY.md +0 -8
  403. package/docs/api/@aastar/core/variables/ALL_ADDRESSES.md +0 -71
  404. package/docs/api/@aastar/core/variables/BLSAggregatorABI.md +0 -3
  405. package/docs/api/@aastar/core/variables/BLSHelpers.md +0 -91
  406. package/docs/api/@aastar/core/variables/BPS_DENOMINATOR.md +0 -5
  407. package/docs/api/@aastar/core/variables/BRANDING.md +0 -67
  408. package/docs/api/@aastar/core/variables/BREAD_COMMUNITY.md +0 -8
  409. package/docs/api/@aastar/core/variables/COMMUNITIES.md +0 -5
  410. package/docs/api/@aastar/core/variables/COMMUNITY_OWNERS.md +0 -15
  411. package/docs/api/@aastar/core/variables/CONTRACTS.md +0 -163
  412. package/docs/api/@aastar/core/variables/CONTRACT_METADATA.md +0 -67
  413. package/docs/api/@aastar/core/variables/CORE_ADDRESSES.md +0 -35
  414. package/docs/api/@aastar/core/variables/DEFAULT_APNTS_PRICE_USD.md +0 -5
  415. package/docs/api/@aastar/core/variables/DEFAULT_GAS_TOKEN_MINT_AMOUNT.md +0 -5
  416. package/docs/api/@aastar/core/variables/DEFAULT_USDT_MINT_AMOUNT.md +0 -5
  417. package/docs/api/@aastar/core/variables/DVTValidatorABI.md +0 -3
  418. package/docs/api/@aastar/core/variables/EntryPointABI.md +0 -3
  419. package/docs/api/@aastar/core/variables/FAUCET_API_URL.md +0 -5
  420. package/docs/api/@aastar/core/variables/GTokenABI.md +0 -3
  421. package/docs/api/@aastar/core/variables/GTokenStakingABI.md +0 -3
  422. package/docs/api/@aastar/core/variables/LINKS.md +0 -33
  423. package/docs/api/@aastar/core/variables/MAX_SERVICE_FEE.md +0 -5
  424. package/docs/api/@aastar/core/variables/MONITORING_ADDRESSES.md +0 -15
  425. package/docs/api/@aastar/core/variables/MySBTABI.md +0 -3
  426. package/docs/api/@aastar/core/variables/NETWORKS.md +0 -79
  427. package/docs/api/@aastar/core/variables/NODE_STAKE_AMOUNTS.md +0 -31
  428. package/docs/api/@aastar/core/variables/OFFICIAL_ADDRESSES.md +0 -11
  429. package/docs/api/@aastar/core/variables/PAYMASTER_ADDRESSES.md +0 -15
  430. package/docs/api/@aastar/core/variables/PaymasterABI.md +0 -3
  431. package/docs/api/@aastar/core/variables/PaymasterFactoryABI.md +0 -3
  432. package/docs/api/@aastar/core/variables/PaymasterV4ABI.md +0 -3
  433. package/docs/api/@aastar/core/variables/ROLE_ANODE.md +0 -3
  434. package/docs/api/@aastar/core/variables/ROLE_COMMUNITY.md +0 -3
  435. package/docs/api/@aastar/core/variables/ROLE_ENDUSER.md +0 -5
  436. package/docs/api/@aastar/core/variables/ROLE_KMS.md +0 -3
  437. package/docs/api/@aastar/core/variables/ROLE_PAYMASTER_AOA.md +0 -3
  438. package/docs/api/@aastar/core/variables/ROLE_PAYMASTER_SUPER.md +0 -3
  439. package/docs/api/@aastar/core/variables/RegistryABI.md +0 -3
  440. package/docs/api/@aastar/core/variables/ReputationSystemABI.md +0 -3
  441. package/docs/api/@aastar/core/variables/ReputationSystemV3ABI.md +0 -3
  442. package/docs/api/@aastar/core/variables/SEPOLIA_CONTRACTS.md +0 -159
  443. package/docs/api/@aastar/core/variables/SEPOLIA_V2_VERSIONS.md +0 -67
  444. package/docs/api/@aastar/core/variables/SERVICE_FEE_RATE.md +0 -5
  445. package/docs/api/@aastar/core/variables/Simple7702AccountABI.md +0 -3
  446. package/docs/api/@aastar/core/variables/SimpleAccountABI.md +0 -3
  447. package/docs/api/@aastar/core/variables/SimpleAccountFactoryABI.md +0 -3
  448. package/docs/api/@aastar/core/variables/SimpleAccountFactoryV08ABI.md +0 -3
  449. package/docs/api/@aastar/core/variables/SimpleAccountV08ABI.md +0 -3
  450. package/docs/api/@aastar/core/variables/SuperPaymasterABI.md +0 -3
  451. package/docs/api/@aastar/core/variables/SuperPaymasterV3ABI.md +0 -3
  452. package/docs/api/@aastar/core/variables/TEST_ACCOUNT_ADDRESSES.md +0 -11
  453. package/docs/api/@aastar/core/variables/TEST_ACCOUNT_POOL_SIZE.md +0 -5
  454. package/docs/api/@aastar/core/variables/TEST_COMMUNITIES.md +0 -19
  455. package/docs/api/@aastar/core/variables/TEST_TOKEN_ADDRESSES.md +0 -19
  456. package/docs/api/@aastar/core/variables/TOKEN_ADDRESSES.md +0 -11
  457. package/docs/api/@aastar/core/variables/V2_SUMMARY.md +0 -39
  458. package/docs/api/@aastar/core/variables/xPNTsFactoryABI.md +0 -3
  459. package/docs/api/@aastar/core/variables/xPNTsTokenABI.md +0 -3
  460. package/docs/api/@aastar/paymaster/README.md +0 -14
  461. package/docs/api/@aastar/paymaster/classes/SuperPaymasterClient.md +0 -163
  462. package/docs/api/@aastar/paymaster/functions/checkEligibility.md +0 -28
  463. package/docs/api/@aastar/paymaster/functions/getPaymasterV4Middleware.md +0 -32
  464. package/docs/api/@aastar/paymaster/functions/getSuperPaymasterMiddleware.md +0 -32
  465. package/docs/api/@aastar/paymaster/type-aliases/PaymasterConfig.md +0 -35
  466. package/docs/api/@aastar/paymaster/type-aliases/PaymasterV4MiddlewareConfig.md +0 -35
  467. package/docs/api/@aastar/tokens/README.md +0 -3
  468. package/docs/api/@aastar/tokens/classes/FinanceClient.md +0 -8653
  469. package/ext/permissionless.js/.changeset/README.md +0 -8
  470. package/ext/permissionless.js/.changeset/config.json +0 -11
  471. package/ext/permissionless.js/.env-example +0 -2
  472. package/ext/permissionless.js/.github/actions/install-dependencies/action.yml +0 -17
  473. package/ext/permissionless.js/.github/dependabot.yaml +0 -10
  474. package/ext/permissionless.js/.github/workflows/canary.yml +0 -49
  475. package/ext/permissionless.js/.github/workflows/on-pull-request.yml +0 -61
  476. package/ext/permissionless.js/.github/workflows/on-push-to-main.yml +0 -59
  477. package/ext/permissionless.js/.github/workflows/prune-tags.yml +0 -92
  478. package/ext/permissionless.js/.github/workflows/verify.yml +0 -114
  479. package/ext/permissionless.js/.size-limit.json +0 -13
  480. package/ext/permissionless.js/LICENSE +0 -21
  481. package/ext/permissionless.js/assets/banner.png +0 -0
  482. package/ext/permissionless.js/biome.json +0 -46
  483. package/ext/permissionless.js/bun.lock +0 -2340
  484. package/ext/permissionless.js/bun.lockb +0 -0
  485. package/ext/permissionless.js/package.json +0 -82
  486. package/ext/permissionless.js/packages/mock-paymaster/CHANGELOG.md +0 -31
  487. package/ext/permissionless.js/packages/mock-paymaster/constants.ts +0 -84
  488. package/ext/permissionless.js/packages/mock-paymaster/helpers/abi.ts +0 -1048
  489. package/ext/permissionless.js/packages/mock-paymaster/helpers/erc20-utils.ts +0 -105
  490. package/ext/permissionless.js/packages/mock-paymaster/helpers/schema.ts +0 -307
  491. package/ext/permissionless.js/packages/mock-paymaster/helpers/utils.ts +0 -78
  492. package/ext/permissionless.js/packages/mock-paymaster/index.ts +0 -63
  493. package/ext/permissionless.js/packages/mock-paymaster/package.json +0 -33
  494. package/ext/permissionless.js/packages/mock-paymaster/relay.ts +0 -424
  495. package/ext/permissionless.js/packages/mock-paymaster/setup.ts +0 -163
  496. package/ext/permissionless.js/packages/mock-paymaster/singletonPaymasters.ts +0 -230
  497. package/ext/permissionless.js/packages/permissionless/CHANGELOG.md +0 -893
  498. package/ext/permissionless.js/packages/permissionless/README.md +0 -122
  499. package/ext/permissionless.js/packages/permissionless/accounts/biconomy/abi/BiconomySmartAccountAbi.ts +0 -128
  500. package/ext/permissionless.js/packages/permissionless/accounts/biconomy/toBiconomySmartAccount.ts +0 -374
  501. package/ext/permissionless.js/packages/permissionless/accounts/decodeCalls.test.ts +0 -505
  502. package/ext/permissionless.js/packages/permissionless/accounts/etherspot/abi/EtherspotBootstrapAbi.ts +0 -94
  503. package/ext/permissionless.js/packages/permissionless/accounts/etherspot/constants.ts +0 -27
  504. package/ext/permissionless.js/packages/permissionless/accounts/etherspot/toEtherspotSmartAccount.ts +0 -369
  505. package/ext/permissionless.js/packages/permissionless/accounts/etherspot/utils/getInitMSAData.ts +0 -56
  506. package/ext/permissionless.js/packages/permissionless/accounts/etherspot/utils/getNonceKey.ts +0 -21
  507. package/ext/permissionless.js/packages/permissionless/accounts/etherspot/utils/wrapMessageHash.ts +0 -43
  508. package/ext/permissionless.js/packages/permissionless/accounts/index.ts +0 -86
  509. package/ext/permissionless.js/packages/permissionless/accounts/kernel/abi/KernelAccountAbi.ts +0 -87
  510. package/ext/permissionless.js/packages/permissionless/accounts/kernel/abi/KernelV3AccountAbi.ts +0 -813
  511. package/ext/permissionless.js/packages/permissionless/accounts/kernel/abi/KernelV3FactoryAbi.ts +0 -12
  512. package/ext/permissionless.js/packages/permissionless/accounts/kernel/abi/KernelV3MetaFactoryAbi.ts +0 -17
  513. package/ext/permissionless.js/packages/permissionless/accounts/kernel/constants.ts +0 -14
  514. package/ext/permissionless.js/packages/permissionless/accounts/kernel/to7702KernelSmartAccount.ts +0 -63
  515. package/ext/permissionless.js/packages/permissionless/accounts/kernel/toEcdsaKernelSmartAccount.ts +0 -62
  516. package/ext/permissionless.js/packages/permissionless/accounts/kernel/toKernelSmartAccount.ts +0 -984
  517. package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/decodeCallData.ts +0 -43
  518. package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/encodeCallData.ts +0 -57
  519. package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/getNonceKey.ts +0 -33
  520. package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/isKernelV2.ts +0 -6
  521. package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/isWebAuthnAccount.ts +0 -8
  522. package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/signMessage.ts +0 -115
  523. package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/signTypedData.ts +0 -97
  524. package/ext/permissionless.js/packages/permissionless/accounts/kernel/utils/wrapMessageHash.ts +0 -44
  525. package/ext/permissionless.js/packages/permissionless/accounts/light/toLightSmartAccount.ts +0 -496
  526. package/ext/permissionless.js/packages/permissionless/accounts/nexus/toNexusSmartAccount.ts +0 -351
  527. package/ext/permissionless.js/packages/permissionless/accounts/safe/index.ts +0 -14
  528. package/ext/permissionless.js/packages/permissionless/accounts/safe/signUserOperation.test.ts +0 -275
  529. package/ext/permissionless.js/packages/permissionless/accounts/safe/signUserOperation.ts +0 -316
  530. package/ext/permissionless.js/packages/permissionless/accounts/safe/toSafeSmartAccount.ts +0 -1980
  531. package/ext/permissionless.js/packages/permissionless/accounts/simple/to7702SimpleSmartAccount.ts +0 -51
  532. package/ext/permissionless.js/packages/permissionless/accounts/simple/toSimpleSmartAccount.ts +0 -585
  533. package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/toThirdwebSmartAccount.ts +0 -221
  534. package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/decodeCallData.ts +0 -87
  535. package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/encodeCallData.ts +0 -81
  536. package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/getAccountAddress.ts +0 -48
  537. package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/getFactoryData.ts +0 -40
  538. package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/signMessage.ts +0 -33
  539. package/ext/permissionless.js/packages/permissionless/accounts/thirdweb/utils/signTypedData.ts +0 -67
  540. package/ext/permissionless.js/packages/permissionless/accounts/trust/toTrustSmartAccount.ts +0 -232
  541. package/ext/permissionless.js/packages/permissionless/accounts/trust/utils/decodeCallData.ts +0 -87
  542. package/ext/permissionless.js/packages/permissionless/accounts/trust/utils/encodeCallData.ts +0 -81
  543. package/ext/permissionless.js/packages/permissionless/accounts/trust/utils/getFactoryData.ts +0 -51
  544. package/ext/permissionless.js/packages/permissionless/actions/erc7579/accountId.test.ts +0 -39
  545. package/ext/permissionless.js/packages/permissionless/actions/erc7579/accountId.ts +0 -93
  546. package/ext/permissionless.js/packages/permissionless/actions/erc7579/installModule.test.ts +0 -216
  547. package/ext/permissionless.js/packages/permissionless/actions/erc7579/installModule.ts +0 -99
  548. package/ext/permissionless.js/packages/permissionless/actions/erc7579/installModules.test.ts +0 -237
  549. package/ext/permissionless.js/packages/permissionless/actions/erc7579/installModules.ts +0 -96
  550. package/ext/permissionless.js/packages/permissionless/actions/erc7579/isModuleInstalled.test.ts +0 -72
  551. package/ext/permissionless.js/packages/permissionless/actions/erc7579/isModuleInstalled.ts +0 -132
  552. package/ext/permissionless.js/packages/permissionless/actions/erc7579/supportsExecutionMode.test.ts +0 -108
  553. package/ext/permissionless.js/packages/permissionless/actions/erc7579/supportsExecutionMode.ts +0 -158
  554. package/ext/permissionless.js/packages/permissionless/actions/erc7579/supportsModule.test.ts +0 -35
  555. package/ext/permissionless.js/packages/permissionless/actions/erc7579/supportsModule.ts +0 -120
  556. package/ext/permissionless.js/packages/permissionless/actions/erc7579/uninstallModule.test.ts +0 -129
  557. package/ext/permissionless.js/packages/permissionless/actions/erc7579/uninstallModule.ts +0 -98
  558. package/ext/permissionless.js/packages/permissionless/actions/erc7579/uninstallModules.test.ts +0 -117
  559. package/ext/permissionless.js/packages/permissionless/actions/erc7579/uninstallModules.ts +0 -87
  560. package/ext/permissionless.js/packages/permissionless/actions/erc7579.ts +0 -103
  561. package/ext/permissionless.js/packages/permissionless/actions/etherspot/getUserOperationGasPrice.ts +0 -32
  562. package/ext/permissionless.js/packages/permissionless/actions/etherspot.ts +0 -4
  563. package/ext/permissionless.js/packages/permissionless/actions/index.ts +0 -9
  564. package/ext/permissionless.js/packages/permissionless/actions/package.json +0 -6
  565. package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/getCredentials.ts +0 -47
  566. package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/startAuthentication.ts +0 -39
  567. package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/startRegistration.ts +0 -126
  568. package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/verifyAuthentication.ts +0 -142
  569. package/ext/permissionless.js/packages/permissionless/actions/passkeyServer/verifyRegistration.ts +0 -132
  570. package/ext/permissionless.js/packages/permissionless/actions/passkeyServer.ts +0 -17
  571. package/ext/permissionless.js/packages/permissionless/actions/pimlico/estimateErc20PaymasterCost.ts +0 -102
  572. package/ext/permissionless.js/packages/permissionless/actions/pimlico/getTokenQuotes.test.ts +0 -90
  573. package/ext/permissionless.js/packages/permissionless/actions/pimlico/getTokenQuotes.ts +0 -77
  574. package/ext/permissionless.js/packages/permissionless/actions/pimlico/getUserOperationGasPrice.test.ts +0 -82
  575. package/ext/permissionless.js/packages/permissionless/actions/pimlico/getUserOperationGasPrice.ts +0 -67
  576. package/ext/permissionless.js/packages/permissionless/actions/pimlico/getUserOperationStatus.test.ts +0 -199
  577. package/ext/permissionless.js/packages/permissionless/actions/pimlico/getUserOperationStatus.ts +0 -49
  578. package/ext/permissionless.js/packages/permissionless/actions/pimlico/sendCompressedUserOperation.ts +0 -59
  579. package/ext/permissionless.js/packages/permissionless/actions/pimlico/sponsorUserOperation.test.ts +0 -236
  580. package/ext/permissionless.js/packages/permissionless/actions/pimlico/sponsorUserOperation.ts +0 -151
  581. package/ext/permissionless.js/packages/permissionless/actions/pimlico/validateSponsorshipPolicies.test.ts +0 -153
  582. package/ext/permissionless.js/packages/permissionless/actions/pimlico/validateSponsorshipPolicies.ts +0 -74
  583. package/ext/permissionless.js/packages/permissionless/actions/pimlico.ts +0 -38
  584. package/ext/permissionless.js/packages/permissionless/actions/public/getAccountNonce.test.ts +0 -96
  585. package/ext/permissionless.js/packages/permissionless/actions/public/getAccountNonce.ts +0 -75
  586. package/ext/permissionless.js/packages/permissionless/actions/public/getSenderAddress.test.ts +0 -154
  587. package/ext/permissionless.js/packages/permissionless/actions/public/getSenderAddress.ts +0 -129
  588. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/getCallsStatus.test.ts +0 -255
  589. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/getCallsStatus.ts +0 -91
  590. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/sendCalls.test.ts +0 -571
  591. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/sendCalls.ts +0 -38
  592. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/sendTransaction.test.ts +0 -416
  593. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/sendTransaction.ts +0 -133
  594. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/signMessage.test.ts +0 -219
  595. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/signMessage.ts +0 -73
  596. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/signTypedData.test.ts +0 -228
  597. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/signTypedData.ts +0 -157
  598. package/ext/permissionless.js/packages/permissionless/actions/smartAccount/writeContract.ts +0 -70
  599. package/ext/permissionless.js/packages/permissionless/actions/smartAccount.ts +0 -7
  600. package/ext/permissionless.js/packages/permissionless/clients/createSmartAccountClient.ts +0 -181
  601. package/ext/permissionless.js/packages/permissionless/clients/decorators/passkeyServer.ts +0 -57
  602. package/ext/permissionless.js/packages/permissionless/clients/decorators/pimlico.ts +0 -189
  603. package/ext/permissionless.js/packages/permissionless/clients/decorators/smartAccount.ts +0 -350
  604. package/ext/permissionless.js/packages/permissionless/clients/index.ts +0 -2
  605. package/ext/permissionless.js/packages/permissionless/clients/passkeyServer.ts +0 -69
  606. package/ext/permissionless.js/packages/permissionless/clients/pimlico.ts +0 -124
  607. package/ext/permissionless.js/packages/permissionless/errors/index.ts +0 -17
  608. package/ext/permissionless.js/packages/permissionless/experimental/pimlico/index.ts +0 -1
  609. package/ext/permissionless.js/packages/permissionless/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.test.ts +0 -523
  610. package/ext/permissionless.js/packages/permissionless/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.ts +0 -369
  611. package/ext/permissionless.js/packages/permissionless/index.ts +0 -3
  612. package/ext/permissionless.js/packages/permissionless/package.json +0 -102
  613. package/ext/permissionless.js/packages/permissionless/types/etherspot.ts +0 -12
  614. package/ext/permissionless.js/packages/permissionless/types/package.json +0 -6
  615. package/ext/permissionless.js/packages/permissionless/types/passkeyServer.ts +0 -125
  616. package/ext/permissionless.js/packages/permissionless/types/pimlico.ts +0 -151
  617. package/ext/permissionless.js/packages/permissionless/utils/decode7579Calls.ts +0 -133
  618. package/ext/permissionless.js/packages/permissionless/utils/decodeNonce.test.ts +0 -40
  619. package/ext/permissionless.js/packages/permissionless/utils/decodeNonce.ts +0 -10
  620. package/ext/permissionless.js/packages/permissionless/utils/deepHexlify.test.ts +0 -57
  621. package/ext/permissionless.js/packages/permissionless/utils/deepHexlify.ts +0 -35
  622. package/ext/permissionless.js/packages/permissionless/utils/encode7579Calls.test.ts +0 -69
  623. package/ext/permissionless.js/packages/permissionless/utils/encode7579Calls.ts +0 -114
  624. package/ext/permissionless.js/packages/permissionless/utils/encodeInstallModule.ts +0 -91
  625. package/ext/permissionless.js/packages/permissionless/utils/encodeNonce.test.ts +0 -38
  626. package/ext/permissionless.js/packages/permissionless/utils/encodeNonce.ts +0 -8
  627. package/ext/permissionless.js/packages/permissionless/utils/encodeUninstallModule.ts +0 -88
  628. package/ext/permissionless.js/packages/permissionless/utils/erc20AllowanceOverride.test.ts +0 -59
  629. package/ext/permissionless.js/packages/permissionless/utils/erc20AllowanceOverride.ts +0 -66
  630. package/ext/permissionless.js/packages/permissionless/utils/erc20BalanceOverride.test.ts +0 -57
  631. package/ext/permissionless.js/packages/permissionless/utils/erc20BalanceOverride.ts +0 -49
  632. package/ext/permissionless.js/packages/permissionless/utils/getAddressFromInitCodeOrPaymasterAndData.test.ts +0 -31
  633. package/ext/permissionless.js/packages/permissionless/utils/getAddressFromInitCodeOrPaymasterAndData.ts +0 -13
  634. package/ext/permissionless.js/packages/permissionless/utils/getEstimationCallData.ts +0 -297
  635. package/ext/permissionless.js/packages/permissionless/utils/getPackedUserOperation.test.ts +0 -204
  636. package/ext/permissionless.js/packages/permissionless/utils/getPackedUserOperation.ts +0 -122
  637. package/ext/permissionless.js/packages/permissionless/utils/getRequiredPrefund.test.ts +0 -90
  638. package/ext/permissionless.js/packages/permissionless/utils/getRequiredPrefund.ts +0 -56
  639. package/ext/permissionless.js/packages/permissionless/utils/index.ts +0 -43
  640. package/ext/permissionless.js/packages/permissionless/utils/isSmartAccountDeployed.ts +0 -13
  641. package/ext/permissionless.js/packages/permissionless/utils/ox.ts +0 -48
  642. package/ext/permissionless.js/packages/permissionless/utils/toOwner.ts +0 -89
  643. package/ext/permissionless.js/packages/permissionless/vitest.config.ts +0 -31
  644. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/biconomy.ts +0 -22
  645. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/etherspot.ts +0 -12
  646. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/kernel.ts +0 -63
  647. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/light.ts +0 -10
  648. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/nexus.ts +0 -16
  649. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/safe.ts +0 -75
  650. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/simple.ts +0 -16
  651. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/thirdweb.ts +0 -7
  652. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/accounts/trust.ts +0 -26
  653. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/core.ts +0 -24
  654. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/constants/index.ts +0 -10
  655. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/index.ts +0 -783
  656. package/ext/permissionless.js/packages/permissionless-test/mock-aa-infra/alto/instance.ts +0 -290
  657. package/ext/permissionless.js/packages/permissionless-test/src/testWithRpc.ts +0 -128
  658. package/ext/permissionless.js/packages/permissionless-test/src/types.ts +0 -12
  659. package/ext/permissionless.js/packages/permissionless-test/src/utils.ts +0 -1091
  660. package/ext/permissionless.js/packages/wagmi/CHANGELOG.md +0 -53
  661. package/ext/permissionless.js/packages/wagmi/README.md +0 -93
  662. package/ext/permissionless.js/packages/wagmi/context.ts +0 -22
  663. package/ext/permissionless.js/packages/wagmi/hooks/useAvailableCapabilities.ts +0 -43
  664. package/ext/permissionless.js/packages/wagmi/hooks/useSendTransaction.ts +0 -164
  665. package/ext/permissionless.js/packages/wagmi/hooks/useWaitForTransactionReceipt.ts +0 -427
  666. package/ext/permissionless.js/packages/wagmi/index.ts +0 -15
  667. package/ext/permissionless.js/packages/wagmi/package.json +0 -26
  668. package/ext/permissionless.js/packages/wagmi/utils/observe.ts +0 -76
  669. package/ext/permissionless.js/packages/wagmi-demo/README.md +0 -1
  670. package/ext/permissionless.js/packages/wagmi-demo/biome.json +0 -13
  671. package/ext/permissionless.js/packages/wagmi-demo/index.html +0 -12
  672. package/ext/permissionless.js/packages/wagmi-demo/package.json +0 -16
  673. package/ext/permissionless.js/packages/wagmi-demo/src/App.tsx +0 -98
  674. package/ext/permissionless.js/packages/wagmi-demo/src/PasskeyServerDemo.tsx +0 -286
  675. package/ext/permissionless.js/packages/wagmi-demo/src/PasskeysDemo.tsx +0 -457
  676. package/ext/permissionless.js/packages/wagmi-demo/src/index.css +0 -21
  677. package/ext/permissionless.js/packages/wagmi-demo/src/main.tsx +0 -275
  678. package/ext/permissionless.js/packages/wagmi-demo/src/vite-env.d.ts +0 -1
  679. package/ext/permissionless.js/packages/wagmi-demo/src/wagmi.ts +0 -33
  680. package/ext/permissionless.js/packages/wagmi-demo/tsconfig.json +0 -25
  681. package/ext/permissionless.js/packages/wagmi-demo/tsconfig.node.json +0 -12
  682. package/ext/permissionless.js/packages/wagmi-demo/vite.config.ts +0 -7
  683. package/ext/permissionless.js/tsconfig/tsconfig.base.json +0 -42
  684. package/ext/permissionless.js/tsconfig/tsconfig.mock-paymaster.cjs.json +0 -11
  685. package/ext/permissionless.js/tsconfig/tsconfig.mock-paymaster.esm.json +0 -9
  686. package/ext/permissionless.js/tsconfig/tsconfig.mock-paymaster.json +0 -17
  687. package/ext/permissionless.js/tsconfig/tsconfig.mock-paymaster.types.json +0 -13
  688. package/ext/permissionless.js/tsconfig/tsconfig.permissionless.cjs.json +0 -11
  689. package/ext/permissionless.js/tsconfig/tsconfig.permissionless.esm.json +0 -9
  690. package/ext/permissionless.js/tsconfig/tsconfig.permissionless.json +0 -18
  691. package/ext/permissionless.js/tsconfig/tsconfig.permissionless.types.json +0 -13
  692. package/ext/permissionless.js/tsconfig/tsconfig.wagmi.esm.json +0 -8
  693. package/ext/permissionless.js/tsconfig/tsconfig.wagmi.json +0 -19
  694. package/ext/permissionless.js/tsconfig/tsconfig.wagmi.types.json +0 -12
  695. package/packages/community/package.json +0 -22
  696. package/packages/community/src/index.ts +0 -306
  697. package/packages/community/tsconfig.json +0 -8
  698. package/packages/core/src/abis/PaymasterV4_2.json +0 -1183
  699. package/packages/core/src/abis/aPNTs.json +0 -1173
  700. package/packages/core/src/contract-versions.ts +0 -374
  701. package/packages/enduser/package.json +0 -21
  702. package/packages/enduser/src/index.ts +0 -138
  703. package/packages/enduser/tsconfig.json +0 -8
  704. package/packages/operator/package.json +0 -21
  705. package/packages/operator/src/index.ts +0 -172
  706. package/packages/operator/tsconfig.json +0 -8
  707. package/run_full_regression.sh +0 -215
  708. package/scripts/validate_environment.ts +0 -140
  709. /package/{extract_addresses_to_env.sh → scripts/dev_tools/extract_addresses_to_env.sh} +0 -0
  710. /package/{final_safe_harmonize.py → scripts/dev_tools/final_safe_harmonize.py} +0 -0
  711. /package/{safe_harmonize.py → scripts/dev_tools/safe_harmonize.py} +0 -0
  712. /package/{surgical_harmonize.py → scripts/dev_tools/surgical_harmonize.py} +0 -0
@@ -0,0 +1,74 @@
1
+ # AAStar SDK Audit Report & Production Verification (v0.17.0)
2
+
3
+ **Date**: 2026-01-13
4
+ **Time**: 14:30 UTC
5
+ **Auditor**: Gemini Agent (Antigravity)
6
+ **Version Reviewed**: v0.17.0 (Post-Refactor)
7
+
8
+ ## 1. Executive Summary
9
+
10
+ This audit verifies the completion of the "Phase 4" remediation plan. The critical technical debts in `EndUserClient` and `CommunityClient` have been **fully resolved**. The codebase now exhibits a uniform standard of safety, maintainability, and error handling across all client modules.
11
+
12
+ **Status**: 🟢 **Production Ready** (v0.17.0)
13
+
14
+ ## 2. Comprehensive Code Audit
15
+
16
+ ### 2.1 Safety & Validation (P0)
17
+ * **Requirement**: All user inputs must be validated before touching the network.
18
+ * **Verification**:
19
+ * `EndUserClient.executeGasless`: Now validates `target` (Address) and `operator` (Address). Validates `value` is positive.
20
+ * `EndUserClient.onboard`: Validates `community` and `roleId`.
21
+ * `CommunityClient.launch`: Enforces presence of `name`, `tokenName`, `tokenSymbol` with `AAStarError`.
22
+ * **Result**: ✅ **Passed**. The "Fail Fast" principle is correctly implemented.
23
+
24
+ ### 2.2 ABI Management (P0)
25
+ * **Requirement**: No hardcoded ABIs in client files.
26
+ * **Verification**:
27
+ * `EndUserClient.ts`:
28
+ * Removed: Manual `parseAbi` for EntryPoint and SimpleAccount.
29
+ * Added: Imports `EntryPointABI`, `SimpleAccountFactoryABI` from `@aastar/core`.
30
+ * `CommunityClient.ts`:
31
+ * Removed: Manual ABI for xPNTsFactory.
32
+ * Added: Import `xPNTsFactoryABI` from `@aastar/core`.
33
+ * **Result**: ✅ **Passed**. The system is now resilient to contract upgrades (single source of truth in `packages/core`).
34
+
35
+ ### 2.3 Error Handling (P1)
36
+ * **Requirement**: Consistent use of `AAStarError`.
37
+ * **Verification**:
38
+ * `EndUserClient`: Replaces generic `Error` with `AAStarError` (Type: `CONTRACT_ERROR`, `VALIDATION_ERROR`).
39
+ * `CommunityClient`: Similar adoption.
40
+ * **Note**: The error messages now include decoded contract revert reasons (via `decodeContractError`), significantly improving debugging (e.g., showing "InsufficientBalance" instead of "Execution reverted").
41
+ * **Result**: ✅ **Passed**.
42
+
43
+ ### 2.4 Code Quality & Structure
44
+ * **Observation**:
45
+ * Imports are clean and organized.
46
+ * `createClient` factories consistently extend base actions.
47
+ * Helper logic (like encoding `UserOp`) is still slightly verbose in `EndUserClient`, but strictly typed and safe.
48
+ * **Result**: ✅ **Passed**.
49
+
50
+ ---
51
+
52
+ ## 3. Comparison: v0.16.2 vs v0.17.0
53
+
54
+ | Feature | v0.16.2 (Previous) | v0.17.0 (Current) | Status |
55
+ | :--- | :--- | :--- | :--- |
56
+ | **EndUser Safety** | ❌ Unchecked Inputs | ✅ Validated Inputs | Fixed |
57
+ | **ABI Source** | ⚠️ Hardcoded / Mixed | ✅ Unified (@aastar/core) | Fixed |
58
+ | **Error Types** | ⚠️ Generic Error | ✅ AAStarError (Typed) | Fixed |
59
+ | **Community Launch** | ⚠️ Risky Defaults | ✅ Validated Config | Fixed |
60
+
61
+ ---
62
+
63
+ ## 4. Final Verdict
64
+
65
+ The AAStar SDK has successfully transitioned from an "Advanced MVP" to a **Production-Grade Library**. The architecture is robust, the inputs are guarded, and the dependencies are clean.
66
+
67
+ **Recommendation**:
68
+ 1. **Tag Release**: Tag this state as `v0.17.0`.
69
+ 2. **Publish**: Safe to publish to NPM.
70
+ 3. **Documentation**: Update the `API_REFERENCE.md` to reflect that methods now throw `AAStarError` specifically, allowing developers to catch specific error codes (e.g., `VALIDATION_ERROR`).
71
+
72
+ **Audit Sign-off**:
73
+ *Signature*: Gemini Agent (Antigravity)
74
+ *Timestamp*: 2026-01-13T14:30:00Z
@@ -0,0 +1,511 @@
1
+ # AAStar SDK Comprehensive Refactor Plan (2026-01-13)
2
+
3
+ **Expert Analysis**: TypeScript SDK Master, Web3 Architect, Account Abstraction Specialist
4
+ **Audit Date**: January 13, 2026
5
+ **Current SDK Version**: 0.16.2
6
+ **Previous Audits Reviewed**: GPT-5.2 (Security & Quality), Gemini CLI (DX & Architecture)
7
+
8
+ ## Executive Summary
9
+
10
+ After conducting a comprehensive audit of the AAStar SDK, I find it in a **transitional state** - substantial foundational work has been completed, but critical gaps remain that prevent it from achieving production-grade status. The SDK demonstrates sophisticated account abstraction capabilities with gasless transaction support, but suffers from architectural inconsistencies and incomplete security hardening.
11
+
12
+ **Key Findings:**
13
+ - ✅ **Strong Foundation**: Core validation, ABI loading, and package consolidation completed
14
+ - ⚠️ **Critical Gaps**: Incomplete validation integration, inconsistent error handling, type safety issues
15
+ - 🎯 **Opportunity**: Transform from "Advanced MVP" to "Production SDK" with focused architectural improvements
16
+
17
+ ## 1. Current Architecture Assessment
18
+
19
+ ### 1.1 Package Structure Analysis
20
+
21
+ **Current State:**
22
+ ```
23
+ packages/
24
+ ├── core/ # ✅ Well-structured foundation layer
25
+ ├── sdk/ # ⚠️ Mixed responsibilities (clients + utils)
26
+ ├── paymaster/ # ✅ Clean separation maintained
27
+ ├── account/ # ✅ Isolated account abstractions
28
+ ├── dapp/ # ⚠️ React components mixed with core logic
29
+ ├── identity/ # ✅ Focused on SBT/reputation
30
+ ├── tokens/ # ✅ Token utilities
31
+ └── analytics/ # ⚠️ Uncertain scope/purpose
32
+ ```
33
+
34
+ **Assessment:**
35
+ - **Strength**: Core package provides solid foundation with validation, ABIs, and actions
36
+ - **Issue**: SDK package is a "catch-all" with mixed concerns (clients, utils, types, errors)
37
+ - **Recommendation**: Implement strict separation of concerns with clear boundaries
38
+
39
+ ### 1.2 Client Architecture Review
40
+
41
+ **OperatorClient Analysis:**
42
+ ```typescript
43
+ // Current: Mixed extensibility patterns
44
+ const client = createClient({ chain, transport, account })
45
+ .extend(publicActions)
46
+ .extend(walletActions);
47
+
48
+ const spActions = superPaymasterActions(usedAddresses.superPaymaster)(client as any);
49
+ const regActions = registryActions(usedAddresses.registry)(client as any);
50
+ // ... more extensions with 'as any' casting
51
+ ```
52
+
53
+ **Issues Identified:**
54
+ 1. **Type Safety Degradation**: Extensive `as any` usage breaks TypeScript guarantees
55
+ 2. **Inconsistent Validation**: `validateAddress()`, `validateAmount()` exist but not consistently applied
56
+ 3. **Error Handling Fragmentation**: Mix of `throw Error`, `decodeContractError`, and custom handling
57
+
58
+ ### 1.3 Security & Validation Audit
59
+
60
+ **Implemented Security Measures:**
61
+ - ✅ `validateAddress()` with checksum normalization
62
+ - ✅ `validateAmount()` with bounds checking
63
+ - ✅ `validateUint128()` for paymaster parameters
64
+ - ✅ `AAStarValidationError` for consistent error types
65
+
66
+ **Critical Gaps:**
67
+ - **Paymaster Vulnerability**: Gas limits and exchange rates not validated before contract calls
68
+ - **ERC20 Approval Checks**: Missing validation for token allowances
69
+ - **Address Spoofing**: No validation of operator/admin addresses against known registries
70
+
71
+ ### 1.4 Error Handling & Result Pattern
72
+
73
+ **Current State:**
74
+ ```typescript
75
+ // SDKResult<T> defined but inconsistently used
76
+ export type SDKResult<T> =
77
+ | { success: true; data: T }
78
+ | { success: false; error: AAStarError };
79
+
80
+ // Some methods use it, others throw directly
81
+ export async function safeSDKCall<T>(promise: Promise<T>): Promise<SDKResult<T>>
82
+ ```
83
+
84
+ **Assessment:**
85
+ - **Strength**: `SDKResult<T>` pattern established for functional error handling
86
+ - **Issue**: Inconsistent application across the codebase
87
+ - **Gap**: No standardized error codes for different failure modes
88
+
89
+ ### 1.5 Testing Infrastructure
90
+
91
+ **Current State:**
92
+ - ✅ Vitest configured with basic validation tests
93
+ - ✅ Unit test coverage for validation utilities (100%)
94
+ - ⚠️ Missing integration tests for client orchestration
95
+ - ❌ No contract interaction testing
96
+ - ❌ No gasless flow E2E tests
97
+
98
+ ## 2. Critical Architecture Issues
99
+
100
+ ### 2.1 Type Safety Degradation
101
+
102
+ **Problem:** The extensibility pattern breaks TypeScript's type guarantees:
103
+
104
+ ```typescript
105
+ // Current problematic pattern
106
+ const spActions = superPaymasterActions(usedAddresses.superPaymaster)(client as any);
107
+ const regActions = registryActions(usedAddresses.registry)(client as any);
108
+ ```
109
+
110
+ **Impact:** Developers lose autocomplete, error checking, and refactoring safety.
111
+
112
+ ### 2.2 Validation Layer Disconnect
113
+
114
+ **Problem:** Validation functions exist but aren't integrated into business logic:
115
+
116
+ ```typescript
117
+ // Validation exists but not used
118
+ export function validateAddress(address: string): `0x${string}`
119
+ // But in clients:
120
+ async onboardFully(args: { stakeAmount: bigint, depositAmount: bigint }) {
121
+ // ❌ No validation of addresses or amounts
122
+ // Direct pass-through to contracts
123
+ }
124
+ ```
125
+
126
+ ### 2.3 Gasless Transaction Complexity
127
+
128
+ **Problem:** The core value proposition (gasless transactions) has complex orchestration that lacks proper abstraction:
129
+
130
+ ```typescript
131
+ // Current: Manual orchestration required
132
+ const result = await client.onboardFully({
133
+ stakeAmount: 1000000000000000000n, // 1 ETH - magic number
134
+ depositAmount: 5000000000000000000n, // 5 ETH - magic number
135
+ roleId: '0x...', // Hex string requirements unclear
136
+ });
137
+ ```
138
+
139
+ **Required:** Clear, validated, and well-documented gasless flows.
140
+
141
+ ### 2.4 Package Responsibility Confusion
142
+
143
+ **Problem:** SDK package contains everything from clients to utilities to error handling:
144
+
145
+ ```
146
+ packages/sdk/src/
147
+ ├── clients/ # Client implementations
148
+ ├── errors/ # Error types
149
+ ├── types/ # Type definitions
150
+ ├── utils/ # Utility functions
151
+ └── index.ts # Everything exported
152
+ ```
153
+
154
+ **Impact:** Hard to understand, maintain, and test.
155
+
156
+ ## 3. Production-Grade Requirements Analysis
157
+
158
+ ### 3.1 Account Abstraction SDK Standards
159
+
160
+ For a production AA SDK, the following are mandatory:
161
+
162
+ 1. **Type Safety**: 100% TypeScript coverage with no `as any`
163
+ 2. **Input Validation**: All external inputs validated before contract calls
164
+ 3. **Error Handling**: Consistent error patterns with actionable messages
165
+ 4. **Gas Estimation**: Accurate gas estimation for AA operations
166
+ 5. **Security**: Comprehensive input sanitization and bounds checking
167
+
168
+ ### 3.2 Gasless Transaction Requirements
169
+
170
+ **Current Gap:** The SDK supports gasless transactions but lacks:
171
+ - Clear pricing models
172
+ - Fee estimation APIs
173
+ - Transaction simulation
174
+ - Gasless flow validation
175
+
176
+ ### 3.3 Multi-Role Architecture Requirements
177
+
178
+ **Current State:** Three distinct client types (Operator, Community, EndUser) with different capabilities.
179
+
180
+ **Required:**
181
+ - Clear permission boundaries
182
+ - Role validation
183
+ - Cross-role operation safety
184
+ - Administrative override capabilities
185
+
186
+ ## 4. Comprehensive Refactor Plan
187
+
188
+ ### Phase 1: Foundation Consolidation (Week 1-2)
189
+
190
+ #### 1.1 Type System Reformation
191
+ **Objective:** Eliminate all `as any` usage and establish strict typing.
192
+
193
+ **Implementation:**
194
+ ```typescript
195
+ // New: Strongly typed client composition
196
+ interface AAStarClientConfig {
197
+ chain: Chain;
198
+ transport: Transport;
199
+ account?: Account;
200
+ addresses: AddressConfig;
201
+ }
202
+
203
+ export function createAAStarClient(config: AAStarClientConfig): AAStarClient {
204
+ // Type-safe composition without 'as any'
205
+ return baseClient
206
+ .extend(() => publicActions)
207
+ .extend(() => walletActions)
208
+ .extend(() => aastarActions(config.addresses));
209
+ }
210
+ ```
211
+
212
+ #### 1.2 Validation Integration
213
+ **Objective:** Apply validation to all client methods.
214
+
215
+ **Implementation:**
216
+ ```typescript
217
+ // New: Validation-first approach
218
+ export class ValidatedOperatorClient {
219
+ async onboardFully(args: OnboardArgs): Promise<SDKResult<OnboardResult>> {
220
+ // Validate all inputs first
221
+ const validatedArgs = await this.validateOnboardArgs(args);
222
+
223
+ // Then execute with validated data
224
+ return safeSDKCall(this.executeOnboardFlow(validatedArgs));
225
+ }
226
+
227
+ private async validateOnboardArgs(args: OnboardArgs): Promise<ValidatedOnboardArgs> {
228
+ return {
229
+ stakeAmount: validateAmount(args.stakeAmount, 'Stake Amount', 0n, MAX_STAKE),
230
+ depositAmount: validateAmount(args.depositAmount, 'Deposit Amount', 0n, MAX_DEPOSIT),
231
+ roleId: validateHex(args.roleId, 'Role ID'),
232
+ xPNTsToken: validateAddress(args.xPNTsToken, 'xPNTs Token'),
233
+ };
234
+ }
235
+ }
236
+ ```
237
+
238
+ #### 1.3 Package Structure Reformation
239
+ **Objective:** Implement clear separation of concerns.
240
+
241
+ **New Structure:**
242
+ ```
243
+ packages/
244
+ ├── core/ # Foundation: ABIs, validation, basic actions
245
+ ├── clients/ # NEW: Unified client implementations
246
+ ├── types/ # NEW: Shared type definitions
247
+ ├── utils/ # NEW: Pure utilities and helpers
248
+ ├── paymaster/ # Paymaster-specific logic
249
+ ├── account/ # Account abstraction
250
+ └── examples/ # Usage examples
251
+ ```
252
+
253
+ ### Phase 2: Business Logic Hardening (Week 3-4)
254
+
255
+ #### 2.1 Gasless Flow Standardization
256
+ **Objective:** Create validated, documented gasless transaction flows.
257
+
258
+ **Implementation:**
259
+ ```typescript
260
+ // New: Gasless transaction builder
261
+ export class GaslessTransactionBuilder {
262
+ constructor(private client: AAStarClient) {}
263
+
264
+ async buildOnboardFlow(params: OnboardParams): Promise<GaslessTransaction> {
265
+ // Validate economic parameters
266
+ await this.validateEconomicViability(params);
267
+
268
+ // Estimate total gas cost
269
+ const gasEstimate = await this.estimateTotalGas(params);
270
+
271
+ // Build optimized transaction sequence
272
+ return this.buildOptimizedSequence(params, gasEstimate);
273
+ }
274
+
275
+ private async validateEconomicViability(params: OnboardParams): Promise<void> {
276
+ // Check if gasless transaction makes economic sense
277
+ const gasCost = await this.client.estimateGas(params);
278
+ const serviceFee = this.calculateServiceFee(params);
279
+
280
+ if (gasCost > serviceFee * 0.8) {
281
+ throw new AAStarError(
282
+ 'Gasless transaction not economically viable',
283
+ AAStarErrorCode.ECONOMIC_INVIABILITY,
284
+ { gasCost, serviceFee }
285
+ );
286
+ }
287
+ }
288
+ }
289
+ ```
290
+
291
+ #### 2.2 Error Handling Standardization
292
+ **Objective:** Implement consistent error handling across all operations.
293
+
294
+ **Implementation:**
295
+ ```typescript
296
+ // New: Standardized error handling
297
+ export enum AAStarErrorCode {
298
+ VALIDATION_ERROR = 'VALIDATION_ERROR',
299
+ CONTRACT_ERROR = 'CONTRACT_ERROR',
300
+ NETWORK_ERROR = 'NETWORK_ERROR',
301
+ ECONOMIC_INVIABILITY = 'ECONOMIC_INVIABILITY',
302
+ INSUFFICIENT_FUNDS = 'INSUFFICIENT_FUNDS',
303
+ PERMISSION_DENIED = 'PERMISSION_DENIED',
304
+ }
305
+
306
+ // Error factory for consistent error creation
307
+ export class AAStarErrorFactory {
308
+ static validation(message: string, field: string): AAStarError {
309
+ return new AAStarError(
310
+ `Validation failed for ${field}: ${message}`,
311
+ AAStarErrorCode.VALIDATION_ERROR,
312
+ { field }
313
+ );
314
+ }
315
+
316
+ static contract(revertReason: string, contract: string): AAStarError {
317
+ return new AAStarError(
318
+ `Contract ${contract} reverted: ${revertReason}`,
319
+ AAStarErrorCode.CONTRACT_ERROR,
320
+ { contract, revertReason }
321
+ );
322
+ }
323
+ }
324
+ ```
325
+
326
+ ### Phase 3: Testing & Quality Assurance (Week 5-6)
327
+
328
+ #### 3.1 Comprehensive Test Suite
329
+ **Objective:** Achieve >90% code coverage with meaningful tests.
330
+
331
+ **Test Strategy:**
332
+ ```typescript
333
+ // Unit Tests
334
+ describe('OperatorClient', () => {
335
+ describe('onboardFully', () => {
336
+ it('should validate all inputs before execution', async () => {
337
+ const invalidArgs = { stakeAmount: -1n };
338
+ await expect(client.onboardFully(invalidArgs)).rejects.toThrow(AAStarValidationError);
339
+ });
340
+
341
+ it('should execute complete onboarding flow', async () => {
342
+ // Mock all contract interactions
343
+ const result = await client.onboardFully(validArgs);
344
+ expect(result.success).toBe(true);
345
+ expect(result.data.txs).toHaveLength(4); // approve, stake, approve, deposit
346
+ });
347
+ });
348
+ });
349
+
350
+ // Integration Tests
351
+ describe('Gasless Flow E2E', () => {
352
+ it('should complete full operator onboarding', async () => {
353
+ // Deploy contracts, fund accounts, execute flow
354
+ const result = await runFullOnboardingFlow();
355
+ expect(result.operatorRegistered).toBe(true);
356
+ expect(result.paymasterConfigured).toBe(true);
357
+ });
358
+ });
359
+ ```
360
+
361
+ #### 3.2 Performance & Gas Optimization
362
+ **Objective:** Optimize for gas efficiency and execution speed.
363
+
364
+ **Implementation:**
365
+ ```typescript
366
+ // Gas estimation and optimization
367
+ export class GasOptimizer {
368
+ async estimateAndOptimize(txs: UserOperation[]): Promise<OptimizedUserOperation[]> {
369
+ // Estimate gas for each operation
370
+ const estimates = await Promise.all(txs.map(tx => this.estimateGas(tx)));
371
+
372
+ // Optimize execution order for gas efficiency
373
+ return this.optimizeExecutionOrder(txs, estimates);
374
+ }
375
+
376
+ private optimizeExecutionOrder(
377
+ txs: UserOperation[],
378
+ estimates: GasEstimate[]
379
+ ): OptimizedUserOperation[] {
380
+ // Sort by gas cost descending (expensive first)
381
+ // Bundle related operations
382
+ // Minimize state changes between calls
383
+ return txs.sort((a, b) => estimates[b.index].gas - estimates[a.index].gas);
384
+ }
385
+ }
386
+ ```
387
+
388
+ ### Phase 4: Documentation & Developer Experience (Week 7-8)
389
+
390
+ #### 4.1 API Documentation Reformation
391
+ **Objective:** Create comprehensive, usable documentation.
392
+
393
+ **Implementation:**
394
+ ```typescript
395
+ /**
396
+ * Complete operator onboarding with gasless transaction support.
397
+ *
398
+ * This method orchestrates the full operator setup process including:
399
+ * 1. GToken approval and staking
400
+ * 2. Role registration with the registry
401
+ * 3. aPNTs approval and deposit to SuperPaymaster
402
+ *
403
+ * @param params - Onboarding configuration
404
+ * @param params.stakeAmount - Amount to stake (minimum: 1 ETH, maximum: 100 ETH)
405
+ * @param params.depositAmount - Amount to deposit for gasless operations
406
+ * @param params.roleId - Hex-encoded role identifier
407
+ * @param params.xPNTsToken - Address of the xPNTs token contract
408
+ * @param params.gasTokens - Optional array of accepted gas tokens
409
+ *
410
+ * @returns Promise resolving to transaction results or error
411
+ *
412
+ * @example
413
+ * ```typescript
414
+ * const result = await operatorClient.onboardFully({
415
+ * stakeAmount: parseEther('10'),
416
+ * depositAmount: parseEther('50'),
417
+ * roleId: '0x1234...',
418
+ * xPNTsToken: '0x5678...'
419
+ * });
420
+ *
421
+ * if (result.success) {
422
+ * console.log('Onboarding complete:', result.data);
423
+ * } else {
424
+ * console.error('Onboarding failed:', result.error.message);
425
+ * }
426
+ * ```
427
+ */
428
+ onboardFully(params: OnboardParams): Promise<SDKResult<OnboardResult>>
429
+ ```
430
+
431
+ ## 5. Implementation Priority Matrix
432
+
433
+ | Priority | Component | Effort | Risk | Impact |
434
+ |----------|-----------|--------|------|---------|
435
+ | P0 | Type Safety Fixes | Medium | Low | High |
436
+ | P0 | Input Validation Integration | High | Low | Critical |
437
+ | P1 | Package Structure Reform | High | Medium | High |
438
+ | P1 | Error Handling Standardization | Medium | Low | High |
439
+ | P2 | Gasless Flow Optimization | High | Medium | Medium |
440
+ | P2 | Testing Infrastructure | High | Low | High |
441
+ | P3 | Documentation Overhaul | Medium | Low | Medium |
442
+
443
+ ## 6. Risk Assessment & Mitigation
444
+
445
+ ### 6.1 Technical Risks
446
+
447
+ **Type Safety Regression:**
448
+ - **Risk**: Introducing new `as any` usage during refactor
449
+ - **Mitigation**: Strict ESLint rules, code reviews, gradual migration
450
+
451
+ **Validation Gaps:**
452
+ - **Risk**: Missing validation in new code paths
453
+ - **Mitigation**: Comprehensive test coverage, validation middleware
454
+
455
+ **Breaking Changes:**
456
+ - **Risk**: Existing integrations break during refactor
457
+ - **Mitigation**: Semantic versioning, migration guides, backward compatibility
458
+
459
+ ### 6.2 Business Risks
460
+
461
+ **Timeline Delays:**
462
+ - **Risk**: Underestimating complexity of multi-phase refactor
463
+ - **Mitigation**: Incremental releases, feature flags, rollback plans
464
+
465
+ **Developer Experience:**
466
+ - **Risk**: Temporary DX degradation during transition
467
+ - **Mitigation**: Clear migration documentation, dual API support
468
+
469
+ ## 7. Success Metrics
470
+
471
+ ### 7.1 Technical Metrics
472
+ - ✅ **Type Safety**: 0 `as any` usage in production code
473
+ - ✅ **Test Coverage**: >90% code coverage
474
+ - ✅ **Validation Coverage**: 100% of external inputs validated
475
+ - ✅ **Error Consistency**: All methods return `SDKResult<T>`
476
+
477
+ ### 7.2 Quality Metrics
478
+ - ✅ **Documentation**: Complete API documentation with examples
479
+ - ✅ **Performance**: Gas optimization within 10% of optimal
480
+ - ✅ **Security**: Zero critical vulnerabilities in audit
481
+
482
+ ### 7.3 Adoption Metrics
483
+ - ✅ **Developer Experience**: SDK usage reduces boilerplate by 80%
484
+ - ✅ **Integration Success**: All existing integrations migrate successfully
485
+ - ✅ **Community Feedback**: Positive feedback on DX improvements
486
+
487
+ ## 8. Next Steps
488
+
489
+ ### Immediate Actions (This Week)
490
+ 1. **Create Type Safety Task Force**: Establish strict typing guidelines
491
+ 2. **Audit All `as any` Usage**: Create comprehensive list and fix plan
492
+ 3. **Design Validation Middleware**: Create reusable validation patterns
493
+ 4. **Setup Testing Infrastructure**: Configure CI/CD for comprehensive testing
494
+
495
+ ### Short-term Goals (2 Weeks)
496
+ 1. **Phase 1 Completion**: Type safety and validation integration
497
+ 2. **Package Restructure**: Implement new package boundaries
498
+ 3. **Error Handling Migration**: Standardize all error patterns
499
+
500
+ ### Long-term Vision (2 Months)
501
+ 1. **Production-Ready SDK**: Complete all phases with comprehensive testing
502
+ 2. **Documentation Excellence**: World-class developer experience
503
+ 3. **Community Adoption**: Successful migration and positive feedback
504
+
505
+ ---
506
+
507
+ **Expert Recommendation**: This refactor transforms the AAStar SDK from a sophisticated prototype into a production-grade platform. The focus on type safety, validation, and consistent error handling will establish it as the gold standard for account abstraction SDKs. The gasless transaction capabilities position it uniquely in the Web3 ecosystem.
508
+
509
+ **Timeline**: 8 weeks to production-grade status
510
+ **Risk Level**: Medium (well-understood technical challenges)
511
+ **Business Impact**: High (enables mass adoption of gasless AA transactions)
@@ -0,0 +1,88 @@
1
+ # AAStar SDK 重构实施计划 (2026-Jan) [v3.0 - Comprehensive]
2
+
3
+ **目标**: 打造一个既**安全健壮** (GPT-5.2) 又**极致易用** (Gemini CLI) 的生产级 SDK。
4
+ **来源**: 基于 `docs/refactor/2026-01-13-audit-analysis.md` 的综合评估。
5
+ **核心约束**: **Gasless 核心能力零退化**。所有阶段必须通过 `run_sdk_regression.sh`。
6
+
7
+ ---
8
+
9
+ ## 阶段 0: 全局安全加固 (Week 1 - P0)
10
+ *来源: GPT-5.2 安全建议*
11
+ *目标: 在不改变任何 API 结构的前提下,通过增加验证逻辑堵住安全漏洞。*
12
+
13
+ ### 0.1 建立重构基准
14
+ - [ ] 锁定 `main` 分支代码,基于 `refactor-sdk-Jan-13` 分支工作。
15
+ - [ ] 确认当前全回归测试通过。
16
+ - [ ] **技术债务偿还**: 统一 ABI 导出机制 (消除 `{ "abi": ... }` 差异),确保后续 Typechain 能正常工作。
17
+
18
+ ### 0.2 输入验证体系 (Security Hardening)
19
+ - [ ] **创建验证层**: `packages/utils/src/validation.ts`。
20
+ - 实现 `validateAddress`, `validateAmount` (防止负数/溢出), `validateChainId`。
21
+ - [ ] **Paymaster 深度防御**:
22
+ - 在 `PaymasterUtils.ts` (V4) 中增加 `paymasterAndData` 构造时的参数边界检查 (uint128)。
23
+ - **防止 Revert**: 在 SDK 层拦截非法参数,而不是等到链上 `AA23`。
24
+ - [ ] **API 守门员**:
25
+ - 在 `SuperPaymasterClient.submitGaslessTransaction` 等高危写入口添加校验。
26
+
27
+ ---
28
+
29
+ ## 阶段 1: 架构重整与命名空间 (Week 2 - P1)
30
+ *来源: Gemini CLI 架构建议*
31
+ *目标: 解决“包碎片化”和“API 扁平化”问题。*
32
+
33
+ ### 1.1 包结构物理合并 (Consolidation)
34
+ - [ ] **3-Package 结构**:
35
+ - 🔄 **`packages/sdk`**: 吞噬 `enduser`, `community`, `admin` 等业务包。
36
+ - 🔄 **`packages/paymaster`**: 吞噬 `superpaymaster` (物理合并,逻辑分离)。
37
+ - 🔄 **`packages/react`**: 接管原 `dapp`。
38
+ - 📦 **`packages/core`**: 保留作为 L0 基础层。
39
+
40
+ ### 1.2 Admin 体系重构 (Namespacing)
41
+ - [ ] **实施命名空间**:
42
+ - 将 `AdminClient` 的 50+ 方法按功能分类:
43
+ - `admin.system.*` (Config, Upgrade)
44
+ - `admin.operators.*` (Slash, Manage)
45
+ - `admin.finance.*` (Fees, Revenue)
46
+ - [ ] **兼容性处理**: 短期内保留旧的一级方法作为 `@deprecated`,通过调用新方法实现。
47
+
48
+ ---
49
+
50
+ ## 阶段 2: 业务逻辑融合 (Week 3 - P1)
51
+ *来源: Gemini CLI "Thick Client" 建议*
52
+ *目标: 让 SDK 变得“好用”,消灭 `packages/patterns`。*
53
+
54
+ ### 2.1 逻辑下沉 (Logic Fusion)
55
+ - [ ] **OperatorClient 进化**:
56
+ - 移植 `OperatorLifecycle` -> `opClient.onboard()`。
57
+ - 实现**智能连击**: `approve` -> `stake` -> `deposit` 一气呵成。
58
+ - [ ] **CommunityClient 进化**:
59
+ - 移植 `CommunityLaunchpad` -> `commClient.launch()`。
60
+ - [ ] **交互优化**:
61
+ - 所有涉及 ERC20 的 Action (deposit, stake),增加 `autoApprove` 逻辑。
62
+
63
+ ### 2.2 废弃 Patterns
64
+ - [ ] ❌ Delete: `packages/patterns`。彻底移除这个中间层。
65
+
66
+ ---
67
+
68
+ ## 阶段 3: 质量与标准化 (Week 4 - P2)
69
+ *来源: GPT-5.2 质量建议*
70
+ *目标: 统一错误处理与测试体系。*
71
+
72
+ ### 3.1 错误处理 (Error Handling)
73
+ - [ ] 定义 `AAStarError` (含 Error Code)。
74
+ - [ ] 定义 `SDKResult<T> = { success, data, error }`。
75
+ - [ ] 全局替换 `console.error` 为标准抛错或返回 Result。
76
+
77
+ ### 3.2 测试分层 (Testing)
78
+ - [ ] 引入 `Vitest`.
79
+ - [ ] 单元测试: 覆盖 `utils/validation` 和 `PaymasterUtils`。
80
+ - [ ] 集成测试: 固化 `scripts/test-kms-gasless.ts` 为标准 Test Case。
81
+
82
+ ---
83
+
84
+ ## 立即执行项 (Next Actions)
85
+
86
+ 1. [ ] 创建 `packages/utils/src/validation.ts` (Phase 0)。
87
+ 2. [ ] 在 `SuperPaymasterClient` 中应用验证 (Phase 0)。
88
+ 3. [ ] 解决 ABI 加载格式不一致的技术债务 (Phase 0)。