@antseed/node 0.2.26 → 0.2.27

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 (111) hide show
  1. package/README.md +74 -1
  2. package/dist/discovery/announcer.d.ts +2 -0
  3. package/dist/discovery/announcer.d.ts.map +1 -1
  4. package/dist/discovery/announcer.js +10 -6
  5. package/dist/discovery/announcer.js.map +1 -1
  6. package/dist/discovery/index.d.ts +0 -1
  7. package/dist/discovery/index.d.ts.map +1 -1
  8. package/dist/discovery/index.js +0 -1
  9. package/dist/discovery/index.js.map +1 -1
  10. package/dist/discovery/reputation-verifier.d.ts +7 -4
  11. package/dist/discovery/reputation-verifier.d.ts.map +1 -1
  12. package/dist/discovery/reputation-verifier.js +33 -9
  13. package/dist/discovery/reputation-verifier.js.map +1 -1
  14. package/dist/index.d.ts +12 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +6 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/node.d.ts +60 -33
  19. package/dist/node.d.ts.map +1 -1
  20. package/dist/node.js +640 -324
  21. package/dist/node.js.map +1 -1
  22. package/dist/p2p/connection-manager.d.ts.map +1 -1
  23. package/dist/p2p/connection-manager.js +6 -0
  24. package/dist/p2p/connection-manager.js.map +1 -1
  25. package/dist/p2p/identity.d.ts +27 -3
  26. package/dist/p2p/identity.d.ts.map +1 -1
  27. package/dist/p2p/identity.js +52 -13
  28. package/dist/p2p/identity.js.map +1 -1
  29. package/dist/p2p/index.d.ts +0 -2
  30. package/dist/p2p/index.d.ts.map +1 -1
  31. package/dist/p2p/index.js +0 -2
  32. package/dist/p2p/index.js.map +1 -1
  33. package/dist/p2p/payment-codec.d.ts +7 -13
  34. package/dist/p2p/payment-codec.d.ts.map +1 -1
  35. package/dist/p2p/payment-codec.js +32 -50
  36. package/dist/p2p/payment-codec.js.map +1 -1
  37. package/dist/p2p/payment-mux.d.ts +11 -20
  38. package/dist/p2p/payment-mux.d.ts.map +1 -1
  39. package/dist/p2p/payment-mux.js +36 -52
  40. package/dist/p2p/payment-mux.js.map +1 -1
  41. package/dist/payments/buyer-payment-manager.d.ts +34 -93
  42. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  43. package/dist/payments/buyer-payment-manager.js +184 -189
  44. package/dist/payments/buyer-payment-manager.js.map +1 -1
  45. package/dist/payments/chain-config.d.ts +38 -0
  46. package/dist/payments/chain-config.d.ts.map +1 -0
  47. package/dist/payments/chain-config.js +60 -0
  48. package/dist/payments/chain-config.js.map +1 -0
  49. package/dist/payments/evm/ants-token-client.d.ts +16 -0
  50. package/dist/payments/evm/ants-token-client.d.ts.map +1 -0
  51. package/dist/payments/evm/ants-token-client.js +66 -0
  52. package/dist/payments/evm/ants-token-client.js.map +1 -0
  53. package/dist/payments/evm/base-evm-client.d.ts +13 -0
  54. package/dist/payments/evm/base-evm-client.d.ts.map +1 -0
  55. package/dist/payments/evm/base-evm-client.js +38 -0
  56. package/dist/payments/evm/base-evm-client.js.map +1 -0
  57. package/dist/payments/evm/emissions-client.d.ts +23 -0
  58. package/dist/payments/evm/emissions-client.d.ts.map +1 -0
  59. package/dist/payments/evm/emissions-client.js +84 -0
  60. package/dist/payments/evm/emissions-client.js.map +1 -0
  61. package/dist/payments/evm/escrow-client.d.ts +57 -36
  62. package/dist/payments/evm/escrow-client.d.ts.map +1 -1
  63. package/dist/payments/evm/escrow-client.js +200 -93
  64. package/dist/payments/evm/escrow-client.js.map +1 -1
  65. package/dist/payments/evm/identity-client.d.ts +34 -0
  66. package/dist/payments/evm/identity-client.d.ts.map +1 -0
  67. package/dist/payments/evm/identity-client.js +125 -0
  68. package/dist/payments/evm/identity-client.js.map +1 -0
  69. package/dist/payments/evm/signatures.d.ts +18 -5
  70. package/dist/payments/evm/signatures.d.ts.map +1 -1
  71. package/dist/payments/evm/signatures.js +21 -12
  72. package/dist/payments/evm/signatures.js.map +1 -1
  73. package/dist/payments/evm/subpool-client.d.ts +30 -0
  74. package/dist/payments/evm/subpool-client.d.ts.map +1 -0
  75. package/dist/payments/evm/subpool-client.js +158 -0
  76. package/dist/payments/evm/subpool-client.js.map +1 -0
  77. package/dist/payments/index.d.ts +20 -7
  78. package/dist/payments/index.d.ts.map +1 -1
  79. package/dist/payments/index.js +17 -6
  80. package/dist/payments/index.js.map +1 -1
  81. package/dist/payments/readiness.d.ts +12 -0
  82. package/dist/payments/readiness.d.ts.map +1 -0
  83. package/dist/payments/readiness.js +64 -0
  84. package/dist/payments/readiness.js.map +1 -0
  85. package/dist/payments/seller-payment-manager.d.ts +74 -34
  86. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  87. package/dist/payments/seller-payment-manager.js +327 -118
  88. package/dist/payments/seller-payment-manager.js.map +1 -1
  89. package/dist/payments/session-store.d.ts +65 -0
  90. package/dist/payments/session-store.d.ts.map +1 -0
  91. package/dist/payments/session-store.js +243 -0
  92. package/dist/payments/session-store.js.map +1 -0
  93. package/dist/payments/usdc-utils.d.ts +9 -0
  94. package/dist/payments/usdc-utils.d.ts.map +1 -0
  95. package/dist/payments/usdc-utils.js +17 -0
  96. package/dist/payments/usdc-utils.js.map +1 -0
  97. package/dist/types/http.d.ts +2 -0
  98. package/dist/types/http.d.ts.map +1 -1
  99. package/dist/types/http.js +2 -0
  100. package/dist/types/http.js.map +1 -1
  101. package/dist/types/index.d.ts +0 -1
  102. package/dist/types/index.d.ts.map +1 -1
  103. package/dist/types/index.js +0 -1
  104. package/dist/types/index.js.map +1 -1
  105. package/dist/types/metering.d.ts +1 -1
  106. package/dist/types/metering.d.ts.map +1 -1
  107. package/dist/types/protocol.d.ts +43 -60
  108. package/dist/types/protocol.d.ts.map +1 -1
  109. package/dist/types/protocol.js +5 -8
  110. package/dist/types/protocol.js.map +1 -1
  111. package/package.json +3 -2
@@ -1,131 +1,200 @@
1
- import { Contract, JsonRpcProvider } from 'ethers';
1
+ import { Contract } from 'ethers';
2
+ import { BaseEvmClient } from './base-evm-client.js';
2
3
  const ESCROW_ABI = [
3
- // Deposit & Withdraw
4
+ // Buyer operations
4
5
  'function deposit(uint256 amount) external',
5
- 'function withdraw(uint256 amount) external',
6
- // Session lifecycle
7
- 'function commitLock(bytes32 sessionId, address buyer, uint256 amount, bytes calldata buyerSig) external',
8
- 'function extendLock(bytes32 sessionId, uint256 additionalAmount, bytes calldata buyerSig) external',
9
- 'function settle(bytes32 sessionId, uint256 runningTotal, uint8 score, bytes calldata buyerSig) external',
10
- // Disputes
11
- 'function openDispute(bytes32 sessionId, uint256 claimedAmount) external',
12
- 'function respondDispute(bytes32 sessionId) external',
13
- 'function resolveDispute(bytes32 sessionId) external',
14
- // Expired lock
15
- 'function releaseExpiredLock(bytes32 sessionId) external',
6
+ 'function depositFor(address buyer, uint256 amount) external',
7
+ 'function requestWithdrawal(uint256 amount) external',
8
+ 'function executeWithdrawal() external',
9
+ 'function cancelWithdrawal() external',
10
+ // Seller operations
11
+ 'function stake(uint256 amount) external',
12
+ 'function unstake() external',
13
+ 'function setTokenRate(uint256 rate) external',
14
+ 'function claimEarnings() external',
15
+ // Core — reserve & settle
16
+ 'function reserve(address buyer, bytes32 sessionId, uint256 maxAmount, uint256 nonce, uint256 deadline, uint256 previousConsumption, bytes32 previousSessionId, bytes calldata buyerSig) external',
17
+ 'function settle(bytes32 sessionId, uint256 tokenCount) external',
18
+ 'function settleTimeout(bytes32 sessionId) external',
16
19
  // View functions
17
- 'function buyers(address) external view returns (uint256 deposited, uint256 committed)',
18
- 'function sessions(bytes32) external view returns (address buyer, address seller, uint256 lockedAmount, uint8 status, uint64 expiresAt, uint256 settledAmount, uint8 score, uint256 disputeClaimedAmount, uint64 disputeOpenedAt, bool disputeBuyerResponded, bool exists)',
19
- 'function reputations(address) external view returns (uint256 totalWeightedScore, uint256 totalWeight, uint256 sessionCount, uint256 disputeCount)',
20
+ 'function getBuyerBalance(address buyer) external view returns (uint256 available, uint256 reserved, uint256 pendingWithdrawal, uint256 lastActivityAt)',
21
+ 'function getBuyerCreditLimit(address buyer) external view returns (uint256)',
22
+ 'function getSellerAccount(address seller) external view returns (uint256 stake, uint256 earnings, uint256 stakedAt, uint256 tokenRate)',
23
+ 'function domainSeparator() external view returns (bytes32)',
24
+ 'function FIRST_SIGN_CAP() external view returns (uint256)',
25
+ 'function PROVEN_SIGN_COOLDOWN() external view returns (uint256)',
26
+ 'function latestSessionId(address buyer, address seller) external view returns (bytes32)',
27
+ 'function firstSessionTimestamp(address buyer, address seller) external view returns (uint256)',
28
+ 'function sessions(bytes32 sessionId) external view returns (address buyer, address seller, uint256 maxAmount, uint256 nonce, uint256 deadline, uint256 previousConsumption, bytes32 previousSessionId, uint256 reservedAt, uint256 settledAmount, uint256 settledTokenCount, uint256 tokenRate, uint8 status, bool isFirstSign, bool isProvenSign, bool isQualifiedProvenSign)',
20
29
  ];
21
30
  const ERC20_ABI = [
22
31
  'function approve(address spender, uint256 amount) external returns (bool)',
23
32
  'function balanceOf(address owner) external view returns (uint256)',
24
33
  'function allowance(address owner, address spender) external view returns (uint256)',
25
34
  ];
26
- export class BaseEscrowClient {
27
- _provider;
28
- _contractAddress;
35
+ export class BaseEscrowClient extends BaseEvmClient {
29
36
  _usdcAddress;
30
- _nonceCursor = new Map();
31
37
  constructor(config) {
32
- this._provider = new JsonRpcProvider(config.rpcUrl);
33
- this._contractAddress = config.contractAddress;
38
+ super(config.rpcUrl, config.contractAddress);
34
39
  this._usdcAddress = config.usdcAddress;
35
40
  }
36
- get provider() { return this._provider; }
37
- get contractAddress() { return this._contractAddress; }
38
41
  get usdcAddress() { return this._usdcAddress; }
39
- _ensureConnected(signer) {
40
- if (signer.provider) {
41
- return signer;
42
- }
43
- return signer.connect(this._provider);
44
- }
45
- async reserveNonce(address) {
46
- const networkNonce = await this._provider.getTransactionCount(address, 'pending');
47
- const cachedNext = this._nonceCursor.get(address);
48
- const nonce = cachedNext === undefined ? networkNonce : Math.max(networkNonce, cachedNext);
49
- this._nonceCursor.set(address, nonce + 1);
50
- return nonce;
51
- }
52
42
  async _prepareEscrowWrite(signer) {
53
43
  const connected = this._ensureConnected(signer);
54
44
  const signerAddress = await connected.getAddress();
55
- const nonce = await this.reserveNonce(signerAddress);
45
+ const nonce = await this._reserveNonce(signerAddress);
56
46
  const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
57
47
  return { contract, nonce };
58
48
  }
49
+ // ─── Buyer Operations ──────────────────────────────────────────────
59
50
  async deposit(signer, amount) {
60
51
  const connected = this._ensureConnected(signer);
61
52
  const signerAddress = await connected.getAddress();
62
53
  const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
63
- const approveNonce = await this.reserveNonce(signerAddress);
54
+ const approveNonce = await this._reserveNonce(signerAddress);
64
55
  const approveTx = await usdc.getFunction('approve')(this._contractAddress, amount, { nonce: approveNonce });
65
- await approveTx.wait();
56
+ const approveReceipt = await approveTx.wait();
57
+ if (!approveReceipt)
58
+ throw new Error('Transaction was dropped or replaced');
66
59
  const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
67
- const depositNonce = await this.reserveNonce(signerAddress);
60
+ const depositNonce = await this._reserveNonce(signerAddress);
68
61
  const tx = await contract.getFunction('deposit')(amount, { nonce: depositNonce });
69
62
  const receipt = await tx.wait();
63
+ if (!receipt)
64
+ throw new Error('Transaction was dropped or replaced');
65
+ return receipt.hash;
66
+ }
67
+ async depositFor(signer, buyer, amount) {
68
+ const connected = this._ensureConnected(signer);
69
+ const signerAddress = await connected.getAddress();
70
+ const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
71
+ const approveNonce = await this._reserveNonce(signerAddress);
72
+ const approveTx = await usdc.getFunction('approve')(this._contractAddress, amount, { nonce: approveNonce });
73
+ const approveReceipt = await approveTx.wait();
74
+ if (!approveReceipt)
75
+ throw new Error('Transaction was dropped or replaced');
76
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
77
+ const depositNonce = await this._reserveNonce(signerAddress);
78
+ const tx = await contract.getFunction('depositFor')(buyer, amount, { nonce: depositNonce });
79
+ const receipt = await tx.wait();
80
+ if (!receipt)
81
+ throw new Error('Transaction was dropped or replaced');
70
82
  return receipt.hash;
71
83
  }
72
- async withdraw(signer, amount) {
84
+ async requestWithdrawal(signer, amount) {
73
85
  const { contract, nonce } = await this._prepareEscrowWrite(signer);
74
- const tx = await contract.getFunction('withdraw')(amount, { nonce });
86
+ const tx = await contract.getFunction('requestWithdrawal')(amount, { nonce });
75
87
  const receipt = await tx.wait();
88
+ if (!receipt)
89
+ throw new Error('Transaction was dropped or replaced');
76
90
  return receipt.hash;
77
91
  }
78
- async commitLock(seller, buyerAddr, sessionId, amount, buyerSig) {
79
- const { contract, nonce } = await this._prepareEscrowWrite(seller);
80
- const tx = await contract.getFunction('commitLock')(sessionId, buyerAddr, amount, buyerSig, { nonce });
92
+ async executeWithdrawal(signer) {
93
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
94
+ const tx = await contract.getFunction('executeWithdrawal')({ nonce });
81
95
  const receipt = await tx.wait();
96
+ if (!receipt)
97
+ throw new Error('Transaction was dropped or replaced');
82
98
  return receipt.hash;
83
99
  }
84
- async extendLock(seller, sessionId, additionalAmount, buyerSig) {
85
- const { contract, nonce } = await this._prepareEscrowWrite(seller);
86
- const tx = await contract.getFunction('extendLock')(sessionId, additionalAmount, buyerSig, { nonce });
100
+ async cancelWithdrawal(signer) {
101
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
102
+ const tx = await contract.getFunction('cancelWithdrawal')({ nonce });
87
103
  const receipt = await tx.wait();
104
+ if (!receipt)
105
+ throw new Error('Transaction was dropped or replaced');
88
106
  return receipt.hash;
89
107
  }
90
- async settle(seller, sessionId, runningTotal, score, buyerSig) {
91
- const { contract, nonce } = await this._prepareEscrowWrite(seller);
92
- const tx = await contract.getFunction('settle')(sessionId, runningTotal, score, buyerSig, { nonce });
108
+ // ─── Seller Operations ─────────────────────────────────────────────
109
+ async stake(signer, amount) {
110
+ const connected = this._ensureConnected(signer);
111
+ const signerAddress = await connected.getAddress();
112
+ const usdc = new Contract(this._usdcAddress, ERC20_ABI, connected);
113
+ const approveNonce = await this._reserveNonce(signerAddress);
114
+ const approveTx = await usdc.getFunction('approve')(this._contractAddress, amount, { nonce: approveNonce });
115
+ const approveReceipt = await approveTx.wait();
116
+ if (!approveReceipt)
117
+ throw new Error('Transaction was dropped or replaced');
118
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, connected);
119
+ const stakeNonce = await this._reserveNonce(signerAddress);
120
+ const tx = await contract.getFunction('stake')(amount, { nonce: stakeNonce });
93
121
  const receipt = await tx.wait();
122
+ if (!receipt)
123
+ throw new Error('Transaction was dropped or replaced');
94
124
  return receipt.hash;
95
125
  }
96
- async openDispute(caller, sessionId, claimedAmount) {
97
- const { contract, nonce } = await this._prepareEscrowWrite(caller);
98
- const tx = await contract.getFunction('openDispute')(sessionId, claimedAmount, { nonce });
126
+ async unstake(signer) {
127
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
128
+ const tx = await contract.getFunction('unstake')({ nonce });
99
129
  const receipt = await tx.wait();
130
+ if (!receipt)
131
+ throw new Error('Transaction was dropped or replaced');
100
132
  return receipt.hash;
101
133
  }
102
- async respondDispute(buyer, sessionId) {
103
- const { contract, nonce } = await this._prepareEscrowWrite(buyer);
104
- const tx = await contract.getFunction('respondDispute')(sessionId, { nonce });
134
+ async setTokenRate(signer, rate) {
135
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
136
+ const tx = await contract.getFunction('setTokenRate')(rate, { nonce });
105
137
  const receipt = await tx.wait();
138
+ if (!receipt)
139
+ throw new Error('Transaction was dropped or replaced');
106
140
  return receipt.hash;
107
141
  }
108
- async resolveDispute(caller, sessionId) {
109
- const { contract, nonce } = await this._prepareEscrowWrite(caller);
110
- const tx = await contract.getFunction('resolveDispute')(sessionId, { nonce });
142
+ async claimEarnings(signer) {
143
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
144
+ const tx = await contract.getFunction('claimEarnings')({ nonce });
111
145
  const receipt = await tx.wait();
146
+ if (!receipt)
147
+ throw new Error('Transaction was dropped or replaced');
112
148
  return receipt.hash;
113
149
  }
114
- async releaseExpiredLock(buyer, sessionId) {
115
- const { contract, nonce } = await this._prepareEscrowWrite(buyer);
116
- const tx = await contract.getFunction('releaseExpiredLock')(sessionId, { nonce });
150
+ // ─── Core — Reserve & Settle ───────────────────────────────────────
151
+ async reserve(signer, buyer, sessionId, maxAmount, nonce, deadline, previousConsumption, previousSessionId, buyerSig) {
152
+ const { contract, nonce: txNonce } = await this._prepareEscrowWrite(signer);
153
+ const tx = await contract.getFunction('reserve')(buyer, sessionId, maxAmount, nonce, deadline, previousConsumption, previousSessionId, buyerSig, { nonce: txNonce });
117
154
  const receipt = await tx.wait();
155
+ if (!receipt)
156
+ throw new Error('Transaction was dropped or replaced');
118
157
  return receipt.hash;
119
158
  }
120
- async getBuyerAccount(buyerAddr) {
159
+ async settle(signer, sessionId, tokenCount) {
160
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
161
+ const tx = await contract.getFunction('settle')(sessionId, tokenCount, { nonce });
162
+ const receipt = await tx.wait();
163
+ if (!receipt)
164
+ throw new Error('Transaction was dropped or replaced');
165
+ return receipt.hash;
166
+ }
167
+ async settleTimeout(signer, sessionId) {
168
+ const { contract, nonce } = await this._prepareEscrowWrite(signer);
169
+ const tx = await contract.getFunction('settleTimeout')(sessionId, { nonce });
170
+ const receipt = await tx.wait();
171
+ if (!receipt)
172
+ throw new Error('Transaction was dropped or replaced');
173
+ return receipt.hash;
174
+ }
175
+ // ─── View Functions ────────────────────────────────────────────────
176
+ async getBuyerBalance(buyerAddr) {
177
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
178
+ const result = await contract.getFunction('getBuyerBalance')(buyerAddr);
179
+ return {
180
+ available: result[0],
181
+ reserved: result[1],
182
+ pendingWithdrawal: result[2],
183
+ lastActivityAt: result[3],
184
+ };
185
+ }
186
+ async getBuyerCreditLimit(buyerAddr) {
187
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
188
+ return contract.getFunction('getBuyerCreditLimit')(buyerAddr);
189
+ }
190
+ async getSellerAccount(sellerAddr) {
121
191
  const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
122
- const result = await contract.getFunction('buyers')(buyerAddr);
123
- const deposited = result[0];
124
- const committed = result[1];
192
+ const result = await contract.getFunction('getSellerAccount')(sellerAddr);
125
193
  return {
126
- deposited,
127
- committed,
128
- available: deposited - committed,
194
+ stake: result[0],
195
+ earnings: result[1],
196
+ stakedAt: result[2],
197
+ tokenRate: result[3],
129
198
  };
130
199
  }
131
200
  async getSession(sessionId) {
@@ -134,32 +203,70 @@ export class BaseEscrowClient {
134
203
  return {
135
204
  buyer: result[0],
136
205
  seller: result[1],
137
- lockedAmount: result[2],
138
- status: Number(result[3]),
139
- expiresAt: Number(result[4]),
140
- settledAmount: result[5],
141
- score: Number(result[6]),
142
- disputeClaimedAmount: result[7],
143
- disputeOpenedAt: Number(result[8]),
144
- disputeBuyerResponded: result[9],
206
+ maxAmount: result[2],
207
+ nonce: result[3],
208
+ deadline: result[4],
209
+ previousConsumption: result[5],
210
+ previousSessionId: result[6],
211
+ reservedAt: result[7],
212
+ settledAmount: result[8],
213
+ settledTokenCount: result[9],
214
+ tokenRate: result[10],
215
+ status: Number(result[11]),
216
+ isFirstSign: result[12],
217
+ isProvenSign: result[13],
218
+ isQualifiedProvenSign: result[14],
145
219
  };
146
220
  }
147
- async getReputation(sellerAddr) {
221
+ async domainSeparator() {
222
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
223
+ return contract.getFunction('domainSeparator')();
224
+ }
225
+ async getFirstSignCap() {
148
226
  const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
149
- const result = await contract.getFunction('reputations')(sellerAddr);
150
- const totalWeightedScore = result[0];
151
- const totalWeight = result[1];
152
- const sessionCount = Number(result[2]);
153
- const disputeCount = Number(result[3]);
154
- const weightedAverage = totalWeight > 0n
155
- ? Number(totalWeightedScore / totalWeight)
156
- : 50;
227
+ return contract.getFunction('FIRST_SIGN_CAP')();
228
+ }
229
+ async getLatestSessionId(buyerAddr, sellerAddr) {
230
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
231
+ return contract.getFunction('latestSessionId')(buyerAddr, sellerAddr);
232
+ }
233
+ async getFirstSessionTimestamp(buyerAddr, sellerAddr) {
234
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
235
+ return contract.getFunction('firstSessionTimestamp')(buyerAddr, sellerAddr);
236
+ }
237
+ async getProvenSignCooldown() {
238
+ const contract = new Contract(this._contractAddress, ESCROW_ABI, this._provider);
239
+ return contract.getFunction('PROVEN_SIGN_COOLDOWN')();
240
+ }
241
+ /**
242
+ * Fetch all data the buyer needs to display a payment approval card.
243
+ * Batches multiple view calls in parallel.
244
+ */
245
+ async getBuyerApprovalContext(buyerAddr, sellerAddr) {
246
+ const ZERO_BYTES32 = '0x' + '00'.repeat(32);
247
+ const [buyerBalance, firstSignCap, latestSessId, firstSessTs, cooldown] = await Promise.all([
248
+ this.getBuyerBalance(buyerAddr),
249
+ this.getFirstSignCap(),
250
+ this.getLatestSessionId(buyerAddr, sellerAddr),
251
+ this.getFirstSessionTimestamp(buyerAddr, sellerAddr),
252
+ this.getProvenSignCooldown(),
253
+ ]);
254
+ const isFirstSign = latestSessId === ZERO_BYTES32;
255
+ const nowSecs = BigInt(Math.floor(Date.now() / 1000));
256
+ let cooldownRemainingSecs = 0;
257
+ if (!isFirstSign && firstSessTs > 0n) {
258
+ const cooldownEnd = firstSessTs + cooldown;
259
+ if (cooldownEnd > nowSecs) {
260
+ cooldownRemainingSecs = Number(cooldownEnd - nowSecs);
261
+ }
262
+ }
157
263
  return {
158
- totalWeightedScore,
159
- totalWeight,
160
- sessionCount,
161
- disputeCount,
162
- weightedAverage,
264
+ buyerBalance,
265
+ firstSignCap,
266
+ latestSessionId: latestSessId,
267
+ firstSessionTimestamp: firstSessTs,
268
+ isFirstSign,
269
+ cooldownRemainingSecs,
163
270
  };
164
271
  }
165
272
  async getUSDCBalance(ownerAddr) {
@@ -1 +1 @@
1
- {"version":3,"file":"escrow-client.js","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"escrow-client.js","sourceRoot":"","sources":["../../../src/payments/evm/escrow-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type AbstractSigner } from 'ethers';
2
+ import { BaseEvmClient } from './base-evm-client.js';
3
+ export interface IdentityClientConfig {
4
+ rpcUrl: string;
5
+ contractAddress: string;
6
+ }
7
+ export interface ProvenReputation {
8
+ firstSignCount: number;
9
+ qualifiedProvenSignCount: number;
10
+ unqualifiedProvenSignCount: number;
11
+ ghostCount: number;
12
+ totalQualifiedTokenVolume: bigint;
13
+ lastProvenAt: number;
14
+ }
15
+ export interface FeedbackSummary {
16
+ count: number;
17
+ summaryValue: bigint;
18
+ summaryValueDecimals: number;
19
+ }
20
+ export declare class IdentityClient extends BaseEvmClient {
21
+ constructor(config: IdentityClientConfig);
22
+ register(signer: AbstractSigner, peerId: string, metadataURI: string): Promise<string>;
23
+ deregister(signer: AbstractSigner, tokenId: number): Promise<string>;
24
+ updateMetadata(signer: AbstractSigner, tokenId: number, metadataURI: string): Promise<string>;
25
+ submitFeedback(signer: AbstractSigner, agentId: number, value: number, tag: string): Promise<string>;
26
+ isRegistered(address: string): Promise<boolean>;
27
+ getTokenId(address: string): Promise<number>;
28
+ getTokenIdByPeerId(peerId: string): Promise<number>;
29
+ getPeerId(tokenId: number): Promise<string>;
30
+ getReputation(tokenId: number): Promise<ProvenReputation>;
31
+ getReputationByPeerId(peerId: string): Promise<ProvenReputation>;
32
+ getFeedbackSummary(agentId: number, tag: string): Promise<FeedbackSummary>;
33
+ }
34
+ //# sourceMappingURL=identity-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-client.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/identity-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,0BAA0B,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AA+BD,qBAAa,cAAe,SAAQ,aAAa;gBACnC,MAAM,EAAE,oBAAoB;IAMlC,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYtF,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpE,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW7F,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAcpG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5C,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOnD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK3C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAazD,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKhE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAUjF"}
@@ -0,0 +1,125 @@
1
+ import { Contract, encodeBytes32String, keccak256, toUtf8Bytes } from 'ethers';
2
+ import { BaseEvmClient } from './base-evm-client.js';
3
+ const IDENTITY_ABI = [
4
+ // Registration
5
+ 'function register(bytes32 peerId, string metadataURI) external returns (uint256)',
6
+ 'function deregister(uint256 tokenId) external',
7
+ 'function updateMetadata(uint256 tokenId, string metadataURI) external',
8
+ // View — identity lookups
9
+ 'function isRegistered(address addr) external view returns (bool)',
10
+ 'function getTokenId(address addr) external view returns (uint256)',
11
+ 'function getTokenIdByPeerId(bytes32 peerId) external view returns (uint256)',
12
+ 'function getPeerId(uint256 tokenId) external view returns (bytes32)',
13
+ // Reputation
14
+ 'function getReputation(uint256 tokenId) external view returns (uint64 firstSignCount, uint64 qualifiedProvenSignCount, uint64 unqualifiedProvenSignCount, uint64 ghostCount, uint256 totalQualifiedTokenVolume, uint64 lastProvenAt)',
15
+ 'function updateReputation(uint256 tokenId, tuple(uint8 updateType, uint256 tokenVolume) update) external',
16
+ // Feedback (ERC-8004)
17
+ 'function giveFeedback(uint256 agentId, int128 value, uint8 valueDecimals, bytes32 tag1, bytes32 tag2) external',
18
+ 'function getSummary(uint256 agentId, bytes32 tag) external view returns (uint256 count, int256 summaryValue, uint8 summaryValueDecimals)',
19
+ 'function readFeedback(uint256 agentId, address client, uint256 index) external view returns (tuple(address client, int128 value, uint8 valueDecimals, bytes32 tag1, bytes32 tag2, uint64 timestamp, bool revoked))',
20
+ 'function revokeFeedback(uint256 agentId, uint256 index) external',
21
+ 'function getFeedbackCount(uint256 agentId, address client) external view returns (uint256)',
22
+ // Admin
23
+ 'function setEscrowContract(address _escrow) external',
24
+ 'function escrowContract() external view returns (address)',
25
+ 'function owner() external view returns (address)',
26
+ ];
27
+ export class IdentityClient extends BaseEvmClient {
28
+ constructor(config) {
29
+ super(config.rpcUrl, config.contractAddress);
30
+ }
31
+ // ── Write methods ──────────────────────────────────────────────────
32
+ async register(signer, peerId, metadataURI) {
33
+ const connected = this._ensureConnected(signer);
34
+ const signerAddress = await connected.getAddress();
35
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, connected);
36
+ const nonce = await this._reserveNonce(signerAddress);
37
+ const peerIdBytes = keccak256(toUtf8Bytes(peerId));
38
+ const tx = await contract.getFunction('register')(peerIdBytes, metadataURI, { nonce });
39
+ const receipt = await tx.wait();
40
+ if (!receipt)
41
+ throw new Error('Transaction was dropped or replaced');
42
+ return receipt.hash;
43
+ }
44
+ async deregister(signer, tokenId) {
45
+ const connected = this._ensureConnected(signer);
46
+ const signerAddress = await connected.getAddress();
47
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, connected);
48
+ const nonce = await this._reserveNonce(signerAddress);
49
+ const tx = await contract.getFunction('deregister')(tokenId, { nonce });
50
+ const receipt = await tx.wait();
51
+ if (!receipt)
52
+ throw new Error('Transaction was dropped or replaced');
53
+ return receipt.hash;
54
+ }
55
+ async updateMetadata(signer, tokenId, metadataURI) {
56
+ const connected = this._ensureConnected(signer);
57
+ const signerAddress = await connected.getAddress();
58
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, connected);
59
+ const nonce = await this._reserveNonce(signerAddress);
60
+ const tx = await contract.getFunction('updateMetadata')(tokenId, metadataURI, { nonce });
61
+ const receipt = await tx.wait();
62
+ if (!receipt)
63
+ throw new Error('Transaction was dropped or replaced');
64
+ return receipt.hash;
65
+ }
66
+ async submitFeedback(signer, agentId, value, tag) {
67
+ const connected = this._ensureConnected(signer);
68
+ const signerAddress = await connected.getAddress();
69
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, connected);
70
+ const nonce = await this._reserveNonce(signerAddress);
71
+ const tagBytes = encodeBytes32String(tag);
72
+ const tx = await contract.getFunction('giveFeedback')(agentId, value, 0, tagBytes, tagBytes, { nonce });
73
+ const receipt = await tx.wait();
74
+ if (!receipt)
75
+ throw new Error('Transaction was dropped or replaced');
76
+ return receipt.hash;
77
+ }
78
+ // ── View methods ───────────────────────────────────────────────────
79
+ async isRegistered(address) {
80
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, this._provider);
81
+ return contract.getFunction('isRegistered')(address);
82
+ }
83
+ async getTokenId(address) {
84
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, this._provider);
85
+ const result = await contract.getFunction('getTokenId')(address);
86
+ return Number(result);
87
+ }
88
+ async getTokenIdByPeerId(peerId) {
89
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, this._provider);
90
+ const peerIdBytes = keccak256(toUtf8Bytes(peerId));
91
+ const result = await contract.getFunction('getTokenIdByPeerId')(peerIdBytes);
92
+ return Number(result);
93
+ }
94
+ async getPeerId(tokenId) {
95
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, this._provider);
96
+ return contract.getFunction('getPeerId')(tokenId);
97
+ }
98
+ async getReputation(tokenId) {
99
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, this._provider);
100
+ const result = await contract.getFunction('getReputation')(tokenId);
101
+ return {
102
+ firstSignCount: Number(result[0]),
103
+ qualifiedProvenSignCount: Number(result[1]),
104
+ unqualifiedProvenSignCount: Number(result[2]),
105
+ ghostCount: Number(result[3]),
106
+ totalQualifiedTokenVolume: result[4],
107
+ lastProvenAt: Number(result[5]),
108
+ };
109
+ }
110
+ async getReputationByPeerId(peerId) {
111
+ const tokenId = await this.getTokenIdByPeerId(peerId);
112
+ return this.getReputation(tokenId);
113
+ }
114
+ async getFeedbackSummary(agentId, tag) {
115
+ const contract = new Contract(this._contractAddress, IDENTITY_ABI, this._provider);
116
+ const tagBytes = encodeBytes32String(tag);
117
+ const result = await contract.getFunction('getSummary')(agentId, tagBytes);
118
+ return {
119
+ count: Number(result[0]),
120
+ summaryValue: result[1],
121
+ summaryValueDecimals: Number(result[2]),
122
+ };
123
+ }
124
+ }
125
+ //# sourceMappingURL=identity-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-client.js","sourceRoot":"","sources":["../../../src/payments/evm/identity-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,WAAW,EAAuB,MAAM,QAAQ,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAsBrD,MAAM,YAAY,GAAG;IACnB,eAAe;IACf,kFAAkF;IAClF,+CAA+C;IAC/C,uEAAuE;IAEvE,0BAA0B;IAC1B,kEAAkE;IAClE,mEAAmE;IACnE,6EAA6E;IAC7E,qEAAqE;IAErE,aAAa;IACb,sOAAsO;IACtO,0GAA0G;IAE1G,sBAAsB;IACtB,gHAAgH;IAChH,0IAA0I;IAC1I,oNAAoN;IACpN,kEAAkE;IAClE,4FAA4F;IAE5F,QAAQ;IACR,sDAAsD;IACtD,2DAA2D;IAC3D,kDAAkD;CAC1C,CAAC;AAEX,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,YAAY,MAA4B;QACtC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,QAAQ,CAAC,MAAsB,EAAE,MAAc,EAAE,WAAmB;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAsB,EAAE,OAAe;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAsB,EAAE,OAAe,EAAE,WAAmB;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAsB,EAAE,OAAe,EAAE,KAAa,EAAE,GAAW;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,OAAO,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,OAAO,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;QACpE,OAAO;YACL,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3C,0BAA0B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAW;YAC9C,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,GAAW;QACnD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC3E,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,YAAY,EAAE,MAAM,CAAC,CAAC,CAAW;YACjC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACxC,CAAC;IACJ,CAAC;CACF"}
@@ -1,9 +1,22 @@
1
- import { type AbstractSigner } from 'ethers';
1
+ import { type AbstractSigner, type TypedDataDomain } from 'ethers';
2
2
  import type { Identity } from '../../p2p/identity.js';
3
- export declare function buildLockMessageHash(sessionId: string, seller: string, amount: bigint): string;
4
- export declare function buildSettlementMessageHash(sessionId: string, runningTotal: bigint, score: number): string;
5
- export declare function buildExtendLockMessageHash(sessionId: string, seller: string, additionalAmount: bigint): string;
6
- export declare function signMessageEcdsa(signer: AbstractSigner, messageHash: string): Promise<string>;
3
+ export declare const SPENDING_AUTH_TYPES: {
4
+ SpendingAuth: {
5
+ name: string;
6
+ type: string;
7
+ }[];
8
+ };
9
+ export interface SpendingAuthMessage {
10
+ seller: string;
11
+ sessionId: string;
12
+ maxAmount: bigint;
13
+ nonce: number;
14
+ deadline: number;
15
+ previousConsumption: bigint;
16
+ previousSessionId: string;
17
+ }
18
+ export declare function makeEscrowDomain(chainId: number, contractAddress: string): TypedDataDomain;
19
+ export declare function signSpendingAuth(signer: AbstractSigner, domain: TypedDataDomain, msg: SpendingAuthMessage): Promise<string>;
7
20
  export declare function buildReceiptMessage(sessionId: Uint8Array, runningTotal: bigint, requestCount: number, responseHash: Uint8Array): Uint8Array;
8
21
  export declare function buildAckMessage(sessionId: Uint8Array, runningTotal: bigint, requestCount: number): Uint8Array;
9
22
  export declare function signMessageEd25519(identity: Identity, message: Uint8Array): Promise<Uint8Array>;
@@ -1 +1 @@
1
- {"version":3,"file":"signatures.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/signatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAqC,MAAM,QAAQ,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAOtD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAKR;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAMD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,GACvB,UAAU,CAaZ;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,UAAU,CAWZ;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,UAAU,CAAC,CAErB;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB"}
1
+ {"version":3,"file":"signatures.d.ts","sourceRoot":"","sources":["../../../src/payments/evm/signatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAOtD,eAAO,MAAM,mBAAmB;;;;;CAU/B,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,eAAe,CAO1F;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAMD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,GACvB,UAAU,CAaZ;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,UAAU,CAWZ;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,UAAU,CAAC,CAErB;AAED,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB"}