@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.
- package/dist/ACTPClient.d.ts +200 -0
- package/dist/ACTPClient.d.ts.map +1 -1
- package/dist/ACTPClient.js +266 -2
- package/dist/ACTPClient.js.map +1 -1
- package/dist/abi/ACTPKernel.json +16 -0
- package/dist/adapters/AdapterRegistry.d.ts +140 -0
- package/dist/adapters/AdapterRegistry.d.ts.map +1 -0
- package/dist/adapters/AdapterRegistry.js +166 -0
- package/dist/adapters/AdapterRegistry.js.map +1 -0
- package/dist/adapters/AdapterRouter.d.ts +165 -0
- package/dist/adapters/AdapterRouter.d.ts.map +1 -0
- package/dist/adapters/AdapterRouter.js +350 -0
- package/dist/adapters/AdapterRouter.js.map +1 -0
- package/dist/adapters/BaseAdapter.d.ts +17 -0
- package/dist/adapters/BaseAdapter.d.ts.map +1 -1
- package/dist/adapters/BaseAdapter.js +21 -0
- package/dist/adapters/BaseAdapter.js.map +1 -1
- package/dist/adapters/BasicAdapter.d.ts +72 -3
- package/dist/adapters/BasicAdapter.d.ts.map +1 -1
- package/dist/adapters/BasicAdapter.js +170 -2
- package/dist/adapters/BasicAdapter.js.map +1 -1
- package/dist/adapters/IAdapter.d.ts +230 -0
- package/dist/adapters/IAdapter.d.ts.map +1 -0
- package/dist/adapters/IAdapter.js +44 -0
- package/dist/adapters/IAdapter.js.map +1 -0
- package/dist/adapters/StandardAdapter.d.ts +70 -1
- package/dist/adapters/StandardAdapter.d.ts.map +1 -1
- package/dist/adapters/StandardAdapter.js +184 -0
- package/dist/adapters/StandardAdapter.js.map +1 -1
- package/dist/adapters/X402Adapter.d.ts +208 -0
- package/dist/adapters/X402Adapter.d.ts.map +1 -0
- package/dist/adapters/X402Adapter.js +423 -0
- package/dist/adapters/X402Adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +8 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +19 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts +4 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +184 -4
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/config/networks.js +3 -3
- package/dist/config/networks.js.map +1 -1
- package/dist/erc8004/ERC8004Bridge.d.ts +155 -0
- package/dist/erc8004/ERC8004Bridge.d.ts.map +1 -0
- package/dist/erc8004/ERC8004Bridge.js +325 -0
- package/dist/erc8004/ERC8004Bridge.js.map +1 -0
- package/dist/erc8004/ReputationReporter.d.ts +223 -0
- package/dist/erc8004/ReputationReporter.d.ts.map +1 -0
- package/dist/erc8004/ReputationReporter.js +266 -0
- package/dist/erc8004/ReputationReporter.js.map +1 -0
- package/dist/erc8004/index.d.ts +36 -0
- package/dist/erc8004/index.d.ts.map +1 -0
- package/dist/erc8004/index.js +46 -0
- package/dist/erc8004/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -2
- package/dist/index.js.map +1 -1
- package/dist/protocol/ACTPKernel.d.ts +1 -1
- package/dist/protocol/ACTPKernel.d.ts.map +1 -1
- package/dist/protocol/ACTPKernel.js +16 -7
- package/dist/protocol/ACTPKernel.js.map +1 -1
- package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
- package/dist/runtime/BlockchainRuntime.js +2 -0
- package/dist/runtime/BlockchainRuntime.js.map +1 -1
- package/dist/runtime/IACTPRuntime.d.ts +6 -0
- package/dist/runtime/IACTPRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.d.ts +12 -0
- package/dist/runtime/MockRuntime.d.ts.map +1 -1
- package/dist/runtime/MockRuntime.js +41 -0
- package/dist/runtime/MockRuntime.js.map +1 -1
- package/dist/runtime/types/MockState.d.ts +6 -0
- package/dist/runtime/types/MockState.d.ts.map +1 -1
- package/dist/runtime/types/MockState.js.map +1 -1
- package/dist/types/adapter.d.ts +359 -0
- package/dist/types/adapter.d.ts.map +1 -0
- package/dist/types/adapter.js +115 -0
- package/dist/types/adapter.js.map +1 -0
- package/dist/types/erc8004.d.ts +184 -0
- package/dist/types/erc8004.d.ts.map +1 -0
- package/dist/types/erc8004.js +132 -0
- package/dist/types/erc8004.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/transaction.d.ts +12 -0
- package/dist/types/transaction.d.ts.map +1 -1
- package/dist/types/x402.d.ts +162 -0
- package/dist/types/x402.d.ts.map +1 -0
- package/dist/types/x402.js +162 -0
- package/dist/types/x402.js.map +1 -0
- package/package.json +3 -2
- package/src/ACTPClient.ts +318 -2
- package/src/abi/ACTPKernel.json +16 -0
- package/src/adapters/AdapterRegistry.ts +173 -0
- package/src/adapters/AdapterRouter.ts +417 -0
- package/src/adapters/BaseAdapter.ts +25 -0
- package/src/adapters/BasicAdapter.ts +199 -3
- package/src/adapters/IAdapter.ts +292 -0
- package/src/adapters/StandardAdapter.ts +220 -1
- package/src/adapters/X402Adapter.ts +653 -0
- package/src/adapters/index.ts +27 -0
- package/src/cli/commands/init.ts +208 -3
- package/src/config/networks.ts +3 -3
- package/src/erc8004/ERC8004Bridge.ts +461 -0
- package/src/erc8004/ReputationReporter.ts +472 -0
- package/src/erc8004/index.ts +61 -0
- package/src/index.ts +43 -0
- package/src/protocol/ACTPKernel.ts +26 -7
- package/src/runtime/BlockchainRuntime.ts +2 -0
- package/src/runtime/IACTPRuntime.ts +6 -0
- package/src/runtime/MockRuntime.ts +42 -0
- package/src/runtime/types/MockState.ts +7 -0
- package/src/types/adapter.ts +296 -0
- package/src/types/erc8004.ts +293 -0
- package/src/types/index.ts +3 -0
- package/src/types/transaction.ts +12 -0
- package/src/types/x402.ts +219 -0
package/dist/ACTPClient.d.ts
CHANGED
|
@@ -37,7 +37,10 @@
|
|
|
37
37
|
import { IACTPRuntime } from './runtime/IACTPRuntime';
|
|
38
38
|
import { BasicAdapter } from './adapters/BasicAdapter';
|
|
39
39
|
import { StandardAdapter } from './adapters/StandardAdapter';
|
|
40
|
+
import { IAdapter, TransactionStatus } from './adapters/IAdapter';
|
|
41
|
+
import { UnifiedPayParams, UnifiedPayResult } from './types/adapter';
|
|
40
42
|
import { EASHelper, EASConfig } from './protocol/EASHelper';
|
|
43
|
+
import { ReputationReporter } from './erc8004/ReputationReporter';
|
|
41
44
|
/**
|
|
42
45
|
* Supported modes for ACTPClient.
|
|
43
46
|
*
|
|
@@ -313,6 +316,24 @@ export declare class ACTPClient {
|
|
|
313
316
|
* Only available in testnet/mainnet modes when easConfig is provided.
|
|
314
317
|
*/
|
|
315
318
|
readonly easHelper?: EASHelper;
|
|
319
|
+
/**
|
|
320
|
+
* Adapter registry for managing available adapters.
|
|
321
|
+
*
|
|
322
|
+
* Used internally by the router but exposed for custom adapter registration.
|
|
323
|
+
*/
|
|
324
|
+
private readonly registry;
|
|
325
|
+
/**
|
|
326
|
+
* Adapter router for intelligent adapter selection.
|
|
327
|
+
*
|
|
328
|
+
* Selects the best adapter based on payment parameters and metadata.
|
|
329
|
+
*/
|
|
330
|
+
private readonly router;
|
|
331
|
+
/**
|
|
332
|
+
* ERC-8004 Reputation Reporter (testnet/mainnet only).
|
|
333
|
+
* Used to report settlement outcomes to ERC-8004 Reputation Registry.
|
|
334
|
+
* @internal
|
|
335
|
+
*/
|
|
336
|
+
private readonly reputationReporter?;
|
|
316
337
|
/**
|
|
317
338
|
* Private constructor - use ACTPClient.create() factory method.
|
|
318
339
|
*/
|
|
@@ -471,5 +492,184 @@ export declare class ACTPClient {
|
|
|
471
492
|
* ```
|
|
472
493
|
*/
|
|
473
494
|
getBalance(address: string): Promise<string>;
|
|
495
|
+
/**
|
|
496
|
+
* Unified pay method - auto-selects the best adapter.
|
|
497
|
+
*
|
|
498
|
+
* This is the recommended way to initiate payments. The router
|
|
499
|
+
* intelligently selects the appropriate adapter based on:
|
|
500
|
+
* - Explicit adapter preference (metadata.preferredAdapter)
|
|
501
|
+
* - Required capabilities (escrow, disputes)
|
|
502
|
+
* - Recipient type (address vs HTTP endpoint)
|
|
503
|
+
*
|
|
504
|
+
* IMPORTANT: Returns with state=COMMITTED, NOT settled.
|
|
505
|
+
* You MUST call the lifecycle methods to complete:
|
|
506
|
+
*
|
|
507
|
+
* ```typescript
|
|
508
|
+
* const result = await client.pay({ to, amount });
|
|
509
|
+
* // ... provider does work ...
|
|
510
|
+
* await client.startWork(result.txId);
|
|
511
|
+
* await client.deliver(result.txId);
|
|
512
|
+
* // ... after dispute window ...
|
|
513
|
+
* await client.release(result.escrowId!); // EXPLICIT release
|
|
514
|
+
* ```
|
|
515
|
+
*
|
|
516
|
+
* @param params - Unified payment parameters
|
|
517
|
+
* @returns Promise resolving to unified payment result
|
|
518
|
+
* @throws {ValidationError} If params are invalid
|
|
519
|
+
* @throws {Error} If no suitable adapter found
|
|
520
|
+
*
|
|
521
|
+
* @example
|
|
522
|
+
* ```typescript
|
|
523
|
+
* // Simple payment (uses basic adapter by default)
|
|
524
|
+
* const result = await client.pay({
|
|
525
|
+
* to: '0xProvider...',
|
|
526
|
+
* amount: '100',
|
|
527
|
+
* });
|
|
528
|
+
*
|
|
529
|
+
* // Require escrow (prefers standard adapter)
|
|
530
|
+
* const result = await client.pay({
|
|
531
|
+
* to: '0xProvider...',
|
|
532
|
+
* amount: '100',
|
|
533
|
+
* metadata: { requiresEscrow: true }
|
|
534
|
+
* });
|
|
535
|
+
*
|
|
536
|
+
* // Explicit adapter selection
|
|
537
|
+
* const result = await client.pay({
|
|
538
|
+
* to: '0xProvider...',
|
|
539
|
+
* amount: '100',
|
|
540
|
+
* metadata: { preferredAdapter: 'standard' }
|
|
541
|
+
* });
|
|
542
|
+
* ```
|
|
543
|
+
*/
|
|
544
|
+
pay(params: UnifiedPayParams): Promise<UnifiedPayResult>;
|
|
545
|
+
/**
|
|
546
|
+
* Get transaction status by ID.
|
|
547
|
+
*
|
|
548
|
+
* Returns current state plus action hints indicating
|
|
549
|
+
* what operations are available.
|
|
550
|
+
*
|
|
551
|
+
* @param txId - Transaction ID
|
|
552
|
+
* @returns Promise resolving to transaction status
|
|
553
|
+
* @throws {Error} If transaction not found
|
|
554
|
+
*
|
|
555
|
+
* @example
|
|
556
|
+
* ```typescript
|
|
557
|
+
* const status = await client.getStatus(txId);
|
|
558
|
+
* if (status.canRelease) {
|
|
559
|
+
* await client.release(txId);
|
|
560
|
+
* }
|
|
561
|
+
* ```
|
|
562
|
+
*/
|
|
563
|
+
getStatus(txId: string): Promise<TransactionStatus>;
|
|
564
|
+
/**
|
|
565
|
+
* Transition to IN_PROGRESS state (provider starts work).
|
|
566
|
+
*
|
|
567
|
+
* Must be called by provider after accepting the transaction.
|
|
568
|
+
* ACTP requires this explicit transition before delivery.
|
|
569
|
+
*
|
|
570
|
+
* @param txId - Transaction ID
|
|
571
|
+
* @throws {Error} If transaction not found or wrong state
|
|
572
|
+
*
|
|
573
|
+
* @example
|
|
574
|
+
* ```typescript
|
|
575
|
+
* // Provider acknowledges and starts work
|
|
576
|
+
* await client.startWork(txId);
|
|
577
|
+
* ```
|
|
578
|
+
*/
|
|
579
|
+
startWork(txId: string): Promise<void>;
|
|
580
|
+
/**
|
|
581
|
+
* Transition to DELIVERED state (provider completes work).
|
|
582
|
+
*
|
|
583
|
+
* When no disputeWindowSeconds is provided, uses the transaction's actual
|
|
584
|
+
* disputeWindow from creation time. This ensures consistency and prevents
|
|
585
|
+
* mismatches between transaction creation and delivery.
|
|
586
|
+
*
|
|
587
|
+
* @param txId - Transaction ID
|
|
588
|
+
* @param disputeWindowSeconds - Optional dispute window override in seconds.
|
|
589
|
+
* If not provided, uses transaction's disputeWindow.
|
|
590
|
+
* @throws {Error} If transaction not found or wrong state
|
|
591
|
+
*
|
|
592
|
+
* @example
|
|
593
|
+
* ```typescript
|
|
594
|
+
* // Use transaction's disputeWindow (recommended)
|
|
595
|
+
* await client.deliver(txId);
|
|
596
|
+
*
|
|
597
|
+
* // Override with custom dispute window (use with caution)
|
|
598
|
+
* await client.deliver(txId, 7200);
|
|
599
|
+
* ```
|
|
600
|
+
*/
|
|
601
|
+
deliver(txId: string, disputeWindowSeconds?: number): Promise<void>;
|
|
602
|
+
/**
|
|
603
|
+
* Release escrow funds (EXPLICIT settlement).
|
|
604
|
+
*
|
|
605
|
+
* MUST be called after dispute window expires or requester approves.
|
|
606
|
+
* This is the ONLY way to settle - NO auto-settle.
|
|
607
|
+
*
|
|
608
|
+
* If ERC-8004 agent ID was set during transaction creation, this method
|
|
609
|
+
* also reports the settlement to the ERC-8004 Reputation Registry.
|
|
610
|
+
* Reputation reporting is non-blocking - failures don't affect settlement.
|
|
611
|
+
*
|
|
612
|
+
* @param escrowId - Escrow ID (usually same as txId)
|
|
613
|
+
* @param attestationUID - Optional attestation UID for verification
|
|
614
|
+
* @throws {Error} If escrow not found or dispute window active
|
|
615
|
+
*
|
|
616
|
+
* @example
|
|
617
|
+
* ```typescript
|
|
618
|
+
* // After dispute window expires
|
|
619
|
+
* await client.release(result.escrowId!);
|
|
620
|
+
* // Transaction is now SETTLED
|
|
621
|
+
* // If ERC-8004 agent, reputation is automatically reported
|
|
622
|
+
* ```
|
|
623
|
+
*/
|
|
624
|
+
release(escrowId: string, attestationUID?: string): Promise<void>;
|
|
625
|
+
/**
|
|
626
|
+
* Register a custom adapter.
|
|
627
|
+
*
|
|
628
|
+
* Allows adding custom payment adapters (e.g., x402, ERC-8004)
|
|
629
|
+
* that will be considered during router selection.
|
|
630
|
+
*
|
|
631
|
+
* @param adapter - Adapter to register
|
|
632
|
+
*
|
|
633
|
+
* @example
|
|
634
|
+
* ```typescript
|
|
635
|
+
* // Register a custom x402 adapter
|
|
636
|
+
* client.registerAdapter(new X402Adapter(client.runtime, requesterAddress));
|
|
637
|
+
* ```
|
|
638
|
+
*/
|
|
639
|
+
registerAdapter(adapter: IAdapter): void;
|
|
640
|
+
/**
|
|
641
|
+
* Get all registered adapter IDs.
|
|
642
|
+
*
|
|
643
|
+
* @returns Array of adapter IDs
|
|
644
|
+
*
|
|
645
|
+
* @example
|
|
646
|
+
* ```typescript
|
|
647
|
+
* const adapters = client.getRegisteredAdapters();
|
|
648
|
+
* console.log(adapters); // ['basic', 'standard', 'x402']
|
|
649
|
+
* ```
|
|
650
|
+
*/
|
|
651
|
+
getRegisteredAdapters(): string[];
|
|
652
|
+
/**
|
|
653
|
+
* Get the ERC-8004 Reputation Reporter instance.
|
|
654
|
+
*
|
|
655
|
+
* Only available in testnet/mainnet modes. Returns undefined in mock mode.
|
|
656
|
+
* Use this for manual reputation reporting or checking stats.
|
|
657
|
+
*
|
|
658
|
+
* @returns ReputationReporter instance or undefined
|
|
659
|
+
*
|
|
660
|
+
* @example
|
|
661
|
+
* ```typescript
|
|
662
|
+
* const reporter = client.getReputationReporter();
|
|
663
|
+
* if (reporter) {
|
|
664
|
+
* // Check if already reported
|
|
665
|
+
* const reported = reporter.isReported(txId);
|
|
666
|
+
*
|
|
667
|
+
* // Get agent reputation
|
|
668
|
+
* const rep = await reporter.getAgentReputation('12345');
|
|
669
|
+
* console.log(`Agent has ${rep?.count} reviews, score: ${rep?.score}`);
|
|
670
|
+
* }
|
|
671
|
+
* ```
|
|
672
|
+
*/
|
|
673
|
+
getReputationReporter(): ReputationReporter | undefined;
|
|
474
674
|
}
|
|
475
675
|
//# sourceMappingURL=ACTPClient.d.ts.map
|
package/dist/ACTPClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACTPClient.d.ts","sourceRoot":"","sources":["../src/ACTPClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AASH,OAAO,EAAE,YAAY,EAAgB,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ACTPClient.d.ts","sourceRoot":"","sources":["../src/ACTPClient.ts"],"names":[],"mappings":"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"}
|
package/dist/ACTPClient.js
CHANGED
|
@@ -69,6 +69,10 @@ const MockStateManager_1 = require("./runtime/MockStateManager");
|
|
|
69
69
|
const BlockchainRuntime_1 = require("./runtime/BlockchainRuntime");
|
|
70
70
|
const BasicAdapter_1 = require("./adapters/BasicAdapter");
|
|
71
71
|
const StandardAdapter_1 = require("./adapters/StandardAdapter");
|
|
72
|
+
const AdapterRegistry_1 = require("./adapters/AdapterRegistry");
|
|
73
|
+
const AdapterRouter_1 = require("./adapters/AdapterRouter");
|
|
74
|
+
const ERC8004Bridge_1 = require("./erc8004/ERC8004Bridge");
|
|
75
|
+
const ReputationReporter_1 = require("./erc8004/ReputationReporter");
|
|
72
76
|
const networks_1 = require("./config/networks");
|
|
73
77
|
// ============================================================================
|
|
74
78
|
// Security: Path Validation
|
|
@@ -199,12 +203,18 @@ class ACTPClient {
|
|
|
199
203
|
/**
|
|
200
204
|
* Private constructor - use ACTPClient.create() factory method.
|
|
201
205
|
*/
|
|
202
|
-
constructor(runtime, requesterAddress, info, easHelper) {
|
|
206
|
+
constructor(runtime, requesterAddress, info, easHelper, erc8004Bridge, reputationReporter) {
|
|
203
207
|
this.runtime = runtime;
|
|
204
208
|
this.info = info;
|
|
205
209
|
this.easHelper = easHelper;
|
|
210
|
+
this.reputationReporter = reputationReporter;
|
|
206
211
|
this.basic = new BasicAdapter_1.BasicAdapter(runtime, requesterAddress, easHelper);
|
|
207
212
|
this.standard = new StandardAdapter_1.StandardAdapter(runtime, requesterAddress, easHelper);
|
|
213
|
+
// Initialize registry and router
|
|
214
|
+
this.registry = new AdapterRegistry_1.AdapterRegistry();
|
|
215
|
+
this.registry.register(this.basic);
|
|
216
|
+
this.registry.register(this.standard);
|
|
217
|
+
this.router = new AdapterRouter_1.AdapterRouter(this.registry, erc8004Bridge);
|
|
208
218
|
}
|
|
209
219
|
// ==========================================================================
|
|
210
220
|
// Factory Method
|
|
@@ -255,6 +265,8 @@ class ACTPClient {
|
|
|
255
265
|
let runtime;
|
|
256
266
|
let stateDirectory;
|
|
257
267
|
let easHelper;
|
|
268
|
+
let erc8004Bridge;
|
|
269
|
+
let reputationReporter;
|
|
258
270
|
// If custom runtime provided, use it directly
|
|
259
271
|
if (config.runtime) {
|
|
260
272
|
runtime = config.runtime;
|
|
@@ -314,6 +326,19 @@ class ACTPClient {
|
|
|
314
326
|
if (config.easConfig) {
|
|
315
327
|
easHelper = blockchainRuntime.getEASHelper();
|
|
316
328
|
}
|
|
329
|
+
// ERC-8004 INTEGRATION: Create bridge for agent ID resolution
|
|
330
|
+
// Maps network to ERC8004Network ('base-sepolia' or 'base')
|
|
331
|
+
const erc8004Network = config.mode === 'testnet' ? 'base-sepolia' : 'base';
|
|
332
|
+
erc8004Bridge = new ERC8004Bridge_1.ERC8004Bridge({
|
|
333
|
+
network: erc8004Network,
|
|
334
|
+
rpcUrl,
|
|
335
|
+
});
|
|
336
|
+
// ERC-8004 REPUTATION: Create reporter for settlement outcome reporting
|
|
337
|
+
// Reports successful settlements and dispute outcomes to Reputation Registry
|
|
338
|
+
reputationReporter = new ReputationReporter_1.ReputationReporter({
|
|
339
|
+
network: erc8004Network,
|
|
340
|
+
signer,
|
|
341
|
+
});
|
|
317
342
|
break;
|
|
318
343
|
}
|
|
319
344
|
default:
|
|
@@ -329,7 +354,8 @@ class ACTPClient {
|
|
|
329
354
|
stateDirectory,
|
|
330
355
|
};
|
|
331
356
|
// SECURITY FIX (C-4): Pass EASHelper to adapters for attestation verification
|
|
332
|
-
|
|
357
|
+
// ERC-8004: Pass bridge for agent ID resolution, reporter for settlement outcomes
|
|
358
|
+
return new ACTPClient(runtime, normalizedAddress, info, easHelper, erc8004Bridge, reputationReporter);
|
|
333
359
|
}
|
|
334
360
|
// ==========================================================================
|
|
335
361
|
// Public Methods
|
|
@@ -499,6 +525,244 @@ class ACTPClient {
|
|
|
499
525
|
}
|
|
500
526
|
return this.runtime.getBalance(address);
|
|
501
527
|
}
|
|
528
|
+
// ==========================================================================
|
|
529
|
+
// Unified Payment API (Router-based)
|
|
530
|
+
// ==========================================================================
|
|
531
|
+
/**
|
|
532
|
+
* Unified pay method - auto-selects the best adapter.
|
|
533
|
+
*
|
|
534
|
+
* This is the recommended way to initiate payments. The router
|
|
535
|
+
* intelligently selects the appropriate adapter based on:
|
|
536
|
+
* - Explicit adapter preference (metadata.preferredAdapter)
|
|
537
|
+
* - Required capabilities (escrow, disputes)
|
|
538
|
+
* - Recipient type (address vs HTTP endpoint)
|
|
539
|
+
*
|
|
540
|
+
* IMPORTANT: Returns with state=COMMITTED, NOT settled.
|
|
541
|
+
* You MUST call the lifecycle methods to complete:
|
|
542
|
+
*
|
|
543
|
+
* ```typescript
|
|
544
|
+
* const result = await client.pay({ to, amount });
|
|
545
|
+
* // ... provider does work ...
|
|
546
|
+
* await client.startWork(result.txId);
|
|
547
|
+
* await client.deliver(result.txId);
|
|
548
|
+
* // ... after dispute window ...
|
|
549
|
+
* await client.release(result.escrowId!); // EXPLICIT release
|
|
550
|
+
* ```
|
|
551
|
+
*
|
|
552
|
+
* @param params - Unified payment parameters
|
|
553
|
+
* @returns Promise resolving to unified payment result
|
|
554
|
+
* @throws {ValidationError} If params are invalid
|
|
555
|
+
* @throws {Error} If no suitable adapter found
|
|
556
|
+
*
|
|
557
|
+
* @example
|
|
558
|
+
* ```typescript
|
|
559
|
+
* // Simple payment (uses basic adapter by default)
|
|
560
|
+
* const result = await client.pay({
|
|
561
|
+
* to: '0xProvider...',
|
|
562
|
+
* amount: '100',
|
|
563
|
+
* });
|
|
564
|
+
*
|
|
565
|
+
* // Require escrow (prefers standard adapter)
|
|
566
|
+
* const result = await client.pay({
|
|
567
|
+
* to: '0xProvider...',
|
|
568
|
+
* amount: '100',
|
|
569
|
+
* metadata: { requiresEscrow: true }
|
|
570
|
+
* });
|
|
571
|
+
*
|
|
572
|
+
* // Explicit adapter selection
|
|
573
|
+
* const result = await client.pay({
|
|
574
|
+
* to: '0xProvider...',
|
|
575
|
+
* amount: '100',
|
|
576
|
+
* metadata: { preferredAdapter: 'standard' }
|
|
577
|
+
* });
|
|
578
|
+
* ```
|
|
579
|
+
*/
|
|
580
|
+
async pay(params) {
|
|
581
|
+
// Use selectAndResolve to auto-resolve ERC-8004 agent IDs to wallet addresses
|
|
582
|
+
const { adapter, resolvedParams } = await this.router.selectAndResolve(params);
|
|
583
|
+
return adapter.pay(resolvedParams);
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Get transaction status by ID.
|
|
587
|
+
*
|
|
588
|
+
* Returns current state plus action hints indicating
|
|
589
|
+
* what operations are available.
|
|
590
|
+
*
|
|
591
|
+
* @param txId - Transaction ID
|
|
592
|
+
* @returns Promise resolving to transaction status
|
|
593
|
+
* @throws {Error} If transaction not found
|
|
594
|
+
*
|
|
595
|
+
* @example
|
|
596
|
+
* ```typescript
|
|
597
|
+
* const status = await client.getStatus(txId);
|
|
598
|
+
* if (status.canRelease) {
|
|
599
|
+
* await client.release(txId);
|
|
600
|
+
* }
|
|
601
|
+
* ```
|
|
602
|
+
*/
|
|
603
|
+
async getStatus(txId) {
|
|
604
|
+
// Use standard adapter for status - it has access to all tx details
|
|
605
|
+
return this.standard.getStatus(txId);
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Transition to IN_PROGRESS state (provider starts work).
|
|
609
|
+
*
|
|
610
|
+
* Must be called by provider after accepting the transaction.
|
|
611
|
+
* ACTP requires this explicit transition before delivery.
|
|
612
|
+
*
|
|
613
|
+
* @param txId - Transaction ID
|
|
614
|
+
* @throws {Error} If transaction not found or wrong state
|
|
615
|
+
*
|
|
616
|
+
* @example
|
|
617
|
+
* ```typescript
|
|
618
|
+
* // Provider acknowledges and starts work
|
|
619
|
+
* await client.startWork(txId);
|
|
620
|
+
* ```
|
|
621
|
+
*/
|
|
622
|
+
async startWork(txId) {
|
|
623
|
+
await this.runtime.transitionState(txId, 'IN_PROGRESS');
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* Transition to DELIVERED state (provider completes work).
|
|
627
|
+
*
|
|
628
|
+
* When no disputeWindowSeconds is provided, uses the transaction's actual
|
|
629
|
+
* disputeWindow from creation time. This ensures consistency and prevents
|
|
630
|
+
* mismatches between transaction creation and delivery.
|
|
631
|
+
*
|
|
632
|
+
* @param txId - Transaction ID
|
|
633
|
+
* @param disputeWindowSeconds - Optional dispute window override in seconds.
|
|
634
|
+
* If not provided, uses transaction's disputeWindow.
|
|
635
|
+
* @throws {Error} If transaction not found or wrong state
|
|
636
|
+
*
|
|
637
|
+
* @example
|
|
638
|
+
* ```typescript
|
|
639
|
+
* // Use transaction's disputeWindow (recommended)
|
|
640
|
+
* await client.deliver(txId);
|
|
641
|
+
*
|
|
642
|
+
* // Override with custom dispute window (use with caution)
|
|
643
|
+
* await client.deliver(txId, 7200);
|
|
644
|
+
* ```
|
|
645
|
+
*/
|
|
646
|
+
async deliver(txId, disputeWindowSeconds) {
|
|
647
|
+
// Fetch transaction
|
|
648
|
+
const tx = await this.runtime.getTransaction(txId);
|
|
649
|
+
if (!tx) {
|
|
650
|
+
throw new Error(`Transaction ${txId} not found`);
|
|
651
|
+
}
|
|
652
|
+
// First ensure we're in IN_PROGRESS state
|
|
653
|
+
if (tx.state === 'COMMITTED') {
|
|
654
|
+
await this.runtime.transitionState(txId, 'IN_PROGRESS');
|
|
655
|
+
}
|
|
656
|
+
// Use provided disputeWindow or fall back to transaction's disputeWindow
|
|
657
|
+
const effectiveDisputeWindow = disputeWindowSeconds ?? tx.disputeWindow;
|
|
658
|
+
// Encode dispute window as proof
|
|
659
|
+
const proof = ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint256'], [effectiveDisputeWindow]);
|
|
660
|
+
await this.runtime.transitionState(txId, 'DELIVERED', proof);
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Release escrow funds (EXPLICIT settlement).
|
|
664
|
+
*
|
|
665
|
+
* MUST be called after dispute window expires or requester approves.
|
|
666
|
+
* This is the ONLY way to settle - NO auto-settle.
|
|
667
|
+
*
|
|
668
|
+
* If ERC-8004 agent ID was set during transaction creation, this method
|
|
669
|
+
* also reports the settlement to the ERC-8004 Reputation Registry.
|
|
670
|
+
* Reputation reporting is non-blocking - failures don't affect settlement.
|
|
671
|
+
*
|
|
672
|
+
* @param escrowId - Escrow ID (usually same as txId)
|
|
673
|
+
* @param attestationUID - Optional attestation UID for verification
|
|
674
|
+
* @throws {Error} If escrow not found or dispute window active
|
|
675
|
+
*
|
|
676
|
+
* @example
|
|
677
|
+
* ```typescript
|
|
678
|
+
* // After dispute window expires
|
|
679
|
+
* await client.release(result.escrowId!);
|
|
680
|
+
* // Transaction is now SETTLED
|
|
681
|
+
* // If ERC-8004 agent, reputation is automatically reported
|
|
682
|
+
* ```
|
|
683
|
+
*/
|
|
684
|
+
async release(escrowId, attestationUID) {
|
|
685
|
+
// In ACTP, escrowId === txId
|
|
686
|
+
const txId = escrowId;
|
|
687
|
+
// Get transaction to find agentId (for reputation reporting)
|
|
688
|
+
const tx = await this.runtime.getTransaction(txId);
|
|
689
|
+
const agentId = tx?.agentId;
|
|
690
|
+
// Release escrow (this is the critical operation)
|
|
691
|
+
await this.runtime.releaseEscrow(escrowId, attestationUID);
|
|
692
|
+
// ERC-8004 REPUTATION: Report settlement if agent ID exists
|
|
693
|
+
// Non-blocking - fire and forget (settlement already succeeded)
|
|
694
|
+
if (this.reputationReporter && agentId && agentId !== '0') {
|
|
695
|
+
// Don't await - reputation reporting shouldn't block the release
|
|
696
|
+
this.reputationReporter
|
|
697
|
+
.reportSettlement({
|
|
698
|
+
agentId,
|
|
699
|
+
txId,
|
|
700
|
+
})
|
|
701
|
+
.then((result) => {
|
|
702
|
+
if (result) {
|
|
703
|
+
console.log(`[ERC8004] Settlement reported for agent ${agentId}: ${result.txHash}`);
|
|
704
|
+
}
|
|
705
|
+
})
|
|
706
|
+
.catch(() => {
|
|
707
|
+
// Errors already logged by reporter - silently ignore here
|
|
708
|
+
});
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* Register a custom adapter.
|
|
713
|
+
*
|
|
714
|
+
* Allows adding custom payment adapters (e.g., x402, ERC-8004)
|
|
715
|
+
* that will be considered during router selection.
|
|
716
|
+
*
|
|
717
|
+
* @param adapter - Adapter to register
|
|
718
|
+
*
|
|
719
|
+
* @example
|
|
720
|
+
* ```typescript
|
|
721
|
+
* // Register a custom x402 adapter
|
|
722
|
+
* client.registerAdapter(new X402Adapter(client.runtime, requesterAddress));
|
|
723
|
+
* ```
|
|
724
|
+
*/
|
|
725
|
+
registerAdapter(adapter) {
|
|
726
|
+
this.registry.register(adapter);
|
|
727
|
+
}
|
|
728
|
+
/**
|
|
729
|
+
* Get all registered adapter IDs.
|
|
730
|
+
*
|
|
731
|
+
* @returns Array of adapter IDs
|
|
732
|
+
*
|
|
733
|
+
* @example
|
|
734
|
+
* ```typescript
|
|
735
|
+
* const adapters = client.getRegisteredAdapters();
|
|
736
|
+
* console.log(adapters); // ['basic', 'standard', 'x402']
|
|
737
|
+
* ```
|
|
738
|
+
*/
|
|
739
|
+
getRegisteredAdapters() {
|
|
740
|
+
return this.registry.getIds();
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* Get the ERC-8004 Reputation Reporter instance.
|
|
744
|
+
*
|
|
745
|
+
* Only available in testnet/mainnet modes. Returns undefined in mock mode.
|
|
746
|
+
* Use this for manual reputation reporting or checking stats.
|
|
747
|
+
*
|
|
748
|
+
* @returns ReputationReporter instance or undefined
|
|
749
|
+
*
|
|
750
|
+
* @example
|
|
751
|
+
* ```typescript
|
|
752
|
+
* const reporter = client.getReputationReporter();
|
|
753
|
+
* if (reporter) {
|
|
754
|
+
* // Check if already reported
|
|
755
|
+
* const reported = reporter.isReported(txId);
|
|
756
|
+
*
|
|
757
|
+
* // Get agent reputation
|
|
758
|
+
* const rep = await reporter.getAgentReputation('12345');
|
|
759
|
+
* console.log(`Agent has ${rep?.count} reviews, score: ${rep?.score}`);
|
|
760
|
+
* }
|
|
761
|
+
* ```
|
|
762
|
+
*/
|
|
763
|
+
getReputationReporter() {
|
|
764
|
+
return this.reputationReporter;
|
|
765
|
+
}
|
|
502
766
|
}
|
|
503
767
|
exports.ACTPClient = ACTPClient;
|
|
504
768
|
//# sourceMappingURL=ACTPClient.js.map
|
package/dist/ACTPClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACTPClient.js","sourceRoot":"","sources":["../src/ACTPClient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,uCAAyB;AACzB,uCAAyB;AACzB,mCAAgC;AAChC,uDAAoD;AACpD,iEAA8D;AAC9D,mEAAgE;AAEhE,0DAAuD;AACvD,gEAA6D;
|
|
1
|
+
{"version":3,"file":"ACTPClient.js","sourceRoot":"","sources":["../src/ACTPClient.ts"],"names":[],"mappings":"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"}
|
package/dist/abi/ACTPKernel.json
CHANGED
|
@@ -328,6 +328,11 @@
|
|
|
328
328
|
"name": "serviceHash",
|
|
329
329
|
"type": "bytes32",
|
|
330
330
|
"internalType": "bytes32"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"name": "agentId",
|
|
334
|
+
"type": "uint256",
|
|
335
|
+
"internalType": "uint256"
|
|
331
336
|
}
|
|
332
337
|
],
|
|
333
338
|
"outputs": [
|
|
@@ -477,6 +482,11 @@
|
|
|
477
482
|
"name": "platformFeeBpsLocked",
|
|
478
483
|
"type": "uint16",
|
|
479
484
|
"internalType": "uint16"
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"name": "agentId",
|
|
488
|
+
"type": "uint256",
|
|
489
|
+
"internalType": "uint256"
|
|
480
490
|
}
|
|
481
491
|
]
|
|
482
492
|
}
|
|
@@ -1328,6 +1338,12 @@
|
|
|
1328
1338
|
"type": "uint256",
|
|
1329
1339
|
"indexed": false,
|
|
1330
1340
|
"internalType": "uint256"
|
|
1341
|
+
},
|
|
1342
|
+
{
|
|
1343
|
+
"name": "agentId",
|
|
1344
|
+
"type": "uint256",
|
|
1345
|
+
"indexed": false,
|
|
1346
|
+
"internalType": "uint256"
|
|
1331
1347
|
}
|
|
1332
1348
|
],
|
|
1333
1349
|
"anonymous": false
|