@piprail/sdk 1.2.0 → 1.3.1

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
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- var _chunkNK64H3RMcjs = require('./chunk-NK64H3RM.cjs');
23
+ var _chunkYJPWIK5Lcjs = require('./chunk-YJPWIK5L.cjs');
24
24
 
25
25
  // src/drivers/registry.ts
26
26
  var byFamily = /* @__PURE__ */ new Map();
@@ -39,6 +39,7 @@ function familyForChain(chain) {
39
39
  if (chain.startsWith("tron")) return "tron";
40
40
  if (chain.startsWith("sui")) return "sui";
41
41
  if (chain.startsWith("near")) return "near";
42
+ if (chain.startsWith("aptos")) return "aptos";
42
43
  return "evm";
43
44
  }
44
45
  return "evm";
@@ -47,13 +48,13 @@ function resolveNetwork(opts) {
47
48
  const family = familyForChain(opts.chain);
48
49
  const driver = byFamily.get(family);
49
50
  if (!driver) {
50
- throw new (0, _chunkNK64H3RMcjs.UnsupportedNetworkError)(
51
+ throw new (0, _chunkYJPWIK5Lcjs.UnsupportedNetworkError)(
51
52
  `No driver registered for the "${family}" family \u2014 it may not be mounted yet (use the async resolveNetwork()).`
52
53
  );
53
54
  }
54
55
  const net = driver.resolve(opts);
55
56
  if (!net) {
56
- throw new (0, _chunkNK64H3RMcjs.UnsupportedNetworkError)(
57
+ throw new (0, _chunkYJPWIK5Lcjs.UnsupportedNetworkError)(
57
58
  `The ${family} driver didn't recognise this chain input.`
58
59
  );
59
60
  }
@@ -297,12 +298,12 @@ function createWalletAdapter(config, resolved) {
297
298
  }
298
299
  const wc = config.walletClient;
299
300
  if (!wc.account) {
300
- throw new (0, _chunkNK64H3RMcjs.WrongFamilyError)(
301
+ throw new (0, _chunkYJPWIK5Lcjs.WrongFamilyError)(
301
302
  "chain is EVM; the provided walletClient has no attached account. Use `createWalletClient({ account, chain, transport })`, or pass { privateKey }."
302
303
  );
303
304
  }
304
305
  if (wc.chain && wc.chain.id !== resolved.chainId) {
305
- throw new (0, _chunkNK64H3RMcjs.WrongChainError)(
306
+ throw new (0, _chunkYJPWIK5Lcjs.WrongChainError)(
306
307
  `PipRailClient: walletClient is on chain ${wc.chain.id} but the SDK was configured with chain ${resolved.chainId}. They must match.`
307
308
  );
308
309
  }
@@ -605,15 +606,15 @@ function makeEvmNetwork(resolved) {
605
606
  const info = resolved.tokens[token.toUpperCase()];
606
607
  if (!info) {
607
608
  const known = Object.keys(resolved.tokens).join(", ") || "(none built in)";
608
- throw new (0, _chunkNK64H3RMcjs.UnknownTokenError)(
609
+ throw new (0, _chunkYJPWIK5Lcjs.UnknownTokenError)(
609
610
  `token "${token}" isn't built in for ${resolved.chain.name} (known: ${known}). Pass { address, decimals } instead, or use 'native'.`
610
611
  );
611
612
  }
612
613
  return { asset: info.address, decimals: info.decimals, symbol: info.symbol };
613
614
  }
614
- _chunkNK64H3RMcjs.rejectForeignToken.call(void 0, token, "evm", network);
615
+ _chunkYJPWIK5Lcjs.rejectForeignToken.call(void 0, token, "evm", network);
615
616
  if (!("address" in token)) {
616
- throw new (0, _chunkNK64H3RMcjs.WrongFamilyError)(
617
+ throw new (0, _chunkYJPWIK5Lcjs.WrongFamilyError)(
617
618
  `chain ${network} is EVM; a custom token must be { address, decimals }.`
618
619
  );
619
620
  }
@@ -645,14 +646,14 @@ function makeEvmNetwork(resolved) {
645
646
  },
646
647
  assertValidPayTo(payTo) {
647
648
  if (!_viem.isAddress.call(void 0, payTo)) {
648
- throw new (0, _chunkNK64H3RMcjs.WrongFamilyError)(
649
+ throw new (0, _chunkYJPWIK5Lcjs.WrongFamilyError)(
649
650
  `chain ${network} is EVM, but payTo "${payTo}" is not a valid 0x address.`
650
651
  );
651
652
  }
652
653
  },
653
654
  bindWallet(wallet) {
654
655
  if (typeof wallet !== "object" || wallet === null || !("privateKey" in wallet) && !("walletClient" in wallet)) {
655
- throw new (0, _chunkNK64H3RMcjs.WrongFamilyError)(
656
+ throw new (0, _chunkYJPWIK5Lcjs.WrongFamilyError)(
656
657
  `chain ${network} is EVM; wallet must be { privateKey } or { walletClient }.`
657
658
  );
658
659
  }
@@ -669,12 +670,12 @@ function makeEvmNetwork(resolved) {
669
670
  });
670
671
  } catch (err) {
671
672
  if (isViemInsufficientFunds(err)) {
672
- throw new (0, _chunkNK64H3RMcjs.InsufficientFundsError)(
673
+ throw new (0, _chunkYJPWIK5Lcjs.InsufficientFundsError)(
673
674
  err instanceof Error ? err.message : "Insufficient funds for payment.",
674
675
  { cause: err }
675
676
  );
676
677
  }
677
- throw _nullishCoalesce(_chunkNK64H3RMcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
678
+ throw _nullishCoalesce(_chunkYJPWIK5Lcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
678
679
  }
679
680
  },
680
681
  async confirm(ref, minConfirmations) {
@@ -685,7 +686,7 @@ function makeEvmNetwork(resolved) {
685
686
  });
686
687
  return { height: receipt.blockNumber.toString() };
687
688
  } catch (err) {
688
- throw new (0, _chunkNK64H3RMcjs.ConfirmationTimeoutError)(
689
+ throw new (0, _chunkYJPWIK5Lcjs.ConfirmationTimeoutError)(
689
690
  `EVM tx ${ref} did not reach ${minConfirmations} confirmation(s) in time.`,
690
691
  { cause: err }
691
692
  );
@@ -696,7 +697,7 @@ function makeEvmNetwork(resolved) {
696
697
  const gasLimit = accept.asset === "native" ? 21000n : 65000n;
697
698
  try {
698
699
  const gasPrice = await publicClient.getGasPrice();
699
- return _chunkNK64H3RMcjs.nativeCost.call(void 0, {
700
+ return _chunkYJPWIK5Lcjs.nativeCost.call(void 0, {
700
701
  symbol,
701
702
  decimals,
702
703
  fee: gasPrice * gasLimit,
@@ -705,7 +706,7 @@ function makeEvmNetwork(resolved) {
705
706
  });
706
707
  } catch (e10) {
707
708
  const gasPrice = 5000000000n;
708
- return _chunkNK64H3RMcjs.nativeCost.call(void 0, {
709
+ return _chunkYJPWIK5Lcjs.nativeCost.call(void 0, {
709
710
  symbol,
710
711
  decimals,
711
712
  fee: gasPrice * gasLimit,
@@ -737,9 +738,9 @@ var loaders = {
737
738
  solana: async () => {
738
739
  let mod;
739
740
  try {
740
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./solana-CRLWAM7C.cjs")));
741
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./solana-RJPNEFSN.cjs")));
741
742
  } catch (cause) {
742
- throw new (0, _chunkNK64H3RMcjs.MissingDriverError)(
743
+ throw new (0, _chunkYJPWIK5Lcjs.MissingDriverError)(
743
744
  `Solana selected, but its packages aren't installed. Run: npm install @solana/web3.js @solana/spl-token bs58`,
744
745
  { cause }
745
746
  );
@@ -749,9 +750,9 @@ var loaders = {
749
750
  ton: async () => {
750
751
  let mod;
751
752
  try {
752
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./ton-OVSQZ4OM.cjs")));
753
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./ton-C4KTFXDL.cjs")));
753
754
  } catch (cause) {
754
- throw new (0, _chunkNK64H3RMcjs.MissingDriverError)(
755
+ throw new (0, _chunkYJPWIK5Lcjs.MissingDriverError)(
755
756
  `TON selected, but its packages aren't installed. Run: npm install @ton/ton @ton/core @ton/crypto`,
756
757
  { cause }
757
758
  );
@@ -761,9 +762,9 @@ var loaders = {
761
762
  stellar: async () => {
762
763
  let mod;
763
764
  try {
764
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./stellar-LIGJKRRK.cjs")));
765
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./stellar-SUGNX52Z.cjs")));
765
766
  } catch (cause) {
766
- throw new (0, _chunkNK64H3RMcjs.MissingDriverError)(
767
+ throw new (0, _chunkYJPWIK5Lcjs.MissingDriverError)(
767
768
  `Stellar selected, but its package isn't installed. Run: npm install @stellar/stellar-sdk`,
768
769
  { cause }
769
770
  );
@@ -773,9 +774,9 @@ var loaders = {
773
774
  xrpl: async () => {
774
775
  let mod;
775
776
  try {
776
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./xrpl-QECPQCFS.cjs")));
777
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./xrpl-N6ZAJRGC.cjs")));
777
778
  } catch (cause) {
778
- throw new (0, _chunkNK64H3RMcjs.MissingDriverError)(
779
+ throw new (0, _chunkYJPWIK5Lcjs.MissingDriverError)(
779
780
  `XRPL selected, but its package isn't installed. Run: npm install xrpl`,
780
781
  { cause }
781
782
  );
@@ -785,9 +786,9 @@ var loaders = {
785
786
  tron: async () => {
786
787
  let mod;
787
788
  try {
788
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./tron-V3A6L3X3.cjs")));
789
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./tron-DTU7NPEM.cjs")));
789
790
  } catch (cause) {
790
- throw new (0, _chunkNK64H3RMcjs.MissingDriverError)(
791
+ throw new (0, _chunkYJPWIK5Lcjs.MissingDriverError)(
791
792
  `Tron selected, but its package isn't installed. Run: npm install tronweb`,
792
793
  { cause }
793
794
  );
@@ -797,9 +798,9 @@ var loaders = {
797
798
  sui: async () => {
798
799
  let mod;
799
800
  try {
800
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./sui-JLVWFDOS.cjs")));
801
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./sui-HZWPHVU4.cjs")));
801
802
  } catch (cause) {
802
- throw new (0, _chunkNK64H3RMcjs.MissingDriverError)(
803
+ throw new (0, _chunkYJPWIK5Lcjs.MissingDriverError)(
803
804
  `Sui selected, but its package isn't installed. Run: npm install @mysten/sui`,
804
805
  { cause }
805
806
  );
@@ -809,14 +810,26 @@ var loaders = {
809
810
  near: async () => {
810
811
  let mod;
811
812
  try {
812
- mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./near-VZ6XGVNJ.cjs")));
813
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./near-DISWUB7Y.cjs")));
813
814
  } catch (cause) {
814
- throw new (0, _chunkNK64H3RMcjs.MissingDriverError)(
815
+ throw new (0, _chunkYJPWIK5Lcjs.MissingDriverError)(
815
816
  `NEAR selected, but its package isn't installed. Run: npm install near-api-js`,
816
817
  { cause }
817
818
  );
818
819
  }
819
820
  registerDriver(mod.nearDriver);
821
+ },
822
+ aptos: async () => {
823
+ let mod;
824
+ try {
825
+ mod = await Promise.resolve().then(() => _interopRequireWildcard(require("./aptos-MKZ5MAGL.cjs")));
826
+ } catch (cause) {
827
+ throw new (0, _chunkYJPWIK5Lcjs.MissingDriverError)(
828
+ `Aptos selected, but its package isn't installed. Run: npm install @aptos-labs/ts-sdk`,
829
+ { cause }
830
+ );
831
+ }
832
+ registerDriver(mod.aptosDriver);
820
833
  }
821
834
  };
822
835
  var inFlight = /* @__PURE__ */ new Map();
@@ -883,7 +896,7 @@ function evaluatePolicy(intent, policy, spentForAssetBase) {
883
896
  }
884
897
  }
885
898
  if (policy.maxAmount !== void 0) {
886
- const cap = _chunkNK64H3RMcjs.floorUnits.call(void 0, policy.maxAmount, intent.decimals);
899
+ const cap = _chunkYJPWIK5Lcjs.floorUnits.call(void 0, policy.maxAmount, intent.decimals);
887
900
  if (intent.amountBase > cap) {
888
901
  return deny(
889
902
  `payment of ${intent.amountBase} base units exceeds policy.maxAmount ` + `(${policy.maxAmount} ${_nullishCoalesce(intent.symbol, () => ( ""))}).`.trimEnd()
@@ -891,7 +904,7 @@ function evaluatePolicy(intent, policy, spentForAssetBase) {
891
904
  }
892
905
  }
893
906
  if (policy.maxTotal !== void 0) {
894
- const cap = _chunkNK64H3RMcjs.floorUnits.call(void 0, policy.maxTotal, intent.decimals);
907
+ const cap = _chunkYJPWIK5Lcjs.floorUnits.call(void 0, policy.maxTotal, intent.decimals);
895
908
  if (spentForAssetBase + intent.amountBase > cap) {
896
909
  return deny(
897
910
  `this payment would push spend on ${_nullishCoalesce(intent.symbol, () => ( intent.asset))} past policy.maxTotal (${policy.maxTotal}); already spent ${spentForAssetBase} base units.`
@@ -941,7 +954,7 @@ var SpendLedger = (_class = class {constructor() { _class.prototype.__init.call(
941
954
  symbol: b.symbol,
942
955
  decimals: b.decimals,
943
956
  totalBase: b.total.toString(),
944
- totalFormatted: _chunkNK64H3RMcjs.formatUnits.call(void 0, b.total, b.decimals),
957
+ totalFormatted: _chunkYJPWIK5Lcjs.formatUnits.call(void 0, b.total, b.decimals),
945
958
  count: b.count
946
959
  })),
947
960
  records: [...this.records]
@@ -1068,7 +1081,7 @@ var PipRailClient = (_class2 = class {
1068
1081
  async fetch(url, init) {
1069
1082
  const body = _optionalChain([init, 'optionalAccess', _9 => _9.body]);
1070
1083
  if (body !== void 0 && body !== null && !isReplayableBodyInit(body)) {
1071
- throw new (0, _chunkNK64H3RMcjs.NonReplayableBodyError)(
1084
+ throw new (0, _chunkYJPWIK5Lcjs.NonReplayableBodyError)(
1072
1085
  "fetch(): init.body is not replayable. Pass a string, FormData, URLSearchParams, ArrayBuffer, or Blob \u2014 not a ReadableStream."
1073
1086
  );
1074
1087
  }
@@ -1094,7 +1107,7 @@ var PipRailClient = (_class2 = class {
1094
1107
  async resolveChallenge(url, response) {
1095
1108
  const challenge = await parseChallenge(response);
1096
1109
  if (!challenge) {
1097
- throw new (0, _chunkNK64H3RMcjs.InvalidEnvelopeError)(
1110
+ throw new (0, _chunkYJPWIK5Lcjs.InvalidEnvelopeError)(
1098
1111
  "402 response did not include a parseable x402 challenge."
1099
1112
  );
1100
1113
  }
@@ -1104,7 +1117,7 @@ var PipRailClient = (_class2 = class {
1104
1117
  );
1105
1118
  if (candidates.length === 0) {
1106
1119
  const networks = challenge.accepts.map((a) => a.network).join(", ");
1107
- throw new (0, _chunkNK64H3RMcjs.NoCompatibleAcceptError)(
1120
+ throw new (0, _chunkYJPWIK5Lcjs.NoCompatibleAcceptError)(
1108
1121
  `No accepts[] entry for ${net.network} (challenge offered: ${networks || "none"}).`
1109
1122
  );
1110
1123
  }
@@ -1119,7 +1132,7 @@ var PipRailClient = (_class2 = class {
1119
1132
  * driver's describeAsset) + the policy verdict + a symbol-mismatch flag. */
1120
1133
  buildQuote(net, accept, url, description) {
1121
1134
  if (!/^\d+$/.test(accept.amount)) {
1122
- throw new (0, _chunkNK64H3RMcjs.InvalidEnvelopeError)(
1135
+ throw new (0, _chunkYJPWIK5Lcjs.InvalidEnvelopeError)(
1123
1136
  `challenge amount "${accept.amount}" is not a base-unit integer.`
1124
1137
  );
1125
1138
  }
@@ -1127,7 +1140,7 @@ var PipRailClient = (_class2 = class {
1127
1140
  const described = net.describeAsset(accept.asset);
1128
1141
  const decimals = _nullishCoalesce(_optionalChain([described, 'optionalAccess', _10 => _10.decimals]), () => ( accept.extra.decimals));
1129
1142
  const symbol = _nullishCoalesce(_optionalChain([described, 'optionalAccess', _11 => _11.symbol]), () => ( accept.extra.symbol));
1130
- const amountFormatted = _chunkNK64H3RMcjs.formatUnits.call(void 0, amountBase, decimals);
1143
+ const amountFormatted = _chunkYJPWIK5Lcjs.formatUnits.call(void 0, amountBase, decimals);
1131
1144
  const intent = {
1132
1145
  host: hostOf(url),
1133
1146
  chain: this.opts.chain,
@@ -1167,7 +1180,7 @@ var PipRailClient = (_class2 = class {
1167
1180
  * throwing PaymentDeclinedError, before any funds move. */
1168
1181
  async authorize(quote) {
1169
1182
  if (!quote.withinPolicy) {
1170
- throw new (0, _chunkNK64H3RMcjs.PaymentDeclinedError)(
1183
+ throw new (0, _chunkYJPWIK5Lcjs.PaymentDeclinedError)(
1171
1184
  `Payment refused by policy: ${_nullishCoalesce(quote.policyReason, () => ( "not allowed"))}`
1172
1185
  );
1173
1186
  }
@@ -1177,12 +1190,12 @@ var PipRailClient = (_class2 = class {
1177
1190
  try {
1178
1191
  approved = await hook(quote);
1179
1192
  } catch (err) {
1180
- throw new (0, _chunkNK64H3RMcjs.PaymentDeclinedError)("onBeforePay threw \u2014 refusing to pay.", {
1193
+ throw new (0, _chunkYJPWIK5Lcjs.PaymentDeclinedError)("onBeforePay threw \u2014 refusing to pay.", {
1181
1194
  cause: err
1182
1195
  });
1183
1196
  }
1184
1197
  if (!approved) {
1185
- throw new (0, _chunkNK64H3RMcjs.PaymentDeclinedError)(
1198
+ throw new (0, _chunkYJPWIK5Lcjs.PaymentDeclinedError)(
1186
1199
  `onBeforePay declined ${quote.amountFormatted} ${_nullishCoalesce(quote.symbol, () => ( ""))}`.trimEnd() + ` on ${quote.network}.`
1187
1200
  );
1188
1201
  }
@@ -1206,7 +1219,7 @@ var PipRailClient = (_class2 = class {
1206
1219
  }
1207
1220
  async payAndConfirm(net, wallet, accept) {
1208
1221
  if (!net.supports(accept.network)) {
1209
- throw new (0, _chunkNK64H3RMcjs.WrongChainError)(
1222
+ throw new (0, _chunkYJPWIK5Lcjs.WrongChainError)(
1210
1223
  `Challenge expects ${accept.network} but client is on ${net.network}.`
1211
1224
  );
1212
1225
  }
@@ -1259,7 +1272,7 @@ var PipRailClient = (_class2 = class {
1259
1272
  });
1260
1273
  } catch (err) {
1261
1274
  if (timeoutController.signal.aborted) {
1262
- throw new (0, _chunkNK64H3RMcjs.PaymentTimeoutError)(
1275
+ throw new (0, _chunkYJPWIK5Lcjs.PaymentTimeoutError)(
1263
1276
  `Server did not respond within ${this.retryTimeoutMs}ms after broadcasting payment ${ref}. Re-verify or re-submit ref=${ref} \u2014 do NOT re-pay.`,
1264
1277
  { cause: err, ref }
1265
1278
  );
@@ -1281,7 +1294,7 @@ var PipRailClient = (_class2 = class {
1281
1294
  kind: "payment-failed",
1282
1295
  reason: `server returned 402 after broadcasting payment ${ref}${unconfirmedNote} (${why})`
1283
1296
  });
1284
- throw new (0, _chunkNK64H3RMcjs.MaxRetriesExceededError)(
1297
+ throw new (0, _chunkYJPWIK5Lcjs.MaxRetriesExceededError)(
1285
1298
  `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).`,
1286
1299
  { ref }
1287
1300
  );
@@ -1389,7 +1402,7 @@ function paymentTools(client) {
1389
1402
  receipt: parseReceipt(res)
1390
1403
  };
1391
1404
  } catch (err) {
1392
- if (err instanceof _chunkNK64H3RMcjs.PaymentDeclinedError) {
1405
+ if (err instanceof _chunkYJPWIK5Lcjs.PaymentDeclinedError) {
1393
1406
  return { declined: true, reason: err.message };
1394
1407
  }
1395
1408
  throw err;
@@ -1438,7 +1451,7 @@ function createPaymentGate(options) {
1438
1451
  }
1439
1452
  net.assertValidPayTo(payTo);
1440
1453
  const { asset, decimals, symbol } = net.resolveToken(a.token);
1441
- const amountBase = _chunkNK64H3RMcjs.parseUnits.call(void 0, a.amount, decimals);
1454
+ const amountBase = _chunkYJPWIK5Lcjs.parseUnits.call(void 0, a.amount, decimals);
1442
1455
  return { net, asset, decimals, symbol, amountBase, amountFormatted: a.amount, payTo };
1443
1456
  })
1444
1457
  );
@@ -1717,4 +1730,4 @@ function encodeXPaymentHeader(input) {
1717
1730
 
1718
1731
 
1719
1732
 
1720
- exports.CHAINS = CHAINS; exports.ConfirmationTimeoutError = _chunkNK64H3RMcjs.ConfirmationTimeoutError; exports.EIP3009_TYPES = EIP3009_TYPES; exports.EXACT_NETWORK_SLUGS = EXACT_NETWORK_SLUGS; exports.InsufficientFundsError = _chunkNK64H3RMcjs.InsufficientFundsError; exports.InvalidEnvelopeError = _chunkNK64H3RMcjs.InvalidEnvelopeError; exports.MaxRetriesExceededError = _chunkNK64H3RMcjs.MaxRetriesExceededError; exports.MissingDriverError = _chunkNK64H3RMcjs.MissingDriverError; exports.NoCompatibleAcceptError = _chunkNK64H3RMcjs.NoCompatibleAcceptError; exports.NonReplayableBodyError = _chunkNK64H3RMcjs.NonReplayableBodyError; exports.PaymentDeclinedError = _chunkNK64H3RMcjs.PaymentDeclinedError; exports.PaymentTimeoutError = _chunkNK64H3RMcjs.PaymentTimeoutError; exports.PipRailClient = PipRailClient; exports.PipRailError = _chunkNK64H3RMcjs.PipRailError; exports.RecipientNotReadyError = _chunkNK64H3RMcjs.RecipientNotReadyError; exports.UnknownTokenError = _chunkNK64H3RMcjs.UnknownTokenError; exports.UnsupportedNetworkError = _chunkNK64H3RMcjs.UnsupportedNetworkError; exports.WrongChainError = _chunkNK64H3RMcjs.WrongChainError; exports.WrongFamilyError = _chunkNK64H3RMcjs.WrongFamilyError; exports.buildChallengeHeader = buildChallengeHeader; exports.buildExactAuthorization = buildExactAuthorization; exports.buildReceiptHeader = buildReceiptHeader; exports.buildSignatureHeader = buildSignatureHeader; exports.chainIdForExactNetwork = chainIdForExactNetwork; exports.createPaymentGate = createPaymentGate; exports.encodeXPaymentHeader = encodeXPaymentHeader; exports.evaluatePolicy = evaluatePolicy; exports.parseChallenge = parseChallenge; exports.parseExactRequirements = parseExactRequirements; exports.parseReceipt = parseReceipt; exports.parseSignatureHeader = parseSignatureHeader; exports.paymentTools = paymentTools; exports.pickAccept = pickAccept; exports.registerDriver = registerDriver; exports.requirePayment = requirePayment; exports.resolveChain = resolveChain; exports.toInsufficientFundsError = _chunkNK64H3RMcjs.toInsufficientFundsError; exports.toInvalidBody = toInvalidBody;
1733
+ exports.CHAINS = CHAINS; exports.ConfirmationTimeoutError = _chunkYJPWIK5Lcjs.ConfirmationTimeoutError; exports.EIP3009_TYPES = EIP3009_TYPES; exports.EXACT_NETWORK_SLUGS = EXACT_NETWORK_SLUGS; exports.InsufficientFundsError = _chunkYJPWIK5Lcjs.InsufficientFundsError; exports.InvalidEnvelopeError = _chunkYJPWIK5Lcjs.InvalidEnvelopeError; exports.MaxRetriesExceededError = _chunkYJPWIK5Lcjs.MaxRetriesExceededError; exports.MissingDriverError = _chunkYJPWIK5Lcjs.MissingDriverError; exports.NoCompatibleAcceptError = _chunkYJPWIK5Lcjs.NoCompatibleAcceptError; exports.NonReplayableBodyError = _chunkYJPWIK5Lcjs.NonReplayableBodyError; exports.PaymentDeclinedError = _chunkYJPWIK5Lcjs.PaymentDeclinedError; exports.PaymentTimeoutError = _chunkYJPWIK5Lcjs.PaymentTimeoutError; exports.PipRailClient = PipRailClient; exports.PipRailError = _chunkYJPWIK5Lcjs.PipRailError; exports.RecipientNotReadyError = _chunkYJPWIK5Lcjs.RecipientNotReadyError; exports.UnknownTokenError = _chunkYJPWIK5Lcjs.UnknownTokenError; exports.UnsupportedNetworkError = _chunkYJPWIK5Lcjs.UnsupportedNetworkError; exports.WrongChainError = _chunkYJPWIK5Lcjs.WrongChainError; exports.WrongFamilyError = _chunkYJPWIK5Lcjs.WrongFamilyError; exports.buildChallengeHeader = buildChallengeHeader; exports.buildExactAuthorization = buildExactAuthorization; exports.buildReceiptHeader = buildReceiptHeader; exports.buildSignatureHeader = buildSignatureHeader; exports.chainIdForExactNetwork = chainIdForExactNetwork; exports.createPaymentGate = createPaymentGate; exports.encodeXPaymentHeader = encodeXPaymentHeader; exports.evaluatePolicy = evaluatePolicy; exports.parseChallenge = parseChallenge; exports.parseExactRequirements = parseExactRequirements; exports.parseReceipt = parseReceipt; exports.parseSignatureHeader = parseSignatureHeader; exports.paymentTools = paymentTools; exports.pickAccept = pickAccept; exports.registerDriver = registerDriver; exports.requirePayment = requirePayment; exports.resolveChain = resolveChain; exports.toInsufficientFundsError = _chunkYJPWIK5Lcjs.toInsufficientFundsError; exports.toInvalidBody = toInvalidBody;
package/dist/index.d.cts CHANGED
@@ -3777,9 +3777,9 @@ declare function resolveChain(input: ChainInput, rpcUrlOverride?: string): Resol
3777
3777
  */
3778
3778
 
3779
3779
  /** The chain families the SDK knows about. */
3780
- type ChainFamily = 'evm' | 'solana' | 'ton' | 'stellar' | 'xrpl' | 'tron' | 'sui' | 'near';
3780
+ type ChainFamily = 'evm' | 'solana' | 'ton' | 'stellar' | 'xrpl' | 'tron' | 'sui' | 'near' | 'aptos';
3781
3781
  /** What chain to use: an EVM name/Chain/{id,rpcUrl}, or a non-EVM family name. */
3782
- type ChainSelector = ChainInput | 'solana' | 'ton' | 'stellar' | 'xrpl' | 'tron' | 'sui' | 'near';
3782
+ type ChainSelector = ChainInput | 'solana' | 'ton' | 'stellar' | 'xrpl' | 'tron' | 'sui' | 'near' | 'aptos';
3783
3783
  /** An EVM ERC-20 token, by contract address. */
3784
3784
  interface EvmToken {
3785
3785
  address: `0x${string}`;
@@ -3831,6 +3831,12 @@ interface NearToken {
3831
3831
  decimals: number;
3832
3832
  symbol?: string;
3833
3833
  }
3834
+ /** An Aptos Fungible Asset, by its metadata object address. */
3835
+ interface AptosToken {
3836
+ metadata: string;
3837
+ decimals: number;
3838
+ symbol?: string;
3839
+ }
3834
3840
  /**
3835
3841
  * What to be paid in. Each driver validates the forms it accepts:
3836
3842
  * - 'native' the chain's native coin (ETH, BNB, SOL, TON, XLM, XRP)
@@ -3843,8 +3849,9 @@ interface NearToken {
3843
3849
  * - TronToken any TRC-20 (Tron)
3844
3850
  * - SuiToken any coin (Sui)
3845
3851
  * - NearToken any NEP-141 (NEAR)
3852
+ * - AptosToken any Fungible Asset (Aptos)
3846
3853
  */
3847
- type TokenInput = 'native' | (string & {}) | EvmToken | SolanaToken | TonToken | StellarToken | XrplToken | TronToken | SuiToken | NearToken;
3854
+ type TokenInput = 'native' | (string & {}) | EvmToken | SolanaToken | TonToken | StellarToken | XrplToken | TronToken | SuiToken | NearToken | AptosToken;
3848
3855
  /** What a driver resolves a TokenInput into. `asset`: 0x | base58 mint | 'native'. */
3849
3856
  interface ResolvedToken {
3850
3857
  asset: string;
package/dist/index.d.ts CHANGED
@@ -3777,9 +3777,9 @@ declare function resolveChain(input: ChainInput, rpcUrlOverride?: string): Resol
3777
3777
  */
3778
3778
 
3779
3779
  /** The chain families the SDK knows about. */
3780
- type ChainFamily = 'evm' | 'solana' | 'ton' | 'stellar' | 'xrpl' | 'tron' | 'sui' | 'near';
3780
+ type ChainFamily = 'evm' | 'solana' | 'ton' | 'stellar' | 'xrpl' | 'tron' | 'sui' | 'near' | 'aptos';
3781
3781
  /** What chain to use: an EVM name/Chain/{id,rpcUrl}, or a non-EVM family name. */
3782
- type ChainSelector = ChainInput | 'solana' | 'ton' | 'stellar' | 'xrpl' | 'tron' | 'sui' | 'near';
3782
+ type ChainSelector = ChainInput | 'solana' | 'ton' | 'stellar' | 'xrpl' | 'tron' | 'sui' | 'near' | 'aptos';
3783
3783
  /** An EVM ERC-20 token, by contract address. */
3784
3784
  interface EvmToken {
3785
3785
  address: `0x${string}`;
@@ -3831,6 +3831,12 @@ interface NearToken {
3831
3831
  decimals: number;
3832
3832
  symbol?: string;
3833
3833
  }
3834
+ /** An Aptos Fungible Asset, by its metadata object address. */
3835
+ interface AptosToken {
3836
+ metadata: string;
3837
+ decimals: number;
3838
+ symbol?: string;
3839
+ }
3834
3840
  /**
3835
3841
  * What to be paid in. Each driver validates the forms it accepts:
3836
3842
  * - 'native' the chain's native coin (ETH, BNB, SOL, TON, XLM, XRP)
@@ -3843,8 +3849,9 @@ interface NearToken {
3843
3849
  * - TronToken any TRC-20 (Tron)
3844
3850
  * - SuiToken any coin (Sui)
3845
3851
  * - NearToken any NEP-141 (NEAR)
3852
+ * - AptosToken any Fungible Asset (Aptos)
3846
3853
  */
3847
- type TokenInput = 'native' | (string & {}) | EvmToken | SolanaToken | TonToken | StellarToken | XrplToken | TronToken | SuiToken | NearToken;
3854
+ type TokenInput = 'native' | (string & {}) | EvmToken | SolanaToken | TonToken | StellarToken | XrplToken | TronToken | SuiToken | NearToken | AptosToken;
3848
3855
  /** What a driver resolves a TokenInput into. `asset`: 0x | base58 mint | 'native'. */
3849
3856
  interface ResolvedToken {
3850
3857
  asset: string;
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ import {
20
20
  parseUnits,
21
21
  rejectForeignToken,
22
22
  toInsufficientFundsError
23
- } from "./chunk-DTIJYDG6.js";
23
+ } from "./chunk-AGKC3C7Y.js";
24
24
 
25
25
  // src/drivers/registry.ts
26
26
  var byFamily = /* @__PURE__ */ new Map();
@@ -39,6 +39,7 @@ function familyForChain(chain) {
39
39
  if (chain.startsWith("tron")) return "tron";
40
40
  if (chain.startsWith("sui")) return "sui";
41
41
  if (chain.startsWith("near")) return "near";
42
+ if (chain.startsWith("aptos")) return "aptos";
42
43
  return "evm";
43
44
  }
44
45
  return "evm";
@@ -737,7 +738,7 @@ var loaders = {
737
738
  solana: async () => {
738
739
  let mod;
739
740
  try {
740
- mod = await import("./solana-USZHRZFN.js");
741
+ mod = await import("./solana-37F2PR5H.js");
741
742
  } catch (cause) {
742
743
  throw new MissingDriverError(
743
744
  `Solana selected, but its packages aren't installed. Run: npm install @solana/web3.js @solana/spl-token bs58`,
@@ -749,7 +750,7 @@ var loaders = {
749
750
  ton: async () => {
750
751
  let mod;
751
752
  try {
752
- mod = await import("./ton-2N74GKNB.js");
753
+ mod = await import("./ton-NIDWF77T.js");
753
754
  } catch (cause) {
754
755
  throw new MissingDriverError(
755
756
  `TON selected, but its packages aren't installed. Run: npm install @ton/ton @ton/core @ton/crypto`,
@@ -761,7 +762,7 @@ var loaders = {
761
762
  stellar: async () => {
762
763
  let mod;
763
764
  try {
764
- mod = await import("./stellar-JZBVCLNV.js");
765
+ mod = await import("./stellar-ALOVOMFD.js");
765
766
  } catch (cause) {
766
767
  throw new MissingDriverError(
767
768
  `Stellar selected, but its package isn't installed. Run: npm install @stellar/stellar-sdk`,
@@ -773,7 +774,7 @@ var loaders = {
773
774
  xrpl: async () => {
774
775
  let mod;
775
776
  try {
776
- mod = await import("./xrpl-RTT3UOLX.js");
777
+ mod = await import("./xrpl-6ODQS7JR.js");
777
778
  } catch (cause) {
778
779
  throw new MissingDriverError(
779
780
  `XRPL selected, but its package isn't installed. Run: npm install xrpl`,
@@ -785,7 +786,7 @@ var loaders = {
785
786
  tron: async () => {
786
787
  let mod;
787
788
  try {
788
- mod = await import("./tron-N3EAAKU7.js");
789
+ mod = await import("./tron-LPMK57H7.js");
789
790
  } catch (cause) {
790
791
  throw new MissingDriverError(
791
792
  `Tron selected, but its package isn't installed. Run: npm install tronweb`,
@@ -797,7 +798,7 @@ var loaders = {
797
798
  sui: async () => {
798
799
  let mod;
799
800
  try {
800
- mod = await import("./sui-UBDATSQV.js");
801
+ mod = await import("./sui-OLC5ID4X.js");
801
802
  } catch (cause) {
802
803
  throw new MissingDriverError(
803
804
  `Sui selected, but its package isn't installed. Run: npm install @mysten/sui`,
@@ -809,7 +810,7 @@ var loaders = {
809
810
  near: async () => {
810
811
  let mod;
811
812
  try {
812
- mod = await import("./near-RJUETWY3.js");
813
+ mod = await import("./near-YX3XOASO.js");
813
814
  } catch (cause) {
814
815
  throw new MissingDriverError(
815
816
  `NEAR selected, but its package isn't installed. Run: npm install near-api-js`,
@@ -817,6 +818,18 @@ var loaders = {
817
818
  );
818
819
  }
819
820
  registerDriver(mod.nearDriver);
821
+ },
822
+ aptos: async () => {
823
+ let mod;
824
+ try {
825
+ mod = await import("./aptos-DTAONNMM.js");
826
+ } catch (cause) {
827
+ throw new MissingDriverError(
828
+ `Aptos selected, but its package isn't installed. Run: npm install @aptos-labs/ts-sdk`,
829
+ { cause }
830
+ );
831
+ }
832
+ registerDriver(mod.aptosDriver);
820
833
  }
821
834
  };
822
835
  var inFlight = /* @__PURE__ */ new Map();