@piprail/sdk 1.25.0 → 2.0.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.
Files changed (27) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +4 -4
  3. package/dist/{algorand-677ILBQS.js → algorand-GSFVZTBF.js} +10 -18
  4. package/dist/{algorand-ZJ53VCTN.cjs → algorand-HZS43N4P.cjs} +23 -31
  5. package/dist/{aptos-3TSKTI4D.js → aptos-RIL56C7L.js} +10 -18
  6. package/dist/{aptos-XIIHPAOO.cjs → aptos-TRCCJRZA.cjs} +22 -30
  7. package/dist/{chunk-L6WQRHEZ.js → chunk-7XK22JSQ.js} +14 -1
  8. package/dist/{chunk-U35MG4TF.cjs → chunk-JG6KRAW6.cjs} +15 -2
  9. package/dist/index.cjs +282 -197
  10. package/dist/index.d.cts +40 -32
  11. package/dist/index.d.ts +40 -32
  12. package/dist/index.js +176 -91
  13. package/dist/{near-MG256A3E.cjs → near-DI2I3MAV.cjs} +24 -32
  14. package/dist/{near-TWA4PYOD.js → near-MTYBCUYM.js} +10 -18
  15. package/dist/{solana-KWNRY5NR.js → solana-E4MD6JJ6.js} +20 -12
  16. package/dist/{solana-UEMHFQH5.cjs → solana-TLHL2KNY.cjs} +46 -38
  17. package/dist/{stellar-SCRRPCEA.cjs → stellar-FW6C6FBE.cjs} +28 -38
  18. package/dist/{stellar-YB7JXKK4.js → stellar-U5NCRIOJ.js} +12 -22
  19. package/dist/{sui-LFT65OGU.cjs → sui-47C2KEZI.cjs} +23 -31
  20. package/dist/{sui-IODKU2MA.js → sui-Y53M4GUM.js} +10 -18
  21. package/dist/{ton-QN5GTOCS.js → ton-5ZPT5PSP.js} +20 -13
  22. package/dist/{ton-RAYJFKJC.cjs → ton-MMPKWT6N.cjs} +30 -23
  23. package/dist/{tron-KX4VWS7V.cjs → tron-JOT4STIG.cjs} +33 -38
  24. package/dist/{tron-QSNCDYRB.js → tron-WYS4X2I5.js} +14 -19
  25. package/dist/{xrpl-ECHK3GIX.js → xrpl-2MZEOIFY.js} +11 -19
  26. package/dist/{xrpl-GXUFDXHU.cjs → xrpl-PECT4IMX.cjs} +27 -35
  27. package/package.json +1 -1
@@ -4,10 +4,11 @@ import {
4
4
  UnknownTokenError,
5
5
  UnsupportedSchemeError,
6
6
  WrongFamilyError,
7
+ assertNoLegacyWalletKey,
7
8
  nativeCost,
8
9
  rejectForeignToken,
9
10
  toInsufficientFundsError
10
- } from "./chunk-L6WQRHEZ.js";
11
+ } from "./chunk-7XK22JSQ.js";
11
12
 
12
13
  // src/drivers/solana/index.ts
13
14
  import { Connection, PublicKey as PublicKey3 } from "@solana/web3.js";
@@ -511,24 +512,31 @@ import bs582 from "bs58";
511
512
  function toKeypair(wallet, network) {
512
513
  if (typeof wallet !== "object" || wallet === null) {
513
514
  throw new WrongFamilyError(
514
- `chain ${network} is Solana; wallet must be { secretKey } or { signer }.`
515
- );
516
- }
517
- if ("privateKey" in wallet || "walletClient" in wallet) {
518
- throw new WrongFamilyError(
519
- `chain ${network} is Solana; an EVM wallet can't be used \u2014 pass { secretKey } or { signer }.`
515
+ `chain ${network} is Solana; wallet must be { key } (base58 secret) or { signer }.`
520
516
  );
521
517
  }
518
+ assertNoLegacyWalletKey(wallet, "Solana");
522
519
  if ("signer" in wallet) {
523
520
  return wallet.signer;
524
521
  }
525
- if ("secretKey" in wallet) {
526
- const sk = wallet.secretKey;
527
- const bytes = typeof sk === "string" ? bs582.decode(sk) : sk;
528
- return Keypair3.fromSecretKey(bytes);
522
+ if ("key" in wallet) {
523
+ const sk = wallet.key;
524
+ if (typeof sk === "string" && sk.startsWith("0x")) {
525
+ throw new WrongFamilyError(
526
+ `chain ${network} is Solana, but the wallet { key } is a 0x\u2026 hex key \u2014 that's an EVM key. A Solana key is a base58 secret string (or a 64-byte Uint8Array).`
527
+ );
528
+ }
529
+ try {
530
+ const bytes = typeof sk === "string" ? bs582.decode(sk) : sk;
531
+ return Keypair3.fromSecretKey(bytes);
532
+ } catch (err) {
533
+ throw new WrongFamilyError(
534
+ `chain ${network} is Solana; the wallet { key } isn't a valid Solana secret (expected a base58 secret string or a 64-byte Uint8Array): ${err instanceof Error ? err.message : String(err)}.`
535
+ );
536
+ }
529
537
  }
530
538
  throw new WrongFamilyError(
531
- `chain ${network} is Solana; wallet must be { secretKey } or { signer }.`
539
+ `chain ${network} is Solana; wallet must be { key } (base58 secret) or { signer }.`
532
540
  );
533
541
  }
534
542
 
@@ -7,7 +7,8 @@
7
7
 
8
8
 
9
9
 
10
- var _chunkU35MG4TFcjs = require('./chunk-U35MG4TF.cjs');
10
+
11
+ var _chunkJG6KRAW6cjs = require('./chunk-JG6KRAW6.cjs');
11
12
 
12
13
  // src/drivers/solana/index.ts
13
14
  var _web3js = require('@solana/web3.js');
@@ -229,15 +230,15 @@ function isEmptySig(sig) {
229
230
  async function payExactSolana(input) {
230
231
  const { connection, keypair, accept } = input;
231
232
  if (accept.asset === "native") {
232
- throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
233
+ throw new (0, _chunkJG6KRAW6cjs.UnsupportedSchemeError)(
233
234
  "SVM exact is SPL-token only (TransferChecked); native SOL is not exact-payable. Pay via onchain-proof."
234
235
  );
235
236
  }
236
237
  if (!accept.extra.feePayer) {
237
- throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)("SVM exact rail must advertise extra.feePayer (the merchant sponsor key).");
238
+ throw new (0, _chunkJG6KRAW6cjs.UnsupportedSchemeError)("SVM exact rail must advertise extra.feePayer (the merchant sponsor key).");
238
239
  }
239
240
  if (accept.extra.decimals === void 0) {
240
- throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)("SVM exact rail must advertise extra.decimals for the TransferChecked.");
241
+ throw new (0, _chunkJG6KRAW6cjs.UnsupportedSchemeError)("SVM exact rail must advertise extra.decimals for the TransferChecked.");
241
242
  }
242
243
  let feePayer;
243
244
  let mint;
@@ -247,12 +248,12 @@ async function payExactSolana(input) {
247
248
  mint = new (0, _web3js.PublicKey)(accept.asset);
248
249
  payTo = new (0, _web3js.PublicKey)(accept.payTo);
249
250
  } catch (err) {
250
- throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
251
+ throw new (0, _chunkJG6KRAW6cjs.UnsupportedSchemeError)(
251
252
  `SVM exact: bad feePayer/asset/payTo (${err instanceof Error ? err.message : String(err)}).`
252
253
  );
253
254
  }
254
255
  if (feePayer.equals(payTo)) {
255
- throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
256
+ throw new (0, _chunkJG6KRAW6cjs.UnsupportedSchemeError)(
256
257
  "SVM exact: the fee payer must differ from payTo \u2014 payTo appears in the transfer instruction, which the fee payer must not (a scheme MUST-rule). Use a separate relayer key for the gate."
257
258
  );
258
259
  }
@@ -266,7 +267,7 @@ async function payExactSolana(input) {
266
267
  destInfo = "unknown";
267
268
  }
268
269
  if (destInfo === null) {
269
- throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)(
270
+ throw new (0, _chunkJG6KRAW6cjs.UnsupportedSchemeError)(
270
271
  `SVM exact: the recipient's token account for ${mint.toBase58()} doesn't exist yet \u2014 the exact rail can't create it. Pay via onchain-proof (which creates it), or have ${payTo.toBase58()} create its associated token account first.`
271
272
  );
272
273
  }
@@ -294,11 +295,11 @@ async function payExactSolana(input) {
294
295
  tx.sign([keypair]);
295
296
  const buyerIndex = message.staticAccountKeys.findIndex((k) => k.equals(keypair.publicKey));
296
297
  if (buyerIndex < 1 || buyerIndex >= message.header.numRequiredSignatures) {
297
- throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)("SVM exact: could not locate the buyer signer slot.");
298
+ throw new (0, _chunkJG6KRAW6cjs.UnsupportedSchemeError)("SVM exact: could not locate the buyer signer slot.");
298
299
  }
299
300
  const buyerSig = tx.signatures[buyerIndex];
300
301
  if (!buyerSig || isEmptySig(buyerSig)) {
301
- throw new (0, _chunkU35MG4TFcjs.UnsupportedSchemeError)("SVM exact: the wallet did not produce a buyer signature.");
302
+ throw new (0, _chunkJG6KRAW6cjs.UnsupportedSchemeError)("SVM exact: the wallet did not produce a buyer signature.");
302
303
  }
303
304
  const transaction = Buffer.from(tx.serialize()).toString("base64");
304
305
  return {
@@ -325,15 +326,15 @@ async function verifyAndSettleExactSolana(input) {
325
326
  if (!accept.extra.feePayer) throw new Error("rail is missing extra.feePayer");
326
327
  railFeePayer = new (0, _web3js.PublicKey)(accept.extra.feePayer);
327
328
  } catch (err) {
328
- throw new (0, _chunkU35MG4TFcjs.SettlementError)(`SVM exact: rail has a bad payTo/asset/feePayer (${err instanceof Error ? err.message : String(err)}).`);
329
+ throw new (0, _chunkJG6KRAW6cjs.SettlementError)(`SVM exact: rail has a bad payTo/asset/feePayer (${err instanceof Error ? err.message : String(err)}).`);
329
330
  }
330
331
  if (!railFeePayer.equals(feePayerKeypair.publicKey)) {
331
- throw new (0, _chunkU35MG4TFcjs.SettlementError)(
332
+ throw new (0, _chunkJG6KRAW6cjs.SettlementError)(
332
333
  "SVM exact: the gate relayer key does not match the rail extra.feePayer \u2014 misconfigured rail."
333
334
  );
334
335
  }
335
336
  if (feePayerKeypair.publicKey.equals(payTo)) {
336
- throw new (0, _chunkU35MG4TFcjs.SettlementError)("SVM exact: the fee payer must differ from payTo \u2014 misconfigured rail.");
337
+ throw new (0, _chunkJG6KRAW6cjs.SettlementError)("SVM exact: the fee payer must differ from payTo \u2014 misconfigured rail.");
337
338
  }
338
339
  const program = tokenProgramFor(accept);
339
340
  let tx;
@@ -457,7 +458,7 @@ async function verifyAndSettleExactSolana(input) {
457
458
  } catch (err) {
458
459
  const msg = err instanceof Error ? err.message : String(err);
459
460
  if (/blockhash|block height|expired/i.test(msg)) return fail("payment_expired", `Settle broadcast rejected \u2014 blockhash expired: ${shorten(msg)}.`);
460
- throw new (0, _chunkU35MG4TFcjs.SettlementError)(
461
+ throw new (0, _chunkJG6KRAW6cjs.SettlementError)(
461
462
  `SVM exact settle: the merchant fee payer failed to broadcast (${shorten(msg)}). The buyer's signed transaction is still valid \u2014 fund/fix the fee payer and the buyer can re-present it.`,
462
463
  { cause: err }
463
464
  );
@@ -467,7 +468,7 @@ async function verifyAndSettleExactSolana(input) {
467
468
  return fail("tx_reverted", `Settle tx ${txid} reverted on-chain (a post-simulate race).`);
468
469
  }
469
470
  if (confirmed === "timeout") {
470
- throw new (0, _chunkU35MG4TFcjs.SettlementError)(
471
+ throw new (0, _chunkJG6KRAW6cjs.SettlementError)(
471
472
  `SVM exact settle: broadcast ${txid} but it did not confirm in time. It likely landed \u2014 re-verify by signature before re-presenting; do NOT re-pay.`
472
473
  );
473
474
  }
@@ -510,25 +511,32 @@ async function pollConfirmed(connection, signature) {
510
511
 
511
512
  function toKeypair(wallet, network) {
512
513
  if (typeof wallet !== "object" || wallet === null) {
513
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
514
- `chain ${network} is Solana; wallet must be { secretKey } or { signer }.`
515
- );
516
- }
517
- if ("privateKey" in wallet || "walletClient" in wallet) {
518
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
519
- `chain ${network} is Solana; an EVM wallet can't be used \u2014 pass { secretKey } or { signer }.`
514
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
515
+ `chain ${network} is Solana; wallet must be { key } (base58 secret) or { signer }.`
520
516
  );
521
517
  }
518
+ _chunkJG6KRAW6cjs.assertNoLegacyWalletKey.call(void 0, wallet, "Solana");
522
519
  if ("signer" in wallet) {
523
520
  return wallet.signer;
524
521
  }
525
- if ("secretKey" in wallet) {
526
- const sk = wallet.secretKey;
527
- const bytes = typeof sk === "string" ? _bs582.default.decode(sk) : sk;
528
- return _web3js.Keypair.fromSecretKey(bytes);
522
+ if ("key" in wallet) {
523
+ const sk = wallet.key;
524
+ if (typeof sk === "string" && sk.startsWith("0x")) {
525
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
526
+ `chain ${network} is Solana, but the wallet { key } is a 0x\u2026 hex key \u2014 that's an EVM key. A Solana key is a base58 secret string (or a 64-byte Uint8Array).`
527
+ );
528
+ }
529
+ try {
530
+ const bytes = typeof sk === "string" ? _bs582.default.decode(sk) : sk;
531
+ return _web3js.Keypair.fromSecretKey(bytes);
532
+ } catch (err) {
533
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
534
+ `chain ${network} is Solana; the wallet { key } isn't a valid Solana secret (expected a base58 secret string or a 64-byte Uint8Array): ${err instanceof Error ? err.message : String(err)}.`
535
+ );
536
+ }
529
537
  }
530
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
531
- `chain ${network} is Solana; wallet must be { secretKey } or { signer }.`
538
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
539
+ `chain ${network} is Solana; wallet must be { key } (base58 secret) or { signer }.`
532
540
  );
533
541
  }
534
542
 
@@ -556,15 +564,15 @@ function makeSolanaNetwork(preset, rpcUrl) {
556
564
  const info = preset.tokens[token.toUpperCase()];
557
565
  if (!info) {
558
566
  const known = Object.keys(preset.tokens).join(", ") || "(none built in)";
559
- throw new (0, _chunkU35MG4TFcjs.UnknownTokenError)(
567
+ throw new (0, _chunkJG6KRAW6cjs.UnknownTokenError)(
560
568
  `token "${token}" isn't built in for Solana (known: ${known}). Pass { mint, decimals } instead, or use 'native'.`
561
569
  );
562
570
  }
563
571
  return { asset: info.mint, decimals: info.decimals, symbol: info.symbol };
564
572
  }
565
- _chunkU35MG4TFcjs.rejectForeignToken.call(void 0, token, "solana", network);
573
+ _chunkJG6KRAW6cjs.rejectForeignToken.call(void 0, token, "solana", network);
566
574
  if (!("mint" in token)) {
567
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
575
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
568
576
  `chain ${network} is Solana; a custom token must be { mint, decimals }.`
569
577
  );
570
578
  }
@@ -583,14 +591,14 @@ function makeSolanaNetwork(preset, rpcUrl) {
583
591
  },
584
592
  assertValidPayTo(payTo) {
585
593
  if (payTo.startsWith("0x")) {
586
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
594
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
587
595
  `chain ${network} is Solana, but payTo "${payTo}" looks like an EVM address.`
588
596
  );
589
597
  }
590
598
  try {
591
599
  new (0, _web3js.PublicKey)(payTo);
592
600
  } catch (e7) {
593
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
601
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
594
602
  `chain ${network} is Solana, but payTo "${payTo}" is not a base58 address.`
595
603
  );
596
604
  }
@@ -602,7 +610,7 @@ function makeSolanaNetwork(preset, rpcUrl) {
602
610
  try {
603
611
  return await paySolana({ connection, keypair: wallet._native, accept });
604
612
  } catch (err) {
605
- throw _nullishCoalesce(_chunkU35MG4TFcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
613
+ throw _nullishCoalesce(_chunkJG6KRAW6cjs.toInsufficientFundsError.call(void 0, err), () => ( err));
606
614
  }
607
615
  },
608
616
  async confirm(ref) {
@@ -613,19 +621,19 @@ function makeSolanaNetwork(preset, rpcUrl) {
613
621
  });
614
622
  info = value[0];
615
623
  } catch (err) {
616
- throw new (0, _chunkU35MG4TFcjs.ConfirmationTimeoutError)(
624
+ throw new (0, _chunkJG6KRAW6cjs.ConfirmationTimeoutError)(
617
625
  `Solana payment ${ref} could not be confirmed (RPC read failed).`,
618
626
  { cause: err }
619
627
  );
620
628
  }
621
629
  if (!info || info.err || info.confirmationStatus !== "confirmed" && info.confirmationStatus !== "finalized") {
622
- throw new (0, _chunkU35MG4TFcjs.ConfirmationTimeoutError)(`Solana payment ${ref} did not confirm in time.`);
630
+ throw new (0, _chunkJG6KRAW6cjs.ConfirmationTimeoutError)(`Solana payment ${ref} did not confirm in time.`);
623
631
  }
624
632
  return { height: String(info.slot) };
625
633
  },
626
634
  async estimateCost(accept) {
627
635
  if (accept.scheme === "exact") {
628
- return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
636
+ return _chunkJG6KRAW6cjs.nativeCost.call(void 0, {
629
637
  symbol: "SOL",
630
638
  decimals: SOL_DECIMALS,
631
639
  fee: 0n,
@@ -635,7 +643,7 @@ function makeSolanaNetwork(preset, rpcUrl) {
635
643
  }
636
644
  const base = 5000n;
637
645
  if (accept.asset === "native") {
638
- return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
646
+ return _chunkJG6KRAW6cjs.nativeCost.call(void 0, {
639
647
  symbol: "SOL",
640
648
  decimals: SOL_DECIMALS,
641
649
  fee: base,
@@ -644,7 +652,7 @@ function makeSolanaNetwork(preset, rpcUrl) {
644
652
  });
645
653
  }
646
654
  const ataRent = 2039280n;
647
- return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
655
+ return _chunkJG6KRAW6cjs.nativeCost.call(void 0, {
648
656
  symbol: "SOL",
649
657
  decimals: SOL_DECIMALS,
650
658
  fee: base + ataRent,
@@ -11,7 +11,8 @@ var _chunkCQREG5LEcjs = require('./chunk-CQREG5LE.cjs');
11
11
 
12
12
 
13
13
 
14
- var _chunkU35MG4TFcjs = require('./chunk-U35MG4TF.cjs');
14
+
15
+ var _chunkJG6KRAW6cjs = require('./chunk-JG6KRAW6.cjs');
15
16
 
16
17
  // src/drivers/stellar/index.ts
17
18
  var _stellarsdk = require('@stellar/stellar-sdk');
@@ -97,30 +98,30 @@ function mapSubmitError(err) {
97
98
  const seen = codes.join(", ");
98
99
  const has = (re) => codes.some((c) => re.test(c));
99
100
  if (has(/op_no_destination/i)) {
100
- return new (0, _chunkU35MG4TFcjs.RecipientNotReadyError)(
101
+ return new (0, _chunkJG6KRAW6cjs.RecipientNotReadyError)(
101
102
  `Stellar destination account doesn't exist yet \u2014 create it with \u22651 XLM (the base reserve) before it can receive. (Stellar: ${seen})`,
102
103
  { cause: err }
103
104
  );
104
105
  }
105
106
  if (has(/op_(no_trust|line_full|not_authorized)/i) && !has(/src_no_trust/i)) {
106
- return new (0, _chunkU35MG4TFcjs.RecipientNotReadyError)(
107
+ return new (0, _chunkJG6KRAW6cjs.RecipientNotReadyError)(
107
108
  `Stellar destination can't hold this asset \u2014 it needs a trustline for it (and to be authorized) before it can receive. (Stellar: ${seen})`,
108
109
  { cause: err }
109
110
  );
110
111
  }
111
112
  if (has(/underfunded|insufficient|low_reserve|src_no_trust/i)) {
112
- return new (0, _chunkU35MG4TFcjs.InsufficientFundsError)(
113
+ return new (0, _chunkJG6KRAW6cjs.InsufficientFundsError)(
113
114
  `Stellar payment failed: the sender can't cover it \u2014 balance, base reserve, or no trustline to send this asset. (Stellar: ${seen})`,
114
115
  { cause: err }
115
116
  );
116
117
  }
117
118
  if (isAccountNotFound(err)) {
118
- return new (0, _chunkU35MG4TFcjs.InsufficientFundsError)(
119
+ return new (0, _chunkJG6KRAW6cjs.InsufficientFundsError)(
119
120
  "Stellar source account not found on-chain \u2014 fund the sender (\u2265 base reserve) before it can pay.",
120
121
  { cause: err }
121
122
  );
122
123
  }
123
- return _nullishCoalesce(_chunkU35MG4TFcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
124
+ return _nullishCoalesce(_chunkJG6KRAW6cjs.toInsufficientFundsError.call(void 0, err), () => ( err));
124
125
  }
125
126
  function isAccountNotFound(err) {
126
127
  const e = err;
@@ -217,7 +218,7 @@ function assetMatches(p, want) {
217
218
  }
218
219
  function parseAmount(amount, decimals) {
219
220
  try {
220
- return _chunkU35MG4TFcjs.parseUnits.call(void 0, amount, decimals);
221
+ return _chunkJG6KRAW6cjs.parseUnits.call(void 0, amount, decimals);
221
222
  } catch (e4) {
222
223
  return 0n;
223
224
  }
@@ -241,38 +242,27 @@ function rpcFailed(nonce) {
241
242
 
242
243
  function assertStellarWallet(wallet, network) {
243
244
  if (typeof wallet !== "object" || wallet === null) {
244
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
245
- `chain ${network} is Stellar; wallet must be { secret } (S\u2026 seed) or { keypair }.`
246
- );
247
- }
248
- if ("privateKey" in wallet || "walletClient" in wallet) {
249
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
250
- `chain ${network} is Stellar; an EVM wallet can't be used \u2014 pass { secret } (S\u2026 seed) or { keypair }.`
245
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
246
+ `chain ${network} is Stellar; wallet must be { key } (S\u2026 seed) or { keypair }.`
251
247
  );
252
248
  }
253
- if ("secretKey" in wallet || "signer" in wallet || "mnemonic" in wallet || "keyPair" in wallet) {
254
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
255
- `chain ${network} is Stellar; that looks like a Solana/TON wallet \u2014 pass { secret } (S\u2026 seed) or { keypair }.`
256
- );
257
- }
258
- if (!("secret" in wallet) && !("keypair" in wallet)) {
259
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
260
- `chain ${network} is Stellar; wallet must be { secret } (S\u2026 seed) or { keypair }.`
249
+ _chunkJG6KRAW6cjs.assertNoLegacyWalletKey.call(void 0, wallet, "Stellar");
250
+ if (!("key" in wallet) && !("keypair" in wallet)) {
251
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
252
+ `chain ${network} is Stellar; wallet must be { key } (S\u2026 seed) or { keypair }.`
261
253
  );
262
254
  }
263
255
  return wallet;
264
256
  }
265
257
  function resolveStellarWallet(config) {
266
258
  if (config.keypair) return config.keypair;
267
- if (config.secret) {
268
- if (!_stellarsdk.StrKey.isValidEd25519SecretSeed(config.secret)) {
269
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
270
- "Stellar wallet { secret } is not a valid S\u2026 secret seed."
271
- );
259
+ if (config.key) {
260
+ if (!_stellarsdk.StrKey.isValidEd25519SecretSeed(config.key)) {
261
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)("Stellar wallet { key } is not a valid S\u2026 secret seed.");
272
262
  }
273
- return _stellarsdk.Keypair.fromSecret(config.secret);
263
+ return _stellarsdk.Keypair.fromSecret(config.key);
274
264
  }
275
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)("Stellar wallet needs { secret } (S\u2026 seed) or { keypair }.");
265
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)("Stellar wallet needs { key } (S\u2026 seed) or { keypair }.");
276
266
  }
277
267
 
278
268
  // src/drivers/stellar/index.ts
@@ -289,7 +279,7 @@ var stellarDriver = {
289
279
  }
290
280
  };
291
281
  function makeStellarNetwork(preset, rpcUrl) {
292
- const server = new _stellarsdk.Horizon.Server(rpcUrl);
282
+ const server = new _stellarsdk.Horizon.Server(rpcUrl, { allowHttp: rpcUrl.startsWith("http://") });
293
283
  const network = preset.caip2;
294
284
  const reader = {
295
285
  async transactionsForAccount(account, limit) {
@@ -327,7 +317,7 @@ function makeStellarNetwork(preset, rpcUrl) {
327
317
  const info = preset.tokens[token.toUpperCase()];
328
318
  if (!info) {
329
319
  const known = Object.keys(preset.tokens).join(", ") || "(none built in)";
330
- throw new (0, _chunkU35MG4TFcjs.UnknownTokenError)(
320
+ throw new (0, _chunkJG6KRAW6cjs.UnknownTokenError)(
331
321
  `token "${token}" isn't built in for Stellar (known: ${known}). Pass { issuer, code, decimals } for a custom asset, or use 'native'.`
332
322
  );
333
323
  }
@@ -337,10 +327,10 @@ function makeStellarNetwork(preset, rpcUrl) {
337
327
  symbol: info.symbol
338
328
  };
339
329
  }
340
- _chunkU35MG4TFcjs.rejectForeignToken.call(void 0, token, "stellar", network);
330
+ _chunkJG6KRAW6cjs.rejectForeignToken.call(void 0, token, "stellar", network);
341
331
  const t = token;
342
332
  if (!t.issuer || !t.code || typeof t.decimals !== "number") {
343
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
333
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
344
334
  `chain ${network} is Stellar; a custom token must be { issuer, code, decimals }.`
345
335
  );
346
336
  }
@@ -361,12 +351,12 @@ function makeStellarNetwork(preset, rpcUrl) {
361
351
  },
362
352
  assertValidPayTo(payTo) {
363
353
  if (payTo.startsWith("0x")) {
364
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
354
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
365
355
  `chain ${network} is Stellar, but payTo "${payTo}" looks like an EVM address.`
366
356
  );
367
357
  }
368
358
  if (!_stellarsdk.StrKey.isValidEd25519PublicKey(payTo)) {
369
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
359
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
370
360
  `chain ${network} is Stellar, but payTo "${payTo}" is not a valid Stellar account (G\u2026).`
371
361
  );
372
362
  }
@@ -387,10 +377,10 @@ function makeStellarNetwork(preset, rpcUrl) {
387
377
  await _chunkCQREG5LEcjs.delay.call(void 0, 1500);
388
378
  }
389
379
  }
390
- throw new (0, _chunkU35MG4TFcjs.ConfirmationTimeoutError)(`Stellar tx ${ref} not visible on Horizon in time.`);
380
+ throw new (0, _chunkJG6KRAW6cjs.ConfirmationTimeoutError)(`Stellar tx ${ref} not visible on Horizon in time.`);
391
381
  },
392
382
  async estimateCost() {
393
- return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
383
+ return _chunkJG6KRAW6cjs.nativeCost.call(void 0, {
394
384
  symbol: XLM_SYMBOL,
395
385
  decimals: STELLAR_DECIMALS,
396
386
  fee: 100n,
@@ -414,7 +404,7 @@ function makeStellarNetwork(preset, rpcUrl) {
414
404
  }
415
405
  const toBase = (s) => {
416
406
  try {
417
- return s != null ? _chunkU35MG4TFcjs.parseUnits.call(void 0, s, STELLAR_DECIMALS) : 0n;
407
+ return s != null ? _chunkJG6KRAW6cjs.parseUnits.call(void 0, s, STELLAR_DECIMALS) : 0n;
418
408
  } catch (e7) {
419
409
  return 0n;
420
410
  }
@@ -7,11 +7,12 @@ import {
7
7
  RecipientNotReadyError,
8
8
  UnknownTokenError,
9
9
  WrongFamilyError,
10
+ assertNoLegacyWalletKey,
10
11
  nativeCost,
11
12
  parseUnits,
12
13
  rejectForeignToken,
13
14
  toInsufficientFundsError
14
- } from "./chunk-L6WQRHEZ.js";
15
+ } from "./chunk-7XK22JSQ.js";
15
16
 
16
17
  // src/drivers/stellar/index.ts
17
18
  import { Horizon, StrKey as StrKey2 } from "@stellar/stellar-sdk";
@@ -242,37 +243,26 @@ import { Keypair, StrKey } from "@stellar/stellar-sdk";
242
243
  function assertStellarWallet(wallet, network) {
243
244
  if (typeof wallet !== "object" || wallet === null) {
244
245
  throw new WrongFamilyError(
245
- `chain ${network} is Stellar; wallet must be { secret } (S\u2026 seed) or { keypair }.`
246
+ `chain ${network} is Stellar; wallet must be { key } (S\u2026 seed) or { keypair }.`
246
247
  );
247
248
  }
248
- if ("privateKey" in wallet || "walletClient" in wallet) {
249
+ assertNoLegacyWalletKey(wallet, "Stellar");
250
+ if (!("key" in wallet) && !("keypair" in wallet)) {
249
251
  throw new WrongFamilyError(
250
- `chain ${network} is Stellar; an EVM wallet can't be used \u2014 pass { secret } (S\u2026 seed) or { keypair }.`
251
- );
252
- }
253
- if ("secretKey" in wallet || "signer" in wallet || "mnemonic" in wallet || "keyPair" in wallet) {
254
- throw new WrongFamilyError(
255
- `chain ${network} is Stellar; that looks like a Solana/TON wallet \u2014 pass { secret } (S\u2026 seed) or { keypair }.`
256
- );
257
- }
258
- if (!("secret" in wallet) && !("keypair" in wallet)) {
259
- throw new WrongFamilyError(
260
- `chain ${network} is Stellar; wallet must be { secret } (S\u2026 seed) or { keypair }.`
252
+ `chain ${network} is Stellar; wallet must be { key } (S\u2026 seed) or { keypair }.`
261
253
  );
262
254
  }
263
255
  return wallet;
264
256
  }
265
257
  function resolveStellarWallet(config) {
266
258
  if (config.keypair) return config.keypair;
267
- if (config.secret) {
268
- if (!StrKey.isValidEd25519SecretSeed(config.secret)) {
269
- throw new WrongFamilyError(
270
- "Stellar wallet { secret } is not a valid S\u2026 secret seed."
271
- );
259
+ if (config.key) {
260
+ if (!StrKey.isValidEd25519SecretSeed(config.key)) {
261
+ throw new WrongFamilyError("Stellar wallet { key } is not a valid S\u2026 secret seed.");
272
262
  }
273
- return Keypair.fromSecret(config.secret);
263
+ return Keypair.fromSecret(config.key);
274
264
  }
275
- throw new WrongFamilyError("Stellar wallet needs { secret } (S\u2026 seed) or { keypair }.");
265
+ throw new WrongFamilyError("Stellar wallet needs { key } (S\u2026 seed) or { keypair }.");
276
266
  }
277
267
 
278
268
  // src/drivers/stellar/index.ts
@@ -289,7 +279,7 @@ var stellarDriver = {
289
279
  }
290
280
  };
291
281
  function makeStellarNetwork(preset, rpcUrl) {
292
- const server = new Horizon.Server(rpcUrl);
282
+ const server = new Horizon.Server(rpcUrl, { allowHttp: rpcUrl.startsWith("http://") });
293
283
  const network = preset.caip2;
294
284
  const reader = {
295
285
  async transactionsForAccount(account, limit) {
@@ -6,7 +6,8 @@
6
6
 
7
7
 
8
8
 
9
- var _chunkU35MG4TFcjs = require('./chunk-U35MG4TF.cjs');
9
+
10
+ var _chunkJG6KRAW6cjs = require('./chunk-JG6KRAW6.cjs');
10
11
 
11
12
  // src/drivers/sui/index.ts
12
13
  var _jsonRpc = require('@mysten/sui/jsonRpc');
@@ -45,7 +46,7 @@ async function paySui(params) {
45
46
  } else {
46
47
  const coins = await client.getCoins({ owner: sender, coinType: accept.asset });
47
48
  if (!coins.data.length) {
48
- throw new (0, _chunkU35MG4TFcjs.InsufficientFundsError)(
49
+ throw new (0, _chunkJG6KRAW6cjs.InsufficientFundsError)(
49
50
  `Sui wallet holds no ${accept.asset} coin objects to pay from.`
50
51
  );
51
52
  }
@@ -64,14 +65,14 @@ async function paySui(params) {
64
65
  });
65
66
  return res.digest;
66
67
  } catch (err) {
67
- if (err instanceof _chunkU35MG4TFcjs.InsufficientFundsError) throw err;
68
+ if (err instanceof _chunkJG6KRAW6cjs.InsufficientFundsError) throw err;
68
69
  if (isSuiAffordability(err)) {
69
- throw new (0, _chunkU35MG4TFcjs.InsufficientFundsError)(
70
+ throw new (0, _chunkJG6KRAW6cjs.InsufficientFundsError)(
70
71
  err instanceof Error ? err.message : "Insufficient SUI/coin balance for the payment.",
71
72
  { cause: err }
72
73
  );
73
74
  }
74
- throw _nullishCoalesce(_chunkU35MG4TFcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
75
+ throw _nullishCoalesce(_chunkJG6KRAW6cjs.toInsufficientFundsError.call(void 0, err), () => ( err));
75
76
  }
76
77
  }
77
78
  function isSuiAffordability(err) {
@@ -151,40 +152,31 @@ function txNotFound(digest) {
151
152
  var _ed25519 = require('@mysten/sui/keypairs/ed25519');
152
153
  function assertSuiWallet(wallet, network) {
153
154
  if (typeof wallet !== "object" || wallet === null) {
154
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
155
- `chain ${network} is Sui; wallet must be { privateKey } (suiprivkey1\u2026 ) or { keypair }.`
156
- );
157
- }
158
- if ("walletClient" in wallet) {
159
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
160
- `chain ${network} is Sui; a viem { walletClient } can't be used \u2014 pass { privateKey } (suiprivkey1\u2026) or { keypair }.`
161
- );
162
- }
163
- if ("secretKey" in wallet || "signer" in wallet || "mnemonic" in wallet || "keyPair" in wallet || "secret" in wallet || "seed" in wallet || "accountId" in wallet) {
164
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
165
- `chain ${network} is Sui; that looks like another family's wallet \u2014 pass { privateKey } (suiprivkey1\u2026) or { keypair }.`
155
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
156
+ `chain ${network} is Sui; wallet must be { key } (suiprivkey1\u2026 ) or { keypair }.`
166
157
  );
167
158
  }
168
- if (!("privateKey" in wallet) && !("keypair" in wallet)) {
169
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
170
- `chain ${network} is Sui; wallet must be { privateKey } (suiprivkey1\u2026) or { keypair }.`
159
+ _chunkJG6KRAW6cjs.assertNoLegacyWalletKey.call(void 0, wallet, "Sui");
160
+ if (!("key" in wallet) && !("keypair" in wallet)) {
161
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
162
+ `chain ${network} is Sui; wallet must be { key } (suiprivkey1\u2026) or { keypair }.`
171
163
  );
172
164
  }
173
165
  return wallet;
174
166
  }
175
167
  function resolveSuiKeypair(config) {
176
168
  if (config.keypair) return config.keypair;
177
- if (config.privateKey != null) {
169
+ if (config.key != null) {
178
170
  try {
179
- return _ed25519.Ed25519Keypair.fromSecretKey(config.privateKey);
171
+ return _ed25519.Ed25519Keypair.fromSecretKey(config.key);
180
172
  } catch (cause) {
181
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
182
- "Sui wallet { privateKey } is not a valid suiprivkey1\u2026 secret (or 32-byte key).",
173
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
174
+ "Sui wallet { key } is not a valid suiprivkey1\u2026 secret (or 32-byte key).",
183
175
  { cause }
184
176
  );
185
177
  }
186
178
  }
187
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)("Sui wallet needs { privateKey } (suiprivkey1\u2026) or { keypair }.");
179
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)("Sui wallet needs { key } (suiprivkey1\u2026) or { keypair }.");
188
180
  }
189
181
 
190
182
  // src/drivers/sui/index.ts
@@ -236,16 +228,16 @@ function makeSuiNetwork(preset, rpcUrl) {
236
228
  const info = preset.tokens[token.toUpperCase()];
237
229
  if (!info) {
238
230
  const known = Object.keys(preset.tokens).join(", ") || "(none built in)";
239
- throw new (0, _chunkU35MG4TFcjs.UnknownTokenError)(
231
+ throw new (0, _chunkJG6KRAW6cjs.UnknownTokenError)(
240
232
  `token "${token}" isn't built in for Sui (known: ${known}). Note: no native USDT on Sui. Pass { coinType, decimals } for a custom coin, or use 'native'.`
241
233
  );
242
234
  }
243
235
  return { asset: info.coinType, decimals: info.decimals, symbol: info.symbol };
244
236
  }
245
- _chunkU35MG4TFcjs.rejectForeignToken.call(void 0, token, "sui", network);
237
+ _chunkJG6KRAW6cjs.rejectForeignToken.call(void 0, token, "sui", network);
246
238
  const t = token;
247
239
  if (!t.coinType || typeof t.decimals !== "number") {
248
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
240
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
249
241
  `chain ${network} is Sui; a custom token must be { coinType, decimals }.`
250
242
  );
251
243
  }
@@ -264,7 +256,7 @@ function makeSuiNetwork(preset, rpcUrl) {
264
256
  },
265
257
  assertValidPayTo(payTo) {
266
258
  if (!_utils.isValidSuiAddress.call(void 0, payTo)) {
267
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
259
+ throw new (0, _chunkJG6KRAW6cjs.WrongFamilyError)(
268
260
  `chain ${network} is Sui, but payTo "${payTo}" is not a valid Sui address (0x + 32 bytes).`
269
261
  );
270
262
  }
@@ -281,11 +273,11 @@ function makeSuiNetwork(preset, rpcUrl) {
281
273
  const tx = await client.waitForTransaction({ digest: ref, options: { showEffects: true } });
282
274
  return { height: String(_nullishCoalesce(tx.checkpoint, () => ( "0"))) };
283
275
  } catch (err) {
284
- throw new (0, _chunkU35MG4TFcjs.ConfirmationTimeoutError)(`Sui tx ${ref} did not finalize in time.`, { cause: err });
276
+ throw new (0, _chunkJG6KRAW6cjs.ConfirmationTimeoutError)(`Sui tx ${ref} did not finalize in time.`, { cause: err });
285
277
  }
286
278
  },
287
279
  async estimateCost() {
288
- return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
280
+ return _chunkJG6KRAW6cjs.nativeCost.call(void 0, {
289
281
  symbol: SUI_SYMBOL,
290
282
  decimals: SUI_DECIMALS,
291
283
  fee: 3000000n,