@abbababa/sdk 0.7.0 → 1.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 (83) hide show
  1. package/README.md +178 -60
  2. package/dist/agents.d.ts +15 -4
  3. package/dist/agents.d.ts.map +1 -1
  4. package/dist/agents.js +14 -1
  5. package/dist/agents.js.map +1 -1
  6. package/dist/buyer.d.ts +136 -25
  7. package/dist/buyer.d.ts.map +1 -1
  8. package/dist/buyer.js +277 -45
  9. package/dist/buyer.js.map +1 -1
  10. package/dist/channels.d.ts +2 -2
  11. package/dist/channels.d.ts.map +1 -1
  12. package/dist/channels.js.map +1 -1
  13. package/dist/checkout.d.ts +2 -2
  14. package/dist/checkout.d.ts.map +1 -1
  15. package/dist/checkout.js.map +1 -1
  16. package/dist/client.d.ts +3 -3
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +7 -6
  19. package/dist/client.js.map +1 -1
  20. package/dist/crypto.d.ts +93 -0
  21. package/dist/crypto.d.ts.map +1 -0
  22. package/dist/crypto.js +298 -0
  23. package/dist/crypto.js.map +1 -0
  24. package/dist/errors.d.ts +7 -7
  25. package/dist/errors.d.ts.map +1 -1
  26. package/dist/errors.js +8 -8
  27. package/dist/errors.js.map +1 -1
  28. package/dist/index.d.ts +9 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +8 -2
  31. package/dist/index.js.map +1 -1
  32. package/dist/memory.d.ts +2 -2
  33. package/dist/memory.d.ts.map +1 -1
  34. package/dist/memory.js.map +1 -1
  35. package/dist/messages.d.ts +27 -3
  36. package/dist/messages.d.ts.map +1 -1
  37. package/dist/messages.js +35 -0
  38. package/dist/messages.js.map +1 -1
  39. package/dist/register.d.ts +0 -1
  40. package/dist/register.d.ts.map +1 -1
  41. package/dist/register.js +3 -4
  42. package/dist/register.js.map +1 -1
  43. package/dist/seller.d.ts +102 -22
  44. package/dist/seller.d.ts.map +1 -1
  45. package/dist/seller.js +190 -45
  46. package/dist/seller.js.map +1 -1
  47. package/dist/services.d.ts +2 -2
  48. package/dist/services.d.ts.map +1 -1
  49. package/dist/services.js.map +1 -1
  50. package/dist/transactions.d.ts +2 -2
  51. package/dist/transactions.d.ts.map +1 -1
  52. package/dist/transactions.js.map +1 -1
  53. package/dist/types.d.ts +131 -57
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/types.js.map +1 -1
  56. package/dist/wallet/abi.d.ts +15 -0
  57. package/dist/wallet/abi.d.ts.map +1 -1
  58. package/dist/wallet/abi.js +18 -8
  59. package/dist/wallet/abi.js.map +1 -1
  60. package/dist/wallet/constants.d.ts +8 -6
  61. package/dist/wallet/constants.d.ts.map +1 -1
  62. package/dist/wallet/constants.js +38 -23
  63. package/dist/wallet/constants.js.map +1 -1
  64. package/dist/wallet/eoa-wallet.d.ts +21 -0
  65. package/dist/wallet/eoa-wallet.d.ts.map +1 -0
  66. package/dist/wallet/eoa-wallet.js +37 -0
  67. package/dist/wallet/eoa-wallet.js.map +1 -0
  68. package/dist/wallet/escrow.d.ts +38 -8
  69. package/dist/wallet/escrow.d.ts.map +1 -1
  70. package/dist/wallet/escrow.js +71 -18
  71. package/dist/wallet/escrow.js.map +1 -1
  72. package/dist/wallet/index.d.ts +0 -2
  73. package/dist/wallet/index.d.ts.map +1 -1
  74. package/dist/wallet/index.js +0 -2
  75. package/dist/wallet/index.js.map +1 -1
  76. package/dist/wallet/session-key.d.ts +71 -0
  77. package/dist/wallet/session-key.d.ts.map +1 -0
  78. package/dist/wallet/session-key.js +82 -0
  79. package/dist/wallet/session-key.js.map +1 -0
  80. package/dist/wallet/session-keys.js +8 -8
  81. package/dist/wallet/smart-account.d.ts +2 -2
  82. package/dist/wallet/smart-account.js +4 -4
  83. package/package.json +14 -32
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/wallet/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { WalletSender } from './escrow.js';
2
+ type ChainKey = 'baseSepolia' | 'base' | 'polygon' | 'polygonAmoy';
3
+ /**
4
+ * Create a plain EOA (Externally Owned Account) wallet using a private key.
5
+ * Returns a viem WalletClient and PublicClient — no ZeroDev required.
6
+ * The agent pays their own gas (~$0.02/flow on Base Sepolia).
7
+ *
8
+ * The returned walletClient is compatible with EscrowClient (duck-typed via
9
+ * sendTransaction interface) — use it directly in fundEscrow, disputeEscrow, etc.
10
+ */
11
+ export declare function createEOAWallet(config: {
12
+ privateKey: string;
13
+ chain?: ChainKey;
14
+ rpcUrl?: string;
15
+ }): Promise<{
16
+ address: string;
17
+ walletClient: WalletSender;
18
+ publicClient: unknown;
19
+ }>;
20
+ export {};
21
+ //# sourceMappingURL=eoa-wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eoa-wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/eoa-wallet.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,KAAK,QAAQ,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAA;AASlE;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAqBlF"}
@@ -0,0 +1,37 @@
1
+ import { createWalletClient, createPublicClient, http } from 'viem';
2
+ import { privateKeyToAccount } from 'viem/accounts';
3
+ import { baseSepolia, base, polygon, polygonAmoy } from 'viem/chains';
4
+ const CHAIN_MAP = {
5
+ baseSepolia,
6
+ base,
7
+ polygon,
8
+ polygonAmoy,
9
+ };
10
+ /**
11
+ * Create a plain EOA (Externally Owned Account) wallet using a private key.
12
+ * Returns a viem WalletClient and PublicClient — no ZeroDev required.
13
+ * The agent pays their own gas (~$0.02/flow on Base Sepolia).
14
+ *
15
+ * The returned walletClient is compatible with EscrowClient (duck-typed via
16
+ * sendTransaction interface) — use it directly in fundEscrow, disputeEscrow, etc.
17
+ */
18
+ export async function createEOAWallet(config) {
19
+ const chain = CHAIN_MAP[config.chain ?? 'baseSepolia'];
20
+ const account = privateKeyToAccount(config.privateKey);
21
+ const transport = http(config.rpcUrl);
22
+ const walletClient = createWalletClient({
23
+ account,
24
+ chain,
25
+ transport,
26
+ });
27
+ const publicClient = createPublicClient({
28
+ chain,
29
+ transport: http(config.rpcUrl),
30
+ });
31
+ return {
32
+ address: account.address,
33
+ walletClient,
34
+ publicClient,
35
+ };
36
+ }
37
+ //# sourceMappingURL=eoa-wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eoa-wallet.js","sourceRoot":"","sources":["../../src/wallet/eoa-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAKrE,MAAM,SAAS,GAAG;IAChB,WAAW;IACX,IAAI;IACJ,OAAO;IACP,WAAW;CACZ,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAIrC;IACC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAA2B,CAAC,CAAA;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAErC,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,OAAO;QACP,KAAK;QACL,SAAS;KACV,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KAC/B,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY;QACZ,YAAY;KACb,CAAA;AACH,CAAC"}
@@ -1,6 +1,13 @@
1
1
  import { type Address } from 'viem';
2
2
  import { type TokenInfo } from './constants.js';
3
3
  import type { EscrowDetails, AgentStats } from '../types.js';
4
+ /** Minimal interface satisfied by viem WalletClient and any compatible EOA wallet. */
5
+ export interface WalletSender {
6
+ sendTransaction(args: {
7
+ to: `0x${string}`;
8
+ data: `0x${string}`;
9
+ }): Promise<`0x${string}`>;
10
+ }
4
11
  /** Dispute resolution outcome */
5
12
  export declare enum DisputeOutcome {
6
13
  None = 0,
@@ -20,19 +27,21 @@ export declare enum EscrowStatus {
20
27
  Abandoned = 7
21
28
  }
22
29
  /**
23
- * Client for interacting with the AbbababaEscrowV2 smart contract.
30
+ * Client for interacting with the AbbaBabaEscrow smart contract.
24
31
  * Supports UUPS upgradeable escrow with 2% platform fee,
25
32
  * criteriaHash for AI dispute resolution, configurable dispute windows,
26
33
  * and abandonment detection.
27
- * Uses a ZeroDev Kernel account client for sending UserOperations.
34
+ *
35
+ * Accepts a viem WalletClient (EOA — seller pays own gas).
36
+ * The walletClient must expose a sendTransaction({ to, data }) interface.
28
37
  */
29
38
  export declare class EscrowClient {
30
- private kernelClient;
39
+ private walletClient;
31
40
  private chainId;
32
41
  private escrowAddress;
33
42
  private tokenAddress;
34
43
  private tokenDecimals;
35
- constructor(kernelClient: unknown, token?: TokenInfo, chainId?: number);
44
+ constructor(walletClient: WalletSender, token?: TokenInfo, chainId?: number);
36
45
  /**
37
46
  * Convert a platform transaction ID (CUID string) to a bytes32 escrow ID.
38
47
  * Uses keccak256, matching the existing backend pattern.
@@ -95,13 +104,34 @@ export declare class EscrowClient {
95
104
  * Check if an escrow can be finalized (dispute window passed, no dispute filed).
96
105
  */
97
106
  canFinalize(transactionId: string): Promise<boolean>;
107
+ /**
108
+ * Transfer ERC20 tokens from this wallet to a recipient address.
109
+ * Used to fund a session wallet with USDC before handing off the bundle.
110
+ *
111
+ * @param to - Recipient address (e.g. session wallet).
112
+ * @param amount - Amount in smallest token units (e.g. 100_000000n for 100 USDC with 6 decimals).
113
+ */
114
+ transferToken(to: `0x${string}`, amount: bigint): Promise<string>;
115
+ /**
116
+ * Sweep all ERC20 tokens from `fromAddress` to `recipient`.
117
+ * Reads the current balance via a public client, then sends all of it.
118
+ * Used to reclaim funds from a session wallet after the session expires.
119
+ *
120
+ * This method must be called with a walletClient that controls `fromAddress`
121
+ * (i.e., the session wallet's private key must be in `walletClient`).
122
+ *
123
+ * @param fromAddress - Source address (the session wallet).
124
+ * @param recipient - Destination address (the main wallet).
125
+ * @returns Transaction hash, or `null` if the balance is zero.
126
+ */
127
+ sweepToken(fromAddress: `0x${string}`, recipient: `0x${string}`): Promise<string | null>;
98
128
  /**
99
129
  * Check if an escrow can be claimed as abandoned (deadline + abandonmentGrace passed).
100
130
  */
101
131
  canClaimAbandoned(transactionId: string): Promise<boolean>;
102
132
  }
103
133
  /**
104
- * Read-only client for the AbbababaScoreV2 on-chain reputation system.
134
+ * Read-only client for the AbbaBabaScore on-chain reputation system.
105
135
  * No wallet needed — all methods are view functions.
106
136
  */
107
137
  export declare class ScoreClient {
@@ -130,15 +160,15 @@ export declare class ScoreClient {
130
160
  getScoreAddress(): Address;
131
161
  }
132
162
  /**
133
- * Client for interacting with the AbbababaResolverV2 contract.
163
+ * Client for interacting with the AbbaBabaResolver contract.
134
164
  * Used for submitting AI dispute resolutions (requires RESOLVER_ROLE).
135
165
  * V2 simplification: Single submitResolution function (no tier-specific functions).
136
166
  */
137
167
  export declare class ResolverClient {
138
- private kernelClient;
168
+ private walletClient;
139
169
  private chainId;
140
170
  private resolverAddress;
141
- constructor(kernelClient: unknown, chainId?: number);
171
+ constructor(walletClient: WalletSender, chainId?: number);
142
172
  /**
143
173
  * Submit AI dispute resolution.
144
174
  * Requires RESOLVER_ROLE on the resolver contract.
@@ -1 +1 @@
1
- {"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../src/wallet/escrow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../src/wallet/escrow.ts"],"names":[],"mappings":"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"}
@@ -29,20 +29,22 @@ const CHAINS = {
29
29
  const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
30
30
  const ZERO_BYTES32 = '0x0000000000000000000000000000000000000000000000000000000000000000';
31
31
  /**
32
- * Client for interacting with the AbbababaEscrowV2 smart contract.
32
+ * Client for interacting with the AbbaBabaEscrow smart contract.
33
33
  * Supports UUPS upgradeable escrow with 2% platform fee,
34
34
  * criteriaHash for AI dispute resolution, configurable dispute windows,
35
35
  * and abandonment detection.
36
- * Uses a ZeroDev Kernel account client for sending UserOperations.
36
+ *
37
+ * Accepts a viem WalletClient (EOA — seller pays own gas).
38
+ * The walletClient must expose a sendTransaction({ to, data }) interface.
37
39
  */
38
40
  export class EscrowClient {
39
- kernelClient;
41
+ walletClient;
40
42
  chainId;
41
43
  escrowAddress;
42
44
  tokenAddress;
43
45
  tokenDecimals;
44
- constructor(kernelClient, token, chainId = BASE_SEPOLIA_CHAIN_ID) {
45
- this.kernelClient = kernelClient;
46
+ constructor(walletClient, token, chainId = BASE_SEPOLIA_CHAIN_ID) {
47
+ this.walletClient = walletClient;
46
48
  this.chainId = chainId;
47
49
  // Resolve token (default USDC)
48
50
  if (token) {
@@ -78,7 +80,7 @@ export class EscrowClient {
78
80
  functionName: 'approve',
79
81
  args: [this.escrowAddress, amount],
80
82
  });
81
- const txHash = await this.kernelClient.sendTransaction({
83
+ const txHash = await this.walletClient.sendTransaction({
82
84
  to: this.tokenAddress,
83
85
  data,
84
86
  });
@@ -111,7 +113,7 @@ export class EscrowClient {
111
113
  functionName: 'createEscrow',
112
114
  args: [escrowId, sellerAddress, amount, this.tokenAddress, deadline, disputeWindow, abandonmentGrace, criteriaHash],
113
115
  });
114
- const txHash = await this.kernelClient.sendTransaction({
116
+ const txHash = await this.walletClient.sendTransaction({
115
117
  to: this.escrowAddress,
116
118
  data,
117
119
  });
@@ -127,7 +129,7 @@ export class EscrowClient {
127
129
  functionName: 'submitDelivery',
128
130
  args: [escrowId, proofHash],
129
131
  });
130
- const txHash = await this.kernelClient.sendTransaction({
132
+ const txHash = await this.walletClient.sendTransaction({
131
133
  to: this.escrowAddress,
132
134
  data,
133
135
  });
@@ -143,7 +145,7 @@ export class EscrowClient {
143
145
  functionName: 'accept',
144
146
  args: [escrowId],
145
147
  });
146
- const txHash = await this.kernelClient.sendTransaction({
148
+ const txHash = await this.walletClient.sendTransaction({
147
149
  to: this.escrowAddress,
148
150
  data,
149
151
  });
@@ -160,7 +162,7 @@ export class EscrowClient {
160
162
  functionName: 'finalizeRelease',
161
163
  args: [escrowId],
162
164
  });
163
- const txHash = await this.kernelClient.sendTransaction({
165
+ const txHash = await this.walletClient.sendTransaction({
164
166
  to: this.escrowAddress,
165
167
  data,
166
168
  });
@@ -176,7 +178,7 @@ export class EscrowClient {
176
178
  functionName: 'dispute',
177
179
  args: [escrowId],
178
180
  });
179
- const txHash = await this.kernelClient.sendTransaction({
181
+ const txHash = await this.walletClient.sendTransaction({
180
182
  to: this.escrowAddress,
181
183
  data,
182
184
  });
@@ -193,7 +195,7 @@ export class EscrowClient {
193
195
  functionName: 'claimAbandoned',
194
196
  args: [escrowId],
195
197
  });
196
- const txHash = await this.kernelClient.sendTransaction({
198
+ const txHash = await this.walletClient.sendTransaction({
197
199
  to: this.escrowAddress,
198
200
  data,
199
201
  });
@@ -271,6 +273,57 @@ export class EscrowClient {
271
273
  });
272
274
  return result;
273
275
  }
276
+ /**
277
+ * Transfer ERC20 tokens from this wallet to a recipient address.
278
+ * Used to fund a session wallet with USDC before handing off the bundle.
279
+ *
280
+ * @param to - Recipient address (e.g. session wallet).
281
+ * @param amount - Amount in smallest token units (e.g. 100_000000n for 100 USDC with 6 decimals).
282
+ */
283
+ async transferToken(to, amount) {
284
+ const data = encodeFunctionData({
285
+ abi: ERC20_ABI,
286
+ functionName: 'transfer',
287
+ args: [to, amount],
288
+ });
289
+ return this.walletClient.sendTransaction({
290
+ to: this.tokenAddress,
291
+ data,
292
+ });
293
+ }
294
+ /**
295
+ * Sweep all ERC20 tokens from `fromAddress` to `recipient`.
296
+ * Reads the current balance via a public client, then sends all of it.
297
+ * Used to reclaim funds from a session wallet after the session expires.
298
+ *
299
+ * This method must be called with a walletClient that controls `fromAddress`
300
+ * (i.e., the session wallet's private key must be in `walletClient`).
301
+ *
302
+ * @param fromAddress - Source address (the session wallet).
303
+ * @param recipient - Destination address (the main wallet).
304
+ * @returns Transaction hash, or `null` if the balance is zero.
305
+ */
306
+ async sweepToken(fromAddress, recipient) {
307
+ const viemChain = CHAINS[this.chainId] ?? baseSepolia;
308
+ const publicClient = createPublicClient({ chain: viemChain, transport: http() });
309
+ const balance = await publicClient.readContract({
310
+ address: this.tokenAddress,
311
+ abi: ERC20_ABI,
312
+ functionName: 'balanceOf',
313
+ args: [fromAddress],
314
+ });
315
+ if (balance === 0n)
316
+ return null;
317
+ const data = encodeFunctionData({
318
+ abi: ERC20_ABI,
319
+ functionName: 'transfer',
320
+ args: [recipient, balance],
321
+ });
322
+ return this.walletClient.sendTransaction({
323
+ to: this.tokenAddress,
324
+ data,
325
+ });
326
+ }
274
327
  /**
275
328
  * Check if an escrow can be claimed as abandoned (deadline + abandonmentGrace passed).
276
329
  */
@@ -291,7 +344,7 @@ export class EscrowClient {
291
344
  }
292
345
  }
293
346
  /**
294
- * Read-only client for the AbbababaScoreV2 on-chain reputation system.
347
+ * Read-only client for the AbbaBabaScore on-chain reputation system.
295
348
  * No wallet needed — all methods are view functions.
296
349
  */
297
350
  export class ScoreClient {
@@ -368,16 +421,16 @@ export class ScoreClient {
368
421
  }
369
422
  }
370
423
  /**
371
- * Client for interacting with the AbbababaResolverV2 contract.
424
+ * Client for interacting with the AbbaBabaResolver contract.
372
425
  * Used for submitting AI dispute resolutions (requires RESOLVER_ROLE).
373
426
  * V2 simplification: Single submitResolution function (no tier-specific functions).
374
427
  */
375
428
  export class ResolverClient {
376
- kernelClient;
429
+ walletClient;
377
430
  chainId;
378
431
  resolverAddress;
379
- constructor(kernelClient, chainId = BASE_SEPOLIA_CHAIN_ID) {
380
- this.kernelClient = kernelClient;
432
+ constructor(walletClient, chainId = BASE_SEPOLIA_CHAIN_ID) {
433
+ this.walletClient = walletClient;
381
434
  this.chainId = chainId;
382
435
  const addr = RESOLVER_V2_ADDRESSES[chainId];
383
436
  if (!addr)
@@ -395,7 +448,7 @@ export class ResolverClient {
395
448
  functionName: 'submitResolution',
396
449
  args: [escrowId, outcome, BigInt(buyerPercent), BigInt(sellerPercent), reasoning],
397
450
  });
398
- const txHash = await this.kernelClient.sendTransaction({
451
+ const txHash = await this.walletClient.sendTransaction({
399
452
  to: this.resolverAddress,
400
453
  data,
401
454
  });
@@ -1 +1 @@
1
- {"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../src/wallet/escrow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../src/wallet/escrow.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- export { createSmartAccount, buildKernelClient } from './smart-account.js';
2
1
  export { EscrowClient, ScoreClient, ResolverClient, DisputeOutcome, EscrowStatus } from './escrow.js';
3
- export { generateSessionKey, useSessionKey, revokeSessionKey, buildEscrowPolicies, } from './session-keys.js';
4
2
  export { ESCROW_V2_ADDRESSES, SCORE_V2_ADDRESSES, RESOLVER_V2_ADDRESSES, TESTNET_USDC_ADDRESS, DEPRECATED_MOCK_USDC_ADDRESSES, MOCK_USDC_ADDRESSES, ESCROW_V1_ADDRESSES, SCORE_V1_ADDRESSES, ESCROW_V4_ADDRESSES, SCORE_ADDRESSES, TOKEN_REGISTRY, getToken, getTokensByTier, isTokenSupported, POLYGON_AMOY_CHAIN_ID, POLYGON_MAINNET_CHAIN_ID, BASE_SEPOLIA_CHAIN_ID, BASE_MAINNET_CHAIN_ID, MIN_GAS_BALANCE, } from './constants.js';
5
3
  export type { TokenInfo } from './constants.js';
6
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EAEnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAEf,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB,EAEhB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EAErB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EAEnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EAEf,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB,EAEhB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EAErB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
@@ -1,6 +1,4 @@
1
- export { createSmartAccount, buildKernelClient } from './smart-account.js';
2
1
  export { EscrowClient, ScoreClient, ResolverClient, DisputeOutcome, EscrowStatus } from './escrow.js';
3
- export { generateSessionKey, useSessionKey, revokeSessionKey, buildEscrowPolicies, } from './session-keys.js';
4
2
  export {
5
3
  // V2 contract addresses (UUPS Upgradeable - 2026-02-14)
6
4
  ESCROW_V2_ADDRESSES, SCORE_V2_ADDRESSES, RESOLVER_V2_ADDRESSES, TESTNET_USDC_ADDRESS, DEPRECATED_MOCK_USDC_ADDRESSES, MOCK_USDC_ADDRESSES,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO;AACL,wDAAwD;AACxD,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB;AACnB,mCAAmC;AACnC,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe;AACf,iBAAiB;AACjB,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB;AAChB,YAAY;AACZ,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB;AACrB,MAAM;AACN,eAAe,GAChB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO;AACL,wDAAwD;AACxD,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB;AACnB,mCAAmC;AACnC,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe;AACf,iBAAiB;AACjB,cAAc,EACd,QAAQ,EACR,eAAe,EACf,gBAAgB;AAChB,YAAY;AACZ,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB;AACrB,MAAM;AACN,eAAe,GAChB,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Abba Baba In-House Session Keys
3
+ *
4
+ * Generates ephemeral session bundles for autonomous agents:
5
+ * - Session wallet: real EOA for on-chain signing (blockchain-enforced hard cap)
6
+ * - E2E keypair: secp256k1 for encrypted payloads (same curve as AgentCrypto)
7
+ * - Session bundle: self-contained base64 string passed to the agent process
8
+ *
9
+ * Security: treat a serialized bundle like a private key. Never send it to the platform.
10
+ */
11
+ /**
12
+ * The raw payload inside a serialized session bundle.
13
+ * Treat as a secret — same sensitivity as a private key.
14
+ */
15
+ export interface SessionBundlePayload {
16
+ /** Platform-issued session token ("abba_session_..."). Use as apiKey. */
17
+ token: string;
18
+ /** Parent agent ID (for reference — platform enforces via token). */
19
+ agentId: string;
20
+ /** Soft spending cap in USDC (API-enforced). null = no limit. */
21
+ budgetUsdc: number | null;
22
+ /** Session expiry — Unix timestamp seconds. */
23
+ expiry: number;
24
+ /** Ephemeral EOA private key (0x-prefixed). Signs escrow/delivery on-chain. */
25
+ walletPrivateKey: string;
26
+ /** Ephemeral EOA address. Fund this with USDC + a small ETH gas reserve. */
27
+ walletAddress: string;
28
+ /** Fresh secp256k1 private key (hex, 32 bytes). Used for E2E encryption. */
29
+ e2ePrivateKey: string;
30
+ /** Compressed secp256k1 public key (hex, 33 bytes). Share with counterparties. */
31
+ e2ePublicKey: string;
32
+ }
33
+ export interface SessionWallet {
34
+ privateKey: `0x${string}`;
35
+ address: string;
36
+ }
37
+ export interface E2EKeypair {
38
+ privateKey: string;
39
+ publicKey: string;
40
+ }
41
+ /**
42
+ * Generate an ephemeral EOA wallet for on-chain session signing.
43
+ * The caller is responsible for funding this address with USDC (and a small
44
+ * ETH/gas reserve) before passing the bundle to the agent.
45
+ */
46
+ export declare function generateSessionWallet(): SessionWallet;
47
+ /**
48
+ * Generate a fresh secp256k1 keypair for E2E encryption.
49
+ * Uses the same curve as AgentCrypto — the agent can call initCrypto()
50
+ * with e2ePrivateKey and get a fully functional crypto context.
51
+ */
52
+ export declare function generateE2EKeypair(): E2EKeypair;
53
+ /**
54
+ * Serialize and deserialize session bundles.
55
+ *
56
+ * The bundle is a base64-encoded JSON payload prefixed with
57
+ * `abba_session_bundle_`. Treat it as a secret.
58
+ */
59
+ export declare const SessionBundle: {
60
+ /**
61
+ * Serialize a session payload to a base64 bundle string.
62
+ * Compatible with Node.js (Buffer) and browser (btoa) environments.
63
+ */
64
+ serialize(payload: SessionBundlePayload): string;
65
+ /**
66
+ * Deserialize a base64 bundle string back to a SessionBundlePayload.
67
+ * @throws If the bundle is not prefixed with `abba_session_bundle_`.
68
+ */
69
+ deserialize(serialized: string): SessionBundlePayload;
70
+ };
71
+ //# sourceMappingURL=session-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-key.d.ts","sourceRoot":"","sources":["../../src/wallet/session-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IAEd,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAA;IACxB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAA;IAErB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAA;IACrB,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,CAOrD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,UAAU,CAO/C;AAMD;;;;;GAKG;AACH,eAAO,MAAM,aAAa;IACxB;;;OAGG;uBACgB,oBAAoB,GAAG,MAAM;IAShD;;;OAGG;4BACqB,MAAM,GAAG,oBAAoB;CActD,CAAA"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Abba Baba In-House Session Keys
3
+ *
4
+ * Generates ephemeral session bundles for autonomous agents:
5
+ * - Session wallet: real EOA for on-chain signing (blockchain-enforced hard cap)
6
+ * - E2E keypair: secp256k1 for encrypted payloads (same curve as AgentCrypto)
7
+ * - Session bundle: self-contained base64 string passed to the agent process
8
+ *
9
+ * Security: treat a serialized bundle like a private key. Never send it to the platform.
10
+ */
11
+ import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
12
+ import { secp256k1 } from '@noble/curves/secp256k1';
13
+ // ─── Hex helpers ──────────────────────────────────────────────────────────────
14
+ function toHex(bytes) {
15
+ return Array.from(bytes)
16
+ .map((b) => b.toString(16).padStart(2, '0'))
17
+ .join('');
18
+ }
19
+ // ─── Key generation ───────────────────────────────────────────────────────────
20
+ /**
21
+ * Generate an ephemeral EOA wallet for on-chain session signing.
22
+ * The caller is responsible for funding this address with USDC (and a small
23
+ * ETH/gas reserve) before passing the bundle to the agent.
24
+ */
25
+ export function generateSessionWallet() {
26
+ const privateKey = generatePrivateKey();
27
+ const account = privateKeyToAccount(privateKey);
28
+ return {
29
+ privateKey,
30
+ address: account.address,
31
+ };
32
+ }
33
+ /**
34
+ * Generate a fresh secp256k1 keypair for E2E encryption.
35
+ * Uses the same curve as AgentCrypto — the agent can call initCrypto()
36
+ * with e2ePrivateKey and get a fully functional crypto context.
37
+ */
38
+ export function generateE2EKeypair() {
39
+ const privBytes = secp256k1.utils.randomPrivateKey();
40
+ const pubBytes = secp256k1.getPublicKey(privBytes, true); // compressed
41
+ return {
42
+ privateKey: toHex(privBytes),
43
+ publicKey: toHex(pubBytes),
44
+ };
45
+ }
46
+ // ─── Bundle serialize / deserialize ──────────────────────────────────────────
47
+ const BUNDLE_PREFIX = 'abba_session_bundle_';
48
+ /**
49
+ * Serialize and deserialize session bundles.
50
+ *
51
+ * The bundle is a base64-encoded JSON payload prefixed with
52
+ * `abba_session_bundle_`. Treat it as a secret.
53
+ */
54
+ export const SessionBundle = {
55
+ /**
56
+ * Serialize a session payload to a base64 bundle string.
57
+ * Compatible with Node.js (Buffer) and browser (btoa) environments.
58
+ */
59
+ serialize(payload) {
60
+ const json = JSON.stringify(payload);
61
+ const b64 = typeof Buffer !== 'undefined'
62
+ ? Buffer.from(json, 'utf8').toString('base64')
63
+ : btoa(unescape(encodeURIComponent(json)));
64
+ return BUNDLE_PREFIX + b64;
65
+ },
66
+ /**
67
+ * Deserialize a base64 bundle string back to a SessionBundlePayload.
68
+ * @throws If the bundle is not prefixed with `abba_session_bundle_`.
69
+ */
70
+ deserialize(serialized) {
71
+ if (!serialized.startsWith(BUNDLE_PREFIX)) {
72
+ throw new Error('Invalid session bundle: expected "abba_session_bundle_" prefix. ' +
73
+ 'Ensure you passed the full string returned by session.serialize().');
74
+ }
75
+ const b64 = serialized.slice(BUNDLE_PREFIX.length);
76
+ const json = typeof Buffer !== 'undefined'
77
+ ? Buffer.from(b64, 'base64').toString('utf8')
78
+ : decodeURIComponent(escape(atob(b64)));
79
+ return JSON.parse(json);
80
+ },
81
+ };
82
+ //# sourceMappingURL=session-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-key.js","sourceRoot":"","sources":["../../src/wallet/session-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,iFAAiF;AAEjF,SAAS,KAAK,CAAC,KAAiB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAuCD,iFAAiF;AAEjF;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAA;IACvC,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC/C,OAAO;QACL,UAAU;QACV,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAA;IACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA,CAAC,aAAa;IACtE,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC;KAC3B,CAAA;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,aAAa,GAAG,sBAAsB,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;;;OAGG;IACH,SAAS,CAAC,OAA6B;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,GAAG,GACP,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,aAAa,GAAG,GAAG,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,UAAkB;QAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,kEAAkE;gBAClE,oEAAoE,CACrE,CAAA;QACH,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,IAAI,GACR,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7C,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyB,CAAA;IACjD,CAAC;CACF,CAAA"}