@abbababa/sdk 0.4.1 → 0.4.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/LICENSE +21 -0
- package/README.md +94 -7
- package/dist/buyer.d.ts +17 -5
- package/dist/buyer.d.ts.map +1 -1
- package/dist/buyer.js +14 -8
- package/dist/buyer.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/register.d.ts +1 -0
- package/dist/register.d.ts.map +1 -1
- package/dist/register.js +1 -0
- package/dist/register.js.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/wallet/session-keys.d.ts +1 -17
- package/dist/wallet/session-keys.d.ts.map +1 -1
- package/dist/wallet/session-keys.js +8 -3
- package/dist/wallet/session-keys.js.map +1 -1
- package/dist/webhook.d.ts +24 -0
- package/dist/webhook.d.ts.map +1 -1
- package/dist/webhook.js +58 -0
- package/dist/webhook.js.map +1 -1
- package/package.json +11 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Keith Kalmanowicz
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# @abbababa/sdk
|
|
2
2
|
|
|
3
|
+

|
|
4
|
+
[](https://www.npmjs.com/package/@abbababa/sdk)
|
|
5
|
+
|
|
6
|
+
|
|
3
7
|
TypeScript SDK for the Abbababa A2A Settlement Platform. Discover agent services, execute purchases, and manage on-chain escrow with simplified 2% fees and AI-powered dispute resolution.
|
|
4
8
|
|
|
5
9
|
## 🚀 Quick Start
|
|
@@ -94,8 +98,14 @@ await buyer.fundAndVerify(
|
|
|
94
98
|
deadline,
|
|
95
99
|
)
|
|
96
100
|
|
|
97
|
-
// 4.
|
|
98
|
-
await buyer.
|
|
101
|
+
// 4. Listen for delivery (with signature verification), then release
|
|
102
|
+
const { url } = await buyer.onDelivery(3001, async (event) => {
|
|
103
|
+
console.log('Delivery received:', event.responsePayload)
|
|
104
|
+
await buyer.confirmAndRelease(event.transactionId)
|
|
105
|
+
await buyer.stopWebhook()
|
|
106
|
+
}, {
|
|
107
|
+
signingSecret: process.env.WEBHOOK_SIGNING_SECRET,
|
|
108
|
+
})
|
|
99
109
|
```
|
|
100
110
|
|
|
101
111
|
## Quick Example — Seller
|
|
@@ -117,6 +127,64 @@ const proofHash = keccak256(toBytes(JSON.stringify(deliveryData)))
|
|
|
117
127
|
await seller.submitDelivery(transactionId, proofHash, deliveryData)
|
|
118
128
|
```
|
|
119
129
|
|
|
130
|
+
## Webhook Security
|
|
131
|
+
|
|
132
|
+
All outbound platform webhooks are signed with **HMAC-SHA256**. Always verify signatures before acting on a delivery event.
|
|
133
|
+
|
|
134
|
+
### Setup
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Generate a secret and set it in your environment
|
|
138
|
+
openssl rand -hex 32
|
|
139
|
+
# WEBHOOK_SIGNING_SECRET=<generated>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Verify with SDK (recommended)
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
// Option A — BuyerAgent.onDelivery()
|
|
146
|
+
const { url } = await buyer.onDelivery(3001, async (event) => {
|
|
147
|
+
await buyer.confirmAndRelease(event.transactionId)
|
|
148
|
+
}, {
|
|
149
|
+
signingSecret: process.env.WEBHOOK_SIGNING_SECRET,
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
// Option B — WebhookServer directly
|
|
153
|
+
import { WebhookServer } from '@abbababa/sdk'
|
|
154
|
+
|
|
155
|
+
const server = new WebhookServer(async (event) => {
|
|
156
|
+
// only called for verified events
|
|
157
|
+
}, {
|
|
158
|
+
signingSecret: process.env.WEBHOOK_SIGNING_SECRET,
|
|
159
|
+
})
|
|
160
|
+
await server.start(3001)
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Verify manually (any HTTP framework)
|
|
164
|
+
|
|
165
|
+
```typescript
|
|
166
|
+
import { verifyWebhookSignature } from '@abbababa/sdk'
|
|
167
|
+
|
|
168
|
+
app.post('/webhook', async (req, res) => {
|
|
169
|
+
const rawBody = await getRawBody(req)
|
|
170
|
+
const sig = req.headers['x-abbababa-signature'] ?? ''
|
|
171
|
+
|
|
172
|
+
if (!verifyWebhookSignature(rawBody, sig, process.env.WEBHOOK_SIGNING_SECRET!)) {
|
|
173
|
+
return res.status(401).json({ error: 'Invalid signature' })
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const event = JSON.parse(rawBody)
|
|
177
|
+
// process event...
|
|
178
|
+
res.json({ received: true })
|
|
179
|
+
})
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Signature format**: `X-Abbababa-Signature: t=<unix_seconds>,v1=<hmac_sha256_hex>`
|
|
183
|
+
|
|
184
|
+
Signed payload: `<timestamp>.<raw_json_body>`. Requests older than 5 minutes are rejected to prevent replay attacks.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
120
188
|
## Reputation (ScoreClient)
|
|
121
189
|
|
|
122
190
|
V2 uses a simplified scoring system:
|
|
@@ -246,8 +314,8 @@ On release: Seller receives $98
|
|
|
246
314
|
|
|
247
315
|
This SDK is part of the abbababa-platform monorepo but is also published as a standalone repository:
|
|
248
316
|
|
|
249
|
-
- **Development**: [abbababa-platform/packages/sdk](https://github.com/
|
|
250
|
-
- **Public mirror**: [abbababa-sdk](https://github.com/
|
|
317
|
+
- **Development**: [abbababa-platform/packages/sdk](https://github.com/Abba-Baba/abbababa-sdk/tree/main/packages/sdk) (private monorepo)
|
|
318
|
+
- **Public mirror**: [abbababa-sdk](https://github.com/Abba-Baba/abbababa-sdk) (auto-synced)
|
|
251
319
|
- **npm package**: [@abbababa/sdk](https://www.npmjs.com/package/@abbababa/sdk)
|
|
252
320
|
|
|
253
321
|
External contributors should use the public mirror. Internal development happens in the monorepo. Changes sync automatically within 30-60 seconds.
|
|
@@ -350,9 +418,28 @@ try {
|
|
|
350
418
|
}
|
|
351
419
|
```
|
|
352
420
|
|
|
353
|
-
## What's New
|
|
421
|
+
## What's New
|
|
422
|
+
|
|
423
|
+
### v0.4.3 (February 19, 2026)
|
|
424
|
+
|
|
425
|
+
- **Session key gas budget cap**: Each session key now enforces a max gas spend on-chain (default: **0.01 ETH**). Pass `gasBudgetWei` to `createSessionKey()` to override.
|
|
426
|
+
- **1-hour default session validity**: Reduced from 24h to limit blast radius on key compromise. Override with `validitySeconds`.
|
|
427
|
+
|
|
428
|
+
See [CHANGELOG.md](https://github.com/Abba-Baba/abbababa-sdk/blob/main/CHANGELOG.md) for full details.
|
|
429
|
+
|
|
430
|
+
### v0.4.2 (February 19, 2026)
|
|
431
|
+
|
|
432
|
+
- **`RegisterResult.publicKey`**: `register()` now returns `publicKey: string` (non-optional) — the agent's secp256k1 public key (`0x04...`, 130 hex chars). Use it for ECDH key exchange and E2E encrypted agent messaging.
|
|
433
|
+
- **Public key lookup endpoint**: `GET /api/v1/agents/:id/public-key` — fetch any agent's public key without authentication.
|
|
434
|
+
|
|
435
|
+
### v0.4.1 (February 18, 2026)
|
|
436
|
+
|
|
437
|
+
- **HMAC-SHA256 webhook signing**: `verifyWebhookSignature` now exported from package root
|
|
438
|
+
- **`WebhookServer` signingSecret option**: reject unsigned/tampered webhooks with 401
|
|
439
|
+
- **`BuyerAgent.onDelivery()` signingSecret option**: automatic signature verification
|
|
440
|
+
- Set `WEBHOOK_SIGNING_SECRET` in your environment — see [Webhook Security](#webhook-security)
|
|
354
441
|
|
|
355
|
-
|
|
442
|
+
### v0.4.0 — V2 Contracts (February 14, 2026)
|
|
356
443
|
|
|
357
444
|
V2 simplifies the platform by removing complexity:
|
|
358
445
|
|
|
@@ -372,7 +459,7 @@ V2 simplifies the platform by removing complexity:
|
|
|
372
459
|
- ✅ Probationary lane (always a $10 floor)
|
|
373
460
|
- ✅ UUPS upgradeability on all contracts
|
|
374
461
|
|
|
375
|
-
**Migration guide**: See [CHANGELOG.md](https://github.com/
|
|
462
|
+
**Migration guide**: See [CHANGELOG.md](https://github.com/Abba-Baba/abbababa-sdk/blob/main/CHANGELOG.md)
|
|
376
463
|
|
|
377
464
|
## Full Documentation
|
|
378
465
|
|
package/dist/buyer.d.ts
CHANGED
|
@@ -18,8 +18,20 @@ export declare class BuyerAgent {
|
|
|
18
18
|
/**
|
|
19
19
|
* Start a webhook server to receive delivery notifications.
|
|
20
20
|
* Returns the callback URL to pass to checkout.
|
|
21
|
+
*
|
|
22
|
+
* @param port Port to listen on
|
|
23
|
+
* @param handler Async function called with each webhook event
|
|
24
|
+
* @param options.signingSecret WEBHOOK_SIGNING_SECRET — when provided, requests with
|
|
25
|
+
* an invalid or missing X-Abbababa-Signature are rejected
|
|
26
|
+
* with 401. Strongly recommended in production.
|
|
27
|
+
* @param options.path URL path (default: '/webhook')
|
|
21
28
|
*/
|
|
22
|
-
onDelivery(port: number, handler: WebhookHandler
|
|
29
|
+
onDelivery(port: number, handler: WebhookHandler, options?: {
|
|
30
|
+
signingSecret?: string;
|
|
31
|
+
path?: string;
|
|
32
|
+
}): Promise<{
|
|
33
|
+
url: string;
|
|
34
|
+
}>;
|
|
23
35
|
/** Stop the webhook server. */
|
|
24
36
|
stopWebhook(): Promise<void>;
|
|
25
37
|
/**
|
|
@@ -28,7 +40,7 @@ export declare class BuyerAgent {
|
|
|
28
40
|
*/
|
|
29
41
|
initWallet(config: SmartAccountConfig): Promise<string>;
|
|
30
42
|
/**
|
|
31
|
-
* Fund an on-chain escrow for a transaction (
|
|
43
|
+
* Fund an on-chain escrow for a transaction (V2 — includes deadline).
|
|
32
44
|
* Requires initWallet() to have been called first.
|
|
33
45
|
* @param tokenSymbol - Settlement token symbol (default: 'USDC').
|
|
34
46
|
* @param deadline - Unix timestamp after which the seller must deliver.
|
|
@@ -39,7 +51,7 @@ export declare class BuyerAgent {
|
|
|
39
51
|
* Fund escrow on-chain and verify with the backend.
|
|
40
52
|
* This is the complete funding flow:
|
|
41
53
|
* 1. Approve token spending
|
|
42
|
-
* 2. Call createEscrow on the
|
|
54
|
+
* 2. Call createEscrow on the V2 escrow contract
|
|
43
55
|
* 3. POST /api/v1/transactions/:id/fund to verify on-chain state
|
|
44
56
|
*
|
|
45
57
|
* Returns the fund verification result from the backend.
|
|
@@ -47,7 +59,7 @@ export declare class BuyerAgent {
|
|
|
47
59
|
*/
|
|
48
60
|
fundAndVerify(transactionId: string, sellerAddress: string, amount: bigint, tokenSymbol?: string, deadline?: bigint): Promise<ApiResponse<import('./types.js').FundResult>>;
|
|
49
61
|
/**
|
|
50
|
-
* Accept delivery on-chain (
|
|
62
|
+
* Accept delivery on-chain (V2: buyer calls accept() to release funds immediately).
|
|
51
63
|
* Also confirms delivery via the API.
|
|
52
64
|
*/
|
|
53
65
|
confirmAndRelease(transactionId: string): Promise<void>;
|
|
@@ -79,7 +91,7 @@ export declare class BuyerAgent {
|
|
|
79
91
|
* Generate a scoped session key for an agent (owner/developer operation).
|
|
80
92
|
* The owner calls this with their private key, then passes the serialized
|
|
81
93
|
* session key string to the agent. The session key is restricted to
|
|
82
|
-
*
|
|
94
|
+
* V2 escrow operations by default.
|
|
83
95
|
*
|
|
84
96
|
* This is a static method — it doesn't require an API key or AbbabaClient.
|
|
85
97
|
*
|
package/dist/buyer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer.d.ts","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACX,MAAM,YAAY,CAAA;AAEnB,qBAAa,UAAU;IACrB,SAAgB,MAAM,EAAE,YAAY,CAAA;IACpC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,mBAAmB,CAAuC;gBAEtD,MAAM,EAAE,YAAY;IAIhC,2CAA2C;IACrC,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,GACvC,OAAO,CAAC,OAAO,EAAE,CAAC;IAQrB,6EAA6E;IACvE,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ7D,uDAAuD;IACjD,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAIvE,mDAAmD;IAC7C,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAIvF
|
|
1
|
+
{"version":3,"file":"buyer.d.ts","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACX,MAAM,YAAY,CAAA;AAEnB,qBAAa,UAAU;IACrB,SAAgB,MAAM,EAAE,YAAY,CAAA;IACpC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,mBAAmB,CAAuC;gBAEtD,MAAM,EAAE,YAAY;IAIhC,2CAA2C;IACrC,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,GACvC,OAAO,CAAC,OAAO,EAAE,CAAC;IAQrB,6EAA6E;IACvE,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ7D,uDAAuD;IACjD,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAIvE,mDAAmD;IAC7C,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAIvF;;;;;;;;;;OAUG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAK3B,+BAA+B;IACzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlC;;;OAGG;IACG,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAS7D;;;;;;OAMG;IACG,UAAU,CACd,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAAe,EAC5B,QAAQ,GAAE,MAA0D,GACnE,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;;;;;;OASG;IACG,aAAa,CACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,MAAe,EAC5B,QAAQ,GAAE,MAA0D,GACnE,OAAO,CAAC,WAAW,CAAC,OAAO,YAAY,EAAE,UAAU,CAAC,CAAC;IAKxD;;;OAGG;IACG,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7D;;;OAGG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5D;;;OAGG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAS5D;;;OAGG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAM9D;;;;;;;OAOG;IACG,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAStE;;;;;;;;;OASG;WACU,gBAAgB,CAC3B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAK5B,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,oFAAoF;IACpF,cAAc,IAAI,aAAa,GAAG,OAAO,GAAG,IAAI;CAGjD"}
|
package/dist/buyer.js
CHANGED
|
@@ -36,11 +36,17 @@ export class BuyerAgent {
|
|
|
36
36
|
/**
|
|
37
37
|
* Start a webhook server to receive delivery notifications.
|
|
38
38
|
* Returns the callback URL to pass to checkout.
|
|
39
|
+
*
|
|
40
|
+
* @param port Port to listen on
|
|
41
|
+
* @param handler Async function called with each webhook event
|
|
42
|
+
* @param options.signingSecret WEBHOOK_SIGNING_SECRET — when provided, requests with
|
|
43
|
+
* an invalid or missing X-Abbababa-Signature are rejected
|
|
44
|
+
* with 401. Strongly recommended in production.
|
|
45
|
+
* @param options.path URL path (default: '/webhook')
|
|
39
46
|
*/
|
|
40
|
-
async onDelivery(port, handler) {
|
|
41
|
-
this.webhookServer = new WebhookServer(handler);
|
|
42
|
-
|
|
43
|
-
return info.url;
|
|
47
|
+
async onDelivery(port, handler, options) {
|
|
48
|
+
this.webhookServer = new WebhookServer(handler, options);
|
|
49
|
+
return this.webhookServer.start(port);
|
|
44
50
|
}
|
|
45
51
|
/** Stop the webhook server. */
|
|
46
52
|
async stopWebhook() {
|
|
@@ -62,7 +68,7 @@ export class BuyerAgent {
|
|
|
62
68
|
return result.address;
|
|
63
69
|
}
|
|
64
70
|
/**
|
|
65
|
-
* Fund an on-chain escrow for a transaction (
|
|
71
|
+
* Fund an on-chain escrow for a transaction (V2 — includes deadline).
|
|
66
72
|
* Requires initWallet() to have been called first.
|
|
67
73
|
* @param tokenSymbol - Settlement token symbol (default: 'USDC').
|
|
68
74
|
* @param deadline - Unix timestamp after which the seller must deliver.
|
|
@@ -83,7 +89,7 @@ export class BuyerAgent {
|
|
|
83
89
|
* Fund escrow on-chain and verify with the backend.
|
|
84
90
|
* This is the complete funding flow:
|
|
85
91
|
* 1. Approve token spending
|
|
86
|
-
* 2. Call createEscrow on the
|
|
92
|
+
* 2. Call createEscrow on the V2 escrow contract
|
|
87
93
|
* 3. POST /api/v1/transactions/:id/fund to verify on-chain state
|
|
88
94
|
*
|
|
89
95
|
* Returns the fund verification result from the backend.
|
|
@@ -94,7 +100,7 @@ export class BuyerAgent {
|
|
|
94
100
|
return this.client.transactions.fund(transactionId, { txHash });
|
|
95
101
|
}
|
|
96
102
|
/**
|
|
97
|
-
* Accept delivery on-chain (
|
|
103
|
+
* Accept delivery on-chain (V2: buyer calls accept() to release funds immediately).
|
|
98
104
|
* Also confirms delivery via the API.
|
|
99
105
|
*/
|
|
100
106
|
async confirmAndRelease(transactionId) {
|
|
@@ -158,7 +164,7 @@ export class BuyerAgent {
|
|
|
158
164
|
* Generate a scoped session key for an agent (owner/developer operation).
|
|
159
165
|
* The owner calls this with their private key, then passes the serialized
|
|
160
166
|
* session key string to the agent. The session key is restricted to
|
|
161
|
-
*
|
|
167
|
+
* V2 escrow operations by default.
|
|
162
168
|
*
|
|
163
169
|
* This is a static method — it doesn't require an API key or AbbabaClient.
|
|
164
170
|
*
|
package/dist/buyer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer.js","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAiB5C,MAAM,OAAO,UAAU;IACL,MAAM,CAAc;IAC5B,aAAa,GAAyB,IAAI,CAAA;IAC1C,aAAa,GAAkB,IAAI,CAAA;IACnC,YAAY,GAAY,IAAI,CAAA;IAC5B,mBAAmB,GAAmC,IAAI,CAAA;IAElE,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAED,2CAA2C;IAC3C,KAAK,CAAC,YAAY,CAChB,KAAa,EACb,OAAwC;QAExC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QACvE,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,eAAe,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC1B,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACtD,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAA;QACjD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,OAAO,CAAC,aAAqB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACxD,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,OAAO,CAAC,aAAqB,EAAE,MAAc;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IACpE,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"buyer.js","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { CheckoutClient } from './checkout.js';
|
|
|
7
7
|
export { TransactionsClient } from './transactions.js';
|
|
8
8
|
export { MemoryClient } from './memory.js';
|
|
9
9
|
export { MessagesClient } from './messages.js';
|
|
10
|
-
export { WebhookServer } from './webhook.js';
|
|
10
|
+
export { WebhookServer, verifyWebhookSignature } from './webhook.js';
|
|
11
11
|
export { AbbabaError, AuthenticationError, ForbiddenError, NotFoundError, PaymentRequiredError, ValidationError, RateLimitError, } from './errors.js';
|
|
12
12
|
export type { AbbabaConfig, ApiResponse, ServiceCategory, PriceUnit, ServiceCurrency, DeliveryType, ServiceStatus, PaymentMethod, PaymentStatus, TransactionStatus, DisputeOutcome, WalletChain, CreateServiceInput, UpdateServiceInput, Service, ServiceSearchParams, ServiceListResult, AgentSummary, CheckoutInput, CheckoutResult, CryptoPaymentInstructions, PaymentInstructions, Transaction, TransactionListParams, TransactionListResult, DeliverInput, DisputeInput, FundInput, FundResult, WebhookEvent, WebhookHandler, GasStrategy, SmartAccountConfig, SmartAccountResult, EscrowDetails, AgentStats, SessionKeyConfig, SessionKeyResult, UseSessionKeyConfig, RevokeSessionKeyConfig, PollOptions, X402PaymentRequirements, } from './types.js';
|
|
13
13
|
export { EscrowStatus, OnChainDisputeOutcome } from './types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAG9C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAGpE,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAA;AAGpB,YAAY,EAEV,YAAY,EACZ,WAAW,EAGX,eAAe,EACf,SAAS,EACT,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,WAAW,EAGX,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EAGZ,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,mBAAmB,EAGnB,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,UAAU,EAGV,YAAY,EACZ,cAAc,EAGd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,UAAU,EAGV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EAGtB,WAAW,EAGX,uBAAuB,GACxB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGhE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAGpE,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,aAAa,CAAA;AAGpB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -11,10 +11,10 @@ export { CheckoutClient } from './checkout.js';
|
|
|
11
11
|
export { TransactionsClient } from './transactions.js';
|
|
12
12
|
export { MemoryClient } from './memory.js';
|
|
13
13
|
export { MessagesClient } from './messages.js';
|
|
14
|
-
// Webhook server
|
|
15
|
-
export { WebhookServer } from './webhook.js';
|
|
14
|
+
// Webhook server + signature verification
|
|
15
|
+
export { WebhookServer, verifyWebhookSignature } from './webhook.js';
|
|
16
16
|
// Errors
|
|
17
17
|
export { AbbabaError, AuthenticationError, ForbiddenError, NotFoundError, PaymentRequiredError, ValidationError, RateLimitError, } from './errors.js';
|
|
18
|
-
//
|
|
18
|
+
// V2 on-chain enums
|
|
19
19
|
export { EscrowStatus, OnChainDisputeOutcome } from './types.js';
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,wBAAwB;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,wBAAwB;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,0CAA0C;AAC1C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAEpE,SAAS;AACT,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAA;AAmEpB,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/register.d.ts
CHANGED
package/dist/register.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAOD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAmC7E"}
|
package/dist/register.js
CHANGED
package/dist/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnD,MAAM,gBAAgB,GAAG,sBAAsB,CAAA;AAC/C,MAAM,cAAc,GAAG,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnD,MAAM,gBAAgB,GAAG,sBAAsB,CAAA;AAC/C,MAAM,cAAc,GAAG,0BAA0B,CAAA;AAiBjD,SAAS,oBAAoB,CAAC,aAAqB;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC/C,OAAO,GAAG,cAAc,aAAa,aAAa,gBAAgB,SAAS,EAAE,CAAA;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAqB;IAClD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;IACxD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEtE,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAExD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,uBAAuB,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;KAC1E,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAQlC,CAAA;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,6BAA6B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IAChF,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAO;QACpB,OAAO,EAAE,IAAI,CAAC,OAAQ;QACtB,WAAW,EAAE,IAAI,CAAC,WAAY;QAC9B,aAAa,EAAE,IAAI,CAAC,aAAc;QAClC,SAAS,EAAE,IAAI,CAAC,SAAU;KAC3B,CAAA;AACH,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -287,8 +287,10 @@ export interface SessionKeyConfig {
|
|
|
287
287
|
ownerPrivateKey: string;
|
|
288
288
|
zeroDevProjectId: string;
|
|
289
289
|
chain?: 'polygon' | 'polygonAmoy' | 'baseSepolia' | 'base';
|
|
290
|
-
/** Session validity in seconds (default:
|
|
290
|
+
/** Session validity in seconds (default: 3600 = 1 hour) */
|
|
291
291
|
validitySeconds?: number;
|
|
292
|
+
/** Max gas this session key may spend in wei (default: 10_000_000_000_000_000n = 0.01 ETH) */
|
|
293
|
+
gasBudgetWei?: bigint;
|
|
292
294
|
/** Override default escrow-scoped policies with custom policies */
|
|
293
295
|
customPolicies?: unknown[];
|
|
294
296
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,8 @@
|
|
|
1
1
|
import type { SessionKeyConfig, SessionKeyResult, UseSessionKeyConfig, RevokeSessionKeyConfig, SmartAccountResult } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Build escrow-scoped policies for a session key (V4).
|
|
4
|
-
*
|
|
5
|
-
* Creates a CallPolicy restricted to V4 escrow operations:
|
|
6
|
-
* 1. ERC20.approve for each allowed token (spender must equal V4 escrow contract)
|
|
7
|
-
* 2. Escrow.createEscrow (5 args: escrowId, seller, amount, token, deadline)
|
|
8
|
-
* 3. Escrow.submitDelivery
|
|
9
|
-
* 4. Escrow.accept
|
|
10
|
-
* 5. Escrow.finalizeRelease
|
|
11
|
-
* 6. Escrow.dispute
|
|
12
|
-
*
|
|
13
|
-
* Plus a TimestampPolicy for time-bound expiration.
|
|
14
|
-
*
|
|
15
|
-
* @param config.tokens - Token symbols to allow (default: all tokens in registry for chain)
|
|
16
|
-
*
|
|
17
|
-
* Requires @zerodev/permissions as a peer dependency.
|
|
18
|
-
*/
|
|
19
2
|
export declare function buildEscrowPolicies(config: {
|
|
20
3
|
chainId?: number;
|
|
21
4
|
validitySeconds?: number;
|
|
5
|
+
gasBudgetWei?: bigint;
|
|
22
6
|
tokens?: string[];
|
|
23
7
|
}): Promise<unknown[]>;
|
|
24
8
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-keys.d.ts","sourceRoot":"","sources":["../../src/wallet/session-keys.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"session-keys.d.ts","sourceRoot":"","sources":["../../src/wallet/session-keys.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAEnB,MAAM,aAAa,CAAA;AA8BpB,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA4FrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CA4F3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CA0D7B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAgFjB"}
|
|
@@ -9,7 +9,7 @@ const CHAINS = {
|
|
|
9
9
|
baseSepolia,
|
|
10
10
|
base,
|
|
11
11
|
};
|
|
12
|
-
const DEFAULT_VALIDITY_SECONDS =
|
|
12
|
+
const DEFAULT_VALIDITY_SECONDS = 3600; // 1 hour
|
|
13
13
|
/**
|
|
14
14
|
* Build escrow-scoped policies for a session key (V4).
|
|
15
15
|
*
|
|
@@ -27,10 +27,11 @@ const DEFAULT_VALIDITY_SECONDS = 86400; // 24 hours
|
|
|
27
27
|
*
|
|
28
28
|
* Requires @zerodev/permissions as a peer dependency.
|
|
29
29
|
*/
|
|
30
|
+
const DEFAULT_GAS_BUDGET = 10000000000000000n; // 0.01 ETH
|
|
30
31
|
export async function buildEscrowPolicies(config) {
|
|
31
32
|
const chainId = config.chainId ?? BASE_SEPOLIA_CHAIN_ID;
|
|
32
33
|
const validitySeconds = config.validitySeconds ?? DEFAULT_VALIDITY_SECONDS;
|
|
33
|
-
const { toCallPolicy, CallPolicyVersion, ParamCondition } = await import('@zerodev/permissions/policies');
|
|
34
|
+
const { toCallPolicy, CallPolicyVersion, ParamCondition, toGasPolicy } = await import('@zerodev/permissions/policies');
|
|
34
35
|
const { toTimestampPolicy } = await import('@zerodev/permissions/policies');
|
|
35
36
|
// Resolve V4 escrow contract
|
|
36
37
|
const escrowAddress = ESCROW_V4_ADDRESSES[chainId];
|
|
@@ -103,7 +104,10 @@ export async function buildEscrowPolicies(config) {
|
|
|
103
104
|
const timestampPolicy = toTimestampPolicy({
|
|
104
105
|
validUntil,
|
|
105
106
|
});
|
|
106
|
-
|
|
107
|
+
const gasPolicy = toGasPolicy({
|
|
108
|
+
allowed: config.gasBudgetWei ?? DEFAULT_GAS_BUDGET,
|
|
109
|
+
});
|
|
110
|
+
return [callPolicy, timestampPolicy, gasPolicy];
|
|
107
111
|
}
|
|
108
112
|
/**
|
|
109
113
|
* Generate a scoped session key for an agent (owner operation).
|
|
@@ -158,6 +162,7 @@ export async function generateSessionKey(config) {
|
|
|
158
162
|
: await buildEscrowPolicies({
|
|
159
163
|
chainId,
|
|
160
164
|
validitySeconds: config.validitySeconds ?? DEFAULT_VALIDITY_SECONDS,
|
|
165
|
+
gasBudgetWei: config.gasBudgetWei,
|
|
161
166
|
});
|
|
162
167
|
// 7. Create permission validator (regular plugin)
|
|
163
168
|
const permissionPlugin = await toPermissionValidator(publicClient, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-keys.js","sourceRoot":"","sources":["../../src/wallet/session-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,IAAI,GAIL,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EACL,mBAAmB,EAEnB,qBAAqB,EAErB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,cAAc,GACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAUtD,MAAM,MAAM,GAA0B;IACpC,OAAO;IACP,WAAW;IACX,WAAW;IACX,IAAI;CACL,CAAA;AAED,MAAM,wBAAwB,GAAG,
|
|
1
|
+
{"version":3,"file":"session-keys.js","sourceRoot":"","sources":["../../src/wallet/session-keys.ts"],"names":[],"mappings":"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"}
|
package/dist/webhook.d.ts
CHANGED
|
@@ -1,10 +1,34 @@
|
|
|
1
1
|
import type { WebhookHandler } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Verify an abbababa webhook signature.
|
|
4
|
+
*
|
|
5
|
+
* Abbababa signs outbound webhooks with HMAC-SHA256.
|
|
6
|
+
* Signature header format: "t=<unix_seconds>,v1=<hmac_hex>"
|
|
7
|
+
* Signed payload: "<timestamp>.<json_body>"
|
|
8
|
+
*
|
|
9
|
+
* @param body Raw request body string
|
|
10
|
+
* @param signatureHeader Value of the X-Abbababa-Signature header
|
|
11
|
+
* @param secret Your WEBHOOK_SIGNING_SECRET (from abbababa dashboard)
|
|
12
|
+
* @param toleranceSeconds Max age of the timestamp (default 300s / 5 min)
|
|
13
|
+
* @returns true if signature is valid, false otherwise
|
|
14
|
+
*/
|
|
15
|
+
export declare function verifyWebhookSignature(body: string, signatureHeader: string, secret: string, toleranceSeconds?: number): boolean;
|
|
2
16
|
export declare class WebhookServer {
|
|
3
17
|
private server;
|
|
4
18
|
private handler;
|
|
5
19
|
private path;
|
|
20
|
+
private signingSecret;
|
|
21
|
+
/**
|
|
22
|
+
* @param handler Async function called with each verified webhook event
|
|
23
|
+
* @param options.path URL path to listen on (default: '/webhook')
|
|
24
|
+
* @param options.signingSecret WEBHOOK_SIGNING_SECRET from abbababa.
|
|
25
|
+
* When provided, requests with an invalid or missing
|
|
26
|
+
* X-Abbababa-Signature header are rejected with 401.
|
|
27
|
+
* When omitted, signatures are not verified (not recommended).
|
|
28
|
+
*/
|
|
6
29
|
constructor(handler: WebhookHandler, options?: {
|
|
7
30
|
path?: string;
|
|
31
|
+
signingSecret?: string;
|
|
8
32
|
});
|
|
9
33
|
start(port: number): Promise<{
|
|
10
34
|
url: string;
|
package/dist/webhook.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,YAAY,CAAA;AAE9D;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,gBAAgB,SAAM,GACrB,OAAO,CAuBT;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,aAAa,CAAoB;IAEzC;;;;;;;OAOG;gBACS,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;IAMlF,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAoD3D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAY5B"}
|
package/dist/webhook.js
CHANGED
|
@@ -1,11 +1,60 @@
|
|
|
1
1
|
import * as http from 'node:http';
|
|
2
|
+
import * as crypto from 'node:crypto';
|
|
3
|
+
/**
|
|
4
|
+
* Verify an abbababa webhook signature.
|
|
5
|
+
*
|
|
6
|
+
* Abbababa signs outbound webhooks with HMAC-SHA256.
|
|
7
|
+
* Signature header format: "t=<unix_seconds>,v1=<hmac_hex>"
|
|
8
|
+
* Signed payload: "<timestamp>.<json_body>"
|
|
9
|
+
*
|
|
10
|
+
* @param body Raw request body string
|
|
11
|
+
* @param signatureHeader Value of the X-Abbababa-Signature header
|
|
12
|
+
* @param secret Your WEBHOOK_SIGNING_SECRET (from abbababa dashboard)
|
|
13
|
+
* @param toleranceSeconds Max age of the timestamp (default 300s / 5 min)
|
|
14
|
+
* @returns true if signature is valid, false otherwise
|
|
15
|
+
*/
|
|
16
|
+
export function verifyWebhookSignature(body, signatureHeader, secret, toleranceSeconds = 300) {
|
|
17
|
+
try {
|
|
18
|
+
const parts = signatureHeader.split(',');
|
|
19
|
+
const tPart = parts.find((p) => p.startsWith('t='));
|
|
20
|
+
const v1Part = parts.find((p) => p.startsWith('v1='));
|
|
21
|
+
if (!tPart || !v1Part)
|
|
22
|
+
return false;
|
|
23
|
+
const timestamp = parseInt(tPart.slice(2), 10);
|
|
24
|
+
if (!Number.isFinite(timestamp))
|
|
25
|
+
return false;
|
|
26
|
+
const now = Math.floor(Date.now() / 1000);
|
|
27
|
+
if (Math.abs(now - timestamp) > toleranceSeconds)
|
|
28
|
+
return false;
|
|
29
|
+
const providedSig = v1Part.slice(3);
|
|
30
|
+
const toSign = `${timestamp}.${body}`;
|
|
31
|
+
const expected = crypto.createHmac('sha256', secret).update(toSign).digest('hex');
|
|
32
|
+
// Constant-length buffers required for timingSafeEqual
|
|
33
|
+
if (providedSig.length !== expected.length)
|
|
34
|
+
return false;
|
|
35
|
+
return crypto.timingSafeEqual(Buffer.from(providedSig), Buffer.from(expected));
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
2
41
|
export class WebhookServer {
|
|
3
42
|
server = null;
|
|
4
43
|
handler;
|
|
5
44
|
path;
|
|
45
|
+
signingSecret;
|
|
46
|
+
/**
|
|
47
|
+
* @param handler Async function called with each verified webhook event
|
|
48
|
+
* @param options.path URL path to listen on (default: '/webhook')
|
|
49
|
+
* @param options.signingSecret WEBHOOK_SIGNING_SECRET from abbababa.
|
|
50
|
+
* When provided, requests with an invalid or missing
|
|
51
|
+
* X-Abbababa-Signature header are rejected with 401.
|
|
52
|
+
* When omitted, signatures are not verified (not recommended).
|
|
53
|
+
*/
|
|
6
54
|
constructor(handler, options) {
|
|
7
55
|
this.handler = handler;
|
|
8
56
|
this.path = options?.path ?? '/webhook';
|
|
57
|
+
this.signingSecret = options?.signingSecret;
|
|
9
58
|
}
|
|
10
59
|
async start(port) {
|
|
11
60
|
return new Promise((resolve, reject) => {
|
|
@@ -20,6 +69,15 @@ export class WebhookServer {
|
|
|
20
69
|
chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk);
|
|
21
70
|
}
|
|
22
71
|
const body = Buffer.concat(chunks).toString('utf-8');
|
|
72
|
+
// Verify signature if a signing secret is configured
|
|
73
|
+
if (this.signingSecret) {
|
|
74
|
+
const sigHeader = req.headers['x-abbababa-signature'] ?? '';
|
|
75
|
+
if (!sigHeader || !verifyWebhookSignature(body, sigHeader, this.signingSecret)) {
|
|
76
|
+
res.writeHead(401, { 'Content-Type': 'application/json' });
|
|
77
|
+
res.end(JSON.stringify({ error: 'Invalid or missing webhook signature' }));
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
23
81
|
let event;
|
|
24
82
|
try {
|
|
25
83
|
event = JSON.parse(body);
|
package/dist/webhook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abbababa/sdk",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "TypeScript SDK for the Abbababa A2A Settlement Platform",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,7 +21,11 @@
|
|
|
21
21
|
"type-check": "tsc --noEmit"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"viem": "^2.45.0"
|
|
24
|
+
"viem": "^2.45.0",
|
|
25
|
+
"@zerodev/ecdsa-validator": "^5.4.9",
|
|
26
|
+
"@zerodev/permissions": "^5.6.0",
|
|
27
|
+
"@zerodev/sdk": "^5.5.7",
|
|
28
|
+
"permissionless": "^0.3.4"
|
|
25
29
|
},
|
|
26
30
|
"peerDependencies": {
|
|
27
31
|
"@zerodev/ecdsa-validator": "^5.4.9",
|
|
@@ -49,9 +53,9 @@
|
|
|
49
53
|
"license": "MIT",
|
|
50
54
|
"repository": {
|
|
51
55
|
"type": "git",
|
|
52
|
-
"url": "https://github.com/
|
|
56
|
+
"url": "https://github.com/Abba-Baba/abbababa-sdk"
|
|
53
57
|
},
|
|
54
|
-
"homepage": "https://
|
|
58
|
+
"homepage": "https://github.com/Abba-Baba/abbababa-sdk#readme",
|
|
55
59
|
"keywords": [
|
|
56
60
|
"a2a",
|
|
57
61
|
"agent",
|
|
@@ -70,5 +74,8 @@
|
|
|
70
74
|
"@zerodev/sdk": "^5.5.7",
|
|
71
75
|
"permissionless": "^0.3.4",
|
|
72
76
|
"typescript": "^5.7.3"
|
|
77
|
+
},
|
|
78
|
+
"bugs": {
|
|
79
|
+
"url": "https://github.com/Abba-Baba/abbababa-sdk/issues"
|
|
73
80
|
}
|
|
74
81
|
}
|