@multiversx/sdk-dapp-liquidity 1.1.7 → 2.0.0-alpha.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/index.js +7 -0
- package/index.mjs +8 -1
- package/package.json +19 -16
- package/reactjs/adapters/SuiAdapter.d.ts +60 -0
- package/reactjs/adapters/SuiAdapter.js +350 -0
- package/reactjs/adapters/SuiAdapter.mjs +349 -0
- package/reactjs/components/AmountInput/AmountInput.js +1 -1
- package/reactjs/components/AmountInput/AmountInput.mjs +1 -1
- package/reactjs/components/BridgeForm/Deposit.js +57 -18
- package/reactjs/components/BridgeForm/Deposit.mjs +57 -18
- package/reactjs/components/BridgeForm/Transfer.js +17 -10
- package/reactjs/components/BridgeForm/Transfer.mjs +17 -10
- package/reactjs/components/BridgeForm/hooks/useBridgeTokenSelection.js +31 -9
- package/reactjs/components/BridgeForm/hooks/useBridgeTokenSelection.mjs +31 -9
- package/reactjs/components/BridgeForm/utils/bridgeFormHelpers.d.ts +6 -0
- package/reactjs/components/BridgeForm/utils/bridgeFormHelpers.js +18 -0
- package/reactjs/components/BridgeForm/utils/bridgeFormHelpers.mjs +18 -0
- package/reactjs/components/BridgeHistory/BridgeHistory.js +2 -2
- package/reactjs/components/BridgeHistory/BridgeHistory.mjs +2 -2
- package/reactjs/components/Connect/BridgeAccountDisplay.js +77 -25
- package/reactjs/components/Connect/BridgeAccountDisplay.mjs +77 -25
- package/reactjs/components/Connect/BridgeConnectButton.js +1 -1
- package/reactjs/components/Connect/BridgeConnectButton.mjs +1 -1
- package/reactjs/components/Connect/ChainSelectConnect.d.ts +7 -0
- package/reactjs/components/Connect/ChainSelectConnect.js +144 -0
- package/reactjs/components/Connect/ChainSelectConnect.mjs +143 -0
- package/reactjs/components/Connect/MvxAccountDisplay.js +17 -3
- package/reactjs/components/Connect/MvxAccountDisplay.mjs +17 -3
- package/reactjs/components/Connect/MvxConnectButton.js +2 -2
- package/reactjs/components/Connect/MvxConnectButton.mjs +2 -2
- package/reactjs/components/Connect/index.d.ts +1 -0
- package/reactjs/components/Connect/index.js +2 -0
- package/reactjs/components/Connect/index.mjs +2 -0
- package/reactjs/components/TokenSelector/components/TokenItem.js +11 -1
- package/reactjs/components/TokenSelector/components/TokenItem.mjs +11 -1
- package/reactjs/components/TrimAddress/TrimAddress.js +1 -1
- package/reactjs/components/TrimAddress/TrimAddress.mjs +1 -1
- package/reactjs/components/index.js +2 -0
- package/reactjs/components/index.mjs +2 -0
- package/reactjs/constants/chains.d.ts +7 -1
- package/reactjs/constants/chains.js +6 -0
- package/reactjs/constants/chains.mjs +6 -0
- package/reactjs/helpers/index.d.ts +1 -0
- package/reactjs/helpers/index.js +7 -0
- package/reactjs/helpers/index.mjs +6 -0
- package/reactjs/helpers/resolveBridgeApiChainId.d.ts +18 -0
- package/reactjs/helpers/resolveBridgeApiChainId.js +41 -0
- package/reactjs/helpers/resolveBridgeApiChainId.mjs +40 -0
- package/reactjs/hooks/index.d.ts +2 -0
- package/reactjs/hooks/index.js +4 -0
- package/reactjs/hooks/index.mjs +4 -0
- package/reactjs/hooks/useBridgeApiChainId.d.ts +2 -0
- package/reactjs/hooks/useBridgeApiChainId.js +14 -0
- package/reactjs/hooks/useBridgeApiChainId.mjs +13 -0
- package/reactjs/hooks/useFetchTokens.js +17 -17
- package/reactjs/hooks/useFetchTokens.mjs +17 -17
- package/reactjs/hooks/useGenericSignMessage.d.ts +1 -1
- package/reactjs/hooks/useGenericSignMessage.js +14 -0
- package/reactjs/hooks/useGenericSignMessage.mjs +14 -0
- package/reactjs/hooks/useSignTransaction.d.ts +418 -3
- package/reactjs/hooks/useSignTransaction.js +28 -0
- package/reactjs/hooks/useSignTransaction.mjs +28 -0
- package/reactjs/hooks/useSuiConnect.d.ts +8 -0
- package/reactjs/hooks/useSuiConnect.js +87 -0
- package/reactjs/hooks/useSuiConnect.mjs +86 -0
- package/reactjs/index.js +7 -0
- package/reactjs/index.mjs +8 -1
- package/reactjs/init/index.js +1 -0
- package/reactjs/init/index.mjs +2 -1
- package/reactjs/init/init.d.ts +9 -30
- package/reactjs/init/init.js +90 -9
- package/reactjs/init/init.mjs +91 -10
- package/reactjs/queries/useCheckAccount.query.js +4 -14
- package/reactjs/queries/useCheckAccount.query.mjs +4 -14
- package/reactjs/queries/useGetNonMvxTokensBalances.query.js +1 -0
- package/reactjs/queries/useGetNonMvxTokensBalances.query.mjs +1 -0
- package/style.css +51 -0
- package/types/chainType.d.ts +2 -1
- package/types/chainType.js +1 -0
- package/types/chainType.mjs +1 -0
- package/types/transaction.d.ts +5 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
const BRIDGE_API_SUI_CHAIN_ID = "784";
|
|
2
|
+
function isSuiNetwork(caipNetwork) {
|
|
3
|
+
var _a;
|
|
4
|
+
if (!caipNetwork) {
|
|
5
|
+
return false;
|
|
6
|
+
}
|
|
7
|
+
return caipNetwork.chainNamespace === "sui" || Boolean((_a = caipNetwork.caipNetworkId) == null ? void 0 : _a.startsWith("sui:"));
|
|
8
|
+
}
|
|
9
|
+
const SUI_APPKIT_CHAIN_SLUGS = /* @__PURE__ */ new Set(["mainnet", "testnet", "devnet"]);
|
|
10
|
+
const APPKIT_SUI_PLACEHOLDER_IDS = /* @__PURE__ */ new Set(["184"]);
|
|
11
|
+
function suiSlugFromAppKit(chainId, caipNetwork) {
|
|
12
|
+
const caipId = caipNetwork == null ? void 0 : caipNetwork.caipNetworkId;
|
|
13
|
+
if (caipId == null ? void 0 : caipId.startsWith("sui:")) {
|
|
14
|
+
return caipId.slice("sui:".length).toLowerCase();
|
|
15
|
+
}
|
|
16
|
+
return chainId.toLowerCase();
|
|
17
|
+
}
|
|
18
|
+
function toBridgeApiChainId(chainId, caipNetwork) {
|
|
19
|
+
if (chainId == null || chainId === "") {
|
|
20
|
+
return void 0;
|
|
21
|
+
}
|
|
22
|
+
const raw = String(chainId);
|
|
23
|
+
if (APPKIT_SUI_PLACEHOLDER_IDS.has(raw) || raw === BRIDGE_API_SUI_CHAIN_ID) {
|
|
24
|
+
return BRIDGE_API_SUI_CHAIN_ID;
|
|
25
|
+
}
|
|
26
|
+
const slug = suiSlugFromAppKit(raw, caipNetwork);
|
|
27
|
+
const treatAsSui = isSuiNetwork(caipNetwork) || SUI_APPKIT_CHAIN_SLUGS.has(slug) && !/^\d+$/.test(raw);
|
|
28
|
+
if (!treatAsSui) {
|
|
29
|
+
return raw;
|
|
30
|
+
}
|
|
31
|
+
return BRIDGE_API_SUI_CHAIN_ID;
|
|
32
|
+
}
|
|
33
|
+
function sameBridgeApiChainId(a, b) {
|
|
34
|
+
return toBridgeApiChainId(a) === toBridgeApiChainId(b);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
BRIDGE_API_SUI_CHAIN_ID,
|
|
38
|
+
sameBridgeApiChainId,
|
|
39
|
+
toBridgeApiChainId
|
|
40
|
+
};
|
package/reactjs/hooks/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export * from './useDebounce';
|
|
|
6
6
|
export * from './useFetchBridgeData';
|
|
7
7
|
export * from './useFetchTokens';
|
|
8
8
|
export * from './useGetChainId';
|
|
9
|
+
export * from './useBridgeApiChainId';
|
|
9
10
|
export * from './useResolveTokenChain';
|
|
10
11
|
export * from './useSendTransactions';
|
|
11
12
|
export * from './useSignTransaction';
|
|
13
|
+
export * from './useSuiConnect';
|
package/reactjs/hooks/index.js
CHANGED
|
@@ -12,9 +12,11 @@ const reactjs_hooks_useDebounce = require("./useDebounce.js");
|
|
|
12
12
|
const reactjs_hooks_useFetchBridgeData = require("./useFetchBridgeData.js");
|
|
13
13
|
const reactjs_hooks_useFetchTokens = require("./useFetchTokens.js");
|
|
14
14
|
const reactjs_hooks_useGetChainId = require("./useGetChainId.js");
|
|
15
|
+
const reactjs_hooks_useBridgeApiChainId = require("./useBridgeApiChainId.js");
|
|
15
16
|
const reactjs_hooks_useResolveTokenChain = require("./useResolveTokenChain.js");
|
|
16
17
|
const reactjs_hooks_useSendTransactions = require("./useSendTransactions.js");
|
|
17
18
|
const reactjs_hooks_useSignTransaction = require("./useSignTransaction.js");
|
|
19
|
+
const reactjs_hooks_useSuiConnect = require("./useSuiConnect.js");
|
|
18
20
|
exports.useAmountSchema = reactjs_hooks_validation_useAmountSchema.useAmountSchema;
|
|
19
21
|
exports.useSecondAmountSchema = reactjs_hooks_validation_useSecondAmountSchema.useSecondAmountSchema;
|
|
20
22
|
exports.useTestHasEnoughFunds = reactjs_hooks_validation_useTestHasEnoughFunds.useTestHasEnoughFunds;
|
|
@@ -27,6 +29,8 @@ exports.useDebounce = reactjs_hooks_useDebounce.useDebounce;
|
|
|
27
29
|
exports.useFetchBridgeData = reactjs_hooks_useFetchBridgeData.useFetchBridgeData;
|
|
28
30
|
exports.useFetchTokens = reactjs_hooks_useFetchTokens.useFetchTokens;
|
|
29
31
|
exports.useGetChainId = reactjs_hooks_useGetChainId.useGetChainId;
|
|
32
|
+
exports.useBridgeApiChainId = reactjs_hooks_useBridgeApiChainId.useBridgeApiChainId;
|
|
30
33
|
exports.useResolveTokenChain = reactjs_hooks_useResolveTokenChain.useResolveTokenChain;
|
|
31
34
|
exports.useSendTransactions = reactjs_hooks_useSendTransactions.useSendTransactions;
|
|
32
35
|
exports.useSignTransaction = reactjs_hooks_useSignTransaction.useSignTransaction;
|
|
36
|
+
exports.useSuiConnect = reactjs_hooks_useSuiConnect.useSuiConnect;
|
package/reactjs/hooks/index.mjs
CHANGED
|
@@ -9,14 +9,17 @@ import { useDebounce } from "./useDebounce.mjs";
|
|
|
9
9
|
import { useFetchBridgeData } from "./useFetchBridgeData.mjs";
|
|
10
10
|
import { useFetchTokens } from "./useFetchTokens.mjs";
|
|
11
11
|
import { useGetChainId } from "./useGetChainId.mjs";
|
|
12
|
+
import { useBridgeApiChainId } from "./useBridgeApiChainId.mjs";
|
|
12
13
|
import { useResolveTokenChain } from "./useResolveTokenChain.mjs";
|
|
13
14
|
import { useSendTransactions } from "./useSendTransactions.mjs";
|
|
14
15
|
import { useSignTransaction } from "./useSignTransaction.mjs";
|
|
16
|
+
import { useSuiConnect } from "./useSuiConnect.mjs";
|
|
15
17
|
export {
|
|
16
18
|
BridgeFormikValuesEnum,
|
|
17
19
|
useAccount,
|
|
18
20
|
useAmountSchema,
|
|
19
21
|
useBalances,
|
|
22
|
+
useBridgeApiChainId,
|
|
20
23
|
useBridgeFormik,
|
|
21
24
|
useDebounce,
|
|
22
25
|
useFetchBridgeData,
|
|
@@ -26,6 +29,7 @@ export {
|
|
|
26
29
|
useSecondAmountSchema,
|
|
27
30
|
useSendTransactions,
|
|
28
31
|
useSignTransaction,
|
|
32
|
+
useSuiConnect,
|
|
29
33
|
useTestHasEnoughFunds,
|
|
30
34
|
useTestIsConnected
|
|
31
35
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
const react = require("@reown/appkit/react");
|
|
5
|
+
const React = require("react");
|
|
6
|
+
const reactjs_helpers_resolveBridgeApiChainId = require("../helpers/resolveBridgeApiChainId.js");
|
|
7
|
+
function useBridgeApiChainId() {
|
|
8
|
+
const { chainId, caipNetwork } = react.useAppKitNetwork();
|
|
9
|
+
return React.useMemo(
|
|
10
|
+
() => reactjs_helpers_resolveBridgeApiChainId.toBridgeApiChainId(chainId, caipNetwork),
|
|
11
|
+
[chainId, caipNetwork]
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
exports.useBridgeApiChainId = useBridgeApiChainId;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useAppKitNetwork } from "@reown/appkit/react";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { toBridgeApiChainId } from "../helpers/resolveBridgeApiChainId.mjs";
|
|
4
|
+
function useBridgeApiChainId() {
|
|
5
|
+
const { chainId, caipNetwork } = useAppKitNetwork();
|
|
6
|
+
return useMemo(
|
|
7
|
+
() => toBridgeApiChainId(chainId, caipNetwork),
|
|
8
|
+
[chainId, caipNetwork]
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
useBridgeApiChainId
|
|
13
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
-
const react = require("@reown/appkit/react");
|
|
5
4
|
const React = require("react");
|
|
6
5
|
const reactjs_hooks_useAccount = require("./useAccount.js");
|
|
6
|
+
const reactjs_hooks_useBridgeApiChainId = require("./useBridgeApiChainId.js");
|
|
7
7
|
const constants_index = require("../../constants/index.js");
|
|
8
8
|
const reactjs_context_useWeb3App = require("../context/useWeb3App.js");
|
|
9
9
|
const reactjs_queries_useGetAllTokens_query = require("../queries/useGetAllTokens.query.js");
|
|
@@ -14,7 +14,7 @@ const useFetchTokens = ({
|
|
|
14
14
|
mvxApiURL,
|
|
15
15
|
refetchTrigger
|
|
16
16
|
}) => {
|
|
17
|
-
const
|
|
17
|
+
const bridgeApiChainId = reactjs_hooks_useBridgeApiChainId.useBridgeApiChainId();
|
|
18
18
|
const account = reactjs_hooks_useAccount.useAccount();
|
|
19
19
|
const { nativeAuthToken, bridgeOnly } = reactjs_context_useWeb3App.useWeb3App();
|
|
20
20
|
const {
|
|
@@ -25,7 +25,7 @@ const useFetchTokens = ({
|
|
|
25
25
|
nativeAuthToken,
|
|
26
26
|
bridgeOnly
|
|
27
27
|
});
|
|
28
|
-
const
|
|
28
|
+
const nonMvxTokens = React.useMemo(
|
|
29
29
|
() => tokens == null ? void 0 : tokens.filter(
|
|
30
30
|
(token) => !constants_index.MVX_CHAIN_IDS.includes(token.chainId.toString()) && token.chainId.toLowerCase() !== "fiat"
|
|
31
31
|
),
|
|
@@ -38,12 +38,12 @@ const useFetchTokens = ({
|
|
|
38
38
|
[tokens]
|
|
39
39
|
);
|
|
40
40
|
const {
|
|
41
|
-
data:
|
|
42
|
-
isLoading:
|
|
43
|
-
isError:
|
|
41
|
+
data: nonMvxTokensBalances,
|
|
42
|
+
isLoading: isLoadingNonMvxTokensBalances,
|
|
43
|
+
isError: isErrorNonMvxTokensBalances
|
|
44
44
|
} = reactjs_queries_useGetNonMvxTokensBalances_query.useGetNonMvxTokensBalancesQuery({
|
|
45
|
-
tokens:
|
|
46
|
-
chainId:
|
|
45
|
+
tokens: nonMvxTokens ?? [],
|
|
46
|
+
chainId: bridgeApiChainId
|
|
47
47
|
});
|
|
48
48
|
const {
|
|
49
49
|
data: mvxTokensBalances,
|
|
@@ -71,10 +71,10 @@ const useFetchTokens = ({
|
|
|
71
71
|
};
|
|
72
72
|
});
|
|
73
73
|
}, [mvxTokens, mvxTokensBalances]);
|
|
74
|
-
const
|
|
75
|
-
return
|
|
76
|
-
const foundToken =
|
|
77
|
-
(
|
|
74
|
+
const nonMvxTokensWithBalances = React.useMemo(() => {
|
|
75
|
+
return nonMvxTokens == null ? void 0 : nonMvxTokens.map((token) => {
|
|
76
|
+
const foundToken = nonMvxTokensBalances == null ? void 0 : nonMvxTokensBalances.find(
|
|
77
|
+
(nonMvxToken) => nonMvxToken.address === token.address && nonMvxToken.chainId === token.chainId
|
|
78
78
|
);
|
|
79
79
|
if (!foundToken) {
|
|
80
80
|
return {
|
|
@@ -87,7 +87,7 @@ const useFetchTokens = ({
|
|
|
87
87
|
balance: foundToken.balance.toString()
|
|
88
88
|
};
|
|
89
89
|
});
|
|
90
|
-
}, [
|
|
90
|
+
}, [nonMvxTokens, nonMvxTokensBalances]);
|
|
91
91
|
React.useEffect(() => {
|
|
92
92
|
if (mvxAddress) {
|
|
93
93
|
reactjs_queries_useGetMvxTokensBalances_query.invalidateMvxTokensBalancesQuery();
|
|
@@ -98,13 +98,13 @@ const useFetchTokens = ({
|
|
|
98
98
|
return;
|
|
99
99
|
}
|
|
100
100
|
reactjs_queries_useGetNonMvxTokensBalances_query.invalidateEvmTokensBalances();
|
|
101
|
-
}, [refetchTrigger,
|
|
101
|
+
}, [refetchTrigger, bridgeApiChainId, account.address]);
|
|
102
102
|
return {
|
|
103
103
|
isTokensLoading,
|
|
104
104
|
isTokensError,
|
|
105
|
-
isLoadingEvmTokensBalances,
|
|
106
|
-
isErrorEvmTokensBalances,
|
|
107
|
-
evmTokensWithBalances,
|
|
105
|
+
isLoadingEvmTokensBalances: isLoadingNonMvxTokensBalances,
|
|
106
|
+
isErrorEvmTokensBalances: isErrorNonMvxTokensBalances,
|
|
107
|
+
evmTokensWithBalances: nonMvxTokensWithBalances,
|
|
108
108
|
isLoadingMvxTokensBalances,
|
|
109
109
|
isErrorMvxTokensBalances,
|
|
110
110
|
mvxTokensWithBalances,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { useAppKitNetwork } from "@reown/appkit/react";
|
|
2
1
|
import { useMemo, useEffect } from "react";
|
|
3
2
|
import { useAccount } from "./useAccount.mjs";
|
|
3
|
+
import { useBridgeApiChainId } from "./useBridgeApiChainId.mjs";
|
|
4
4
|
import { MVX_CHAIN_IDS } from "../../constants/index.mjs";
|
|
5
5
|
import { useWeb3App } from "../context/useWeb3App.mjs";
|
|
6
6
|
import { useGetAllTokensQuery } from "../queries/useGetAllTokens.query.mjs";
|
|
@@ -11,7 +11,7 @@ const useFetchTokens = ({
|
|
|
11
11
|
mvxApiURL,
|
|
12
12
|
refetchTrigger
|
|
13
13
|
}) => {
|
|
14
|
-
const
|
|
14
|
+
const bridgeApiChainId = useBridgeApiChainId();
|
|
15
15
|
const account = useAccount();
|
|
16
16
|
const { nativeAuthToken, bridgeOnly } = useWeb3App();
|
|
17
17
|
const {
|
|
@@ -22,7 +22,7 @@ const useFetchTokens = ({
|
|
|
22
22
|
nativeAuthToken,
|
|
23
23
|
bridgeOnly
|
|
24
24
|
});
|
|
25
|
-
const
|
|
25
|
+
const nonMvxTokens = useMemo(
|
|
26
26
|
() => tokens == null ? void 0 : tokens.filter(
|
|
27
27
|
(token) => !MVX_CHAIN_IDS.includes(token.chainId.toString()) && token.chainId.toLowerCase() !== "fiat"
|
|
28
28
|
),
|
|
@@ -35,12 +35,12 @@ const useFetchTokens = ({
|
|
|
35
35
|
[tokens]
|
|
36
36
|
);
|
|
37
37
|
const {
|
|
38
|
-
data:
|
|
39
|
-
isLoading:
|
|
40
|
-
isError:
|
|
38
|
+
data: nonMvxTokensBalances,
|
|
39
|
+
isLoading: isLoadingNonMvxTokensBalances,
|
|
40
|
+
isError: isErrorNonMvxTokensBalances
|
|
41
41
|
} = useGetNonMvxTokensBalancesQuery({
|
|
42
|
-
tokens:
|
|
43
|
-
chainId:
|
|
42
|
+
tokens: nonMvxTokens ?? [],
|
|
43
|
+
chainId: bridgeApiChainId
|
|
44
44
|
});
|
|
45
45
|
const {
|
|
46
46
|
data: mvxTokensBalances,
|
|
@@ -68,10 +68,10 @@ const useFetchTokens = ({
|
|
|
68
68
|
};
|
|
69
69
|
});
|
|
70
70
|
}, [mvxTokens, mvxTokensBalances]);
|
|
71
|
-
const
|
|
72
|
-
return
|
|
73
|
-
const foundToken =
|
|
74
|
-
(
|
|
71
|
+
const nonMvxTokensWithBalances = useMemo(() => {
|
|
72
|
+
return nonMvxTokens == null ? void 0 : nonMvxTokens.map((token) => {
|
|
73
|
+
const foundToken = nonMvxTokensBalances == null ? void 0 : nonMvxTokensBalances.find(
|
|
74
|
+
(nonMvxToken) => nonMvxToken.address === token.address && nonMvxToken.chainId === token.chainId
|
|
75
75
|
);
|
|
76
76
|
if (!foundToken) {
|
|
77
77
|
return {
|
|
@@ -84,7 +84,7 @@ const useFetchTokens = ({
|
|
|
84
84
|
balance: foundToken.balance.toString()
|
|
85
85
|
};
|
|
86
86
|
});
|
|
87
|
-
}, [
|
|
87
|
+
}, [nonMvxTokens, nonMvxTokensBalances]);
|
|
88
88
|
useEffect(() => {
|
|
89
89
|
if (mvxAddress) {
|
|
90
90
|
invalidateMvxTokensBalancesQuery();
|
|
@@ -95,13 +95,13 @@ const useFetchTokens = ({
|
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
97
|
invalidateEvmTokensBalances();
|
|
98
|
-
}, [refetchTrigger,
|
|
98
|
+
}, [refetchTrigger, bridgeApiChainId, account.address]);
|
|
99
99
|
return {
|
|
100
100
|
isTokensLoading,
|
|
101
101
|
isTokensError,
|
|
102
|
-
isLoadingEvmTokensBalances,
|
|
103
|
-
isErrorEvmTokensBalances,
|
|
104
|
-
evmTokensWithBalances,
|
|
102
|
+
isLoadingEvmTokensBalances: isLoadingNonMvxTokensBalances,
|
|
103
|
+
isErrorEvmTokensBalances: isErrorNonMvxTokensBalances,
|
|
104
|
+
evmTokensWithBalances: nonMvxTokensWithBalances,
|
|
105
105
|
isLoadingMvxTokensBalances,
|
|
106
106
|
isErrorMvxTokensBalances,
|
|
107
107
|
mvxTokensWithBalances,
|
|
@@ -10,6 +10,7 @@ const useGenericSignMessage = () => {
|
|
|
10
10
|
const { signMessageAsync } = wagmi.useSignMessage();
|
|
11
11
|
const { walletProvider: solWalletProvider } = react.useAppKitProvider("solana");
|
|
12
12
|
const { walletProvider: btcWalletProvider } = react.useAppKitProvider("bip122");
|
|
13
|
+
const { walletProvider: suiWalletProvider } = react.useAppKitProvider("sui");
|
|
13
14
|
const signMessage = async (message) => {
|
|
14
15
|
if (!isConnected || !(caipNetwork == null ? void 0 : caipNetwork.chainNamespace)) {
|
|
15
16
|
throw new Error("Wallet not connected or chain namespace unavailable");
|
|
@@ -29,6 +30,19 @@ const useGenericSignMessage = () => {
|
|
|
29
30
|
message
|
|
30
31
|
});
|
|
31
32
|
}
|
|
33
|
+
case "sui": {
|
|
34
|
+
if (!suiWalletProvider) {
|
|
35
|
+
throw new Error("Sui wallet not connected");
|
|
36
|
+
}
|
|
37
|
+
const encodedMessage = new TextEncoder().encode(message);
|
|
38
|
+
const result = await suiWalletProvider.request({
|
|
39
|
+
method: "sui_signPersonalMessage",
|
|
40
|
+
params: {
|
|
41
|
+
message: Buffer.from(encodedMessage).toString("base64")
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
return result.signature;
|
|
45
|
+
}
|
|
32
46
|
default:
|
|
33
47
|
throw new Error(
|
|
34
48
|
`Unsupported chain namespace: ${caipNetwork.chainNamespace}`
|
|
@@ -7,6 +7,7 @@ const useGenericSignMessage = () => {
|
|
|
7
7
|
const { signMessageAsync } = useSignMessage();
|
|
8
8
|
const { walletProvider: solWalletProvider } = useAppKitProvider("solana");
|
|
9
9
|
const { walletProvider: btcWalletProvider } = useAppKitProvider("bip122");
|
|
10
|
+
const { walletProvider: suiWalletProvider } = useAppKitProvider("sui");
|
|
10
11
|
const signMessage = async (message) => {
|
|
11
12
|
if (!isConnected || !(caipNetwork == null ? void 0 : caipNetwork.chainNamespace)) {
|
|
12
13
|
throw new Error("Wallet not connected or chain namespace unavailable");
|
|
@@ -26,6 +27,19 @@ const useGenericSignMessage = () => {
|
|
|
26
27
|
message
|
|
27
28
|
});
|
|
28
29
|
}
|
|
30
|
+
case "sui": {
|
|
31
|
+
if (!suiWalletProvider) {
|
|
32
|
+
throw new Error("Sui wallet not connected");
|
|
33
|
+
}
|
|
34
|
+
const encodedMessage = new TextEncoder().encode(message);
|
|
35
|
+
const result = await suiWalletProvider.request({
|
|
36
|
+
method: "sui_signPersonalMessage",
|
|
37
|
+
params: {
|
|
38
|
+
message: Buffer.from(encodedMessage).toString("base64")
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return result.signature;
|
|
42
|
+
}
|
|
29
43
|
default:
|
|
30
44
|
throw new Error(
|
|
31
45
|
`Unsupported chain namespace: ${caipNetwork.chainNamespace}`
|