@aastar/sdk 0.20.3 → 0.20.5

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 (58) hide show
  1. package/README.md +33 -25
  2. package/dist/UserClient-UYIHF6UJ.js +6 -0
  3. package/dist/{UserClient-JMNNZT4P.js.map → UserClient-UYIHF6UJ.js.map} +1 -1
  4. package/dist/account.js +3 -3
  5. package/dist/admin.js +3 -3
  6. package/dist/airaccount.js +1 -4497
  7. package/dist/airaccount.js.map +1 -1
  8. package/dist/channel.js +3 -3
  9. package/dist/{chunk-R2RATIK2.js → chunk-42KVVOOU.js} +9 -9
  10. package/dist/{chunk-R2RATIK2.js.map → chunk-42KVVOOU.js.map} +1 -1
  11. package/dist/{chunk-QNYP7RPI.js → chunk-6UHVUGDT.js} +3 -3
  12. package/dist/{chunk-QNYP7RPI.js.map → chunk-6UHVUGDT.js.map} +1 -1
  13. package/dist/{chunk-YSDWB6DO.js → chunk-FBDMID2J.js} +3 -3
  14. package/dist/{chunk-YSDWB6DO.js.map → chunk-FBDMID2J.js.map} +1 -1
  15. package/dist/{chunk-LNICTATJ.js → chunk-FIS3RUGL.js} +6 -6
  16. package/dist/{chunk-LNICTATJ.js.map → chunk-FIS3RUGL.js.map} +1 -1
  17. package/dist/{chunk-O454V5ML.js → chunk-HNTLDUL7.js} +3 -3
  18. package/dist/{chunk-O454V5ML.js.map → chunk-HNTLDUL7.js.map} +1 -1
  19. package/dist/{chunk-NAPMVAVJ.js → chunk-I3VRFZA4.js} +3 -3
  20. package/dist/{chunk-NAPMVAVJ.js.map → chunk-I3VRFZA4.js.map} +1 -1
  21. package/dist/{chunk-ZJLIKMCA.js → chunk-NRH56SAJ.js} +13 -3
  22. package/dist/chunk-NRH56SAJ.js.map +1 -0
  23. package/dist/{chunk-M5ORP2PM.js → chunk-QJT4IOIS.js} +8 -8
  24. package/dist/{chunk-M5ORP2PM.js.map → chunk-QJT4IOIS.js.map} +1 -1
  25. package/dist/{chunk-TBDMSJVL.js → chunk-TIH7D4FQ.js} +12 -12
  26. package/dist/{chunk-TBDMSJVL.js.map → chunk-TIH7D4FQ.js.map} +1 -1
  27. package/dist/{chunk-KL6SCEIU.js → chunk-VYU6P7HB.js} +4 -4
  28. package/dist/{chunk-KL6SCEIU.js.map → chunk-VYU6P7HB.js.map} +1 -1
  29. package/dist/chunk-WPSWFZKF.js +4499 -0
  30. package/dist/chunk-WPSWFZKF.js.map +1 -0
  31. package/dist/{chunk-5TDDS3T5.js → chunk-ZFIKBDBT.js} +3 -3
  32. package/dist/{chunk-5TDDS3T5.js.map → chunk-ZFIKBDBT.js.map} +1 -1
  33. package/dist/{chunk-Y3KP7R2Y.js → chunk-ZGOEADCO.js} +3 -3
  34. package/dist/{chunk-Y3KP7R2Y.js.map → chunk-ZGOEADCO.js.map} +1 -1
  35. package/dist/{contract-addresses-VLAHHXOO.js → contract-addresses-ADEWLDHE.js} +3 -3
  36. package/dist/{contract-addresses-VLAHHXOO.js.map → contract-addresses-ADEWLDHE.js.map} +1 -1
  37. package/dist/core.js +2 -2
  38. package/dist/dapp.js +3 -3
  39. package/dist/{dist-WMYQOYRO.js → dist-GVWCRI4F.js} +5 -5
  40. package/dist/{dist-WMYQOYRO.js.map → dist-GVWCRI4F.js.map} +1 -1
  41. package/dist/enduser.js +4 -4
  42. package/dist/identity.js +3 -3
  43. package/dist/index.d.ts +1 -0
  44. package/dist/index.js +22 -22
  45. package/dist/index.js.map +1 -1
  46. package/dist/{index.node-GNYPFVZQ.js → index.node-KIKM4EG6.js} +4 -4
  47. package/dist/{index.node-GNYPFVZQ.js.map → index.node-KIKM4EG6.js.map} +1 -1
  48. package/dist/kms.d.ts +2 -0
  49. package/dist/kms.js +5 -0
  50. package/dist/kms.js.map +1 -0
  51. package/dist/operator.js +3 -3
  52. package/dist/paymaster.js +3 -3
  53. package/dist/tokens.js +3 -3
  54. package/dist/x402.js +3 -3
  55. package/package.json +20 -16
  56. package/LICENSE +0 -180
  57. package/dist/UserClient-JMNNZT4P.js +0 -6
  58. package/dist/chunk-ZJLIKMCA.js.map +0 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@ The ultimate TypeScript SDK for the AAstar Protocol - a decentralized, community
4
4
  AAstar 协议的终极 TypeScript SDK —— 构建去中心化、社区驱动的账户抽象生态系统。
5
5
 
6
6
  [![npm version](https://img.shields.io/npm/v/@aastar/sdk.svg)](https://www.npmjs.com/package/@aastar/sdk)
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+ [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
8
8
 
9
9
  ---
10
10
 
@@ -36,7 +36,10 @@ AAstar SDK 提供了一套完整的工具集用于交互 AAstar 协议。它采
36
36
  | `@aastar/sdk/x402` | x402 settlement (x402 结算) |
37
37
  | `@aastar/sdk/channel` | Micro-payment channels (微支付通道) |
38
38
  | `@aastar/sdk/enduser` · `/operator` · `/admin` | Role lifecycle workflows (角色生命周期) |
39
- | `@aastar/sdk/airaccount` | KMS WebAuthn passkeys, BLS aggregate signatures, tiered ERC-4337 accounts (Passkey + BLS + 分层签名) |
39
+ | `@aastar/sdk/kms` | KMS WebAuthn passkeys, BLS aggregate signatures, tiered ERC-4337 accounts (Passkey + BLS + 分层签名) |
40
+
41
+ > 🔄 The `@aastar/sdk/airaccount` subpath is **deprecated** — it still works as an alias of `@aastar/sdk/kms` for one release. Please migrate to `@aastar/sdk/kms`.
42
+ > `@aastar/sdk/airaccount` 子路径已**废弃**,作为 `@aastar/sdk/kms` 的别名再保留一个版本,请尽快迁移到 `@aastar/sdk/kms`。
40
43
 
41
44
  > ⚠️ **`react` / `react-dom` are optional peer deps.** They're only needed for the `@aastar/sdk/dapp`
42
45
  > subpath. The root `import '@aastar/sdk'` and all non-UI subpaths work in Node/server with no React.
@@ -47,16 +50,16 @@ AAstar SDK 提供了一套完整的工具集用于交互 AAstar 协议。它采
47
50
  ## 📦 Installation | 安装
48
51
 
49
52
  ```bash
50
- pnpm add @aastar/sdk viem ethers
53
+ pnpm add @aastar/sdk viem
51
54
  # or
52
- npm install @aastar/sdk viem ethers
55
+ npm install @aastar/sdk viem
53
56
 
54
57
  # Only if you use the React UI subpath (@aastar/sdk/dapp):
55
58
  pnpm add react react-dom
56
59
  ```
57
60
 
58
- > AirAccount / KMS / BLS features are included — no separate install. Import them from `@aastar/sdk/airaccount`.
59
- > AirAccount / KMS / BLS 能力已内置,无需单独安装,从 `@aastar/sdk/airaccount` 导入即可。
61
+ > You only need `@aastar/sdk` + `viem` — all transitive deps install automatically. KMS / WebAuthn / BLS features are bundled in — no separate install. Import them from `@aastar/sdk/kms`.
62
+ > 只需安装 `@aastar/sdk` + `viem`,其余依赖自动带入。KMS / WebAuthn / BLS 能力已内置,无需单独安装,从 `@aastar/sdk/kms` 导入即可。
60
63
 
61
64
  ### Importing | 导入方式
62
65
 
@@ -66,7 +69,7 @@ import { createEndUserClient, createOperatorClient, CANONICAL_ADDRESSES } from '
66
69
 
67
70
  // …or cherry-pick from a subpath to keep bundles lean:
68
71
  import { registryActions } from '@aastar/sdk/core';
69
- import { KmsManager, P256PasskeySigner } from '@aastar/sdk/airaccount';
72
+ import { KmsManager, P256PasskeySigner } from '@aastar/sdk/kms';
70
73
  import { useGasless } from '@aastar/sdk/dapp'; // requires react
71
74
  ```
72
75
 
@@ -74,37 +77,43 @@ import { useGasless } from '@aastar/sdk/dapp'; // requires react
74
77
 
75
78
  ## 🌐 Multi-chain | 多链配置
76
79
 
77
- Contract addresses are keyed by **chainId** in `CANONICAL_ADDRESSES`, so switching chains means
78
- switching the viem `chain` + `transport` and passing the matching address set.
79
- 合约地址在 `CANONICAL_ADDRESSES` 中按 **chainId** 分组,切链 = 切换 viem `chain` + `transport` 并传入对应链的地址集。
80
+ **Switching chains is seamless just pass a viem `chain`.** Contract addresses are auto-resolved
81
+ from `chain.id`, so you never hardcode addresses or memorize chainIds. Use the exact chain objects
82
+ from `viem/chains`.
83
+ 切链是无感的——**只需传入一个 viem `chain`**,合约地址会根据 `chain.id` 自动解析,无需手写地址、无需记 chainId。直接用 `viem/chains` 里的链对象即可。
80
84
 
81
- | Network | chainId | Status |
82
- |---|---|---|
83
- | Optimism (mainnet) | `10` | ✅ deployed |
84
- | Sepolia (testnet) | `11155111` | ✅ deployed (primary test target) |
85
- | OP Sepolia (testnet) | `11155420` | ✅ deployed |
86
- | Ethereum mainnet | `1` | ⏳ not yet deployed |
85
+ | Network | viem chain | chainId | Status |
86
+ |---|---|---|---|
87
+ | Optimism (mainnet) | `optimism` | `10` | ✅ deployed |
88
+ | Sepolia (testnet) | `sepolia` | `11155111` | ✅ deployed (primary test target) |
89
+ | OP Sepolia (testnet) | `optimismSepolia` | `11155420` | ✅ deployed |
90
+ | Ethereum mainnet | `mainnet` | `1` | ⏳ not yet deployed |
87
91
 
88
92
  ```typescript
89
- import { createEndUserClient, CANONICAL_ADDRESSES } from '@aastar/sdk';
93
+ import { createEndUserClient } from '@aastar/sdk';
90
94
  import { sepolia, optimism } from 'viem/chains';
91
95
  import { http } from 'viem';
92
96
 
93
- // Sepolia testnet
97
+ // Sepolia testnet — addresses auto-resolved from sepolia.id
94
98
  const test = createEndUserClient({
95
99
  chain: sepolia,
96
100
  transport: http(process.env.SEPOLIA_RPC_URL),
97
- addresses: CANONICAL_ADDRESSES[11155111],
98
101
  });
99
102
 
100
- // Optimism mainnet — same code, just swap chain + transport + address set
103
+ // Optimism mainnet — same code, just swap chain + transport
101
104
  const prod = createEndUserClient({
102
105
  chain: optimism,
103
106
  transport: http('https://mainnet.optimism.io'),
104
- addresses: CANONICAL_ADDRESSES[10],
105
107
  });
106
108
  ```
107
109
 
110
+ - **Unsupported chain?** If you pass a chain that has no deployment yet (e.g. `mainnet`) and no
111
+ explicit `addresses`, the factory throws a clear error naming the supported chains — no silent
112
+ misconfiguration.
113
+ - **Custom / private deployment?** Override per-call with `addresses: { ... }` (or `CANONICAL_ADDRESSES[chainId]`
114
+ to start from a known set); the explicit value always wins over auto-resolution.
115
+ - 未部署的链(如 `mainnet`)且未显式传 `addresses` 时,工厂会抛出列明受支持链的清晰报错;自定义部署可通过 `addresses` 覆盖,显式值优先。
116
+
108
117
  Helpers for RPC URLs and explorer links live in `@aastar/sdk` too:
109
118
  `getNetwork(name)`, `getRpcUrl(name)`, `getChainId(name)`, `getTxUrl(name, hash)`, `getAddressUrl(name, addr)`.
110
119
 
@@ -131,23 +140,22 @@ Helpers for RPC URLs and explorer links live in `@aastar/sdk` too:
131
140
  import { http } from 'viem';
132
141
  import { privateKeyToAccount } from 'viem/accounts';
133
142
  import { sepolia } from 'viem/chains';
134
- import { createEndUserClient, createOperatorClient, CANONICAL_ADDRESSES } from '@aastar/sdk';
143
+ import { createEndUserClient, createOperatorClient } from '@aastar/sdk';
135
144
 
136
145
  const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
137
146
 
138
147
  // Role-based clients compose viem action factories under the hood.
148
+ // Addresses auto-resolve from chain.id — no `addresses` needed for supported chains.
139
149
  const enduser = createEndUserClient({
140
150
  chain: sepolia,
141
151
  transport: http(process.env.SEPOLIA_RPC_URL),
142
152
  account,
143
- addresses: CANONICAL_ADDRESSES[11155111],
144
153
  });
145
154
 
146
155
  const operator = createOperatorClient({
147
156
  chain: sepolia,
148
157
  transport: http(process.env.SEPOLIA_RPC_URL),
149
158
  account,
150
- addresses: CANONICAL_ADDRESSES[11155111],
151
159
  });
152
160
  ```
153
161
 
@@ -237,7 +245,7 @@ All capabilities are bundled into `@aastar/sdk`; the table below maps each forme
237
245
  | `@aastar/sdk/identity` | Reputation, Credit limits, ZK Proofs |
238
246
  | `@aastar/sdk/paymaster` | EntryPoint & Paymaster low-level API |
239
247
  | `@aastar/sdk/dapp` | React Components & Integration Hooks (needs `react`) |
240
- | `@aastar/sdk/airaccount` | KMS WebAuthn, BLS Signatures, ERC-4337 Tiered Accounts |
248
+ | `@aastar/sdk/kms` | KMS WebAuthn, BLS Signatures, ERC-4337 Tiered Accounts (`/airaccount` = deprecated alias) |
241
249
 
242
250
  ---
243
251
 
@@ -0,0 +1,6 @@
1
+ export { UserClient } from './chunk-FIS3RUGL.js';
2
+ import './chunk-TIH7D4FQ.js';
3
+ import './chunk-NRH56SAJ.js';
4
+ import './chunk-PZ5AY32C.js';
5
+ //# sourceMappingURL=UserClient-UYIHF6UJ.js.map
6
+ //# sourceMappingURL=UserClient-UYIHF6UJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"UserClient-JMNNZT4P.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"UserClient-UYIHF6UJ.js"}
package/dist/account.js CHANGED
@@ -1,6 +1,6 @@
1
- export { UserOpClient, createEOAWalletClient, getUserOpHash, packUserOpLimits, toSimpleSmartAccount } from './chunk-YSDWB6DO.js';
2
- import './chunk-TBDMSJVL.js';
3
- import './chunk-ZJLIKMCA.js';
1
+ export { UserOpClient, createEOAWalletClient, getUserOpHash, packUserOpLimits, toSimpleSmartAccount } from './chunk-FBDMID2J.js';
2
+ import './chunk-TIH7D4FQ.js';
3
+ import './chunk-NRH56SAJ.js';
4
4
  import './chunk-PZ5AY32C.js';
5
5
  //# sourceMappingURL=account.js.map
6
6
  //# sourceMappingURL=account.js.map
package/dist/admin.js CHANGED
@@ -1,6 +1,6 @@
1
- export { ProtocolGovernance } from './chunk-5TDDS3T5.js';
2
- import './chunk-TBDMSJVL.js';
3
- import './chunk-ZJLIKMCA.js';
1
+ export { ProtocolGovernance } from './chunk-ZFIKBDBT.js';
2
+ import './chunk-TIH7D4FQ.js';
3
+ import './chunk-NRH56SAJ.js';
4
4
  import './chunk-PZ5AY32C.js';
5
5
  //# sourceMappingURL=admin.js.map
6
6
  //# sourceMappingURL=admin.js.map