@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.
Files changed (78) hide show
  1. package/dist/core/connectors/xrpl/WalletConnect.d.ts +62 -0
  2. package/dist/core/connectors/xrpl/WalletConnect.js +181 -0
  3. package/dist/core/connectors/xrpl/WalletConnect.js.map +1 -0
  4. package/dist/core/connectors/xrpl/Xaman.d.ts +0 -1
  5. package/dist/core/connectors/xrpl/Xaman.js +2 -11
  6. package/dist/core/connectors/xrpl/Xaman.js.map +1 -1
  7. package/dist/core/constants.d.ts +9 -2
  8. package/dist/core/constants.js +13 -6
  9. package/dist/core/constants.js.map +1 -1
  10. package/dist/core/providers/BitcoinProvider.d.ts +0 -1
  11. package/dist/core/providers/BitcoinProvider.js.map +1 -1
  12. package/dist/core/providers/EvmProvider.d.ts +0 -1
  13. package/dist/core/providers/EvmProvider.js.map +1 -1
  14. package/dist/core/providers/SolanaProvider.d.ts +0 -1
  15. package/dist/core/providers/SolanaProvider.js.map +1 -1
  16. package/dist/core/providers/SuiProvider.d.ts +0 -1
  17. package/dist/core/providers/SuiProvider.js.map +1 -1
  18. package/dist/core/providers/XrplProvider.d.ts +2 -0
  19. package/dist/core/providers/XrplProvider.js.map +1 -1
  20. package/dist/core/queries/queries-keys.d.ts +2 -4
  21. package/dist/core/queries/queries-keys.js +1 -10
  22. package/dist/core/queries/queries-keys.js.map +1 -1
  23. package/dist/core/types/error.d.ts +1 -2
  24. package/dist/core/types/error.js.map +1 -1
  25. package/dist/core/types/onramps/onramp.d.ts +4 -0
  26. package/dist/core/types/wallet.d.ts +3 -3
  27. package/dist/core/types/wallet.js +1 -0
  28. package/dist/core/types/wallet.js.map +1 -1
  29. package/dist/core/types/xrpl.d.ts +17 -0
  30. package/dist/core/types/xrpl.js +12 -0
  31. package/dist/core/types/xrpl.js.map +1 -1
  32. package/dist/core/wagmiConfig.js +12 -4
  33. package/dist/core/wagmiConfig.js.map +1 -1
  34. package/dist/core/wallets.d.ts +2 -1
  35. package/dist/core/wallets.js +27 -11
  36. package/dist/core/wallets.js.map +1 -1
  37. package/dist/hooks/bitcoin/useBitcoin.js +0 -1
  38. package/dist/hooks/bitcoin/useBitcoin.js.map +1 -1
  39. package/dist/hooks/evm/useEvm.js +0 -1
  40. package/dist/hooks/evm/useEvm.js.map +1 -1
  41. package/dist/hooks/onramp/useFiatToCrypto.d.ts +10 -11
  42. package/dist/hooks/onramp/useFiatToCrypto.js +35 -17
  43. package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -1
  44. package/dist/hooks/solana/useSolana.js +0 -1
  45. package/dist/hooks/solana/useSolana.js.map +1 -1
  46. package/dist/hooks/sui/useSui.js +0 -1
  47. package/dist/hooks/sui/useSui.js.map +1 -1
  48. package/dist/hooks/wallet/useAutoConnect.js +27 -13
  49. package/dist/hooks/wallet/useAutoConnect.js.map +1 -1
  50. package/dist/hooks/wallet/useIntegratorContext.js +3 -3
  51. package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
  52. package/dist/hooks/wallet/useMultiChainWallet.d.ts +0 -12
  53. package/dist/hooks/wallet/useWallet.d.ts +0 -13
  54. package/dist/hooks/wallet/useWallet.js +5 -20
  55. package/dist/hooks/wallet/useWallet.js.map +1 -1
  56. package/dist/hooks/xrpl/useXrpl.js +34 -0
  57. package/dist/hooks/xrpl/useXrpl.js.map +1 -1
  58. package/dist/hooks/xrpl/useXrplWallets.d.ts +0 -2
  59. package/dist/hooks/xrpl/useXrplWallets.js +5 -4
  60. package/dist/hooks/xrpl/useXrplWallets.js.map +1 -1
  61. package/dist/services/external/index.d.ts +1 -0
  62. package/dist/services/external/index.js +1 -0
  63. package/dist/services/external/index.js.map +1 -1
  64. package/dist/services/external/onrampAdapter.d.ts +1 -2
  65. package/dist/services/external/onrampAdapter.js +0 -10
  66. package/dist/services/external/onrampAdapter.js.map +1 -1
  67. package/dist/services/external/xaman.d.ts +13 -0
  68. package/dist/services/external/xaman.js +33 -0
  69. package/dist/services/external/xaman.js.map +1 -1
  70. package/dist/services/external/xrplRpcClient.d.ts +2 -2
  71. package/dist/services/internal/errorService.js +15 -13
  72. package/dist/services/internal/errorService.js.map +1 -1
  73. package/dist/services/internal/eventService.d.ts +0 -1
  74. package/dist/services/internal/eventService.js.map +1 -1
  75. package/dist/services/internal/sendTransaction.js.map +1 -1
  76. package/dist/services/internal/walletService.js +0 -2
  77. package/dist/services/internal/walletService.js.map +1 -1
  78. 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 { PriorityConnectors } from "../../core/constants";
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
- const PRIORITY_CONNECTOR_ID = [PriorityConnectors.Safe];
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 priorityConnector;
34
+ let evmPriorityConnector;
30
35
  if (embedType) {
31
- priorityConnector = connectors.find((c) => c.id === embedType);
36
+ evmPriorityConnector = evmConnectors.find((c) => c.id === embedType);
32
37
  }
33
38
  else {
34
- for await (const c of connectors) {
35
- if (PRIORITY_CONNECTOR_ID.includes(c.id)) {
39
+ for await (const c of evmConnectors) {
40
+ if (EVM_PRIORITY_CONNECTOR_IDS.includes(c.id)) {
36
41
  if (await c.isAuthorized()) {
37
- priorityConnector = c;
42
+ evmPriorityConnector = c;
38
43
  break;
39
44
  }
40
45
  }
41
46
  }
42
47
  }
43
- // Connect priority provider if it's present
44
- if (priorityConnector) {
45
- connect({ connector: priorityConnector });
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
- connectors,
66
- connect,
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":"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"}
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 { PriorityConnectors } from "../../core/constants";
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
- PriorityConnectors.LedgerLive,
14
- PriorityConnectors.Safe,
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,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,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,GAAyB;YAC3D,kBAAkB,CAAC,UAAU;YAC7B,kBAAkB,CAAC,IAAI;SACxB,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAuB,CAAC;QAErE,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,CAAuB,CAAC;QACrE,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"}
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":"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"}
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;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,UAAU,OAAO;IACrB,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,mBAAmB,GAAG,cAAc,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAC7D,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EAAE,EACL,MAAM,GAGP,EAAgD,EAAE;QACjD,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAE9D,OAAO;YACL,MAAM;YACN,OAAO,EAAE,oBAAoB;SAC9B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO;QACL,OAAO;QACP,WAAW;QACX,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS;KAC/C,CAAC;AACJ,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 isXamanXAppContext = !!navigator.userAgent.match(/xumm\/xapp/i) ||
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
- isXamanXAppContext ? xamanXAppWallet : xamanQrWallet,
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;AAEvD,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAiB,OAAO,CAAC,GAAG,EAAE;QACzC,MAAM,kBAAkB,GACtB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE9C,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,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa;SACrD,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,OAAO;KACR,CAAC;AACJ,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,2 @@
1
1
  export { EnsService } from "./ens";
2
+ export { getXummClient, isXamanXAppContext } from "./xaman";
@@ -1,2 +1,3 @@
1
1
  export { EnsService } from "./ens";
2
+ export { getXummClient, isXamanXAppContext } from "./xaman";
2
3
  //# sourceMappingURL=index.js.map
@@ -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, OnrampPaymentMethod, OnRampQuoteParams, OnrampQuoteResponse, OnRampTransactionStatus } from "../../core/types/onramps/onramp";
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;AAW/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;IAED,KAAK,CAAC,eAAe,CACnB,YAAoB,EACpB,gBAAwB,EACxB,OAAgB;QAEhB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,gBAAgB,EAC/B;YACE,MAAM,EAAE;gBACN,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,gBAAgB;gBACxB,OAAO;aACR;SACF,CACF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
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 {};