@lifi/sdk 3.9.2 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -3,18 +3,18 @@
3
3
  "url": "https://github.com/lifinance/sdk/issues"
4
4
  },
5
5
  "dependencies": {
6
- "@bigmi/core": "^0.4.3",
6
+ "@bigmi/core": "^0.4.4",
7
7
  "@bitcoinerlab/secp256k1": "^1.2.0",
8
8
  "@lifi/types": "^17.29.0",
9
- "@mysten/sui": "^1.37.2",
10
- "@mysten/wallet-standard": "^0.16.10",
11
- "@noble/curves": "^1.9.6",
9
+ "@mysten/sui": "^1.37.3",
10
+ "@mysten/wallet-standard": "^0.16.11",
11
+ "@noble/curves": "^1.9.7",
12
12
  "@solana/wallet-adapter-base": "^0.9.27",
13
13
  "@solana/web3.js": "^1.98.4",
14
14
  "bech32": "^2.0.0",
15
15
  "bitcoinjs-lib": "^7.0.0-rc.0",
16
16
  "bs58": "^6.0.0",
17
- "viem": "^2.33.3"
17
+ "viem": "^2.34.0"
18
18
  },
19
19
  "description": "LI.FI Any-to-Any Cross-Chain-Swap SDK",
20
20
  "exports": {
@@ -70,5 +70,5 @@
70
70
  "sideEffects": false,
71
71
  "types": "./src/_types/index.d.ts",
72
72
  "typings": "./src/_types/index.d.ts",
73
- "version": "3.9.2"
73
+ "version": "3.10.0"
74
74
  }
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTokenBalancesByChain = exports.getTokenBalances = exports.getTokenBalance = void 0;
3
+ exports.getWalletBalances = exports.getTokenBalancesByChain = exports.getTokenBalances = exports.getTokenBalance = void 0;
4
4
  const config_js_1 = require("../config.js");
5
5
  const errors_js_1 = require("../errors/errors.js");
6
+ const request_js_1 = require("../request.js");
6
7
  const typeguards_js_1 = require("../typeguards.js");
7
8
  const getTokenBalance = async (walletAddress, token) => {
8
9
  const tokenAmounts = await (0, exports.getTokenBalances)(walletAddress, [token]);
@@ -38,7 +39,7 @@ const getTokenBalancesByChain = async (walletAddress, tokensByChain) => {
38
39
  }
39
40
  const tokenAmountsByChain = {};
40
41
  const tokenAmountsSettled = await Promise.allSettled(Object.keys(tokensByChain).map(async (chainIdStr) => {
41
- const chainId = Number.parseInt(chainIdStr);
42
+ const chainId = Number.parseInt(chainIdStr, 10);
42
43
  const chain = await config_js_1.config.getChainById(chainId);
43
44
  if (provider.type === chain.chainType) {
44
45
  const tokenAmounts = await provider.getBalance(walletAddress, tokensByChain[chainId]);
@@ -58,4 +59,14 @@ const getTokenBalancesByChain = async (walletAddress, tokensByChain) => {
58
59
  return tokenAmountsByChain;
59
60
  };
60
61
  exports.getTokenBalancesByChain = getTokenBalancesByChain;
62
+ const getWalletBalances = async (walletAddress, options) => {
63
+ if (!walletAddress) {
64
+ throw new errors_js_1.ValidationError('Missing walletAddress.');
65
+ }
66
+ const response = await (0, request_js_1.request)(`${config_js_1.config.get().apiUrl}/wallets/${walletAddress}/balances?extended=true`, {
67
+ signal: options?.signal,
68
+ });
69
+ return (response?.balances || {});
70
+ };
71
+ exports.getWalletBalances = getWalletBalances;
61
72
  //# sourceMappingURL=balance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../services/balance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../services/balance.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = exports.name = void 0;
4
4
  exports.name = '@lifi/sdk';
5
- exports.version = '3.9.2';
5
+ exports.version = '3.10.0';
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,WAAW,CAAA;AAClB,QAAA,OAAO,GAAG,OAAO,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,WAAW,CAAA;AAClB,QAAA,OAAO,GAAG,QAAQ,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { config } from '../config.js';
2
2
  import { ValidationError } from '../errors/errors.js';
3
+ import { request } from '../request.js';
3
4
  import { isToken } from '../typeguards.js';
4
5
  /**
5
6
  * Returns the balances of a specific token a wallet holds across all aggregated chains.
@@ -55,7 +56,7 @@ export const getTokenBalancesByChain = async (walletAddress, tokensByChain) => {
55
56
  }
56
57
  const tokenAmountsByChain = {};
57
58
  const tokenAmountsSettled = await Promise.allSettled(Object.keys(tokensByChain).map(async (chainIdStr) => {
58
- const chainId = Number.parseInt(chainIdStr);
59
+ const chainId = Number.parseInt(chainIdStr, 10);
59
60
  const chain = await config.getChainById(chainId);
60
61
  if (provider.type === chain.chainType) {
61
62
  const tokenAmounts = await provider.getBalance(walletAddress, tokensByChain[chainId]);
@@ -76,4 +77,20 @@ export const getTokenBalancesByChain = async (walletAddress, tokensByChain) => {
76
77
  }
77
78
  return tokenAmountsByChain;
78
79
  };
80
+ /**
81
+ * Returns the balances of tokens a wallet holds across EVM chains.
82
+ * @param walletAddress - A wallet address.
83
+ * @param options - Optional request options.
84
+ * @returns An object containing the tokens and the amounts organized by chain ids.
85
+ * @throws {BaseError} Throws a ValidationError if parameters are invalid.
86
+ */
87
+ export const getWalletBalances = async (walletAddress, options) => {
88
+ if (!walletAddress) {
89
+ throw new ValidationError('Missing walletAddress.');
90
+ }
91
+ const response = await request(`${config.get().apiUrl}/wallets/${walletAddress}/balances?extended=true`, {
92
+ signal: options?.signal,
93
+ });
94
+ return (response?.balances || {});
95
+ };
79
96
  //# sourceMappingURL=balance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../services/balance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../services/balance.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/sdk';
2
- export const version = '3.9.2';
2
+ export const version = '3.10.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,OAAO,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,QAAQ,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Token, TokenAmount } from '@lifi/types';
1
+ import type { RequestOptions, Token, TokenAmount, WalletTokenExtended } from '@lifi/types';
2
2
  /**
3
3
  * Returns the balances of a specific token a wallet holds across all aggregated chains.
4
4
  * @param walletAddress - A wallet address.
@@ -27,4 +27,12 @@ export declare const getTokenBalancesByChain: (walletAddress: string, tokensByCh
27
27
  }) => Promise<{
28
28
  [chainId: number]: TokenAmount[];
29
29
  }>;
30
+ /**
31
+ * Returns the balances of tokens a wallet holds across EVM chains.
32
+ * @param walletAddress - A wallet address.
33
+ * @param options - Optional request options.
34
+ * @returns An object containing the tokens and the amounts organized by chain ids.
35
+ * @throws {BaseError} Throws a ValidationError if parameters are invalid.
36
+ */
37
+ export declare const getWalletBalances: (walletAddress: string, options?: RequestOptions) => Promise<Record<number, WalletTokenExtended[]>>;
30
38
  //# sourceMappingURL=balance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../services/balance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAKrD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,eAAe,MAAM,EACrB,OAAO,KAAK,KACX,OAAO,CAAC,WAAW,GAAG,IAAI,CAG5B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,eAAe,MAAM,EACrB,QAAQ,KAAK,EAAE,KACd,OAAO,CAAC,WAAW,EAAE,CAkBvB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,eAAe,MAAM,EACrB,eAAe;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,CAAA;CAAE,KAC5C,OAAO,CAAC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;CAAE,CA4C9C,CAAA"}
1
+ {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../services/balance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EACd,KAAK,EACL,WAAW,EACX,mBAAmB,EACpB,MAAM,aAAa,CAAA;AAMpB;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,eAAe,MAAM,EACrB,OAAO,KAAK,KACX,OAAO,CAAC,WAAW,GAAG,IAAI,CAG5B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,eAAe,MAAM,EACrB,QAAQ,KAAK,EAAE,KACd,OAAO,CAAC,WAAW,EAAE,CAkBvB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAClC,eAAe,MAAM,EACrB,eAAe;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,CAAA;CAAE,KAC5C,OAAO,CAAC;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;CAAE,CA4C9C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,eAAe,MAAM,EACrB,UAAU,cAAc,KACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAa/C,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "3.9.2";
2
+ export declare const version = "3.10.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,UAAU,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,WAAW,CAAA"}
@@ -1,6 +1,13 @@
1
- import type { Token, TokenAmount } from '@lifi/types'
1
+ import type {
2
+ GetWalletBalanceExtendedResponse,
3
+ RequestOptions,
4
+ Token,
5
+ TokenAmount,
6
+ WalletTokenExtended,
7
+ } from '@lifi/types'
2
8
  import { config } from '../config.js'
3
9
  import { ValidationError } from '../errors/errors.js'
10
+ import { request } from '../request.js'
4
11
  import { isToken } from '../typeguards.js'
5
12
 
6
13
  /**
@@ -79,7 +86,7 @@ export const getTokenBalancesByChain = async (
79
86
  const tokenAmountsByChain: { [chainId: number]: TokenAmount[] } = {}
80
87
  const tokenAmountsSettled = await Promise.allSettled(
81
88
  Object.keys(tokensByChain).map(async (chainIdStr) => {
82
- const chainId = Number.parseInt(chainIdStr)
89
+ const chainId = Number.parseInt(chainIdStr, 10)
83
90
  const chain = await config.getChainById(chainId)
84
91
  if (provider.type === chain.chainType) {
85
92
  const tokenAmounts = await provider.getBalance(
@@ -103,3 +110,28 @@ export const getTokenBalancesByChain = async (
103
110
  }
104
111
  return tokenAmountsByChain
105
112
  }
113
+
114
+ /**
115
+ * Returns the balances of tokens a wallet holds across EVM chains.
116
+ * @param walletAddress - A wallet address.
117
+ * @param options - Optional request options.
118
+ * @returns An object containing the tokens and the amounts organized by chain ids.
119
+ * @throws {BaseError} Throws a ValidationError if parameters are invalid.
120
+ */
121
+ export const getWalletBalances = async (
122
+ walletAddress: string,
123
+ options?: RequestOptions
124
+ ): Promise<Record<number, WalletTokenExtended[]>> => {
125
+ if (!walletAddress) {
126
+ throw new ValidationError('Missing walletAddress.')
127
+ }
128
+
129
+ const response = await request<GetWalletBalanceExtendedResponse>(
130
+ `${config.get().apiUrl}/wallets/${walletAddress}/balances?extended=true`,
131
+ {
132
+ signal: options?.signal,
133
+ }
134
+ )
135
+
136
+ return (response?.balances || {}) as Record<number, WalletTokenExtended[]>
137
+ }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/sdk'
2
- export const version = '3.9.2'
2
+ export const version = '3.10.0'