@lifi/sdk 3.16.2 → 3.17.0-beta.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 (42) hide show
  1. package/package.json +1 -1
  2. package/src/_cjs/core/EVM/getEVMBalance.js +8 -1
  3. package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -1
  4. package/src/_cjs/core/Solana/getSolanaBalance.js +21 -18
  5. package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -1
  6. package/src/_cjs/core/Sui/getSuiBalance.js +9 -11
  7. package/src/_cjs/core/Sui/getSuiBalance.js.map +1 -1
  8. package/src/_cjs/core/UTXO/getUTXOBalance.js +10 -3
  9. package/src/_cjs/core/UTXO/getUTXOBalance.js.map +1 -1
  10. package/src/_cjs/core/checkBalance.js +106 -23
  11. package/src/_cjs/core/checkBalance.js.map +1 -1
  12. package/src/_cjs/services/api.js +6 -3
  13. package/src/_cjs/services/api.js.map +1 -1
  14. package/src/_cjs/version.js +1 -1
  15. package/src/_cjs/version.js.map +1 -1
  16. package/src/_esm/core/EVM/getEVMBalance.js +10 -1
  17. package/src/_esm/core/EVM/getEVMBalance.js.map +1 -1
  18. package/src/_esm/core/Solana/getSolanaBalance.js +24 -18
  19. package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -1
  20. package/src/_esm/core/Sui/getSuiBalance.js +11 -11
  21. package/src/_esm/core/Sui/getSuiBalance.js.map +1 -1
  22. package/src/_esm/core/UTXO/getUTXOBalance.js +12 -3
  23. package/src/_esm/core/UTXO/getUTXOBalance.js.map +1 -1
  24. package/src/_esm/core/checkBalance.js +126 -25
  25. package/src/_esm/core/checkBalance.js.map +1 -1
  26. package/src/_esm/services/api.js +6 -3
  27. package/src/_esm/services/api.js.map +1 -1
  28. package/src/_esm/version.js +1 -1
  29. package/src/_esm/version.js.map +1 -1
  30. package/src/_types/core/UTXO/getUTXOBalance.d.ts.map +1 -1
  31. package/src/_types/core/checkBalance.d.ts +13 -1
  32. package/src/_types/core/checkBalance.d.ts.map +1 -1
  33. package/src/_types/services/api.d.ts.map +1 -1
  34. package/src/_types/version.d.ts +1 -1
  35. package/src/_types/version.d.ts.map +1 -1
  36. package/src/core/EVM/getEVMBalance.ts +10 -1
  37. package/src/core/Solana/getSolanaBalance.ts +23 -16
  38. package/src/core/Sui/getSuiBalance.ts +10 -10
  39. package/src/core/UTXO/getUTXOBalance.ts +15 -3
  40. package/src/core/checkBalance.ts +165 -33
  41. package/src/services/api.ts +6 -3
  42. package/src/version.ts +1 -1
@@ -20,7 +20,8 @@ const getSuiBalanceDefault = async (_chainId, tokens, walletAddress) => {
20
20
  })), { id: `${getSuiBalanceDefault.name}.getAllBalances` }),
21
21
  withDedupe(() => callSuiWithRetry((client) => client.getLatestCheckpointSequenceNumber()), { id: `${getSuiBalanceDefault.name}.getLatestCheckpointSequenceNumber` }),
22
22
  ]);
23
- const coinsResult = coins.status === 'fulfilled' ? coins.value : [];
23
+ const coinsOk = coins.status === 'fulfilled';
24
+ const coinsResult = coinsOk ? coins.value : [];
24
25
  const blockNumber = checkpoint.status === 'fulfilled' ? BigInt(checkpoint.value) : 0n;
25
26
  const walletTokenAmounts = coinsResult.reduce((tokenAmounts, coin) => {
26
27
  const amount = BigInt(coin.totalBalance);
@@ -34,17 +35,16 @@ const getSuiBalanceDefault = async (_chainId, tokens, walletAddress) => {
34
35
  walletTokenAmounts[SuiTokenLongAddress] = BigInt(suiTokenBalance.totalBalance);
35
36
  }
36
37
  const tokenAmounts = tokens.map((token) => {
37
- if (walletTokenAmounts[token.address]) {
38
- return {
39
- ...token,
40
- amount: walletTokenAmounts[token.address],
41
- blockNumber,
42
- };
38
+ const found = walletTokenAmounts[token.address];
39
+ if (found !== undefined) {
40
+ return { ...token, amount: found, blockNumber };
43
41
  }
44
- return {
45
- ...token,
46
- blockNumber,
47
- };
42
+ if (coinsOk) {
43
+ // Wallet genuinely has no coins of this type.
44
+ return { ...token, amount: 0n, blockNumber };
45
+ }
46
+ // RPC failed — leave amount undefined.
47
+ return { ...token, blockNumber };
48
48
  });
49
49
  return tokenAmounts;
50
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getSuiBalance.js","sourceRoot":"","sources":["../../../core/Sui/getSuiBalance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSuiBalance.js","sourceRoot":"","sources":["../../../core/Sui/getSuiBalance.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,23 @@ export const getUTXOBalance = async (walletAddress, tokens) => {
11
11
  }
12
12
  }
13
13
  const client = await getUTXOPublicClient(ChainId.BTC);
14
- const [balance, blockCount] = await Promise.all([
14
+ const [balance, blockCount] = await Promise.allSettled([
15
15
  client.getBalance({ address: walletAddress }),
16
16
  client.getBlockCount(),
17
17
  ]);
18
+ const blockNumber = blockCount.status === 'fulfilled' ? BigInt(blockCount.value) : 0n;
19
+ if (balance.status !== 'fulfilled') {
20
+ // RPC failed — leave amount undefined so callers can distinguish
21
+ // an unknown balance from a known zero.
22
+ return tokens.map((token) => ({
23
+ ...token,
24
+ blockNumber,
25
+ }));
26
+ }
18
27
  return tokens.map((token) => ({
19
28
  ...token,
20
- amount: balance,
21
- blockNumber: BigInt(blockCount),
29
+ amount: balance.value,
30
+ blockNumber,
22
31
  }));
23
32
  };
24
33
  //# sourceMappingURL=getUTXOBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUTXOBalance.js","sourceRoot":"","sources":["../../../core/UTXO/getUTXOBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgC,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAAqB,EACrB,MAAe,EACS,EAAE;IAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAC7C,MAAM,CAAC,aAAa,EAAE;KACvB,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,KAAK;QACR,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;KAChC,CAAC,CAAC,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"getUTXOBalance.js","sourceRoot":"","sources":["../../../core/UTXO/getUTXOBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgC,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAAqB,EACrB,MAAe,EACS,EAAE;IAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACrD,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAC7C,MAAM,CAAC,aAAa,EAAE;KACvB,CAAC,CAAA;IAEF,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAEnE,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACnC,iEAAiE;QACjE,wCAAwC;QACxC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5B,GAAG,KAAK;YACR,WAAW;SACZ,CAAC,CAAC,CAAA;IACL,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,GAAG,KAAK;QACR,MAAM,EAAE,OAAO,CAAC,KAAK;QACrB,WAAW;KACZ,CAAC,CAAC,CAAA;AACL,CAAC,CAAA"}
@@ -1,34 +1,135 @@
1
- import { formatUnits } from 'viem';
1
+ import { formatUnits, withTimeout } from 'viem';
2
+ import { config } from '../config.js';
2
3
  import { BalanceError } from '../errors/errors.js';
3
- import { getTokenBalance } from '../services/balance.js';
4
4
  import { sleep } from '../utils/sleep.js';
5
- export const checkBalance = async (walletAddress, step, depth = 0) => {
6
- const token = await getTokenBalance(walletAddress, step.action.fromToken);
7
- if (token) {
8
- const currentBalance = token.amount ?? 0n;
9
- const neededBalance = BigInt(step.action.fromAmount);
10
- if (currentBalance < neededBalance) {
11
- if (depth <= 3) {
12
- await sleep(200);
13
- await checkBalance(walletAddress, step, depth + 1);
5
+ const MAX_ATTEMPTS = 6;
6
+ // Exponential backoff: 150, 300, 600, 1200, 2400 → ≈4.65s of sleep total.
7
+ const BACKOFF_BASE_MS = 150;
8
+ const OVERALL_TIMEOUT_MS = 10_000;
9
+ const SLIPPAGE_PRECISION = 1000000000n;
10
+ /**
11
+ * Verifies that the wallet holds enough of every token required to execute
12
+ * the step on its source chain — the source-token amount, any gas costs, and
13
+ * any non-included fee costs. Reads all balances in one batched provider
14
+ * call, retries within a bounded budget to absorb transient RPC failures and
15
+ * post-confirmation propagation lag, and applies slippage to the source-token
16
+ * portion only as a last resort (overhead is never trimmed).
17
+ *
18
+ * Throws BalanceError("The balance is too low.") on a genuine shortfall, or
19
+ * BalanceError("Could not read wallet balance.") if the balance can't be read
20
+ * after retries.
21
+ */
22
+ export const checkBalance = async (walletAddress, step) => {
23
+ const fromChainId = step.action.fromChainId;
24
+ const requirements = new Map();
25
+ const add = (token, amount, source) => {
26
+ if (token.chainId !== fromChainId || amount === 0n) {
27
+ return;
28
+ }
29
+ const key = token.address.toLowerCase();
30
+ const req = requirements.get(key) ?? {
31
+ token,
32
+ sourcePart: 0n,
33
+ overheadPart: 0n,
34
+ };
35
+ if (source) {
36
+ req.sourcePart += amount;
37
+ }
38
+ else {
39
+ req.overheadPart += amount;
40
+ }
41
+ requirements.set(key, req);
42
+ };
43
+ add(step.action.fromToken, BigInt(step.action.fromAmount), true);
44
+ for (const gas of step.estimate?.gasCosts ?? []) {
45
+ add(gas.token, BigInt(gas.amount), false);
46
+ }
47
+ for (const fee of step.estimate?.feeCosts ?? []) {
48
+ // Included fees are already part of fromAmount — don't count twice.
49
+ if (!fee.included) {
50
+ add(fee.token, BigInt(fee.amount), false);
51
+ }
52
+ }
53
+ if (requirements.size === 0) {
54
+ return;
55
+ }
56
+ // Provider is dispatched by wallet address; all requirements share the
57
+ // source chain, which matches this provider by virtue of the address.
58
+ const provider = config
59
+ .get()
60
+ .providers.find((p) => p.isAddress(walletAddress));
61
+ if (!provider) {
62
+ throw new Error(`SDK Token Provider for ${walletAddress} is not found.`);
63
+ }
64
+ const reqs = Array.from(requirements.values());
65
+ const tokens = reqs.map((r) => r.token);
66
+ const slippage = step.action.slippage ?? 0;
67
+ const slippageScaled = BigInt(Math.floor((1 - slippage) * Number(SLIPPAGE_PRECISION)));
68
+ await withTimeout(async () => {
69
+ for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
70
+ const isFinal = attempt === MAX_ATTEMPTS - 1;
71
+ let balances;
72
+ try {
73
+ balances = await provider.getBalance(walletAddress, tokens);
14
74
  }
15
- else if ((neededBalance *
16
- BigInt((1 - (step.action.slippage ?? 0)) * 1_000_000_000)) /
17
- 1000000000n <=
18
- currentBalance) {
19
- // adjust amount in slippage limits
20
- step.action.fromAmount = currentBalance.toString();
75
+ catch (error) {
76
+ if (isFinal) {
77
+ throw new BalanceError('Could not read wallet balance.', error);
78
+ }
79
+ await sleep(BACKOFF_BASE_MS * 2 ** attempt);
80
+ continue;
81
+ }
82
+ const balanceByAddress = new Map(balances.map((b) => [b.address.toLowerCase(), b.amount]));
83
+ const unknown = [];
84
+ const insufficient = [];
85
+ for (const req of reqs) {
86
+ const have = balanceByAddress.get(req.token.address.toLowerCase());
87
+ if (have === undefined) {
88
+ unknown.push(req.token);
89
+ }
90
+ else if (have < req.sourcePart + req.overheadPart) {
91
+ insufficient.push({ req, have });
92
+ }
21
93
  }
22
- else {
23
- const needed = formatUnits(neededBalance, token.decimals);
24
- const current = formatUnits(currentBalance, token.decimals);
25
- let errorMessage = `Your ${token.symbol} balance is too low, you try to transfer ${needed} ${token.symbol}, but your wallet only holds ${current} ${token.symbol}. No funds have been sent.`;
26
- if (currentBalance !== 0n) {
27
- errorMessage += `If the problem consists, please delete this transfer and start a new one with a maximum of ${current} ${token.symbol}.`;
94
+ if (unknown.length === 0 && insufficient.length === 0) {
95
+ return;
96
+ }
97
+ // Final-attempt slippage rescue: only when the sole shortfall is the
98
+ // source-token portion. Trim source down to (balance overhead) so
99
+ // the overhead reserve is preserved.
100
+ if (isFinal &&
101
+ unknown.length === 0 &&
102
+ insufficient.length === 1 &&
103
+ insufficient[0].req.sourcePart > 0n) {
104
+ const { req, have } = insufficient[0];
105
+ const minAcceptable = (req.sourcePart * slippageScaled) / SLIPPAGE_PRECISION +
106
+ req.overheadPart;
107
+ if (have >= minAcceptable) {
108
+ step.action.fromAmount = (have - req.overheadPart).toString();
109
+ return;
110
+ }
111
+ }
112
+ if (isFinal) {
113
+ if (unknown.length > 0) {
114
+ throw new BalanceError('Could not read wallet balance.', new Error(`Could not read balance for: ${unknown
115
+ .map((t) => t.symbol || t.address)
116
+ .join(', ')}.`));
28
117
  }
29
- throw new BalanceError('The balance is too low.', new Error(errorMessage));
118
+ const lines = insufficient.map(({ req, have }) => {
119
+ const needed = formatUnits(req.sourcePart + req.overheadPart, req.token.decimals);
120
+ const current = formatUnits(have, req.token.decimals);
121
+ const symbol = req.token.symbol;
122
+ return req.sourcePart > 0n
123
+ ? `Your ${symbol} balance is too low, you try to transfer ${needed} ${symbol}, but your wallet only holds ${current} ${symbol}.`
124
+ : `Insufficient ${symbol} for fees: need ${needed} ${symbol}, have ${current} ${symbol}.`;
125
+ });
126
+ throw new BalanceError('The balance is too low.', new Error(`${lines.join(' ')} No funds have been sent.`));
30
127
  }
128
+ await sleep(BACKOFF_BASE_MS * 2 ** attempt);
31
129
  }
32
- }
130
+ }, {
131
+ timeout: OVERALL_TIMEOUT_MS,
132
+ errorInstance: new BalanceError('Could not read wallet balance.'),
133
+ });
33
134
  };
34
135
  //# sourceMappingURL=checkBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,YAAY,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACpD,CAAC;iBAAM,IACL,CAAC,aAAa;gBACZ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1D,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GAAG,QAAQ,KAAK,CAAC,MAAM,4CAA4C,MAAM,IAAI,KAAK,CAAC,MAAM,gCAAgC,OAAO,IAAI,KAAK,CAAC,MAAM,4BAA4B,CAAA;gBAE5L,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY,IAAI,8FAA8F,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBAC1I,CAAC;gBAED,MAAM,IAAI,YAAY,CACpB,yBAAyB,EACzB,IAAI,KAAK,CAAC,YAAY,CAAC,CACxB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":"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"}
@@ -303,7 +303,8 @@ export const getRelayedTransactionStatus = async (params, options) => {
303
303
  export const getChains = async (params, options) => {
304
304
  if (params) {
305
305
  for (const key of Object.keys(params)) {
306
- if (!params[key]) {
306
+ const value = params[key];
307
+ if (value === undefined || value === null) {
307
308
  delete params[key];
308
309
  }
309
310
  }
@@ -317,7 +318,8 @@ export const getChains = async (params, options) => {
317
318
  export async function getTokens(params, options) {
318
319
  if (params) {
319
320
  for (const key of Object.keys(params)) {
320
- if (!params[key]) {
321
+ const value = params[key];
322
+ if (value === undefined || value === null) {
321
323
  delete params[key];
322
324
  }
323
325
  }
@@ -360,7 +362,8 @@ export const getToken = async (chain, token, options) => {
360
362
  export const getTools = async (params, options) => {
361
363
  if (params) {
362
364
  for (const key of Object.keys(params)) {
363
- if (!params[key]) {
365
+ const value = params[key];
366
+ if (value === undefined || value === null) {
364
367
  delete params[key];
365
368
  }
366
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/sdk';
2
- export const version = '3.16.2';
2
+ export const version = '3.17.0-beta.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getUTXOBalance.d.ts","sourceRoot":"","sources":["../../../core/UTXO/getUTXOBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAGnE,eAAO,MAAM,cAAc,GACzB,eAAe,MAAM,EACrB,QAAQ,KAAK,EAAE,KACd,OAAO,CAAC,WAAW,EAAE,CAqBvB,CAAA"}
1
+ {"version":3,"file":"getUTXOBalance.d.ts","sourceRoot":"","sources":["../../../core/UTXO/getUTXOBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAGnE,eAAO,MAAM,cAAc,GACzB,eAAe,MAAM,EACrB,QAAQ,KAAK,EAAE,KACd,OAAO,CAAC,WAAW,EAAE,CAiCvB,CAAA"}
@@ -1,3 +1,15 @@
1
1
  import type { LiFiStep } from '@lifi/types';
2
- export declare const checkBalance: (walletAddress: string, step: LiFiStep, depth?: number) => Promise<void>;
2
+ /**
3
+ * Verifies that the wallet holds enough of every token required to execute
4
+ * the step on its source chain — the source-token amount, any gas costs, and
5
+ * any non-included fee costs. Reads all balances in one batched provider
6
+ * call, retries within a bounded budget to absorb transient RPC failures and
7
+ * post-confirmation propagation lag, and applies slippage to the source-token
8
+ * portion only as a last resort (overhead is never trimmed).
9
+ *
10
+ * Throws BalanceError("The balance is too low.") on a genuine shortfall, or
11
+ * BalanceError("Could not read wallet balance.") if the balance can't be read
12
+ * after retries.
13
+ */
14
+ export declare const checkBalance: (walletAddress: string, step: LiFiStep) => Promise<void>;
3
15
  //# sourceMappingURL=checkBalance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkBalance.d.ts","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAM3C,eAAO,MAAM,YAAY,GACvB,eAAe,MAAM,EACrB,MAAM,QAAQ,EACd,cAAS,KACR,OAAO,CAAC,IAAI,CAkCd,CAAA"}
1
+ {"version":3,"file":"checkBalance.d.ts","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAA;AAkB/D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,GACvB,eAAe,MAAM,EACrB,MAAM,QAAQ,KACb,OAAO,CAAC,IAAI,CA+Id,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "3.16.2";
2
+ export declare const version = "3.17.0-beta.0";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,cAAc,CAAA;AAC/B,eAAO,MAAM,OAAO,WAAW,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,cAAc,CAAA;AAC/B,eAAO,MAAM,OAAO,kBAAkB,CAAA"}
@@ -76,9 +76,18 @@ const getEVMBalanceMulticall = async (
76
76
  }
77
77
 
78
78
  return tokens.map((token, i: number) => {
79
+ const result = results[i]
80
+ if (result.status !== 'success') {
81
+ // RPC sub-call failed — leave amount undefined so callers can
82
+ // distinguish an unknown balance from a known zero.
83
+ return {
84
+ ...token,
85
+ blockNumber,
86
+ }
87
+ }
79
88
  return {
80
89
  ...token,
81
- amount: results[i].result as bigint,
90
+ amount: result.result as bigint,
82
91
  blockNumber,
83
92
  }
84
93
  })
@@ -76,15 +76,14 @@ const getSolanaBalanceDefault = async (
76
76
  ),
77
77
  ])
78
78
  const blockNumber = slot.status === 'fulfilled' ? BigInt(slot.value) : 0n
79
- const solBalance = balance.status === 'fulfilled' ? BigInt(balance.value) : 0n
79
+ const nativeBalanceOk = balance.status === 'fulfilled'
80
+ const solBalance = nativeBalanceOk ? BigInt(balance.value) : 0n
81
+ const tokenProgramOk = tokenAccountsByOwner.status === 'fulfilled'
82
+ const token2022ProgramOk = token2022AccountsByOwner.status === 'fulfilled'
80
83
 
81
84
  const walletTokenAmounts = [
82
- ...(tokenAccountsByOwner.status === 'fulfilled'
83
- ? tokenAccountsByOwner.value.value
84
- : []),
85
- ...(token2022AccountsByOwner.status === 'fulfilled'
86
- ? token2022AccountsByOwner.value.value
87
- : []),
85
+ ...(tokenProgramOk ? tokenAccountsByOwner.value.value : []),
86
+ ...(token2022ProgramOk ? token2022AccountsByOwner.value.value : []),
88
87
  ].reduce(
89
88
  (tokenAmounts: Record<string, bigint>, value: any) => {
90
89
  const amount = BigInt(value.account.data.parsed.info.tokenAmount.amount)
@@ -96,19 +95,27 @@ const getSolanaBalanceDefault = async (
96
95
  {} as Record<string, bigint>
97
96
  )
98
97
 
99
- walletTokenAmounts[SolSystemProgram] = solBalance
98
+ // We can only confidently report 0n for an SPL mint when both Token and
99
+ // Token2022 program queries succeeded — otherwise the mint may live in the
100
+ // program whose query failed (e.g. PYUSD on Token2022).
101
+ const splZeroIsKnown = tokenProgramOk && token2022ProgramOk
102
+
100
103
  const tokenAmounts: TokenAmount[] = tokens.map((token) => {
101
- if (walletTokenAmounts[token.address]) {
102
- return {
103
- ...token,
104
- amount: walletTokenAmounts[token.address],
105
- blockNumber,
104
+ const isNative = token.address === SolSystemProgram
105
+ if (isNative) {
106
+ if (!nativeBalanceOk) {
107
+ return { ...token, blockNumber }
106
108
  }
109
+ return { ...token, amount: solBalance, blockNumber }
110
+ }
111
+ const found = walletTokenAmounts[token.address]
112
+ if (found !== undefined) {
113
+ return { ...token, amount: found, blockNumber }
107
114
  }
108
- return {
109
- ...token,
110
- blockNumber,
115
+ if (splZeroIsKnown) {
116
+ return { ...token, amount: 0n, blockNumber }
111
117
  }
118
+ return { ...token, blockNumber }
112
119
  })
113
120
  return tokenAmounts
114
121
  }
@@ -45,7 +45,8 @@ const getSuiBalanceDefault = async (
45
45
  ),
46
46
  ])
47
47
 
48
- const coinsResult = coins.status === 'fulfilled' ? coins.value : []
48
+ const coinsOk = coins.status === 'fulfilled'
49
+ const coinsResult = coinsOk ? coins.value : []
49
50
  const blockNumber =
50
51
  checkpoint.status === 'fulfilled' ? BigInt(checkpoint.value) : 0n
51
52
 
@@ -70,17 +71,16 @@ const getSuiBalanceDefault = async (
70
71
  }
71
72
 
72
73
  const tokenAmounts: TokenAmount[] = tokens.map((token) => {
73
- if (walletTokenAmounts[token.address]) {
74
- return {
75
- ...token,
76
- amount: walletTokenAmounts[token.address],
77
- blockNumber,
78
- }
74
+ const found = walletTokenAmounts[token.address]
75
+ if (found !== undefined) {
76
+ return { ...token, amount: found, blockNumber }
79
77
  }
80
- return {
81
- ...token,
82
- blockNumber,
78
+ if (coinsOk) {
79
+ // Wallet genuinely has no coins of this type.
80
+ return { ...token, amount: 0n, blockNumber }
83
81
  }
82
+ // RPC failed — leave amount undefined.
83
+ return { ...token, blockNumber }
84
84
  })
85
85
  return tokenAmounts
86
86
  }
@@ -15,14 +15,26 @@ export const getUTXOBalance = async (
15
15
  }
16
16
  }
17
17
  const client = await getUTXOPublicClient(ChainId.BTC)
18
- const [balance, blockCount] = await Promise.all([
18
+ const [balance, blockCount] = await Promise.allSettled([
19
19
  client.getBalance({ address: walletAddress }),
20
20
  client.getBlockCount(),
21
21
  ])
22
22
 
23
+ const blockNumber =
24
+ blockCount.status === 'fulfilled' ? BigInt(blockCount.value) : 0n
25
+
26
+ if (balance.status !== 'fulfilled') {
27
+ // RPC failed — leave amount undefined so callers can distinguish
28
+ // an unknown balance from a known zero.
29
+ return tokens.map((token) => ({
30
+ ...token,
31
+ blockNumber,
32
+ }))
33
+ }
34
+
23
35
  return tokens.map((token) => ({
24
36
  ...token,
25
- amount: balance,
26
- blockNumber: BigInt(blockCount),
37
+ amount: balance.value,
38
+ blockNumber,
27
39
  }))
28
40
  }