@bankofai/x402 0.5.8 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  TypeScript SDK for the x402 payment protocol. Supports TRON and EVM (BSC) networks with automatic HTTP 402 payment handling.
4
4
 
5
+ ## Compatibility Notes
6
+
7
+ - The EVM `exact` flow is being aligned to the Coinbase x402 v2 payload shape.
8
+ - Exact transfer authorizations are emitted in `payload.authorization`.
9
+ - Migration fallback support for the legacy `extensions.transferAuthorization` field remains on the server side while compatibility is rolled out.
10
+
5
11
  ## Features
6
12
 
7
13
  - 🔐 **Automatic Payment Handling** - Transparently handles HTTP 402 Payment Required responses
@@ -40,6 +46,12 @@ const data = await response.json();
40
46
  console.log(data);
41
47
  ```
42
48
 
49
+ ## BSC Testnet Example
50
+
51
+ For a smoke-tested BSC testnet `exact` example that uses a local private key and targets the Coinbase-compatible `exact` route, see [`examples/bsc-testnet-smoke/README.md`](../../../examples/bsc-testnet-smoke/README.md).
52
+
53
+ The BSC `exact` path in this repository is aligned around ERC-3009. On testnet, the validated asset is `DHLU`, not generic USDT/USDC permit-only flows.
54
+
43
55
  ## Core Concepts
44
56
 
45
57
  ### Payment Flow
@@ -310,6 +322,8 @@ Allows users to pay using TRC-20 tokens (USDT/USDD) without holding any TRX for
310
322
 
311
323
  Direct payment scheme using ERC-3009 (`TransferWithAuthorization`) where supported by the token contract (primarily for EVM networks like BSC).
312
324
 
325
+ For BSC testnet interoperability, treat token choice as part of the protocol contract. If the endpoint advertises `exact`, the asset must actually implement ERC-3009. The smoke-tested example in this repository uses `DHLU` on `eip155:97`.
326
+
313
327
  ## Security
314
328
 
315
329
  - **Never commit private keys** - Use environment variables
@@ -7,5 +7,4 @@ export { ExactTronClientMechanism } from './nativeExactTron.js';
7
7
  export { ExactEvmClientMechanism } from './nativeExactEvm.js';
8
8
  export { ExactGasFreeClientMechanism } from './exactGasfree.js';
9
9
  export { SCHEME_EXACT, TRANSFER_AUTH_EIP712_TYPES, TRANSFER_AUTH_PRIMARY_TYPE, buildEip712Domain, buildEip712Message, createNonce, createValidityWindow, } from './nativeExact.js';
10
- export type { TransferAuthorization } from './nativeExact.js';
11
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mechanisms/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mechanisms/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC"}
@@ -5,19 +5,12 @@
5
5
  * without going through a PaymentPermit contract.
6
6
  */
7
7
  import type { Hex } from '../address.js';
8
+ import type { TransferAuthorization } from '../types/payment.js';
9
+ export type { TransferAuthorization } from '../types/payment.js';
8
10
  /** Scheme name */
9
11
  export declare const SCHEME_EXACT = "exact";
10
12
  /** Default validity period (1 hour) */
11
13
  export declare const DEFAULT_VALIDITY_SECONDS = 3600;
12
- /** TransferWithAuthorization parameters */
13
- export interface TransferAuthorization {
14
- from: string;
15
- to: string;
16
- value: string;
17
- validAfter: string;
18
- validBefore: string;
19
- nonce: string;
20
- }
21
14
  /**
22
15
  * EIP-712 type definitions for TransferWithAuthorization
23
16
  * Note: domain includes "version" field (unlike PaymentPermit)
@@ -1 +1 @@
1
- {"version":3,"file":"nativeExact.d.ts","sourceRoot":"","sources":["../../src/mechanisms/nativeExact.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,kBAAkB;AAClB,eAAO,MAAM,YAAY,UAAU,CAAC;AAEpC,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,2CAA2C;AAC3C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;CAS7B,CAAC;AAEX,eAAO,MAAM,0BAA0B,8BAA8B,CAAC;AAEtE;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,qBAAqB,EAC3B,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAIpC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,MAAiC,GAC1C,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlB"}
1
+ {"version":3,"file":"nativeExact.d.ts","sourceRoot":"","sources":["../../src/mechanisms/nativeExact.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,kBAAkB;AAClB,eAAO,MAAM,YAAY,UAAU,CAAC;AAEpC,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;CAS7B,CAAC;AAEX,eAAO,MAAM,0BAA0B,8BAA8B,CAAC;AAEtE;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,qBAAqB,EAC3B,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAIpC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,MAAiC,GAC1C,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"nativeExact.js","sourceRoot":"","sources":["../../src/mechanisms/nativeExact.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,kBAAkB;AAClB,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AAEpC,uCAAuC;AACvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAY7C;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB,EAAE;QACzB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;QACxC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KACnC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,YAAoB,EACpB,OAAe,EACf,iBAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,YAAY;QACrB,OAAO;QACP,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA2B,EAC3B,gBAAuC;IAEvC,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,wBAAwB;IAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"nativeExact.js","sourceRoot":"","sources":["../../src/mechanisms/nativeExact.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,kBAAkB;AAClB,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AAEpC,uCAAuC;AACvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB,EAAE;QACzB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;QACxC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KACnC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,YAAoB,EACpB,OAAe,EACf,iBAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,YAAY;QACrB,OAAO;QACP,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA2B,EAC3B,gBAAuC;IAEvC,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,wBAAwB;IAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC;AACpC,CAAC"}
@@ -39,7 +39,7 @@ export class ExactEvmClientMechanism {
39
39
  // Look up token metadata for EIP-712 domain
40
40
  const tokenInfo = findByAddress(requirements.network, requirements.asset);
41
41
  const tokenName = tokenInfo?.name ?? 'Unknown Token';
42
- const tokenVersion = '1';
42
+ const tokenVersion = tokenInfo?.version ?? requirements.extra?.version ?? '1';
43
43
  const chainId = getChainId(requirements.network);
44
44
  const domain = buildEip712Domain(tokenName, tokenVersion, chainId, converter.toEvmFormat(requirements.asset));
45
45
  const message = buildEip712Message(authorization, (addr) => converter.toEvmFormat(addr));
@@ -50,7 +50,7 @@ export class ExactEvmClientMechanism {
50
50
  accepted: requirements,
51
51
  payload: {
52
52
  signature,
53
- paymentPermit: undefined,
53
+ authorization,
54
54
  },
55
55
  extensions: {
56
56
  transferAuthorization: authorization,
@@ -1 +1 @@
1
- {"version":3,"file":"nativeExactEvm.js","sourceRoot":"","sources":["../../src/mechanisms/nativeExactEvm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EACL,UAAU,EACV,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAC1B,MAAM,CAAe;IACrB,gBAAgB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAErD,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,YAAiC,EACjC,QAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,oBAAoB,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAE5B,MAAM,aAAa,GAA0B;YAC3C,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;YAChC,KAAK;SACN,CAAC;QAEF,4CAA4C;QAC5C,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,eAAe,CAAC;QACrD,MAAM,YAAY,GAAG,GAAG,CAAC;QAEzB,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAC1C,CAAC;QAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC/C,MAAM,EACN,0BAA0B,EAC1B,OAAO,EACP,0BAA0B,CAC3B,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;YAC3B,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE;gBACP,SAAS;gBACT,aAAa,EAAE,SAAkB;aAClC;YACD,UAAU,EAAE;gBACV,qBAAqB,EAAE,aAAa;aACrC;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"nativeExactEvm.js","sourceRoot":"","sources":["../../src/mechanisms/nativeExactEvm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EACL,UAAU,EACV,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAC1B,MAAM,CAAe;IACrB,gBAAgB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAErD,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,YAAiC,EACjC,QAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,oBAAoB,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAE5B,MAAM,aAAa,GAA0B;YAC3C,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;YAChC,KAAK;SACN,CAAC;QAEF,4CAA4C;QAC5C,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,eAAe,CAAC;QACrD,MAAM,YAAY,GAAG,SAAS,EAAE,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,IAAI,GAAG,CAAC;QAE9E,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAC1C,CAAC;QAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC/C,MAAM,EACN,0BAA0B,EAC1B,OAAO,EACP,0BAA0B,CAC3B,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;YAC3B,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE;gBACP,SAAS;gBACT,aAAa;aACd;YACD,UAAU,EAAE;gBACV,qBAAqB,EAAE,aAAa;aACrC;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -39,7 +39,7 @@ export class ExactTronClientMechanism {
39
39
  // Look up token metadata for EIP-712 domain
40
40
  const tokenInfo = findByAddress(requirements.network, requirements.asset);
41
41
  const tokenName = tokenInfo?.name ?? 'Unknown Token';
42
- const tokenVersion = '1';
42
+ const tokenVersion = tokenInfo?.version ?? requirements.extra?.version ?? '1';
43
43
  const chainId = getChainId(requirements.network);
44
44
  const domain = buildEip712Domain(tokenName, tokenVersion, chainId, converter.toEvmFormat(requirements.asset));
45
45
  const message = buildEip712Message(authorization, (addr) => converter.toEvmFormat(addr));
@@ -50,7 +50,7 @@ export class ExactTronClientMechanism {
50
50
  accepted: requirements,
51
51
  payload: {
52
52
  signature,
53
- paymentPermit: undefined,
53
+ authorization,
54
54
  },
55
55
  extensions: {
56
56
  transferAuthorization: authorization,
@@ -1 +1 @@
1
- {"version":3,"file":"nativeExactTron.js","sourceRoot":"","sources":["../../src/mechanisms/nativeExactTron.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EACL,UAAU,EACV,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC3B,MAAM,CAAe;IACrB,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAEtD,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,YAAiC,EACjC,QAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,oBAAoB,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAE5B,MAAM,aAAa,GAA0B;YAC3C,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;YAChC,KAAK;SACN,CAAC;QAEF,4CAA4C;QAC5C,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,eAAe,CAAC;QACrD,MAAM,YAAY,GAAG,GAAG,CAAC;QAEzB,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAC1C,CAAC;QAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC/C,MAAM,EACN,0BAA0B,EAC1B,OAAO,EACP,0BAA0B,CAC3B,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;YAC3B,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE;gBACP,SAAS;gBACT,aAAa,EAAE,SAAkB;aAClC;YACD,UAAU,EAAE;gBACV,qBAAqB,EAAE,aAAa;aACrC;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"nativeExactTron.js","sourceRoot":"","sources":["../../src/mechanisms/nativeExactTron.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EACL,UAAU,EACV,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC3B,MAAM,CAAe;IACrB,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAEtD,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,YAAiC,EACjC,QAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEzD,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,oBAAoB,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAE5B,MAAM,aAAa,GAA0B;YAC3C,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,MAAM;YACV,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;YAC9B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;YAChC,KAAK;SACN,CAAC;QAEF,4CAA4C;QAC5C,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,eAAe,CAAC;QACrD,MAAM,YAAY,GAAG,SAAS,EAAE,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,IAAI,GAAG,CAAC;QAE9E,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,iBAAiB,CAC9B,SAAS,EACT,YAAY,EACZ,OAAO,EACP,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAC1C,CAAC;QAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAC/C,MAAM,EACN,0BAA0B,EAC1B,OAAO,EACP,0BAA0B,CAC3B,CAAC;QAEF,OAAO;YACL,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;YAC3B,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE;gBACP,SAAS;gBACT,aAAa;aACd;YACD,UAAU,EAAE;gBACV,qBAAqB,EAAE,aAAa;aACrC;SACF,CAAC;IACJ,CAAC;CACF"}
package/dist/tokens.d.ts CHANGED
@@ -6,6 +6,7 @@ export interface TokenInfo {
6
6
  decimals: number;
7
7
  name: string;
8
8
  symbol: string;
9
+ version?: string;
9
10
  }
10
11
  /** Get token info by network and symbol */
11
12
  export declare function getToken(network: string, symbol: string): TokenInfo | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAiFD,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE/E;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAKrF;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAE3E;AAED,8BAA8B;AAC9B,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAKrE"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAkFD,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE/E;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAKrF;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAE3E;AAED,8BAA8B;AAC9B,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAKrE"}
package/dist/tokens.js CHANGED
@@ -20,6 +20,7 @@ const TOKENS = {
20
20
  decimals: 6,
21
21
  name: 'DA HULU',
22
22
  symbol: 'DHLU',
23
+ version: '1',
23
24
  },
24
25
  },
25
26
  'eip155:56': {
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,15 @@ export interface PaymentPermit {
45
45
  /** Fee information */
46
46
  fee: Fee;
47
47
  }
48
+ /** TransferWithAuthorization payload for the exact scheme */
49
+ export interface TransferAuthorization {
50
+ from: string;
51
+ to: string;
52
+ value: string;
53
+ validAfter: string;
54
+ validBefore: string;
55
+ nonce: string;
56
+ }
48
57
  /** Payment requirements from server */
49
58
  export interface PaymentRequirements {
50
59
  /** Payment scheme (e.g., "exact", "upto") */
@@ -103,7 +112,9 @@ export interface PaymentPayload {
103
112
  /** Buyer's EIP-712 signature */
104
113
  signature: string;
105
114
  /** Payment permit */
106
- paymentPermit: PaymentPermit;
115
+ paymentPermit?: PaymentPermit;
116
+ /** Transfer authorization for the exact scheme */
117
+ authorization?: TransferAuthorization;
107
118
  };
108
119
  /** Extensions */
109
120
  extensions?: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../src/types/payment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../src/types/payment.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bankofai/x402",
3
- "version": "0.5.8",
3
+ "version": "0.5.9",
4
4
  "description": "x402 TypeScript SDK (TRON and EVM support)",
5
5
  "keywords": [
6
6
  "x402",
@@ -21,7 +21,7 @@
21
21
  "directory": "typescript/packages/x402"
22
22
  },
23
23
  "engines": {
24
- "node": ">=18.0.0"
24
+ "node": ">=20.0.0"
25
25
  },
26
26
  "type": "module",
27
27
  "main": "./dist/index.js",
@@ -42,11 +42,6 @@
42
42
  "dist",
43
43
  "README.md"
44
44
  ],
45
- "scripts": {
46
- "build": "tsc",
47
- "clean": "rm -rf dist",
48
- "test": "vitest run"
49
- },
50
45
  "peerDependencies": {
51
46
  "tronweb": "^5.0.0 || ^6.0.0"
52
47
  },
@@ -58,5 +53,10 @@
58
53
  "publishConfig": {
59
54
  "access": "public"
60
55
  },
61
- "license": "MIT"
62
- }
56
+ "license": "MIT",
57
+ "scripts": {
58
+ "build": "tsc",
59
+ "clean": "rm -rf dist",
60
+ "test": "vitest run"
61
+ }
62
+ }