@piprail/sdk 1.21.1 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -22,7 +22,8 @@
22
22
 
23
23
 
24
24
 
25
- var _chunkPA6YD3HLcjs = require('./chunk-PA6YD3HL.cjs');
25
+
26
+ var _chunkU35MG4TFcjs = require('./chunk-U35MG4TF.cjs');
26
27
 
27
28
  // src/drivers/registry.ts
28
29
  var byFamily = /* @__PURE__ */ new Map();
@@ -51,13 +52,13 @@ function resolveNetwork(opts) {
51
52
  const family = familyForChain(opts.chain);
52
53
  const driver = byFamily.get(family);
53
54
  if (!driver) {
54
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedNetworkError)(
55
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedNetworkError)(
55
56
  `No driver registered for the "${family}" family \u2014 it may not be mounted yet (use the async resolveNetwork()).`
56
57
  );
57
58
  }
58
59
  const net = driver.resolve(opts);
59
60
  if (!net) {
60
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedNetworkError)(
61
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedNetworkError)(
61
62
  `The ${family} driver didn't recognise this chain input.`
62
63
  );
63
64
  }
@@ -326,12 +327,12 @@ function createWalletAdapter(config, resolved) {
326
327
  }
327
328
  const wc = config.walletClient;
328
329
  if (!wc.account) {
329
- throw new (0, _chunkPA6YD3HLcjs.WrongFamilyError)(
330
+ throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
330
331
  "chain is EVM; the provided walletClient has no attached account. Use `createWalletClient({ account, chain, transport })`, or pass { privateKey }."
331
332
  );
332
333
  }
333
334
  if (wc.chain && wc.chain.id !== resolved.chainId) {
334
- throw new (0, _chunkPA6YD3HLcjs.WrongChainError)(
335
+ throw new (0, _chunkU35MG4TFcjs.WrongChainError)(
335
336
  `PipRailClient: walletClient is on chain ${wc.chain.id} but the SDK was configured with chain ${resolved.chainId}. They must match.`
336
337
  );
337
338
  }
@@ -662,7 +663,7 @@ async function payExactEvm(input) {
662
663
  code = void 0;
663
664
  }
664
665
  if (code && code !== "0x") {
665
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedSchemeError)(
666
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
666
667
  `exact buyer rail requires an EOA signer; ${account.address} is a contract / EIP-1271 / EIP-7702-delegated account (no recoverable ECDSA signature). Pay via onchain-proof.`
667
668
  );
668
669
  }
@@ -672,13 +673,13 @@ async function payExactEvm(input) {
672
673
  domain = await readExactDomain(publicClient, accept.asset);
673
674
  }
674
675
  if (!domain) {
675
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedSchemeError)(
676
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
676
677
  `exact: couldn't derive the EIP-712 domain for ${accept.asset} on ${accept.network}. Either it isn't an EIP-3009 token (USDT needs Permit2; native/plain ERC-20 aren't exact-payable) \u2014 pay via onchain-proof \u2014 OR your RPC couldn't read it (transient): if the gate advertised eip3009, pass a reliable rpcUrl and retry.`
677
678
  );
678
679
  }
679
680
  const g = globalThis.crypto;
680
681
  if (!_optionalChain([g, 'optionalAccess', _5 => _5.getRandomValues])) {
681
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedSchemeError)(
682
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
682
683
  "this runtime lacks Web Crypto (globalThis.crypto.getRandomValues); the exact rail needs a CSPRNG nonce."
683
684
  );
684
685
  }
@@ -935,7 +936,7 @@ async function verifyAndSettleExactEvm(input) {
935
936
  args: writeArgs
936
937
  });
937
938
  } catch (err) {
938
- throw new (0, _chunkPA6YD3HLcjs.SettlementError)(
939
+ throw new (0, _chunkU35MG4TFcjs.SettlementError)(
939
940
  `exact settle: the merchant relayer failed to broadcast transferWithAuthorization (${shorten(err instanceof Error ? err.message : String(err))}). The payer's authorization is still valid and unused \u2014 fund/fix the relayer and the payer can retry.`,
940
941
  { cause: err }
941
942
  );
@@ -947,7 +948,7 @@ async function verifyAndSettleExactEvm(input) {
947
948
  return { ok: false, error: "tx_reverted", detail: `Settlement tx ${txHash} reverted on-chain.` };
948
949
  }
949
950
  } catch (err) {
950
- throw new (0, _chunkPA6YD3HLcjs.SettlementError)(
951
+ throw new (0, _chunkU35MG4TFcjs.SettlementError)(
951
952
  `exact settle: broadcast ${txHash} but couldn't confirm it (${shorten(err instanceof Error ? err.message : String(err))}).`,
952
953
  { cause: err }
953
954
  );
@@ -1080,7 +1081,7 @@ function shorten2(msg) {
1080
1081
  function randomPermit2Nonce() {
1081
1082
  const g = globalThis.crypto;
1082
1083
  if (!_optionalChain([g, 'optionalAccess', _8 => _8.getRandomValues])) {
1083
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedSchemeError)(
1084
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
1084
1085
  "this runtime lacks Web Crypto (globalThis.crypto.getRandomValues); the permit2 rail needs a CSPRNG nonce."
1085
1086
  );
1086
1087
  }
@@ -1099,7 +1100,7 @@ async function ensurePermit2Allowance(input) {
1099
1100
  args: [account.address, PERMIT2_ADDRESS]
1100
1101
  });
1101
1102
  } catch (err) {
1102
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedSchemeError)(
1103
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
1103
1104
  `permit2: couldn't read the Permit2 allowance for ${token} (${shorten2(err instanceof Error ? err.message : String(err))}).`
1104
1105
  );
1105
1106
  }
@@ -1116,7 +1117,7 @@ async function ensurePermit2Allowance(input) {
1116
1117
  await publicClient.waitForTransactionReceipt({ hash, confirmations: 1 });
1117
1118
  return hash;
1118
1119
  } catch (err) {
1119
- throw _nullishCoalesce(_chunkPA6YD3HLcjs.toInsufficientFundsError.call(void 0, err), () => ( new (0, _chunkPA6YD3HLcjs.SettlementError)(
1120
+ throw _nullishCoalesce(_chunkU35MG4TFcjs.toInsufficientFundsError.call(void 0, err), () => ( new (0, _chunkU35MG4TFcjs.SettlementError)(
1120
1121
  `permit2: the one-time Permit2 approval for ${token} failed to broadcast (${shorten2(err instanceof Error ? err.message : String(err))}).`,
1121
1122
  { cause: err }
1122
1123
  )));
@@ -1131,7 +1132,7 @@ async function payPermit2Evm(input) {
1131
1132
  code = void 0;
1132
1133
  }
1133
1134
  if (code && code !== "0x") {
1134
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedSchemeError)(
1135
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
1135
1136
  `permit2 buyer rail requires an EOA signer; ${account.address} is a contract / EIP-1271 / EIP-7702-delegated account. Pay via onchain-proof.`
1136
1137
  );
1137
1138
  }
@@ -1306,7 +1307,7 @@ async function verifyAndSettlePermit2Evm(input) {
1306
1307
  args: settleArgs
1307
1308
  });
1308
1309
  } catch (err) {
1309
- throw new (0, _chunkPA6YD3HLcjs.SettlementError)(
1310
+ throw new (0, _chunkU35MG4TFcjs.SettlementError)(
1310
1311
  `permit2 settle: the merchant relayer failed to broadcast the proxy settle (${shorten2(err instanceof Error ? err.message : String(err))}). The payer's signature is still valid and its nonce unused \u2014 fund/fix the relayer and the payer can retry.`,
1311
1312
  { cause: err }
1312
1313
  );
@@ -1318,7 +1319,7 @@ async function verifyAndSettlePermit2Evm(input) {
1318
1319
  return { ok: false, error: "tx_reverted", detail: `Settlement tx ${txHash} reverted on-chain.` };
1319
1320
  }
1320
1321
  } catch (err) {
1321
- throw new (0, _chunkPA6YD3HLcjs.SettlementError)(
1322
+ throw new (0, _chunkU35MG4TFcjs.SettlementError)(
1322
1323
  `permit2 settle: broadcast ${txHash} but couldn't confirm it (${shorten2(err instanceof Error ? err.message : String(err))}).`,
1323
1324
  { cause: err }
1324
1325
  );
@@ -1551,15 +1552,15 @@ function makeEvmNetwork(resolved) {
1551
1552
  const info = resolved.tokens[token.toUpperCase()];
1552
1553
  if (!info) {
1553
1554
  const known = Object.keys(resolved.tokens).join(", ") || "(none built in)";
1554
- throw new (0, _chunkPA6YD3HLcjs.UnknownTokenError)(
1555
+ throw new (0, _chunkU35MG4TFcjs.UnknownTokenError)(
1555
1556
  `token "${token}" isn't built in for ${resolved.chain.name} (known: ${known}). Pass { address, decimals } instead, or use 'native'.`
1556
1557
  );
1557
1558
  }
1558
1559
  return { asset: info.address, decimals: info.decimals, symbol: info.symbol };
1559
1560
  }
1560
- _chunkPA6YD3HLcjs.rejectForeignToken.call(void 0, token, "evm", network);
1561
+ _chunkU35MG4TFcjs.rejectForeignToken.call(void 0, token, "evm", network);
1561
1562
  if (!("address" in token)) {
1562
- throw new (0, _chunkPA6YD3HLcjs.WrongFamilyError)(
1563
+ throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
1563
1564
  `chain ${network} is EVM; a custom token must be { address, decimals }.`
1564
1565
  );
1565
1566
  }
@@ -1591,14 +1592,14 @@ function makeEvmNetwork(resolved) {
1591
1592
  },
1592
1593
  assertValidPayTo(payTo) {
1593
1594
  if (!_viem.isAddress.call(void 0, payTo)) {
1594
- throw new (0, _chunkPA6YD3HLcjs.WrongFamilyError)(
1595
+ throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
1595
1596
  `chain ${network} is EVM, but payTo "${payTo}" is not a valid 0x address.`
1596
1597
  );
1597
1598
  }
1598
1599
  },
1599
1600
  bindWallet(wallet) {
1600
1601
  if (typeof wallet !== "object" || wallet === null || !("privateKey" in wallet) && !("walletClient" in wallet)) {
1601
- throw new (0, _chunkPA6YD3HLcjs.WrongFamilyError)(
1602
+ throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
1602
1603
  `chain ${network} is EVM; wallet must be { privateKey } or { walletClient }.`
1603
1604
  );
1604
1605
  }
@@ -1615,12 +1616,12 @@ function makeEvmNetwork(resolved) {
1615
1616
  });
1616
1617
  } catch (err) {
1617
1618
  if (isViemInsufficientFunds(err)) {
1618
- throw new (0, _chunkPA6YD3HLcjs.InsufficientFundsError)(
1619
+ throw new (0, _chunkU35MG4TFcjs.InsufficientFundsError)(
1619
1620
  err instanceof Error ? err.message : "Insufficient funds for payment.",
1620
1621
  { cause: err }
1621
1622
  );
1622
1623
  }
1623
- throw _nullishCoalesce(_chunkPA6YD3HLcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
1624
+ throw _nullishCoalesce(_chunkU35MG4TFcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
1624
1625
  }
1625
1626
  },
1626
1627
  async confirm(ref, minConfirmations) {
@@ -1631,7 +1632,7 @@ function makeEvmNetwork(resolved) {
1631
1632
  });
1632
1633
  return { height: receipt.blockNumber.toString() };
1633
1634
  } catch (err) {
1634
- throw new (0, _chunkPA6YD3HLcjs.ConfirmationTimeoutError)(
1635
+ throw new (0, _chunkU35MG4TFcjs.ConfirmationTimeoutError)(
1635
1636
  `EVM tx ${ref} did not reach ${minConfirmations} confirmation(s) in time.`,
1636
1637
  { cause: err }
1637
1638
  );
@@ -1641,7 +1642,7 @@ function makeEvmNetwork(resolved) {
1641
1642
  const { decimals, symbol } = resolved.chain.nativeCurrency;
1642
1643
  if (accept.scheme === "exact") {
1643
1644
  const permit2 = accept.extra.assetTransferMethod === "permit2";
1644
- return _chunkPA6YD3HLcjs.nativeCost.call(void 0, {
1645
+ return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
1645
1646
  symbol,
1646
1647
  decimals,
1647
1648
  fee: 0n,
@@ -1652,7 +1653,7 @@ function makeEvmNetwork(resolved) {
1652
1653
  const gasLimit = accept.asset === "native" ? 21000n : 65000n;
1653
1654
  try {
1654
1655
  const gasPrice = await publicClient.getGasPrice();
1655
- return _chunkPA6YD3HLcjs.nativeCost.call(void 0, {
1656
+ return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
1656
1657
  symbol,
1657
1658
  decimals,
1658
1659
  fee: gasPrice * gasLimit,
@@ -1661,7 +1662,7 @@ function makeEvmNetwork(resolved) {
1661
1662
  });
1662
1663
  } catch (e20) {
1663
1664
  const gasPrice = 5000000000n;
1664
- return _chunkPA6YD3HLcjs.nativeCost.call(void 0, {
1665
+ return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
1665
1666
  symbol,
1666
1667
  decimals,
1667
1668
  fee: gasPrice * gasLimit,
@@ -1795,9 +1796,9 @@ var loaders = {
1795
1796
  solana: async () => {
1796
1797
  let mod;
1797
1798
  try {
1798
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./solana-WG7RGDSI.cjs")));
1799
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./solana-UEMHFQH5.cjs")));
1799
1800
  } catch (cause) {
1800
- throw new (0, _chunkPA6YD3HLcjs.MissingDriverError)(
1801
+ throw new (0, _chunkU35MG4TFcjs.MissingDriverError)(
1801
1802
  `Solana selected, but its packages aren't installed. Run: npm install @solana/web3.js @solana/spl-token bs58`,
1802
1803
  { cause }
1803
1804
  );
@@ -1807,9 +1808,9 @@ var loaders = {
1807
1808
  ton: async () => {
1808
1809
  let mod;
1809
1810
  try {
1810
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./ton-RNEFN25G.cjs")));
1811
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./ton-RAYJFKJC.cjs")));
1811
1812
  } catch (cause) {
1812
- throw new (0, _chunkPA6YD3HLcjs.MissingDriverError)(
1813
+ throw new (0, _chunkU35MG4TFcjs.MissingDriverError)(
1813
1814
  `TON selected, but its packages aren't installed. Run: npm install @ton/ton @ton/core @ton/crypto`,
1814
1815
  { cause }
1815
1816
  );
@@ -1819,9 +1820,9 @@ var loaders = {
1819
1820
  stellar: async () => {
1820
1821
  let mod;
1821
1822
  try {
1822
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./stellar-XHLLNHQP.cjs")));
1823
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./stellar-SCRRPCEA.cjs")));
1823
1824
  } catch (cause) {
1824
- throw new (0, _chunkPA6YD3HLcjs.MissingDriverError)(
1825
+ throw new (0, _chunkU35MG4TFcjs.MissingDriverError)(
1825
1826
  `Stellar selected, but its package isn't installed. Run: npm install @stellar/stellar-sdk`,
1826
1827
  { cause }
1827
1828
  );
@@ -1831,9 +1832,9 @@ var loaders = {
1831
1832
  xrpl: async () => {
1832
1833
  let mod;
1833
1834
  try {
1834
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./xrpl-XN2NBNGI.cjs")));
1835
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./xrpl-GXUFDXHU.cjs")));
1835
1836
  } catch (cause) {
1836
- throw new (0, _chunkPA6YD3HLcjs.MissingDriverError)(
1837
+ throw new (0, _chunkU35MG4TFcjs.MissingDriverError)(
1837
1838
  `XRPL selected, but its package isn't installed. Run: npm install xrpl`,
1838
1839
  { cause }
1839
1840
  );
@@ -1843,9 +1844,9 @@ var loaders = {
1843
1844
  tron: async () => {
1844
1845
  let mod;
1845
1846
  try {
1846
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./tron-TKJHNFGM.cjs")));
1847
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./tron-KX4VWS7V.cjs")));
1847
1848
  } catch (cause) {
1848
- throw new (0, _chunkPA6YD3HLcjs.MissingDriverError)(
1849
+ throw new (0, _chunkU35MG4TFcjs.MissingDriverError)(
1849
1850
  `Tron selected, but its package isn't installed. Run: npm install tronweb`,
1850
1851
  { cause }
1851
1852
  );
@@ -1855,9 +1856,9 @@ var loaders = {
1855
1856
  sui: async () => {
1856
1857
  let mod;
1857
1858
  try {
1858
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./sui-6CVLEXLA.cjs")));
1859
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./sui-LFT65OGU.cjs")));
1859
1860
  } catch (cause) {
1860
- throw new (0, _chunkPA6YD3HLcjs.MissingDriverError)(
1861
+ throw new (0, _chunkU35MG4TFcjs.MissingDriverError)(
1861
1862
  `Sui selected, but its package isn't installed. Run: npm install @mysten/sui`,
1862
1863
  { cause }
1863
1864
  );
@@ -1867,9 +1868,9 @@ var loaders = {
1867
1868
  near: async () => {
1868
1869
  let mod;
1869
1870
  try {
1870
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./near-ZJLZE26R.cjs")));
1871
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./near-MG256A3E.cjs")));
1871
1872
  } catch (cause) {
1872
- throw new (0, _chunkPA6YD3HLcjs.MissingDriverError)(
1873
+ throw new (0, _chunkU35MG4TFcjs.MissingDriverError)(
1873
1874
  `NEAR selected, but its package isn't installed. Run: npm install near-api-js`,
1874
1875
  { cause }
1875
1876
  );
@@ -1879,9 +1880,9 @@ var loaders = {
1879
1880
  aptos: async () => {
1880
1881
  let mod;
1881
1882
  try {
1882
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./aptos-GJGIZHNI.cjs")));
1883
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./aptos-XIIHPAOO.cjs")));
1883
1884
  } catch (cause) {
1884
- throw new (0, _chunkPA6YD3HLcjs.MissingDriverError)(
1885
+ throw new (0, _chunkU35MG4TFcjs.MissingDriverError)(
1885
1886
  `Aptos selected, but its package isn't installed. Run: npm install @aptos-labs/ts-sdk`,
1886
1887
  { cause }
1887
1888
  );
@@ -1891,9 +1892,9 @@ var loaders = {
1891
1892
  algorand: async () => {
1892
1893
  let mod;
1893
1894
  try {
1894
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./algorand-EJ3S2V7E.cjs")));
1895
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./algorand-ZJ53VCTN.cjs")));
1895
1896
  } catch (cause) {
1896
- throw new (0, _chunkPA6YD3HLcjs.MissingDriverError)(
1897
+ throw new (0, _chunkU35MG4TFcjs.MissingDriverError)(
1897
1898
  `Algorand selected, but its package isn't installed. Run: npm install algosdk`,
1898
1899
  { cause }
1899
1900
  );
@@ -2440,7 +2441,7 @@ function evaluatePolicy(intent, policy, spentForAssetBase, ctx) {
2440
2441
  }
2441
2442
  }
2442
2443
  if (policy.maxAmount !== void 0) {
2443
- const cap = _chunkPA6YD3HLcjs.floorUnits.call(void 0, policy.maxAmount, intent.decimals);
2444
+ const cap = _chunkU35MG4TFcjs.floorUnits.call(void 0, policy.maxAmount, intent.decimals);
2444
2445
  if (intent.amountBase > cap) {
2445
2446
  return deny(
2446
2447
  "MAX_AMOUNT",
@@ -2449,7 +2450,7 @@ function evaluatePolicy(intent, policy, spentForAssetBase, ctx) {
2449
2450
  }
2450
2451
  }
2451
2452
  if (policy.maxTotal !== void 0) {
2452
- const cap = _chunkPA6YD3HLcjs.floorUnits.call(void 0, policy.maxTotal, intent.decimals);
2453
+ const cap = _chunkU35MG4TFcjs.floorUnits.call(void 0, policy.maxTotal, intent.decimals);
2453
2454
  if (spentForAssetBase + intent.amountBase > cap) {
2454
2455
  return deny(
2455
2456
  "MAX_TOTAL",
@@ -2458,7 +2459,7 @@ function evaluatePolicy(intent, policy, spentForAssetBase, ctx) {
2458
2459
  }
2459
2460
  }
2460
2461
  if (ctx && policy.windowTotal !== void 0 && policy.windowSeconds !== void 0) {
2461
- const cap = _chunkPA6YD3HLcjs.floorUnits.call(void 0, policy.windowTotal, intent.decimals);
2462
+ const cap = _chunkU35MG4TFcjs.floorUnits.call(void 0, policy.windowTotal, intent.decimals);
2462
2463
  if (ctx.spentInWindowBase + intent.amountBase > cap) {
2463
2464
  return deny(
2464
2465
  "WINDOW_TOTAL",
@@ -2547,7 +2548,7 @@ var SpendLedger = (_class = class {constructor() { _class.prototype.__init.call(
2547
2548
  symbol: b.symbol,
2548
2549
  decimals: b.decimals,
2549
2550
  totalBase: b.total.toString(),
2550
- totalFormatted: _chunkPA6YD3HLcjs.formatUnits.call(void 0, b.total, b.decimals),
2551
+ totalFormatted: _chunkU35MG4TFcjs.formatUnits.call(void 0, b.total, b.decimals),
2551
2552
  count: b.count
2552
2553
  })),
2553
2554
  records: [...this.records]
@@ -2626,7 +2627,7 @@ var PipRailClient = (_class2 = class {
2626
2627
  chain: this.opts.chain,
2627
2628
  rpcUrl: this.opts.rpcUrl
2628
2629
  });
2629
- const wallet = net.bindWallet(this.opts.wallet);
2630
+ const wallet = this.opts.wallet !== void 0 ? net.bindWallet(this.opts.wallet) : void 0;
2630
2631
  return { net, wallet };
2631
2632
  })();
2632
2633
  }
@@ -2743,13 +2744,13 @@ var PipRailClient = (_class2 = class {
2743
2744
  spentBase: b.totalBase.toString()
2744
2745
  };
2745
2746
  if (maxTotal === void 0) return base2;
2746
- const capBase = _chunkPA6YD3HLcjs.floorUnits.call(void 0, maxTotal, b.decimals);
2747
+ const capBase = _chunkU35MG4TFcjs.floorUnits.call(void 0, maxTotal, b.decimals);
2747
2748
  const remainingBase = capBase > b.totalBase ? capBase - b.totalBase : 0n;
2748
2749
  return {
2749
2750
  ...base2,
2750
2751
  capBase: capBase.toString(),
2751
2752
  remainingBase: remainingBase.toString(),
2752
- remainingFormatted: _chunkPA6YD3HLcjs.formatUnits.call(void 0, remainingBase, b.decimals)
2753
+ remainingFormatted: _chunkU35MG4TFcjs.formatUnits.call(void 0, remainingBase, b.decimals)
2753
2754
  };
2754
2755
  });
2755
2756
  }
@@ -2789,9 +2790,14 @@ var PipRailClient = (_class2 = class {
2789
2790
  if (res.status !== 402) return null;
2790
2791
  const challenge = await parseChallenge(res);
2791
2792
  if (!challenge) {
2792
- throw new (0, _chunkPA6YD3HLcjs.InvalidEnvelopeError)("402 response did not include a parseable x402 challenge.");
2793
+ throw new (0, _chunkU35MG4TFcjs.InvalidEnvelopeError)("402 response did not include a parseable x402 challenge.");
2793
2794
  }
2794
2795
  const { net, wallet } = await this.ensure();
2796
+ if (!wallet) {
2797
+ throw new (0, _chunkU35MG4TFcjs.WalletRequiredError)(
2798
+ "planPayment needs a wallet (it checks YOUR balance, gas, and recipient-readiness). This client is read-only \u2014 construct it with a `wallet` to plan or pay."
2799
+ );
2800
+ }
2795
2801
  return this.planFromChallenge(net, wallet, challenge, url, this.resolveSchemes());
2796
2802
  }
2797
2803
  /**
@@ -2943,6 +2949,7 @@ var PipRailClient = (_class2 = class {
2943
2949
  */
2944
2950
  async discoverySigner() {
2945
2951
  const { net, wallet } = await this.ensure();
2952
+ if (!wallet) return null;
2946
2953
  return net.discoverySigner ? net.discoverySigner(wallet) : null;
2947
2954
  }
2948
2955
  /**
@@ -2955,7 +2962,7 @@ var PipRailClient = (_class2 = class {
2955
2962
  async fetch(url, init) {
2956
2963
  const body = _optionalChain([init, 'optionalAccess', _41 => _41.body]);
2957
2964
  if (body !== void 0 && body !== null && !isReplayableBodyInit(body)) {
2958
- throw new (0, _chunkPA6YD3HLcjs.NonReplayableBodyError)(
2965
+ throw new (0, _chunkU35MG4TFcjs.NonReplayableBodyError)(
2959
2966
  "fetch(): init.body is not replayable. Pass a string, FormData, URLSearchParams, ArrayBuffer, or Blob \u2014 not a ReadableStream."
2960
2967
  );
2961
2968
  }
@@ -2964,13 +2971,18 @@ var PipRailClient = (_class2 = class {
2964
2971
  const schemes = this.resolveSchemes(_optionalChain([init, 'optionalAccess', _42 => _42.schemes]));
2965
2972
  const resolved = await this.resolveChallenge(url, firstResponse, schemes);
2966
2973
  const { net, wallet, challenge } = resolved;
2974
+ if (!wallet) {
2975
+ throw new (0, _chunkU35MG4TFcjs.WalletRequiredError)(
2976
+ "Paying a 402 needs a wallet to sign + settle. This client is read-only \u2014 construct it with a `wallet` to pay (quote/discover/register still work without one)."
2977
+ );
2978
+ }
2967
2979
  let accept = resolved.accept;
2968
2980
  let quote = resolved.quote;
2969
2981
  const autoRoute = _nullishCoalesce(_nullishCoalesce(_optionalChain([init, 'optionalAccess', _43 => _43.autoRoute]), () => ( this.opts.autoRoute)), () => ( false));
2970
2982
  if (autoRoute) {
2971
2983
  const plan = await this.planFromChallenge(net, wallet, challenge, url, schemes);
2972
2984
  if (!plan.best) {
2973
- throw new (0, _chunkPA6YD3HLcjs.PaymentDeclinedError)(_nullishCoalesce(plan.fundingHint, () => ( "No rail is settleable for this payment.")));
2985
+ throw new (0, _chunkU35MG4TFcjs.PaymentDeclinedError)(_nullishCoalesce(plan.fundingHint, () => ( "No rail is settleable for this payment.")));
2974
2986
  }
2975
2987
  accept = plan.best.accept;
2976
2988
  quote = plan.best.quote;
@@ -2994,7 +3006,7 @@ var PipRailClient = (_class2 = class {
2994
3006
  async resolveChallenge(url, response, schemes) {
2995
3007
  const challenge = await parseChallenge(response);
2996
3008
  if (!challenge) {
2997
- throw new (0, _chunkPA6YD3HLcjs.InvalidEnvelopeError)(
3009
+ throw new (0, _chunkU35MG4TFcjs.InvalidEnvelopeError)(
2998
3010
  "402 response did not include a parseable x402 challenge."
2999
3011
  );
3000
3012
  }
@@ -3005,7 +3017,7 @@ var PipRailClient = (_class2 = class {
3005
3017
  (a) => a.scheme === "exact" && net.supports(a.network)
3006
3018
  );
3007
3019
  if (schemes.includes("exact") && exactOnNet && typeof net.payExact !== "function") {
3008
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedSchemeError)(
3020
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
3009
3021
  `This 402 offers a standard 'exact' rail on ${net.network}, but the ${net.family} family can't pay 'exact' (supported on EVM + Solana today), and no 'onchain-proof' rail was offered.`
3010
3022
  );
3011
3023
  }
@@ -3014,13 +3026,13 @@ var PipRailClient = (_class2 = class {
3014
3026
  (a) => a.scheme === "exact" && net.supports(a.network) && net.describeAsset(a.asset) != null
3015
3027
  );
3016
3028
  if (payable) {
3017
- throw new (0, _chunkPA6YD3HLcjs.NoCompatibleAcceptError)(
3029
+ throw new (0, _chunkU35MG4TFcjs.NoCompatibleAcceptError)(
3018
3030
  `This 402 is payable only via the standard 'exact' rail on ${net.network}, which is OFF by default. Enable it: new PipRailClient({ \u2026, schemes: ['onchain-proof', 'exact'] }) or per call fetch(url, { schemes: ['exact'] }) (MCP: PIPRAIL_SCHEMES=onchain-proof,exact).`
3019
3031
  );
3020
3032
  }
3021
3033
  }
3022
3034
  const networks = [...new Set(challenge.accepts.map((a) => a.network))].join(", ");
3023
- throw new (0, _chunkPA6YD3HLcjs.NoCompatibleAcceptError)(
3035
+ throw new (0, _chunkU35MG4TFcjs.NoCompatibleAcceptError)(
3024
3036
  `No accepts[] entry payable by this client on ${net.network} (schemes: ${schemes.join(", ")}; challenge offered: ${networks || "none"}).`
3025
3037
  );
3026
3038
  }
@@ -3122,21 +3134,21 @@ var PipRailClient = (_class2 = class {
3122
3134
  if (isExact) {
3123
3135
  if (tokenKnown && bal.token < amount) {
3124
3136
  blockers.push("INSUFFICIENT_TOKEN");
3125
- shortfall.token = _chunkPA6YD3HLcjs.formatUnits.call(void 0, amount - bal.token, quote.decimals);
3137
+ shortfall.token = _chunkU35MG4TFcjs.formatUnits.call(void 0, amount - bal.token, quote.decimals);
3126
3138
  }
3127
3139
  } else if (isNative) {
3128
3140
  if (nativeKnown && bal.native < amount + fee) {
3129
3141
  blockers.push("INSUFFICIENT_TOKEN");
3130
- shortfall.token = _chunkPA6YD3HLcjs.formatUnits.call(void 0, amount + fee - bal.native, quote.decimals);
3142
+ shortfall.token = _chunkU35MG4TFcjs.formatUnits.call(void 0, amount + fee - bal.native, quote.decimals);
3131
3143
  }
3132
3144
  } else {
3133
3145
  if (tokenKnown && bal.token < amount) {
3134
3146
  blockers.push("INSUFFICIENT_TOKEN");
3135
- shortfall.token = _chunkPA6YD3HLcjs.formatUnits.call(void 0, amount - bal.token, quote.decimals);
3147
+ shortfall.token = _chunkU35MG4TFcjs.formatUnits.call(void 0, amount - bal.token, quote.decimals);
3136
3148
  }
3137
3149
  if (nativeKnown && bal.native < fee) {
3138
3150
  blockers.push("INSUFFICIENT_GAS");
3139
- shortfall.native = _chunkPA6YD3HLcjs.formatUnits.call(void 0, fee - bal.native, cost.feeDecimals);
3151
+ shortfall.native = _chunkU35MG4TFcjs.formatUnits.call(void 0, fee - bal.native, cost.feeDecimals);
3140
3152
  } else if (nativeKnown && fee > 0n && bal.native < fee * 3n / 2n) {
3141
3153
  warnings.push("THIN_GAS_MARGIN");
3142
3154
  }
@@ -3161,8 +3173,8 @@ var PipRailClient = (_class2 = class {
3161
3173
  blockers,
3162
3174
  warnings,
3163
3175
  balance: {
3164
- token: bal.token != null ? _chunkPA6YD3HLcjs.formatUnits.call(void 0, bal.token, quote.decimals) : null,
3165
- native: bal.native != null ? _chunkPA6YD3HLcjs.formatUnits.call(void 0, bal.native, cost.feeDecimals) : null
3176
+ token: bal.token != null ? _chunkU35MG4TFcjs.formatUnits.call(void 0, bal.token, quote.decimals) : null,
3177
+ native: bal.native != null ? _chunkU35MG4TFcjs.formatUnits.call(void 0, bal.native, cost.feeDecimals) : null
3166
3178
  },
3167
3179
  need: { token: quote.amountFormatted, native: cost.feeFormatted },
3168
3180
  ...shortfall.token || shortfall.native ? { shortfall } : {},
@@ -3173,7 +3185,7 @@ var PipRailClient = (_class2 = class {
3173
3185
  * driver's describeAsset) + the policy verdict + a symbol-mismatch flag. */
3174
3186
  buildQuote(net, accept, url, description) {
3175
3187
  if (!/^\d+$/.test(accept.amount)) {
3176
- throw new (0, _chunkPA6YD3HLcjs.InvalidEnvelopeError)(
3188
+ throw new (0, _chunkU35MG4TFcjs.InvalidEnvelopeError)(
3177
3189
  `challenge amount "${accept.amount}" is not a base-unit integer.`
3178
3190
  );
3179
3191
  }
@@ -3181,12 +3193,12 @@ var PipRailClient = (_class2 = class {
3181
3193
  const described = net.describeAsset(accept.asset);
3182
3194
  const decimals = _nullishCoalesce(_optionalChain([described, 'optionalAccess', _44 => _44.decimals]), () => ( accept.extra.decimals));
3183
3195
  if (decimals === void 0) {
3184
- throw new (0, _chunkPA6YD3HLcjs.InvalidEnvelopeError)(
3196
+ throw new (0, _chunkU35MG4TFcjs.InvalidEnvelopeError)(
3185
3197
  `challenge for ${accept.asset} on ${accept.network} states no decimals and the SDK doesn't recognise the token \u2014 refusing to price it.`
3186
3198
  );
3187
3199
  }
3188
3200
  const symbol = _nullishCoalesce(_optionalChain([described, 'optionalAccess', _45 => _45.symbol]), () => ( accept.extra.symbol));
3189
- const amountFormatted = _chunkPA6YD3HLcjs.formatUnits.call(void 0, amountBase, decimals);
3201
+ const amountFormatted = _chunkU35MG4TFcjs.formatUnits.call(void 0, amountBase, decimals);
3190
3202
  const intent = {
3191
3203
  host: hostOf2(url),
3192
3204
  chain: this.opts.chain,
@@ -3244,7 +3256,7 @@ var PipRailClient = (_class2 = class {
3244
3256
  * TERMINAL expiry/approval decline it must not retry) without parsing prose. */
3245
3257
  async authorize(quote) {
3246
3258
  if (!quote.withinPolicy) {
3247
- throw new (0, _chunkPA6YD3HLcjs.PaymentDeclinedError)(
3259
+ throw new (0, _chunkU35MG4TFcjs.PaymentDeclinedError)(
3248
3260
  `Payment refused by policy: ${_nullishCoalesce(quote.policyReason, () => ( "not allowed"))}`,
3249
3261
  { reasonCode: reasonCodeForPolicy(quote.policyCode) }
3250
3262
  );
@@ -3255,13 +3267,13 @@ var PipRailClient = (_class2 = class {
3255
3267
  try {
3256
3268
  approved = await hook(quote);
3257
3269
  } catch (err) {
3258
- throw new (0, _chunkPA6YD3HLcjs.PaymentDeclinedError)("onBeforePay threw \u2014 refusing to pay.", {
3270
+ throw new (0, _chunkU35MG4TFcjs.PaymentDeclinedError)("onBeforePay threw \u2014 refusing to pay.", {
3259
3271
  cause: err,
3260
3272
  reasonCode: "APPROVAL"
3261
3273
  });
3262
3274
  }
3263
3275
  if (!approved) {
3264
- throw new (0, _chunkPA6YD3HLcjs.PaymentDeclinedError)(
3276
+ throw new (0, _chunkU35MG4TFcjs.PaymentDeclinedError)(
3265
3277
  `onBeforePay declined ${quote.amountFormatted} ${_nullishCoalesce(quote.symbol, () => ( ""))}`.trimEnd() + ` on ${quote.network}.`,
3266
3278
  { reasonCode: "APPROVAL" }
3267
3279
  );
@@ -3286,7 +3298,7 @@ var PipRailClient = (_class2 = class {
3286
3298
  }
3287
3299
  async payAndConfirm(net, wallet, accept) {
3288
3300
  if (!net.supports(accept.network)) {
3289
- throw new (0, _chunkPA6YD3HLcjs.WrongChainError)(
3301
+ throw new (0, _chunkU35MG4TFcjs.WrongChainError)(
3290
3302
  `Challenge expects ${accept.network} but client is on ${net.network}.`
3291
3303
  );
3292
3304
  }
@@ -3339,7 +3351,7 @@ var PipRailClient = (_class2 = class {
3339
3351
  });
3340
3352
  } catch (err) {
3341
3353
  if (timeoutController.signal.aborted) {
3342
- throw new (0, _chunkPA6YD3HLcjs.PaymentTimeoutError)(
3354
+ throw new (0, _chunkU35MG4TFcjs.PaymentTimeoutError)(
3343
3355
  `Server did not respond within ${this.retryTimeoutMs}ms after broadcasting payment ${ref}. Re-verify or re-submit ref=${ref} \u2014 do NOT re-pay.`,
3344
3356
  { cause: err, ref }
3345
3357
  );
@@ -3361,7 +3373,7 @@ var PipRailClient = (_class2 = class {
3361
3373
  kind: "payment-failed",
3362
3374
  reason: `server returned 402 after broadcasting payment ${ref}${unconfirmedNote} (${why})`
3363
3375
  });
3364
- throw new (0, _chunkPA6YD3HLcjs.MaxRetriesExceededError)(
3376
+ throw new (0, _chunkU35MG4TFcjs.MaxRetriesExceededError)(
3365
3377
  `Server still returned 402 after ${attempts} attempt(s) with on-chain proof ref=${ref}${unconfirmedNote}. Last server rejection: ${why}. Re-verify or re-submit ref=${ref} before retrying \u2014 never re-pay (it would double-spend).`,
3366
3378
  { ref }
3367
3379
  );
@@ -3385,7 +3397,7 @@ var PipRailClient = (_class2 = class {
3385
3397
  */
3386
3398
  async payExactRail(net, wallet, accept, url, init, quote) {
3387
3399
  if (!net.payExact) {
3388
- throw new (0, _chunkPA6YD3HLcjs.UnsupportedSchemeError)(
3400
+ throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
3389
3401
  `the ${net.family} family can't pay a standard 'exact' rail (supported on EVM + Solana today).`
3390
3402
  );
3391
3403
  }
@@ -3395,7 +3407,7 @@ var PipRailClient = (_class2 = class {
3395
3407
  headers.set(HEADER_SIGNATURE, buildExactSignatureHeader({ accepted, payload }));
3396
3408
  const rejectDefinitive = (why2) => {
3397
3409
  this.safeEmit({ kind: "payment-failed", reason: `exact: facilitator rejected nonce=${nonce} (${why2})` });
3398
- throw new (0, _chunkPA6YD3HLcjs.MaxRetriesExceededError)(
3410
+ throw new (0, _chunkU35MG4TFcjs.MaxRetriesExceededError)(
3399
3411
  `exact: the facilitator rejected the payment (${why2}). Fix the cause, then re-present the SAME signed authorization (nonce=${nonce}) \u2014 do NOT re-sign a fresh nonce. ref=${nonce}.`,
3400
3412
  { ref: nonce }
3401
3413
  );
@@ -3418,7 +3430,7 @@ var PipRailClient = (_class2 = class {
3418
3430
  try {
3419
3431
  response = await fetch(url, { ..._nullishCoalesce(init, () => ( {})), headers, signal });
3420
3432
  } catch (err) {
3421
- throw new (0, _chunkPA6YD3HLcjs.PaymentTimeoutError)(
3433
+ throw new (0, _chunkU35MG4TFcjs.PaymentTimeoutError)(
3422
3434
  `exact: no response after submitting the authorization (nonce=${nonce}) to ${hostOf2(url)}. The facilitator may have already settled it \u2014 verify on-chain with authorizationState(${payerFrom}, ${nonce}) before re-presenting; do NOT re-pay.`,
3423
3435
  { cause: err, ref: nonce }
3424
3436
  );
@@ -3451,7 +3463,7 @@ var PipRailClient = (_class2 = class {
3451
3463
  kind: "payment-failed",
3452
3464
  reason: `exact: 402 after submitting authorization nonce=${nonce} (${why})`
3453
3465
  });
3454
- throw new (0, _chunkPA6YD3HLcjs.MaxRetriesExceededError)(
3466
+ throw new (0, _chunkU35MG4TFcjs.MaxRetriesExceededError)(
3455
3467
  `exact: server still returned 402 after submitting the signed authorization (nonce=${nonce}). Last rejection: ${why}. Re-present the SAME authorization \u2014 do NOT re-sign a fresh nonce; verify authorizationState(${payerFrom}, ${nonce}) first. ref=${nonce}.`,
3456
3468
  { ref: nonce }
3457
3469
  );
@@ -3605,7 +3617,7 @@ function summarizePlan(plan) {
3605
3617
  return `NOT payable: ${_nullishCoalesce(plan.fundingHint, () => ( `no settleable rail on ${plan.network}`))}`;
3606
3618
  }
3607
3619
  function explainDecline(err) {
3608
- if (!(err instanceof _chunkPA6YD3HLcjs.PipRailError)) {
3620
+ if (!(err instanceof _chunkU35MG4TFcjs.PipRailError)) {
3609
3621
  return `Payment failed: ${err instanceof Error ? err.message : String(err)}`;
3610
3622
  }
3611
3623
  switch (err.code) {
@@ -3895,14 +3907,14 @@ function paymentTools(client) {
3895
3907
  receipt: parseReceipt(res)
3896
3908
  };
3897
3909
  } catch (err) {
3898
- if (err instanceof _chunkPA6YD3HLcjs.PipRailError) {
3910
+ if (err instanceof _chunkU35MG4TFcjs.PipRailError) {
3899
3911
  const out = {
3900
3912
  ok: false,
3901
3913
  code: err.code,
3902
3914
  reason: err.message,
3903
3915
  explain: explainDecline(err)
3904
3916
  };
3905
- if (err instanceof _chunkPA6YD3HLcjs.PaymentDeclinedError) {
3917
+ if (err instanceof _chunkU35MG4TFcjs.PaymentDeclinedError) {
3906
3918
  out.declined = true;
3907
3919
  if (err.reasonCode) out.reasonCode = err.reasonCode;
3908
3920
  }
@@ -4136,13 +4148,13 @@ async function settleViaFacilitator(input) {
4136
4148
  try {
4137
4149
  verify = await post(`${base2}/verify`, body, auth);
4138
4150
  } catch (err) {
4139
- throw new (0, _chunkPA6YD3HLcjs.SettlementError)(
4151
+ throw new (0, _chunkU35MG4TFcjs.SettlementError)(
4140
4152
  `exact settle (facilitator ${base2}): /verify request failed (${err instanceof Error ? err.message : String(err)}).`,
4141
4153
  { cause: err }
4142
4154
  );
4143
4155
  }
4144
4156
  if (verify.status !== 200) {
4145
- throw new (0, _chunkPA6YD3HLcjs.SettlementError)(
4157
+ throw new (0, _chunkU35MG4TFcjs.SettlementError)(
4146
4158
  `exact settle (facilitator ${base2}): /verify returned HTTP ${verify.status} (transport/auth error).`
4147
4159
  );
4148
4160
  }
@@ -4158,13 +4170,13 @@ async function settleViaFacilitator(input) {
4158
4170
  try {
4159
4171
  settle = await post(`${base2}/settle`, body, auth);
4160
4172
  } catch (err) {
4161
- throw new (0, _chunkPA6YD3HLcjs.SettlementError)(
4173
+ throw new (0, _chunkU35MG4TFcjs.SettlementError)(
4162
4174
  `exact settle (facilitator ${base2}): /settle request failed (${err instanceof Error ? err.message : String(err)}).`,
4163
4175
  { cause: err }
4164
4176
  );
4165
4177
  }
4166
4178
  if (settle.status !== 200) {
4167
- throw new (0, _chunkPA6YD3HLcjs.SettlementError)(
4179
+ throw new (0, _chunkU35MG4TFcjs.SettlementError)(
4168
4180
  `exact settle (facilitator ${base2}): /settle returned HTTP ${settle.status} (transport/auth error).`
4169
4181
  );
4170
4182
  }
@@ -4231,7 +4243,7 @@ function createPaymentGate(options) {
4231
4243
  }
4232
4244
  net.assertValidPayTo(payTo);
4233
4245
  const { asset, decimals, symbol } = net.resolveToken(a.token);
4234
- const amountBase = _chunkPA6YD3HLcjs.parseUnits.call(void 0, a.amount, decimals);
4246
+ const amountBase = _chunkU35MG4TFcjs.parseUnits.call(void 0, a.amount, decimals);
4235
4247
  const spec = { net, asset, decimals, symbol, amountBase, amountFormatted: a.amount, payTo };
4236
4248
  if (options.exact) {
4237
4249
  const outcome = await resolveExactRail(net, asset);
@@ -4404,7 +4416,7 @@ function createPaymentGate(options) {
4404
4416
  function enrichReceipt(spec, receipt) {
4405
4417
  let amountFormatted = receipt.amount;
4406
4418
  try {
4407
- amountFormatted = _chunkPA6YD3HLcjs.formatUnits.call(void 0, BigInt(receipt.amount), spec.decimals);
4419
+ amountFormatted = _chunkU35MG4TFcjs.formatUnits.call(void 0, BigInt(receipt.amount), spec.decimals);
4408
4420
  } catch (e34) {
4409
4421
  }
4410
4422
  return {
@@ -4594,7 +4606,7 @@ function requirePayment(options) {
4594
4606
  try {
4595
4607
  result = await gate.verify(_nullishCoalesce(req.headers[HEADER_SIGNATURE], () => ( req.headers[HEADER_SIGNATURE_V1])));
4596
4608
  } catch (err) {
4597
- if (err instanceof _chunkPA6YD3HLcjs.SettlementError) {
4609
+ if (err instanceof _chunkU35MG4TFcjs.SettlementError) {
4598
4610
  res.status(502);
4599
4611
  res.json({ x402Version: 2, error: "settlement_failed", detail: err.message });
4600
4612
  return;
@@ -4809,4 +4821,5 @@ async function deliverReceipt(receipt, options) {
4809
4821
 
4810
4822
 
4811
4823
 
4812
- exports.CHAINS = CHAINS; exports.ConfirmationTimeoutError = _chunkPA6YD3HLcjs.ConfirmationTimeoutError; exports.DIRECTORY_INFO = DIRECTORY_INFO; exports.EIP3009_TYPES = EIP3009_TYPES; exports.EXACT_NETWORK_SLUGS = EXACT_NETWORK_SLUGS; exports.GENERATOR = GENERATOR; exports.HEADER_REQUIRED = HEADER_REQUIRED; exports.HEADER_RESPONSE = HEADER_RESPONSE; exports.HEADER_RESPONSE_V1 = HEADER_RESPONSE_V1; exports.HEADER_SIGNATURE = HEADER_SIGNATURE; exports.HEADER_SIGNATURE_V1 = HEADER_SIGNATURE_V1; exports.InsufficientFundsError = _chunkPA6YD3HLcjs.InsufficientFundsError; exports.InvalidEnvelopeError = _chunkPA6YD3HLcjs.InvalidEnvelopeError; exports.MaxRetriesExceededError = _chunkPA6YD3HLcjs.MaxRetriesExceededError; exports.MissingDriverError = _chunkPA6YD3HLcjs.MissingDriverError; exports.NoCompatibleAcceptError = _chunkPA6YD3HLcjs.NoCompatibleAcceptError; exports.NonReplayableBodyError = _chunkPA6YD3HLcjs.NonReplayableBodyError; exports.PERMIT2_ADDRESS = PERMIT2_ADDRESS; exports.PERMIT2_PROXY_CHAIN_IDS = PERMIT2_PROXY_CHAIN_IDS; exports.PERMIT2_WITNESS_TYPES = PERMIT2_WITNESS_TYPES; exports.PIPRAIL_AGENT_GUIDE = PIPRAIL_AGENT_GUIDE; exports.PaymentDeclinedError = _chunkPA6YD3HLcjs.PaymentDeclinedError; exports.PaymentTimeoutError = _chunkPA6YD3HLcjs.PaymentTimeoutError; exports.PipRailClient = PipRailClient; exports.PipRailError = _chunkPA6YD3HLcjs.PipRailError; exports.REGISTER_ATTRIBUTION = REGISTER_ATTRIBUTION; exports.RecipientNotReadyError = _chunkPA6YD3HLcjs.RecipientNotReadyError; exports.SettlementError = _chunkPA6YD3HLcjs.SettlementError; exports.UnknownTokenError = _chunkPA6YD3HLcjs.UnknownTokenError; exports.UnsupportedNetworkError = _chunkPA6YD3HLcjs.UnsupportedNetworkError; exports.UnsupportedSchemeError = _chunkPA6YD3HLcjs.UnsupportedSchemeError; exports.WrongChainError = _chunkPA6YD3HLcjs.WrongChainError; exports.WrongFamilyError = _chunkPA6YD3HLcjs.WrongFamilyError; exports.X402_EXACT_PERMIT2_PROXY = X402_EXACT_PERMIT2_PROXY; exports.agentGuide = agentGuide; exports.appendAttribution = appendAttribution; exports.buildBazaarExtension = buildBazaarExtension; exports.buildChallengeHeader = buildChallengeHeader; exports.buildExactAuthorization = buildExactAuthorization; exports.buildExactSignatureHeader = buildExactSignatureHeader; exports.buildOpenApi = buildOpenApi; exports.buildReceiptHeader = buildReceiptHeader; exports.buildSignatureHeader = buildSignatureHeader; exports.buildWellKnownX402 = buildWellKnownX402; exports.buildX402DnsTxt = buildX402DnsTxt; exports.chainIdForExactNetwork = chainIdForExactNetwork; exports.claim402IndexDomain = claim402IndexDomain; exports.classifyChallenge = classifyChallenge; exports.createPaymentGate = createPaymentGate; exports.decorateOutcome = decorateOutcome; exports.deliverReceipt = deliverReceipt; exports.eip3009Abi = eip3009Abi; exports.encodeXPaymentHeader = encodeXPaymentHeader; exports.evaluatePolicy = evaluatePolicy; exports.explainDecline = explainDecline; exports.formatSpendReport = formatSpendReport; exports.getDirectoryInfo = getDirectoryInfo; exports.isPermit2ProxyChain = isPermit2ProxyChain; exports.normalizeNetwork = normalizeNetwork; exports.parseChallenge = parseChallenge; exports.parseExactPaymentHeader = parseExactPaymentHeader; exports.parseExactRequirements = parseExactRequirements; exports.parseReceipt = parseReceipt; exports.parseSettleResponse = parseSettleResponse; exports.parseSignatureHeader = parseSignatureHeader; exports.paymentTools = paymentTools; exports.pickAccept = pickAccept; exports.planAcross = planAcross; exports.readExactDomain = readExactDomain; exports.register402Index = register402Index; exports.registerDriver = registerDriver; exports.registerX402Scan = registerX402Scan; exports.requirePayment = requirePayment; exports.resolveChain = resolveChain; exports.searchOpenIndexes = searchOpenIndexes; exports.settleViaFacilitator = settleViaFacilitator; exports.summarizePlan = summarizePlan; exports.toInsufficientFundsError = _chunkPA6YD3HLcjs.toInsufficientFundsError; exports.toInvalidBody = toInvalidBody; exports.verify402IndexDomain = verify402IndexDomain;
4824
+
4825
+ exports.CHAINS = CHAINS; exports.ConfirmationTimeoutError = _chunkU35MG4TFcjs.ConfirmationTimeoutError; exports.DIRECTORY_INFO = DIRECTORY_INFO; exports.EIP3009_TYPES = EIP3009_TYPES; exports.EXACT_NETWORK_SLUGS = EXACT_NETWORK_SLUGS; exports.GENERATOR = GENERATOR; exports.HEADER_REQUIRED = HEADER_REQUIRED; exports.HEADER_RESPONSE = HEADER_RESPONSE; exports.HEADER_RESPONSE_V1 = HEADER_RESPONSE_V1; exports.HEADER_SIGNATURE = HEADER_SIGNATURE; exports.HEADER_SIGNATURE_V1 = HEADER_SIGNATURE_V1; exports.InsufficientFundsError = _chunkU35MG4TFcjs.InsufficientFundsError; exports.InvalidEnvelopeError = _chunkU35MG4TFcjs.InvalidEnvelopeError; exports.MaxRetriesExceededError = _chunkU35MG4TFcjs.MaxRetriesExceededError; exports.MissingDriverError = _chunkU35MG4TFcjs.MissingDriverError; exports.NoCompatibleAcceptError = _chunkU35MG4TFcjs.NoCompatibleAcceptError; exports.NonReplayableBodyError = _chunkU35MG4TFcjs.NonReplayableBodyError; exports.PERMIT2_ADDRESS = PERMIT2_ADDRESS; exports.PERMIT2_PROXY_CHAIN_IDS = PERMIT2_PROXY_CHAIN_IDS; exports.PERMIT2_WITNESS_TYPES = PERMIT2_WITNESS_TYPES; exports.PIPRAIL_AGENT_GUIDE = PIPRAIL_AGENT_GUIDE; exports.PaymentDeclinedError = _chunkU35MG4TFcjs.PaymentDeclinedError; exports.PaymentTimeoutError = _chunkU35MG4TFcjs.PaymentTimeoutError; exports.PipRailClient = PipRailClient; exports.PipRailError = _chunkU35MG4TFcjs.PipRailError; exports.REGISTER_ATTRIBUTION = REGISTER_ATTRIBUTION; exports.RecipientNotReadyError = _chunkU35MG4TFcjs.RecipientNotReadyError; exports.SettlementError = _chunkU35MG4TFcjs.SettlementError; exports.UnknownTokenError = _chunkU35MG4TFcjs.UnknownTokenError; exports.UnsupportedNetworkError = _chunkU35MG4TFcjs.UnsupportedNetworkError; exports.UnsupportedSchemeError = _chunkU35MG4TFcjs.UnsupportedSchemeError; exports.WalletRequiredError = _chunkU35MG4TFcjs.WalletRequiredError; exports.WrongChainError = _chunkU35MG4TFcjs.WrongChainError; exports.WrongFamilyError = _chunkU35MG4TFcjs.WrongFamilyError; exports.X402_EXACT_PERMIT2_PROXY = X402_EXACT_PERMIT2_PROXY; exports.agentGuide = agentGuide; exports.appendAttribution = appendAttribution; exports.buildBazaarExtension = buildBazaarExtension; exports.buildChallengeHeader = buildChallengeHeader; exports.buildExactAuthorization = buildExactAuthorization; exports.buildExactSignatureHeader = buildExactSignatureHeader; exports.buildOpenApi = buildOpenApi; exports.buildReceiptHeader = buildReceiptHeader; exports.buildSignatureHeader = buildSignatureHeader; exports.buildWellKnownX402 = buildWellKnownX402; exports.buildX402DnsTxt = buildX402DnsTxt; exports.chainIdForExactNetwork = chainIdForExactNetwork; exports.claim402IndexDomain = claim402IndexDomain; exports.classifyChallenge = classifyChallenge; exports.createPaymentGate = createPaymentGate; exports.decorateOutcome = decorateOutcome; exports.deliverReceipt = deliverReceipt; exports.eip3009Abi = eip3009Abi; exports.encodeXPaymentHeader = encodeXPaymentHeader; exports.evaluatePolicy = evaluatePolicy; exports.explainDecline = explainDecline; exports.formatSpendReport = formatSpendReport; exports.getDirectoryInfo = getDirectoryInfo; exports.isPermit2ProxyChain = isPermit2ProxyChain; exports.normalizeNetwork = normalizeNetwork; exports.parseChallenge = parseChallenge; exports.parseExactPaymentHeader = parseExactPaymentHeader; exports.parseExactRequirements = parseExactRequirements; exports.parseReceipt = parseReceipt; exports.parseSettleResponse = parseSettleResponse; exports.parseSignatureHeader = parseSignatureHeader; exports.paymentTools = paymentTools; exports.pickAccept = pickAccept; exports.planAcross = planAcross; exports.readExactDomain = readExactDomain; exports.register402Index = register402Index; exports.registerDriver = registerDriver; exports.registerX402Scan = registerX402Scan; exports.requirePayment = requirePayment; exports.resolveChain = resolveChain; exports.searchOpenIndexes = searchOpenIndexes; exports.settleViaFacilitator = settleViaFacilitator; exports.summarizePlan = summarizePlan; exports.toInsufficientFundsError = _chunkU35MG4TFcjs.toInsufficientFundsError; exports.toInvalidBody = toInvalidBody; exports.verify402IndexDomain = verify402IndexDomain;