mppx 0.8.4 → 0.8.6

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/Receipt.d.ts +20 -2
  3. package/dist/Receipt.d.ts.map +1 -1
  4. package/dist/Receipt.js +19 -12
  5. package/dist/Receipt.js.map +1 -1
  6. package/dist/cli/cli.d.ts.map +1 -1
  7. package/dist/cli/cli.js +6 -4
  8. package/dist/cli/cli.js.map +1 -1
  9. package/dist/cli/plugins/tempo.d.ts.map +1 -1
  10. package/dist/cli/plugins/tempo.js +4 -2
  11. package/dist/cli/plugins/tempo.js.map +1 -1
  12. package/dist/client/internal/Fetch.d.ts.map +1 -1
  13. package/dist/client/internal/Fetch.js +6 -1
  14. package/dist/client/internal/Fetch.js.map +1 -1
  15. package/dist/evm/client/Charge.d.ts +2 -2
  16. package/dist/evm/client/Charge.d.ts.map +1 -1
  17. package/dist/evm/client/Charge.js +11 -17
  18. package/dist/evm/client/Charge.js.map +1 -1
  19. package/dist/evm/server/Charge.d.ts +5 -5
  20. package/dist/evm/server/Charge.d.ts.map +1 -1
  21. package/dist/evm/server/Charge.js +15 -7
  22. package/dist/evm/server/Charge.js.map +1 -1
  23. package/dist/tempo/client/Charge.d.ts.map +1 -1
  24. package/dist/tempo/client/Charge.js +6 -2
  25. package/dist/tempo/client/Charge.js.map +1 -1
  26. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  27. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  28. package/dist/tempo/server/internal/html.gen.js +1 -1
  29. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  30. package/dist/tempo/session/precompile/Chain.d.ts +26 -2
  31. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
  32. package/dist/tempo/session/precompile/Chain.js +38 -5
  33. package/dist/tempo/session/precompile/Chain.js.map +1 -1
  34. package/dist/x402/Assets.d.ts +40 -0
  35. package/dist/x402/Assets.d.ts.map +1 -1
  36. package/dist/x402/Assets.js +73 -0
  37. package/dist/x402/Assets.js.map +1 -1
  38. package/dist/x402/client/Exact.d.ts +2 -2
  39. package/dist/x402/client/Exact.d.ts.map +1 -1
  40. package/dist/x402/client/Exact.js +6 -13
  41. package/dist/x402/client/Exact.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/Receipt.test.ts +53 -0
  44. package/src/Receipt.ts +26 -13
  45. package/src/cli/cli.test.ts +41 -5
  46. package/src/cli/cli.ts +7 -4
  47. package/src/cli/plugins/tempo.ts +6 -2
  48. package/src/client/internal/Fetch.test.ts +44 -0
  49. package/src/client/internal/Fetch.ts +5 -1
  50. package/src/evm/PublicInterface.test-d.ts +15 -2
  51. package/src/evm/client/Charge.test.ts +248 -0
  52. package/src/evm/client/Charge.ts +12 -23
  53. package/src/evm/server/Charge.test.ts +140 -0
  54. package/src/evm/server/Charge.ts +19 -12
  55. package/src/tempo/client/Charge.test.ts +61 -0
  56. package/src/tempo/client/Charge.ts +6 -1
  57. package/src/tempo/server/internal/html.gen.ts +1 -1
  58. package/src/tempo/session/precompile/Chain.test.ts +121 -2
  59. package/src/tempo/session/precompile/Chain.ts +56 -6
  60. package/src/x402/Assets.test.ts +211 -0
  61. package/src/x402/Assets.ts +116 -0
  62. package/src/x402/client/Exact.test.ts +129 -0
  63. package/src/x402/client/Exact.ts +7 -19
@@ -1 +1 @@
1
- {"version":3,"file":"html.gen.js","sourceRoot":"","sources":["../../../../src/tempo/server/internal/html.gen.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,swrpBAAswrpB,CAAA"}
1
+ {"version":3,"file":"html.gen.js","sourceRoot":"","sources":["../../../../src/tempo/server/internal/html.gen.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,g3rpBAAg3rpB,CAAA"}
@@ -138,15 +138,39 @@ export type Channel = {
138
138
  /**
139
139
  * Read channel descriptor and state from the TIP20EscrowChannel precompile.
140
140
  */
141
- export declare function getChannel(client: Client, descriptor: ChannelDescriptor, escrow?: Address): Promise<Channel>;
141
+ export declare function getChannel(client: Client, descriptor: ChannelDescriptor, escrow?: Address, blockNumber?: bigint): Promise<Channel>;
142
142
  /**
143
143
  * Read channel state from the TIP20EscrowChannel precompile.
144
144
  */
145
- export declare function getChannelState(client: Client, channelId: Hex, escrow?: Address): Promise<ChannelState>;
145
+ export declare function getChannelState(client: Client, channelId: Hex, escrow?: Address, blockNumber?: bigint): Promise<ChannelState>;
146
146
  /**
147
147
  * Read channel states from the TIP20EscrowChannel precompile.
148
148
  */
149
149
  export declare function getChannelStatesBatch(client: Client, channelIds: readonly Hex[], escrow?: Address): Promise<ChannelState[]>;
150
+ /** Tuning for {@link readbackWithRetry}. */
151
+ export type ReadbackRetryOptions = {
152
+ /** Additional attempts after the first, before giving up. @default 5 */
153
+ retries?: number | undefined;
154
+ /** Delay between attempts, in milliseconds. @default 250 */
155
+ delayMs?: number | undefined;
156
+ };
157
+ /**
158
+ * Retry an on-chain readback that is pinned to the block containing a just-sent
159
+ * transaction.
160
+ *
161
+ * The escrow state read is served by a load-balanced RPC whose replicas can lag
162
+ * behind the block that produced the transaction receipt. Callers pin the read
163
+ * to that block number (via the `blockNumber` arg on {@link getChannel} /
164
+ * {@link getChannelState}) so a node that has imported the block returns
165
+ * authoritative state; replicas that have not yet imported it throw (e.g.
166
+ * "header not found"), so we retry with a short backoff until one catches up.
167
+ *
168
+ * This closes the read-after-write race behind
169
+ * `on-chain channel state does not match open receipt` — without it, a stale
170
+ * `latest` read on a lagging replica returns an empty channel and fails
171
+ * verification even though the open transaction succeeded.
172
+ */
173
+ export declare function readbackWithRetry<T>(read: () => Promise<T>, options?: ReadbackRetryOptions): Promise<T>;
150
174
  /** Options accepted by low-level TIP-1034 on-chain management helpers. */
151
175
  export type ChannelTransactionOptions = {
152
176
  /** Account used to send the transaction when the viem client has no default account. */
@@ -1 +1 @@
1
- {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"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"}
@@ -113,12 +113,13 @@ function assertUint96(amount) {
113
113
  /**
114
114
  * Read channel descriptor and state from the TIP20EscrowChannel precompile.
115
115
  */
116
- export async function getChannel(client, descriptor, escrow = tip20ChannelEscrow) {
116
+ export async function getChannel(client, descriptor, escrow = tip20ChannelEscrow, blockNumber) {
117
117
  const channel = await readContract(client, {
118
118
  address: escrow,
119
119
  abi: escrowAbi,
120
120
  functionName: 'getChannel',
121
121
  args: [descriptorTuple(descriptor)],
122
+ ...(blockNumber !== undefined ? { blockNumber } : {}),
122
123
  });
123
124
  return {
124
125
  descriptor: channel.descriptor,
@@ -128,12 +129,13 @@ export async function getChannel(client, descriptor, escrow = tip20ChannelEscrow
128
129
  /**
129
130
  * Read channel state from the TIP20EscrowChannel precompile.
130
131
  */
131
- export async function getChannelState(client, channelId, escrow = tip20ChannelEscrow) {
132
+ export async function getChannelState(client, channelId, escrow = tip20ChannelEscrow, blockNumber) {
132
133
  const state = await readContract(client, {
133
134
  address: escrow,
134
135
  abi: escrowAbi,
135
136
  functionName: 'getChannelState',
136
137
  args: [channelId],
138
+ ...(blockNumber !== undefined ? { blockNumber } : {}),
137
139
  });
138
140
  return stateFromTuple(state);
139
141
  }
@@ -149,6 +151,37 @@ export async function getChannelStatesBatch(client, channelIds, escrow = tip20Ch
149
151
  });
150
152
  return states.map(stateFromTuple);
151
153
  }
154
+ /**
155
+ * Retry an on-chain readback that is pinned to the block containing a just-sent
156
+ * transaction.
157
+ *
158
+ * The escrow state read is served by a load-balanced RPC whose replicas can lag
159
+ * behind the block that produced the transaction receipt. Callers pin the read
160
+ * to that block number (via the `blockNumber` arg on {@link getChannel} /
161
+ * {@link getChannelState}) so a node that has imported the block returns
162
+ * authoritative state; replicas that have not yet imported it throw (e.g.
163
+ * "header not found"), so we retry with a short backoff until one catches up.
164
+ *
165
+ * This closes the read-after-write race behind
166
+ * `on-chain channel state does not match open receipt` — without it, a stale
167
+ * `latest` read on a lagging replica returns an empty channel and fails
168
+ * verification even though the open transaction succeeded.
169
+ */
170
+ export async function readbackWithRetry(read, options = {}) {
171
+ const { retries = 5, delayMs = 250 } = options;
172
+ let lastError;
173
+ for (let attempt = 0; attempt <= retries; attempt++) {
174
+ try {
175
+ return await read();
176
+ }
177
+ catch (error) {
178
+ lastError = error;
179
+ if (attempt < retries)
180
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
181
+ }
182
+ }
183
+ throw lastError;
184
+ }
152
185
  function parsePrecompileCredentialTransaction(parameters) {
153
186
  const { escrowContract, feePayer, label, serializedTransaction } = parameters;
154
187
  if (feePayer && !FeePayer.isTempoTransaction(serializedTransaction))
@@ -259,7 +292,7 @@ export async function sendTransaction(client, transaction) {
259
292
  }
260
293
  /** Wait for a receipt and reject reverted precompile transactions. */
261
294
  export async function waitForSuccessfulReceipt(client, hash) {
262
- const receipt = await waitForTransactionReceipt(client, { hash });
295
+ const receipt = await waitForTransactionReceipt(client, { hash, checkReplacement: false });
263
296
  if (receipt.status !== 'success')
264
297
  throw new VerificationFailedError({ reason: 'precompile transaction reverted' });
265
298
  return receipt;
@@ -379,7 +412,7 @@ export async function broadcastOpenTransaction(parameters) {
379
412
  expectedChannelId: parameters.expectedChannelId,
380
413
  openDeposit: open.deposit,
381
414
  });
382
- const chainChannel = await getChannel(parameters.client, descriptor, parameters.escrowContract);
415
+ const chainChannel = await readbackWithRetry(() => getChannel(parameters.client, descriptor, parameters.escrowContract, receipt.blockNumber));
383
416
  const state = chainChannel.state;
384
417
  validateOpenReadbackState({ emittedDeposit: opened.deposit, state });
385
418
  return {
@@ -426,7 +459,7 @@ export async function broadcastTopUpTransaction(parameters) {
426
459
  emittedChannelId: toppedUp.channelId,
427
460
  expectedChannelId: parameters.expectedChannelId,
428
461
  });
429
- const state = await getChannelState(parameters.client, toppedUp.channelId, parameters.escrowContract);
462
+ const state = await readbackWithRetry(() => getChannelState(parameters.client, toppedUp.channelId, parameters.escrowContract, receipt.blockNumber));
430
463
  validateTopUpReadbackState({ newDeposit: toppedUp.newDeposit, state });
431
464
  return { txHash: receipt.transactionHash, newDeposit: toppedUp.newDeposit, state };
432
465
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../../../src/tempo/session/precompile/Chain.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Token } from 'viem/tokens';
1
2
  import type { Asset, EvmNetwork, ExactTransfer } from './Types.js';
2
3
  declare const knownAsset: unique symbol;
3
4
  /** Known x402 asset metadata. */
@@ -5,6 +6,10 @@ export type KnownAsset = Asset & {
5
6
  readonly [knownAsset]: true;
6
7
  network: EvmNetwork;
7
8
  };
9
+ /** Viem token metadata from `viem/tokens`. */
10
+ export type ViemToken = Token;
11
+ /** Currency metadata accepted by EVM and x402 payment config. */
12
+ export type Currency = `0x${string}` | KnownAsset | ViemToken;
8
13
  /** Creates typed x402 asset metadata for custom tokens. */
9
14
  export declare function define(parameters: define.Parameters): KnownAsset;
10
15
  export declare namespace define {
@@ -15,6 +20,21 @@ export declare namespace define {
15
20
  transfer: ExactTransfer;
16
21
  };
17
22
  }
23
+ /** Creates x402 asset metadata from a `viem/tokens` token definition. */
24
+ export declare function fromToken(token: ViemToken, parameters: fromToken.Parameters): KnownAsset;
25
+ export declare namespace fromToken {
26
+ type Parameters = {
27
+ chainId: number;
28
+ transfer: Transfer;
29
+ };
30
+ type Transfer = (Omit<Extract<ExactTransfer, {
31
+ type: 'eip3009';
32
+ }>, 'name'> & {
33
+ name?: string | undefined;
34
+ }) | Extract<ExactTransfer, {
35
+ type: 'permit2';
36
+ }>;
37
+ }
18
38
  /** Base network known assets. */
19
39
  export declare const base: {
20
40
  readonly USDC: KnownAsset;
@@ -25,5 +45,25 @@ export declare const baseSepolia: {
25
45
  };
26
46
  /** Returns true when a value is known x402 asset metadata. */
27
47
  export declare function isAsset(value: unknown): value is KnownAsset;
48
+ /** Returns true when a value is a `viem/tokens` token definition. */
49
+ export declare function isToken(value: unknown): value is ViemToken;
50
+ /** Returns true when a currency is a raw address without chain metadata. */
51
+ export declare function isRawAddress(currency: Currency): currency is `0x${string}`;
52
+ /** Resolves currency metadata for an EVM network. */
53
+ export declare function resolve(currency: Currency, network: EvmNetwork): resolve.Result | undefined;
54
+ export declare namespace resolve {
55
+ type Result = {
56
+ address: `0x${string}`;
57
+ decimals?: number | undefined;
58
+ name?: string | undefined;
59
+ transfer?: ExactTransfer | undefined;
60
+ };
61
+ }
62
+ /** Returns true when a currency resolves to the accepted address on the network. */
63
+ export declare function matches(currency: Currency, acceptedCurrency: `0x${string}`, network: EvmNetwork): boolean;
64
+ /** Converts an EVM chain ID to a CAIP-2 network identifier. */
65
+ export declare function toNetwork(chainId: number): EvmNetwork;
66
+ /** Converts a CAIP-2 EVM network identifier to a chain ID. */
67
+ export declare function toChainId(network: EvmNetwork): number;
28
68
  export {};
29
69
  //# sourceMappingURL=Assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Assets.d.ts","sourceRoot":"","sources":["../../src/x402/Assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElE,QAAA,MAAM,UAAU,eAA4B,CAAA;AAE5C,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG;IAC/B,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAA;IAC3B,OAAO,EAAE,UAAU,CAAA;CACpB,CAAA;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAQhE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,UAAU,GAAG;QAChB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;QACtB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,UAAU,CAAA;QACnB,QAAQ,EAAE,aAAa,CAAA;KACxB,CAAA;CACF;AAED,iCAAiC;AACjC,eAAO,MAAM,IAAI;;CAYP,CAAA;AAEV,iCAAiC;AACjC,eAAO,MAAM,WAAW;;CAYd,CAAA;AAEV,8DAA8D;AAC9D,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAG3D"}
1
+ {"version":3,"file":"Assets.d.ts","sourceRoot":"","sources":["../../src/x402/Assets.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { getAddress } from 'viem';
1
2
  const knownAsset = Symbol('mppx.x402.asset');
2
3
  /** Creates typed x402 asset metadata for custom tokens. */
3
4
  export function define(parameters) {
@@ -9,6 +10,16 @@ export function define(parameters) {
9
10
  transfer: parameters.transfer,
10
11
  };
11
12
  }
13
+ /** Creates x402 asset metadata from a `viem/tokens` token definition. */
14
+ export function fromToken(token, parameters) {
15
+ const resolved = token(parameters.chainId);
16
+ return define({
17
+ address: resolved.address,
18
+ decimals: resolved.decimals,
19
+ network: toNetwork(parameters.chainId),
20
+ transfer: withTokenDefaults(parameters.transfer, resolved),
21
+ });
22
+ }
12
23
  /** Base network known assets. */
13
24
  export const base = {
14
25
  USDC: define({
@@ -43,4 +54,66 @@ export function isAsset(value) {
43
54
  return false;
44
55
  return value[knownAsset] === true;
45
56
  }
57
+ /** Returns true when a value is a `viem/tokens` token definition. */
58
+ export function isToken(value) {
59
+ return (typeof value === 'function' &&
60
+ typeof value.addresses === 'object' &&
61
+ typeof value.decimals === 'number');
62
+ }
63
+ /** Returns true when a currency is a raw address without chain metadata. */
64
+ export function isRawAddress(currency) {
65
+ return typeof currency === 'string';
66
+ }
67
+ /** Resolves currency metadata for an EVM network. */
68
+ export function resolve(currency, network) {
69
+ if (isAsset(currency)) {
70
+ if (currency.network !== network)
71
+ return undefined;
72
+ return {
73
+ address: currency.address,
74
+ decimals: currency.decimals,
75
+ transfer: currency.transfer,
76
+ };
77
+ }
78
+ if (isToken(currency)) {
79
+ const address = currency.addresses[toChainId(network)];
80
+ if (!address)
81
+ return undefined;
82
+ return {
83
+ address,
84
+ decimals: currency.decimals,
85
+ name: currency.name,
86
+ };
87
+ }
88
+ return {
89
+ address: currency,
90
+ };
91
+ }
92
+ /** Returns true when a currency resolves to the accepted address on the network. */
93
+ export function matches(currency, acceptedCurrency, network) {
94
+ const resolved = resolve(currency, network);
95
+ if (!resolved)
96
+ return false;
97
+ return getAddress(resolved.address) === getAddress(acceptedCurrency);
98
+ }
99
+ /** Converts an EVM chain ID to a CAIP-2 network identifier. */
100
+ export function toNetwork(chainId) {
101
+ return `eip155:${chainId}`;
102
+ }
103
+ /** Converts a CAIP-2 EVM network identifier to a chain ID. */
104
+ export function toChainId(network) {
105
+ return Number(network.slice('eip155:'.length));
106
+ }
107
+ function withTokenDefaults(transfer, token) {
108
+ if (transfer.type !== 'eip3009')
109
+ return transfer;
110
+ if (transfer.name)
111
+ return { ...transfer, name: transfer.name };
112
+ if (!token.name)
113
+ throw new Error('EIP-3009 token assets require a token name.');
114
+ return {
115
+ ...transfer,
116
+ name: token.name,
117
+ };
118
+ }
46
119
  //# sourceMappingURL=Assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Assets.js","sourceRoot":"","sources":["../../src/x402/Assets.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAQ5C,2DAA2D;AAC3D,MAAM,UAAU,MAAM,CAAC,UAA6B;IAClD,OAAO;QACL,CAAC,UAAU,CAAC,EAAE,IAAI;QAClB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC9B,CAAA;AACH,CAAC;AAWD,iCAAiC;AACjC,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE;YACR,oEAAoE;YACpE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,GAAG;SACb;KACF,CAAC;CACM,CAAA;AAEV,iCAAiC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE;YACR,qEAAqE;YACrE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,GAAG;SACb;KACF,CAAC;CACM,CAAA;AAEV,8DAA8D;AAC9D,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,OAAQ,KAA6B,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;AAC5D,CAAC"}
1
+ {"version":3,"file":"Assets.js","sourceRoot":"","sources":["../../src/x402/Assets.ts"],"names":[],"mappings":"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"}
@@ -31,8 +31,8 @@ export type Config = {
31
31
  /** Optional allowlist of supported EVM chain IDs. */
32
32
  networks?: readonly number[] | undefined;
33
33
  /** Optional allowlist of supported currencies. */
34
- currencies?: readonly (`0x${string}` | Assets.KnownAsset)[] | undefined;
34
+ currencies?: readonly Assets.Currency[] | undefined;
35
35
  /** Legacy alias for `currencies`. */
36
- assets?: readonly (`0x${string}` | Assets.KnownAsset)[] | undefined;
36
+ assets?: readonly Assets.Currency[] | undefined;
37
37
  };
38
38
  //# sourceMappingURL=Exact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Exact.d.ts","sourceRoot":"","sources":["../../../src/x402/client/Exact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAGtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA2D/F;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,KAAK,UAAU,GAAG;QAChB,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAClD,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC9B,CAAA;CACF;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG;IAC7B,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAA;CAC5D,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAA;IAChB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACxC,kDAAkD;IAClD,UAAU,CAAC,EAAE,SAAS,CAAC,KAAK,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,SAAS,CAAA;IACvE,qCAAqC;IACrC,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,SAAS,CAAA;CACpE,CAAA"}
1
+ {"version":3,"file":"Exact.d.ts","sourceRoot":"","sources":["../../../src/x402/client/Exact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAGtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA2D/F;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,KAAK,UAAU,GAAG;QAChB,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAClD,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC9B,CAAA;CACF;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG;IAC7B,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAA;CAC5D,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAA;IAChB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACxC,kDAAkD;IAClD,UAAU,CAAC,EAAE,SAAS,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAA;IACnD,qCAAqC;IACrC,MAAM,CAAC,EAAE,SAAS,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAA;CAChD,CAAA"}
@@ -81,11 +81,11 @@ function assertPolicy(parameters, accepted) {
81
81
  if (parameters.networks && !parameters.networks.includes(chainId))
82
82
  throw new Error(`x402 exact chain ID is not allowed: ${chainId}.`);
83
83
  const currencies = parameters.currencies ?? parameters.assets;
84
- if (currencies?.some((currency) => !Assets.isAsset(currency)) && !parameters.networks?.length)
84
+ if (currencies?.some((currency) => Assets.isRawAddress(currency)) && !parameters.networks?.length)
85
85
  throw new Error('x402 exact raw currency allowlists require networks.');
86
86
  if (currencies) {
87
87
  const acceptedCurrency = getAddress(accepted.asset);
88
- const allowed = currencies.some((currency) => currencyMatches(currency, acceptedCurrency, accepted.network));
88
+ const allowed = currencies.some((currency) => Assets.matches(currency, acceptedCurrency, accepted.network));
89
89
  if (!allowed)
90
90
  throw new Error(`x402 exact currency is not allowed: ${acceptedCurrency}.`);
91
91
  }
@@ -100,20 +100,13 @@ function assertPolicy(parameters, accepted) {
100
100
  throw new Error('x402 exact amount exceeds maxAmount.');
101
101
  }
102
102
  }
103
- function addressOf(currency) {
104
- return Assets.isAsset(currency) ? currency.address : currency;
105
- }
106
- function currencyMatches(currency, acceptedCurrency, network) {
107
- if (getAddress(addressOf(currency)) !== acceptedCurrency)
108
- return false;
109
- return !Assets.isAsset(currency) || currency.network === network;
110
- }
111
103
  function decimalsOfAcceptedCurrency(parameters, accepted) {
112
104
  const currencies = parameters.currencies ?? parameters.assets;
113
105
  const acceptedCurrency = getAddress(accepted.asset);
114
- const currency = currencies?.find((currency) => currencyMatches(currency, acceptedCurrency, accepted.network));
115
- if (currency && Assets.isAsset(currency))
116
- return currency.decimals;
106
+ const currency = currencies?.find((currency) => Assets.matches(currency, acceptedCurrency, accepted.network));
107
+ const resolved = currency ? Assets.resolve(currency, accepted.network) : undefined;
108
+ if (resolved?.decimals !== undefined)
109
+ return resolved.decimals;
117
110
  return parameters.decimals;
118
111
  }
119
112
  function withNonceSalt(extensions) {
@@ -1 +1 @@
1
- {"version":3,"file":"Exact.js","sourceRoot":"","sources":["../../../src/x402/client/Exact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAG7C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAC3D,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAuC;IAC5E,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAW,CAAA;IACpF,IAAI,CAAC,OAAO,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAEvF,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,OAA6B,CAAA;IAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACrD,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI;QAChD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACpD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,EAAE,mBAAmB,IAAI,SAAS,CAAA;IACvE,IAAI,cAAc,KAAK,SAAS;QAC9B,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAAA;IAEzF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;IACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ;QACzD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IAEzE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACzC,MAAM,aAAa,GAA+C;QAChE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;QACjC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;YACxB,QAAQ;YACR,UAAU;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QACF,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9B,UAAU,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE;QAClC,WAAW,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;QAC1D,KAAK,EAAE,QAAQ,CAAC,MAAM;KACvB,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;QAC5C,MAAM,EAAE;YACN,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YACpC,IAAI;YACJ,iBAAiB,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7C,OAAO;SACR;QACD,OAAO,EAAE;YACP,GAAG,aAAa;YAChB,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;YAC5C,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;SAC/C;QACD,WAAW,EAAE,2BAA2B;QACxC,KAAK,EAAE,kBAAkB;KAC1B,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,sBAAsB,CAAC;QACnC,QAAQ;QACR,UAAU;QACV,OAAO,EAAE;YACP,aAAa;YACb,SAAS;SACV;QACD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,WAAW,EAAE,CAAC;KACf,CAAC,CAAA;AACJ,CAAC;AAmCD,MAAM,kBAAkB,GAAG;IACzB,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,CAAA;AAEV,SAAS,SAAS,CAAC,OAAyB;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE,QAAmC;IAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC3C,IAAI,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,GAAG,CAAC,CAAA;IAEpE,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAA;IAC7D,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;QAC3F,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAsB,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC3C,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAC9D,CAAA;QACD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,gBAAgB,GAAG,CAAC,CAAA;IAC3F,CAAC;IAED,IACE,UAAU,CAAC,eAAe,KAAK,SAAS;QACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC;QAE5D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAE/D,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACjE,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAC/F,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,QAA2C;IAC5D,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC/D,CAAC;AAED,SAAS,eAAe,CACtB,QAA2C,EAC3C,gBAA+B,EAC/B,OAAyB;IAEzB,IAAI,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,gBAAgB;QAAE,OAAO,KAAK,CAAA;IACtE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAA;AAClE,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAkB,EAClB,QAAmC;IAEnC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,CAAA;IAC7D,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAsB,CAAC,CAAA;IACpE,MAAM,QAAQ,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7C,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAC9D,CAAA;IACD,IAAI,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAA;IAClE,OAAO,UAAU,CAAC,QAAQ,CAAA;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,UAA4B;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,UAAU,CAAA;IAC5B,OAAO;QACL,GAAG,UAAU;QACb,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,IAAI,EAAE;gBACJ,GAAG,IAAI,CAAC,IAAI;gBACZ,KAAK,EAAE,eAAe,EAAE;aACzB;SACF;KACF,CAAA;AACH,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAChC,IAAI,CAAC,MAAM,EAAE,eAAe;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IACvF,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjF,CAAC"}
1
+ {"version":3,"file":"Exact.js","sourceRoot":"","sources":["../../../src/x402/client/Exact.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mppx",
3
3
  "type": "module",
4
- "version": "0.8.4",
4
+ "version": "0.8.6",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/wevm/mppx#readme",
@@ -30,6 +30,42 @@ describe('from', () => {
30
30
  }),
31
31
  ).toThrow()
32
32
  })
33
+
34
+ test('behavior: preserves method-specific extension fields', () => {
35
+ const receipt = Receipt.from({
36
+ method: 'nearintents',
37
+ reference: 'FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz',
38
+ status: 'success',
39
+ timestamp: '2025-01-21T12:00:00.000Z',
40
+ challengeId: 'qB3wErTyU7iOpAsD9fGhJk',
41
+ originTxHash: '0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a',
42
+ destinationNetwork: 'near:mainnet',
43
+ })
44
+
45
+ expect(receipt).toMatchInlineSnapshot(`
46
+ {
47
+ "challengeId": "qB3wErTyU7iOpAsD9fGhJk",
48
+ "destinationNetwork": "near:mainnet",
49
+ "method": "nearintents",
50
+ "originTxHash": "0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a",
51
+ "reference": "FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz",
52
+ "status": "success",
53
+ "timestamp": "2025-01-21T12:00:00.000Z",
54
+ }
55
+ `)
56
+ })
57
+
58
+ test('error: rejects invalid base field even with extension fields present', () => {
59
+ expect(() =>
60
+ Receipt.from({
61
+ method: 'nearintents',
62
+ reference: 'FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz',
63
+ status: 'failed' as 'success',
64
+ timestamp: '2025-01-21T12:00:00.000Z',
65
+ originTxHash: '0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a',
66
+ }),
67
+ ).toThrow()
68
+ })
33
69
  })
34
70
 
35
71
  describe('serialize', () => {
@@ -67,6 +103,23 @@ describe('deserialize', () => {
67
103
  })
68
104
  })
69
105
 
106
+ describe('serialize + deserialize', () => {
107
+ test('behavior: round-trips method-specific extension fields', () => {
108
+ const receipt = Receipt.from({
109
+ method: 'nearintents',
110
+ reference: 'FtChYxxQh1k6vKjQ9wq5q1f8s2n3p4r5t6u7v8w9x0yz',
111
+ status: 'success',
112
+ timestamp: '2025-01-21T12:00:00.000Z',
113
+ externalId: 'order_12345',
114
+ challengeId: 'qB3wErTyU7iOpAsD9fGhJk',
115
+ originTxHash: '0x9bcff372aee89b648c922b850573b22387c31d693079f5e37cd255814e2d615a',
116
+ destinationNetwork: 'near:mainnet',
117
+ })
118
+
119
+ expect(Receipt.deserialize(Receipt.serialize(receipt))).toEqual(receipt)
120
+ })
121
+ })
122
+
70
123
  describe('fromResponse', () => {
71
124
  test('behavior: extracts receipt from Payment-Receipt header', () => {
72
125
  const encoded =