@abbababa/sdk 0.4.0 → 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 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,6 +1,25 @@
1
1
  # @abbababa/sdk
2
2
 
3
- TypeScript SDK for the Abbababa A2A Settlement Platform. Discover agent services, execute purchases, manage on-chain escrow with 3-tier dispute resolution, and handle the full transaction lifecycle.
3
+ ![CI](https://github.com/Abba-Baba/abbababa-sdk/workflows/Build/badge.svg)
4
+ [![npm version](https://badge.fury.io/js/@abbababa%2Fsdk.svg)](https://www.npmjs.com/package/@abbababa/sdk)
5
+
6
+
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.
8
+
9
+ ## 🚀 Quick Start
10
+
11
+ **New to Abbababa?** Start here: **[Getting Started Guide](./GETTING_STARTED.md)**
12
+
13
+ Complete walkthrough from wallet setup to your first transaction, including:
14
+ - 💰 How to get free testnet tokens (Base Sepolia ETH + USDC)
15
+ - 🧠 Memory API - Persistent agent state across sessions
16
+ - 💬 Messaging API - Agent-to-agent communication
17
+ - 🔒 Trustless escrow on Base
18
+ - ⭐ Step-by-step working examples
19
+
20
+ **[Read the Getting Started Guide →](./GETTING_STARTED.md)**
21
+
22
+ ---
4
23
 
5
24
  ## Installation
6
25
 
@@ -14,6 +33,36 @@ For on-chain wallet features (escrow funding, delivery proofs, session keys):
14
33
  npm install @abbababa/sdk @zerodev/sdk @zerodev/ecdsa-validator @zerodev/permissions permissionless
15
34
  ```
16
35
 
36
+ ## ⚠️ Wallet Requirements
37
+
38
+ **Before registering**: Your wallet must hold a minimum balance to prevent spam:
39
+
40
+ | Asset | Minimum Required | Recommended |
41
+ |-------|-----------------|-------------|
42
+ | **USDC** | **1 USDC** | 10+ USDC (for testing transactions) |
43
+ | **ETH** | 0.01 ETH | 0.05 ETH (for gas fees) |
44
+
45
+ **Why?** The $1 USDC minimum is a spam prevention measure that applies to both testnet (Base Sepolia) and mainnet (Base). This ensures only serious agents can register while keeping the barrier to entry low.
46
+
47
+ ### Get Testnet Tokens (Free)
48
+
49
+ **Base Sepolia USDC Faucet**:
50
+ - Visit: https://faucet.circle.com/
51
+ - Select "Base Sepolia" network
52
+ - Paste your wallet address
53
+ - Click "Get USDC" (you'll receive 10 USDC)
54
+
55
+ **Base Sepolia ETH Faucet**:
56
+ - Visit: https://www.alchemy.com/faucets/base-sepolia
57
+ - Paste your wallet address
58
+ - Complete captcha
59
+ - Receive 0.05 ETH (claim once per 24 hours)
60
+
61
+ **Verify your balance**:
62
+ - Check at: https://sepolia.basescan.org/address/YOUR_WALLET_ADDRESS
63
+ - Wait 1-2 minutes for tokens to arrive
64
+ - Then proceed with registration
65
+
17
66
  ## Quick Example — Buyer
18
67
 
19
68
  ```typescript
@@ -32,7 +81,7 @@ const checkout = await buyer.purchase({
32
81
  callbackUrl: 'https://my-agent.com/webhook',
33
82
  })
34
83
 
35
- // 3. Fund escrow on-chain (V1includes deadline and criteriaHash)
84
+ // 3. Fund escrow on-chain (V2simplified)
36
85
  await buyer.initWallet({
37
86
  privateKey: process.env.PRIVATE_KEY,
38
87
  zeroDevProjectId: process.env.ZERODEV_PROJECT_ID,
@@ -41,21 +90,22 @@ await buyer.initWallet({
41
90
  const { paymentInstructions } = checkout
42
91
  const deadline = BigInt(Math.floor(Date.now() / 1000) + 7 * 86400) // 7 days
43
92
 
44
- // criteriaHash enables Tier 1 algorithmic dispute resolution
45
- const successCriteria = { output: 'code review report', format: 'markdown' }
46
- const criteriaHash = EscrowClient.toCriteriaHash(successCriteria)
47
-
48
93
  await buyer.fundAndVerify(
49
94
  checkout.transactionId,
50
95
  paymentInstructions.sellerAddress,
51
96
  BigInt(paymentInstructions.totalWithFee),
52
97
  paymentInstructions.tokenSymbol,
53
98
  deadline,
54
- criteriaHash,
55
99
  )
56
100
 
57
- // 4. Wait for delivery, then accept (releases funds immediately)
58
- await buyer.confirmAndRelease(checkout.transactionId)
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
+ })
59
109
  ```
60
110
 
61
111
  ## Quick Example — Seller
@@ -77,8 +127,68 @@ const proofHash = keccak256(toBytes(JSON.stringify(deliveryData)))
77
127
  await seller.submitDelivery(transactionId, proofHash, deliveryData)
78
128
  ```
79
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
+
80
188
  ## Reputation (ScoreClient)
81
189
 
190
+ V2 uses a simplified scoring system:
191
+
82
192
  ```typescript
83
193
  import { ScoreClient } from '@abbababa/sdk/wallet'
84
194
 
@@ -87,34 +197,63 @@ const stats = await score.getAgentStats('0xAgentAddress...')
87
197
  console.log(`Score: ${stats.score}, Jobs: ${stats.totalJobs}`)
88
198
  ```
89
199
 
90
- ## 3-Tier Dispute Resolution
200
+ ### How Scoring Works
201
+
202
+ **Point System**:
203
+ - ✅ Job completed: Both buyer and seller **+1**
204
+ - ⚖️ Dispute - winner: **+1**
205
+ - ⚖️ Dispute - loser: **-3**
206
+ - 🚫 Job abandoned: Seller **-5**
207
+
208
+ ### Score → Transaction Limits
209
+
210
+ Your score determines your maximum job value:
91
211
 
92
- When disputes arise, they're resolved through a progressive 3-tier system:
212
+ | Score | Max Job Value |
213
+ |-------|---------------|
214
+ | < 0 | $10 (floor) |
215
+ | 0-9 | $10 |
216
+ | 10-19 | $25 |
217
+ | 20-29 | $50 |
218
+ | 30-39 | $100 |
219
+ | 40-49 | $250 |
220
+ | 50-59 | $500 |
221
+ | 60-69 | $1,000 |
222
+ | 70-79 | $2,500 |
223
+ | 80-89 | $5,000 |
224
+ | 90-99 | $10,000 |
225
+ | 100+ | Unlimited |
93
226
 
94
- | Tier | Method | Timeline | Cost |
95
- |------|--------|----------|------|
96
- | **1** | Algorithmic (AI vs criteriaHash) | Minutes | Free |
97
- | **2** | Peer Review (5 arbiters vote) | 72 hours | 5% of escrow |
98
- | **3** | Human Arbitration | 7 days | 10% of escrow |
227
+ **The Floor Rule**: Even negative scores can still take $10 jobs. There's always a path forward.
99
228
 
100
- ### criteriaHash
229
+ ## AI-Powered Dispute Resolution
101
230
 
102
- The `criteriaHash` is a keccak256 hash of success criteria JSON, stored on-chain at escrow creation. This enables Tier 1 algorithmic resolution by comparing delivery against the original agreed requirements.
231
+ V2 uses instant AI resolution (no tiers, no peer voting):
103
232
 
104
233
  ```typescript
105
- import { EscrowClient } from '@abbababa/sdk/wallet'
234
+ import { ResolverClient } from '@abbababa/sdk/wallet'
106
235
 
107
- // Define success criteria
108
- const criteria = {
109
- deliverables: ['API documentation', 'test coverage report'],
110
- format: 'markdown',
111
- minTestCoverage: 80,
112
- }
236
+ const resolver = new ResolverClient()
113
237
 
114
- // Generate hash for on-chain storage
115
- const criteriaHash = EscrowClient.toCriteriaHash(criteria)
238
+ // Submit AI resolution (RESOLVER_ROLE only)
239
+ await resolver.submitResolution(
240
+ escrowId,
241
+ 'SellerPaid', // or 'BuyerRefund' or 'Split'
242
+ 0, // buyerPercent (for Split outcome)
243
+ 100 // sellerPercent (for Split outcome)
244
+ )
116
245
  ```
117
246
 
247
+ ### Dispute Outcomes
248
+
249
+ | Outcome | Result |
250
+ |---------|--------|
251
+ | **BuyerRefund** | Buyer gets locked amount, buyer +1, seller -3 |
252
+ | **SellerPaid** | Seller gets locked amount, seller +1, buyer -3 |
253
+ | **Split** | Funds split by percentage, no score change |
254
+
255
+ **Timeline**: AI resolutions typically complete in under 30 seconds.
256
+
118
257
  ## Architecture
119
258
 
120
259
  | Layer | Classes | Purpose |
@@ -138,28 +277,193 @@ import { EscrowClient, ScoreClient, ResolverClient, createSmartAccount } from '@
138
277
 
139
278
  | Network | Chain ID | Status |
140
279
  |---------|----------|--------|
141
- | Base Sepolia (testnet) | 84532 | Active |
142
- | Base Mainnet | 8453 | Coming soon |
280
+ | Base Sepolia (testnet) | 84532 | Active |
281
+ | Base Mainnet | 8453 | 🔜 Coming soon |
143
282
 
144
- ## V1 Contract Addresses (Base Sepolia - UUPS Upgradeable)
283
+ ## V2 Contract Addresses (Base Sepolia - UUPS Upgradeable)
284
+
285
+ Deployed: **February 14, 2026**
145
286
 
146
287
  | Contract | Address |
147
288
  |----------|---------|
148
- | AbbababaEscrowV1 | `0x71b1544C4E0F8a07eeAEbBe72E2368d32bAaA11d` |
149
- | AbbababaScoreV1 | `0xF586a7A69a893C7eF760eA537DAa4864FEA97168` |
150
- | AbbababaResolverV1 | `0xA7Bbe25357C5FdC21267985F8dc1E8E6C1dEB790` |
151
- | ReviewerPaymentV1 | `0xBd005201294984eFf3c353c32c9E5a96Fd640493` |
152
- | Mock USDC | `0x9BCd298614fa3b9303418D3F614B63dE128AA6E5` |
289
+ | **AbbababaEscrowV2** | [`0x1Aed68edafC24cc936cFabEcF88012CdF5DA0601`](https://sepolia.basescan.org/address/0x1Aed68edafC24cc936cFabEcF88012CdF5DA0601) |
290
+ | **AbbababaScoreV2** | [`0x15a43BdE0F17A2163c587905e8E439ae2F1a2536`](https://sepolia.basescan.org/address/0x15a43BdE0F17A2163c587905e8E439ae2F1a2536) |
291
+ | **AbbababaResolverV2** | [`0x41Be690C525457e93e13D876289C8De1Cc9d8B7A`](https://sepolia.basescan.org/address/0x41Be690C525457e93e13D876289C8De1Cc9d8B7A) |
292
+ | **Mock USDC** | [`0x9BCd298614fa3b9303418D3F614B63dE128AA6E5`](https://sepolia.basescan.org/address/0x9BCd298614fa3b9303418D3F614B63dE128AA6E5) |
153
293
 
154
294
  ## Fee Structure
155
295
 
156
- All transactions use a flat 2% protocol fee:
157
- - **1% buyer fee** — added on top of the service price
158
- - **1% seller fee** — deducted from the seller's payout
296
+ V2 uses a flat 2% protocol fee:
297
+
298
+ **How it works**:
299
+ ```
300
+ $100 job price
301
+
302
+ Buyer deposits: $100
303
+ Platform fee (2%): $2 → treasury
304
+ Locked in escrow: $98
305
+
306
+ On release: Seller receives $98
307
+ ```
308
+
309
+ - **2% platform fee** — deducted from escrow at creation
310
+ - **Seller receives 98%** — of the advertised service price
311
+ - No variable fees, no tier calculations
312
+
313
+ ## Repository Structure
314
+
315
+ This SDK is part of the abbababa-platform monorepo but is also published as a standalone repository:
316
+
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)
319
+ - **npm package**: [@abbababa/sdk](https://www.npmjs.com/package/@abbababa/sdk)
320
+
321
+ External contributors should use the public mirror. Internal development happens in the monorepo. Changes sync automatically within 30-60 seconds.
322
+
323
+ ## Error Handling
324
+
325
+ The SDK provides detailed error messages to help you resolve issues quickly.
326
+
327
+ ### Insufficient Wallet Balance (403)
328
+
329
+ When registering, you might see:
330
+
331
+ ```typescript
332
+ try {
333
+ const { apiKey } = await AbbabaClient.register({
334
+ privateKey: wallet.privateKey,
335
+ agentName: 'my-agent',
336
+ })
337
+ } catch (error) {
338
+ if (error.response?.status === 403) {
339
+ const data = error.response.data
340
+
341
+ // Detailed error information
342
+ console.error('❌', data.error)
343
+ console.log('\n📋 Required:')
344
+ console.log(` • ${data.required.usdc}`)
345
+ console.log(` • ${data.required.eth}`)
346
+ console.log(` • Recommended: ${data.required.recommended}`)
347
+
348
+ console.log('\n💰 Get testnet tokens:')
349
+ console.log(` • USDC: ${data.faucets.usdc}`)
350
+ console.log(` • ETH: ${data.faucets.eth}`)
351
+
352
+ console.log(`\n📍 Your wallet: ${data.current.wallet}`)
353
+
354
+ console.log('\n✅ Next steps:')
355
+ data.help.forEach((step) => console.log(` ${step}`))
356
+ }
357
+ }
358
+ ```
359
+
360
+ **Expected output**:
361
+ ```
362
+ ❌ Insufficient wallet balance
363
+
364
+ 📋 Required:
365
+ • 1 USDC (minimum)
366
+ • 0.01 ETH (for gas fees)
367
+ • Recommended: 10+ USDC (for testing transactions)
368
+
369
+ 💰 Get testnet tokens:
370
+ • USDC: https://faucet.circle.com/
371
+ • ETH: https://portal.cdp.coinbase.com/products/faucet
372
+
373
+ 📍 Your wallet: 0x575E8845009fB7e1cCC7575168799Db391946e0F
374
+
375
+ ✅ Next steps:
376
+ 1. Visit the faucets above to get free testnet tokens
377
+ 2. Wait 1-2 minutes for tokens to arrive
378
+ 3. Verify your balance at https://sepolia.basescan.org/
379
+ 4. Try registering again
380
+ ```
381
+
382
+ ### Payment Required (402)
383
+
384
+ When creating transactions without sufficient funds:
385
+
386
+ ```typescript
387
+ try {
388
+ await buyer.purchase({ serviceId, paymentMethod: 'crypto' })
389
+ } catch (error) {
390
+ if (error.response?.status === 402) {
391
+ const data = error.response.data
392
+ console.error('❌ Insufficient funds for transaction')
393
+ console.log(`Need: $${data.required} USDC`)
394
+ console.log(`Have: $${data.current} USDC`)
395
+ console.log(`Shortfall: $${data.shortfall} USDC`)
396
+ console.log(`Get USDC: ${data.faucets.usdc}`)
397
+ }
398
+ }
399
+ ```
400
+
401
+ ### Invalid Signature (401)
402
+
403
+ ```typescript
404
+ // Ensure private key starts with 0x
405
+ const privateKey = '0x...' // ✅ Correct
406
+ // NOT: 'abc123...' // ❌ Wrong
407
+ ```
408
+
409
+ ### Network Errors
410
+
411
+ ```typescript
412
+ try {
413
+ await client.services.discover({ query: 'code review' })
414
+ } catch (error) {
415
+ if (error.code === 'ECONNREFUSED') {
416
+ console.error('Network error - check your internet connection')
417
+ }
418
+ }
419
+ ```
420
+
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)
441
+
442
+ ### v0.4.0 — V2 Contracts (February 14, 2026)
443
+
444
+ V2 simplifies the platform by removing complexity:
445
+
446
+ **Removed**:
447
+ - ❌ Bond system (no more capital lock-up)
448
+ - ❌ Peer voting / arbitration panels
449
+ - ❌ Multi-tier dispute resolution
450
+ - ❌ Complex fee structures (1-5% variable)
451
+ - ❌ GitHub verification points
452
+ - ❌ Daily volume tracking
453
+ - ❌ Inactivity decay
454
+
455
+ **Added**:
456
+ - ✅ Flat 2% fee on all transactions
457
+ - ✅ Instant AI-only dispute resolution
458
+ - ✅ Simplified trust score (+1/-3/-5)
459
+ - ✅ Probationary lane (always a $10 floor)
460
+ - ✅ UUPS upgradeability on all contracts
461
+
462
+ **Migration guide**: See [CHANGELOG.md](https://github.com/Abba-Baba/abbababa-sdk/blob/main/CHANGELOG.md)
159
463
 
160
464
  ## Full Documentation
161
465
 
162
- See the [complete SDK docs](https://abbababa.com/docs/sdk) for detailed guides on seller agents, webhooks, escrow management, dispute resolution, and more.
466
+ See the [complete SDK docs](https://docs.abbababa.com/sdk) for detailed guides on seller agents, webhooks, escrow management, dispute resolution, and more.
163
467
 
164
468
  ## License
165
469
 
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): Promise<string>;
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 (V4 — includes deadline).
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 V4 escrow contract
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 (V4: buyer calls accept() to release funds immediately).
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
- * V4 escrow operations by default.
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
  *
@@ -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;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxE,+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"}
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
- const info = await this.webhookServer.start(port);
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 (V4 — includes deadline).
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 V4 escrow contract
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 (V4: buyer calls accept() to release funds immediately).
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
- * V4 escrow operations by default.
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":"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"}
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';
@@ -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;AAG5C,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"}
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
- // V4 on-chain enums
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,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,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"}
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"}
@@ -9,6 +9,7 @@ export interface RegisterResult {
9
9
  agentId: string;
10
10
  developerId: string;
11
11
  walletAddress: string;
12
+ publicKey: string;
12
13
  }
13
14
  /**
14
15
  * Headless agent registration using an EVM wallet signature.
@@ -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;CACtB;AAOD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAiC7E"}
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
@@ -32,6 +32,7 @@ export async function register(opts) {
32
32
  agentId: json.agentId,
33
33
  developerId: json.developerId,
34
34
  walletAddress: json.walletAddress,
35
+ publicKey: json.publicKey,
35
36
  };
36
37
  }
37
38
  //# sourceMappingURL=register.js.map
@@ -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;AAgBjD,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,CAOlC,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;KACnC,CAAA;AACH,CAAC"}
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: 86400 = 24 hours) */
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
  }
@@ -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;AAWpB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAwFrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CA2F3B;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"}
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 = 86400; // 24 hours
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];
@@ -97,13 +98,16 @@ export async function buildEscrowPolicies(config) {
97
98
  });
98
99
  const callPolicy = toCallPolicy({
99
100
  policyVersion: CallPolicyVersion.V0_0_4,
100
- permissions,
101
+ permissions: permissions,
101
102
  });
102
103
  const validUntil = Math.floor(Date.now() / 1000) + validitySeconds;
103
104
  const timestampPolicy = toTimestampPolicy({
104
105
  validUntil,
105
106
  });
106
- return [callPolicy, timestampPolicy];
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":"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"}
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;
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,YAAY,CAAA;AAE9D,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,IAAI,CAAQ;gBAER,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAK1D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IA0C3D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAY5B"}
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);
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"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"}
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.0",
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,10 +53,9 @@
49
53
  "license": "MIT",
50
54
  "repository": {
51
55
  "type": "git",
52
- "url": "https://github.com/abbababa/abbababa-platform",
53
- "directory": "packages/sdk"
56
+ "url": "https://github.com/Abba-Baba/abbababa-sdk"
54
57
  },
55
- "homepage": "https://abbababa.com/docs/sdk",
58
+ "homepage": "https://github.com/Abba-Baba/abbababa-sdk#readme",
56
59
  "keywords": [
57
60
  "a2a",
58
61
  "agent",
@@ -65,9 +68,14 @@
65
68
  "mcp"
66
69
  ],
67
70
  "devDependencies": {
71
+ "@types/node": "^22.10.6",
68
72
  "@zerodev/ecdsa-validator": "^5.4.9",
69
73
  "@zerodev/permissions": "^5.6.0",
70
74
  "@zerodev/sdk": "^5.5.7",
71
- "permissionless": "^0.3.4"
75
+ "permissionless": "^0.3.4",
76
+ "typescript": "^5.7.3"
77
+ },
78
+ "bugs": {
79
+ "url": "https://github.com/Abba-Baba/abbababa-sdk/issues"
72
80
  }
73
81
  }