@agirails/sdk 2.2.0 → 2.2.2

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 (120) hide show
  1. package/dist/ACTPClient.d.ts +200 -0
  2. package/dist/ACTPClient.d.ts.map +1 -1
  3. package/dist/ACTPClient.js +266 -2
  4. package/dist/ACTPClient.js.map +1 -1
  5. package/dist/abi/ACTPKernel.json +16 -0
  6. package/dist/adapters/AdapterRegistry.d.ts +140 -0
  7. package/dist/adapters/AdapterRegistry.d.ts.map +1 -0
  8. package/dist/adapters/AdapterRegistry.js +166 -0
  9. package/dist/adapters/AdapterRegistry.js.map +1 -0
  10. package/dist/adapters/AdapterRouter.d.ts +165 -0
  11. package/dist/adapters/AdapterRouter.d.ts.map +1 -0
  12. package/dist/adapters/AdapterRouter.js +350 -0
  13. package/dist/adapters/AdapterRouter.js.map +1 -0
  14. package/dist/adapters/BaseAdapter.d.ts +17 -0
  15. package/dist/adapters/BaseAdapter.d.ts.map +1 -1
  16. package/dist/adapters/BaseAdapter.js +21 -0
  17. package/dist/adapters/BaseAdapter.js.map +1 -1
  18. package/dist/adapters/BasicAdapter.d.ts +72 -3
  19. package/dist/adapters/BasicAdapter.d.ts.map +1 -1
  20. package/dist/adapters/BasicAdapter.js +170 -2
  21. package/dist/adapters/BasicAdapter.js.map +1 -1
  22. package/dist/adapters/IAdapter.d.ts +230 -0
  23. package/dist/adapters/IAdapter.d.ts.map +1 -0
  24. package/dist/adapters/IAdapter.js +44 -0
  25. package/dist/adapters/IAdapter.js.map +1 -0
  26. package/dist/adapters/StandardAdapter.d.ts +70 -1
  27. package/dist/adapters/StandardAdapter.d.ts.map +1 -1
  28. package/dist/adapters/StandardAdapter.js +184 -0
  29. package/dist/adapters/StandardAdapter.js.map +1 -1
  30. package/dist/adapters/X402Adapter.d.ts +208 -0
  31. package/dist/adapters/X402Adapter.d.ts.map +1 -0
  32. package/dist/adapters/X402Adapter.js +423 -0
  33. package/dist/adapters/X402Adapter.js.map +1 -0
  34. package/dist/adapters/index.d.ts +8 -0
  35. package/dist/adapters/index.d.ts.map +1 -1
  36. package/dist/adapters/index.js +19 -1
  37. package/dist/adapters/index.js.map +1 -1
  38. package/dist/cli/commands/init.d.ts +4 -0
  39. package/dist/cli/commands/init.d.ts.map +1 -1
  40. package/dist/cli/commands/init.js +184 -4
  41. package/dist/cli/commands/init.js.map +1 -1
  42. package/dist/config/networks.js +3 -3
  43. package/dist/config/networks.js.map +1 -1
  44. package/dist/erc8004/ERC8004Bridge.d.ts +155 -0
  45. package/dist/erc8004/ERC8004Bridge.d.ts.map +1 -0
  46. package/dist/erc8004/ERC8004Bridge.js +325 -0
  47. package/dist/erc8004/ERC8004Bridge.js.map +1 -0
  48. package/dist/erc8004/ReputationReporter.d.ts +223 -0
  49. package/dist/erc8004/ReputationReporter.d.ts.map +1 -0
  50. package/dist/erc8004/ReputationReporter.js +266 -0
  51. package/dist/erc8004/ReputationReporter.js.map +1 -0
  52. package/dist/erc8004/index.d.ts +36 -0
  53. package/dist/erc8004/index.d.ts.map +1 -0
  54. package/dist/erc8004/index.js +46 -0
  55. package/dist/erc8004/index.js.map +1 -0
  56. package/dist/index.d.ts +5 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +21 -2
  59. package/dist/index.js.map +1 -1
  60. package/dist/protocol/ACTPKernel.d.ts +1 -1
  61. package/dist/protocol/ACTPKernel.d.ts.map +1 -1
  62. package/dist/protocol/ACTPKernel.js +16 -7
  63. package/dist/protocol/ACTPKernel.js.map +1 -1
  64. package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
  65. package/dist/runtime/BlockchainRuntime.js +2 -0
  66. package/dist/runtime/BlockchainRuntime.js.map +1 -1
  67. package/dist/runtime/IACTPRuntime.d.ts +6 -0
  68. package/dist/runtime/IACTPRuntime.d.ts.map +1 -1
  69. package/dist/runtime/MockRuntime.d.ts +12 -0
  70. package/dist/runtime/MockRuntime.d.ts.map +1 -1
  71. package/dist/runtime/MockRuntime.js +41 -0
  72. package/dist/runtime/MockRuntime.js.map +1 -1
  73. package/dist/runtime/types/MockState.d.ts +6 -0
  74. package/dist/runtime/types/MockState.d.ts.map +1 -1
  75. package/dist/runtime/types/MockState.js.map +1 -1
  76. package/dist/types/adapter.d.ts +359 -0
  77. package/dist/types/adapter.d.ts.map +1 -0
  78. package/dist/types/adapter.js +115 -0
  79. package/dist/types/adapter.js.map +1 -0
  80. package/dist/types/erc8004.d.ts +184 -0
  81. package/dist/types/erc8004.d.ts.map +1 -0
  82. package/dist/types/erc8004.js +132 -0
  83. package/dist/types/erc8004.js.map +1 -0
  84. package/dist/types/index.d.ts +3 -0
  85. package/dist/types/index.d.ts.map +1 -1
  86. package/dist/types/index.js +3 -0
  87. package/dist/types/index.js.map +1 -1
  88. package/dist/types/transaction.d.ts +12 -0
  89. package/dist/types/transaction.d.ts.map +1 -1
  90. package/dist/types/x402.d.ts +162 -0
  91. package/dist/types/x402.d.ts.map +1 -0
  92. package/dist/types/x402.js +162 -0
  93. package/dist/types/x402.js.map +1 -0
  94. package/package.json +3 -2
  95. package/src/ACTPClient.ts +318 -2
  96. package/src/abi/ACTPKernel.json +16 -0
  97. package/src/adapters/AdapterRegistry.ts +173 -0
  98. package/src/adapters/AdapterRouter.ts +417 -0
  99. package/src/adapters/BaseAdapter.ts +25 -0
  100. package/src/adapters/BasicAdapter.ts +199 -3
  101. package/src/adapters/IAdapter.ts +292 -0
  102. package/src/adapters/StandardAdapter.ts +220 -1
  103. package/src/adapters/X402Adapter.ts +653 -0
  104. package/src/adapters/index.ts +27 -0
  105. package/src/cli/commands/init.ts +208 -3
  106. package/src/config/networks.ts +3 -3
  107. package/src/erc8004/ERC8004Bridge.ts +461 -0
  108. package/src/erc8004/ReputationReporter.ts +472 -0
  109. package/src/erc8004/index.ts +61 -0
  110. package/src/index.ts +43 -0
  111. package/src/protocol/ACTPKernel.ts +26 -7
  112. package/src/runtime/BlockchainRuntime.ts +2 -0
  113. package/src/runtime/IACTPRuntime.ts +6 -0
  114. package/src/runtime/MockRuntime.ts +42 -0
  115. package/src/runtime/types/MockState.ts +7 -0
  116. package/src/types/adapter.ts +296 -0
  117. package/src/types/erc8004.ts +293 -0
  118. package/src/types/index.ts +3 -0
  119. package/src/types/transaction.ts +12 -0
  120. package/src/types/x402.ts +219 -0
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+ /**
3
+ * AdapterRouter - Intelligent adapter selection with guard-rails.
4
+ *
5
+ * The router selects the best adapter for each payment based on:
6
+ * - Explicit adapter preference
7
+ * - Required capabilities (escrow, disputes, identity)
8
+ * - Recipient type (address vs HTTP endpoint)
9
+ * - Adapter priority
10
+ *
11
+ * SECURITY: All parameters are validated before selection.
12
+ * SECURITY: All adapters must enforce explicit release (no auto-settle).
13
+ *
14
+ * @module adapters/AdapterRouter
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.AdapterRouter = void 0;
18
+ const adapter_1 = require("../types/adapter");
19
+ const BaseAdapter_1 = require("./BaseAdapter");
20
+ /**
21
+ * AdapterRouter - Intelligent adapter selection with guard-rails.
22
+ *
23
+ * Selection logic (in order):
24
+ * 1. Validate params (throws if invalid)
25
+ * 2. Explicit adapter requested -> use it
26
+ * 3. Escrow/dispute required -> StandardAdapter
27
+ * 4. HTTP endpoint + no escrow -> X402Adapter (when available)
28
+ * 5. ERC-8004 identity -> ERC8004Adapter (when available)
29
+ * 6. Default -> First adapter that can handle (by priority)
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const registry = new AdapterRegistry();
34
+ * registry.register(basicAdapter);
35
+ * registry.register(standardAdapter);
36
+ *
37
+ * const router = new AdapterRouter(registry);
38
+ *
39
+ * // Auto-select best adapter
40
+ * const adapter = router.select({ to: '0x...', amount: '100' });
41
+ *
42
+ * // Explicit adapter request
43
+ * const adapter = router.select({
44
+ * to: '0x...',
45
+ * amount: '100',
46
+ * metadata: { preferredAdapter: 'standard' }
47
+ * });
48
+ * ```
49
+ */
50
+ class AdapterRouter {
51
+ /**
52
+ * Creates a new AdapterRouter instance.
53
+ *
54
+ * @param registry - AdapterRegistry containing available adapters
55
+ * @param erc8004Bridge - Optional ERC-8004 bridge for agent ID resolution
56
+ */
57
+ constructor(registry, erc8004Bridge) {
58
+ this.registry = registry;
59
+ this.erc8004Bridge = erc8004Bridge;
60
+ }
61
+ /**
62
+ * Set the ERC-8004 bridge for agent ID resolution.
63
+ *
64
+ * @param bridge - ERC8004Bridge instance
65
+ */
66
+ setERC8004Bridge(bridge) {
67
+ this.erc8004Bridge = bridge;
68
+ }
69
+ /**
70
+ * Select the best adapter for the given payment parameters.
71
+ *
72
+ * @param params - Unified payment parameters
73
+ * @returns The selected adapter
74
+ * @throws {ValidationError} If params are invalid
75
+ * @throws {Error} If no suitable adapter found
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const adapter = router.select({
80
+ * to: '0xProvider...',
81
+ * amount: '100',
82
+ * });
83
+ * const result = await adapter.pay(params);
84
+ * ```
85
+ */
86
+ select(params) {
87
+ // GUARD-RAIL: Validate all params first
88
+ this.validateParams(params);
89
+ const metadata = params.metadata || {};
90
+ // 1. Explicit adapter requested
91
+ if (metadata.preferredAdapter) {
92
+ const adapter = this.registry.get(metadata.preferredAdapter);
93
+ if (!adapter) {
94
+ throw new Error(`Preferred adapter '${metadata.preferredAdapter}' not found. ` +
95
+ `Available adapters: ${this.registry.getIds().join(', ') || 'none'}`);
96
+ }
97
+ // Verify adapter can handle these params
98
+ adapter.validate(params);
99
+ return adapter;
100
+ }
101
+ // 2. Escrow/dispute required -> STRICT enforcement
102
+ if (metadata.requiresEscrow || metadata.requiresDispute) {
103
+ // First try standard adapter
104
+ const standard = this.registry.get('standard');
105
+ if (standard && standard.canHandle(params)) {
106
+ return standard;
107
+ }
108
+ // Find any adapter that meets the capability requirements
109
+ const compatibleAdapters = this.registry.getByPriority().filter((adapter) => {
110
+ const meta = adapter.metadata;
111
+ const meetsEscrow = !metadata.requiresEscrow || meta.usesEscrow;
112
+ const meetsDispute = !metadata.requiresDispute || meta.supportsDisputes;
113
+ return meetsEscrow && meetsDispute && adapter.canHandle(params);
114
+ });
115
+ if (compatibleAdapters.length > 0) {
116
+ return compatibleAdapters[0];
117
+ }
118
+ // STRICT: No compatible adapter found - throw error instead of falling through
119
+ const requirements = [];
120
+ if (metadata.requiresEscrow)
121
+ requirements.push('escrow');
122
+ if (metadata.requiresDispute)
123
+ requirements.push('dispute resolution');
124
+ throw new Error(`No adapter found that supports required capabilities: ${requirements.join(', ')}. ` +
125
+ `Available adapters: ${this.registry.getIds().join(', ') || 'none'}`);
126
+ }
127
+ // 3. HTTP endpoint -> x402 (when registered)
128
+ // NOTE: X402Adapter is ATOMIC (usesEscrow: false) - instant payment, no escrow.
129
+ // Route HTTPS endpoints to x402 for fire-and-forget API payments.
130
+ // If caller needs escrow protection, they should use ACTP with address, not URL.
131
+ if (this.isHttpEndpoint(params.to)) {
132
+ const x402 = this.registry.get('x402');
133
+ if (x402 && x402.canHandle(params)) {
134
+ return x402;
135
+ }
136
+ // HTTP endpoints without x402 adapter will fall through
137
+ // and likely fail with basic/standard adapters
138
+ }
139
+ // 4. ERC-8004 identity -> erc8004 (when registered)
140
+ if (metadata.identity?.type === 'erc8004') {
141
+ const erc8004 = this.registry.get('erc8004');
142
+ if (erc8004 && erc8004.canHandle(params)) {
143
+ return erc8004;
144
+ }
145
+ }
146
+ // 5. Find first adapter that can handle it (by priority)
147
+ for (const adapter of this.registry.getByPriority()) {
148
+ if (adapter.canHandle(params)) {
149
+ return adapter;
150
+ }
151
+ }
152
+ // 6. Default to basic as last resort
153
+ const basic = this.registry.get('basic');
154
+ if (basic) {
155
+ // Try to use basic even if canHandle returned false
156
+ // Let it fail with a proper error message during pay()
157
+ return basic;
158
+ }
159
+ throw new Error(`No suitable adapter found for params. ` +
160
+ `Available adapters: ${this.registry.getIds().join(', ') || 'none'}`);
161
+ }
162
+ /**
163
+ * Validate payment parameters with Zod schema.
164
+ *
165
+ * GUARD-RAIL: Performs strict validation before any adapter selection.
166
+ *
167
+ * @param params - Parameters to validate
168
+ * @throws {ValidationError} If params are invalid
169
+ */
170
+ validateParams(params) {
171
+ const result = (0, adapter_1.safeValidatePayParams)(params);
172
+ if (!result.success) {
173
+ const issues = result.error.issues
174
+ .map((i) => `${i.path.join('.')}: ${i.message}`)
175
+ .join('; ');
176
+ throw new BaseAdapter_1.ValidationError(`Invalid payment params: ${issues}`);
177
+ }
178
+ // Additional security checks
179
+ // Check for path traversal attempts in 'to' field
180
+ if (typeof params.to === 'string') {
181
+ if (params.to.includes('..')) {
182
+ throw new BaseAdapter_1.ValidationError('Invalid recipient: path traversal characters not allowed');
183
+ }
184
+ // Check for script injection attempts
185
+ if (params.to.includes('<') || params.to.includes('>')) {
186
+ throw new BaseAdapter_1.ValidationError('Invalid recipient: HTML/script characters not allowed');
187
+ }
188
+ // Check for null bytes
189
+ if (params.to.includes('\0')) {
190
+ throw new BaseAdapter_1.ValidationError('Invalid recipient: null bytes not allowed');
191
+ }
192
+ }
193
+ // Validate description if provided
194
+ if (params.description) {
195
+ if (params.description.length > 1000) {
196
+ throw new BaseAdapter_1.ValidationError('Description too long: maximum 1000 characters');
197
+ }
198
+ }
199
+ }
200
+ /**
201
+ * Check if a string is an HTTP/HTTPS endpoint.
202
+ *
203
+ * @param to - Recipient string to check
204
+ * @returns True if it's an HTTP endpoint
205
+ */
206
+ isHttpEndpoint(to) {
207
+ try {
208
+ const url = new URL(to);
209
+ return url.protocol === 'http:' || url.protocol === 'https:';
210
+ }
211
+ catch {
212
+ return false;
213
+ }
214
+ }
215
+ /**
216
+ * Get all adapters that can handle the given params.
217
+ *
218
+ * Useful for debugging or letting users choose from multiple options.
219
+ *
220
+ * @param params - Payment parameters
221
+ * @returns Array of adapters that can handle params
222
+ */
223
+ getCompatibleAdapters(params) {
224
+ this.validateParams(params);
225
+ return this.registry.getAll().filter((adapter) => {
226
+ try {
227
+ return adapter.canHandle(params);
228
+ }
229
+ catch {
230
+ return false;
231
+ }
232
+ });
233
+ }
234
+ /**
235
+ * Check if any adapter can handle the given params.
236
+ *
237
+ * @param params - Payment parameters
238
+ * @returns True if at least one adapter can handle
239
+ */
240
+ canHandle(params) {
241
+ try {
242
+ this.validateParams(params);
243
+ return this.getCompatibleAdapters(params).length > 0;
244
+ }
245
+ catch {
246
+ return false;
247
+ }
248
+ }
249
+ // ==========================================================================
250
+ // ERC-8004 Agent ID Resolution
251
+ // ==========================================================================
252
+ /**
253
+ * Select adapter AND resolve ERC-8004 agent IDs.
254
+ *
255
+ * This is the recommended method for payment flows. It:
256
+ * 1. Checks if `to` is an ERC-8004 agent ID (numeric string)
257
+ * 2. If so, resolves it to a wallet address via ERC8004Bridge
258
+ * 3. Stores the original agentId in erc8004AgentId field
259
+ * 4. Selects the appropriate adapter
260
+ *
261
+ * @param params - Unified payment parameters
262
+ * @returns Selection result with resolved params
263
+ * @throws {ValidationError} If params invalid or agent not found
264
+ *
265
+ * @example
266
+ * ```typescript
267
+ * const { adapter, resolvedParams } = await router.selectAndResolve({
268
+ * to: '12345', // ERC-8004 agent ID
269
+ * amount: '100',
270
+ * });
271
+ *
272
+ * // resolvedParams.to is now the wallet address
273
+ * // resolvedParams.erc8004AgentId is '12345'
274
+ * const result = await adapter.pay(resolvedParams);
275
+ * ```
276
+ */
277
+ async selectAndResolve(params) {
278
+ // Check if 'to' is an ERC-8004 agent ID
279
+ if (this.isERC8004AgentId(params.to)) {
280
+ if (!this.erc8004Bridge) {
281
+ throw new BaseAdapter_1.ValidationError(`Cannot resolve ERC-8004 agent ID '${params.to}': ` +
282
+ 'ERC-8004 resolution requires testnet or mainnet mode. ' +
283
+ 'Use a wallet address (0x...) in mock mode, or switch to testnet/mainnet.');
284
+ }
285
+ try {
286
+ // Resolve agent ID to wallet address
287
+ const wallet = await this.erc8004Bridge.getAgentWallet(params.to);
288
+ // Create resolved params with wallet and stored agentId
289
+ const resolvedParams = {
290
+ ...params,
291
+ to: wallet,
292
+ erc8004AgentId: params.to,
293
+ };
294
+ // Select adapter for resolved params
295
+ const adapter = this.select(resolvedParams);
296
+ return {
297
+ adapter,
298
+ resolvedParams,
299
+ wasAgentIdResolved: true,
300
+ };
301
+ }
302
+ catch (error) {
303
+ // Re-throw with clearer message
304
+ const errorMsg = error instanceof Error ? error.message : String(error);
305
+ throw new BaseAdapter_1.ValidationError(`Failed to resolve ERC-8004 agent '${params.to}': ${errorMsg}`);
306
+ }
307
+ }
308
+ // Not an agent ID - proceed normally
309
+ const adapter = this.select(params);
310
+ return {
311
+ adapter,
312
+ resolvedParams: params,
313
+ wasAgentIdResolved: false,
314
+ };
315
+ }
316
+ /**
317
+ * Check if a string looks like an ERC-8004 agent ID.
318
+ *
319
+ * Agent IDs are numeric strings (uint256) that are:
320
+ * - NOT Ethereum addresses (0x-prefixed)
321
+ * - NOT URLs (http/https)
322
+ * - Valid as BigInt in range [0, 2^256)
323
+ *
324
+ * @param to - Recipient string to check
325
+ * @returns True if it looks like an agent ID
326
+ */
327
+ isERC8004AgentId(to) {
328
+ if (!to || typeof to !== 'string') {
329
+ return false;
330
+ }
331
+ // Not an Ethereum address
332
+ if (to.startsWith('0x')) {
333
+ return false;
334
+ }
335
+ // Not a URL
336
+ if (to.includes('://') || to.startsWith('http')) {
337
+ return false;
338
+ }
339
+ // Must be a valid uint256
340
+ try {
341
+ const bn = BigInt(to);
342
+ return bn >= 0n && bn < 2n ** 256n;
343
+ }
344
+ catch {
345
+ return false;
346
+ }
347
+ }
348
+ }
349
+ exports.AdapterRouter = AdapterRouter;
350
+ //# sourceMappingURL=AdapterRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdapterRouter.js","sourceRoot":"","sources":["../../src/adapters/AdapterRouter.ts"],"names":[],"mappings":"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"}
@@ -227,5 +227,22 @@ export declare abstract class BaseAdapter {
227
227
  * ```
228
228
  */
229
229
  protected formatAmount(amount: bigint | string): string;
230
+ /**
231
+ * Encode dispute window as ABI-encoded proof for DELIVERED transition.
232
+ *
233
+ * This helper centralizes proof encoding to prevent drift between
234
+ * adapters and ensures consistency with on-chain expectations.
235
+ *
236
+ * @param disputeWindowSeconds - Dispute window in seconds
237
+ * @returns ABI-encoded bytes32 proof
238
+ *
239
+ * @example
240
+ * ```typescript
241
+ * // Encode 2-hour dispute window
242
+ * const proof = this.encodeDisputeWindowProof(7200);
243
+ * await runtime.transitionState(txId, 'DELIVERED', proof);
244
+ * ```
245
+ */
246
+ protected encodeDisputeWindowProof(disputeWindowSeconds: number): string;
230
247
  }
231
248
  //# sourceMappingURL=BaseAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/BaseAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH;;;GAGG;AACH,eAAO,MAAM,8BAA8B,SAAS,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,cAAc,SAAU,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;GAUG;AACH,8BAAsB,WAAW;IAMnB,SAAS,CAAC,gBAAgB,EAAE,MAAM;IAL9C;;;;OAIG;gBACmB,gBAAgB,EAAE,MAAM;IAE9C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAqDtD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAiCrE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAwCjF;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;IAsB/D;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAgCnE;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAkCzE;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;CAoBxD"}
1
+ {"version":3,"file":"BaseAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/BaseAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH;;;GAGG;AACH,eAAO,MAAM,8BAA8B,SAAS,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,cAAc,SAAU,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;GAUG;AACH,8BAAsB,WAAW;IAMnB,SAAS,CAAC,gBAAgB,EAAE,MAAM;IAL9C;;;;OAIG;gBACmB,gBAAgB,EAAE,MAAM;IAE9C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAqDtD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAiCrE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAwCjF;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM;IAsB/D;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAgCnE;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAkCzE;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAqBvD;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,wBAAwB,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM;CAQzE"}
@@ -388,6 +388,27 @@ class BaseAdapter {
388
388
  const formattedDecimal = roundedCents.toString().padStart(2, '0');
389
389
  return `${wholePart}.${formattedDecimal} USDC`;
390
390
  }
391
+ /**
392
+ * Encode dispute window as ABI-encoded proof for DELIVERED transition.
393
+ *
394
+ * This helper centralizes proof encoding to prevent drift between
395
+ * adapters and ensures consistency with on-chain expectations.
396
+ *
397
+ * @param disputeWindowSeconds - Dispute window in seconds
398
+ * @returns ABI-encoded bytes32 proof
399
+ *
400
+ * @example
401
+ * ```typescript
402
+ * // Encode 2-hour dispute window
403
+ * const proof = this.encodeDisputeWindowProof(7200);
404
+ * await runtime.transitionState(txId, 'DELIVERED', proof);
405
+ * ```
406
+ */
407
+ encodeDisputeWindowProof(disputeWindowSeconds) {
408
+ // Lazy import to avoid circular dependency issues
409
+ const { ethers } = require('ethers');
410
+ return ethers.AbiCoder.defaultAbiCoder().encode(['uint256'], [disputeWindowSeconds]);
411
+ }
391
412
  }
392
413
  exports.BaseAdapter = BaseAdapter;
393
414
  //# sourceMappingURL=BaseAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAdapter.js","sourceRoot":"","sources":["../../src/adapters/BaseAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAdapter.js","sourceRoot":"","sources":["../../src/adapters/BaseAdapter.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@
15
15
  import { BaseAdapter } from './BaseAdapter';
16
16
  import { IACTPRuntime } from '../runtime/IACTPRuntime';
17
17
  import { EASHelper } from '../protocol/EASHelper';
18
+ import { IAdapter, TransactionStatus } from './IAdapter';
19
+ import { AdapterMetadata, UnifiedPayParams, UnifiedPayResult } from '../types/adapter';
18
20
  /**
19
21
  * Parameters for creating a simple payment.
20
22
  *
@@ -58,6 +60,8 @@ export interface BasicPayResult {
58
60
  *
59
61
  * All complexity is hidden behind smart defaults.
60
62
  *
63
+ * Implements IAdapter for router integration.
64
+ *
61
65
  * @example
62
66
  * ```typescript
63
67
  * const client = await ACTPClient.create({ mode: 'mock' });
@@ -77,9 +81,13 @@ export interface BasicPayResult {
77
81
  * }
78
82
  * ```
79
83
  */
80
- export declare class BasicAdapter extends BaseAdapter {
84
+ export declare class BasicAdapter extends BaseAdapter implements IAdapter {
81
85
  private runtime;
82
86
  private easHelper?;
87
+ /**
88
+ * Adapter metadata for router selection.
89
+ */
90
+ readonly metadata: AdapterMetadata;
83
91
  /**
84
92
  * Creates a new BasicAdapter instance.
85
93
  *
@@ -106,19 +114,20 @@ export declare class BasicAdapter extends BaseAdapter {
106
114
  * - Cannot pay yourself
107
115
  *
108
116
  * @param params - Payment parameters
117
+ * @param agentId - Optional ERC-8004 agent ID (for reputation reporting)
109
118
  * @returns User-friendly payment result
110
119
  * @throws {ValidationError} If inputs are invalid
111
120
  *
112
121
  * @example
113
122
  * ```typescript
114
- * const result = await adapter.pay({
123
+ * const result = await adapter.payBasic({
115
124
  * to: '0xProvider123',
116
125
  * amount: '100.50',
117
126
  * deadline: '+7d', // Optional: 7 days from now
118
127
  * });
119
128
  * ```
120
129
  */
121
- pay(params: BasicPayParams): Promise<BasicPayResult>;
130
+ payBasic(params: BasicPayParams, agentId?: string): Promise<BasicPayResult>;
122
131
  /**
123
132
  * Check payment status by transaction ID.
124
133
  *
@@ -148,5 +157,65 @@ export declare class BasicAdapter extends BaseAdapter {
148
157
  canComplete: boolean;
149
158
  canDispute: boolean;
150
159
  }>;
160
+ /**
161
+ * Execute payment through this adapter.
162
+ *
163
+ * This is the IAdapter-compatible pay() method that returns UnifiedPayResult.
164
+ * For the legacy BasicPayResult API, use payBasic().
165
+ *
166
+ * @param params - Unified payment parameters
167
+ * @returns Promise resolving to unified payment result
168
+ */
169
+ pay(params: UnifiedPayParams): Promise<UnifiedPayResult>;
170
+ /**
171
+ * Check if this adapter can handle the given parameters.
172
+ *
173
+ * BasicAdapter can handle any Ethereum address recipient.
174
+ *
175
+ * @param params - Payment parameters to check
176
+ * @returns True if params have a valid Ethereum address
177
+ */
178
+ canHandle(params: UnifiedPayParams): boolean;
179
+ /**
180
+ * Validate parameters before execution.
181
+ *
182
+ * @param params - Parameters to validate
183
+ * @throws {ValidationError} If params are invalid
184
+ */
185
+ validate(params: UnifiedPayParams): void;
186
+ /**
187
+ * Get transaction status by ID.
188
+ *
189
+ * Returns TransactionStatus with action hints.
190
+ *
191
+ * @param txId - Transaction ID
192
+ * @returns Promise resolving to transaction status
193
+ */
194
+ getStatus(txId: string): Promise<TransactionStatus>;
195
+ /**
196
+ * Transition to IN_PROGRESS state (provider starts work).
197
+ *
198
+ * @param txId - Transaction ID
199
+ */
200
+ startWork(txId: string): Promise<void>;
201
+ /**
202
+ * Transition to DELIVERED state (provider completes work).
203
+ *
204
+ * When no proof is provided, fetches the transaction's actual disputeWindow
205
+ * and encodes it as proof. This ensures consistency with the dispute window
206
+ * specified at transaction creation time.
207
+ *
208
+ * @param txId - Transaction ID
209
+ * @param proof - Optional delivery proof (ABI-encoded dispute window).
210
+ * If not provided, uses transaction's disputeWindow.
211
+ */
212
+ deliver(txId: string, proof?: string): Promise<void>;
213
+ /**
214
+ * Release escrow funds (EXPLICIT settlement).
215
+ *
216
+ * @param escrowId - Escrow ID (usually same as txId)
217
+ * @param attestationUID - Optional attestation UID for verification
218
+ */
219
+ release(escrowId: string, attestationUID?: string): Promise<void>;
151
220
  }
152
221
  //# sourceMappingURL=BasicAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasicAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/BasicAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAC;IAEX,2EAA2E;IAC3E,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IAEb,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAElB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IAEjB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,YAAa,SAAQ,WAAW;IASzC,OAAO,CAAC,OAAO;IAEf,OAAO,CAAC,SAAS,CAAC;IAVpB;;;;;;OAMG;gBAEO,OAAO,EAAE,YAAY,EAC7B,gBAAgB,EAAE,MAAM,EAChB,SAAS,CAAC,uBAAW;IAK/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IA4D1D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACvC,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;CAgBH"}
1
+ {"version":3,"file":"BasicAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/BasicAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAC;IAEX,2EAA2E;IAC3E,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IAEb,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAElB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IAEjB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,YAAa,SAAQ,WAAY,YAAW,QAAQ;IAqB7D,OAAO,CAAC,OAAO;IAEf,OAAO,CAAC,SAAS,CAAC;IAtBpB;;OAEG;IACH,SAAgB,QAAQ,EAAE,eAAe,CAQvC;IACF;;;;;;OAMG;gBAEO,OAAO,EAAE,YAAY,EAC7B,gBAAgB,EAAE,MAAM,EAChB,SAAS,CAAC,uBAAW;IAK/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA6DjF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACvC,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IAqBF;;;;;;;;OAQG;IACG,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+B9D;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAU5C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAkBxC;;;;;;;OAOG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkCzD;;;;OAIG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;;;;;;;;;OAUG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1D;;;;;OAKG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxE"}