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.
- package/CHANGELOG.md +18 -0
- package/dist/Receipt.d.ts +20 -2
- package/dist/Receipt.d.ts.map +1 -1
- package/dist/Receipt.js +19 -12
- package/dist/Receipt.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +6 -4
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/plugins/tempo.d.ts.map +1 -1
- package/dist/cli/plugins/tempo.js +4 -2
- package/dist/cli/plugins/tempo.js.map +1 -1
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +6 -1
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/evm/client/Charge.d.ts +2 -2
- package/dist/evm/client/Charge.d.ts.map +1 -1
- package/dist/evm/client/Charge.js +11 -17
- package/dist/evm/client/Charge.js.map +1 -1
- package/dist/evm/server/Charge.d.ts +5 -5
- package/dist/evm/server/Charge.d.ts.map +1 -1
- package/dist/evm/server/Charge.js +15 -7
- package/dist/evm/server/Charge.js.map +1 -1
- package/dist/tempo/client/Charge.d.ts.map +1 -1
- package/dist/tempo/client/Charge.js +6 -2
- package/dist/tempo/client/Charge.js.map +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/session/precompile/Chain.d.ts +26 -2
- package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Chain.js +38 -5
- package/dist/tempo/session/precompile/Chain.js.map +1 -1
- package/dist/x402/Assets.d.ts +40 -0
- package/dist/x402/Assets.d.ts.map +1 -1
- package/dist/x402/Assets.js +73 -0
- package/dist/x402/Assets.js.map +1 -1
- package/dist/x402/client/Exact.d.ts +2 -2
- package/dist/x402/client/Exact.d.ts.map +1 -1
- package/dist/x402/client/Exact.js +6 -13
- package/dist/x402/client/Exact.js.map +1 -1
- package/package.json +1 -1
- package/src/Receipt.test.ts +53 -0
- package/src/Receipt.ts +26 -13
- package/src/cli/cli.test.ts +41 -5
- package/src/cli/cli.ts +7 -4
- package/src/cli/plugins/tempo.ts +6 -2
- package/src/client/internal/Fetch.test.ts +44 -0
- package/src/client/internal/Fetch.ts +5 -1
- package/src/evm/PublicInterface.test-d.ts +15 -2
- package/src/evm/client/Charge.test.ts +248 -0
- package/src/evm/client/Charge.ts +12 -23
- package/src/evm/server/Charge.test.ts +140 -0
- package/src/evm/server/Charge.ts +19 -12
- package/src/tempo/client/Charge.test.ts +61 -0
- package/src/tempo/client/Charge.ts +6 -1
- package/src/tempo/server/internal/html.gen.ts +1 -1
- package/src/tempo/session/precompile/Chain.test.ts +121 -2
- package/src/tempo/session/precompile/Chain.ts +56 -6
- package/src/x402/Assets.test.ts +211 -0
- package/src/x402/Assets.ts +116 -0
- package/src/x402/client/Exact.test.ts +129 -0
- 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,
|
|
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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"}
|
package/dist/x402/Assets.d.ts
CHANGED
|
@@ -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":"
|
|
1
|
+
{"version":3,"file":"Assets.d.ts","sourceRoot":"","sources":["../../src/x402/Assets.ts"],"names":[],"mappings":"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"}
|
package/dist/x402/Assets.js
CHANGED
|
@@ -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
|
package/dist/x402/Assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Assets.js","sourceRoot":"","sources":["../../src/x402/Assets.ts"],"names":[],"mappings":"
|
|
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
|
|
34
|
+
currencies?: readonly Assets.Currency[] | undefined;
|
|
35
35
|
/** Legacy alias for `currencies`. */
|
|
36
|
-
assets?: readonly
|
|
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,
|
|
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) =>
|
|
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) =>
|
|
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) =>
|
|
115
|
-
|
|
116
|
-
|
|
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":"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
|
|
1
|
+
{"version":3,"file":"Exact.js","sourceRoot":"","sources":["../../../src/x402/client/Exact.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Receipt.test.ts
CHANGED
|
@@ -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 =
|