@multiversx/sdk-dapp-liquidity 1.1.0-alpha.19 → 1.1.0-alpha.20

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/index.js CHANGED
@@ -53,7 +53,7 @@ const reactjs_hooks_validation_useSecondAmountSchema = require("./reactjs/hooks/
53
53
  const reactjs_hooks_validation_useTestHasEnoughFunds = require("./reactjs/hooks/validation/useTestHasEnoughFunds.js");
54
54
  const reactjs_hooks_validation_useTestIsConnected = require("./reactjs/hooks/validation/useTestIsConnected.js");
55
55
  const reactjs_hooks_useAccount = require("./reactjs/hooks/useAccount.js");
56
- const reactjs_hooks_useBalances = require("./useBalances-D7Fze-E_.js");
56
+ const reactjs_hooks_useBalances = require("./useBalances-Vfi3IkES.js");
57
57
  const reactjs_hooks_useBridgeFormik = require("./reactjs/hooks/useBridgeFormik.js");
58
58
  const reactjs_hooks_useDebounce = require("./reactjs/hooks/useDebounce.js");
59
59
  const reactjs_hooks_useFetchBridgeData = require("./reactjs/hooks/useFetchBridgeData.js");
package/index.mjs CHANGED
@@ -50,7 +50,7 @@ import { useSecondAmountSchema } from "./reactjs/hooks/validation/useSecondAmoun
50
50
  import { useTestHasEnoughFunds } from "./reactjs/hooks/validation/useTestHasEnoughFunds.mjs";
51
51
  import { useTestIsConnected } from "./reactjs/hooks/validation/useTestIsConnected.mjs";
52
52
  import { useAccount } from "./reactjs/hooks/useAccount.mjs";
53
- import { u } from "./useBalances-B7J7g6dD.mjs";
53
+ import { u } from "./useBalances-DTvWU9si.mjs";
54
54
  import { BridgeFormikValuesEnum, useBridgeFormik } from "./reactjs/hooks/useBridgeFormik.mjs";
55
55
  import { useDebounce } from "./reactjs/hooks/useDebounce.mjs";
56
56
  import { useFetchBridgeData } from "./reactjs/hooks/useFetchBridgeData.mjs";
package/package.json CHANGED
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "homepage": "https://github.com/multiversx/mx-sdk-dapp-liquidity#readme",
30
30
  "license": "MIT",
31
- "version": "1.1.0-alpha.19",
31
+ "version": "1.1.0-alpha.20",
32
32
  "main": "index.js",
33
33
  "module": "index.mjs",
34
34
  "types": "index.d.ts",
@@ -44,7 +44,7 @@ const reactjs_components_Connect_MvxAccountDisplay = require("../Connect/MvxAcco
44
44
  const reactjs_components_TokenSelector_TokenSelector = require("../TokenSelector/TokenSelector.js");
45
45
  const viem = require("viem");
46
46
  const actions = require("viem/actions");
47
- const reactjs_hooks_useBalances = require("../../../useBalances-D7Fze-E_.js");
47
+ const reactjs_hooks_useBalances = require("../../../useBalances-Vfi3IkES.js");
48
48
  function deepEqual(a, b) {
49
49
  if (a === b)
50
50
  return true;
@@ -41,7 +41,7 @@ import { MvxAccountDisplay } from "../Connect/MvxAccountDisplay.mjs";
41
41
  import { TokenSelector } from "../TokenSelector/TokenSelector.mjs";
42
42
  import { hexToString } from "viem";
43
43
  import { waitForTransactionReceipt as waitForTransactionReceipt$1, getTransaction, call } from "viem/actions";
44
- import { g as getAction } from "../../../useBalances-B7J7g6dD.mjs";
44
+ import { g as getAction } from "../../../useBalances-DTvWU9si.mjs";
45
45
  function deepEqual(a, b) {
46
46
  if (a === b)
47
47
  return true;
@@ -6,7 +6,7 @@ const reactjs_hooks_validation_useSecondAmountSchema = require("./validation/use
6
6
  const reactjs_hooks_validation_useTestHasEnoughFunds = require("./validation/useTestHasEnoughFunds.js");
7
7
  const reactjs_hooks_validation_useTestIsConnected = require("./validation/useTestIsConnected.js");
8
8
  const reactjs_hooks_useAccount = require("./useAccount.js");
9
- const reactjs_hooks_useBalances = require("../../useBalances-D7Fze-E_.js");
9
+ const reactjs_hooks_useBalances = require("../../useBalances-Vfi3IkES.js");
10
10
  const reactjs_hooks_useBridgeFormik = require("./useBridgeFormik.js");
11
11
  const reactjs_hooks_useDebounce = require("./useDebounce.js");
12
12
  const reactjs_hooks_useFetchBridgeData = require("./useFetchBridgeData.js");
@@ -3,7 +3,7 @@ import { useSecondAmountSchema } from "./validation/useSecondAmountSchema.mjs";
3
3
  import { useTestHasEnoughFunds } from "./validation/useTestHasEnoughFunds.mjs";
4
4
  import { useTestIsConnected } from "./validation/useTestIsConnected.mjs";
5
5
  import { useAccount } from "./useAccount.mjs";
6
- import { u } from "../../useBalances-B7J7g6dD.mjs";
6
+ import { u } from "../../useBalances-DTvWU9si.mjs";
7
7
  import { BridgeFormikValuesEnum, useBridgeFormik } from "./useBridgeFormik.mjs";
8
8
  import { useDebounce } from "./useDebounce.mjs";
9
9
  import { useFetchBridgeData } from "./useFetchBridgeData.mjs";
@@ -2,7 +2,6 @@ import { TokenType } from '../../types';
2
2
 
3
3
  export declare const useBalances: () => {
4
4
  fetchBalances: ({ tokens }: {
5
- chainId: string;
6
5
  tokens: TokenType[];
7
6
  }) => Promise<{
8
7
  tokenId: string;
@@ -15,7 +15,7 @@ require("yup");
15
15
  require("@multiversx/sdk-dapp-utils/out/helpers/parseAmount");
16
16
  require("../../bignumber-B8vjg9qn.js");
17
17
  require("wagmi");
18
- const reactjs_hooks_useBalances = require("../../useBalances-D7Fze-E_.js");
18
+ const reactjs_hooks_useBalances = require("../../useBalances-Vfi3IkES.js");
19
19
  require("formik");
20
20
  require("../constants/index.js");
21
21
  require("@reown/appkit-adapter-solana/react");
@@ -12,7 +12,7 @@ import "yup";
12
12
  import "@multiversx/sdk-dapp-utils/out/helpers/parseAmount";
13
13
  import "../../bignumber-CKZkoo0g.mjs";
14
14
  import "wagmi";
15
- import { u } from "../../useBalances-B7J7g6dD.mjs";
15
+ import { u } from "../../useBalances-DTvWU9si.mjs";
16
16
  import "formik";
17
17
  import "../constants/index.mjs";
18
18
  import "@reown/appkit-adapter-solana/react";
package/reactjs/index.js CHANGED
@@ -36,7 +36,7 @@ const reactjs_hooks_validation_useSecondAmountSchema = require("./hooks/validati
36
36
  const reactjs_hooks_validation_useTestHasEnoughFunds = require("./hooks/validation/useTestHasEnoughFunds.js");
37
37
  const reactjs_hooks_validation_useTestIsConnected = require("./hooks/validation/useTestIsConnected.js");
38
38
  const reactjs_hooks_useAccount = require("./hooks/useAccount.js");
39
- const reactjs_hooks_useBalances = require("../useBalances-D7Fze-E_.js");
39
+ const reactjs_hooks_useBalances = require("../useBalances-Vfi3IkES.js");
40
40
  const reactjs_hooks_useBridgeFormik = require("./hooks/useBridgeFormik.js");
41
41
  const reactjs_hooks_useDebounce = require("./hooks/useDebounce.js");
42
42
  const reactjs_hooks_useFetchBridgeData = require("./hooks/useFetchBridgeData.js");
package/reactjs/index.mjs CHANGED
@@ -33,7 +33,7 @@ import { useSecondAmountSchema } from "./hooks/validation/useSecondAmountSchema.
33
33
  import { useTestHasEnoughFunds } from "./hooks/validation/useTestHasEnoughFunds.mjs";
34
34
  import { useTestIsConnected } from "./hooks/validation/useTestIsConnected.mjs";
35
35
  import { useAccount } from "./hooks/useAccount.mjs";
36
- import { u } from "../useBalances-B7J7g6dD.mjs";
36
+ import { u } from "../useBalances-DTvWU9si.mjs";
37
37
  import { BridgeFormikValuesEnum, useBridgeFormik } from "./hooks/useBridgeFormik.mjs";
38
38
  import { useDebounce } from "./hooks/useDebounce.mjs";
39
39
  import { useFetchBridgeData } from "./hooks/useFetchBridgeData.mjs";
@@ -9,7 +9,7 @@ require("react");
9
9
  require("@multiversx/sdk-dapp-utils/out/helpers/parseAmount");
10
10
  require("../../bignumber-B8vjg9qn.js");
11
11
  require("wagmi");
12
- const reactjs_hooks_useBalances = require("../../useBalances-D7Fze-E_.js");
12
+ const reactjs_hooks_useBalances = require("../../useBalances-Vfi3IkES.js");
13
13
  require("formik");
14
14
  require("axios");
15
15
  require("../context/Web3AppProvider.js");
@@ -31,7 +31,6 @@ const useGetEvmTokensBalancesQuery = ({
31
31
  throw new Error("Chain ID is required");
32
32
  }
33
33
  const assets = await fetchBalances({
34
- chainId: chainId.toString(),
35
34
  tokens
36
35
  });
37
36
  return assets.map((asset) => {
@@ -6,7 +6,7 @@ import "react";
6
6
  import "@multiversx/sdk-dapp-utils/out/helpers/parseAmount";
7
7
  import "../../bignumber-CKZkoo0g.mjs";
8
8
  import "wagmi";
9
- import { u as useBalances } from "../../useBalances-B7J7g6dD.mjs";
9
+ import { u as useBalances } from "../../useBalances-DTvWU9si.mjs";
10
10
  import "formik";
11
11
  import "axios";
12
12
  import "../context/Web3AppProvider.mjs";
@@ -28,7 +28,6 @@ const useGetEvmTokensBalancesQuery = ({
28
28
  throw new Error("Chain ID is required");
29
29
  }
30
30
  const assets = await fetchBalances({
31
- chainId: chainId.toString(),
32
31
  tokens
33
32
  });
34
33
  return assets.map((asset) => {
@@ -178,6 +178,15 @@ const useBalances = () => {
178
178
  (chain) => chain.chainId.toString() === (chainId == null ? void 0 : chainId.toString())
179
179
  );
180
180
  }, [chainId, chains]);
181
+ const chainsMap = useMemo(() => {
182
+ return (chains ?? []).reduce(
183
+ (acc, chain) => {
184
+ acc[chain.chainId.toString()] = chain;
185
+ return acc;
186
+ },
187
+ {}
188
+ );
189
+ }, [chains]);
181
190
  const getSolBalance = async (rpcUrl, addr) => {
182
191
  const connection = new Connection(rpcUrl);
183
192
  const publicKey = new PublicKey(addr);
@@ -197,41 +206,43 @@ const useBalances = () => {
197
206
  async ({ tokens }) => {
198
207
  return await Promise.all(
199
208
  tokens.map(async (token) => {
200
- if (!isConnected || !address || !chainId) {
209
+ var _a;
210
+ if (!isConnected || !address || !token.chainId) {
201
211
  return {
202
212
  tokenId: token.address,
203
213
  balance: "0"
204
214
  };
205
215
  }
216
+ const chainType = (_a = chainsMap[token.chainId]) == null ? void 0 : _a.chainType;
217
+ console.log("chainType", {
218
+ chainType
219
+ });
206
220
  try {
207
221
  let balance = BigInt(0);
208
- switch (activeChain == null ? void 0 : activeChain.chainType) {
222
+ switch (chainType) {
209
223
  case ChainType.evm:
210
224
  balance = (await getBalance(config, {
211
225
  address,
212
- chainId: Number(chainId),
226
+ chainId: Number(token.chainId),
213
227
  // omit passing the token for fetching the native currency balance
214
228
  token: token.isNative ? void 0 : token.address
215
229
  })).value;
216
230
  break;
217
231
  case ChainType.sol:
218
232
  if (!(activeChain == null ? void 0 : activeChain.rpc)) {
219
- throw new Error(`RPC URL not found for chain ID: ${chainId}`);
233
+ throw new Error(
234
+ `RPC URL not found for chain ID: ${token.chainId}`
235
+ );
220
236
  }
221
237
  balance = await getSolBalance(activeChain == null ? void 0 : activeChain.rpc, address);
222
238
  break;
223
239
  case ChainType.btc:
224
- if (!(activeChain == null ? void 0 : activeChain.rpc)) {
225
- throw new Error(`RPC URL not found for chain ID: ${chainId}`);
226
- }
227
240
  balance = await getBtcBalance();
228
241
  break;
229
242
  case ChainType.mvx:
230
243
  break;
231
244
  default:
232
- throw new Error(
233
- `Unsupported chain type: ${activeChain == null ? void 0 : activeChain.chainType}`
234
- );
245
+ throw new Error(`Unsupported chain type: ${chainType}`);
235
246
  }
236
247
  return {
237
248
  tokenId: token.address,
@@ -247,7 +258,7 @@ const useBalances = () => {
247
258
  })
248
259
  );
249
260
  },
250
- [config, isConnected, address, chainId, activeChain == null ? void 0 : activeChain.rpc]
261
+ [config, isConnected, address, activeChain == null ? void 0 : activeChain.rpc]
251
262
  );
252
263
  return {
253
264
  fetchBalances
@@ -180,6 +180,15 @@ const useBalances = () => {
180
180
  (chain) => chain.chainId.toString() === (chainId == null ? void 0 : chainId.toString())
181
181
  );
182
182
  }, [chainId, chains]);
183
+ const chainsMap = React.useMemo(() => {
184
+ return (chains ?? []).reduce(
185
+ (acc, chain) => {
186
+ acc[chain.chainId.toString()] = chain;
187
+ return acc;
188
+ },
189
+ {}
190
+ );
191
+ }, [chains]);
183
192
  const getSolBalance = async (rpcUrl, addr) => {
184
193
  const connection = new web3_js.Connection(rpcUrl);
185
194
  const publicKey = new web3_js.PublicKey(addr);
@@ -199,41 +208,43 @@ const useBalances = () => {
199
208
  async ({ tokens }) => {
200
209
  return await Promise.all(
201
210
  tokens.map(async (token) => {
202
- if (!isConnected || !address || !chainId) {
211
+ var _a;
212
+ if (!isConnected || !address || !token.chainId) {
203
213
  return {
204
214
  tokenId: token.address,
205
215
  balance: "0"
206
216
  };
207
217
  }
218
+ const chainType = (_a = chainsMap[token.chainId]) == null ? void 0 : _a.chainType;
219
+ console.log("chainType", {
220
+ chainType
221
+ });
208
222
  try {
209
223
  let balance = BigInt(0);
210
- switch (activeChain == null ? void 0 : activeChain.chainType) {
224
+ switch (chainType) {
211
225
  case types_chainType.ChainType.evm:
212
226
  balance = (await getBalance(config, {
213
227
  address,
214
- chainId: Number(chainId),
228
+ chainId: Number(token.chainId),
215
229
  // omit passing the token for fetching the native currency balance
216
230
  token: token.isNative ? void 0 : token.address
217
231
  })).value;
218
232
  break;
219
233
  case types_chainType.ChainType.sol:
220
234
  if (!(activeChain == null ? void 0 : activeChain.rpc)) {
221
- throw new Error(`RPC URL not found for chain ID: ${chainId}`);
235
+ throw new Error(
236
+ `RPC URL not found for chain ID: ${token.chainId}`
237
+ );
222
238
  }
223
239
  balance = await getSolBalance(activeChain == null ? void 0 : activeChain.rpc, address);
224
240
  break;
225
241
  case types_chainType.ChainType.btc:
226
- if (!(activeChain == null ? void 0 : activeChain.rpc)) {
227
- throw new Error(`RPC URL not found for chain ID: ${chainId}`);
228
- }
229
242
  balance = await getBtcBalance();
230
243
  break;
231
244
  case types_chainType.ChainType.mvx:
232
245
  break;
233
246
  default:
234
- throw new Error(
235
- `Unsupported chain type: ${activeChain == null ? void 0 : activeChain.chainType}`
236
- );
247
+ throw new Error(`Unsupported chain type: ${chainType}`);
237
248
  }
238
249
  return {
239
250
  tokenId: token.address,
@@ -249,7 +260,7 @@ const useBalances = () => {
249
260
  })
250
261
  );
251
262
  },
252
- [config, isConnected, address, chainId, activeChain == null ? void 0 : activeChain.rpc]
263
+ [config, isConnected, address, activeChain == null ? void 0 : activeChain.rpc]
253
264
  );
254
265
  return {
255
266
  fetchBalances