@lifi/sdk 3.9.3 → 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 +3 -3
- package/src/_cjs/services/balance.js +13 -2
- package/src/_cjs/services/balance.js.map +1 -1
- package/src/_cjs/version.js +1 -1
- package/src/_cjs/version.js.map +1 -1
- package/src/_esm/services/balance.js +18 -1
- package/src/_esm/services/balance.js.map +1 -1
- package/src/_esm/version.js +1 -1
- package/src/_esm/version.js.map +1 -1
- package/src/_types/services/balance.d.ts +9 -1
- package/src/_types/services/balance.d.ts.map +1 -1
- package/src/_types/version.d.ts +1 -1
- package/src/_types/version.d.ts.map +1 -1
- package/src/services/balance.ts +34 -2
- package/src/version.ts +1 -1
package/package.json
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
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.
|
|
10
|
-
"@mysten/wallet-standard": "^0.16.
|
|
9
|
+
"@mysten/sui": "^1.37.3",
|
|
10
|
+
"@mysten/wallet-standard": "^0.16.11",
|
|
11
11
|
"@noble/curves": "^1.9.7",
|
|
12
12
|
"@solana/wallet-adapter-base": "^0.9.27",
|
|
13
13
|
"@solana/web3.js": "^1.98.4",
|
|
@@ -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.
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../services/balance.ts"],"names":[],"mappings":"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"}
|
package/src/_cjs/version.js
CHANGED
package/src/_cjs/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,WAAW,CAAA;AAClB,QAAA,OAAO,GAAG,
|
|
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":"
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../services/balance.ts"],"names":[],"mappings":"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"}
|
package/src/_esm/version.js
CHANGED
package/src/_esm/version.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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"}
|
package/src/_types/version.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/src/services/balance.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import type {
|
|
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.
|
|
2
|
+
export const version = '3.10.0'
|