@agirails/sdk 2.0.2 → 2.0.3
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/README.md +22 -22
- package/dist/ACTPClient.d.ts +24 -24
- package/dist/ACTPClient.d.ts.map +1 -1
- package/dist/ACTPClient.js +18 -18
- package/dist/ACTPClient.js.map +1 -1
- package/dist/adapters/BasicAdapter.d.ts +152 -0
- package/dist/adapters/BasicAdapter.d.ts.map +1 -0
- package/dist/adapters/BasicAdapter.js +168 -0
- package/dist/adapters/BasicAdapter.js.map +1 -0
- package/dist/adapters/StandardAdapter.d.ts +211 -0
- package/dist/adapters/StandardAdapter.d.ts.map +1 -0
- package/dist/adapters/StandardAdapter.js +260 -0
- package/dist/adapters/StandardAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +4 -4
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +7 -7
- package/dist/adapters/index.js.map +1 -1
- package/dist/cli/commands/pay.d.ts +1 -1
- package/dist/cli/commands/pay.js +2 -2
- package/dist/cli/commands/pay.js.map +1 -1
- package/dist/cli/commands/tx.d.ts +1 -1
- package/dist/cli/commands/tx.js +13 -13
- package/dist/cli/commands/tx.js.map +1 -1
- package/dist/cli/commands/watch.js +2 -2
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/protocol/ACTPKernel.d.ts +5 -5
- package/dist/protocol/ACTPKernel.js +5 -5
- package/dist/runtime/BlockchainRuntime.d.ts +1 -1
- package/dist/runtime/BlockchainRuntime.js +1 -1
- package/dist/runtime/IACTPRuntime.d.ts +1 -1
- package/dist/utils/ErrorRecoveryGuide.d.ts +2 -2
- package/dist/utils/ErrorRecoveryGuide.js +2 -2
- package/package.json +1 -1
- package/src/ACTPClient.ts +26 -26
- package/src/adapters/{BeginnerAdapter.ts → BasicAdapter.ts} +11 -11
- package/src/adapters/{IntermediateAdapter.ts → StandardAdapter.ts} +15 -15
- package/src/adapters/index.ts +4 -4
- package/src/cli/commands/pay.ts +2 -2
- package/src/cli/commands/tx.ts +13 -13
- package/src/cli/commands/watch.ts +2 -2
- package/src/index.ts +8 -8
- package/src/protocol/ACTPKernel.ts +5 -5
- package/src/runtime/BlockchainRuntime.ts +1 -1
- package/src/runtime/IACTPRuntime.ts +1 -1
- package/src/utils/ErrorRecoveryGuide.ts +2 -2
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ npm install @agirails/sdk
|
|
|
10
10
|
|
|
11
11
|
## Quick Start
|
|
12
12
|
|
|
13
|
-
###
|
|
13
|
+
### Basic API
|
|
14
14
|
|
|
15
15
|
```typescript
|
|
16
16
|
import { ACTPClient } from '@agirails/sdk';
|
|
@@ -21,7 +21,7 @@ const client = await ACTPClient.create({
|
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
// One-liner: pay an AI agent for a service
|
|
24
|
-
const result = await client.
|
|
24
|
+
const result = await client.basic.pay({
|
|
25
25
|
provider: '0xProviderAddress...',
|
|
26
26
|
amount: '10.00', // 10 USDC
|
|
27
27
|
service: 'echo'
|
|
@@ -31,7 +31,7 @@ console.log('Transaction ID:', result.txId);
|
|
|
31
31
|
console.log('Status:', result.status);
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
### Standard API
|
|
34
|
+
### Standard API
|
|
35
35
|
|
|
36
36
|
```typescript
|
|
37
37
|
import { ACTPClient } from '@agirails/sdk';
|
|
@@ -42,26 +42,26 @@ const client = await ACTPClient.create({
|
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
// 1. Create transaction
|
|
45
|
-
const txId = await client.
|
|
45
|
+
const txId = await client.standard.createTransaction({
|
|
46
46
|
provider: '0xProviderAddress...',
|
|
47
47
|
amount: '10.00',
|
|
48
48
|
serviceRef: 'ipfs://Qm...'
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
// 2. Link escrow (funds locked, state → COMMITTED)
|
|
52
|
-
await client.
|
|
52
|
+
await client.standard.linkEscrow(txId);
|
|
53
53
|
|
|
54
54
|
// 3. Provider delivers (after work is done)
|
|
55
|
-
await client.
|
|
55
|
+
await client.standard.transitionState(txId, 'DELIVERED');
|
|
56
56
|
|
|
57
57
|
// 4. Release payment to provider
|
|
58
|
-
await client.
|
|
58
|
+
await client.standard.releaseEscrow(txId);
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
### Check Transaction Status
|
|
62
62
|
|
|
63
63
|
```typescript
|
|
64
|
-
const status = await client.
|
|
64
|
+
const status = await client.basic.checkStatus(txId);
|
|
65
65
|
console.log(status.state); // 'COMMITTED', 'DELIVERED', 'SETTLED', etc.
|
|
66
66
|
console.log(status.amount); // '10.00'
|
|
67
67
|
console.log(status.provider); // '0x...'
|
|
@@ -98,7 +98,7 @@ const client = await ACTPClient.create({
|
|
|
98
98
|
});
|
|
99
99
|
|
|
100
100
|
// Full ACTP flow works identically
|
|
101
|
-
const result = await client.
|
|
101
|
+
const result = await client.basic.pay({
|
|
102
102
|
provider: '0x1234...',
|
|
103
103
|
amount: '5.00',
|
|
104
104
|
service: 'test-service'
|
|
@@ -124,28 +124,28 @@ INITIATED → QUOTED → COMMITTED → IN_PROGRESS → DELIVERED → SETTLED
|
|
|
124
124
|
|
|
125
125
|
## API Layers
|
|
126
126
|
|
|
127
|
-
###
|
|
127
|
+
### Basic
|
|
128
128
|
|
|
129
129
|
```typescript
|
|
130
|
-
client.
|
|
131
|
-
client.
|
|
130
|
+
client.basic.pay(params) // Create, fund, and track in one call
|
|
131
|
+
client.basic.checkStatus(txId) // Get human-readable status
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
###
|
|
134
|
+
### Standard
|
|
135
135
|
|
|
136
136
|
```typescript
|
|
137
|
-
client.
|
|
138
|
-
client.
|
|
139
|
-
client.
|
|
140
|
-
client.
|
|
141
|
-
client.
|
|
142
|
-
client.
|
|
137
|
+
client.standard.createTransaction(params) // Create transaction
|
|
138
|
+
client.standard.linkEscrow(txId) // Lock funds in escrow
|
|
139
|
+
client.standard.transitionState(txId, state) // Change state
|
|
140
|
+
client.standard.releaseEscrow(txId) // Release funds to provider
|
|
141
|
+
client.standard.getTransaction(txId) // Get transaction details
|
|
142
|
+
client.standard.getEscrowBalance(escrowId) // Check locked amount
|
|
143
143
|
```
|
|
144
144
|
|
|
145
|
-
###
|
|
145
|
+
### Advanced
|
|
146
146
|
|
|
147
147
|
```typescript
|
|
148
|
-
client.
|
|
148
|
+
client.advanced // Direct access to BlockchainRuntime or MockRuntime
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
## Environment Variables
|
|
@@ -174,7 +174,7 @@ IPFS_GATEWAY=https://...
|
|
|
174
174
|
## Links
|
|
175
175
|
|
|
176
176
|
- [Documentation](https://docs.agirails.io)
|
|
177
|
-
- [GitHub](https://github.com/agirails/sdk)
|
|
177
|
+
- [GitHub](https://github.com/agirails/sdk-js)
|
|
178
178
|
- [Discord](https://discord.gg/nuhCt75qe4)
|
|
179
179
|
|
|
180
180
|
## License
|
package/dist/ACTPClient.d.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides the unified API for interacting with the ACTP protocol
|
|
5
5
|
* through three different abstraction levels:
|
|
6
|
-
* - `
|
|
7
|
-
* - `
|
|
6
|
+
* - `basic`: High-level, opinionated API for simple use cases
|
|
7
|
+
* - `standard`: Balanced API with more control
|
|
8
8
|
* - `advanced`: Direct protocol access for full control
|
|
9
9
|
*
|
|
10
10
|
* @module ACTPClient
|
|
@@ -17,26 +17,26 @@
|
|
|
17
17
|
* requesterAddress: '0x1234...',
|
|
18
18
|
* });
|
|
19
19
|
*
|
|
20
|
-
* //
|
|
21
|
-
* const result = await client.
|
|
20
|
+
* // Basic API - simplest approach
|
|
21
|
+
* const result = await client.basic.pay({
|
|
22
22
|
* to: '0xProvider...',
|
|
23
23
|
* amount: '100',
|
|
24
24
|
* });
|
|
25
25
|
*
|
|
26
|
-
* //
|
|
27
|
-
* const txId = await client.
|
|
26
|
+
* // Standard API - more control
|
|
27
|
+
* const txId = await client.standard.createTransaction({
|
|
28
28
|
* provider: '0xProvider...',
|
|
29
29
|
* amount: '100',
|
|
30
30
|
* });
|
|
31
|
-
* await client.
|
|
31
|
+
* await client.standard.linkEscrow(txId);
|
|
32
32
|
*
|
|
33
33
|
* // Advanced API - direct protocol access
|
|
34
34
|
* const tx = await client.advanced.getTransaction(txId);
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
37
|
import { IACTPRuntime } from './runtime/IACTPRuntime';
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
38
|
+
import { BasicAdapter } from './adapters/BasicAdapter';
|
|
39
|
+
import { StandardAdapter } from './adapters/StandardAdapter';
|
|
40
40
|
import { EASHelper, EASConfig } from './protocol/EASHelper';
|
|
41
41
|
/**
|
|
42
42
|
* Supported modes for ACTPClient.
|
|
@@ -207,13 +207,13 @@ export interface ACTPClientInfo {
|
|
|
207
207
|
* This class provides a unified interface to the ACTP protocol through
|
|
208
208
|
* three abstraction levels, catering to developers with different needs:
|
|
209
209
|
*
|
|
210
|
-
* **
|
|
210
|
+
* **Basic API** (`client.basic`):
|
|
211
211
|
* - Simplest possible interface
|
|
212
212
|
* - Smart defaults (24h deadline, 2-day dispute window)
|
|
213
213
|
* - User-friendly inputs (strings, no BigInt)
|
|
214
214
|
* - Perfect for: Quick prototypes, simple integrations
|
|
215
215
|
*
|
|
216
|
-
* **
|
|
216
|
+
* **Standard API** (`client.standard`):
|
|
217
217
|
* - Explicit lifecycle methods
|
|
218
218
|
* - More control over transaction flow
|
|
219
219
|
* - Still with user-friendly input parsing
|
|
@@ -235,15 +235,15 @@ export interface ACTPClientInfo {
|
|
|
235
235
|
*
|
|
236
236
|
* // Three ways to create a transaction:
|
|
237
237
|
*
|
|
238
|
-
* // 1.
|
|
239
|
-
* await client.
|
|
238
|
+
* // 1. Basic: One call does everything
|
|
239
|
+
* await client.basic.pay({ to: '0xProvider', amount: '100' });
|
|
240
240
|
*
|
|
241
|
-
* // 2.
|
|
242
|
-
* const txId = await client.
|
|
241
|
+
* // 2. Standard: Explicit steps
|
|
242
|
+
* const txId = await client.standard.createTransaction({
|
|
243
243
|
* provider: '0xProvider',
|
|
244
244
|
* amount: '100',
|
|
245
245
|
* });
|
|
246
|
-
* await client.
|
|
246
|
+
* await client.standard.linkEscrow(txId);
|
|
247
247
|
*
|
|
248
248
|
* // 3. Advanced: Full control
|
|
249
249
|
* const txId = await client.advanced.createTransaction({
|
|
@@ -257,7 +257,7 @@ export interface ACTPClientInfo {
|
|
|
257
257
|
*/
|
|
258
258
|
export declare class ACTPClient {
|
|
259
259
|
/**
|
|
260
|
-
*
|
|
260
|
+
* Basic-level API.
|
|
261
261
|
*
|
|
262
262
|
* Provides the simplest interface for creating and checking transactions.
|
|
263
263
|
* Ideal for developers who want to "just make it work" without deep
|
|
@@ -265,7 +265,7 @@ export declare class ACTPClient {
|
|
|
265
265
|
*
|
|
266
266
|
* @example
|
|
267
267
|
* ```typescript
|
|
268
|
-
* const result = await client.
|
|
268
|
+
* const result = await client.basic.pay({
|
|
269
269
|
* to: '0xProvider...',
|
|
270
270
|
* amount: '100',
|
|
271
271
|
* });
|
|
@@ -273,9 +273,9 @@ export declare class ACTPClient {
|
|
|
273
273
|
* console.log('State:', result.state); // 'COMMITTED'
|
|
274
274
|
* ```
|
|
275
275
|
*/
|
|
276
|
-
readonly
|
|
276
|
+
readonly basic: BasicAdapter;
|
|
277
277
|
/**
|
|
278
|
-
*
|
|
278
|
+
* Standard-level API.
|
|
279
279
|
*
|
|
280
280
|
* Provides explicit lifecycle methods for more control over
|
|
281
281
|
* the transaction flow while still offering user-friendly inputs.
|
|
@@ -283,20 +283,20 @@ export declare class ACTPClient {
|
|
|
283
283
|
* @example
|
|
284
284
|
* ```typescript
|
|
285
285
|
* // Create transaction (INITIATED state)
|
|
286
|
-
* const txId = await client.
|
|
286
|
+
* const txId = await client.standard.createTransaction({
|
|
287
287
|
* provider: '0xProvider...',
|
|
288
288
|
* amount: '100',
|
|
289
289
|
* deadline: '+7d',
|
|
290
290
|
* });
|
|
291
291
|
*
|
|
292
292
|
* // Link escrow (auto-transitions to COMMITTED)
|
|
293
|
-
* await client.
|
|
293
|
+
* await client.standard.linkEscrow(txId);
|
|
294
294
|
*
|
|
295
295
|
* // Transition to DELIVERED
|
|
296
|
-
* await client.
|
|
296
|
+
* await client.standard.transitionState(txId, 'DELIVERED');
|
|
297
297
|
* ```
|
|
298
298
|
*/
|
|
299
|
-
readonly
|
|
299
|
+
readonly standard: StandardAdapter;
|
|
300
300
|
/**
|
|
301
301
|
* The underlying runtime implementation.
|
|
302
302
|
*
|
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,
|
|
1
|
+
{"version":3,"file":"ACTPClient.d.ts","sourceRoot":"","sources":["../src/ACTPClient.ts"],"names":[],"mappings":"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"}
|
package/dist/ACTPClient.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Provides the unified API for interacting with the ACTP protocol
|
|
6
6
|
* through three different abstraction levels:
|
|
7
|
-
* - `
|
|
8
|
-
* - `
|
|
7
|
+
* - `basic`: High-level, opinionated API for simple use cases
|
|
8
|
+
* - `standard`: Balanced API with more control
|
|
9
9
|
* - `advanced`: Direct protocol access for full control
|
|
10
10
|
*
|
|
11
11
|
* @module ACTPClient
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
* requesterAddress: '0x1234...',
|
|
19
19
|
* });
|
|
20
20
|
*
|
|
21
|
-
* //
|
|
22
|
-
* const result = await client.
|
|
21
|
+
* // Basic API - simplest approach
|
|
22
|
+
* const result = await client.basic.pay({
|
|
23
23
|
* to: '0xProvider...',
|
|
24
24
|
* amount: '100',
|
|
25
25
|
* });
|
|
26
26
|
*
|
|
27
|
-
* //
|
|
28
|
-
* const txId = await client.
|
|
27
|
+
* // Standard API - more control
|
|
28
|
+
* const txId = await client.standard.createTransaction({
|
|
29
29
|
* provider: '0xProvider...',
|
|
30
30
|
* amount: '100',
|
|
31
31
|
* });
|
|
32
|
-
* await client.
|
|
32
|
+
* await client.standard.linkEscrow(txId);
|
|
33
33
|
*
|
|
34
34
|
* // Advanced API - direct protocol access
|
|
35
35
|
* const tx = await client.advanced.getTransaction(txId);
|
|
@@ -67,8 +67,8 @@ const ethers_1 = require("ethers");
|
|
|
67
67
|
const MockRuntime_1 = require("./runtime/MockRuntime");
|
|
68
68
|
const MockStateManager_1 = require("./runtime/MockStateManager");
|
|
69
69
|
const BlockchainRuntime_1 = require("./runtime/BlockchainRuntime");
|
|
70
|
-
const
|
|
71
|
-
const
|
|
70
|
+
const BasicAdapter_1 = require("./adapters/BasicAdapter");
|
|
71
|
+
const StandardAdapter_1 = require("./adapters/StandardAdapter");
|
|
72
72
|
const networks_1 = require("./config/networks");
|
|
73
73
|
// ============================================================================
|
|
74
74
|
// Security: Path Validation
|
|
@@ -147,13 +147,13 @@ function isMockRuntime(runtime) {
|
|
|
147
147
|
* This class provides a unified interface to the ACTP protocol through
|
|
148
148
|
* three abstraction levels, catering to developers with different needs:
|
|
149
149
|
*
|
|
150
|
-
* **
|
|
150
|
+
* **Basic API** (`client.basic`):
|
|
151
151
|
* - Simplest possible interface
|
|
152
152
|
* - Smart defaults (24h deadline, 2-day dispute window)
|
|
153
153
|
* - User-friendly inputs (strings, no BigInt)
|
|
154
154
|
* - Perfect for: Quick prototypes, simple integrations
|
|
155
155
|
*
|
|
156
|
-
* **
|
|
156
|
+
* **Standard API** (`client.standard`):
|
|
157
157
|
* - Explicit lifecycle methods
|
|
158
158
|
* - More control over transaction flow
|
|
159
159
|
* - Still with user-friendly input parsing
|
|
@@ -175,15 +175,15 @@ function isMockRuntime(runtime) {
|
|
|
175
175
|
*
|
|
176
176
|
* // Three ways to create a transaction:
|
|
177
177
|
*
|
|
178
|
-
* // 1.
|
|
179
|
-
* await client.
|
|
178
|
+
* // 1. Basic: One call does everything
|
|
179
|
+
* await client.basic.pay({ to: '0xProvider', amount: '100' });
|
|
180
180
|
*
|
|
181
|
-
* // 2.
|
|
182
|
-
* const txId = await client.
|
|
181
|
+
* // 2. Standard: Explicit steps
|
|
182
|
+
* const txId = await client.standard.createTransaction({
|
|
183
183
|
* provider: '0xProvider',
|
|
184
184
|
* amount: '100',
|
|
185
185
|
* });
|
|
186
|
-
* await client.
|
|
186
|
+
* await client.standard.linkEscrow(txId);
|
|
187
187
|
*
|
|
188
188
|
* // 3. Advanced: Full control
|
|
189
189
|
* const txId = await client.advanced.createTransaction({
|
|
@@ -203,8 +203,8 @@ class ACTPClient {
|
|
|
203
203
|
this.runtime = runtime;
|
|
204
204
|
this.info = info;
|
|
205
205
|
this.easHelper = easHelper;
|
|
206
|
-
this.
|
|
207
|
-
this.
|
|
206
|
+
this.basic = new BasicAdapter_1.BasicAdapter(runtime, requesterAddress, easHelper);
|
|
207
|
+
this.standard = new StandardAdapter_1.StandardAdapter(runtime, requesterAddress, easHelper);
|
|
208
208
|
}
|
|
209
209
|
// ==========================================================================
|
|
210
210
|
// Factory Method
|
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,
|
|
1
|
+
{"version":3,"file":"ACTPClient.js","sourceRoot":"","sources":["../src/ACTPClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BasicAdapter - High-level, opinionated API for simple use cases
|
|
3
|
+
*
|
|
4
|
+
* Provides the simplest possible interface for creating and checking transactions.
|
|
5
|
+
* Designed for developers who want to "just make it work" without deep protocol knowledge.
|
|
6
|
+
*
|
|
7
|
+
* Key Features:
|
|
8
|
+
* - Smart defaults (24h deadline, 2-day dispute window)
|
|
9
|
+
* - Inferred requester (from constructor)
|
|
10
|
+
* - User-friendly input (strings, no BigInt)
|
|
11
|
+
* - User-friendly output (formatted amounts, ISO dates)
|
|
12
|
+
*
|
|
13
|
+
* @module adapters/BasicAdapter
|
|
14
|
+
*/
|
|
15
|
+
import { BaseAdapter } from './BaseAdapter';
|
|
16
|
+
import { IACTPRuntime } from '../runtime/IACTPRuntime';
|
|
17
|
+
import { EASHelper } from '../protocol/EASHelper';
|
|
18
|
+
/**
|
|
19
|
+
* Parameters for creating a simple payment.
|
|
20
|
+
*
|
|
21
|
+
* This is the most user-friendly interface - minimal required fields.
|
|
22
|
+
*/
|
|
23
|
+
export interface BasicPayParams {
|
|
24
|
+
/** Recipient address (provider) */
|
|
25
|
+
to: string;
|
|
26
|
+
/** Amount in user-friendly format ("100", "100.50", "100 USDC", "$100") */
|
|
27
|
+
amount: string | number;
|
|
28
|
+
/** Optional: Deadline as relative time ("+24h") or Unix timestamp. Defaults to +24h */
|
|
29
|
+
deadline?: string | number;
|
|
30
|
+
/** Optional: Dispute window in seconds. Defaults to 172800 (2 days) */
|
|
31
|
+
disputeWindow?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Result of creating a payment.
|
|
35
|
+
*
|
|
36
|
+
* Provides user-friendly formatted data (not raw protocol types).
|
|
37
|
+
*/
|
|
38
|
+
export interface BasicPayResult {
|
|
39
|
+
/** Transaction ID (bytes32 hex string) */
|
|
40
|
+
txId: string;
|
|
41
|
+
/** Provider address */
|
|
42
|
+
provider: string;
|
|
43
|
+
/** Requester address (caller) */
|
|
44
|
+
requester: string;
|
|
45
|
+
/** Amount in USDC (human-readable, e.g., "100.00 USDC") */
|
|
46
|
+
amount: string;
|
|
47
|
+
/** Deadline as ISO 8601 timestamp */
|
|
48
|
+
deadline: string;
|
|
49
|
+
/** Transaction state */
|
|
50
|
+
state: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* BasicAdapter - High-level API for simple payment flows.
|
|
54
|
+
*
|
|
55
|
+
* This adapter provides the simplest possible interface:
|
|
56
|
+
* - `pay()` - Create and fund a transaction in one call
|
|
57
|
+
* - `checkStatus()` - Get transaction status with action hints
|
|
58
|
+
*
|
|
59
|
+
* All complexity is hidden behind smart defaults.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const client = await ACTPClient.create({ mode: 'mock' });
|
|
64
|
+
*
|
|
65
|
+
* // Simple payment (all defaults)
|
|
66
|
+
* const result = await client.basic.pay({
|
|
67
|
+
* to: '0xProvider123',
|
|
68
|
+
* amount: '100',
|
|
69
|
+
* });
|
|
70
|
+
* console.log('Transaction ID:', result.txId);
|
|
71
|
+
* console.log('Amount:', result.amount); // "100.00 USDC"
|
|
72
|
+
*
|
|
73
|
+
* // Check status
|
|
74
|
+
* const status = await client.basic.checkStatus(result.txId);
|
|
75
|
+
* if (status.canAccept) {
|
|
76
|
+
* console.log('Provider can accept this transaction');
|
|
77
|
+
* }
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare class BasicAdapter extends BaseAdapter {
|
|
81
|
+
private runtime;
|
|
82
|
+
private easHelper?;
|
|
83
|
+
/**
|
|
84
|
+
* Creates a new BasicAdapter instance.
|
|
85
|
+
*
|
|
86
|
+
* @param runtime - ACTP runtime implementation (MockRuntime or BlockchainRuntime)
|
|
87
|
+
* @param requesterAddress - The requester's Ethereum address
|
|
88
|
+
* @param easHelper - Optional EAS helper for attestation verification (SECURITY FIX C-4)
|
|
89
|
+
*/
|
|
90
|
+
constructor(runtime: IACTPRuntime, requesterAddress: string, easHelper?: EASHelper | undefined);
|
|
91
|
+
/**
|
|
92
|
+
* Create a payment transaction with smart defaults.
|
|
93
|
+
*
|
|
94
|
+
* This is the simplest way to create a transaction - just specify
|
|
95
|
+
* recipient and amount. All other parameters use sensible defaults.
|
|
96
|
+
*
|
|
97
|
+
* Smart defaults:
|
|
98
|
+
* - Requester: Inferred from constructor
|
|
99
|
+
* - Deadline: 24 hours from now
|
|
100
|
+
* - Dispute window: 2 days (172800 seconds)
|
|
101
|
+
*
|
|
102
|
+
* Validations performed:
|
|
103
|
+
* - Address format (0x-prefixed hex)
|
|
104
|
+
* - Amount format (positive number)
|
|
105
|
+
* - Deadline in future
|
|
106
|
+
* - Cannot pay yourself
|
|
107
|
+
*
|
|
108
|
+
* @param params - Payment parameters
|
|
109
|
+
* @returns User-friendly payment result
|
|
110
|
+
* @throws {ValidationError} If inputs are invalid
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const result = await adapter.pay({
|
|
115
|
+
* to: '0xProvider123',
|
|
116
|
+
* amount: '100.50',
|
|
117
|
+
* deadline: '+7d', // Optional: 7 days from now
|
|
118
|
+
* });
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
pay(params: BasicPayParams): Promise<BasicPayResult>;
|
|
122
|
+
/**
|
|
123
|
+
* Check payment status by transaction ID.
|
|
124
|
+
*
|
|
125
|
+
* Returns current state plus action hints (what can be done next).
|
|
126
|
+
*
|
|
127
|
+
* Action hints:
|
|
128
|
+
* - `canAccept`: Provider can accept (INITIATED state, before deadline)
|
|
129
|
+
* - `canComplete`: Provider can mark as delivered (COMMITTED state)
|
|
130
|
+
* - `canDispute`: Requester can dispute (DELIVERED state, within dispute window)
|
|
131
|
+
*
|
|
132
|
+
* @param txId - Transaction ID to check
|
|
133
|
+
* @returns Status with action hints
|
|
134
|
+
* @throws {Error} If transaction not found
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* const status = await adapter.checkStatus(txId);
|
|
139
|
+
* console.log('State:', status.state); // "COMMITTED"
|
|
140
|
+
* if (status.canComplete) {
|
|
141
|
+
* // Provider can deliver now
|
|
142
|
+
* }
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
checkStatus(txId: string): Promise<{
|
|
146
|
+
state: string;
|
|
147
|
+
canAccept: boolean;
|
|
148
|
+
canComplete: boolean;
|
|
149
|
+
canDispute: boolean;
|
|
150
|
+
}>;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=BasicAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasicAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/BasicAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,WAAW,EAAmD,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,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;IAiD1D;;;;;;;;;;;;;;;;;;;;;;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"}
|