@abbababa/sdk 0.3.0 → 0.4.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.
@@ -1,3 +1,4 @@
1
+ import { type Address } from 'viem';
1
2
  import { type TokenInfo } from './constants.js';
2
3
  import type { EscrowDetails, AgentStats } from '../types.js';
3
4
  /** Dispute resolution outcome */
@@ -19,9 +20,10 @@ export declare enum EscrowStatus {
19
20
  Abandoned = 7
20
21
  }
21
22
  /**
22
- * Client for interacting with the AbbababaEscrowV1 smart contract.
23
- * Supports UUPS upgradeable escrow with criteriaHash, 3-tier dispute resolution,
24
- * 24h dispute window, auto-release, and abandonment detection.
23
+ * Client for interacting with the AbbababaEscrowV2 smart contract.
24
+ * Supports UUPS upgradeable escrow with 2% platform fee,
25
+ * criteriaHash for AI dispute resolution, configurable dispute windows,
26
+ * and abandonment detection.
25
27
  * Uses a ZeroDev Kernel account client for sending UserOperations.
26
28
  */
27
29
  export declare class EscrowClient {
@@ -38,7 +40,7 @@ export declare class EscrowClient {
38
40
  static toEscrowId(transactionId: string): `0x${string}`;
39
41
  /**
40
42
  * Approve the escrow contract to spend the settlement token on behalf of the smart account.
41
- * Must be called before fundEscrow.
43
+ * Must be called before fundEscrow. Approves amount + 2% fee (calculatePlatformFee).
42
44
  */
43
45
  approveToken(amount: bigint): Promise<string>;
44
46
  /**
@@ -47,16 +49,18 @@ export declare class EscrowClient {
47
49
  */
48
50
  static toCriteriaHash(criteria: object | string): `0x${string}`;
49
51
  /**
50
- * Fund an escrow. Calls V1 createEscrow with 6 args including deadline and criteriaHash.
51
- * The contract will safeTransferFrom the token (amount + 1% buyer fee) from the caller.
52
+ * Fund an escrow. Calls V2 createEscrow with agent-negotiable parameters.
53
+ * The contract will safeTransferFrom the token (amount + 2% platform fee) from the caller.
52
54
  *
53
55
  * @param transactionId - Platform transaction ID (CUID)
54
56
  * @param sellerAddress - Seller's wallet address
55
57
  * @param amount - Amount in smallest token units (e.g., USDC with 6 decimals)
56
58
  * @param deadline - Unix timestamp for delivery deadline
57
- * @param criteriaHash - keccak256 hash of success criteria JSON (enables algorithmic dispute resolution)
59
+ * @param disputeWindow - Dispute window in seconds (0 = default 1 hour, min 5min, max 24hr)
60
+ * @param abandonmentGrace - Abandonment grace in seconds (0 = default 2 days, min 1hr, max 30 days)
61
+ * @param criteriaHash - keccak256 hash of success criteria JSON (enables AI dispute resolution)
58
62
  */
59
- fundEscrow(transactionId: string, sellerAddress: string, amount: bigint, deadline: bigint, criteriaHash?: `0x${string}`): Promise<string>;
63
+ fundEscrow(transactionId: string, sellerAddress: string, amount: bigint, deadline: bigint, disputeWindow?: bigint, abandonmentGrace?: bigint, criteriaHash?: `0x${string}`): Promise<string>;
60
64
  /**
61
65
  * Submit delivery proof on-chain. Called by the seller after completing work.
62
66
  */
@@ -66,25 +70,25 @@ export declare class EscrowClient {
66
70
  */
67
71
  acceptDelivery(transactionId: string): Promise<string>;
68
72
  /**
69
- * Finalize release after the 24h dispute window has passed without a dispute.
73
+ * Finalize release after the dispute window has passed without a dispute.
70
74
  * Can be called by anyone.
71
75
  */
72
76
  finalizeRelease(transactionId: string): Promise<string>;
73
77
  /**
74
- * Dispute a delivery within the 24h dispute window. Called by the buyer.
78
+ * Dispute a delivery within the dispute window. Called by the buyer.
75
79
  */
76
80
  disputeEscrow(transactionId: string): Promise<string>;
77
81
  /**
78
- * Claim funds for an abandoned escrow (deadline + 7 days passed with no delivery).
82
+ * Claim funds for an abandoned escrow (deadline + abandonmentGrace passed with no delivery).
79
83
  * Called by the buyer to reclaim funds.
80
84
  */
81
85
  claimAbandoned(transactionId: string): Promise<string>;
82
86
  /**
83
- * Read escrow details from the V1 contract (view function, no gas needed).
87
+ * Read escrow details from the V2 contract (view function, no gas needed).
84
88
  */
85
89
  getEscrow(transactionId: string): Promise<EscrowDetails | null>;
86
90
  /**
87
- * Check if the 24h dispute window is currently active for an escrow.
91
+ * Check if the dispute window is currently active for an escrow.
88
92
  */
89
93
  isDisputeWindowActive(transactionId: string): Promise<boolean>;
90
94
  /**
@@ -92,12 +96,12 @@ export declare class EscrowClient {
92
96
  */
93
97
  canFinalize(transactionId: string): Promise<boolean>;
94
98
  /**
95
- * Check if an escrow can be claimed as abandoned (deadline + 7 days passed).
99
+ * Check if an escrow can be claimed as abandoned (deadline + abandonmentGrace passed).
96
100
  */
97
101
  canClaimAbandoned(transactionId: string): Promise<boolean>;
98
102
  }
99
103
  /**
100
- * Read-only client for the AbbababaScoreV1 on-chain reputation system.
104
+ * Read-only client for the AbbababaScoreV2 on-chain reputation system.
101
105
  * No wallet needed — all methods are view functions.
102
106
  */
103
107
  export declare class ScoreClient {
@@ -111,12 +115,24 @@ export declare class ScoreClient {
111
115
  getScore(agentAddress: string): Promise<bigint>;
112
116
  /**
113
117
  * Get full agent stats from the reputation contract.
118
+ * V2: Returns score, jobs, disputes lost, abandoned, and max job value.
114
119
  */
115
120
  getAgentStats(agentAddress: string): Promise<AgentStats>;
121
+ /**
122
+ * Get maximum job value an agent can accept based on their score.
123
+ * V2: Score-based limits from $10 (score <10) to unlimited (score 100+).
124
+ * @returns Maximum job value in USDC (6 decimals)
125
+ */
126
+ getMaxJobValue(agentAddress: string): Promise<bigint>;
127
+ /**
128
+ * Get the Score contract address.
129
+ */
130
+ getScoreAddress(): Address;
116
131
  }
117
132
  /**
118
- * Client for interacting with the AbbababaResolverV1 contract.
119
- * Used for submitting dispute resolutions (requires appropriate role).
133
+ * Client for interacting with the AbbababaResolverV2 contract.
134
+ * Used for submitting AI dispute resolutions (requires RESOLVER_ROLE).
135
+ * V2 simplification: Single submitResolution function (no tier-specific functions).
120
136
  */
121
137
  export declare class ResolverClient {
122
138
  private kernelClient;
@@ -124,19 +140,9 @@ export declare class ResolverClient {
124
140
  private resolverAddress;
125
141
  constructor(kernelClient: unknown, chainId?: number);
126
142
  /**
127
- * Submit Tier 1 algorithmic resolution.
128
- * Requires ALGORITHM_ROLE on the resolver contract.
129
- */
130
- submitAlgorithmicResolution(transactionId: string, outcome: DisputeOutcome, buyerPercent: number, sellerPercent: number, reason: string): Promise<string>;
131
- /**
132
- * Submit Tier 2 peer arbitration result.
133
- * Requires PEER_ARBITER_ROLE on the resolver contract.
134
- */
135
- submitPeerArbitrationResult(transactionId: string, outcome: DisputeOutcome, buyerPercent: number, sellerPercent: number, reviewers: [string, string, string, string, string]): Promise<string>;
136
- /**
137
- * Submit Tier 3 human review result.
138
- * Requires HUMAN_REVIEWER_ROLE on the resolver contract.
143
+ * Submit AI dispute resolution.
144
+ * Requires RESOLVER_ROLE on the resolver contract.
139
145
  */
140
- submitHumanReview(transactionId: string, outcome: DisputeOutcome, buyerPercent: number, sellerPercent: number, reason: string): Promise<string>;
146
+ submitResolution(transactionId: string, outcome: DisputeOutcome, buyerPercent: number, sellerPercent: number, reasoning: string): Promise<string>;
141
147
  }
142
148
  //# sourceMappingURL=escrow.d.ts.map
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  import { encodeFunctionData, keccak256, toBytes, createPublicClient, http, } from 'viem';
2
2
  import { baseSepolia, base } from 'viem/chains';
3
3
  import { ABBABABA_ESCROW_ABI, ABBABABA_SCORE_ABI, ABBABABA_RESOLVER_ABI, ERC20_ABI } from './abi.js';
4
- import { ESCROW_V1_ADDRESSES, SCORE_V1_ADDRESSES, RESOLVER_V1_ADDRESSES, BASE_SEPOLIA_CHAIN_ID, BASE_MAINNET_CHAIN_ID, getToken, } from './constants.js';
4
+ import { ESCROW_V2_ADDRESSES, SCORE_V2_ADDRESSES, RESOLVER_V2_ADDRESSES, BASE_SEPOLIA_CHAIN_ID, BASE_MAINNET_CHAIN_ID, getToken, } from './constants.js';
5
5
  /** Dispute resolution outcome */
6
6
  export var DisputeOutcome;
7
7
  (function (DisputeOutcome) {
@@ -29,9 +29,10 @@ const CHAINS = {
29
29
  const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
30
30
  const ZERO_BYTES32 = '0x0000000000000000000000000000000000000000000000000000000000000000';
31
31
  /**
32
- * Client for interacting with the AbbababaEscrowV1 smart contract.
33
- * Supports UUPS upgradeable escrow with criteriaHash, 3-tier dispute resolution,
34
- * 24h dispute window, auto-release, and abandonment detection.
32
+ * Client for interacting with the AbbababaEscrowV2 smart contract.
33
+ * Supports UUPS upgradeable escrow with 2% platform fee,
34
+ * criteriaHash for AI dispute resolution, configurable dispute windows,
35
+ * and abandonment detection.
35
36
  * Uses a ZeroDev Kernel account client for sending UserOperations.
36
37
  */
37
38
  export class EscrowClient {
@@ -55,10 +56,10 @@ export class EscrowClient {
55
56
  this.tokenAddress = usdc.address;
56
57
  this.tokenDecimals = usdc.decimals;
57
58
  }
58
- const v1 = ESCROW_V1_ADDRESSES[chainId];
59
- if (!v1)
60
- throw new Error(`No V1 escrow contract for chain ${chainId}`);
61
- this.escrowAddress = v1;
59
+ const v2 = ESCROW_V2_ADDRESSES[chainId];
60
+ if (!v2)
61
+ throw new Error(`No V2 escrow contract for chain ${chainId}`);
62
+ this.escrowAddress = v2;
62
63
  }
63
64
  /**
64
65
  * Convert a platform transaction ID (CUID string) to a bytes32 escrow ID.
@@ -69,16 +70,13 @@ export class EscrowClient {
69
70
  }
70
71
  /**
71
72
  * Approve the escrow contract to spend the settlement token on behalf of the smart account.
72
- * Must be called before fundEscrow.
73
+ * Must be called before fundEscrow. Approves amount + 2% fee (calculatePlatformFee).
73
74
  */
74
75
  async approveToken(amount) {
75
- // Buyer fee is 1% (100 bps). Approve the total: amount + 1% fee
76
- const buyerFee = (amount * 100n) / 10000n;
77
- const totalApproval = amount + buyerFee;
78
76
  const data = encodeFunctionData({
79
77
  abi: ERC20_ABI,
80
78
  functionName: 'approve',
81
- args: [this.escrowAddress, totalApproval],
79
+ args: [this.escrowAddress, amount],
82
80
  });
83
81
  const txHash = await this.kernelClient.sendTransaction({
84
82
  to: this.tokenAddress,
@@ -95,21 +93,23 @@ export class EscrowClient {
95
93
  return keccak256(toBytes(json));
96
94
  }
97
95
  /**
98
- * Fund an escrow. Calls V1 createEscrow with 6 args including deadline and criteriaHash.
99
- * The contract will safeTransferFrom the token (amount + 1% buyer fee) from the caller.
96
+ * Fund an escrow. Calls V2 createEscrow with agent-negotiable parameters.
97
+ * The contract will safeTransferFrom the token (amount + 2% platform fee) from the caller.
100
98
  *
101
99
  * @param transactionId - Platform transaction ID (CUID)
102
100
  * @param sellerAddress - Seller's wallet address
103
101
  * @param amount - Amount in smallest token units (e.g., USDC with 6 decimals)
104
102
  * @param deadline - Unix timestamp for delivery deadline
105
- * @param criteriaHash - keccak256 hash of success criteria JSON (enables algorithmic dispute resolution)
103
+ * @param disputeWindow - Dispute window in seconds (0 = default 1 hour, min 5min, max 24hr)
104
+ * @param abandonmentGrace - Abandonment grace in seconds (0 = default 2 days, min 1hr, max 30 days)
105
+ * @param criteriaHash - keccak256 hash of success criteria JSON (enables AI dispute resolution)
106
106
  */
107
- async fundEscrow(transactionId, sellerAddress, amount, deadline, criteriaHash = '0x0000000000000000000000000000000000000000000000000000000000000000') {
107
+ async fundEscrow(transactionId, sellerAddress, amount, deadline, disputeWindow = 0n, abandonmentGrace = 0n, criteriaHash = '0x0000000000000000000000000000000000000000000000000000000000000000') {
108
108
  const escrowId = EscrowClient.toEscrowId(transactionId);
109
109
  const data = encodeFunctionData({
110
110
  abi: ABBABABA_ESCROW_ABI,
111
111
  functionName: 'createEscrow',
112
- args: [escrowId, sellerAddress, amount, this.tokenAddress, deadline, criteriaHash],
112
+ args: [escrowId, sellerAddress, amount, this.tokenAddress, deadline, disputeWindow, abandonmentGrace, criteriaHash],
113
113
  });
114
114
  const txHash = await this.kernelClient.sendTransaction({
115
115
  to: this.escrowAddress,
@@ -150,7 +150,7 @@ export class EscrowClient {
150
150
  return txHash;
151
151
  }
152
152
  /**
153
- * Finalize release after the 24h dispute window has passed without a dispute.
153
+ * Finalize release after the dispute window has passed without a dispute.
154
154
  * Can be called by anyone.
155
155
  */
156
156
  async finalizeRelease(transactionId) {
@@ -167,7 +167,7 @@ export class EscrowClient {
167
167
  return txHash;
168
168
  }
169
169
  /**
170
- * Dispute a delivery within the 24h dispute window. Called by the buyer.
170
+ * Dispute a delivery within the dispute window. Called by the buyer.
171
171
  */
172
172
  async disputeEscrow(transactionId) {
173
173
  const escrowId = EscrowClient.toEscrowId(transactionId);
@@ -183,7 +183,7 @@ export class EscrowClient {
183
183
  return txHash;
184
184
  }
185
185
  /**
186
- * Claim funds for an abandoned escrow (deadline + 7 days passed with no delivery).
186
+ * Claim funds for an abandoned escrow (deadline + abandonmentGrace passed with no delivery).
187
187
  * Called by the buyer to reclaim funds.
188
188
  */
189
189
  async claimAbandoned(transactionId) {
@@ -200,7 +200,7 @@ export class EscrowClient {
200
200
  return txHash;
201
201
  }
202
202
  /**
203
- * Read escrow details from the V1 contract (view function, no gas needed).
203
+ * Read escrow details from the V2 contract (view function, no gas needed).
204
204
  */
205
205
  async getEscrow(transactionId) {
206
206
  const escrowId = EscrowClient.toEscrowId(transactionId);
@@ -215,7 +215,7 @@ export class EscrowClient {
215
215
  functionName: 'getEscrow',
216
216
  args: [escrowId],
217
217
  });
218
- const [token, buyer, seller, amount, buyerFee, status, createdAt, deadline, deliveredAt, proofHash, criteriaHash] = result;
218
+ const [token, buyer, seller, lockedAmount, platformFee, status, createdAt, deadline, disputeWindow, abandonmentGrace, deliveredAt, proofHash, criteriaHash] = result;
219
219
  if (buyer === ZERO_ADDRESS) {
220
220
  return null;
221
221
  }
@@ -223,18 +223,20 @@ export class EscrowClient {
223
223
  token,
224
224
  buyer,
225
225
  seller,
226
- amount,
227
- buyerFee,
226
+ lockedAmount,
227
+ platformFee,
228
228
  status,
229
229
  createdAt: Number(createdAt),
230
230
  deadline: Number(deadline),
231
+ disputeWindow: Number(disputeWindow),
232
+ abandonmentGrace: Number(abandonmentGrace),
231
233
  deliveredAt: Number(deliveredAt),
232
234
  proofHash: proofHash === ZERO_BYTES32 ? null : proofHash,
233
235
  criteriaHash: criteriaHash === ZERO_BYTES32 ? null : criteriaHash,
234
236
  };
235
237
  }
236
238
  /**
237
- * Check if the 24h dispute window is currently active for an escrow.
239
+ * Check if the dispute window is currently active for an escrow.
238
240
  */
239
241
  async isDisputeWindowActive(transactionId) {
240
242
  const escrowId = EscrowClient.toEscrowId(transactionId);
@@ -270,7 +272,7 @@ export class EscrowClient {
270
272
  return result;
271
273
  }
272
274
  /**
273
- * Check if an escrow can be claimed as abandoned (deadline + 7 days passed).
275
+ * Check if an escrow can be claimed as abandoned (deadline + abandonmentGrace passed).
274
276
  */
275
277
  async canClaimAbandoned(transactionId) {
276
278
  const escrowId = EscrowClient.toEscrowId(transactionId);
@@ -289,7 +291,7 @@ export class EscrowClient {
289
291
  }
290
292
  }
291
293
  /**
292
- * Read-only client for the AbbababaScoreV1 on-chain reputation system.
294
+ * Read-only client for the AbbababaScoreV2 on-chain reputation system.
293
295
  * No wallet needed — all methods are view functions.
294
296
  */
295
297
  export class ScoreClient {
@@ -297,7 +299,7 @@ export class ScoreClient {
297
299
  scoreAddress;
298
300
  constructor(chainId = BASE_SEPOLIA_CHAIN_ID) {
299
301
  this.chainId = chainId;
300
- const addr = SCORE_V1_ADDRESSES[chainId];
302
+ const addr = SCORE_V2_ADDRESSES[chainId];
301
303
  if (!addr)
302
304
  throw new Error(`No Score contract for chain ${chainId}`);
303
305
  this.scoreAddress = addr;
@@ -324,36 +326,51 @@ export class ScoreClient {
324
326
  }
325
327
  /**
326
328
  * Get full agent stats from the reputation contract.
329
+ * V2: Returns score, jobs, disputes lost, abandoned, and max job value.
327
330
  */
328
331
  async getAgentStats(agentAddress) {
329
332
  const publicClient = this.getPublicClient();
330
- const [score, stats] = await Promise.all([
331
- publicClient.readContract({
332
- address: this.scoreAddress,
333
- abi: ABBABABA_SCORE_ABI,
334
- functionName: 'getScore',
335
- args: [agentAddress],
336
- }),
337
- publicClient.readContract({
338
- address: this.scoreAddress,
339
- abi: ABBABABA_SCORE_ABI,
340
- functionName: 'getStats',
341
- args: [agentAddress],
342
- }),
343
- ]);
344
- const [jobsCompleted, disputesLost, abandonments, lastActiveBlock] = stats;
333
+ const stats = await publicClient.readContract({
334
+ address: this.scoreAddress,
335
+ abi: ABBABABA_SCORE_ABI,
336
+ functionName: 'getAgentStats',
337
+ args: [agentAddress],
338
+ });
339
+ const [score, jobs, lostDisputes, abandoned, maxJobValue] = stats;
345
340
  return {
346
- score: score,
347
- totalJobs: jobsCompleted,
348
- disputesLost,
349
- jobsAbandoned: abandonments,
350
- needsBond: score < 0n,
341
+ score,
342
+ totalJobs: jobs,
343
+ disputesLost: lostDisputes,
344
+ jobsAbandoned: abandoned,
345
+ maxJobValue,
351
346
  };
352
347
  }
348
+ /**
349
+ * Get maximum job value an agent can accept based on their score.
350
+ * V2: Score-based limits from $10 (score <10) to unlimited (score 100+).
351
+ * @returns Maximum job value in USDC (6 decimals)
352
+ */
353
+ async getMaxJobValue(agentAddress) {
354
+ const publicClient = this.getPublicClient();
355
+ const result = await publicClient.readContract({
356
+ address: this.scoreAddress,
357
+ abi: ABBABABA_SCORE_ABI,
358
+ functionName: 'getMaxJobValue',
359
+ args: [agentAddress],
360
+ });
361
+ return result;
362
+ }
363
+ /**
364
+ * Get the Score contract address.
365
+ */
366
+ getScoreAddress() {
367
+ return this.scoreAddress;
368
+ }
353
369
  }
354
370
  /**
355
- * Client for interacting with the AbbababaResolverV1 contract.
356
- * Used for submitting dispute resolutions (requires appropriate role).
371
+ * Client for interacting with the AbbababaResolverV2 contract.
372
+ * Used for submitting AI dispute resolutions (requires RESOLVER_ROLE).
373
+ * V2 simplification: Single submitResolution function (no tier-specific functions).
357
374
  */
358
375
  export class ResolverClient {
359
376
  kernelClient;
@@ -362,55 +379,21 @@ export class ResolverClient {
362
379
  constructor(kernelClient, chainId = BASE_SEPOLIA_CHAIN_ID) {
363
380
  this.kernelClient = kernelClient;
364
381
  this.chainId = chainId;
365
- const addr = RESOLVER_V1_ADDRESSES[chainId];
382
+ const addr = RESOLVER_V2_ADDRESSES[chainId];
366
383
  if (!addr)
367
384
  throw new Error(`No Resolver contract for chain ${chainId}`);
368
385
  this.resolverAddress = addr;
369
386
  }
370
387
  /**
371
- * Submit Tier 1 algorithmic resolution.
372
- * Requires ALGORITHM_ROLE on the resolver contract.
373
- */
374
- async submitAlgorithmicResolution(transactionId, outcome, buyerPercent, sellerPercent, reason) {
375
- const escrowId = EscrowClient.toEscrowId(transactionId);
376
- const data = encodeFunctionData({
377
- abi: ABBABABA_RESOLVER_ABI,
378
- functionName: 'submitAlgorithmicResolution',
379
- args: [escrowId, outcome, BigInt(buyerPercent), BigInt(sellerPercent), reason],
380
- });
381
- const txHash = await this.kernelClient.sendTransaction({
382
- to: this.resolverAddress,
383
- data,
384
- });
385
- return txHash;
386
- }
387
- /**
388
- * Submit Tier 2 peer arbitration result.
389
- * Requires PEER_ARBITER_ROLE on the resolver contract.
390
- */
391
- async submitPeerArbitrationResult(transactionId, outcome, buyerPercent, sellerPercent, reviewers) {
392
- const escrowId = EscrowClient.toEscrowId(transactionId);
393
- const data = encodeFunctionData({
394
- abi: ABBABABA_RESOLVER_ABI,
395
- functionName: 'submitPeerArbitrationResult',
396
- args: [escrowId, outcome, BigInt(buyerPercent), BigInt(sellerPercent), reviewers],
397
- });
398
- const txHash = await this.kernelClient.sendTransaction({
399
- to: this.resolverAddress,
400
- data,
401
- });
402
- return txHash;
403
- }
404
- /**
405
- * Submit Tier 3 human review result.
406
- * Requires HUMAN_REVIEWER_ROLE on the resolver contract.
388
+ * Submit AI dispute resolution.
389
+ * Requires RESOLVER_ROLE on the resolver contract.
407
390
  */
408
- async submitHumanReview(transactionId, outcome, buyerPercent, sellerPercent, reason) {
391
+ async submitResolution(transactionId, outcome, buyerPercent, sellerPercent, reasoning) {
409
392
  const escrowId = EscrowClient.toEscrowId(transactionId);
410
393
  const data = encodeFunctionData({
411
394
  abi: ABBABABA_RESOLVER_ABI,
412
- functionName: 'submitHumanReview',
413
- args: [escrowId, outcome, BigInt(buyerPercent), BigInt(sellerPercent), reason],
395
+ functionName: 'submitResolution',
396
+ args: [escrowId, outcome, BigInt(buyerPercent), BigInt(sellerPercent), reasoning],
414
397
  });
415
398
  const txHash = await this.kernelClient.sendTransaction({
416
399
  to: this.resolverAddress,
@@ -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,6 @@
1
1
  export { createSmartAccount, buildKernelClient } from './smart-account.js';
2
2
  export { EscrowClient, ScoreClient, ResolverClient, DisputeOutcome, EscrowStatus } from './escrow.js';
3
3
  export { generateSessionKey, useSessionKey, revokeSessionKey, buildEscrowPolicies, } from './session-keys.js';
4
- export { ESCROW_V1_ADDRESSES, SCORE_V1_ADDRESSES, RESOLVER_V1_ADDRESSES, REVIEWER_PAYMENT_V1_ADDRESSES, MOCK_USDC_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';
4
+ export { ESCROW_V2_ADDRESSES, SCORE_V2_ADDRESSES, RESOLVER_V2_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
5
  export type { TokenInfo } from './constants.js';
6
6
  //# 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,6BAA6B,EAC7B,mBAAmB,EAEnB,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,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,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"}
@@ -2,10 +2,10 @@ export { createSmartAccount, buildKernelClient } from './smart-account.js';
2
2
  export { EscrowClient, ScoreClient, ResolverClient, DisputeOutcome, EscrowStatus } from './escrow.js';
3
3
  export { generateSessionKey, useSessionKey, revokeSessionKey, buildEscrowPolicies, } from './session-keys.js';
4
4
  export {
5
- // V1 contract addresses (UUPS Upgradeable - 2026-02-10)
6
- ESCROW_V1_ADDRESSES, SCORE_V1_ADDRESSES, RESOLVER_V1_ADDRESSES, REVIEWER_PAYMENT_V1_ADDRESSES, MOCK_USDC_ADDRESSES,
7
- // Legacy aliases (deprecated)
8
- ESCROW_V4_ADDRESSES, SCORE_ADDRESSES,
5
+ // V2 contract addresses (UUPS Upgradeable - 2026-02-14)
6
+ ESCROW_V2_ADDRESSES, SCORE_V2_ADDRESSES, RESOLVER_V2_ADDRESSES, MOCK_USDC_ADDRESSES,
7
+ // Legacy V1 addresses (deprecated)
8
+ ESCROW_V1_ADDRESSES, SCORE_V1_ADDRESSES, ESCROW_V4_ADDRESSES, SCORE_ADDRESSES,
9
9
  // Token registry
10
10
  TOKEN_REGISTRY, getToken, getTokensByTier, isTokenSupported,
11
11
  // Chain IDs
@@ -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,6BAA6B,EAC7B,mBAAmB;AACnB,8BAA8B;AAC9B,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,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abbababa/sdk",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "description": "TypeScript SDK for the Abbababa A2A Settlement Platform",
6
6
  "main": "dist/index.js",