@sequence0/sdk 1.1.2 → 2.0.0

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 (126) hide show
  1. package/README.md +1 -1
  2. package/dist/chains/algorand.d.ts +44 -0
  3. package/dist/chains/algorand.d.ts.map +1 -0
  4. package/dist/chains/algorand.js +148 -0
  5. package/dist/chains/algorand.js.map +1 -0
  6. package/dist/chains/aptos.d.ts +39 -0
  7. package/dist/chains/aptos.d.ts.map +1 -0
  8. package/dist/chains/aptos.js +168 -0
  9. package/dist/chains/aptos.js.map +1 -0
  10. package/dist/chains/cardano.d.ts +42 -0
  11. package/dist/chains/cardano.d.ts.map +1 -0
  12. package/dist/chains/cardano.js +188 -0
  13. package/dist/chains/cardano.js.map +1 -0
  14. package/dist/chains/cosmos.d.ts +42 -0
  15. package/dist/chains/cosmos.d.ts.map +1 -0
  16. package/dist/chains/cosmos.js +216 -0
  17. package/dist/chains/cosmos.js.map +1 -0
  18. package/dist/chains/dogecoin-litecoin.d.ts +57 -0
  19. package/dist/chains/dogecoin-litecoin.d.ts.map +1 -0
  20. package/dist/chains/dogecoin-litecoin.js +521 -0
  21. package/dist/chains/dogecoin-litecoin.js.map +1 -0
  22. package/dist/chains/ethereum.d.ts.map +1 -1
  23. package/dist/chains/ethereum.js +16 -0
  24. package/dist/chains/ethereum.js.map +1 -1
  25. package/dist/chains/hedera.d.ts +113 -0
  26. package/dist/chains/hedera.d.ts.map +1 -0
  27. package/dist/chains/hedera.js +302 -0
  28. package/dist/chains/hedera.js.map +1 -0
  29. package/dist/chains/icp.d.ts +95 -0
  30. package/dist/chains/icp.d.ts.map +1 -0
  31. package/dist/chains/icp.js +520 -0
  32. package/dist/chains/icp.js.map +1 -0
  33. package/dist/chains/kaspa.d.ts +152 -0
  34. package/dist/chains/kaspa.d.ts.map +1 -0
  35. package/dist/chains/kaspa.js +790 -0
  36. package/dist/chains/kaspa.js.map +1 -0
  37. package/dist/chains/multiversx.d.ts +143 -0
  38. package/dist/chains/multiversx.d.ts.map +1 -0
  39. package/dist/chains/multiversx.js +524 -0
  40. package/dist/chains/multiversx.js.map +1 -0
  41. package/dist/chains/near.d.ts +40 -0
  42. package/dist/chains/near.d.ts.map +1 -0
  43. package/dist/chains/near.js +170 -0
  44. package/dist/chains/near.js.map +1 -0
  45. package/dist/chains/polkadot.d.ts +43 -0
  46. package/dist/chains/polkadot.d.ts.map +1 -0
  47. package/dist/chains/polkadot.js +179 -0
  48. package/dist/chains/polkadot.js.map +1 -0
  49. package/dist/chains/ripple.d.ts +41 -0
  50. package/dist/chains/ripple.d.ts.map +1 -0
  51. package/dist/chains/ripple.js +190 -0
  52. package/dist/chains/ripple.js.map +1 -0
  53. package/dist/chains/stellar.d.ts +40 -0
  54. package/dist/chains/stellar.d.ts.map +1 -0
  55. package/dist/chains/stellar.js +156 -0
  56. package/dist/chains/stellar.js.map +1 -0
  57. package/dist/chains/sui.d.ts +44 -0
  58. package/dist/chains/sui.d.ts.map +1 -0
  59. package/dist/chains/sui.js +157 -0
  60. package/dist/chains/sui.js.map +1 -0
  61. package/dist/chains/tezos.d.ts +43 -0
  62. package/dist/chains/tezos.d.ts.map +1 -0
  63. package/dist/chains/tezos.js +162 -0
  64. package/dist/chains/tezos.js.map +1 -0
  65. package/dist/chains/ton.d.ts +40 -0
  66. package/dist/chains/ton.d.ts.map +1 -0
  67. package/dist/chains/ton.js +168 -0
  68. package/dist/chains/ton.js.map +1 -0
  69. package/dist/chains/tron.d.ts +41 -0
  70. package/dist/chains/tron.d.ts.map +1 -0
  71. package/dist/chains/tron.js +124 -0
  72. package/dist/chains/tron.js.map +1 -0
  73. package/dist/core/atomic.d.ts +76 -0
  74. package/dist/core/atomic.d.ts.map +1 -0
  75. package/dist/core/atomic.js +39 -0
  76. package/dist/core/atomic.js.map +1 -0
  77. package/dist/core/client.d.ts +238 -0
  78. package/dist/core/client.d.ts.map +1 -1
  79. package/dist/core/client.js +536 -4
  80. package/dist/core/client.js.map +1 -1
  81. package/dist/core/delegation.d.ts +184 -0
  82. package/dist/core/delegation.d.ts.map +1 -0
  83. package/dist/core/delegation.js +37 -0
  84. package/dist/core/delegation.js.map +1 -0
  85. package/dist/core/programmable.d.ts +66 -0
  86. package/dist/core/programmable.d.ts.map +1 -0
  87. package/dist/core/programmable.js +36 -0
  88. package/dist/core/programmable.js.map +1 -0
  89. package/dist/core/solvency.d.ts +223 -0
  90. package/dist/core/solvency.d.ts.map +1 -0
  91. package/dist/core/solvency.js +267 -0
  92. package/dist/core/solvency.js.map +1 -0
  93. package/dist/core/types.d.ts +172 -1
  94. package/dist/core/types.d.ts.map +1 -1
  95. package/dist/core/universal-account.d.ts +438 -0
  96. package/dist/core/universal-account.d.ts.map +1 -0
  97. package/dist/core/universal-account.js +597 -0
  98. package/dist/core/universal-account.js.map +1 -0
  99. package/dist/core/witness.d.ts +197 -0
  100. package/dist/core/witness.d.ts.map +1 -0
  101. package/dist/core/witness.js +298 -0
  102. package/dist/core/witness.js.map +1 -0
  103. package/dist/erc4337/types.js +2 -2
  104. package/dist/index.d.ts +30 -2
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +91 -4
  107. package/dist/index.js.map +1 -1
  108. package/dist/settlement/settlement.d.ts +152 -0
  109. package/dist/settlement/settlement.d.ts.map +1 -0
  110. package/dist/settlement/settlement.js +172 -0
  111. package/dist/settlement/settlement.js.map +1 -0
  112. package/dist/utils/eip712.js +2 -2
  113. package/dist/utils/fee.d.ts +2 -2
  114. package/dist/utils/fee.js +2 -2
  115. package/dist/utils/optional-deps.d.ts +9 -0
  116. package/dist/utils/optional-deps.d.ts.map +1 -0
  117. package/dist/utils/optional-deps.js +21 -0
  118. package/dist/utils/optional-deps.js.map +1 -0
  119. package/dist/utils/validation.d.ts.map +1 -1
  120. package/dist/utils/validation.js +6 -1
  121. package/dist/utils/validation.js.map +1 -1
  122. package/dist/wallet/wallet.d.ts +52 -0
  123. package/dist/wallet/wallet.d.ts.map +1 -1
  124. package/dist/wallet/wallet.js +265 -33
  125. package/dist/wallet/wallet.js.map +1 -1
  126. package/package.json +35 -1
@@ -10,7 +10,7 @@
10
10
  * expects back a 0x-prefixed hex string of the 65-byte compact signature.
11
11
  */
12
12
  export type OwnerSigner = (messageHash: Uint8Array) => Promise<string>;
13
- export type Chain = 'ethereum' | 'polygon' | 'bsc' | 'avalanche' | 'fantom' | 'gnosis' | 'celo' | 'cronos' | 'moonbeam' | 'moonriver' | 'harmony' | 'kava' | 'canto' | 'aurora' | 'klaytn' | 'okc' | 'fuse' | 'evmos' | 'core' | 'flare' | 'iotex' | 'rootstock' | 'telos' | 'thundercore' | 'arbitrum' | 'optimism' | 'base' | 'zksync' | 'scroll' | 'linea' | 'mantle' | 'blast' | 'mode' | 'manta' | 'polygon-zkevm' | 'metis' | 'zora' | 'sei' | 'boba' | 'taiko' | 'opbnb' | 'fraxtal' | 'worldchain' | 'lisk' | 'redstone' | 'cyber' | 'mint' | 'bob' | 'xai' | 'morph' | 'astar-zkevm' | 'bitcoin' | 'solana' | 'cosmos' | 'near' | 'sui' | 'aptos' | 'polkadot' | 'cardano' | 'tron' | 'dogecoin' | 'litecoin' | 'stellar' | 'ton' | 'algorand' | 'tezos' | 'ripple';
13
+ export type Chain = 'ethereum' | 'polygon' | 'bsc' | 'avalanche' | 'fantom' | 'gnosis' | 'celo' | 'cronos' | 'moonbeam' | 'moonriver' | 'harmony' | 'kava' | 'canto' | 'aurora' | 'klaytn' | 'okc' | 'fuse' | 'evmos' | 'core' | 'flare' | 'iotex' | 'rootstock' | 'telos' | 'thundercore' | 'arbitrum' | 'optimism' | 'base' | 'zksync' | 'scroll' | 'linea' | 'mantle' | 'blast' | 'mode' | 'manta' | 'polygon-zkevm' | 'metis' | 'zora' | 'sei' | 'boba' | 'taiko' | 'opbnb' | 'fraxtal' | 'worldchain' | 'lisk' | 'redstone' | 'cyber' | 'mint' | 'bob' | 'xai' | 'morph' | 'astar-zkevm' | 'berachain' | 'sonic' | 'abstract' | 'ink' | 'unichain' | 'soneium' | 'gravity' | 'zklink-nova' | 'bitcoin' | 'solana' | 'cosmos' | 'near' | 'sui' | 'aptos' | 'polkadot' | 'cardano' | 'tron' | 'dogecoin' | 'litecoin' | 'stellar' | 'ton' | 'algorand' | 'tezos' | 'ripple' | 'bitcoincash' | 'bitcoinsv' | 'multiversx' | 'kaspa' | 'hedera' | 'icp';
14
14
  export interface NetworkConfig {
15
15
  /** Network: 'testnet' or 'mainnet' */
16
16
  network: 'testnet' | 'mainnet';
@@ -54,6 +54,17 @@ export interface NetworkConfig {
54
54
  * Does not affect explicitly-provided `agentUrl`.
55
55
  */
56
56
  useHttps?: boolean;
57
+ /**
58
+ * Optional: delegate's private key for signing as a delegated authority.
59
+ * When provided along with `delegationId`, signing requests use
60
+ * `delegation_id` and `delegate_signature` instead of `owner_signature`.
61
+ */
62
+ delegatePrivateKey?: string;
63
+ /**
64
+ * Optional: delegation grant ID for delegate signing.
65
+ * Must be provided together with `delegatePrivateKey`.
66
+ */
67
+ delegationId?: string;
57
68
  }
58
69
  /** Agent node info from on-chain registry */
59
70
  export interface AgentInfo {
@@ -204,5 +215,165 @@ export interface ChainAdapter {
204
215
  getBalance(address: string): Promise<string>;
205
216
  /** Get chain-specific RPC URL */
206
217
  getRpcUrl(): string;
218
+ /** Extract the signing payload from buildTransaction() output. If not implemented, the full output is used. */
219
+ getSigningPayload?(unsignedTx: string): string;
220
+ }
221
+ export interface CosmosTransaction {
222
+ /** Recipient bech32 address */
223
+ to: string;
224
+ /** Amount in base denom (e.g. uatom) */
225
+ amount: string;
226
+ /** Token denom (default: 'uatom') */
227
+ denom?: string;
228
+ /** Gas limit (default: '200000') */
229
+ gas?: string;
230
+ /** Cosmos chain ID (e.g. 'cosmoshub-4') */
231
+ chainId?: string;
232
+ /** TX memo */
233
+ memo?: string;
234
+ }
235
+ export interface TronTransaction {
236
+ /** Recipient T-address */
237
+ to: string;
238
+ /** Amount in SUN (1 TRX = 1e6 SUN) */
239
+ amount: number;
240
+ }
241
+ export interface RippleTransaction {
242
+ /** Recipient r-address */
243
+ to: string;
244
+ /** Amount in drops (1 XRP = 1e6 drops) */
245
+ amount: string;
246
+ /** Destination tag (for exchanges) */
247
+ tag?: number;
248
+ /** Fee in drops */
249
+ fee?: string;
250
+ }
251
+ export interface NearTransaction {
252
+ /** Receiver account ID (e.g. 'bob.near') */
253
+ to: string;
254
+ /** Amount in yoctoNEAR (1 NEAR = 1e24 yoctoNEAR) */
255
+ amount: string;
256
+ }
257
+ export interface SuiTransaction {
258
+ /** Recipient address (0x...) */
259
+ to: string;
260
+ /** Amount in MIST (1 SUI = 1e9 MIST) */
261
+ amount: string;
262
+ }
263
+ export interface AptosTransaction {
264
+ /** Recipient address (0x...) */
265
+ to: string;
266
+ /** Amount in Octas (1 APT = 1e8 Octas) */
267
+ amount: string;
268
+ }
269
+ export interface StellarTransaction {
270
+ /** Recipient G-address */
271
+ to: string;
272
+ /** Amount in stroops (1 XLM = 1e7 stroops) */
273
+ amount: string;
274
+ /** TX memo */
275
+ memo?: string;
276
+ }
277
+ export interface TonTransaction {
278
+ /** Recipient EQ.../UQ... address */
279
+ to: string;
280
+ /** Amount in nanotons (1 TON = 1e9 nanotons) */
281
+ amount: string;
282
+ /** Optional comment/payload */
283
+ payload?: string;
284
+ }
285
+ export interface AlgorandTransaction {
286
+ /** Recipient base32 address */
287
+ to: string;
288
+ /** Amount in microAlgos (1 ALGO = 1e6 microAlgos) */
289
+ amount: number;
290
+ /** Optional note */
291
+ note?: string;
292
+ }
293
+ export interface TezosTransaction {
294
+ /** Recipient tz/KT address */
295
+ to: string;
296
+ /** Amount in mutez (1 XTZ = 1e6 mutez) */
297
+ amount: string;
298
+ }
299
+ export interface CardanoTransaction {
300
+ /** Recipient addr1... address */
301
+ to: string;
302
+ /** Amount in lovelace (1 ADA = 1e6 lovelace) */
303
+ amount: string;
304
+ }
305
+ export interface PolkadotTransaction {
306
+ /** Recipient SS58 address */
307
+ to: string;
308
+ /** Amount in planck (1 DOT = 1e10 planck) */
309
+ amount: string;
310
+ }
311
+ export interface DogeTransaction {
312
+ /** Recipient address */
313
+ to: string;
314
+ /** Amount in koinu (1 DOGE = 1e8 koinu) */
315
+ amount: number;
316
+ /** Fee rate in koinu/byte */
317
+ feeRate?: number;
318
+ }
319
+ export interface LtcTransaction {
320
+ /** Recipient address */
321
+ to: string;
322
+ /** Amount in litoshi (1 LTC = 1e8 litoshi) */
323
+ amount: number;
324
+ /** Fee rate in litoshi/byte */
325
+ feeRate?: number;
326
+ }
327
+ export interface BchTransaction {
328
+ /** Recipient address */
329
+ to: string;
330
+ /** Amount in satoshis (1 BCH = 1e8 satoshis) */
331
+ amount: number;
332
+ /** Fee rate in sat/byte */
333
+ feeRate?: number;
334
+ }
335
+ export interface BsvTransaction {
336
+ /** Recipient address */
337
+ to: string;
338
+ /** Amount in satoshis (1 BSV = 1e8 satoshis) */
339
+ amount: number;
340
+ /** Fee rate in sat/byte */
341
+ feeRate?: number;
342
+ }
343
+ export interface MultiversXTransaction {
344
+ /** Recipient erd1... bech32 address */
345
+ to: string;
346
+ /** Amount in atomic EGLD (1 EGLD = 1e18) */
347
+ amount: string;
348
+ /** Optional TX data */
349
+ data?: string;
350
+ /** Gas limit */
351
+ gasLimit?: number;
352
+ }
353
+ export interface KaspaTransaction {
354
+ /** Recipient kaspa:... address */
355
+ to: string;
356
+ /** Amount in sompi (1 KAS = 1e8 sompi) */
357
+ amount: number;
358
+ /** Fee rate in sompi/gram */
359
+ feeRate?: number;
360
+ }
361
+ export interface HederaTransaction {
362
+ /** Recipient 0.0.XXXXX account ID */
363
+ to: string;
364
+ /** Amount in tinybars (1 HBAR = 1e8 tinybars) */
365
+ amount: string;
366
+ /** TX memo */
367
+ memo?: string;
368
+ }
369
+ export interface IcpTransaction {
370
+ /** Recipient principal or account ID */
371
+ to: string;
372
+ /** Amount in e8s (1 ICP = 1e8 e8s) */
373
+ amount: string;
374
+ /** Optional memo */
375
+ memo?: bigint;
376
+ /** Fee in e8s */
377
+ fee?: string;
207
378
  }
208
379
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,438 @@
1
+ /**
2
+ * K7: Universal Account — One Wallet, All Chains
3
+ *
4
+ * A single account identity that works across all 81 supported chains.
5
+ * Threshold keys (secp256k1 + ed25519) are generated once, and chain-
6
+ * specific addresses are derived deterministically. Send any token on
7
+ * any chain from one unified account, with automatic routing to the
8
+ * optimal source chain.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { UniversalAccountClient } from '@sequence0/sdk';
13
+ *
14
+ * const ua = new UniversalAccountClient('http://agent:8080');
15
+ *
16
+ * // Create a universal account
17
+ * const account = await ua.createAccount({
18
+ * ownerSignature: '0x...',
19
+ * timestamp: Date.now(),
20
+ * });
21
+ *
22
+ * // View all chain addresses
23
+ * const addresses = await ua.getChainAddresses(account.accountId);
24
+ * console.log('Ethereum:', addresses.ethereum.address);
25
+ * console.log('Solana:', addresses.solana.address);
26
+ * console.log('Bitcoin:', addresses.bitcoin.address);
27
+ *
28
+ * // Get unified balance across all chains
29
+ * const balance = await ua.getUnifiedBalance(account.accountId);
30
+ * for (const chain of balance.chains) {
31
+ * console.log(`${chain.chain}: ${chain.nativeBalance} ${chain.nativeSymbol}`);
32
+ * }
33
+ *
34
+ * // Send — automatic routing picks the best source chain
35
+ * const result = await ua.send({
36
+ * accountId: account.accountId,
37
+ * to: '0xRecipient...',
38
+ * amount: '1.0',
39
+ * token: 'ETH',
40
+ * ownerSignature: '0x...',
41
+ * timestamp: Date.now(),
42
+ * });
43
+ * console.log('Tx:', result.txHash);
44
+ * ```
45
+ */
46
+ /**
47
+ * Address information for a single chain within a universal account.
48
+ */
49
+ export interface ChainAddressInfo {
50
+ /** Chain name (e.g., 'ethereum', 'bitcoin', 'solana') */
51
+ chain: string;
52
+ /** Derived address on this chain */
53
+ address: string;
54
+ /** Curve used for key derivation on this chain */
55
+ curveType: 'secp256k1' | 'ed25519';
56
+ /** Whether this chain address is currently active */
57
+ isActive: boolean;
58
+ }
59
+ /**
60
+ * Full information about a universal account, including its
61
+ * threshold parameters, group keys, and all derived chain addresses.
62
+ */
63
+ export interface UniversalAccountInfo {
64
+ /** Unique account identifier */
65
+ accountId: string;
66
+ /** On-chain owner address (Ethereum address that controls this account) */
67
+ ownerAddress: string;
68
+ /** Hex-encoded secp256k1 group public key */
69
+ secp256k1GroupKey: string;
70
+ /** Hex-encoded ed25519 group public key */
71
+ ed25519GroupKey: string;
72
+ /** Signing threshold (number of agents required to sign) */
73
+ threshold: number;
74
+ /** Total committee size */
75
+ committeeSize: number;
76
+ /** Map of chain name to chain address info */
77
+ chainAddresses: Record<string, ChainAddressInfo>;
78
+ /** Unix timestamp of account creation */
79
+ createdAt: number;
80
+ /** Whether the account is currently active */
81
+ isActive: boolean;
82
+ }
83
+ /**
84
+ * Balance information for a single token on a chain.
85
+ */
86
+ export interface TokenBalance {
87
+ /** Token symbol (e.g., 'USDC', 'WETH') */
88
+ symbol: string;
89
+ /** Token contract address (undefined for native tokens) */
90
+ contractAddress?: string;
91
+ /** Token balance as a decimal string */
92
+ balance: string;
93
+ /** Token decimals */
94
+ decimals: number;
95
+ }
96
+ /**
97
+ * Balance information for a single chain, including native token
98
+ * and any tracked ERC-20 / SPL / equivalent token balances.
99
+ */
100
+ export interface ChainBalance {
101
+ /** Chain name */
102
+ chain: string;
103
+ /** Account address on this chain */
104
+ address: string;
105
+ /** Native token balance as a decimal string */
106
+ nativeBalance: string;
107
+ /** Native token symbol (e.g., 'ETH', 'SOL', 'BTC') */
108
+ nativeSymbol: string;
109
+ /** Token balances on this chain */
110
+ tokens: TokenBalance[];
111
+ /** Unix timestamp of last balance update */
112
+ lastUpdated: number;
113
+ }
114
+ /**
115
+ * Aggregated balance view across all chains for a universal account.
116
+ */
117
+ export interface UnifiedBalance {
118
+ /** Account ID this balance belongs to */
119
+ accountId: string;
120
+ /** Per-chain balance breakdown */
121
+ chains: ChainBalance[];
122
+ /** Total number of chains with balances */
123
+ totalChains: number;
124
+ /** Unix timestamp of last aggregation */
125
+ lastAggregated: number;
126
+ }
127
+ /**
128
+ * Options for sending tokens from a universal account.
129
+ * The agent network automatically routes to the optimal source chain
130
+ * based on available balances, fees, and latency.
131
+ */
132
+ export interface UniversalSendOptions {
133
+ /** Account ID to send from */
134
+ accountId: string;
135
+ /** Destination address or account ID */
136
+ to: string;
137
+ /** Amount to send as a decimal string */
138
+ amount: string;
139
+ /** Token symbol (e.g., 'ETH', 'USDC', 'SOL', 'BTC') */
140
+ token: string;
141
+ /** Optional preferred source chain (overrides automatic routing) */
142
+ preferredChain?: string;
143
+ /** Owner signature authorizing this send */
144
+ ownerSignature: string;
145
+ /** Unix timestamp of the signature */
146
+ timestamp: number;
147
+ }
148
+ /**
149
+ * The routing decision made by the agent network for a send operation.
150
+ * Describes which chain and address will be used as source and destination.
151
+ */
152
+ export interface RoutingDecision {
153
+ /** Source chain selected for this send */
154
+ sourceChain: string;
155
+ /** Source address on the selected chain */
156
+ sourceAddress: string;
157
+ /** Destination chain */
158
+ destinationChain: string;
159
+ /** Destination address */
160
+ destinationAddress: string;
161
+ /** Amount being sent */
162
+ amount: string;
163
+ /** Token being sent */
164
+ token: string;
165
+ /** Estimated fee in the source chain's native token */
166
+ estimatedFee: string;
167
+ /** Human-readable reason for this routing choice */
168
+ reason: string;
169
+ }
170
+ /**
171
+ * Result of a universal send operation.
172
+ *
173
+ * - `pending` — request received, queued for processing
174
+ * - `routing` — agent is selecting the optimal source chain
175
+ * - `signing` — threshold signing in progress
176
+ * - `broadcasting` — signed transaction is being broadcast to the chain
177
+ * - `confirmed` — transaction confirmed on-chain
178
+ * - `failed` — send failed (check routing.reason for details)
179
+ */
180
+ export type SendStatus = 'pending' | 'routing' | 'signing' | 'broadcasting' | 'confirmed' | 'failed';
181
+ export interface SendResult {
182
+ /** Unique request identifier for polling status */
183
+ requestId: string;
184
+ /** The routing decision (which chain, address, and fee) */
185
+ routing: RoutingDecision;
186
+ /** Current status of the send operation */
187
+ status: SendStatus;
188
+ /** Transaction hash (only when status is 'confirmed') */
189
+ txHash?: string;
190
+ /** Hex-encoded threshold signature (only when status is 'confirmed' or 'broadcasting') */
191
+ signature?: string;
192
+ }
193
+ /**
194
+ * Options for creating a new universal account.
195
+ */
196
+ export interface CreateUniversalAccountOptions {
197
+ /** Signing threshold (default: 16) */
198
+ threshold?: number;
199
+ /** Total committee size (default: 24) */
200
+ committeeSize?: number;
201
+ /** Owner signature authorizing account creation */
202
+ ownerSignature: string;
203
+ /** Unix timestamp of the signature */
204
+ timestamp: number;
205
+ }
206
+ /**
207
+ * Network-wide statistics for the Universal Account protocol.
208
+ */
209
+ export interface UniversalAccountStats {
210
+ /** Total number of universal accounts created */
211
+ totalAccounts: number;
212
+ /** Total number of derived chain addresses across all accounts */
213
+ totalAddresses: number;
214
+ /** Number of active (in-progress) send operations */
215
+ activeSends: number;
216
+ }
217
+ /**
218
+ * Client for the K7 Universal Account protocol.
219
+ *
220
+ * Communicates with universal account endpoints on the agent node
221
+ * to create accounts, query balances across all chains, and send
222
+ * tokens with automatic chain routing.
223
+ */
224
+ export declare class UniversalAccountClient {
225
+ private baseUrl;
226
+ /**
227
+ * Create a new UniversalAccountClient.
228
+ *
229
+ * @param agentUrl - Agent node REST API URL (e.g., 'http://agent:8080')
230
+ * @param options - Optional client configuration
231
+ * @param options.timeout - Request timeout in milliseconds (default: 30000)
232
+ */
233
+ constructor(agentUrl: string, options?: {
234
+ timeout?: number;
235
+ });
236
+ /**
237
+ * Create a new universal account.
238
+ *
239
+ * Initiates DKG for both secp256k1 and ed25519 curves, derives
240
+ * addresses on all 81 supported chains, and registers the account
241
+ * on the Sequence0 chain.
242
+ *
243
+ * @param options - Account creation options
244
+ * @returns The created account information with all chain addresses
245
+ *
246
+ * @throws {Sequence0Error} If the creation parameters are invalid
247
+ * @throws {NetworkError} If the agent is unreachable
248
+ */
249
+ createAccount(options: CreateUniversalAccountOptions): Promise<UniversalAccountInfo>;
250
+ /**
251
+ * Get a universal account by its account ID.
252
+ *
253
+ * @param accountId - The unique account identifier
254
+ * @returns The account information
255
+ *
256
+ * @throws {Sequence0Error} If the account ID is invalid
257
+ * @throws {NetworkError} If the agent is unreachable or account not found
258
+ */
259
+ getAccount(accountId: string): Promise<UniversalAccountInfo>;
260
+ /**
261
+ * Look up a universal account by any of its chain addresses.
262
+ *
263
+ * Given an address on any chain (Ethereum, Bitcoin, Solana, etc.),
264
+ * returns the universal account that owns it.
265
+ *
266
+ * @param address - An address on any supported chain
267
+ * @returns The account information, or null if no account owns this address
268
+ *
269
+ * @throws {Sequence0Error} If the address is invalid
270
+ * @throws {NetworkError} If the agent is unreachable
271
+ */
272
+ getAccountByAddress(address: string): Promise<UniversalAccountInfo>;
273
+ /**
274
+ * Get all universal accounts owned by a specific owner address.
275
+ *
276
+ * @param ownerAddress - The Ethereum owner address
277
+ * @returns Array of account information objects
278
+ *
279
+ * @throws {Sequence0Error} If the owner address is invalid
280
+ * @throws {NetworkError} If the agent is unreachable
281
+ */
282
+ getOwnerAccounts(ownerAddress: string): Promise<UniversalAccountInfo[]>;
283
+ /**
284
+ * Deactivate a universal account.
285
+ *
286
+ * Marks the account as inactive. This does not destroy the keys
287
+ * or chain addresses — it prevents new sends from being initiated.
288
+ * Only the account owner can deactivate.
289
+ *
290
+ * @param accountId - The account ID to deactivate
291
+ * @param ownerSignature - Owner signature authorizing deactivation
292
+ * @param timestamp - Unix timestamp of the signature
293
+ *
294
+ * @throws {Sequence0Error} If parameters are invalid
295
+ * @throws {NetworkError} If the agent is unreachable
296
+ */
297
+ deactivateAccount(accountId: string, ownerSignature: string, timestamp: number): Promise<void>;
298
+ /**
299
+ * Get all chain addresses for a universal account.
300
+ *
301
+ * @param accountId - The account ID
302
+ * @returns Map of chain name to chain address info
303
+ *
304
+ * @throws {Sequence0Error} If the account ID is invalid
305
+ * @throws {NetworkError} If the agent is unreachable
306
+ */
307
+ getChainAddresses(accountId: string): Promise<Record<string, ChainAddressInfo>>;
308
+ /**
309
+ * Get the address for a specific chain within a universal account.
310
+ *
311
+ * @param accountId - The account ID
312
+ * @param chain - The chain name (e.g., 'ethereum', 'bitcoin', 'solana')
313
+ * @returns The chain address info
314
+ *
315
+ * @throws {Sequence0Error} If parameters are invalid
316
+ * @throws {NetworkError} If the agent is unreachable
317
+ */
318
+ getAddressForChain(accountId: string, chain: string): Promise<ChainAddressInfo>;
319
+ /**
320
+ * Get unified balance across all chains for a universal account.
321
+ *
322
+ * Agents query balances on all chains where the account has
323
+ * derived addresses and return an aggregated view.
324
+ *
325
+ * @param accountId - The account ID
326
+ * @returns Unified balance with per-chain breakdown
327
+ *
328
+ * @throws {Sequence0Error} If the account ID is invalid
329
+ * @throws {NetworkError} If the agent is unreachable
330
+ */
331
+ getUnifiedBalance(accountId: string): Promise<UnifiedBalance>;
332
+ /**
333
+ * Get the balance for a specific chain within a universal account.
334
+ *
335
+ * @param accountId - The account ID
336
+ * @param chain - The chain name (e.g., 'ethereum', 'bitcoin', 'solana')
337
+ * @returns The chain balance
338
+ *
339
+ * @throws {Sequence0Error} If parameters are invalid
340
+ * @throws {NetworkError} If the agent is unreachable
341
+ */
342
+ getChainBalance(accountId: string, chain: string): Promise<ChainBalance>;
343
+ /**
344
+ * Send tokens from a universal account.
345
+ *
346
+ * The agent network automatically selects the optimal source chain
347
+ * based on available balances, gas fees, and confirmation times.
348
+ * Use `preferredChain` to override automatic routing.
349
+ *
350
+ * @param options - Send options
351
+ * @returns The send result with routing decision and request ID for polling
352
+ *
353
+ * @throws {Sequence0Error} If the send parameters are invalid
354
+ * @throws {NetworkError} If the agent is unreachable
355
+ *
356
+ * @example
357
+ * ```typescript
358
+ * const result = await ua.send({
359
+ * accountId: 'ua-abc123',
360
+ * to: '0xRecipient...',
361
+ * amount: '1.5',
362
+ * token: 'ETH',
363
+ * ownerSignature: '0x...',
364
+ * timestamp: Date.now(),
365
+ * });
366
+ *
367
+ * // Poll for confirmation
368
+ * const status = await ua.getSendStatus(result.requestId);
369
+ * ```
370
+ */
371
+ send(options: UniversalSendOptions): Promise<SendResult>;
372
+ /**
373
+ * Get the current status of a send operation.
374
+ *
375
+ * @param requestId - The send request ID
376
+ * @returns Current status of the send
377
+ *
378
+ * @throws {Sequence0Error} If the request ID is invalid
379
+ * @throws {NetworkError} If the agent is unreachable
380
+ */
381
+ getSendStatus(requestId: string): Promise<SendResult>;
382
+ /**
383
+ * Wait for a send operation to reach a terminal status by polling.
384
+ *
385
+ * Polls the send status endpoint at 2-second intervals until
386
+ * the send is confirmed, fails, or the timeout is exceeded.
387
+ *
388
+ * @param requestId - The send request ID to wait for
389
+ * @param timeout - Max time to wait in ms (default: 120000)
390
+ * @returns The final send result
391
+ *
392
+ * @throws {TimeoutError} If the send is not completed within the timeout
393
+ * @throws {Sequence0Error} If the send fails
394
+ * @throws {NetworkError} If the agent is unreachable
395
+ */
396
+ waitForSend(requestId: string, timeout?: number): Promise<SendResult>;
397
+ /**
398
+ * Preview the routing decision for a send without executing it.
399
+ *
400
+ * Use this to show users which chain will be used and the estimated
401
+ * fee before they authorize the send with their signature.
402
+ *
403
+ * @param options - Send options (without ownerSignature and timestamp)
404
+ * @returns The routing decision that would be made
405
+ *
406
+ * @throws {Sequence0Error} If the parameters are invalid
407
+ * @throws {NetworkError} If the agent is unreachable
408
+ *
409
+ * @example
410
+ * ```typescript
411
+ * const route = await ua.previewRoute({
412
+ * accountId: 'ua-abc123',
413
+ * to: '0xRecipient...',
414
+ * amount: '1.5',
415
+ * token: 'ETH',
416
+ * });
417
+ * console.log(`Will send from ${route.sourceChain} (fee: ${route.estimatedFee})`);
418
+ * ```
419
+ */
420
+ previewRoute(options: Omit<UniversalSendOptions, 'ownerSignature' | 'timestamp'>): Promise<RoutingDecision>;
421
+ /**
422
+ * Get network-wide Universal Account statistics.
423
+ *
424
+ * @returns Protocol statistics
425
+ *
426
+ * @throws {NetworkError} If the agent is unreachable
427
+ */
428
+ getStats(): Promise<UniversalAccountStats>;
429
+ private get;
430
+ private post;
431
+ private mapAccountResponse;
432
+ private mapChainAddressResponse;
433
+ private mapChainBalanceResponse;
434
+ private mapUnifiedBalanceResponse;
435
+ private mapRoutingDecisionResponse;
436
+ private mapSendResultResponse;
437
+ }
438
+ //# sourceMappingURL=universal-account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universal-account.d.ts","sourceRoot":"","sources":["../../src/core/universal-account.ts"],"names":[],"mappings":"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"}