@aastar/sdk 0.20.4 → 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.
- package/README.md +32 -24
- package/dist/UserClient-UYIHF6UJ.js +6 -0
- package/dist/{UserClient-JMNNZT4P.js.map → UserClient-UYIHF6UJ.js.map} +1 -1
- package/dist/account.js +3 -3
- package/dist/admin.js +3 -3
- package/dist/airaccount.js +1 -4497
- package/dist/airaccount.js.map +1 -1
- package/dist/channel.js +3 -3
- package/dist/{chunk-R2RATIK2.js → chunk-42KVVOOU.js} +9 -9
- package/dist/{chunk-R2RATIK2.js.map → chunk-42KVVOOU.js.map} +1 -1
- package/dist/{chunk-QNYP7RPI.js → chunk-6UHVUGDT.js} +3 -3
- package/dist/{chunk-QNYP7RPI.js.map → chunk-6UHVUGDT.js.map} +1 -1
- package/dist/{chunk-YSDWB6DO.js → chunk-FBDMID2J.js} +3 -3
- package/dist/{chunk-YSDWB6DO.js.map → chunk-FBDMID2J.js.map} +1 -1
- package/dist/{chunk-LNICTATJ.js → chunk-FIS3RUGL.js} +6 -6
- package/dist/{chunk-LNICTATJ.js.map → chunk-FIS3RUGL.js.map} +1 -1
- package/dist/{chunk-O454V5ML.js → chunk-HNTLDUL7.js} +3 -3
- package/dist/{chunk-O454V5ML.js.map → chunk-HNTLDUL7.js.map} +1 -1
- package/dist/{chunk-NAPMVAVJ.js → chunk-I3VRFZA4.js} +3 -3
- package/dist/{chunk-NAPMVAVJ.js.map → chunk-I3VRFZA4.js.map} +1 -1
- package/dist/{chunk-ZJLIKMCA.js → chunk-NRH56SAJ.js} +13 -3
- package/dist/chunk-NRH56SAJ.js.map +1 -0
- package/dist/{chunk-M5ORP2PM.js → chunk-QJT4IOIS.js} +8 -8
- package/dist/{chunk-M5ORP2PM.js.map → chunk-QJT4IOIS.js.map} +1 -1
- package/dist/{chunk-TBDMSJVL.js → chunk-TIH7D4FQ.js} +12 -12
- package/dist/{chunk-TBDMSJVL.js.map → chunk-TIH7D4FQ.js.map} +1 -1
- package/dist/{chunk-KL6SCEIU.js → chunk-VYU6P7HB.js} +4 -4
- package/dist/{chunk-KL6SCEIU.js.map → chunk-VYU6P7HB.js.map} +1 -1
- package/dist/chunk-WPSWFZKF.js +4499 -0
- package/dist/chunk-WPSWFZKF.js.map +1 -0
- package/dist/{chunk-5TDDS3T5.js → chunk-ZFIKBDBT.js} +3 -3
- package/dist/{chunk-5TDDS3T5.js.map → chunk-ZFIKBDBT.js.map} +1 -1
- package/dist/{chunk-Y3KP7R2Y.js → chunk-ZGOEADCO.js} +3 -3
- package/dist/{chunk-Y3KP7R2Y.js.map → chunk-ZGOEADCO.js.map} +1 -1
- package/dist/{contract-addresses-VLAHHXOO.js → contract-addresses-ADEWLDHE.js} +3 -3
- package/dist/{contract-addresses-VLAHHXOO.js.map → contract-addresses-ADEWLDHE.js.map} +1 -1
- package/dist/core.js +2 -2
- package/dist/dapp.js +3 -3
- package/dist/{dist-WMYQOYRO.js → dist-GVWCRI4F.js} +5 -5
- package/dist/{dist-WMYQOYRO.js.map → dist-GVWCRI4F.js.map} +1 -1
- package/dist/enduser.js +4 -4
- package/dist/identity.js +3 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +22 -22
- package/dist/index.js.map +1 -1
- package/dist/{index.node-GNYPFVZQ.js → index.node-KIKM4EG6.js} +4 -4
- package/dist/{index.node-GNYPFVZQ.js.map → index.node-KIKM4EG6.js.map} +1 -1
- package/dist/kms.d.ts +2 -0
- package/dist/kms.js +5 -0
- package/dist/kms.js.map +1 -0
- package/dist/operator.js +3 -3
- package/dist/paymaster.js +3 -3
- package/dist/tokens.js +3 -3
- package/dist/x402.js +3 -3
- package/package.json +19 -15
- package/LICENSE +0 -180
- package/dist/UserClient-JMNNZT4P.js +0 -6
- package/dist/chunk-ZJLIKMCA.js.map +0 -1
package/README.md
CHANGED
|
@@ -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/
|
|
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
|
|
53
|
+
pnpm add @aastar/sdk viem
|
|
51
54
|
# or
|
|
52
|
-
npm install @aastar/sdk viem
|
|
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
|
-
>
|
|
59
|
-
>
|
|
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/
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
|
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
|
|
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
|
|
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/
|
|
248
|
+
| `@aastar/sdk/kms` | KMS WebAuthn, BLS Signatures, ERC-4337 Tiered Accounts (`/airaccount` = deprecated alias) |
|
|
241
249
|
|
|
242
250
|
---
|
|
243
251
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"UserClient-
|
|
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-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
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-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
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
|