@0xsquid/react-hooks 7.3.2-beta.0 → 7.4.1-xrpl-wc-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.
- package/dist/core/connectors/xrpl/WalletConnect.d.ts +62 -0
- package/dist/core/connectors/xrpl/WalletConnect.js +181 -0
- package/dist/core/connectors/xrpl/WalletConnect.js.map +1 -0
- package/dist/core/connectors/xrpl/Xaman.d.ts +0 -1
- package/dist/core/connectors/xrpl/Xaman.js +2 -11
- package/dist/core/connectors/xrpl/Xaman.js.map +1 -1
- package/dist/core/constants.d.ts +9 -2
- package/dist/core/constants.js +13 -6
- package/dist/core/constants.js.map +1 -1
- package/dist/core/providers/BitcoinProvider.d.ts +0 -1
- package/dist/core/providers/BitcoinProvider.js.map +1 -1
- package/dist/core/providers/EvmProvider.d.ts +0 -1
- package/dist/core/providers/EvmProvider.js.map +1 -1
- package/dist/core/providers/SolanaProvider.d.ts +0 -1
- package/dist/core/providers/SolanaProvider.js.map +1 -1
- package/dist/core/providers/SuiProvider.d.ts +0 -1
- package/dist/core/providers/SuiProvider.js.map +1 -1
- package/dist/core/providers/XrplProvider.d.ts +2 -0
- package/dist/core/providers/XrplProvider.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +2 -4
- package/dist/core/queries/queries-keys.js +1 -10
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/error.d.ts +1 -2
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/onramps/onramp.d.ts +4 -0
- package/dist/core/types/wallet.d.ts +3 -3
- package/dist/core/types/wallet.js +1 -0
- package/dist/core/types/wallet.js.map +1 -1
- package/dist/core/types/xrpl.d.ts +17 -0
- package/dist/core/types/xrpl.js +12 -0
- package/dist/core/types/xrpl.js.map +1 -1
- package/dist/core/wagmiConfig.js +12 -4
- package/dist/core/wagmiConfig.js.map +1 -1
- package/dist/core/wallets.d.ts +2 -1
- package/dist/core/wallets.js +27 -11
- package/dist/core/wallets.js.map +1 -1
- package/dist/hooks/bitcoin/useBitcoin.js +0 -1
- package/dist/hooks/bitcoin/useBitcoin.js.map +1 -1
- package/dist/hooks/evm/useEvm.js +0 -1
- package/dist/hooks/evm/useEvm.js.map +1 -1
- package/dist/hooks/onramp/useFiatToCrypto.d.ts +10 -11
- package/dist/hooks/onramp/useFiatToCrypto.js +35 -17
- package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -1
- package/dist/hooks/solana/useSolana.js +0 -1
- package/dist/hooks/solana/useSolana.js.map +1 -1
- package/dist/hooks/sui/useSui.js +0 -1
- package/dist/hooks/sui/useSui.js.map +1 -1
- package/dist/hooks/wallet/useAutoConnect.js +27 -13
- package/dist/hooks/wallet/useAutoConnect.js.map +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js +3 -3
- package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +0 -12
- package/dist/hooks/wallet/useWallet.d.ts +0 -13
- package/dist/hooks/wallet/useWallet.js +5 -20
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/hooks/xrpl/useXrpl.js +34 -0
- package/dist/hooks/xrpl/useXrpl.js.map +1 -1
- package/dist/hooks/xrpl/useXrplWallets.d.ts +0 -2
- package/dist/hooks/xrpl/useXrplWallets.js +5 -4
- package/dist/hooks/xrpl/useXrplWallets.js.map +1 -1
- package/dist/services/external/index.d.ts +1 -0
- package/dist/services/external/index.js +1 -0
- package/dist/services/external/index.js.map +1 -1
- package/dist/services/external/onrampAdapter.d.ts +1 -2
- package/dist/services/external/onrampAdapter.js +0 -10
- package/dist/services/external/onrampAdapter.js.map +1 -1
- package/dist/services/external/xaman.d.ts +13 -0
- package/dist/services/external/xaman.js +33 -0
- package/dist/services/external/xaman.js.map +1 -1
- package/dist/services/external/xrplRpcClient.d.ts +2 -2
- package/dist/services/internal/errorService.js +15 -13
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/eventService.d.ts +0 -1
- package/dist/services/internal/eventService.js.map +1 -1
- package/dist/services/internal/sendTransaction.js.map +1 -1
- package/dist/services/internal/walletService.js +0 -2
- package/dist/services/internal/walletService.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,48 +1,58 @@
|
|
|
1
1
|
import { useCallback, useEffect, useRef } from "react";
|
|
2
2
|
import { useConnect } from "wagmi";
|
|
3
|
-
import {
|
|
3
|
+
import { EvmPriorityConnectors } from "../../core/constants";
|
|
4
4
|
import { useEvmContext } from "../../core/providers/EvmProvider";
|
|
5
5
|
import { useSolanaContext } from "../../core/providers/SolanaProvider";
|
|
6
6
|
import { useSuiContext } from "../../core/providers/SuiProvider";
|
|
7
|
+
import { useXrplContext } from "../../core/providers/XrplProvider";
|
|
8
|
+
import { isXamanXAppContext } from "../../services/external/xaman";
|
|
7
9
|
import { useSquidChains } from "../chains/useSquidChains";
|
|
8
10
|
import { useConfigStore } from "../store/useSquidStore";
|
|
9
|
-
|
|
11
|
+
import { useWallet } from "./useWallet";
|
|
12
|
+
const EVM_PRIORITY_CONNECTOR_IDS = [EvmPriorityConnectors.Safe];
|
|
10
13
|
/**
|
|
11
14
|
* Auto connect to Safe provider if it's present
|
|
12
15
|
* Safe will always be the priority connector
|
|
13
16
|
* Because if it's present, this means the user is on a Safe app iframe
|
|
14
17
|
*/
|
|
15
18
|
export const useAutoConnect = () => {
|
|
16
|
-
const { connect, connectors } = useConnect();
|
|
19
|
+
const { connect: evmConnect, connectors: evmConnectors } = useConnect();
|
|
17
20
|
const { chains } = useSquidChains();
|
|
18
21
|
const { isInitialized } = useConfigStore();
|
|
19
22
|
const hasAttemptedReconnect = useRef(false);
|
|
20
23
|
const { autoConnectEvm } = useEvmContext();
|
|
21
24
|
const { autoConnectSolana } = useSolanaContext();
|
|
22
25
|
const { autoConnectSui } = useSuiContext();
|
|
26
|
+
const { autoConnectXrpl, wallets: xrplWallets } = useXrplContext();
|
|
27
|
+
const { connectWallet } = useWallet();
|
|
23
28
|
const autoConnect = useCallback(async () => {
|
|
24
29
|
const queryParameters = new URLSearchParams(window.location.search);
|
|
25
30
|
// TODO: At the moment gnosis was published without the embed parameter in the manifest,
|
|
26
31
|
// but we should ask gnosis to change our app url to https://app.squidrouter.com/?embed="safe"
|
|
27
32
|
// So we could remove the priority connector array and just use the embed parameter
|
|
28
33
|
const embedType = queryParameters.get("embed");
|
|
29
|
-
let
|
|
34
|
+
let evmPriorityConnector;
|
|
30
35
|
if (embedType) {
|
|
31
|
-
|
|
36
|
+
evmPriorityConnector = evmConnectors.find((c) => c.id === embedType);
|
|
32
37
|
}
|
|
33
38
|
else {
|
|
34
|
-
for await (const c of
|
|
35
|
-
if (
|
|
39
|
+
for await (const c of evmConnectors) {
|
|
40
|
+
if (EVM_PRIORITY_CONNECTOR_IDS.includes(c.id)) {
|
|
36
41
|
if (await c.isAuthorized()) {
|
|
37
|
-
|
|
42
|
+
evmPriorityConnector = c;
|
|
38
43
|
break;
|
|
39
44
|
}
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
if (evmPriorityConnector) {
|
|
49
|
+
evmConnect({ connector: evmPriorityConnector });
|
|
50
|
+
}
|
|
51
|
+
else if (isXamanXAppContext()) {
|
|
52
|
+
const xamanXAppWallet = xrplWallets.find((w) => w.connectorId === "xaman-xapp");
|
|
53
|
+
if (xamanXAppWallet) {
|
|
54
|
+
connectWallet({ wallet: xamanXAppWallet });
|
|
55
|
+
}
|
|
46
56
|
}
|
|
47
57
|
else {
|
|
48
58
|
if (chains.length > 0 &&
|
|
@@ -52,6 +62,7 @@ export const useAutoConnect = () => {
|
|
|
52
62
|
autoConnectEvm();
|
|
53
63
|
autoConnectSolana();
|
|
54
64
|
autoConnectSui();
|
|
65
|
+
autoConnectXrpl();
|
|
55
66
|
}
|
|
56
67
|
catch (error) {
|
|
57
68
|
console.error("Error auto connecting wallet:", error);
|
|
@@ -62,13 +73,16 @@ export const useAutoConnect = () => {
|
|
|
62
73
|
}
|
|
63
74
|
}
|
|
64
75
|
}, [
|
|
65
|
-
|
|
66
|
-
|
|
76
|
+
evmConnectors,
|
|
77
|
+
evmConnect,
|
|
67
78
|
chains.length,
|
|
68
79
|
isInitialized,
|
|
69
80
|
autoConnectEvm,
|
|
70
81
|
autoConnectSolana,
|
|
71
82
|
autoConnectSui,
|
|
83
|
+
autoConnectXrpl,
|
|
84
|
+
connectWallet,
|
|
85
|
+
xrplWallets,
|
|
72
86
|
]);
|
|
73
87
|
useEffect(() => {
|
|
74
88
|
autoConnect();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAutoConnect.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useAutoConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"useAutoConnect.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useAutoConnect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useMemo } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { EvmPriorityConnectors } from "../../core/constants";
|
|
3
3
|
import { useGnosisContext } from "./useGnosisContext";
|
|
4
4
|
export const useIntegratorContext = () => {
|
|
5
5
|
const { isGnosisContext } = useGnosisContext();
|
|
@@ -10,8 +10,8 @@ export const useIntegratorContext = () => {
|
|
|
10
10
|
*/
|
|
11
11
|
const walletHandledExternally = useMemo(() => {
|
|
12
12
|
const embedTypesHavingExternalWallet = [
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
EvmPriorityConnectors.LedgerLive,
|
|
14
|
+
EvmPriorityConnectors.Safe,
|
|
15
15
|
];
|
|
16
16
|
const queryParameters = new URLSearchParams(window.location.search);
|
|
17
17
|
const embedType = queryParameters.get("embed");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIntegratorContext.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useIntegratorContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useIntegratorContext.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useIntegratorContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,eAAe,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC/C;;;;OAIG;IACH,MAAM,uBAAuB,GAAY,OAAO,CAAC,GAAG,EAAE;QACpD,MAAM,8BAA8B,GAA4B;YAC9D,qBAAqB,CAAC,UAAU;YAChC,qBAAqB,CAAC,IAAI;SAC3B,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAA0B,CAAC;QAExE,OAAO,CACL,eAAe,IAAI,8BAA8B,CAAC,QAAQ,CAAC,SAAS,CAAC,CACtE,CAAC;IACJ,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAA0B,CAAC;QACxE,OAAO,CAAC,CAAC,SAAS,CAAC;IACrB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;OAGG;IACH,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI;YACF,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,KAAK,CAAC;SACd;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC9D,CAAC,CAAC"}
|
|
@@ -16,7 +16,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
16
16
|
connectorName: string;
|
|
17
17
|
icon: string | undefined;
|
|
18
18
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
19
|
-
canSwitchWallets?: boolean | undefined;
|
|
20
19
|
isMobile?: boolean | undefined;
|
|
21
20
|
isQrWallet?: boolean | undefined;
|
|
22
21
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -34,7 +33,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
34
33
|
connectorName: string;
|
|
35
34
|
icon: string | undefined;
|
|
36
35
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
37
|
-
canSwitchWallets?: boolean | undefined;
|
|
38
36
|
isMobile?: boolean | undefined;
|
|
39
37
|
isQrWallet?: boolean | undefined;
|
|
40
38
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -54,7 +52,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
54
52
|
connectorName: string;
|
|
55
53
|
icon: string | undefined;
|
|
56
54
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
57
|
-
canSwitchWallets?: boolean | undefined;
|
|
58
55
|
isMobile?: boolean | undefined;
|
|
59
56
|
isQrWallet?: boolean | undefined;
|
|
60
57
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -76,7 +73,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
76
73
|
connectorName: string;
|
|
77
74
|
icon: string | undefined;
|
|
78
75
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
79
|
-
canSwitchWallets?: boolean | undefined;
|
|
80
76
|
isMobile?: boolean | undefined;
|
|
81
77
|
isQrWallet?: boolean | undefined;
|
|
82
78
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -104,7 +100,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
104
100
|
connectorName: string;
|
|
105
101
|
icon: string | undefined;
|
|
106
102
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
107
|
-
canSwitchWallets?: boolean | undefined;
|
|
108
103
|
isMobile?: boolean | undefined;
|
|
109
104
|
isQrWallet?: boolean | undefined;
|
|
110
105
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -122,7 +117,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
122
117
|
connectorName: string;
|
|
123
118
|
icon: string | undefined;
|
|
124
119
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
125
|
-
canSwitchWallets?: boolean | undefined;
|
|
126
120
|
isMobile?: boolean | undefined;
|
|
127
121
|
isQrWallet?: boolean | undefined;
|
|
128
122
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -142,7 +136,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
142
136
|
connectorName: string;
|
|
143
137
|
icon: string | undefined;
|
|
144
138
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
145
|
-
canSwitchWallets?: boolean | undefined;
|
|
146
139
|
isMobile?: boolean | undefined;
|
|
147
140
|
isQrWallet?: boolean | undefined;
|
|
148
141
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -160,7 +153,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
160
153
|
connectorName: string;
|
|
161
154
|
icon: string | undefined;
|
|
162
155
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
163
|
-
canSwitchWallets?: boolean | undefined;
|
|
164
156
|
isMobile?: boolean | undefined;
|
|
165
157
|
isQrWallet?: boolean | undefined;
|
|
166
158
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -180,7 +172,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
180
172
|
connectorName: string;
|
|
181
173
|
icon: string | undefined;
|
|
182
174
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
183
|
-
canSwitchWallets?: boolean | undefined;
|
|
184
175
|
isMobile?: boolean | undefined;
|
|
185
176
|
isQrWallet?: boolean | undefined;
|
|
186
177
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -198,7 +189,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
198
189
|
connectorName: string;
|
|
199
190
|
icon: string | undefined;
|
|
200
191
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
201
|
-
canSwitchWallets?: boolean | undefined;
|
|
202
192
|
isMobile?: boolean | undefined;
|
|
203
193
|
isQrWallet?: boolean | undefined;
|
|
204
194
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -218,7 +208,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
218
208
|
connectorName: string;
|
|
219
209
|
icon: string | undefined;
|
|
220
210
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
221
|
-
canSwitchWallets?: boolean | undefined;
|
|
222
211
|
isMobile?: boolean | undefined;
|
|
223
212
|
isQrWallet?: boolean | undefined;
|
|
224
213
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -236,7 +225,6 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
|
|
|
236
225
|
connectorName: string;
|
|
237
226
|
icon: string | undefined;
|
|
238
227
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
239
|
-
canSwitchWallets?: boolean | undefined;
|
|
240
228
|
isMobile?: boolean | undefined;
|
|
241
229
|
isQrWallet?: boolean | undefined;
|
|
242
230
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -12,7 +12,6 @@ export declare const useWallet: () => {
|
|
|
12
12
|
connectorName: string;
|
|
13
13
|
icon: string | undefined;
|
|
14
14
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
15
|
-
canSwitchWallets?: boolean | undefined;
|
|
16
15
|
isMobile?: boolean | undefined;
|
|
17
16
|
isQrWallet?: boolean | undefined;
|
|
18
17
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -30,7 +29,6 @@ export declare const useWallet: () => {
|
|
|
30
29
|
connectorName: string;
|
|
31
30
|
icon: string | undefined;
|
|
32
31
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
33
|
-
canSwitchWallets?: boolean | undefined;
|
|
34
32
|
isMobile?: boolean | undefined;
|
|
35
33
|
isQrWallet?: boolean | undefined;
|
|
36
34
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -54,7 +52,6 @@ export declare const useWallet: () => {
|
|
|
54
52
|
connectorName: string;
|
|
55
53
|
icon: string | undefined;
|
|
56
54
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
57
|
-
canSwitchWallets?: boolean | undefined;
|
|
58
55
|
isMobile?: boolean | undefined;
|
|
59
56
|
isQrWallet?: boolean | undefined;
|
|
60
57
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -76,7 +73,6 @@ export declare const useWallet: () => {
|
|
|
76
73
|
connectorName: string;
|
|
77
74
|
icon: string | undefined;
|
|
78
75
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
79
|
-
canSwitchWallets?: boolean | undefined;
|
|
80
76
|
isMobile?: boolean | undefined;
|
|
81
77
|
isQrWallet?: boolean | undefined;
|
|
82
78
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -108,7 +104,6 @@ export declare const useWallet: () => {
|
|
|
108
104
|
connectorName: string;
|
|
109
105
|
icon: string | undefined;
|
|
110
106
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
111
|
-
canSwitchWallets?: boolean | undefined;
|
|
112
107
|
isMobile?: boolean | undefined;
|
|
113
108
|
isQrWallet?: boolean | undefined;
|
|
114
109
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -126,7 +121,6 @@ export declare const useWallet: () => {
|
|
|
126
121
|
connectorName: string;
|
|
127
122
|
icon: string | undefined;
|
|
128
123
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
129
|
-
canSwitchWallets?: boolean | undefined;
|
|
130
124
|
isMobile?: boolean | undefined;
|
|
131
125
|
isQrWallet?: boolean | undefined;
|
|
132
126
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -150,7 +144,6 @@ export declare const useWallet: () => {
|
|
|
150
144
|
connectorName: string;
|
|
151
145
|
icon: string | undefined;
|
|
152
146
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
153
|
-
canSwitchWallets?: boolean | undefined;
|
|
154
147
|
isMobile?: boolean | undefined;
|
|
155
148
|
isQrWallet?: boolean | undefined;
|
|
156
149
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -168,7 +161,6 @@ export declare const useWallet: () => {
|
|
|
168
161
|
connectorName: string;
|
|
169
162
|
icon: string | undefined;
|
|
170
163
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
171
|
-
canSwitchWallets?: boolean | undefined;
|
|
172
164
|
isMobile?: boolean | undefined;
|
|
173
165
|
isQrWallet?: boolean | undefined;
|
|
174
166
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -192,7 +184,6 @@ export declare const useWallet: () => {
|
|
|
192
184
|
connectorName: string;
|
|
193
185
|
icon: string | undefined;
|
|
194
186
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
195
|
-
canSwitchWallets?: boolean | undefined;
|
|
196
187
|
isMobile?: boolean | undefined;
|
|
197
188
|
isQrWallet?: boolean | undefined;
|
|
198
189
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -210,7 +201,6 @@ export declare const useWallet: () => {
|
|
|
210
201
|
connectorName: string;
|
|
211
202
|
icon: string | undefined;
|
|
212
203
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
213
|
-
canSwitchWallets?: boolean | undefined;
|
|
214
204
|
isMobile?: boolean | undefined;
|
|
215
205
|
isQrWallet?: boolean | undefined;
|
|
216
206
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -234,7 +224,6 @@ export declare const useWallet: () => {
|
|
|
234
224
|
connectorName: string;
|
|
235
225
|
icon: string | undefined;
|
|
236
226
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
237
|
-
canSwitchWallets?: boolean | undefined;
|
|
238
227
|
isMobile?: boolean | undefined;
|
|
239
228
|
isQrWallet?: boolean | undefined;
|
|
240
229
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -252,7 +241,6 @@ export declare const useWallet: () => {
|
|
|
252
241
|
connectorName: string;
|
|
253
242
|
icon: string | undefined;
|
|
254
243
|
windowFlag: import("../../core/types/wallet").WindowWalletFlag;
|
|
255
|
-
canSwitchWallets?: boolean | undefined;
|
|
256
244
|
isMobile?: boolean | undefined;
|
|
257
245
|
isQrWallet?: boolean | undefined;
|
|
258
246
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -272,7 +260,6 @@ export declare const useWallet: () => {
|
|
|
272
260
|
};
|
|
273
261
|
connectedAddresses: Record<ChainType, string | undefined>;
|
|
274
262
|
connectingWalletState: import("../store/useWalletStore").ConnectingWalletState;
|
|
275
|
-
changeWallet: () => Promise<void>;
|
|
276
263
|
disconnectWallet: (chainType: ChainType) => Promise<void>;
|
|
277
264
|
connectWallet: import("@tanstack/react-query").UseMutateAsyncFunction<boolean, unknown, {
|
|
278
265
|
wallet: Wallet;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ChainType } from "@0xsquid/squid-types";
|
|
2
2
|
import { useMutation } from "@tanstack/react-query";
|
|
3
3
|
import { useCallback, useEffect, useMemo } from "react";
|
|
4
|
-
import { useWalletClient } from "wagmi";
|
|
5
4
|
import { useBitcoinContext } from "../../core/providers/BitcoinProvider";
|
|
6
5
|
import { useCosmosContext } from "../../core/providers/CosmosProvider";
|
|
7
6
|
import { useEvmContext } from "../../core/providers/EvmProvider";
|
|
@@ -22,7 +21,7 @@ export const useWallet = () => {
|
|
|
22
21
|
const { connectSolana, disconnectSolana } = useSolanaContext();
|
|
23
22
|
const { connectBitcoin } = useBitcoinContext();
|
|
24
23
|
const { connectSui, disconnectSui } = useSuiContext();
|
|
25
|
-
const { connectXrpl } = useXrplContext();
|
|
24
|
+
const { connectXrpl, disconnectXrpl } = useXrplContext();
|
|
26
25
|
const { findChain } = useSquidChains();
|
|
27
26
|
const { isGnosisConnected, gnosisAddress } = useGnosisContext();
|
|
28
27
|
const { connectedWalletsByChainType, connectingWalletState, setConnectedWallet, setConnectingWallet, disconnectWallet: storeDisconnectWallet, } = useWalletStore();
|
|
@@ -91,7 +90,10 @@ export const useWallet = () => {
|
|
|
91
90
|
await disconnectSolana();
|
|
92
91
|
break;
|
|
93
92
|
case ChainType.SUI:
|
|
94
|
-
disconnectSui();
|
|
93
|
+
await disconnectSui();
|
|
94
|
+
break;
|
|
95
|
+
case ChainType.XRPL:
|
|
96
|
+
await disconnectXrpl();
|
|
95
97
|
break;
|
|
96
98
|
default:
|
|
97
99
|
// TODO: Implement disconnect for other chains
|
|
@@ -114,22 +116,6 @@ export const useWallet = () => {
|
|
|
114
116
|
wallet: undefined,
|
|
115
117
|
});
|
|
116
118
|
}, [connectingWalletState.wallet, setConnectingWallet]);
|
|
117
|
-
const { data: walletClient } = useWalletClient();
|
|
118
|
-
const changeWallet = async () => {
|
|
119
|
-
try {
|
|
120
|
-
await walletClient?.request({
|
|
121
|
-
method: "wallet_requestPermissions",
|
|
122
|
-
params: [
|
|
123
|
-
{
|
|
124
|
-
eth_accounts: {},
|
|
125
|
-
},
|
|
126
|
-
],
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
catch (error) {
|
|
130
|
-
console.error("Failed to change wallet", error);
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
119
|
const connectedAddresses = useMemo(() => {
|
|
134
120
|
const chainTypeToAddressMap = Object.fromEntries(Object.entries(connectedWalletsByChainType).map(([key, value]) => [
|
|
135
121
|
key,
|
|
@@ -195,7 +181,6 @@ export const useWallet = () => {
|
|
|
195
181
|
connectedWalletsByChainType,
|
|
196
182
|
connectedAddresses,
|
|
197
183
|
connectingWalletState,
|
|
198
|
-
changeWallet,
|
|
199
184
|
disconnectWallet,
|
|
200
185
|
connectWallet: connectWalletMutation.mutateAsync,
|
|
201
186
|
cancelConnectWallet,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useWallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../../src/hooks/wallet/useWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { ChainType } from "@0xsquid/squid-types";
|
|
2
2
|
import { useMutation } from "@tanstack/react-query";
|
|
3
|
+
import { useCallback, useEffect } from "react";
|
|
3
4
|
import { useWalletStore } from "../store/useWalletStore";
|
|
4
5
|
import { useXrplWallets } from "./useXrplWallets";
|
|
5
6
|
export function useXrpl() {
|
|
6
7
|
const { wallets } = useXrplWallets();
|
|
7
8
|
const connectedXrplWallet = useWalletStore((state) => state.connectedWalletsByChainType[ChainType.XRPL]);
|
|
9
|
+
const recentXrplWalletId = useWalletStore((store) => store.recentConnectorIds[ChainType.XRPL]);
|
|
10
|
+
const setConnectedWallet = useWalletStore((store) => store.setConnectedWallet);
|
|
11
|
+
const disconnectWallet = useWalletStore((store) => store.disconnectWallet);
|
|
8
12
|
const connectXrpl = useMutation(async ({ wallet, }) => {
|
|
9
13
|
const xrplConnectedAddress = await wallet.connector.connect();
|
|
10
14
|
return {
|
|
@@ -12,10 +16,40 @@ export function useXrpl() {
|
|
|
12
16
|
address: xrplConnectedAddress,
|
|
13
17
|
};
|
|
14
18
|
});
|
|
19
|
+
const disconnectXrpl = useCallback(async () => {
|
|
20
|
+
await connectedXrplWallet?.wallet?.connector.disconnect?.();
|
|
21
|
+
}, [connectedXrplWallet?.wallet?.connector]);
|
|
22
|
+
const autoConnectXrpl = useCallback(async () => {
|
|
23
|
+
const recentXrplWallet = wallets.find((w) => w.connectorId === recentXrplWalletId);
|
|
24
|
+
if (!recentXrplWallet?.connector.autoConnect) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const address = await recentXrplWallet.connector.autoConnect();
|
|
28
|
+
if (address) {
|
|
29
|
+
setConnectedWallet(ChainType.XRPL, {
|
|
30
|
+
wallet: recentXrplWallet,
|
|
31
|
+
address,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}, [recentXrplWalletId, setConnectedWallet, wallets]);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
const wallet = connectedXrplWallet?.wallet;
|
|
37
|
+
if (!wallet?.connector.on) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const removeListener = wallet.connector.on("disconnect", () => {
|
|
41
|
+
disconnectWallet(ChainType.XRPL);
|
|
42
|
+
});
|
|
43
|
+
return () => {
|
|
44
|
+
removeListener();
|
|
45
|
+
};
|
|
46
|
+
}, [connectedXrplWallet?.wallet, disconnectWallet]);
|
|
15
47
|
return {
|
|
16
48
|
wallets,
|
|
17
49
|
connectXrpl,
|
|
18
50
|
signer: connectedXrplWallet?.wallet?.connector,
|
|
51
|
+
autoConnectXrpl,
|
|
52
|
+
disconnectXrpl,
|
|
19
53
|
};
|
|
20
54
|
}
|
|
21
55
|
//# sourceMappingURL=useXrpl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useXrpl.js","sourceRoot":"","sources":["../../../src/hooks/xrpl/useXrpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useXrpl.js","sourceRoot":"","sources":["../../../src/hooks/xrpl/useXrpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ export declare function useXrplWallets(): {
|
|
|
7
7
|
connectorName: string;
|
|
8
8
|
icon: string | undefined;
|
|
9
9
|
windowFlag: WindowWalletFlag;
|
|
10
|
-
canSwitchWallets?: boolean | undefined;
|
|
11
10
|
isMobile?: boolean | undefined;
|
|
12
11
|
isQrWallet?: boolean | undefined;
|
|
13
12
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -25,7 +24,6 @@ export declare function useXrplWallets(): {
|
|
|
25
24
|
connectorName: string;
|
|
26
25
|
icon: string | undefined;
|
|
27
26
|
windowFlag: WindowWalletFlag;
|
|
28
|
-
canSwitchWallets?: boolean | undefined;
|
|
29
27
|
isMobile?: boolean | undefined;
|
|
30
28
|
isQrWallet?: boolean | undefined;
|
|
31
29
|
isInstalled?: (() => boolean) | undefined;
|
|
@@ -3,11 +3,11 @@ import { useMemo } from "react";
|
|
|
3
3
|
import { XamanConnector } from "../../core/connectors/xrpl/Xaman";
|
|
4
4
|
import { XamanQrConnector } from "../../core/connectors/xrpl/XamanQr";
|
|
5
5
|
import { WindowWalletFlag } from "../../core/types/wallet";
|
|
6
|
-
import { walletIconBaseUrl } from "../../core/wallets";
|
|
6
|
+
import { walletIconBaseUrl, xrplWallets } from "../../core/wallets";
|
|
7
|
+
import { isXamanXAppContext } from "../../services/external/xaman";
|
|
7
8
|
export function useXrplWallets() {
|
|
8
9
|
const wallets = useMemo(() => {
|
|
9
|
-
const
|
|
10
|
-
!!navigator.userAgent.match(/xAppBuilder/i);
|
|
10
|
+
const isXAppContext = isXamanXAppContext();
|
|
11
11
|
const xamanWalletIcon = `${walletIconBaseUrl}/xaman.webp`;
|
|
12
12
|
const xamanXAppWallet = {
|
|
13
13
|
type: ChainType.XRPL,
|
|
@@ -37,7 +37,8 @@ export function useXrplWallets() {
|
|
|
37
37
|
return [
|
|
38
38
|
// when running in Xaman XApp context, use the native connector
|
|
39
39
|
// otherwise use the QR code connector
|
|
40
|
-
|
|
40
|
+
isXAppContext ? xamanXAppWallet : xamanQrWallet,
|
|
41
|
+
...xrplWallets,
|
|
41
42
|
];
|
|
42
43
|
}, []);
|
|
43
44
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useXrplWallets.js","sourceRoot":"","sources":["../../../src/hooks/xrpl/useXrplWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAc,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"useXrplWallets.js","sourceRoot":"","sources":["../../../src/hooks/xrpl/useXrplWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAc,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAiB,OAAO,CAAC,GAAG,EAAE;QACzC,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;QAE3C,MAAM,eAAe,GAAG,GAAG,iBAAiB,aAAa,CAAC;QAC1D,MAAM,eAAe,GAAe;YAClC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,gBAAgB,CAAC,SAAS;YACtC,SAAS,EAAE,IAAI,cAAc,EAAE;YAC/B,WAAW;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;YACD,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,YAAY;YACzB,aAAa,EAAE,OAAO;YACtB,IAAI,EAAE,eAAe;SACtB,CAAC;QAEF,MAAM,aAAa,GAAe;YAChC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,gBAAgB,CAAC,OAAO;YACpC,SAAS,EAAE,IAAI,gBAAgB,EAAE;YACjC,gBAAgB,EAAE,IAAI;YACtB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,OAAO;YACtB,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,OAAO;YACL,+DAA+D;YAC/D,sCAAsC;YACtC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa;YAC/C,GAAG,WAAW;SACf,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/external/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/external/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
|
-
import { ExecuteFiatQuoteResult, ExecuteQuoteClient, OnrampConfigResponse,
|
|
2
|
+
import { ExecuteFiatQuoteResult, ExecuteQuoteClient, OnrampConfigResponse, OnRampQuoteParams, OnrampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
|
|
3
3
|
export declare class OnrampService {
|
|
4
4
|
private readonly baseUrl;
|
|
5
5
|
getQuote(params: OnRampQuoteParams): Promise<OnrampQuoteResponse>;
|
|
@@ -9,5 +9,4 @@ export declare class OnrampService {
|
|
|
9
9
|
chains: ChainData[];
|
|
10
10
|
tokens: Token[];
|
|
11
11
|
}): Promise<OnrampConfigResponse>;
|
|
12
|
-
getPaymentTypes(fiatCurrency: string, cryptoCurrencyID: string, country?: string): Promise<OnrampPaymentMethod[]>;
|
|
13
12
|
}
|
|
@@ -38,15 +38,5 @@ export class OnrampService {
|
|
|
38
38
|
supportedCryptos: filteredCryptos,
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
async getPaymentTypes(fiatCurrency, cryptoCurrencyID, country) {
|
|
42
|
-
const { data } = await axios.get(`${this.baseUrl}/payment-types`, {
|
|
43
|
-
params: {
|
|
44
|
-
fiat: fiatCurrency,
|
|
45
|
-
crypto: cryptoCurrencyID,
|
|
46
|
-
country,
|
|
47
|
-
},
|
|
48
|
-
});
|
|
49
|
-
return data;
|
|
50
|
-
}
|
|
51
41
|
}
|
|
52
42
|
//# sourceMappingURL=onrampAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onrampAdapter.js","sourceRoot":"","sources":["../../../src/services/external/onrampAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"onrampAdapter.js","sourceRoot":"","sources":["../../../src/services/external/onrampAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAU/D,MAAM,OAAO,aAAa;IACP,OAAO,GAAG,GAAG,uBAAuB,iBAAiB,CAAC;IAEvE,KAAK,CAAC,QAAQ,CAAC,MAAyB;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,SAAS,EACxB;YACE,MAAM,EAAE;gBACN,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC;SACF,CACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAA0B;QAE1B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,IAAI,CAAC,OAAO,UAAU,EACzB,MAAM,CACP,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,aAAqB,EACrB,aAAqB,EACrB,UAAkB;QAElB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,WAAW,aAAa,EAAE,EACzC;YACE,MAAM,EAAE;gBACN,UAAU;gBACV,MAAM,EAAE,aAAa;aACtB;SACF,CACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EACrB,MAAM,EACN,MAAM,GAIP;QACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,SAAS,CACzB,CAAC;QAEF,gFAAgF;QAChF,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CACvE,MAAM,CAAC,IAAI,CACT,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;YACzB,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE;YACvC,KAAK,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO,CAC5C,CACF,CAAC;QAEF,OAAO;YACL,GAAG,IAAI;YACP,gBAAgB,EAAE,eAAe;SAClC,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Xumm } from "xumm";
|
|
1
2
|
import { XamanXrplNetwork, XrplNetwork, XrplTransaction } from "../../core/types/xrpl";
|
|
2
3
|
interface XamanQrDataResponse {
|
|
3
4
|
qrMatrix: boolean[][];
|
|
@@ -27,4 +28,16 @@ export declare abstract class XamanClient {
|
|
|
27
28
|
static fetch<T>(endpoint: string, body?: Record<string, any>, signal?: AbortSignal): Promise<T>;
|
|
28
29
|
static getXamanNetwork(network: XrplNetwork): XamanXrplNetwork;
|
|
29
30
|
}
|
|
31
|
+
export declare function isXamanXAppContext(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Initializes the Xumm sdk on client-side, if not already initialized.
|
|
34
|
+
* Returns null on server-side.
|
|
35
|
+
*
|
|
36
|
+
* the Xumm constructor can run in 3 different environments: Server, Browser, and xApp (Xaman's embedded browser)
|
|
37
|
+
* When running on the server, the constructor needs both App ID and API secret
|
|
38
|
+
* When running in xApp or browser envs, the constructor only needs the App ID
|
|
39
|
+
* We avoid initializing the Xumm instance on the server
|
|
40
|
+
* as it would throw an error during SRR (API secret is required in server env).
|
|
41
|
+
*/
|
|
42
|
+
export declare function getXummClient(): Promise<Xumm | null>;
|
|
30
43
|
export {};
|