@curless/agentbank-merchant-sdk 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/resources/checkout.d.ts +1 -1
- package/dist/resources/checkout.d.ts.map +1 -1
- package/dist/resources/checkout.js +6 -3
- package/dist/resources/checkout.js.map +1 -1
- package/dist/x402.d.ts +15 -0
- package/dist/x402.d.ts.map +1 -1
- package/dist/x402.js +59 -1
- package/dist/x402.js.map +1 -1
- package/package.json +1 -1
|
@@ -26,7 +26,7 @@ export type Checkout = {
|
|
|
26
26
|
export declare class CheckoutResource {
|
|
27
27
|
private readonly client;
|
|
28
28
|
constructor(client: AgentbankMerchant);
|
|
29
|
-
|
|
29
|
+
openACP(input: OpenCheckoutInput): Promise<Checkout>;
|
|
30
30
|
openX402(input: OpenX402CheckoutInput): Promise<X402Checkout>;
|
|
31
31
|
}
|
|
32
32
|
export type OpenX402CheckoutInput = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/resources/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/resources/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAKhD,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiCpD,QAAQ,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC;CAsBpE;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -6,10 +6,13 @@ export class CheckoutResource {
|
|
|
6
6
|
constructor(client) {
|
|
7
7
|
this.client = client;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
// Merchant-quoted ACP (card) checkout — the card twin of `openX402`. YOU price
|
|
10
|
+
// the order; an agent pays it with a card credential; the money lands in your
|
|
11
|
+
// account.
|
|
12
|
+
async openACP(input) {
|
|
10
13
|
const merchantId = input.merchantId ?? this.client.merchantId;
|
|
11
14
|
if (!merchantId) {
|
|
12
|
-
throw new Error('merchantId is required — set it on AgentbankMerchant({ merchantId }) or pass it to
|
|
15
|
+
throw new Error('merchantId is required — set it on AgentbankMerchant({ merchantId }) or pass it to openACP()');
|
|
13
16
|
}
|
|
14
17
|
const session = await this.client.request('POST', `/acp/${encodeURIComponent(merchantId)}/checkout_sessions`, {
|
|
15
18
|
body: {
|
|
@@ -25,7 +28,7 @@ export class CheckoutResource {
|
|
|
25
28
|
const amount = session.totals?.find((t) => t.type === 'total')?.amount ?? 0;
|
|
26
29
|
return { id: session.id, status: session.status, amount, currency: session.currency };
|
|
27
30
|
}
|
|
28
|
-
// Merchant-quoted x402 (USDC) checkout — the stablecoin twin of `
|
|
31
|
+
// Merchant-quoted x402 (USDC) checkout — the stablecoin twin of `openACP`. YOU
|
|
29
32
|
// set the authoritative USDC amount (base units, 6 dp); the gateway freezes
|
|
30
33
|
// it and returns the x402 challenge. A buyer agent then pays it by signing an
|
|
31
34
|
// EIP-3009 authorization against `accepts[0]` and POSTing `{ sessionId }` to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/resources/checkout.ts"],"names":[],"mappings":"AA6BA,+EAA+E;AAC/E,2EAA2E;AAC3E,wEAAwE;AACxE,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE1D,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/resources/checkout.ts"],"names":[],"mappings":"AA6BA,+EAA+E;AAC/E,2EAA2E;AAC3E,wEAAwE;AACxE,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE1D,+EAA+E;IAC/E,8EAA8E;IAC9E,WAAW;IACX,KAAK,CAAC,OAAO,CAAC,KAAwB;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAKtC,MAAM,EAAE,QAAQ,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,EAAE;YACrE,IAAI,EAAE;gBACJ,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,EAAE,EAAE,EAAE,CAAC,GAAG;oBACV,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,IAAI,EAAE,EAAE,CAAC,IAAI;iBACd,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;QAC5E,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxF,CAAC;IAED,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,yEAAyE;IACzE,qEAAqE;IACrE,KAAK,CAAC,QAAQ,CAAC,KAA4B;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,+FAA+F,CAChG,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,MAAM,EACN,SAAS,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,EAC3D;YACE,IAAI,EAAE;gBACJ,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,EAAE,EAAE,EAAE,CAAC,GAAG;oBACV,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,IAAI,EAAE,EAAE,CAAC,IAAI;iBACd,CAAC,CAAC;aACJ;SACF,CACF,CAAC;IACJ,CAAC;CACF"}
|
package/dist/x402.d.ts
CHANGED
|
@@ -36,4 +36,19 @@ export type DecodedXPayment = {
|
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
export declare const decodeXPaymentHeader: (header: string | undefined | null) => DecodedXPayment;
|
|
39
|
+
export declare const USDC_DECIMALS = 6;
|
|
40
|
+
export declare const usdc: (network: string) => {
|
|
41
|
+
contract: string;
|
|
42
|
+
domain: {
|
|
43
|
+
name: string;
|
|
44
|
+
version: string;
|
|
45
|
+
};
|
|
46
|
+
decimals: number;
|
|
47
|
+
} | undefined;
|
|
48
|
+
export declare const isMainnet: (network: string) => boolean;
|
|
49
|
+
export declare const isTestnet: (network: string) => boolean;
|
|
50
|
+
export declare const explorerTxUrl: (network: string, txHash: string | undefined | null) => string | null;
|
|
51
|
+
export declare const formatUsdc: (baseUnits: number | bigint | string, opts?: {
|
|
52
|
+
symbol?: boolean;
|
|
53
|
+
}) => string;
|
|
39
54
|
//# sourceMappingURL=x402.d.ts.map
|
package/dist/x402.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAO1D,MAAM,MAAM,mBAAmB,GAAG;IAEhC,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAEjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAO1D,MAAM,MAAM,mBAAmB,GAAG;IAEhC,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAEjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,CAAC,CAAC;IACf,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,KAAG,iBAsB3D,CAAC;AAIF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE;YACb,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE,MAAM,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,eAmBxE,CAAC;AAMF,eAAO,MAAM,aAAa,IAAI,CAAC;AAoB/B,eAAO,MAAM,IAAI,GACf,SAAS,MAAM,KAEb;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjF,SAGH,CAAC;AAKF,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,OAA6B,CAAC;AAC1E,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,OAAqC,CAAC;AAUlF,eAAO,MAAM,aAAa,GACxB,SAAS,MAAM,EACf,QAAQ,MAAM,GAAG,SAAS,GAAG,IAAI,KAChC,MAAM,GAAG,IAGX,CAAC;AAIF,eAAO,MAAM,UAAU,GACrB,WAAW,MAAM,GAAG,MAAM,GAAG,MAAM,EACnC,OAAO;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,KAC1B,MAMF,CAAC"}
|
package/dist/x402.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { fromBase64 } from '@curless/agentbank-core';
|
|
2
2
|
// Build the canonical body for a 402 response.
|
|
3
3
|
export const buildChallenge = (input) => {
|
|
4
|
+
// EIP-712 domain defaults to the USDC deployment on THIS network — Base
|
|
5
|
+
// mainnet USDC signs as "USD Coin", Base Sepolia as "USDC". A wrong name makes
|
|
6
|
+
// the on-chain signature check revert, so default correctly per network and
|
|
7
|
+
// let the caller override via `extra`.
|
|
8
|
+
const domain = usdc(input.network)?.domain ?? { name: 'USDC', version: '2' };
|
|
4
9
|
const requirements = {
|
|
5
10
|
scheme: 'exact',
|
|
6
11
|
network: input.network,
|
|
@@ -11,7 +16,10 @@ export const buildChallenge = (input) => {
|
|
|
11
16
|
payTo: input.payTo,
|
|
12
17
|
maxTimeoutSeconds: input.maxTimeoutSeconds ?? 300,
|
|
13
18
|
asset: input.asset,
|
|
14
|
-
extra: {
|
|
19
|
+
extra: {
|
|
20
|
+
name: input.extra?.name ?? domain.name,
|
|
21
|
+
version: input.extra?.version ?? domain.version,
|
|
22
|
+
},
|
|
15
23
|
};
|
|
16
24
|
return { x402Version: 1, accepts: [requirements] };
|
|
17
25
|
};
|
|
@@ -38,4 +46,54 @@ export const decodeXPaymentHeader = (header) => {
|
|
|
38
46
|
}
|
|
39
47
|
return p;
|
|
40
48
|
};
|
|
49
|
+
// --- USDC + network helpers (so merchants do x402 mainnet receiving with zero
|
|
50
|
+
// crypto knowledge: no hex addresses, no 1e6, no basescan-vs-sepolia) ---------
|
|
51
|
+
// USDC has 6 decimals on every network we support.
|
|
52
|
+
export const USDC_DECIMALS = 6;
|
|
53
|
+
// USDC token contract + EIP-712 signing domain per x402 network. Source of truth
|
|
54
|
+
// is @curless/agentbank-protocols; duplicated here (stable on-chain constants)
|
|
55
|
+
// to keep this SDK dependency-light. Base mainnet USDC's on-chain name() is
|
|
56
|
+
// "USD Coin"; Base Sepolia's is "USDC" (both version "2", verified on-chain).
|
|
57
|
+
const USDC = {
|
|
58
|
+
base: {
|
|
59
|
+
contract: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
60
|
+
domain: { name: 'USD Coin', version: '2' },
|
|
61
|
+
},
|
|
62
|
+
'base-sepolia': {
|
|
63
|
+
contract: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
|
|
64
|
+
domain: { name: 'USDC', version: '2' },
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
// USDC facts for a network — the contract address (for `asset`) + its EIP-712
|
|
68
|
+
// domain. Undefined for an unknown network. Use `usdc('base').contract` instead
|
|
69
|
+
// of hardcoding a hex string.
|
|
70
|
+
export const usdc = (network) => {
|
|
71
|
+
const u = USDC[network];
|
|
72
|
+
return u ? { ...u, decimals: USDC_DECIMALS } : undefined;
|
|
73
|
+
};
|
|
74
|
+
// Is this x402 network real-money (mainnet) or a testnet? The gateway's mode
|
|
75
|
+
// (test vs live key) picks the network transparently; use these to branch UI
|
|
76
|
+
// (e.g. a "test payment" badge) without knowing the chain naming convention.
|
|
77
|
+
export const isMainnet = (network) => network === 'base';
|
|
78
|
+
export const isTestnet = (network) => network === 'base-sepolia';
|
|
79
|
+
const EXPLORER_TX = {
|
|
80
|
+
base: 'https://basescan.org/tx/',
|
|
81
|
+
'base-sepolia': 'https://sepolia.basescan.org/tx/',
|
|
82
|
+
};
|
|
83
|
+
// Block-explorer URL for a settled x402 tx hash — basescan on mainnet,
|
|
84
|
+
// sepolia.basescan on testnet. Null when the network or hash is unknown/empty,
|
|
85
|
+
// so a missing receipt link is falsy rather than broken.
|
|
86
|
+
export const explorerTxUrl = (network, txHash) => {
|
|
87
|
+
const prefix = EXPLORER_TX[network];
|
|
88
|
+
return prefix && txHash ? `${prefix}${txHash}` : null;
|
|
89
|
+
};
|
|
90
|
+
// Format USDC base units (6 dp integer) to a decimal string — exact string math,
|
|
91
|
+
// no float (so large amounts never lose precision). `symbol:true` appends " USDC".
|
|
92
|
+
export const formatUsdc = (baseUnits, opts) => {
|
|
93
|
+
const n = BigInt(typeof baseUnits === 'number' ? Math.trunc(baseUnits) : baseUnits);
|
|
94
|
+
const neg = n < 0n;
|
|
95
|
+
const abs = (neg ? -n : n).toString().padStart(USDC_DECIMALS + 1, '0');
|
|
96
|
+
const out = `${neg ? '-' : ''}${abs.slice(0, -USDC_DECIMALS)}.${abs.slice(-USDC_DECIMALS)}`;
|
|
97
|
+
return opts?.symbol ? `${out} USDC` : out;
|
|
98
|
+
};
|
|
41
99
|
//# sourceMappingURL=x402.js.map
|
package/dist/x402.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402.js","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"x402.js","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@curless/agentbank-merchant-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Merchant-side SDK for agentbank — accept agent payments: open a merchant-quoted checkout (you price it, an agent pays it), PaymentIntents, edge-safe webhook verification, x402 challenge helpers.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|