mppx 0.8.4 → 0.8.5

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # mppx
2
2
 
3
+ ## 0.8.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 754b491: Added viem token definitions and token sets to make managing tokens simpler.
8
+
3
9
  ## 0.8.4
4
10
 
5
11
  ### Patch Changes
@@ -94,9 +94,9 @@ export declare namespace charge {
94
94
  /** Optional allowlist of supported EVM chain IDs. */
95
95
  networks?: readonly number[] | undefined;
96
96
  /** Optional allowlist of supported currencies. */
97
- currencies?: readonly (`0x${string}` | Assets.KnownAsset)[] | undefined;
97
+ currencies?: readonly Assets.Currency[] | undefined;
98
98
  /** Legacy alias for `currencies`. */
99
- assets?: readonly (`0x${string}` | Assets.KnownAsset)[] | undefined;
99
+ assets?: readonly Assets.Currency[] | undefined;
100
100
  };
101
101
  }
102
102
  //# sourceMappingURL=Charge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/evm/client/Charge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAInC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAqEnD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,MAAM,GAAG,OAAO,GAAG;QACtB,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAA;KAC5D,CAAA;IAED,KAAK,UAAU,GAAG;QAChB,mDAAmD;QACnD,OAAO,EAAE,OAAO,CAAA;QAChB,4DAA4D;QAC5D,aAAa,CAAC,EAAE,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAA;QACrD,gGAAgG;QAChG,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,yEAAyE;QACzE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,mEAAmE;QACnE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,qDAAqD;QACrD,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;QACxC,kDAAkD;QAClD,UAAU,CAAC,EAAE,SAAS,CAAC,KAAK,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,SAAS,CAAA;QACvE,qCAAqC;QACrC,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,SAAS,CAAA;KACpE,CAAA;CACF"}
1
+ {"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/evm/client/Charge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAInC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAqEnD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,MAAM,GAAG,OAAO,GAAG;QACtB,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAA;KAC5D,CAAA;IAED,KAAK,UAAU,GAAG;QAChB,mDAAmD;QACnD,OAAO,EAAE,OAAO,CAAA;QAChB,4DAA4D;QAC5D,aAAa,CAAC,EAAE,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAA;QACrD,gGAAgG;QAChG,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,yEAAyE;QACzE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,mEAAmE;QACnE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,qDAAqD;QACrD,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;QACxC,kDAAkD;QAClD,UAAU,CAAC,EAAE,SAAS,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAA;QACnD,qCAAqC;QACrC,MAAM,CAAC,EAAE,SAAS,MAAM,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAA;KAChD,CAAA;CACF"}
@@ -88,11 +88,11 @@ function assertPolicy(parameters, request) {
88
88
  if (parameters.networks && !parameters.networks.includes(chainId))
89
89
  throw new Error(`EVM chain ID is not allowed: ${chainId}.`);
90
90
  const currencies = parameters.currencies ?? parameters.assets;
91
- if (currencies?.some((currency) => !Assets.isAsset(currency)) && !parameters.networks?.length)
91
+ if (currencies?.some((currency) => Assets.isRawAddress(currency)) && !parameters.networks?.length)
92
92
  throw new Error('EVM raw currency allowlists require networks.');
93
93
  if (currencies) {
94
94
  const acceptedCurrency = getAddress(request.currency);
95
- const allowed = currencies.some((currency) => currencyMatches(currency, acceptedCurrency, network));
95
+ const allowed = currencies.some((currency) => Assets.matches(currency, acceptedCurrency, network));
96
96
  if (!allowed)
97
97
  throw new Error(`EVM currency is not allowed: ${acceptedCurrency}.`);
98
98
  }
@@ -111,31 +111,25 @@ function resolveAuthorization(parameters, request) {
111
111
  const currencies = parameters.currencies ?? parameters.assets;
112
112
  const acceptedCurrency = getAddress(request.currency);
113
113
  const network = Types.networkOf(request.methodDetails.chainId);
114
- const currency = currencies?.find((currency) => currencyMatches(currency, acceptedCurrency, network));
115
- if (currency && Assets.isAsset(currency) && currency.transfer.type === Types.eip3009)
114
+ const currency = currencies?.find((currency) => Assets.matches(currency, acceptedCurrency, network));
115
+ const resolved = currency ? Assets.resolve(currency, network) : undefined;
116
+ if (resolved?.transfer?.type === Types.eip3009)
116
117
  return {
117
- name: currency.transfer.name,
118
- version: currency.transfer.version,
118
+ name: resolved.transfer.name,
119
+ version: resolved.transfer.version,
119
120
  };
120
121
  if (parameters.authorization)
121
122
  return parameters.authorization;
122
123
  throw new Error('EVM authorization requires token name and version.');
123
124
  }
124
- function addressOf(currency) {
125
- return Assets.isAsset(currency) ? currency.address : currency;
126
- }
127
- function currencyMatches(currency, acceptedCurrency, network) {
128
- if (getAddress(addressOf(currency)) !== acceptedCurrency)
129
- return false;
130
- return !Assets.isAsset(currency) || currency.network === network;
131
- }
132
125
  function decimalsOfAcceptedCurrency(parameters, request) {
133
126
  const currencies = parameters.currencies ?? parameters.assets;
134
127
  const acceptedCurrency = getAddress(request.currency);
135
128
  const network = Types.networkOf(request.methodDetails.chainId);
136
- const currency = currencies?.find((currency) => currencyMatches(currency, acceptedCurrency, network));
137
- if (currency && Assets.isAsset(currency))
138
- return currency.decimals;
129
+ const currency = currencies?.find((currency) => Assets.matches(currency, acceptedCurrency, network));
130
+ const resolved = currency ? Assets.resolve(currency, network) : undefined;
131
+ if (resolved?.decimals !== undefined)
132
+ return resolved.decimals;
139
133
  return parameters.decimals;
140
134
  }
141
135
  //# sourceMappingURL=Charge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/evm/client/Charge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/evm/client/Charge.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,11 @@ export declare namespace charge {
15
15
  type Native = Method.Server<typeof Methods.charge, Defaults>;
16
16
  type NativeConfig = BaseConfig & CurrencyConfig & RecipientConfig;
17
17
  type BaseConfig = {
18
- /** EIP-3009 token domain metadata. Required for custom currency addresses; inferred for known assets. */
18
+ /** EIP-3009 token domain metadata. Required for raw addresses and viem tokens; inferred for known assets. */
19
19
  authorization?: Types.AuthorizationConfig | undefined;
20
- /** EVM chain ID. Required for custom currency addresses; inferred for known assets. */
20
+ /** EVM chain ID. Required for raw addresses and viem tokens; inferred for known assets. */
21
21
  chainId?: number | undefined;
22
- /** Token decimal places. Required for custom currency addresses; inferred for known assets. */
22
+ /** Token decimal places. Required for raw addresses; inferred for known assets and viem tokens. */
23
23
  decimals?: number | undefined;
24
24
  /** Custom settlement override. If omitted, `x402.facilitator` is used. */
25
25
  settle?: SettleAuthorization | undefined;
@@ -27,8 +27,8 @@ export declare namespace charge {
27
27
  x402?: X402.Options | undefined;
28
28
  };
29
29
  type CurrencyConfig = {
30
- /** Token contract address or known EVM asset metadata. */
31
- currency: `0x${string}` | Assets.KnownAsset;
30
+ /** Token contract address, known EVM asset metadata, or viem token definition. */
31
+ currency: Assets.Currency;
32
32
  };
33
33
  type RecipientConfig = {
34
34
  /** Recipient wallet address. */
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/evm/server/Charge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,UAAU,MAAM,qBAAqB,CAAA;AAEtD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC;;;;GAIG;AACH,wBAAgB,MAAM,CACpB,UAAU,EAAE,MAAM,CAAC,YAAY,GAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;AAsFxD,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,UAAU,GAAG,YAAY,CAAA;IAC9B,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE5D,KAAK,YAAY,GAAG,UAAU,GAAG,cAAc,GAAG,eAAe,CAAA;IAEjE,KAAK,UAAU,GAAG;QAChB,yGAAyG;QACzG,aAAa,CAAC,EAAE,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAA;QACrD,uFAAuF;QACvF,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,+FAA+F;QAC/F,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,0EAA0E;QAC1E,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAA;QACxC,kCAAkC;QAClC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;KAChC,CAAA;IAED,KAAK,cAAc,GAAG;QACpB,0DAA0D;QAC1D,QAAQ,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAA;KAC5C,CAAA;IAED,KAAK,eAAe,GAAG;QACrB,gCAAgC;QAChC,SAAS,EAAE,KAAK,MAAM,EAAE,CAAA;KACzB,CAAA;IAED,KAAK,YAAY,GAAG;QAClB,0CAA0C;QAC1C,MAAM,EAAE,MAAM,CAAA;QACd,mDAAmD;QACnD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,wCAAwC;QACxC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAChC,CAAA;IAED,KAAK,mBAAmB,GAAG,CAAC,UAAU,EAAE;QACtC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC7D,OAAO,EAAE,KAAK,CAAC,oBAAoB,CAAA;QACnC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAA;QAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAA;KAC1C,KAAK,OAAO,CAAC;QACZ,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC/B,CAAC,CAAA;IAEF,KAAK,QAAQ,GAAG;QACd,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;QACvB,eAAe,EAAE,CAAC,eAAe,CAAC,CAAA;QAClC,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,KAAK,MAAM,EAAE,CAAA;KACzB,CAAA;CACF"}
1
+ {"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/evm/server/Charge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,UAAU,MAAM,qBAAqB,CAAA;AAEtD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC;;;;GAIG;AACH,wBAAgB,MAAM,CACpB,UAAU,EAAE,MAAM,CAAC,YAAY,GAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;AAsFxD,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,UAAU,GAAG,YAAY,CAAA;IAC9B,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAE5D,KAAK,YAAY,GAAG,UAAU,GAAG,cAAc,GAAG,eAAe,CAAA;IAEjE,KAAK,UAAU,GAAG;QAChB,6GAA6G;QAC7G,aAAa,CAAC,EAAE,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAA;QACrD,2FAA2F;QAC3F,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,mGAAmG;QACnG,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,0EAA0E;QAC1E,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAA;QACxC,kCAAkC;QAClC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;KAChC,CAAA;IAED,KAAK,cAAc,GAAG;QACpB,kFAAkF;QAClF,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAA;KAC1B,CAAA;IAED,KAAK,eAAe,GAAG;QACrB,gCAAgC;QAChC,SAAS,EAAE,KAAK,MAAM,EAAE,CAAA;KACzB,CAAA;IAED,KAAK,YAAY,GAAG;QAClB,0CAA0C;QAC1C,MAAM,EAAE,MAAM,CAAA;QACd,mDAAmD;QACnD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,wCAAwC;QACxC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAChC,CAAA;IAED,KAAK,mBAAmB,GAAG,CAAC,UAAU,EAAE;QACtC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC7D,OAAO,EAAE,KAAK,CAAC,oBAAoB,CAAA;QACnC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAA;QAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAA;KAC1C,KAAK,OAAO,CAAC;QACZ,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC/B,CAAC,CAAA;IAEF,KAAK,QAAQ,GAAG;QACd,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;QACvB,eAAe,EAAE,CAAC,eAAe,CAAC,CAAA;QAClC,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,KAAK,MAAM,EAAE,CAAA;KACzB,CAAA;CACF"}
@@ -90,19 +90,27 @@ function resolveConfig(config) {
90
90
  let chainId = config.chainId;
91
91
  let decimals = config.decimals;
92
92
  if (Assets.isAsset(currency)) {
93
- address = currency.address;
94
- chainId ??= Number(currency.network.slice('eip155:'.length));
95
- decimals ??= currency.decimals;
96
- if (currency.transfer.type === Types.eip3009) {
93
+ chainId ??= Assets.toChainId(currency.network);
94
+ }
95
+ if (chainId !== undefined) {
96
+ const resolved = Assets.resolve(currency, Types.networkOf(chainId));
97
+ if (!resolved)
98
+ throw new Error(`EVM currency is not available on chain ID ${chainId}.`);
99
+ address = resolved.address;
100
+ decimals ??= resolved.decimals;
101
+ if (resolved.transfer?.type === Types.eip3009) {
97
102
  authorization ??= {
98
- name: currency.transfer.name,
99
- version: currency.transfer.version,
103
+ name: resolved.transfer.name,
104
+ version: resolved.transfer.version,
100
105
  };
101
106
  }
102
107
  }
103
- else {
108
+ else if (Assets.isRawAddress(currency)) {
104
109
  address = currency;
105
110
  }
111
+ else {
112
+ throw new Error('EVM authorization requires `chainId`.');
113
+ }
106
114
  if (!authorization)
107
115
  throw new Error('EVM authorization requires `authorization` metadata.');
108
116
  if (chainId === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/evm/server/Charge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/evm/server/Charge.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":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC,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,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG,KAAK,CAAA;AAE7B,iEAAiE;AACjE,MAAM,MAAM,QAAQ,GAAG,KAAK,MAAM,EAAE,GAAG,UAAU,GAAG,SAAS,CAAA;AAE7D,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,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,GAAG,UAAU,CAQxF;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,KAAK,UAAU,GAAG;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,QAAQ,CAAA;KACnB,CAAA;IAED,KAAK,QAAQ,GACT,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,EAAE,MAAM,CAAC,GAAG;QAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC1B,CAAC,GACF,OAAO,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;CAChD;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;AAED,qEAAqE;AACrE,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAM1D;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,IAAI,KAAK,MAAM,EAAE,CAE1E;AAED,qDAAqD;AACrD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAuB3F;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,MAAM,GAAG;QACZ,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;QACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;KACrC,CAAA;CACF;AAED,oFAAoF;AACpF,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,KAAK,MAAM,EAAE,EAC/B,OAAO,EAAE,UAAU,GAClB,OAAO,CAIT;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAErD;AAED,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAErD"}
@@ -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":"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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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mppx",
3
3
  "type": "module",
4
- "version": "0.8.4",
4
+ "version": "0.8.5",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/wevm/mppx#readme",
@@ -7,6 +7,7 @@ import {
7
7
  } from 'mppx/evm/client'
8
8
  import { assets as serverAssets, charge as serverCharge, evm as serverEvm } from 'mppx/evm/server'
9
9
  import type { Account } from 'viem'
10
+ import { tokens, usdc } from 'viem/tokens'
10
11
  import { describe, expectTypeOf, test } from 'vp/test'
11
12
 
12
13
  import { Mppx as ClientMppx } from '../client/index.js'
@@ -30,6 +31,12 @@ const facilitator = {
30
31
  describe('evm public interface', () => {
31
32
  test('exports EVM asset metadata from root and subpaths', () => {
32
33
  expectTypeOf(evmRoot.assets.base.USDC).toMatchTypeOf<typeof serverAssets.base.USDC>()
34
+ expectTypeOf(
35
+ evmRoot.assets.fromToken(usdc, {
36
+ chainId: clientChains.base,
37
+ transfer: { type: 'eip3009', version: '2' },
38
+ }),
39
+ ).toMatchTypeOf<typeof serverAssets.base.USDC>()
33
40
  expectTypeOf(clientAssets.baseSepolia.USDC).toMatchTypeOf<
34
41
  typeof serverAssets.baseSepolia.USDC
35
42
  >()
@@ -53,6 +60,13 @@ describe('evm public interface', () => {
53
60
 
54
61
  const mppx = ServerMppx.create({
55
62
  methods: [
63
+ serverEvm({
64
+ authorization: { name: 'USD Coin', version: '2' },
65
+ chainId: clientChains.base,
66
+ currency: usdc,
67
+ recipient,
68
+ x402: { facilitator },
69
+ }),
56
70
  serverEvm({
57
71
  currency: serverAssets.base.USDC,
58
72
  recipient,
@@ -90,9 +104,8 @@ describe('evm public interface', () => {
90
104
  methods: [
91
105
  clientEvm({
92
106
  account,
93
- currencies: [clientAssets.baseSepolia.USDC],
107
+ currencies: tokens.popular,
94
108
  maxAmount: '0.01',
95
- networks: [clientEvm.chains.baseSepolia],
96
109
  }),
97
110
  ],
98
111
  polyfill: false,