@piprail/sdk 1.24.0 → 2.0.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.
Files changed (27) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +4 -4
  3. package/dist/{algorand-677ILBQS.js → algorand-RJ4DRWHV.js} +10 -18
  4. package/dist/{algorand-ZJ53VCTN.cjs → algorand-RUDF55XY.cjs} +23 -31
  5. package/dist/{aptos-XIIHPAOO.cjs → aptos-PESRG2EQ.cjs} +22 -30
  6. package/dist/{aptos-3TSKTI4D.js → aptos-SMEQXIYJ.js} +10 -18
  7. package/dist/{chunk-L6WQRHEZ.js → chunk-47VEOHZN.js} +13 -0
  8. package/dist/{chunk-U35MG4TF.cjs → chunk-DKQXW454.cjs} +14 -1
  9. package/dist/index.cjs +137 -105
  10. package/dist/index.d.cts +31 -32
  11. package/dist/index.d.ts +31 -32
  12. package/dist/index.js +56 -24
  13. package/dist/{near-TWA4PYOD.js → near-CHE7B2CY.js} +10 -18
  14. package/dist/{near-MG256A3E.cjs → near-VWBV3SUW.cjs} +24 -32
  15. package/dist/{solana-KWNRY5NR.js → solana-DTO2R3AT.js} +7 -10
  16. package/dist/{solana-UEMHFQH5.cjs → solana-OIHRPGX2.cjs} +33 -36
  17. package/dist/{stellar-SCRRPCEA.cjs → stellar-AF7PYMMF.cjs} +27 -37
  18. package/dist/{stellar-YB7JXKK4.js → stellar-T5VONOEO.js} +11 -21
  19. package/dist/{sui-LFT65OGU.cjs → sui-3TF5XVRT.cjs} +23 -31
  20. package/dist/{sui-IODKU2MA.js → sui-J53NYMVL.js} +10 -18
  21. package/dist/{ton-QN5GTOCS.js → ton-CPK57L2O.js} +9 -12
  22. package/dist/{ton-RAYJFKJC.cjs → ton-ZEI7YUK7.cjs} +20 -23
  23. package/dist/{tron-KX4VWS7V.cjs → tron-5B3Q4SMF.cjs} +30 -38
  24. package/dist/{tron-QSNCDYRB.js → tron-LZRCDRZC.js} +11 -19
  25. package/dist/{xrpl-ECHK3GIX.js → xrpl-AH4FFC2C.js} +11 -19
  26. package/dist/{xrpl-GXUFDXHU.cjs → xrpl-BL4QXOVN.cjs} +27 -35
  27. package/package.json +1 -1
@@ -3,10 +3,11 @@ import {
3
3
  InsufficientFundsError,
4
4
  UnknownTokenError,
5
5
  WrongFamilyError,
6
+ assertNoLegacyWalletKey,
6
7
  nativeCost,
7
8
  rejectForeignToken,
8
9
  toInsufficientFundsError
9
- } from "./chunk-L6WQRHEZ.js";
10
+ } from "./chunk-47VEOHZN.js";
10
11
 
11
12
  // src/drivers/sui/index.ts
12
13
  import { SuiJsonRpcClient } from "@mysten/sui/jsonRpc";
@@ -152,39 +153,30 @@ import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519";
152
153
  function assertSuiWallet(wallet, network) {
153
154
  if (typeof wallet !== "object" || wallet === null) {
154
155
  throw new WrongFamilyError(
155
- `chain ${network} is Sui; wallet must be { privateKey } (suiprivkey1\u2026 ) or { keypair }.`
156
+ `chain ${network} is Sui; wallet must be { key } (suiprivkey1\u2026 ) or { keypair }.`
156
157
  );
157
158
  }
158
- if ("walletClient" in wallet) {
159
+ assertNoLegacyWalletKey(wallet, "Sui");
160
+ if (!("key" in wallet) && !("keypair" in wallet)) {
159
161
  throw new 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 WrongFamilyError(
165
- `chain ${network} is Sui; that looks like another family's wallet \u2014 pass { privateKey } (suiprivkey1\u2026) or { keypair }.`
166
- );
167
- }
168
- if (!("privateKey" in wallet) && !("keypair" in wallet)) {
169
- throw new WrongFamilyError(
170
- `chain ${network} is Sui; wallet must be { privateKey } (suiprivkey1\u2026) or { keypair }.`
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 Ed25519Keypair.fromSecretKey(config.privateKey);
171
+ return Ed25519Keypair.fromSecretKey(config.key);
180
172
  } catch (cause) {
181
173
  throw new WrongFamilyError(
182
- "Sui wallet { privateKey } is not a valid suiprivkey1\u2026 secret (or 32-byte key).",
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 WrongFamilyError("Sui wallet needs { privateKey } (suiprivkey1\u2026) or { keypair }.");
179
+ throw new WrongFamilyError("Sui wallet needs { key } (suiprivkey1\u2026) or { keypair }.");
188
180
  }
189
181
 
190
182
  // src/drivers/sui/index.ts
@@ -5,10 +5,11 @@ import {
5
5
  ConfirmationTimeoutError,
6
6
  UnknownTokenError,
7
7
  WrongFamilyError,
8
+ assertNoLegacyWalletKey,
8
9
  nativeCost,
9
10
  rejectForeignToken,
10
11
  toInsufficientFundsError
11
- } from "./chunk-L6WQRHEZ.js";
12
+ } from "./chunk-47VEOHZN.js";
12
13
 
13
14
  // src/drivers/ton/index.ts
14
15
  import { Address as Address2 } from "@ton/core";
@@ -203,17 +204,13 @@ import { WalletContractV4, WalletContractV5R1 } from "@ton/ton";
203
204
  function assertTonWallet(wallet, network) {
204
205
  if (typeof wallet !== "object" || wallet === null) {
205
206
  throw new WrongFamilyError(
206
- `chain ${network} is TON; wallet must be { mnemonic } (24 words) or { keyPair }.`
207
+ `chain ${network} is TON; wallet must be { key } (24-word mnemonic) or { keyPair }.`
207
208
  );
208
209
  }
209
- if ("privateKey" in wallet || "walletClient" in wallet) {
210
+ assertNoLegacyWalletKey(wallet, "TON");
211
+ if (!("key" in wallet) && !("keyPair" in wallet)) {
210
212
  throw new WrongFamilyError(
211
- `chain ${network} is TON; an EVM wallet can't be used \u2014 pass { mnemonic } (24 words) or { keyPair }.`
212
- );
213
- }
214
- if (!("mnemonic" in wallet) && !("keyPair" in wallet)) {
215
- throw new WrongFamilyError(
216
- `chain ${network} is TON; wallet must be { mnemonic } (24 words) or { keyPair }.`
213
+ `chain ${network} is TON; wallet must be { key } (24-word mnemonic) or { keyPair }.`
217
214
  );
218
215
  }
219
216
  return wallet;
@@ -221,13 +218,13 @@ function assertTonWallet(wallet, network) {
221
218
  async function resolveTonWallet(config) {
222
219
  const version = config.version ?? "v4";
223
220
  let keyPair;
224
- if (config.mnemonic) {
225
- const words = Array.isArray(config.mnemonic) ? config.mnemonic : config.mnemonic.trim().split(/\s+/);
221
+ if (config.key) {
222
+ const words = Array.isArray(config.key) ? config.key : config.key.trim().split(/\s+/);
226
223
  keyPair = await mnemonicToWalletKey(words);
227
224
  } else if (config.keyPair) {
228
225
  keyPair = config.keyPair;
229
226
  } else {
230
- throw new WrongFamilyError("TON wallet needs { mnemonic } (24 words) or { keyPair }.");
227
+ throw new WrongFamilyError("TON wallet needs { key } (24-word mnemonic) or { keyPair }.");
231
228
  }
232
229
  const contract = version === "v5r1" ? WalletContractV5R1.create({ workchain: 0, publicKey: keyPair.publicKey }) : WalletContractV4.create({ workchain: 0, publicKey: keyPair.publicKey });
233
230
  return { keyPair, contract };
@@ -8,7 +8,8 @@ var _chunkCQREG5LEcjs = require('./chunk-CQREG5LE.cjs');
8
8
 
9
9
 
10
10
 
11
- var _chunkU35MG4TFcjs = require('./chunk-U35MG4TF.cjs');
11
+
12
+ var _chunkDKQXW454cjs = require('./chunk-DKQXW454.cjs');
12
13
 
13
14
  // src/drivers/ton/index.ts
14
15
  var _core = require('@ton/core');
@@ -74,7 +75,7 @@ async function waitForSeqno(opened, from, { tries = 30, intervalMs = 2e3 } = {})
74
75
  }
75
76
  if (current > from) return;
76
77
  }
77
- throw new (0, _chunkU35MG4TFcjs.ConfirmationTimeoutError)(
78
+ throw new (0, _chunkDKQXW454cjs.ConfirmationTimeoutError)(
78
79
  `TON wallet seqno did not advance past ${from} \u2014 the payment may not have been accepted.`
79
80
  );
80
81
  }
@@ -202,18 +203,14 @@ var _crypto = require('@ton/crypto');
202
203
 
203
204
  function assertTonWallet(wallet, network) {
204
205
  if (typeof wallet !== "object" || wallet === null) {
205
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
206
- `chain ${network} is TON; wallet must be { mnemonic } (24 words) or { keyPair }.`
207
- );
208
- }
209
- if ("privateKey" in wallet || "walletClient" in wallet) {
210
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
211
- `chain ${network} is TON; an EVM wallet can't be used \u2014 pass { mnemonic } (24 words) or { keyPair }.`
206
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
207
+ `chain ${network} is TON; wallet must be { key } (24-word mnemonic) or { keyPair }.`
212
208
  );
213
209
  }
214
- if (!("mnemonic" in wallet) && !("keyPair" in wallet)) {
215
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
216
- `chain ${network} is TON; wallet must be { mnemonic } (24 words) or { keyPair }.`
210
+ _chunkDKQXW454cjs.assertNoLegacyWalletKey.call(void 0, wallet, "TON");
211
+ if (!("key" in wallet) && !("keyPair" in wallet)) {
212
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
213
+ `chain ${network} is TON; wallet must be { key } (24-word mnemonic) or { keyPair }.`
217
214
  );
218
215
  }
219
216
  return wallet;
@@ -221,13 +218,13 @@ function assertTonWallet(wallet, network) {
221
218
  async function resolveTonWallet(config) {
222
219
  const version = _nullishCoalesce(config.version, () => ( "v4"));
223
220
  let keyPair;
224
- if (config.mnemonic) {
225
- const words = Array.isArray(config.mnemonic) ? config.mnemonic : config.mnemonic.trim().split(/\s+/);
221
+ if (config.key) {
222
+ const words = Array.isArray(config.key) ? config.key : config.key.trim().split(/\s+/);
226
223
  keyPair = await _crypto.mnemonicToWalletKey.call(void 0, words);
227
224
  } else if (config.keyPair) {
228
225
  keyPair = config.keyPair;
229
226
  } else {
230
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)("TON wallet needs { mnemonic } (24 words) or { keyPair }.");
227
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)("TON wallet needs { key } (24-word mnemonic) or { keyPair }.");
231
228
  }
232
229
  const contract = version === "v5r1" ? _ton.WalletContractV5R1.create({ workchain: 0, publicKey: keyPair.publicKey }) : _ton.WalletContractV4.create({ workchain: 0, publicKey: keyPair.publicKey });
233
230
  return { keyPair, contract };
@@ -270,15 +267,15 @@ function makeTonNetwork(preset, rpcUrl) {
270
267
  const info = preset.tokens[token.toUpperCase()];
271
268
  if (!info) {
272
269
  const known = Object.keys(preset.tokens).join(", ") || "(none built in)";
273
- throw new (0, _chunkU35MG4TFcjs.UnknownTokenError)(
270
+ throw new (0, _chunkDKQXW454cjs.UnknownTokenError)(
274
271
  `token "${token}" isn't built in for TON (known: ${known}). Note: native USDC doesn't exist on TON. Pass { master, decimals } for a custom jetton, or use 'native'.`
275
272
  );
276
273
  }
277
274
  return { asset: info.master, decimals: info.decimals, symbol: info.symbol };
278
275
  }
279
- _chunkU35MG4TFcjs.rejectForeignToken.call(void 0, token, "ton", network);
276
+ _chunkDKQXW454cjs.rejectForeignToken.call(void 0, token, "ton", network);
280
277
  if (!("master" in token)) {
281
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
278
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
282
279
  `chain ${network} is TON; a custom token must be { master, decimals }.`
283
280
  );
284
281
  }
@@ -297,14 +294,14 @@ function makeTonNetwork(preset, rpcUrl) {
297
294
  },
298
295
  assertValidPayTo(payTo) {
299
296
  if (payTo.startsWith("0x")) {
300
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
297
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
301
298
  `chain ${network} is TON, but payTo "${payTo}" looks like an EVM address.`
302
299
  );
303
300
  }
304
301
  try {
305
302
  _core.Address.parse(payTo);
306
303
  } catch (e6) {
307
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
304
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
308
305
  `chain ${network} is TON, but payTo "${payTo}" is not a valid TON address.`
309
306
  );
310
307
  }
@@ -320,7 +317,7 @@ function makeTonNetwork(preset, rpcUrl) {
320
317
  const watch = await watchAccountFor(accept);
321
318
  return encodeRef(watch, accept.extra.nonce);
322
319
  } catch (err) {
323
- throw _nullishCoalesce(_chunkU35MG4TFcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
320
+ throw _nullishCoalesce(_chunkDKQXW454cjs.toInsufficientFundsError.call(void 0, err), () => ( err));
324
321
  }
325
322
  },
326
323
  async confirm(ref) {
@@ -339,12 +336,12 @@ function makeTonNetwork(preset, rpcUrl) {
339
336
  if (inc && inc.comment === nonce) return { height: tx.lt.toString() };
340
337
  }
341
338
  }
342
- throw new (0, _chunkU35MG4TFcjs.ConfirmationTimeoutError)(`TON payment for nonce ${nonce} did not settle in time.`);
339
+ throw new (0, _chunkDKQXW454cjs.ConfirmationTimeoutError)(`TON payment for nonce ${nonce} did not settle in time.`);
343
340
  },
344
341
  async estimateCost(accept) {
345
342
  const fee = accept.asset === "native" ? 10000000n : 50000000n;
346
343
  const detail = accept.asset === "native" ? "~0.01 TON network fee" : "~0.05 TON attached for the jetton transfer (leftover refunded)";
347
- return _chunkU35MG4TFcjs.nativeCost.call(void 0, { symbol: "TON", decimals: TON_DECIMALS, fee, basis: "heuristic", detail });
344
+ return _chunkDKQXW454cjs.nativeCost.call(void 0, { symbol: "TON", decimals: TON_DECIMALS, fee, basis: "heuristic", detail });
348
345
  },
349
346
  async balanceOf(wallet, asset) {
350
347
  let owner;
@@ -9,7 +9,8 @@ var _chunkCQREG5LEcjs = require('./chunk-CQREG5LE.cjs');
9
9
 
10
10
 
11
11
 
12
- var _chunkU35MG4TFcjs = require('./chunk-U35MG4TF.cjs');
12
+
13
+ var _chunkDKQXW454cjs = require('./chunk-DKQXW454.cjs');
13
14
 
14
15
  // src/drivers/tron/index.ts
15
16
  var _tronweb = require('tronweb');
@@ -61,7 +62,7 @@ async function payTron(params) {
61
62
  return _nullishCoalesce(_nullishCoalesce(broadcast.txid, () => ( _optionalChain([broadcast, 'access', _7 => _7.transaction, 'optionalAccess', _8 => _8.txID]))), () => ( signed.txID));
62
63
  }
63
64
  if (isTronAffordability(broadcast.code, broadcast.message)) {
64
- throw new (0, _chunkU35MG4TFcjs.InsufficientFundsError)(
65
+ throw new (0, _chunkDKQXW454cjs.InsufficientFundsError)(
65
66
  `Tron payment rejected (${_nullishCoalesce(broadcast.code, () => ( "broadcast"))}): not enough TRX for energy/bandwidth, or insufficient token balance.`
66
67
  );
67
68
  }
@@ -69,8 +70,8 @@ async function payTron(params) {
69
70
  `Tron broadcast failed: ${_nullishCoalesce(broadcast.code, () => ( ""))} ${decodeMaybeHex(broadcast.message)}`.trim()
70
71
  );
71
72
  } catch (err) {
72
- if (err instanceof _chunkU35MG4TFcjs.InsufficientFundsError) throw err;
73
- throw _nullishCoalesce(_chunkU35MG4TFcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
73
+ if (err instanceof _chunkDKQXW454cjs.InsufficientFundsError) throw err;
74
+ throw _nullishCoalesce(_chunkDKQXW454cjs.toInsufficientFundsError.call(void 0, err), () => ( err));
74
75
  }
75
76
  }
76
77
  async function payTronNative(params) {
@@ -83,7 +84,7 @@ async function payTronNative(params) {
83
84
  return _nullishCoalesce(_nullishCoalesce(broadcast.txid, () => ( _optionalChain([broadcast, 'access', _11 => _11.transaction, 'optionalAccess', _12 => _12.txID]))), () => ( signed.txID));
84
85
  }
85
86
  if (isTronAffordability(broadcast.code, broadcast.message)) {
86
- throw new (0, _chunkU35MG4TFcjs.InsufficientFundsError)(
87
+ throw new (0, _chunkDKQXW454cjs.InsufficientFundsError)(
87
88
  `Tron TRX payment rejected (${_nullishCoalesce(broadcast.code, () => ( "broadcast"))}): not enough TRX for the amount plus bandwidth (and the ~1 TRX account-creation fee if the recipient is new).`
88
89
  );
89
90
  }
@@ -91,8 +92,8 @@ async function payTronNative(params) {
91
92
  `Tron TRX broadcast failed: ${_nullishCoalesce(broadcast.code, () => ( ""))} ${decodeMaybeHex(broadcast.message)}`.trim()
92
93
  );
93
94
  } catch (err) {
94
- if (err instanceof _chunkU35MG4TFcjs.InsufficientFundsError) throw err;
95
- throw _nullishCoalesce(_chunkU35MG4TFcjs.toInsufficientFundsError.call(void 0, err), () => ( err));
95
+ if (err instanceof _chunkDKQXW454cjs.InsufficientFundsError) throw err;
96
+ throw _nullishCoalesce(_chunkDKQXW454cjs.toInsufficientFundsError.call(void 0, err), () => ( err));
96
97
  }
97
98
  }
98
99
  function decodeMaybeHex(message) {
@@ -263,35 +264,26 @@ function txNotFound(txid) {
263
264
  // src/drivers/tron/wallet.ts
264
265
  function assertTronWallet(wallet, network) {
265
266
  if (typeof wallet !== "object" || wallet === null) {
266
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
267
- `chain ${network} is Tron; wallet must be { privateKey } (32-byte hex).`
268
- );
269
- }
270
- if ("walletClient" in wallet) {
271
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
272
- `chain ${network} is Tron; a viem { walletClient } can't be used \u2014 pass { privateKey } (32-byte hex).`
273
- );
274
- }
275
- if ("secretKey" in wallet || "signer" in wallet || "mnemonic" in wallet || "keyPair" in wallet || "secret" in wallet || "keypair" in wallet || "seed" in wallet) {
276
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
277
- `chain ${network} is Tron; that looks like a Solana/TON/Stellar/XRPL wallet \u2014 pass { privateKey } (32-byte hex).`
267
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
268
+ `chain ${network} is Tron; wallet must be { key } (32-byte hex).`
278
269
  );
279
270
  }
280
- if (!("privateKey" in wallet)) {
281
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
282
- `chain ${network} is Tron; wallet must be { privateKey } (32-byte hex).`
271
+ _chunkDKQXW454cjs.assertNoLegacyWalletKey.call(void 0, wallet, "Tron");
272
+ if (!("key" in wallet)) {
273
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
274
+ `chain ${network} is Tron; wallet must be { key } (32-byte hex).`
283
275
  );
284
276
  }
285
277
  return wallet;
286
278
  }
287
279
  function resolveTronPrivateKey(config) {
288
- if (!config.privateKey) {
289
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)("Tron wallet needs { privateKey } (32-byte hex).");
280
+ if (!config.key) {
281
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)("Tron wallet needs { key } (32-byte hex).");
290
282
  }
291
- const hex = config.privateKey.replace(/^0x/i, "").toLowerCase();
283
+ const hex = config.key.replace(/^0x/i, "").toLowerCase();
292
284
  if (!/^[0-9a-f]{64}$/.test(hex)) {
293
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
294
- "Tron wallet { privateKey } must be a 32-byte hex string (64 hex chars)."
285
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
286
+ "Tron wallet { key } must be a 32-byte hex string (64 hex chars)."
295
287
  );
296
288
  }
297
289
  return hex;
@@ -340,21 +332,21 @@ function makeTronNetwork(preset, rpcUrl) {
340
332
  const info = preset.tokens[token.toUpperCase()];
341
333
  if (!info) {
342
334
  const known = Object.keys(preset.tokens).join(", ") || "(none built in)";
343
- throw new (0, _chunkU35MG4TFcjs.UnknownTokenError)(
335
+ throw new (0, _chunkDKQXW454cjs.UnknownTokenError)(
344
336
  `token "${token}" isn't built in for Tron (known: ${known}). Note: native USDC doesn't exist on Tron. Pass { address, decimals } for a custom TRC-20.`
345
337
  );
346
338
  }
347
339
  return { asset: info.address, decimals: info.decimals, symbol: info.symbol };
348
340
  }
349
- _chunkU35MG4TFcjs.rejectForeignToken.call(void 0, token, "tron", network);
341
+ _chunkDKQXW454cjs.rejectForeignToken.call(void 0, token, "tron", network);
350
342
  if (!("address" in token)) {
351
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
343
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
352
344
  `chain ${network} is Tron; a custom token must be { address, decimals } (Base58 T\u2026 contract).`
353
345
  );
354
346
  }
355
347
  const t = token;
356
348
  if (t.address.startsWith("0x") || !tronWeb.isAddress(t.address)) {
357
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
349
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
358
350
  `chain ${network} is Tron, but token address "${t.address}" is not a valid Tron contract (T\u2026).`
359
351
  );
360
352
  }
@@ -373,12 +365,12 @@ function makeTronNetwork(preset, rpcUrl) {
373
365
  },
374
366
  assertValidPayTo(payTo) {
375
367
  if (payTo.startsWith("0x")) {
376
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
368
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
377
369
  `chain ${network} is Tron, but payTo "${payTo}" looks like an EVM address.`
378
370
  );
379
371
  }
380
372
  if (!tronWeb.isAddress(payTo)) {
381
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)(
373
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)(
382
374
  `chain ${network} is Tron, but payTo "${payTo}" is not a valid Tron address (T\u2026).`
383
375
  );
384
376
  }
@@ -390,7 +382,7 @@ function makeTronNetwork(preset, rpcUrl) {
390
382
  const privateKey = resolveTronPrivateKey(wallet._native);
391
383
  const from = tronWeb.address.fromPrivateKey(privateKey);
392
384
  if (!from) {
393
- throw new (0, _chunkU35MG4TFcjs.WrongFamilyError)("Tron wallet { privateKey } could not derive an address.");
385
+ throw new (0, _chunkDKQXW454cjs.WrongFamilyError)("Tron wallet { key } could not derive an address.");
394
386
  }
395
387
  if (accept.asset === "native") {
396
388
  return payTronNative({ client: tronWeb, from, privateKey, accept });
@@ -413,11 +405,11 @@ function makeTronNetwork(preset, rpcUrl) {
413
405
  }
414
406
  await _chunkCQREG5LEcjs.delay.call(void 0, 2500);
415
407
  }
416
- throw new (0, _chunkU35MG4TFcjs.ConfirmationTimeoutError)(`Tron tx ${txid} did not solidify in time.`);
408
+ throw new (0, _chunkDKQXW454cjs.ConfirmationTimeoutError)(`Tron tx ${txid} did not solidify in time.`);
417
409
  },
418
410
  async estimateCost(accept, opts) {
419
411
  if (accept.asset === "native") {
420
- return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
412
+ return _chunkDKQXW454cjs.nativeCost.call(void 0, {
421
413
  symbol: "TRX",
422
414
  decimals: TRX_DECIMALS,
423
415
  fee: 1300000n,
@@ -441,7 +433,7 @@ function makeTronNetwork(preset, rpcUrl) {
441
433
  );
442
434
  const energy = BigInt(_nullishCoalesce(r.energy_used, () => ( 0)));
443
435
  if (energy > 0n) {
444
- return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
436
+ return _chunkDKQXW454cjs.nativeCost.call(void 0, {
445
437
  symbol: "TRX",
446
438
  decimals: TRX_DECIMALS,
447
439
  fee: energy * ENERGY_PRICE + BANDWIDTH_SUN,
@@ -452,7 +444,7 @@ function makeTronNetwork(preset, rpcUrl) {
452
444
  } catch (e8) {
453
445
  }
454
446
  }
455
- return _chunkU35MG4TFcjs.nativeCost.call(void 0, {
447
+ return _chunkDKQXW454cjs.nativeCost.call(void 0, {
456
448
  symbol: "TRX",
457
449
  decimals: TRX_DECIMALS,
458
450
  fee: 30000n * ENERGY_PRICE + BANDWIDTH_SUN,
@@ -6,10 +6,11 @@ import {
6
6
  InsufficientFundsError,
7
7
  UnknownTokenError,
8
8
  WrongFamilyError,
9
+ assertNoLegacyWalletKey,
9
10
  nativeCost,
10
11
  rejectForeignToken,
11
12
  toInsufficientFundsError
12
- } from "./chunk-L6WQRHEZ.js";
13
+ } from "./chunk-47VEOHZN.js";
13
14
 
14
15
  // src/drivers/tron/index.ts
15
16
  import { TronWeb } from "tronweb";
@@ -264,34 +265,25 @@ function txNotFound(txid) {
264
265
  function assertTronWallet(wallet, network) {
265
266
  if (typeof wallet !== "object" || wallet === null) {
266
267
  throw new WrongFamilyError(
267
- `chain ${network} is Tron; wallet must be { privateKey } (32-byte hex).`
268
+ `chain ${network} is Tron; wallet must be { key } (32-byte hex).`
268
269
  );
269
270
  }
270
- if ("walletClient" in wallet) {
271
+ assertNoLegacyWalletKey(wallet, "Tron");
272
+ if (!("key" in wallet)) {
271
273
  throw new WrongFamilyError(
272
- `chain ${network} is Tron; a viem { walletClient } can't be used \u2014 pass { privateKey } (32-byte hex).`
273
- );
274
- }
275
- if ("secretKey" in wallet || "signer" in wallet || "mnemonic" in wallet || "keyPair" in wallet || "secret" in wallet || "keypair" in wallet || "seed" in wallet) {
276
- throw new WrongFamilyError(
277
- `chain ${network} is Tron; that looks like a Solana/TON/Stellar/XRPL wallet \u2014 pass { privateKey } (32-byte hex).`
278
- );
279
- }
280
- if (!("privateKey" in wallet)) {
281
- throw new WrongFamilyError(
282
- `chain ${network} is Tron; wallet must be { privateKey } (32-byte hex).`
274
+ `chain ${network} is Tron; wallet must be { key } (32-byte hex).`
283
275
  );
284
276
  }
285
277
  return wallet;
286
278
  }
287
279
  function resolveTronPrivateKey(config) {
288
- if (!config.privateKey) {
289
- throw new WrongFamilyError("Tron wallet needs { privateKey } (32-byte hex).");
280
+ if (!config.key) {
281
+ throw new WrongFamilyError("Tron wallet needs { key } (32-byte hex).");
290
282
  }
291
- const hex = config.privateKey.replace(/^0x/i, "").toLowerCase();
283
+ const hex = config.key.replace(/^0x/i, "").toLowerCase();
292
284
  if (!/^[0-9a-f]{64}$/.test(hex)) {
293
285
  throw new WrongFamilyError(
294
- "Tron wallet { privateKey } must be a 32-byte hex string (64 hex chars)."
286
+ "Tron wallet { key } must be a 32-byte hex string (64 hex chars)."
295
287
  );
296
288
  }
297
289
  return hex;
@@ -390,7 +382,7 @@ function makeTronNetwork(preset, rpcUrl) {
390
382
  const privateKey = resolveTronPrivateKey(wallet._native);
391
383
  const from = tronWeb.address.fromPrivateKey(privateKey);
392
384
  if (!from) {
393
- throw new WrongFamilyError("Tron wallet { privateKey } could not derive an address.");
385
+ throw new WrongFamilyError("Tron wallet { key } could not derive an address.");
394
386
  }
395
387
  if (accept.asset === "native") {
396
388
  return payTronNative({ client: tronWeb, from, privateKey, accept });
@@ -7,12 +7,13 @@ import {
7
7
  RecipientNotReadyError,
8
8
  UnknownTokenError,
9
9
  WrongFamilyError,
10
+ assertNoLegacyWalletKey,
10
11
  floorUnits,
11
12
  nativeCost,
12
13
  parseUnits,
13
14
  rejectForeignToken,
14
15
  toInsufficientFundsError
15
- } from "./chunk-L6WQRHEZ.js";
16
+ } from "./chunk-47VEOHZN.js";
16
17
 
17
18
  // src/drivers/xrpl/index.ts
18
19
  import { isValidClassicAddress } from "xrpl";
@@ -254,35 +255,26 @@ import { Wallet, isValidSecret } from "xrpl";
254
255
  function assertXrplWallet(wallet, network) {
255
256
  if (typeof wallet !== "object" || wallet === null) {
256
257
  throw new WrongFamilyError(
257
- `chain ${network} is XRPL; wallet must be { seed } (s\u2026 seed) or { wallet }.`
258
+ `chain ${network} is XRPL; wallet must be { key } (s\u2026 seed) or { wallet }.`
258
259
  );
259
260
  }
260
- if ("privateKey" in wallet || "walletClient" in wallet) {
261
+ assertNoLegacyWalletKey(wallet, "XRPL");
262
+ if (!("key" in wallet) && !("wallet" in wallet)) {
261
263
  throw new WrongFamilyError(
262
- `chain ${network} is XRPL; an EVM wallet can't be used \u2014 pass { seed } (s\u2026 seed) or { wallet }.`
263
- );
264
- }
265
- if ("secretKey" in wallet || "signer" in wallet || "mnemonic" in wallet || "keyPair" in wallet || "secret" in wallet || "keypair" in wallet) {
266
- throw new WrongFamilyError(
267
- `chain ${network} is XRPL; that looks like a Solana/TON/Stellar wallet \u2014 pass { seed } (s\u2026 seed) or { wallet }.`
268
- );
269
- }
270
- if (!("seed" in wallet) && !("wallet" in wallet)) {
271
- throw new WrongFamilyError(
272
- `chain ${network} is XRPL; wallet must be { seed } (s\u2026 seed) or { wallet }.`
264
+ `chain ${network} is XRPL; wallet must be { key } (s\u2026 seed) or { wallet }.`
273
265
  );
274
266
  }
275
267
  return wallet;
276
268
  }
277
269
  function resolveXrplWallet(config) {
278
270
  if (config.wallet) return config.wallet;
279
- if (config.seed) {
280
- if (!isValidSecret(config.seed)) {
281
- throw new WrongFamilyError("XRPL wallet { seed } is not a valid s\u2026 secret seed.");
271
+ if (config.key) {
272
+ if (!isValidSecret(config.key)) {
273
+ throw new WrongFamilyError("XRPL wallet { key } is not a valid s\u2026 secret seed.");
282
274
  }
283
- return Wallet.fromSeed(config.seed);
275
+ return Wallet.fromSeed(config.key);
284
276
  }
285
- throw new WrongFamilyError("XRPL wallet needs { seed } (s\u2026 seed) or { wallet }.");
277
+ throw new WrongFamilyError("XRPL wallet needs { key } (s\u2026 seed) or { wallet }.");
286
278
  }
287
279
 
288
280
  // src/drivers/xrpl/index.ts