@aastar/sdk 0.16.6 → 0.16.8

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 (763) hide show
  1. package/README.md +96 -245
  2. package/dist/account/src/accounts/simple.d.ts +18 -0
  3. package/{packages/account/src/accounts/simple.ts → dist/account/src/accounts/simple.js} +12 -47
  4. package/dist/account/src/eoa.d.ts +10 -0
  5. package/dist/account/src/eoa.js +21 -0
  6. package/dist/account/src/index.d.ts +19 -0
  7. package/dist/account/src/index.js +49 -0
  8. package/dist/core/src/abis/BLSAggregator.json +686 -0
  9. package/dist/core/src/abis/BLSValidator.json +42 -0
  10. package/dist/core/src/abis/DVTValidator.json +368 -0
  11. package/dist/core/src/abis/EntryPoint.json +1382 -0
  12. package/dist/core/src/abis/GToken.json +513 -0
  13. package/dist/core/src/abis/GTokenStaking.json +949 -0
  14. package/dist/core/src/abis/MySBT.json +1518 -0
  15. package/dist/core/src/abis/Paymaster.json +1143 -0
  16. package/dist/core/src/abis/PaymasterFactory.json +640 -0
  17. package/dist/core/src/abis/Registry.json +1942 -0
  18. package/dist/core/src/abis/ReputationSystem.json +699 -0
  19. package/dist/core/src/abis/SimpleAccount.json +560 -0
  20. package/dist/core/src/abis/SimpleAccountFactory.json +111 -0
  21. package/dist/core/src/abis/SuperPaymaster.json +1781 -0
  22. package/dist/core/src/abis/index.d.ts +1126 -0
  23. package/{packages/core/src/abis/index.ts → dist/core/src/abis/index.js} +7 -20
  24. package/dist/core/src/abis/xPNTsFactory.json +718 -0
  25. package/dist/core/src/abis/xPNTsToken.json +1280 -0
  26. package/dist/core/src/actions/StateValidator.d.ts +68 -0
  27. package/{packages/core/src/actions/StateValidator.ts → dist/core/src/actions/StateValidator.js} +68 -134
  28. package/dist/core/src/actions/account.d.ts +55 -0
  29. package/dist/core/src/actions/account.js +133 -0
  30. package/dist/core/src/actions/aggregator.d.ts +17 -0
  31. package/dist/core/src/actions/aggregator.js +31 -0
  32. package/dist/core/src/actions/dvt.d.ts +30 -0
  33. package/dist/core/src/actions/dvt.js +41 -0
  34. package/dist/core/src/actions/entryPoint.d.ts +90 -0
  35. package/dist/core/src/actions/entryPoint.js +211 -0
  36. package/dist/core/src/actions/factory.d.ts +215 -0
  37. package/dist/core/src/actions/factory.js +442 -0
  38. package/dist/core/src/actions/faucet.d.ts +48 -0
  39. package/{packages/core/src/actions/faucet.ts → dist/core/src/actions/faucet.js} +58 -142
  40. package/dist/core/src/actions/gtokenExtended.d.ts +39 -0
  41. package/dist/core/src/actions/gtokenExtended.js +115 -0
  42. package/dist/core/src/actions/index.d.ts +15 -0
  43. package/{packages/core/src/actions/index.ts → dist/core/src/actions/index.js} +0 -1
  44. package/dist/core/src/actions/paymasterV4.d.ts +170 -0
  45. package/dist/core/src/actions/paymasterV4.js +334 -0
  46. package/dist/core/src/actions/registry.d.ts +246 -0
  47. package/dist/core/src/actions/registry.js +667 -0
  48. package/dist/core/src/actions/reputation.d.ts +129 -0
  49. package/dist/core/src/actions/reputation.js +281 -0
  50. package/dist/core/src/actions/sbt.d.ts +191 -0
  51. package/dist/core/src/actions/sbt.js +533 -0
  52. package/dist/core/src/actions/staking.d.ts +132 -0
  53. package/{packages/core/src/actions/staking.ts → dist/core/src/actions/staking.js} +83 -174
  54. package/dist/core/src/actions/superPaymaster.d.ts +237 -0
  55. package/dist/core/src/actions/superPaymaster.js +644 -0
  56. package/dist/core/src/actions/tokens.d.ts +229 -0
  57. package/dist/core/src/actions/tokens.js +415 -0
  58. package/dist/core/src/branding.d.ts +30 -0
  59. package/dist/core/src/branding.js +30 -0
  60. package/dist/core/src/clients/BaseClient.d.ts +25 -0
  61. package/{packages/core/src/clients/BaseClient.ts → dist/core/src/clients/BaseClient.js} +16 -28
  62. package/{packages/core/src/clients/types.ts → dist/core/src/clients/types.d.ts} +0 -9
  63. package/dist/core/src/clients/types.js +1 -0
  64. package/dist/core/src/clients.d.ts +5 -0
  65. package/dist/core/src/clients.js +11 -0
  66. package/dist/core/src/communities.d.ts +52 -0
  67. package/dist/core/src/communities.js +73 -0
  68. package/dist/core/src/config/ContractConfigManager.d.ts +20 -0
  69. package/{packages/core/src/config/ContractConfigManager.ts → dist/core/src/config/ContractConfigManager.js} +8 -23
  70. package/dist/core/src/constants.d.ts +88 -0
  71. package/dist/core/src/constants.js +125 -0
  72. package/dist/core/src/contract-addresses.d.ts +110 -0
  73. package/dist/core/src/contract-addresses.js +99 -0
  74. package/dist/core/src/contracts.d.ts +424 -0
  75. package/dist/core/src/contracts.js +343 -0
  76. package/dist/core/src/crypto/blsSigner.d.ts +64 -0
  77. package/{packages/core/src/crypto/blsSigner.ts → dist/core/src/crypto/blsSigner.js} +23 -49
  78. package/dist/core/src/crypto/index.js +1 -0
  79. package/dist/core/src/index.d.ts +21 -0
  80. package/{packages/core/src/index.ts → dist/core/src/index.js} +0 -1
  81. package/dist/core/src/networks.d.ts +127 -0
  82. package/{lib/shared-config/src/networks.ts → dist/core/src/networks.js} +34 -33
  83. package/dist/core/src/requirementChecker.d.ts +38 -0
  84. package/{packages/core/src/requirementChecker.ts → dist/core/src/requirementChecker.js} +26 -74
  85. package/dist/core/src/roles.d.ts +204 -0
  86. package/{packages/core/src/roles.ts → dist/core/src/roles.js} +23 -67
  87. package/dist/core/src/utils/validation.d.ts +24 -0
  88. package/{packages/core/src/utils/validation.ts → dist/core/src/utils/validation.js} +6 -16
  89. package/{packages/dapp/src/index.ts → dist/dapp/src/index.d.ts} +0 -1
  90. package/dist/dapp/src/index.js +3 -0
  91. package/dist/dapp/src/ui/hooks/useCreditScore.d.ts +13 -0
  92. package/{packages/dapp/src/ui/hooks/useCreditScore.ts → dist/dapp/src/ui/hooks/useCreditScore.js} +11 -23
  93. package/dist/dapp/src/ui/hooks/useSuperPaymaster.d.ts +8 -0
  94. package/{packages/dapp/src/ui/hooks/useSuperPaymaster.ts → dist/dapp/src/ui/hooks/useSuperPaymaster.js} +9 -17
  95. package/dist/dapp/src/ui/index.d.ts +4 -0
  96. package/{packages/dapp/src/ui/index.ts → dist/dapp/src/ui/index.js} +3 -8
  97. package/dist/identity/src/index.d.ts +46 -0
  98. package/{packages/identity/src/index.ts → dist/identity/src/index.js} +21 -41
  99. package/dist/identity/src/mysbt.d.ts +13 -0
  100. package/{packages/identity/src/mysbt.ts → dist/identity/src/mysbt.js} +9 -20
  101. package/dist/paymaster/src/SuperPaymaster/index.d.ts +44 -0
  102. package/{packages/paymaster/src/SuperPaymaster/index.ts → dist/paymaster/src/SuperPaymaster/index.js} +27 -62
  103. package/dist/paymaster/src/V4/PaymasterClient.d.ts +79 -0
  104. package/{packages/paymaster/src/V4/PaymasterClient.ts → dist/paymaster/src/V4/PaymasterClient.js} +63 -133
  105. package/dist/paymaster/src/V4/PaymasterOperator.d.ts +41 -0
  106. package/{packages/paymaster/src/V4/PaymasterOperator.ts → dist/paymaster/src/V4/PaymasterOperator.js} +66 -107
  107. package/dist/paymaster/src/V4/PaymasterUtils.d.ts +55 -0
  108. package/{packages/paymaster/src/V4/PaymasterUtils.ts → dist/paymaster/src/V4/PaymasterUtils.js} +19 -80
  109. package/dist/paymaster/src/V4/SuperPaymasterClient.d.ts +21 -0
  110. package/{packages/paymaster/src/V4/SuperPaymasterClient.ts → dist/paymaster/src/V4/SuperPaymasterClient.js} +18 -68
  111. package/dist/paymaster/src/V4/index.js +4 -0
  112. package/dist/paymaster/src/index.d.ts +2 -0
  113. package/{packages/paymaster/src/index.ts → dist/paymaster/src/index.js} +0 -1
  114. package/dist/sdk/src/clients/ExperimentClient.d.ts +34 -0
  115. package/{packages/sdk/src/clients/ExperimentClient.ts → dist/sdk/src/clients/ExperimentClient.js} +11 -33
  116. package/dist/sdk/src/clients/ExperimentClient.test.d.ts +1 -0
  117. package/{packages/sdk/src/clients/ExperimentClient.test.ts → dist/sdk/src/clients/ExperimentClient.test.js} +4 -16
  118. package/dist/sdk/src/clients/admin.d.ts +57 -0
  119. package/dist/sdk/src/clients/admin.js +105 -0
  120. package/dist/sdk/src/clients/admin.test.d.ts +1 -0
  121. package/{packages/sdk/src/clients/admin.test.ts → dist/sdk/src/clients/admin.test.js} +18 -37
  122. package/dist/sdk/src/clients/clients.test.d.ts +1 -0
  123. package/{packages/sdk/src/clients/clients.test.ts → dist/sdk/src/clients/clients.test.js} +22 -35
  124. package/dist/sdk/src/clients/community.d.ts +48 -0
  125. package/{packages/sdk/src/clients/community.ts → dist/sdk/src/clients/community.js} +63 -156
  126. package/dist/sdk/src/clients/community.test.d.ts +1 -0
  127. package/dist/sdk/src/clients/community.test.js +99 -0
  128. package/dist/sdk/src/clients/endUser.d.ts +95 -0
  129. package/dist/sdk/src/clients/endUser.js +388 -0
  130. package/dist/sdk/src/clients/endUser.test.d.ts +1 -0
  131. package/dist/sdk/src/clients/endUser.test.js +188 -0
  132. package/dist/sdk/src/clients/operator.d.ts +96 -0
  133. package/{packages/sdk/src/clients/operator.ts → dist/sdk/src/clients/operator.js} +70 -178
  134. package/dist/sdk/src/clients/operator.test.d.ts +1 -0
  135. package/dist/sdk/src/clients/operator.test.js +139 -0
  136. package/dist/sdk/src/errors/AAStarError.d.ts +26 -0
  137. package/dist/sdk/src/errors/AAStarError.js +32 -0
  138. package/dist/sdk/src/errors/AAStarError.test.d.ts +1 -0
  139. package/{packages/sdk/src/errors/AAStarError.test.ts → dist/sdk/src/errors/AAStarError.test.js} +0 -18
  140. package/dist/sdk/src/errors/decoder.d.ts +1 -0
  141. package/{packages/sdk/src/errors/decoder.ts → dist/sdk/src/errors/decoder.js} +20 -28
  142. package/dist/sdk/src/errors/decoder.test.d.ts +1 -0
  143. package/{packages/sdk/src/errors/decoder.test.ts → dist/sdk/src/errors/decoder.test.js} +10 -27
  144. package/dist/sdk/src/index.d.ts +16 -0
  145. package/{packages/sdk/src/index.ts → dist/sdk/src/index.js} +0 -3
  146. package/{packages/sdk/src/node/index.ts → dist/sdk/src/node/index.d.ts} +0 -1
  147. package/dist/sdk/src/node/index.js +7 -0
  148. package/dist/sdk/src/types/result.d.ts +15 -0
  149. package/{packages/sdk/src/types/result.ts → dist/sdk/src/types/result.js} +5 -11
  150. package/dist/sdk/src/utils/errorHandler.d.ts +40 -0
  151. package/{packages/sdk/src/utils/errorHandler.ts → dist/sdk/src/utils/errorHandler.js} +22 -75
  152. package/dist/sdk/src/utils/errorHandler.test.d.ts +1 -0
  153. package/{packages/sdk/src/utils/errorHandler.test.ts → dist/sdk/src/utils/errorHandler.test.js} +1 -14
  154. package/dist/sdk/src/utils/eventDecoder.d.ts +7 -0
  155. package/{packages/sdk/src/utils/eventDecoder.ts → dist/sdk/src/utils/eventDecoder.js} +14 -26
  156. package/dist/sdk/src/utils/eventDecoder.test.d.ts +1 -0
  157. package/{packages/sdk/src/utils/eventDecoder.test.ts → dist/sdk/src/utils/eventDecoder.test.js} +10 -18
  158. package/dist/sdk/src/utils/funding.d.ts +115 -0
  159. package/{packages/sdk/src/utils/funding.ts → dist/sdk/src/utils/funding.js} +27 -119
  160. package/dist/sdk/src/utils/funding.test.d.ts +1 -0
  161. package/{packages/sdk/src/utils/funding.test.ts → dist/sdk/src/utils/funding.test.js} +18 -30
  162. package/dist/sdk/src/utils/keys.d.ts +73 -0
  163. package/{packages/sdk/src/utils/keys.ts → dist/sdk/src/utils/keys.js} +17 -54
  164. package/dist/sdk/src/utils/keys.test.d.ts +1 -0
  165. package/{packages/sdk/src/utils/keys.test.ts → dist/sdk/src/utils/keys.test.js} +13 -37
  166. package/dist/sdk/src/utils/roleData.d.ts +66 -0
  167. package/{packages/sdk/src/utils/roleData.ts → dist/sdk/src/utils/roleData.js} +28 -53
  168. package/dist/sdk/src/utils/roleData.test.d.ts +1 -0
  169. package/{packages/sdk/src/utils/roleData.test.ts → dist/sdk/src/utils/roleData.test.js} +2 -13
  170. package/dist/sdk/src/utils/testScenarios.d.ts +33 -0
  171. package/dist/sdk/src/utils/testScenarios.js +85 -0
  172. package/dist/sdk/src/utils/testScenarios.test.d.ts +1 -0
  173. package/{packages/sdk/src/utils/testScenarios.test.ts → dist/sdk/src/utils/testScenarios.test.js} +19 -30
  174. package/dist/sdk/src/utils/userOp.d.ts +78 -0
  175. package/{packages/sdk/src/utils/userOp.ts → dist/sdk/src/utils/userOp.js} +61 -131
  176. package/dist/sdk/src/utils/userOp.test.d.ts +1 -0
  177. package/{packages/sdk/src/utils/userOp.test.ts → dist/sdk/src/utils/userOp.test.js} +55 -93
  178. package/dist/tokens/src/index.d.ts +56 -0
  179. package/{packages/tokens/src/index.ts → dist/tokens/src/index.js} +52 -95
  180. package/examples/regression_test.d.ts +2 -0
  181. package/examples/regression_test.d.ts.map +1 -0
  182. package/examples/regression_test.js +89 -0
  183. package/examples/regression_test.js.map +1 -0
  184. package/package.json +40 -58
  185. package/scripts/v2_regression/01_setup_and_fund.ts +1 -1
  186. package/scripts/v2_regression/02_operator_onboarding.ts +1 -1
  187. package/scripts/v2_regression/03_community_registry.ts +1 -1
  188. package/scripts/v2_regression/04_enduser_flow.ts +1 -1
  189. package/scripts/v2_regression/05_admin_audit.ts +1 -1
  190. package/.eslintrc.cjs +0 -30
  191. package/.gitmodules +0 -9
  192. package/aastar-sdk.code-workspace +0 -14
  193. package/abis/BLSAggregator.json +0 -572
  194. package/abis/BLSValidator.json +0 -39
  195. package/abis/DVTValidator.json +0 -383
  196. package/abis/Eip7702Support.json +0 -24
  197. package/abis/EntryPoint.json +0 -1379
  198. package/abis/GToken.json +0 -510
  199. package/abis/GTokenStaking.json +0 -918
  200. package/abis/LegacyAccount.json +0 -625
  201. package/abis/MySBT.json +0 -1547
  202. package/abis/Paymaster.json +0 -1192
  203. package/abis/PaymasterFactory.json +0 -637
  204. package/abis/PaymasterV4_2.json +0 -1193
  205. package/abis/Registry.json +0 -1677
  206. package/abis/ReputationSystem.json +0 -659
  207. package/abis/SenderCreator.json +0 -99
  208. package/abis/Simple7702Account.json +0 -395
  209. package/abis/SimpleAccount.json +0 -625
  210. package/abis/SimpleAccountFactory.json +0 -108
  211. package/abis/SimpleAccountFactoryV08.json +0 -87
  212. package/abis/SimpleAccountV08.json +0 -557
  213. package/abis/SuperPaymaster.json +0 -1568
  214. package/abis/UserOperationLib.json +0 -57
  215. package/abis/aPNTs.json +0 -1160
  216. package/abis/xPNTsFactory.json +0 -715
  217. package/abis/xPNTsToken.json +0 -1160
  218. package/config/networks/README.md +0 -54
  219. package/config/networks/mainnet.env.example +0 -39
  220. package/config/networks/optimism-sepolia.env.example +0 -35
  221. package/config/networks/optimism.env.example +0 -36
  222. package/config/networks/sepolia.env.example +0 -36
  223. package/config.anvil.json +0 -1
  224. package/config.sepolia.json +0 -1
  225. package/config.test.json +0 -27
  226. package/data/experiment_data.csv +0 -36
  227. package/data/industry_baseline_2025-12-23.json +0 -154
  228. package/data/industry_baseline_latest.json +0 -154
  229. package/docs/ABI_Change_Tracking_Workflow.md +0 -41
  230. package/docs/ABI_MAINTENANCE_PLAN.md +0 -132
  231. package/docs/API_REFERENCE.md +0 -956
  232. package/docs/Configuration_Sync.md +0 -47
  233. package/docs/DAO_Mining_Distribution_Plan.md +0 -522
  234. package/docs/DEMO_REFACTOR_PLAN.md +0 -289
  235. package/docs/DOCUMENTATION_PLAN.md +0 -455
  236. package/docs/ENV_SEPOLIA_UPDATE.md +0 -68
  237. package/docs/Faucet_Gasless_Plan.md +0 -56
  238. package/docs/L2_BUSINESS_CLIENTS_PLAN.md +0 -394
  239. package/docs/L4_Manual_Test_CheatSheet.md +0 -215
  240. package/docs/Plan.md +0 -266
  241. package/docs/Regression_Testing_Guide.md +0 -70
  242. package/docs/SDK_ABI_COVERAGE.md +0 -839
  243. package/docs/SDK_COVERAGE_STRATEGY.md +0 -397
  244. package/docs/SDK_Optimization_Evaluation_Plan.md +0 -51
  245. package/docs/SDK_REGRESSION_AND_API_PLAN.md +0 -98
  246. package/docs/SDK_STAGE3_PLAN.md +0 -151
  247. package/docs/SEPOLIA_ENV_REFERENCE.md +0 -51
  248. package/docs/STAGE3.md +0 -191
  249. package/docs/Script_Comparison_Report.md +0 -91
  250. package/docs/Sepolia_Latest_Deployment.md +0 -117
  251. package/docs/TESTER_GUIDE_GASLESS.md +0 -663
  252. package/docs/TEST_COVERAGE_MATRIX.md +0 -72
  253. package/docs/TODO_SDK_COVERAGE.md +0 -55
  254. package/docs/USER_CASE_DESIGN.md +0 -110
  255. package/docs/Verifier_L4_Gasless_Plan.md +0 -454
  256. package/docs/api/@aastar/account.md +0 -235
  257. package/docs/api/@aastar/analytics.md +0 -219
  258. package/docs/api/@aastar/core.md +0 -26830
  259. package/docs/api/@aastar/dapp.md +0 -130
  260. package/docs/api/@aastar/identity.md +0 -482
  261. package/docs/api/@aastar/paymaster.md +0 -1387
  262. package/docs/api/@aastar/sdk/README.md +0 -155
  263. package/docs/api/@aastar/sdk/node.md +0 -4044
  264. package/docs/api/@aastar/tokens.md +0 -1971
  265. package/docs/api/README.md +0 -10
  266. package/docs/changelog.md +0 -99
  267. package/docs/examples/README.md +0 -18
  268. package/docs/examples/community-flow.md +0 -28
  269. package/docs/examples/enduser-flow.md +0 -24
  270. package/docs/examples/index.md +0 -18
  271. package/docs/examples/multi-chain.md +0 -31
  272. package/docs/examples/operator-flow.md +0 -28
  273. package/docs/guide/CLI_GUIDE.md +0 -65
  274. package/docs/guide/DOCUMENTATION_PLAN.md +0 -455
  275. package/docs/guide/Security-solution.md +0 -106
  276. package/docs/guide/TEST_COMMANDS.md +0 -320
  277. package/docs/guide/concepts/account-abstraction.md +0 -95
  278. package/docs/guide/concepts/rainbow-bridge.md +0 -68
  279. package/docs/guide/concepts/reputation.md +0 -95
  280. package/docs/guide/concepts/superpaymaster.md +0 -141
  281. package/docs/guide/getting-started.md +0 -133
  282. package/docs/guide/installation.md +0 -40
  283. package/docs/guide/paper-data-collection.md +0 -69
  284. package/docs/guide/quick-start.md +0 -52
  285. package/docs/guide/task_breakdown.md +0 -121
  286. package/docs/guide/use-cases/community-management.md +0 -141
  287. package/docs/guide/use-cases/gasless-transactions.md +0 -71
  288. package/docs/guide/use-cases/operator-staking.md +0 -84
  289. package/docs/guide/use-cases/yop.md +0 -72
  290. package/docs/old-solution.md +0 -1078
  291. package/docs/paper-data-collection.md +0 -69
  292. package/docs/refactor/2026-01-13-221242-trae-refactor.md +0 -224
  293. package/docs/refactor/2026-01-13-audit-analysis.md +0 -96
  294. package/docs/refactor/2026-01-13-audit-report-v0.16.2.md +0 -76
  295. package/docs/refactor/2026-01-13-audit-report-v0.17.0.md +0 -74
  296. package/docs/refactor/2026-01-13-cursor-refactor.md +0 -511
  297. package/docs/refactor/2026-01-13-refactor-plan.md +0 -88
  298. package/docs/refactor/2026-01-13-refactor-response-plan.md +0 -77
  299. package/docs/refactor/2026-01-13-refactor-review.md +0 -39
  300. package/docs/refactor/2026-01-13-sdk-enhancement-plan.md +0 -120
  301. package/docs/refactor/2026-01-14-audit-response.md +0 -242
  302. package/docs/refactor/2026-01-14-audit-summary.md +0 -133
  303. package/docs/refactor/cursor-2026-01-13-14-00-audit-report.md +0 -267
  304. package/docs/technical_plan.md +0 -510
  305. package/docs/zh/examples/community-flow.md +0 -38
  306. package/docs/zh/examples/complete-workflow.md +0 -10
  307. package/docs/zh/examples/enduser-flow.md +0 -33
  308. package/docs/zh/examples/index.md +0 -18
  309. package/docs/zh/examples/multi-chain.md +0 -46
  310. package/docs/zh/examples/operator-flow.md +0 -37
  311. package/docs/zh/guide/CLI_GUIDE.md +0 -48
  312. package/docs/zh/guide/DOCUMENTATION_PLAN.md +0 -455
  313. package/docs/zh/guide/Plan.md +0 -266
  314. package/docs/zh/guide/SDK_Optimization_Evaluation_Plan.md +0 -51
  315. package/docs/zh/guide/Security-solution.md +0 -106
  316. package/docs/zh/guide/TEST_COMMANDS.md +0 -125
  317. package/docs/zh/guide/TEST_COVERAGE_MATRIX.md +0 -72
  318. package/docs/zh/guide/concepts/account-abstraction.md +0 -95
  319. package/docs/zh/guide/concepts/rainbow-bridge.md +0 -68
  320. package/docs/zh/guide/concepts/reputation.md +0 -95
  321. package/docs/zh/guide/concepts/superpaymaster.md +0 -141
  322. package/docs/zh/guide/getting-started.md +0 -133
  323. package/docs/zh/guide/installation.md +0 -107
  324. package/docs/zh/guide/old-solution.md +0 -1078
  325. package/docs/zh/guide/paper-data-collection.md +0 -69
  326. package/docs/zh/guide/quick-start.md +0 -134
  327. package/docs/zh/guide/sdk-readme.md +0 -253
  328. package/docs/zh/guide/task_breakdown.md +0 -76
  329. package/docs/zh/guide/technical_plan.md +0 -510
  330. package/docs/zh/guide/use-cases/community-management.md +0 -141
  331. package/docs/zh/guide/use-cases/gasless-transactions.md +0 -71
  332. package/docs/zh/guide/use-cases/operator-staking.md +0 -84
  333. package/docs/zh/guide/use-cases/yop.md +0 -72
  334. package/env.template +0 -32
  335. package/examples/l1-api-demo.ts +0 -184
  336. package/examples/l2-clients-demo.ts +0 -138
  337. package/examples/l3-user-onboarding.ts +0 -74
  338. package/examples/prepare-gasless.ts +0 -89
  339. package/examples/sdk-demo/DEVELOPER_GUIDE.md +0 -159
  340. package/examples/sdk-demo/README.md +0 -30
  341. package/examples/sdk-demo/usage.ts +0 -137
  342. package/examples/simple-gasless-demo.ts +0 -80
  343. package/examples/simple-superpaymaster-demo.ts +0 -96
  344. package/ext/aastar-shared-config/.env.example +0 -6
  345. package/ext/aastar-shared-config/.github/workflows/check-secrets.yml +0 -257
  346. package/ext/aastar-shared-config/AGENTS.md +0 -21
  347. package/ext/aastar-shared-config/CHANGELOG.md +0 -99
  348. package/ext/aastar-shared-config/LICENSE +0 -21
  349. package/ext/aastar-shared-config/QUICK_START.md +0 -215
  350. package/ext/aastar-shared-config/README.md +0 -412
  351. package/ext/aastar-shared-config/SHARED_CONFIG_SUMMARY.md +0 -273
  352. package/ext/aastar-shared-config/check-locker-status.mjs +0 -7
  353. package/ext/aastar-shared-config/favicon.ico +0 -0
  354. package/ext/aastar-shared-config/generate-comparison-table.sh +0 -67
  355. package/ext/aastar-shared-config/package.json +0 -46
  356. package/ext/aastar-shared-config/pnpm-lock.yaml +0 -1182
  357. package/ext/aastar-shared-config/src/abis/BLSAggregator.json +0 -1
  358. package/ext/aastar-shared-config/src/abis/DVTValidator.json +0 -1
  359. package/ext/aastar-shared-config/src/abis/GToken.json +0 -1
  360. package/ext/aastar-shared-config/src/abis/GTokenStaking.json +0 -1
  361. package/ext/aastar-shared-config/src/abis/MySBT.json +0 -1
  362. package/ext/aastar-shared-config/src/abis/PaymasterFactory.json +0 -1
  363. package/ext/aastar-shared-config/src/abis/PaymasterV4.json +0 -1098
  364. package/ext/aastar-shared-config/src/abis/Registry.json +0 -1
  365. package/ext/aastar-shared-config/src/abis/SimpleAccount.json +0 -557
  366. package/ext/aastar-shared-config/src/abis/SimpleAccountFactory.json +0 -87
  367. package/ext/aastar-shared-config/src/abis/SuperPaymasterV2.json +0 -1
  368. package/ext/aastar-shared-config/src/abis/index.ts +0 -45
  369. package/ext/aastar-shared-config/src/abis/xPNTsFactory.json +0 -1
  370. package/ext/aastar-shared-config/src/abis/xPNTsToken.json +0 -1
  371. package/ext/aastar-shared-config/src/branding.ts +0 -32
  372. package/ext/aastar-shared-config/src/communities.ts +0 -93
  373. package/ext/aastar-shared-config/src/constants.ts +0 -67
  374. package/ext/aastar-shared-config/src/contract-addresses.ts +0 -95
  375. package/ext/aastar-shared-config/src/contract-versions.ts +0 -374
  376. package/ext/aastar-shared-config/src/contracts.ts +0 -414
  377. package/ext/aastar-shared-config/src/index.ts +0 -14
  378. package/ext/aastar-shared-config/src/networks.ts +0 -117
  379. package/ext/aastar-shared-config/sync-abis.sh +0 -92
  380. package/ext/aastar-shared-config/sync-versions.mjs +0 -150
  381. package/ext/aastar-shared-config/tsconfig.json +0 -18
  382. package/ext/aastar-shared-config/tsup.config.ts +0 -10
  383. package/ext/aastar-shared-config/verify-all.sh +0 -207
  384. package/ext/aastar-shared-config/verify-contracts.sh +0 -85
  385. package/ext/aastar-shared-config/verify-mysbt-v243.mjs +0 -27
  386. package/ext/aastar-shared-config/verify-onchain-versions.mjs +0 -93
  387. package/l4-setup.sh +0 -11
  388. package/lib/SHARED_CONFIG_REFERENCE.md +0 -133
  389. package/lib/shared-config/.env.example +0 -6
  390. package/lib/shared-config/.github/workflows/check-secrets.yml +0 -257
  391. package/lib/shared-config/AGENTS.md +0 -21
  392. package/lib/shared-config/CHANGELOG.md +0 -99
  393. package/lib/shared-config/LICENSE +0 -21
  394. package/lib/shared-config/QUICK_START.md +0 -215
  395. package/lib/shared-config/README.md +0 -412
  396. package/lib/shared-config/SHARED_CONFIG_SUMMARY.md +0 -273
  397. package/lib/shared-config/check-locker-status.mjs +0 -7
  398. package/lib/shared-config/favicon.ico +0 -0
  399. package/lib/shared-config/generate-comparison-table.sh +0 -67
  400. package/lib/shared-config/package.json +0 -46
  401. package/lib/shared-config/pnpm-lock.yaml +0 -1182
  402. package/lib/shared-config/src/abis/BLSAggregator.json +0 -1
  403. package/lib/shared-config/src/abis/DVTValidator.json +0 -1
  404. package/lib/shared-config/src/abis/GToken.json +0 -1
  405. package/lib/shared-config/src/abis/GTokenStaking.json +0 -1
  406. package/lib/shared-config/src/abis/MySBT.json +0 -1
  407. package/lib/shared-config/src/abis/PaymasterFactory.json +0 -1
  408. package/lib/shared-config/src/abis/PaymasterV4.json +0 -1098
  409. package/lib/shared-config/src/abis/Registry.json +0 -1
  410. package/lib/shared-config/src/abis/SimpleAccount.json +0 -557
  411. package/lib/shared-config/src/abis/SimpleAccountFactory.json +0 -87
  412. package/lib/shared-config/src/abis/SuperPaymasterV2.json +0 -1
  413. package/lib/shared-config/src/abis/index.ts +0 -45
  414. package/lib/shared-config/src/abis/xPNTsFactory.json +0 -1
  415. package/lib/shared-config/src/abis/xPNTsToken.json +0 -1
  416. package/lib/shared-config/src/branding.ts +0 -32
  417. package/lib/shared-config/src/communities.ts +0 -93
  418. package/lib/shared-config/src/constants.ts +0 -67
  419. package/lib/shared-config/src/contract-addresses.ts +0 -95
  420. package/lib/shared-config/src/contract-versions.ts +0 -374
  421. package/lib/shared-config/src/contracts.ts +0 -414
  422. package/lib/shared-config/src/index.ts +0 -14
  423. package/lib/shared-config/sync-abis.sh +0 -92
  424. package/lib/shared-config/sync-versions.mjs +0 -150
  425. package/lib/shared-config/tsconfig.json +0 -18
  426. package/lib/shared-config/tsup.config.ts +0 -10
  427. package/lib/shared-config/verify-all.sh +0 -207
  428. package/lib/shared-config/verify-contracts.sh +0 -85
  429. package/lib/shared-config/verify-mysbt-v243.mjs +0 -27
  430. package/lib/shared-config/verify-onchain-versions.mjs +0 -93
  431. package/packages/account/package.json +0 -23
  432. package/packages/account/src/accounts/simple.test.ts +0 -93
  433. package/packages/account/src/eoa.test.ts +0 -37
  434. package/packages/account/src/eoa.ts +0 -33
  435. package/packages/account/src/index.test.ts +0 -34
  436. package/packages/account/src/index.ts +0 -61
  437. package/packages/account/tsconfig.json +0 -11
  438. package/packages/analytics/package.json +0 -28
  439. package/packages/analytics/src/index.ts +0 -145
  440. package/packages/analytics/tsconfig.json +0 -11
  441. package/packages/core/package.json +0 -32
  442. package/packages/core/scripts/audit-abi-coverage.ts +0 -165
  443. package/packages/core/scripts/debug-regex.ts +0 -36
  444. package/packages/core/src/abis/.abi-hashes.json +0 -26
  445. package/packages/core/src/abis/BLSAggregator.json +0 -686
  446. package/packages/core/src/abis/BLSValidator.json +0 -42
  447. package/packages/core/src/abis/DVTValidator.json +0 -368
  448. package/packages/core/src/abis/Eip7702Support.json +0 -24
  449. package/packages/core/src/abis/EntryPoint.json +0 -1382
  450. package/packages/core/src/abis/GToken.json +0 -513
  451. package/packages/core/src/abis/GTokenStaking.json +0 -949
  452. package/packages/core/src/abis/LegacyAccount.json +0 -625
  453. package/packages/core/src/abis/MySBT.json +0 -1518
  454. package/packages/core/src/abis/Paymaster.json +0 -1143
  455. package/packages/core/src/abis/PaymasterFactory.json +0 -640
  456. package/packages/core/src/abis/Registry.json +0 -1942
  457. package/packages/core/src/abis/ReputationSystem.json +0 -699
  458. package/packages/core/src/abis/SenderCreator.json +0 -99
  459. package/packages/core/src/abis/Simple7702Account.json +0 -395
  460. package/packages/core/src/abis/SimpleAccount.json +0 -560
  461. package/packages/core/src/abis/SimpleAccountFactory.json +0 -111
  462. package/packages/core/src/abis/SimpleAccountFactoryV08.json +0 -87
  463. package/packages/core/src/abis/SimpleAccountV08.json +0 -557
  464. package/packages/core/src/abis/SuperPaymaster.json +0 -1781
  465. package/packages/core/src/abis/UserOperationLib.json +0 -57
  466. package/packages/core/src/abis/abi.config.json +0 -24
  467. package/packages/core/src/abis/xPNTsFactory.json +0 -718
  468. package/packages/core/src/abis/xPNTsToken.json +0 -1280
  469. package/packages/core/src/actions/StateValidator.test.ts +0 -175
  470. package/packages/core/src/actions/account.test.ts +0 -155
  471. package/packages/core/src/actions/account.ts +0 -179
  472. package/packages/core/src/actions/aggregator.test.ts +0 -88
  473. package/packages/core/src/actions/aggregator.ts +0 -41
  474. package/packages/core/src/actions/dvt.test.ts +0 -124
  475. package/packages/core/src/actions/dvt.ts +0 -53
  476. package/packages/core/src/actions/entryPoint.test.ts +0 -176
  477. package/packages/core/src/actions/entryPoint.ts +0 -266
  478. package/packages/core/src/actions/factory.test.ts +0 -250
  479. package/packages/core/src/actions/factory.ts +0 -613
  480. package/packages/core/src/actions/faucet.test.ts +0 -202
  481. package/packages/core/src/actions/gtokenExtended.test.ts +0 -162
  482. package/packages/core/src/actions/gtokenExtended.ts +0 -153
  483. package/packages/core/src/actions/paymasterV4.test.ts +0 -209
  484. package/packages/core/src/actions/paymasterV4.ts +0 -455
  485. package/packages/core/src/actions/registry.test.ts +0 -443
  486. package/packages/core/src/actions/registry.ts +0 -860
  487. package/packages/core/src/actions/reputation.test.ts +0 -225
  488. package/packages/core/src/actions/reputation.ts +0 -378
  489. package/packages/core/src/actions/sbt.test.ts +0 -322
  490. package/packages/core/src/actions/sbt.ts +0 -681
  491. package/packages/core/src/actions/staking.test.ts +0 -273
  492. package/packages/core/src/actions/superPaymaster.test.ts +0 -356
  493. package/packages/core/src/actions/superPaymaster.ts +0 -828
  494. package/packages/core/src/actions/tokens.test.ts +0 -60
  495. package/packages/core/src/actions/tokens.ts +0 -527
  496. package/packages/core/src/actions/validators.test.ts +0 -239
  497. package/packages/core/src/actions/validators.ts +0 -590
  498. package/packages/core/src/branding.ts +0 -32
  499. package/packages/core/src/clients.ts +0 -13
  500. package/packages/core/src/communities.ts +0 -93
  501. package/packages/core/src/constants.ts +0 -145
  502. package/packages/core/src/contract-addresses.ts +0 -125
  503. package/packages/core/src/contracts.test.ts +0 -58
  504. package/packages/core/src/contracts.ts +0 -414
  505. package/packages/core/src/networks.ts +0 -127
  506. package/packages/core/src/requirementChecker.test.ts +0 -71
  507. package/packages/core/src/roles.test.ts +0 -34
  508. package/packages/core/src/utils/validation.test.ts +0 -50
  509. package/packages/core/src/utils.ts +0 -23
  510. package/packages/core/tsconfig.json +0 -12
  511. package/packages/core/vitest.config.ts +0 -14
  512. package/packages/dapp/package.json +0 -30
  513. package/packages/dapp/src/ui/components/EvaluationPanel.tsx +0 -40
  514. package/packages/dapp/tsconfig.json +0 -12
  515. package/packages/identity/package.json +0 -25
  516. package/packages/identity/tsconfig.json +0 -11
  517. package/packages/paymaster/package.json +0 -25
  518. package/packages/paymaster/src/V4/PaymasterClient.test.ts +0 -114
  519. package/packages/paymaster/src/V4/PaymasterOperator.test.ts +0 -80
  520. package/packages/paymaster/src/V4/PaymasterUtils.test.ts +0 -54
  521. package/packages/paymaster/src/V4/SuperPaymasterClient.test.ts +0 -79
  522. package/packages/paymaster/tsconfig.json +0 -11
  523. package/packages/sdk/README.md +0 -150
  524. package/packages/sdk/aastar/package.json +0 -21
  525. package/packages/sdk/aastar/src/index.ts +0 -3
  526. package/packages/sdk/aastar/tsconfig.json +0 -7
  527. package/packages/sdk/coverage_output.txt +0 -393
  528. package/packages/sdk/coverage_output_final.txt +0 -739
  529. package/packages/sdk/coverage_output_final_v2.txt +0 -722
  530. package/packages/sdk/coverage_output_final_v3.txt +0 -722
  531. package/packages/sdk/package.json +0 -44
  532. package/packages/sdk/src/clients/admin.ts +0 -154
  533. package/packages/sdk/src/clients/community.test.ts +0 -118
  534. package/packages/sdk/src/clients/endUser.test.ts +0 -221
  535. package/packages/sdk/src/clients/endUser.ts +0 -551
  536. package/packages/sdk/src/clients/operator.test.ts +0 -162
  537. package/packages/sdk/src/errors/AAStarError.ts +0 -70
  538. package/packages/sdk/src/utils/testScenarios.ts +0 -128
  539. package/packages/sdk/tests/scenarios/01_onboard_community.ts +0 -62
  540. package/packages/sdk/tests/scenarios/02_onboard_operator.ts +0 -109
  541. package/packages/sdk/tests/scenarios/03_onboard_user.ts +0 -53
  542. package/packages/sdk/tests/scenarios/04_gasless_tx_flow.ts +0 -68
  543. package/packages/sdk/tests/scenarios/check_entrypoint.ts +0 -19
  544. package/packages/sdk/tests/scenarios/check_initialization.ts +0 -65
  545. package/packages/sdk/tests/scenarios/debug_addresses.ts +0 -26
  546. package/packages/sdk/tests/scenarios/diagnose_scenario4.ts +0 -55
  547. package/packages/sdk/tests/scenarios/setup.ts +0 -33
  548. package/packages/sdk/tests/scenarios/test_entrypoint_nonce.ts +0 -46
  549. package/packages/sdk/tsconfig.json +0 -11
  550. package/packages/tokens/package.json +0 -25
  551. package/packages/tokens/tsconfig.json +0 -11
  552. package/pnpm-workspace.yaml +0 -2
  553. package/run_l4_gasless_regression.sh +0 -79
  554. package/run_sdk_regression.sh +0 -238
  555. package/scripts/00_utils.ts +0 -59
  556. package/scripts/00_verify_phase1.ts +0 -130
  557. package/scripts/01_1_prep_gtoken.ts +0 -81
  558. package/scripts/01_2_register_sbt.ts +0 -88
  559. package/scripts/01_3_prep_tokens_paymaster.ts +0 -102
  560. package/scripts/01_prepare_all.ts +0 -222
  561. package/scripts/02_test_eoa.ts +0 -53
  562. package/scripts/03_test_standard_aa.ts +0 -68
  563. package/scripts/04_0_check_deploy.ts +0 -24
  564. package/scripts/04_1_check_allowance.ts +0 -44
  565. package/scripts/04_2_construct_verify.ts +0 -96
  566. package/scripts/04_3_verify_estimate.ts +0 -66
  567. package/scripts/04_4_verify_pack.ts +0 -74
  568. package/scripts/04_test_paymaster_v4.ts +0 -60
  569. package/scripts/05_1_deposit.ts +0 -48
  570. package/scripts/05_test_superpaymaster.ts +0 -58
  571. package/scripts/06_local_test_v3_admin.ts +0 -163
  572. package/scripts/06_local_test_v3_execution.ts +0 -132
  573. package/scripts/06_local_test_v3_full.ts +0 -490
  574. package/scripts/06_local_test_v3_funding.ts +0 -124
  575. package/scripts/06_local_test_v3_reputation.ts +0 -234
  576. package/scripts/07_local_test_v3_audit.ts +0 -181
  577. package/scripts/08_local_test_registry_lifecycle.ts +0 -382
  578. package/scripts/09_local_test_community_lifecycle.ts +0 -385
  579. package/scripts/09_local_test_community_simple.ts +0 -108
  580. package/scripts/09_scenario_bread_independent.ts +0 -247
  581. package/scripts/10_scenario_super_shared.ts +0 -196
  582. package/scripts/10_test_protocol_admin_full.ts +0 -173
  583. package/scripts/11_scenario_hacker_defense.ts +0 -104
  584. package/scripts/11_test_core_flows_full.ts +0 -157
  585. package/scripts/12_test_slash_mechanism.ts +0 -205
  586. package/scripts/12_test_slash_queries.ts +0 -83
  587. package/scripts/12_test_staking_exit.ts +0 -152
  588. package/scripts/12_test_staking_slash.ts +0 -301
  589. package/scripts/12_test_tier2_slash.ts +0 -139
  590. package/scripts/13_test_sbt_burn_linkage.ts +0 -266
  591. package/scripts/14_test_credit_redesign.ts +0 -266
  592. package/scripts/15_test_bls_full.ts +0 -148
  593. package/scripts/15_test_dvt_bls_full.ts +0 -140
  594. package/scripts/17_test_cross_role_collaboration.ts +0 -95
  595. package/scripts/18_sdk_e2e_verification.ts +0 -67
  596. package/scripts/18_test_dvt_sdk_flow.ts +0 -138
  597. package/scripts/18_test_lifecycle_completion.ts +0 -144
  598. package/scripts/19_sdk_experiment_runner.ts +0 -114
  599. package/scripts/19_sdk_experiment_runner.ts.backup +0 -391
  600. package/scripts/20_sdk_full_capability.ts +0 -93
  601. package/scripts/20_test_superpaymaster_new_apis.ts +0 -193
  602. package/scripts/21_test_paymasterv4_complete.ts +0 -341
  603. package/scripts/22_test_bls_signing.ts +0 -260
  604. package/scripts/23_test_middleware.ts +0 -197
  605. package/scripts/98_edge_reentrancy.ts +0 -85
  606. package/scripts/99_bug_hunting_fast.ts +0 -99
  607. package/scripts/analyze_abi_coverage.ts +0 -169
  608. package/scripts/check-admin.ts +0 -95
  609. package/scripts/check-jason-status.ts +0 -184
  610. package/scripts/check-roles.ts +0 -36
  611. package/scripts/clear-nonce.ts +0 -47
  612. package/scripts/collect_industry_baseline.ts +0 -236
  613. package/scripts/complete-jack-superpaymaster.ts +0 -171
  614. package/scripts/complete_env_config.ts +0 -97
  615. package/scripts/debug-addr.ts +0 -43
  616. package/scripts/debug-community-registration.ts +0 -92
  617. package/scripts/debug-deploy-v4.ts +0 -116
  618. package/scripts/debug-paymaster.ts +0 -127
  619. package/scripts/debug-register-role.ts +0 -101
  620. package/scripts/debug-version.ts +0 -71
  621. package/scripts/debug_account_c.ts +0 -43
  622. package/scripts/debug_bls.ts +0 -58
  623. package/scripts/debug_config_v036.ts +0 -13
  624. package/scripts/debug_contracts.ts +0 -2
  625. package/scripts/debug_env.ts +0 -69
  626. package/scripts/debug_find_paymaster.ts +0 -98
  627. package/scripts/debug_isolated_registration.ts +0 -256
  628. package/scripts/debug_paymaster_config.ts +0 -19
  629. package/scripts/debug_pim_addr.ts +0 -23
  630. package/scripts/debug_pm_status.ts +0 -51
  631. package/scripts/debug_registry.ts +0 -39
  632. package/scripts/debug_registry_setup.ts +0 -129
  633. package/scripts/debug_sanity.ts +0 -32
  634. package/scripts/debug_shared_config.ts +0 -10
  635. package/scripts/debug_token_compat.ts +0 -51
  636. package/scripts/debug_tokens.ts +0 -41
  637. package/scripts/debug_vcheck.ts +0 -33
  638. package/scripts/deploy-sync.ts +0 -104
  639. package/scripts/deploy_and_init_v3.sh +0 -134
  640. package/scripts/deploy_anvil_accounts.ts +0 -144
  641. package/scripts/deploy_paymaster_v4.ts +0 -139
  642. package/scripts/deploy_test_accounts.ts +0 -401
  643. package/scripts/deprecated/check_aa_entrypoint.ts +0 -29
  644. package/scripts/deprecated/check_paymaster_deposits.ts +0 -45
  645. package/scripts/deprecated/debug_aoa_function.ts +0 -28
  646. package/scripts/deprecated/debug_aoa_issue.ts +0 -16
  647. package/scripts/deprecated/debug_pimlico_aa23.ts +0 -40
  648. package/scripts/deprecated/debug_summary.ts +0 -34
  649. package/scripts/deprecated/deploy_v07_aa.ts +0 -99
  650. package/scripts/deprecated/fix_all_issues.ts +0 -61
  651. package/scripts/deprecated/fund_bpnts.ts +0 -52
  652. package/scripts/deprecated/get_factory_addresses.ts +0 -28
  653. package/scripts/deprecated/recheck_pim.ts +0 -34
  654. package/scripts/dev_tools/extract_abis.sh +0 -151
  655. package/scripts/dev_tools/extract_addresses_to_env.sh +0 -67
  656. package/scripts/dev_tools/final_safe_harmonize.py +0 -77
  657. package/scripts/dev_tools/safe_harmonize.py +0 -107
  658. package/scripts/dev_tools/surgical_harmonize.py +0 -83
  659. package/scripts/experiment/stage3/SETUP_GUIDE.md +0 -258
  660. package/scripts/experiment/stage3/archived_scripts/00_token_distribution.ts +0 -78
  661. package/scripts/experiment/stage3/archived_scripts/01_dao_launch.ts +0 -96
  662. package/scripts/experiment/stage3/archived_scripts/01b_bread_launch.ts +0 -112
  663. package/scripts/experiment/stage3/archived_scripts/02_operator_setup.ts +0 -84
  664. package/scripts/experiment/stage3/archived_scripts/02b_operator_b_setup.ts +0 -104
  665. package/scripts/experiment/stage3/archived_scripts/02c_finalize_operators.ts +0 -86
  666. package/scripts/experiment/stage3/archived_scripts/02d_operator_collateral.ts +0 -89
  667. package/scripts/experiment/stage3/archived_scripts/03_user_onboarding.ts +0 -83
  668. package/scripts/experiment/stage3/archived_scripts/03b_deploy_aa_account.ts +0 -61
  669. package/scripts/experiment/stage3/archived_scripts/03c_aa_onboarding.ts +0 -104
  670. package/scripts/experiment/stage3/archived_scripts/03d_mint_points.ts +0 -60
  671. package/scripts/experiment/stage3/archived_scripts/04_benchmarking.ts +0 -100
  672. package/scripts/experiment/stage3/archived_scripts/05_multi_op_setup.ts +0 -149
  673. package/scripts/experiment/stage3/archived_scripts/README.md +0 -58
  674. package/scripts/experiment/stage3/archived_scripts/check_roles.ts +0 -29
  675. package/scripts/experiment/stage3/archived_scripts/decode_error.ts +0 -23
  676. package/scripts/experiment/stage3/archived_scripts/fund_user.ts +0 -51
  677. package/scripts/experiment/stage3/archived_scripts/gen_b_key.ts +0 -3
  678. package/scripts/experiment/stage3/archived_scripts/gen_keys.ts +0 -4
  679. package/scripts/experiment/stage3/archived_scripts/setup.ts +0 -105
  680. package/scripts/experiment/stage3/archived_scripts/test_key.ts +0 -4
  681. package/scripts/experiment/stage3/archived_scripts/verify_state.ts +0 -59
  682. package/scripts/experiment/stage3/refactored/00_token_distribution.ts +0 -46
  683. package/scripts/experiment/stage3/refactored/02_operator_setup.ts +0 -65
  684. package/scripts/experiment/stage3/refactored/03_user_onboarding.ts +0 -68
  685. package/scripts/experiment/stage3/refactored/05_multi_op_setup.ts +0 -63
  686. package/scripts/experiment/stage3/refactored/README.md +0 -71
  687. package/scripts/extract-docs.sh +0 -141
  688. package/scripts/fund-jack.ts +0 -38
  689. package/scripts/generate_env_from_deployment.ts +0 -109
  690. package/scripts/inspect-anni-token.ts +0 -116
  691. package/scripts/inspect-factory.ts +0 -83
  692. package/scripts/l4-paymasterv4-transfer-test.ts +0 -228
  693. package/scripts/l4-setup.ts +0 -453
  694. package/scripts/l4-state.json +0 -80
  695. package/scripts/phase1_verify_contracts.ts +0 -207
  696. package/scripts/pre_test_sync.ts +0 -83
  697. package/scripts/prepare_sepolia_resources.ts +0 -154
  698. package/scripts/publish_all.sh +0 -39
  699. package/scripts/query-jack-token.ts +0 -22
  700. package/scripts/quick_setup.ts +0 -124
  701. package/scripts/quick_setup_account.ts +0 -80
  702. package/scripts/run_automated_experiment.sh +0 -121
  703. package/scripts/run_daily_experiment.ts +0 -70
  704. package/scripts/run_l4_gasless_regression.sh +0 -32
  705. package/scripts/run_sdk_experiment.sh +0 -13
  706. package/scripts/run_sdk_regression-v2.sh +0 -38
  707. package/scripts/sdk_regression_v2.ts +0 -162
  708. package/scripts/security_audit.sh +0 -172
  709. package/scripts/setup-bbq-community.ts +0 -187
  710. package/scripts/setup-dancing-community.ts +0 -223
  711. package/scripts/setup_test_accounts.ts +0 -88
  712. package/scripts/setup_test_environment.ts +0 -147
  713. package/scripts/sync_anvil_config.cjs +0 -44
  714. package/scripts/sync_config_to_env.ts +0 -88
  715. package/scripts/sync_contract_addresses.ts +0 -186
  716. package/scripts/sync_sepolia_config.cjs +0 -90
  717. package/scripts/sync_sepolia_config.mjs +0 -74
  718. package/scripts/test-brown-v4-deploy.ts +0 -90
  719. package/scripts/test-faucet-and-gasless.ts +0 -170
  720. package/scripts/test-jack-gasless.ts +0 -119
  721. package/scripts/test-jack-registration.ts +0 -133
  722. package/scripts/test-jack-superpaymaster-api.ts +0 -112
  723. package/scripts/test-kms-gasless.ts +0 -138
  724. package/scripts/test_groups.ts +0 -138
  725. package/scripts/test_multi_community_anvil.ts +0 -276
  726. package/scripts/test_new_sdk_apis_sepolia.ts +0 -193
  727. package/scripts/test_sdk_join_idempotent.ts +0 -233
  728. package/scripts/test_simple_sepolia.ts +0 -44
  729. package/scripts/update_env_from_config.ts +0 -83
  730. package/scripts/v2_regression/README.md +0 -161
  731. package/scripts/verify-tx-status.ts +0 -81
  732. package/scripts/verify_onchain_milestone.ts +0 -114
  733. package/scripts/verify_phase1.ts +0 -66
  734. package/scripts/verify_phase2.ts +0 -66
  735. package/sdk_experiment_data.csv +0 -4
  736. package/simple-test-paymaster.sh +0 -2
  737. package/simple-test-superpaymaster.sh +0 -1
  738. package/tests/l1-regression.test.ts +0 -458
  739. package/tests/l4-test-anni-gasless.ts +0 -105
  740. package/tests/l4-test-jason1-gasless.ts +0 -150
  741. package/tests/l4-test-jason2-gasless.ts +0 -174
  742. package/tests/l4-test-pmv4-deposit.ts +0 -111
  743. package/tests/l4-test-pmv4-gasless.ts +0 -166
  744. package/tests/l4-test-pmv4-submit.ts +0 -223
  745. package/tests/regression/README.md +0 -168
  746. package/tests/regression/config.ts +0 -215
  747. package/tests/regression/display-versions.ts +0 -85
  748. package/tests/regression/index.ts +0 -67
  749. package/tests/regression/l1-tests.ts +0 -267
  750. package/tests/regression/l2-tests.ts +0 -171
  751. package/tests/regression/l3-tests.ts +0 -125
  752. package/tests/regression/l4-gasless.ts +0 -897
  753. package/tests/regression/l4-runner.ts +0 -52
  754. package/tests/reports/phase1_contract_verification.md +0 -45
  755. package/tests/utils/contractVerifier.ts +0 -237
  756. package/tests/utils/userOpHelper.ts +0 -194
  757. package/tsconfig.json +0 -41
  758. package/typedoc.json +0 -59
  759. package/vitest.config.ts +0 -16
  760. /package/{packages/core/src/crypto/index.ts → dist/core/src/crypto/index.d.ts} +0 -0
  761. /package/{packages/paymaster/src/V4/index.ts → dist/paymaster/src/V4/index.d.ts} +0 -0
  762. /package/{packages/sdk/examples → examples}/config.json +0 -0
  763. /package/{packages/sdk/examples → examples}/regression_test.ts +0 -0
@@ -1,454 +0,0 @@
1
- # L4 无 Gas 交易验证测试计划 (L4 Gasless Transaction Verification Plan)
2
-
3
- 本文档详细描述了在 Sepolia和其他网络参数的验证无 Gas 交易(Gasless Transactions)的详细步骤和要求。
4
- 一些信息和要求:
5
- 1. L4是run_sdk_regression.sh 整体回归脚本的一部分,完成gasless的账户数据check和准备和交易测试。
6
- 2. 所有私钥、RPC等私密信息,来自于根目录的.env.sepolia(或者对应的网络,例如.env.op-sepolia, .env.mainnet, .env.anvil)
7
- 3. 使用SDK 提供的合约ABI(来源是根目录的abis)
8
- 4. 所有合约地址来自于根目录的config.sepolia.json(或者对应的config.network.json),包括唯一hash。
9
- 5. 所有L4的数据准备、检查、初始化和交易测试,要求是幂等的,即可以重复执行,不会对系统和要进行的测试计划造成影响。
10
- 6. L4 测试的目标,是使用L1,L2,L3积累和验证过的API(就是根目录的 run_sdk_regression.sh),来完成可重复的gasless交易全过程。
11
- 7. 兼容不同网络参数:sepolia, mainnet, op-sepolia, anvil等等,但是对于anvil,L4模拟entrypoint和useroperation有一定限制,我建议L4跳过anvil的测试,你来评估是否合理。
12
- 8. 检查、生成和初始化,然后记录log或者config并输出测试准备结果
13
- 9. 如果API没有需要的能力,则添加API,全部使用API能力完成数据准备校验初始化和gasless交易全过程。
14
- 10. 如果API报错,则修复,全部使用API能力
15
- 11. 可以参考SDK的ABI和合约代码来调试
16
- 12. 语义化函数名,避免类似getBalance, deposit, withdraw, mint, burn等太通用的函数名,使用反映业务场景的名字,例depositAPNTsToSuperPaymaster,当然不一定这个名字,但要语义化,场景匹配。
17
- ## 1. 测试账户准备 (Test Accounts)
18
-
19
- 需要在 `.env.sepolia` 中配置以下账户私钥:
20
-
21
- 1. **供应商账户 (Supplier)**
22
- * **Env Var**: `PRIVATE_KEY_SUPPLIER`
23
- * **用途**: 提供测试 ETH (ETH Supplier),同时也是 GToken 合约的所有者 (Owner)。
24
-
25
- 2. **社区运营者 (Operators - EOAs)**
26
- * 需在 `.env.sepolia` 中添加以下私钥 (如果不存在则生成):
27
- * `PRIVATE_KEY_JASON` (Admin for AAStar Community) -> 负责部署 aPNTs
28
- * `PRIVATE_KEY_BOB` (Admin for Bread Community) -> 负责部署 bPNTs
29
- * `PRIVATE_KEY_ANNI` (Admin for Demo Community) -> 负责部署 cPNTs & SuperPaymaster 操作
30
-
31
- 3. **测试 AA 账户 (AA Users)**
32
- * **生成方式**: 使用 Jason, Bob, Anni 的私钥作为 Signer 生成 EntryPoint v0.7 兼容的 Smart Accounts。
33
- * **数量**: 6 个 (每个 Operator 对应 2 个,或者混合使用)。
34
-
35
- ## 2. 环境初始化要求 (Initialization Requirements)
36
-
37
- 这些步骤作为“一次性准备工作”运行(One-time Setup),将通过 `scripts/l4-setup.ts` 完成。
38
-
39
- ### 2.1 资金分发 (Funding)
40
- 1. **GToken 分发**: 使用 Supplier Key (Owner) 铸造 (Mint) GToken:
41
- * 给 **Jason**: 100,000 GToken (Stake for PaymasterV4)
42
- * 给 **Bob**: 100,000 GToken (Stake for PaymasterV4)
43
- * 给 **Anni**: **200,000 GToken** (100k for Community Stake + Extra for SuperPaymaster Stake/Deposit)
44
- 2. **ETH 分发**: 使用 Supplier Key 发送测试 ETH 给 3 个 Operator (确保足够 Gas 用于部署合约)。
45
-
46
- ### 2.2 社区与代币启动 (Community & Token Launch)
47
- 1. **AAStar Community (Jason)**
48
- * 注册社区。
49
- * 部署社区代币 **aPNTs**。
50
- * 部署 **PaymasterV4** (常规 Paymaster)。
51
- * **Action**: Mint 100,000 aPNTs 给 Anni (用于 Anni 的 SuperPaymaster 存款)。
52
- 2. **Bread Community (Bob)**
53
- * 注册社区。
54
- * 部署社区代币 **bPNTs**。
55
- * 部署 **PaymasterV4** (常规 Paymaster,接受 bPNTs)。
56
- 3. **Demo Community (Anni)**
57
- * 注册社区。
58
- * 部署社区代币 **cPNTs**。
59
-
60
- ### 2.3 Paymaster 启动
61
- 1. **Launch PaymasterV4s**: 确保 Jason 和 Bob 的 PaymasterV4 已部署并存入 ETH (Gas) 和 GToken (Stake)。
62
- 2. **Launch SuperPaymasterV3**: 确保系统中有两个 SuperPaymasterV3 实例(只需在 Registry 注册)。
63
- 3. **Anni's SuperPaymaster Setup**:
64
- * Anni 使用额外 GToken 和 ETH 注册/启动一个 SuperPaymaster。
65
- * Anni 将 **aPNTs** (来自 Jason) 存入 SuperPaymaster 作为 Credit (Deposit)。这是 SuperPaymaster 在全局账本中的抵押品。
66
-
67
- ## 3. L4 无 Gas 交易测试场景 (Test Scenarios)
68
-
69
- ### 3.1 预备步骤 (Preparation for AA)
70
- 1. **GToken Mint**: 给所有 测试 AA 账户 Mint 1,000 GToken (Source: Supplier)。
71
- 2. **xPNTs Mint**: 使用对应的 Operator 给相关 AA 账户 Mint 10,000 个 aPNTs, bPNTs, cPNTs。
72
- 3. **SBT & Deposit**:
73
- * 确保所有 AA 账户拥有 MySBT (通过注册任意社区获取)。
74
- * 确保所有 AA 账户已存入 10,000 xPNTs 到对应的代币合约/社区 (Deposit)。
75
-
76
- ### 3.2 社区注册测试 (Community Registration via AA)
77
- 使用生成的 AA 账户测试注册流程:
78
- 1. **Case 1 (With ETH)**: 账户有测试 ETH -> 注册成功。
79
- 2. **Case 2 (Gasless)**: 账户无测试 ETH -> 注册成功 (使用 Paymaster)。
80
- 3. **Case 3 (First Time)**: 首次注册。
81
- 4. **Case 4 (Re-register)**: 二次注册 (Re-register)。
82
- 5. **Case 5 (Idempotency)**: 三次注册 (检查幂等性)。
83
-
84
- ### 3.3 PaymasterV4 交易 (常规代币 Gas)
85
- 1. **AAStar Paymaster (aPNTs)**:
86
- * AA 账户 (Signer: Jason/Anni) 使用 **aPNTs** 支付 Gas。
87
- * 通过 AAStar 的 PaymasterV4 发起交易。
88
- * 验证:成功,扣除 AA 的 aPNTs。
89
- 2. **Bread Paymaster (bPNTs)**:
90
- * AA 账户使用 **bPNTs** 支付 Gas。
91
- * 通过 Bread Community 的 PaymasterV4 发起交易。
92
- * 验证:成功,扣除 AA 的 bPNTs。
93
-
94
- ### 3.4 SuperPaymasterV3 交易 (Demo Community - Credit System)
95
- 目标:测试信用 (Credit)、债务 (Debt) 和 偿还 (Repayment) 逻辑。
96
- 配置:Demo Community Operator (Anni) 部署的 SuperPaymaster。
97
-
98
- 1. **Tx 1: cPNTs Payment (Normal)**:
99
- * AA 账户使用 **cPNTs** 支付。
100
- * 发起 Gasless 交易。
101
- * 验证:
102
- * AA 的 cPNTs 余额减少。
103
- * SuperPaymaster 内 Demo Community 的 **aPNTs** 余额减少 (底层支付)。
104
-
105
- 2. **Tx 2: Insufficient cPNTs (Credit & Debt Test)**:
106
- * **场景**: AA 账户没有足够的 cPNTs。
107
- * **前提**: 账户拥有足够的 Reputation。
108
- * **执行**: 连续发起 3 次交易。
109
- * **预期**:
110
- * 系统给予 3 次免费交易额度 (Credit)。
111
- * 交易全部成功。
112
- * **关键验证**: 每次交易都在 cPNTs 合约中记录了 AA 的 **债务 (Debt)**,因为使用了 Credit。
113
-
114
- 3. **Tx 3: Run out of Credit (Blacklist/Limit)**:
115
- * **场景**: 用完 3 次免费额度,继续尝试第 4 次交易。
116
- * **预期**: 交易失败 (run out of credit),或者被列入黑名单。
117
-
118
- 4. **Tx 4: Repayment**:
119
- * **场景**: AA 账户充值 cPNTs。
120
- * **预期**: 系统自动优先偿还债务 (Pay Debt First)。检查余额是否正确反映了 (充值金额 - 债务)。
121
-
122
- ## 4. 后续步骤
123
- * 编写 `scripts/l4-setup.ts` 自动化上述初始化。
124
- * 编写 `tests/regression/l4-gasless.ts` 执行上述测试用例。
125
- *
126
-
127
- 补充:
128
- xPNTsFactory合约初始化会设置SuperPaymaster内置为超级账户,可以直接从任意xPNTsFactory部署的xPNTs合约转账gas需要的xPNTs到自己的账户,不用approve。不过也提供了安全校验,只能用来转gas费用。
129
-
130
-
131
- ## 规则补充
132
- 以下规则在aastar-sdk 项目生效
133
- 第一,禁止创建便利性的脚本或者临时性的脚本用来什么检查余额、部署token、资助账户,这些都禁止,如果需要便利性脚本,参考第二条
134
- 第二,所有过程必须使用使用我们的API,我们API有L1L2L3级别的API,都封装了基础能力,你为什么不用API,需要便利性脚本了,在test,utils模块下新增工具api,转化为可重复使用的api,为全回归测试做准备
135
- 第三个,禁止产生任何编译的过程文件(如 .js, .d.ts, .map)。如果运行 ts 脚本,**必须使用 `npx tsx` 直接运行**,**绝不执行 `tsc` 或其他会产生文件的编译命令**。如果不慎产生,必须随后立即清理。
136
- 第四,所有的环境变量配置,在根目录的.env.sepolia(不同网络,不同配置名称,例如.env.anvil, .env.op-sepolia, .env.mainnet,目前我们重点是在sepolia跑通全回归测试)。
137
- 第五,全回归测试必须包含三个阶段,必须一步步完成,禁止未完成第一阶段,进入第二阶段,以此类推。
138
- 其中,第一阶段,定义为合约环境检查,第二阶段,定义为初始化账户(EOA和AA)、社区、token、paymaster和superpaymaster,第三阶段,准备forge script dry run测试useroperation是否合格,然后测试和fix,完成gasless测试。
139
- 以上所有阶段的实现,都在L4 test脚本实现,通过组织和调用L1,L2,L3的sdk api,实现关键动作,禁止借助外部临时api完成,任何步骤没有api实现了,check后可以新增api,原则参考第二条规则, 最后无法完成的,抛出报错。
140
- ------
141
- 以上规则的详细版本,在docs/Verifier_L4_Gasless_Plan.md,此规则为实现gasless回归测试为目标。
142
-
143
-
144
- ## 合约验证
145
- **目标**
146
- 验证所有合约地址是否是最新版本,合约名称,版本号,部署日期,合约地址,都要输出和明确展示,验证是否完成了相互之间的依赖初始化。
147
- 以上需要统计合约数量(指的是由本项目开发的合约和依赖合约),目前有如下合约:
148
- 1. Registry 60 functions,全局注册表合约
149
- 2. SuperPaymaster 58 functions,唯一实例的多租户Paymaster,由AAStar社区维护
150
- 3. MySBT 49 functions,全局唯一SBT合约,白板MySBT协议,只有你可以自由涂抹
151
- 4. PaymasterV4_2 48 functions ,模板合约,reg在PaymasterFactory合约一个具体实现
152
- 5. xPNTsToken 37 functions 模板合约,immutable方式固化在了xPNTsFactory合约
153
- 6. GToken 18 functions,基础GToken合约,未来要改进为销售合约
154
- 7. GTokenStaking 28 functions,GToken的质押管理合约
155
- 8. xPNTsFactory 28 functions xPNTs合约注册到工厂,然后通过工厂部署具体实现proxy
156
- 9. PaymasterFactory 24 functions paymaster某版本实现reg到工厂,use工厂部署实现proxy
157
- 10. ReputationSystem 20 functions,信用系统
158
- 11. BLSAggregator 18 functions,BLS聚合器
159
- 12. DVTValidator 15 functions,DVT验证器
160
- 13. BLSValidator 2 functions,BLS验证器合约
161
- -----------------------------------------------------------------
162
- 14. SimpleAccount 17 functions,默认0.7版,外部依赖,符合entrypoint 0.7的合约账户
163
- 15. SimpleAccountV08 17 functions,外部依赖,符合entrypoint 0.8的合约账户
164
- 16. EntryPoint 22 functions,外部依赖,官方entrypoint
165
- 17. Simple7702Account 10 functions,外部依赖,符合entrypoint 0.7的合约账户
166
- 18. SimpleAccountFactory 4 functions,外部依赖,符合entrypoint 0.7的合约账户工厂
167
- 19. SimpleAccountFactoryV08 4 functions,外部依赖,符合entrypoint 0.8的合约账户工厂
168
- 20. SenderCreator 3 functions,外部依赖,部署AA账户的工具合约
169
- 21. UserOperationLib 3 functions,外部依赖,用户操作的工具合约
170
-
171
-
172
-
173
- 基于工厂部署的实例:
174
- 1. aPNTs,基于xpntsFactory部署的标准实现,提供xpnts接口的具体实例,归属于AAStar社区
175
- 2. bPNTs,基于xpntsFactory部署的标准实现,提供xpnts接口的具体实例,归属于Bread社区,以此类推
176
- 3. PaymasterV4_2-Bread,归属于Bread社区,基于paymasterFactory部署的标准实现,提供paymaster接口的具体实例,以此类推
177
- 4. SuperPaymaster,归属于AAStar社区,全局唯一实例,提供superpaymaster服务的多租户合约(这个是特殊实例,只有一个)
178
-
179
- ### 角色和信用等级
180
- 预置角色配置表 (Registry v3.1.1)
181
- 以下是合约构造函数中初始化的核心参数(金额单位均为 GToken/ETH 对应的 18 位小数):
182
-
183
- 角色 (Role ID) 最小质押 (minStake) 进入销毁 (entryBurn) 退出费率 (exitFeeBP) 最小退出费 说明
184
- ROLE_COMMUNITY 30 ETH 3 ETH 500 (5%) 1 ETH 社区运营者基础角色
185
- ROLE_ENDUSER 0.3 ETH 0.05 ETH 1000 (10%) 0.05 ETH 终端用户角色
186
- ROLE_PAYMASTER_SUPER 50 ETH 5 ETH 1000 (10%) 2 ETH 超级支付主角色
187
- ROLE_PAYMASTER_AOA 30 ETH 3 ETH 1000 (10%) 1 ETH 常规 AOA 支付主
188
- ROLE_DVT / ROLE_KMS 30~100 ETH 3~10 ETH 1000 (10%) 1~5 ETH 基础设施节点角色
189
- [!NOTE] bra fee (entryBurn): 注册时立即扣除并销毁的部分。 stakeExit fee (exitFeeBP): 退出角色时从质押余额中扣除的比例(BP 为万分之一)。
190
-
191
- C. 信用分等级与额度 (Credit Tiers)
192
- 系统根据 Reputation 分数自动划分等级,对应不同的 SuperPaymaster 信用额度:
193
-
194
- 等级 (Level) 信誉分阈值 (Reputation) 信用额度 (Credit Limit)
195
- Level 1 < 13 0
196
- Level 2 13 - 33 100 aPNTs
197
- Level 3 34 - 88 300 aPNTs
198
- Level 4 89 - 232 600 aPNTs
199
- Level 5 233 - 609 1000 aPNTs
200
- Level 6 610+ 2000 aPNTs
201
- 这就解释了为什么在 L4 测试中,我们需要先提升 AA 账户的 Reputation,才能触发 SuperPaymaster 的信用支付逻辑。
202
-
203
- ### 验证
204
- 相互之间的依赖是否初始化完成,包括:
205
- 1. GToken是否是immutable变量在GTokenStaking合约中
206
- (Wiring Matrix)
207
- * MySBT -> Registry
208
- *  GTokenStaking -> Registry
209
- *  xPNTsFactory -> SuperPaymaster
210
- * Registry -> ReputationSystem (as Source)
211
- * Registry -> BLSAggregator
212
- * Registry -> BLSValidator
213
- * SuperPaymaster -> xPNTsFactory
214
- * SuperPaymaster -> BLSAggregator
215
- * 依赖的设置分为immutable变量设置和依赖合约地址设置,immutable变量设置在合约初始化时设置,依赖合约地址设置在合约初始化时设置(部署者/管理员调用setter函数)
216
-
217
- 两个方式完成合约验证:到superpaymaster项目目录,运行 forge script scripts/VerifyV3_1_1.s.sol 来验证
218
- 或者到aastar-sdk项目目录,添加checkContract函数(借鉴VerifyV3_1_1.s.sol逻辑,我们重新编写,这个还没做,需要新增checkContract函数),来验证
219
- -------
220
- TX requirements
221
-
222
- L4 test for gasless tx, but you must check the test accounts (EOA account as operators to launch new community and deploy community xPNTs like aPNTs and bPNTs; and as a test receiver, and test AA account with entrpoint 0.7 adaptable) and and requirements(MySBT, bPNTs) and community registered() and
223
-
224
- Test Accounts:
225
-
226
- 1. PRIVATE_KEY_SUPPLIER in .env.sepolia as a Test ETH supplier
227
- 2. 3 EOA as community launcher(operator) : Jason, Bob, Anni, private key in .env.sepolia
228
- 3. 6 AA(entrypoint 0.7) accounts for gasless test, produced by API
229
-
230
- Requirements
231
- 1. Mint GToken(100000, using supplier key, it is also the GToken contract owner) to 3 EOA accounts
232
- 2. Transfer test ETH(using supplier key) to 3 EOA accounts for deployment.
233
- 3. launch three communities and token for test
234
- 1. AAStar Community and aPNTs (Jason)
235
- 2. breadCommunity with bPNTs (Bob)
236
- 3. DemoCommunity with cPNTs (Anni)
237
- 4. Launch two PaymasterV4, new deployment with GToken and test ETH in EOA
238
- 5. Launch two SuperPaymasterV3, just register in registry with with GToken and test ETH
239
- 6. Use Anni to register (launch) a SuperPaymaster with extra GToken and test ETH and 100000 aPNTs in EOA
240
- 1. deposit aPNTs to Super
241
- 7. All above is one time job for our later test, we can make a individual test shell to prepare.
242
- 8. if done this, record all data, contracts, community data, accounts for next step.
243
-
244
- Test 4 kinds of gasless tx:
245
-
246
- 1. Mint GToken to all test AA accounts(1000 is enough) ,use supplier key
247
- 2. Mint a,b,cPNTs to all test AA account(10000 is enough), use the community operator key(Jason, Bob, Anni)
248
- 3. use AA accounts to register different community(above all )
249
- 1. with test ETH
250
- 2. without test ETH
251
- 3. first time register a community
252
- 4. second time
253
- 5. third time
254
- 4. All test AA accounts get MySBT (registered in any community) and deposited xPNTs(a,b, cPNTs) 10000.
255
- 5. Launch a tx in a PaymasterV4 by breadCommunity(they accept bPNTs as gas token).
256
- 1. AA account with apnts, launch gasless tx with aastar’s paymaster V4(deployed by aastar operator)
257
- 2. AA account with bpnts , launch gasless tx with breadCommunity paymaster V4(deployed by breadCommunity operator)
258
- 6. Launch a tx in a SuperPaymasterV3
259
- 1. AA account with cpnts , launch gasless tx with DemoCommunity SuperPaymaster V3(deployed by DemoCommunity operator Anni)
260
- 2. it should deduced aPNTs from DemoCommunity balance in SuperPaymaster
261
- 3. it should
262
- 1. deduce cPNTs from test AA account
263
- 2. if AA account has no cPNTs balance
264
- 3. improve the reputation of test account enough to get credit for 3 free tx
265
- 1. try more tx, it should be put into blacklist (we put it manually for now) and can’t get gasless free tx anymore, it run out the credit.
266
- 5. try again, should record a debt in cPNTs contract
267
- 6. deposit cPNTs to test AA, it should pay debt first, then deposite
268
-
269
-
270
- ---
271
-
272
- ## 5. L4 实现计划 (Implementation Plan)
273
-
274
- ### 5.1 脚本结构
275
-
276
- ```bash
277
- # 1. 环境准备(幂等)
278
- pnpm tsx scripts/l4-setup.ts --network=sepolia
279
-
280
- # 2. Gasless测试
281
- pnpm tsx tests/regression/l4-gasless.ts --network=sepolia
282
-
283
- # 3. 查看状态
284
- cat scripts/l4-state.json
285
- ```
286
-
287
- ### 5.2 l4-setup.ts 数据准备目标
288
-
289
- | 阶段 | 对象 | 目标值 | 说明 |
290
- |------|------|--------|------|
291
- | **Funding** | Jason ETH | ≥0.1 ETH | 部署合约Gas |
292
- | | Bob ETH | ≥0.1 ETH | 部署合约Gas |
293
- | | Anni ETH | ≥0.1 ETH | 部署合约Gas |
294
- | | Jason GToken | 100,000 | PaymasterV4 Stake |
295
- | | Bob GToken | 100,000 | PaymasterV4 Stake |
296
- | | Anni GToken | **200,000** | 100k社区质押+100k SuperPM质押 |
297
- | **社区** | Jason | AAStar社区+aPNTs+PaymasterV4 | |
298
- | | Bob | Bread社区+bPNTs+PaymasterV4 | |
299
- | | Anni | Demo社区+cPNTs+SuperPM Operator | |
300
- | **SuperPM** | Anni aPNTs余额 | **100,000** | Jason mint aPNTs给Anni |
301
- | | Anni SuperPM内余额 | ≥50,000 aPNTs | Anni存入SuperPM的credit |
302
- | **AA账户** | 6个AA | 每个≥0.02 ETH, 1000 GToken | |
303
- | | AA xPNTs | 各10,000 a/b/cPNTs | 用于Gasless测试 |
304
-
305
- ### 5.3 关键修复事项
306
-
307
- 1. **SuperPaymaster.deposit问题**:
308
- - 合约`deposit(uint256 amount)`使用的是`APNTS_TOKEN`(全局aPNTs=`0xBdF389a6e402AF1C0d4A0A45396303dC0b1Cf8d2`)
309
- - 不是Jason的社区aPNTs代币
310
- - SDK需添加`depositAPNTsToSuperPaymaster`语义化函数
311
-
312
- 2. **Token数量调整**:
313
- - GToken: Jason/Bob 100,000, Anni 200,000
314
- - aPNTs from Jason to Anni: 100,000
315
- - SuperPM存入: 50,000 (保留50,000备用)
316
-
317
- 3. **Anvil跳过评估**:
318
- - Anvil本地没有真实Bundler,无法测试完整UserOp流程
319
- - **建议L4跳过Anvil**,仅在Sepolia/OP-Sepolia执行
320
-
321
- ### 5.3 构造UserOp
322
- - 交易内容:从 Jason 的第一个 AA 账户 (Jason_AA1) 向 Bob 的 EOA 地址转移 2 个 bPNTs 代币。
323
- - 签名来源:使用 Jason 的私钥(即 AA 的 Owner)对 UserOp Hash 进行了标准的 signMessage 签名。
324
- - Nonce 处理:通过 SDK 实时获取了最新的 Nonce 值 (当前为 1)。
325
- “UserOperation 构造指南”,内容包括:
326
-
327
- Context: 明确演示背景为从 Jason (AA1) 向 Bob (EOA) 转移 2 个 bPNTs。
328
- 5 种测试场景总结:
329
- NATIVE: 标准 4337,AA 支付 ETH Gas。
330
- GASLESS_V4: PaymasterV4 免 Gas(社区赞助)。
331
- SUPER_BPNT: SuperPaymaster 内部结算 bPNT。
332
- SUPER_CPNT: SuperPaymaster 内部结算 cPNT。
333
- SUPER_CUSTOM: SuperPaymaster 自定义结算。
334
- API 使用范例: 展示了如何通过 UserOpScenarioBuilder 简单调用即可获得符合 Bundler JSON-RPC 规范(Hex 编码)的 UserOp。
335
- 2. 验证结果
336
- 脚本运行结果显示,所有场景的 UserOp Hash 均已成功计算,且签名已由 Jason 的 Owner 私钥完成。输出的 JSON 格式已完全兼容 Alchemy Bundler 等后端的集成
337
-
338
- ### 5.4 l4-gasless.ts 测试场景
339
-
340
- | # | 场景 | Paymaster | 预期 |
341
- |---|------|-----------|------|
342
- | 1 | AA有ETH,直接交易 | 无 | 成功,扣ETH |
343
- | 2 | AA使用aPNTs | PaymasterV4(AAStar) | 成功,扣aPNTs |
344
- | 3 | AA使用bPNTs | PaymasterV4(Bread) | 成功,扣bPNTs |
345
- | 4 | AA使用cPNTs | SuperPM(Demo) | 成功,扣cPNTs,Anni aPNTs余额减少 |
346
- | 5 | AA无cPNTs有信用 | SuperPM(Demo) | 成功,记录债务 |
347
- | 6 | 信用耗尽 | SuperPM(Demo) | 失败,黑名单 |
348
- | 7 | 充值cPNTs | - | 优先还债 |
349
-
350
- ### 5.5 状态输出 (l4-state.json)
351
-
352
- ```json
353
- {
354
- "network": "sepolia",
355
- "timestamp": "2026-01-06T20:30:00Z",
356
- "operators": {
357
- "jason": { "address": "0x...", "community": true, "token": "0x...", "paymasterV4": "0x..." },
358
- "bob": { "address": "0x...", "community": true, "token": "0x...", "paymasterV4": "0x..." },
359
- "anni": { "address": "0x...", "community": true, "token": "0x...", "superPM": { "balance": "50000" } }
360
- },
361
- "aaAccounts": [
362
- { "label": "Jason_AA1", "address": "0x...", "eth": "0.02", "gToken": "1000", "registered": true }
363
- ],
364
- "readyForGaslessTest": true
365
- }
366
- ```
367
-
368
- ---
369
-
370
- ## 6. L4-Setup SDK API 使用清单
371
-
372
- ### 6.1 API 覆盖率审查
373
-
374
- `l4-setup.ts` 脚本已完全基于 SDK API 实现,无直接合约调用(`writeContract`)。
375
-
376
- | 步骤 | 操作 | 使用的 SDK API | 文件位置 | 状态 |
377
- |------|------|---------------|---------|------|
378
- | **1. Community 注册** | 注册 ROLE_COMMUNITY | `CommunityClient.registerAsCommunity()` | `packages/community` | ✅ 完整 |
379
- | **2. Token 部署** | 部署 xPNTs 社区代币 | `xPNTsFactoryActions.createToken()` | `packages/core/actions` | ✅ 完整 |
380
- | **3. Paymaster V4 部署** | 部署并注册 Paymaster V4 + Owner 验证 | `PaymasterOperatorClient.deployAndRegisterPaymasterV4()` | `packages/operator` | ✅ 已增强验证 |
381
- | **4. AA 账户部署** | 部署 SimpleAccount v0.7 | `accountFactoryActions.createAccount()` | `packages/core/actions` | ✅ 完整 |
382
- | **5. Token Mint** | Mint Token 到指定地址 | `tokenActions().mint()` | `packages/core/actions` | ✅ 完整 |
383
- | **6. Token Approve** | Approve Token 给 Spender | `tokenActions().approve()` | `packages/core/actions` | ✅ 完整 |
384
- | **7. SuperPaymaster 充值** | 向 SuperPaymaster 充值 aPNTs | `superPaymasterActions().depositAPNTs()` | `packages/core/actions` | ✅ 完整 |
385
- | **8. Paymaster Owner 验证** | 验证 Paymaster 初始化状态 | `publicClient.readContract()` + PaymasterABI | `scripts/l4-setup.ts` | ✅ 新增防御 |
386
-
387
- ### 6.2 关键增强
388
-
389
- #### 6.2.1 Paymaster Owner 验证
390
-
391
- 在 `PaymasterOperatorClient.deployAndRegisterPaymasterV4()` 中增加了 SDK 级别的 owner 验证:
392
-
393
- ```typescript
394
- // 部署完成后立即验证 owner
395
- const actualOwner = await publicClient.readContract({
396
- address: paymasterAddress,
397
- abi: PaymasterABI,
398
- functionName: 'owner'
399
- });
400
-
401
- if (actualOwner !== expectedOwner) {
402
- throw new Error(
403
- `Critical: Paymaster owner mismatch!\n` +
404
- ` Expected: ${expectedOwner}\n` +
405
- ` Actual: ${actualOwner}\n` +
406
- ` DO NOT USE THIS PAYMASTER!`
407
- );
408
- }
409
- ```
410
-
411
- **防御效果**:
412
- - ✅ 阻止使用未正确初始化的 Paymaster
413
- - ✅ 及时发现部署问题
414
- - ✅ 防止 owner 被抢跑(虽然 Factory 是原子操作,理论上不会发生)
415
-
416
- #### 6.2.2 Charlie 测试验证
417
-
418
- 通过新增 Charlie(第 4 个 operator)验证修复效果:
419
-
420
- ```
421
- 📝 Registering Community for Charlie (Test)...
422
- 🏭 Deploying dPNTs for Charlie (Test)...
423
- ⛽ Deploying Paymaster V4 for Charlie (Test)...
424
- Deploying Paymaster v4.2...
425
- 🔍 Verifying Paymaster initialization...
426
- ✅ Owner verified: 0x4F0b7d0EaD970f6573FEBaCFD0Cd1FaB3b64870D
427
- ```
428
-
429
- **结果**:
430
- - ✅ 使用纯 SDK API 部署
431
- - ✅ Owner 正确设置(Charlie 地址)
432
- - ✅ 证明修复后的 API 不会出现 0x000 owner 问题
433
-
434
- ### 6.3 API 设计原则
435
-
436
- 1. **封装性**:所有链上操作通过 SDK Actions 封装,脚本层不直接调用合约
437
- 2. **验证性**:关键操作后自动验证状态(如 owner、balance)
438
- 3. **容错性**:自动检查前置条件,避免重复部署
439
- 4. **可观察性**:清晰的日志输出,便于调试
440
-
441
- ### 6.4 后续优化方向
442
-
443
- 1. **合约层防御**(长期):
444
- - 在 `PaymasterFactory.sol` 中添加 owner 强制验证
445
- - 在 `Paymaster.sol` 的 `initialize` 中添加调用者权限控制
446
-
447
- 2. **SDK 层增强**(已完成):
448
- - ✅ 部署后自动验证 owner
449
- - ✅ 提供详细错误信息
450
-
451
- 3. **测试覆盖**:
452
- - ✅ l4-setup.ts 覆盖所有操作流程
453
- - ⏳ 添加单元测试(针对每个 SDK API)
454
-