@0xsquid/react-hooks 7.1.0 → 7.1.1-beta.1
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/client/index.d.ts +2 -0
- package/dist/core/client/index.js +3 -0
- package/dist/core/client/index.js.map +1 -1
- package/dist/core/connectors/bitcoin/index.d.ts +0 -8
- package/dist/core/connectors/bitcoin/wallets/keplr.d.ts +1 -1
- package/dist/core/connectors/bitcoin/wallets/phantom.d.ts +1 -1
- package/dist/core/connectors/bitcoin/wallets/unisat.d.ts +1 -1
- package/dist/core/connectors/xrpl/CrossMark.d.ts +13 -0
- package/dist/core/connectors/xrpl/CrossMark.js +76 -0
- package/dist/core/connectors/xrpl/CrossMark.js.map +1 -0
- package/dist/core/connectors/xrpl/Xaman.d.ts +16 -0
- package/dist/core/connectors/xrpl/Xaman.js +80 -0
- package/dist/core/connectors/xrpl/Xaman.js.map +1 -0
- package/dist/core/connectors/xrpl/XamanQr.d.ts +15 -0
- package/dist/core/connectors/xrpl/XamanQr.js +93 -0
- package/dist/core/connectors/xrpl/XamanQr.js.map +1 -0
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.d.ts +35 -0
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.js +176 -0
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +1 -0
- package/dist/core/constants.d.ts +9 -2
- package/dist/core/constants.js +15 -2
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/multicall3.d.ts +5 -1
- package/dist/core/multicall3.js +21 -1
- package/dist/core/multicall3.js.map +1 -1
- package/dist/core/providers/BitcoinProvider.d.ts +17 -0
- package/dist/core/providers/BitcoinProvider.js +15 -0
- package/dist/core/providers/BitcoinProvider.js.map +1 -0
- package/dist/core/providers/EvmProvider.d.ts +20 -0
- package/dist/core/providers/EvmProvider.js +15 -0
- package/dist/core/providers/EvmProvider.js.map +1 -0
- package/dist/core/providers/SolanaProvider.d.ts +10 -15
- package/dist/core/providers/SolanaProvider.js.map +1 -1
- package/dist/core/providers/SuiProvider.d.ts +1 -0
- package/dist/core/providers/SuiProvider.js.map +1 -1
- package/dist/core/providers/XrplProvider.d.ts +17 -0
- package/dist/core/providers/XrplProvider.js +15 -0
- package/dist/core/providers/XrplProvider.js.map +1 -0
- package/dist/core/queries/queries-keys.d.ts +9 -1
- package/dist/core/queries/queries-keys.js +33 -0
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/bitcoin.d.ts +8 -0
- package/dist/core/types/bitcoin.js +2 -0
- package/dist/core/types/bitcoin.js.map +1 -0
- package/dist/core/types/error.d.ts +3 -0
- package/dist/core/types/error.js +6 -0
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/event.d.ts +8 -0
- package/dist/core/types/evm.d.ts +2 -0
- package/dist/core/types/evm.js +2 -0
- package/dist/core/types/evm.js.map +1 -0
- package/dist/core/types/index.d.ts +2 -1
- package/dist/core/types/index.js +2 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/solana.d.ts +2 -0
- package/dist/core/types/solana.js +2 -0
- package/dist/core/types/solana.js.map +1 -0
- package/dist/core/types/sui.d.ts +3 -2
- package/dist/core/types/wallet.d.ts +47 -32
- package/dist/core/types/wallet.js +4 -15
- package/dist/core/types/wallet.js.map +1 -1
- package/dist/core/types/xrpl.d.ts +70 -0
- package/dist/core/types/xrpl.js +20 -0
- package/dist/core/types/xrpl.js.map +1 -0
- package/dist/core/wagmiConfig.js +14 -1
- package/dist/core/wagmiConfig.js.map +1 -1
- package/dist/core/wallets.d.ts +1 -3
- package/dist/core/wallets.js +65 -345
- package/dist/core/wallets.js.map +1 -1
- package/dist/hooks/bitcoin/useBitcoin.d.ts +2 -0
- package/dist/hooks/bitcoin/useBitcoin.js +19 -0
- package/dist/hooks/bitcoin/useBitcoin.js.map +1 -0
- package/dist/hooks/evm/useEvm.d.ts +2 -0
- package/dist/hooks/evm/useEvm.js +77 -0
- package/dist/hooks/evm/useEvm.js.map +1 -0
- package/dist/hooks/evm/useEvmWallets.d.ts +4 -0
- package/dist/hooks/evm/useEvmWallets.js +13 -0
- package/dist/hooks/evm/useEvmWallets.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/solana/useSolana.d.ts +2 -9
- package/dist/hooks/solana/useSolana.js +60 -84
- package/dist/hooks/solana/useSolana.js.map +1 -1
- package/dist/hooks/solana/useSolanaWallets.d.ts +4 -0
- package/dist/hooks/solana/useSolanaWallets.js +8 -0
- package/dist/hooks/solana/useSolanaWallets.js.map +1 -0
- package/dist/hooks/store/useAddressBookStore.d.ts +1 -1
- package/dist/hooks/store/useAddressBookStore.js +6 -2
- package/dist/hooks/store/useAddressBookStore.js.map +1 -1
- package/dist/hooks/store/useWalletStore.d.ts +24 -4
- package/dist/hooks/store/useWalletStore.js +21 -2
- package/dist/hooks/store/useWalletStore.js.map +1 -1
- package/dist/hooks/sui/useSui.js +60 -6
- package/dist/hooks/sui/useSui.js.map +1 -1
- package/dist/hooks/sui/useSuiWallets.d.ts +0 -3
- package/dist/hooks/sui/useSuiWallets.js +18 -37
- package/dist/hooks/sui/useSuiWallets.js.map +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +11 -0
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +13 -2
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +1 -0
- package/dist/hooks/tokens/useBalance.js +22 -1
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.js +10 -1
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +1 -0
- package/dist/hooks/tokens/useNativeBalance.js +33 -1
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +3 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +1 -0
- package/dist/hooks/tokens/useSquidTokens.js +6 -1
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
- package/dist/hooks/transaction/send/useSendTransaction.d.ts +1 -1
- package/dist/hooks/transaction/send/useSendTransaction.js +28 -3
- package/dist/hooks/transaction/send/useSendTransaction.js.map +1 -1
- package/dist/hooks/transaction/useAllTransactionsStatus.js +7 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +1 -0
- package/dist/hooks/transaction/useExecuteTransaction.js +60 -6
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useSendTransactionStatus.js +14 -4
- package/dist/hooks/transaction/useSendTransactionStatus.js.map +1 -1
- package/dist/hooks/wallet/useAutoConnect.js +13 -9
- package/dist/hooks/wallet/useAutoConnect.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +241 -0
- package/dist/hooks/wallet/useMultiChainWallet.js +16 -0
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +3 -3
- package/dist/hooks/wallet/useSigner.js +9 -19
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/hooks/wallet/useStandardWallets.d.ts +9 -0
- package/dist/hooks/wallet/useStandardWallets.js +26 -0
- package/dist/hooks/wallet/useStandardWallets.js.map +1 -0
- package/dist/hooks/wallet/useWallet.d.ts +252 -8
- package/dist/hooks/wallet/useWallet.js +55 -56
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/hooks/wallet/useWallets.js +18 -21
- package/dist/hooks/wallet/useWallets.js.map +1 -1
- package/dist/hooks/xrpl/useXrpl.d.ts +2 -0
- package/dist/hooks/xrpl/useXrpl.js +21 -0
- package/dist/hooks/xrpl/useXrpl.js.map +1 -0
- package/dist/hooks/xrpl/useXrplTrustLine.d.ts +17 -0
- package/dist/hooks/xrpl/useXrplTrustLine.js +137 -0
- package/dist/hooks/xrpl/useXrplTrustLine.js.map +1 -0
- package/dist/hooks/xrpl/useXrplWallets.d.ts +43 -0
- package/dist/hooks/xrpl/useXrplWallets.js +46 -0
- package/dist/hooks/xrpl/useXrplWallets.js.map +1 -0
- package/dist/provider/index.js +10 -4
- package/dist/provider/index.js.map +1 -1
- package/dist/services/external/onrampAdapter.js +2 -1
- package/dist/services/external/onrampAdapter.js.map +1 -1
- package/dist/services/external/rpcService.d.ts +2 -0
- package/dist/services/external/rpcService.js +30 -4
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/external/websocket.d.ts +6 -0
- package/dist/services/external/websocket.js +34 -0
- package/dist/services/external/websocket.js.map +1 -0
- package/dist/services/external/xaman.d.ts +30 -0
- package/dist/services/external/xaman.js +46 -0
- package/dist/services/external/xaman.js.map +1 -0
- package/dist/services/external/xrplRpcClient.d.ts +39 -0
- package/dist/services/external/xrplRpcClient.js +167 -0
- package/dist/services/external/xrplRpcClient.js.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.js +1 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal/bitcoinService.d.ts +0 -3
- package/dist/services/internal/bitcoinService.js +0 -31
- package/dist/services/internal/bitcoinService.js.map +1 -1
- package/dist/services/internal/errorService.js +1 -1
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/eventService.d.ts +20 -0
- package/dist/services/internal/eventService.js +28 -0
- package/dist/services/internal/eventService.js.map +1 -1
- package/dist/services/internal/evmService.d.ts +8 -7
- package/dist/services/internal/evmService.js +36 -12
- package/dist/services/internal/evmService.js.map +1 -1
- package/dist/services/internal/fiatToCryptoService.js +2 -2
- package/dist/services/internal/fiatToCryptoService.js.map +1 -1
- package/dist/services/internal/sendTransaction.d.ts +9 -3
- package/dist/services/internal/sendTransaction.js +46 -1
- package/dist/services/internal/sendTransaction.js.map +1 -1
- package/dist/services/internal/sendTransactionStatus.js +16 -0
- package/dist/services/internal/sendTransactionStatus.js.map +1 -1
- package/dist/services/internal/solanaService.d.ts +7 -7
- package/dist/services/internal/solanaService.js +42 -9
- package/dist/services/internal/solanaService.js.map +1 -1
- package/dist/services/internal/suiService.d.ts +1 -11
- package/dist/services/internal/suiService.js +20 -58
- package/dist/services/internal/suiService.js.map +1 -1
- package/dist/services/internal/transactionService.js +4 -2
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/transactionStatusService.js +2 -1
- package/dist/services/internal/transactionStatusService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +20 -22
- package/dist/services/internal/walletService.js +134 -48
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/services/internal/walletStandardService.d.ts +24 -0
- package/dist/services/internal/walletStandardService.js +133 -0
- package/dist/services/internal/walletStandardService.js.map +1 -0
- package/dist/services/internal/xrplService.d.ts +17 -0
- package/dist/services/internal/xrplService.js +52 -0
- package/dist/services/internal/xrplService.js.map +1 -0
- package/dist/tests/walletService.test.js +228 -4
- package/dist/tests/walletService.test.js.map +1 -1
- package/package.json +7 -5
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { ChainData, Token } from "@0xsquid/squid-types";
|
|
2
2
|
import { ChainType } from "@0xsquid/squid-types";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { Connector } from "@wagmi/core";
|
|
4
|
+
import { IBitcoinContextData } from "../../core/providers/BitcoinProvider";
|
|
5
5
|
import { ICosmosContextData } from "../../core/providers/CosmosProvider";
|
|
6
|
+
import { IEvmContextData } from "../../core/providers/EvmProvider";
|
|
6
7
|
import { ISolanaContextData } from "../../core/providers/SolanaProvider";
|
|
7
8
|
import { ISuiContextData } from "../../core/providers/SuiProvider";
|
|
9
|
+
import { IXrplContextData } from "../../core/providers/XrplProvider";
|
|
8
10
|
import { TokenWithBalance } from "../../core/types/tokens";
|
|
9
|
-
import type { ConnectWalletResult, EnsSearchResult, Wallet } from "../../core/types/wallet";
|
|
11
|
+
import type { ChainTypeToWalletState, ConnectWalletResult, EnsSearchResult, Wallet } from "../../core/types/wallet";
|
|
10
12
|
type FormatHashParams = {
|
|
11
13
|
hash?: string;
|
|
12
14
|
chainType?: ChainType;
|
|
@@ -20,7 +22,6 @@ export declare const redirectToExtensionsStore: (wallet: Wallet) => void;
|
|
|
20
22
|
* e.g. "xfi.keplr" will return window.xfi.keplr
|
|
21
23
|
*/
|
|
22
24
|
export declare const accessProperty: (object: Record<string, any>, path: string) => any;
|
|
23
|
-
export declare const getWalletWindowProvider: (window: Window, wallet: Wallet, chainType: ChainType) => any;
|
|
24
25
|
export declare const getWallets: (window: Window | undefined, wallets: Wallet[]) => Wallet[];
|
|
25
26
|
/**
|
|
26
27
|
* Get the base chain to connect to
|
|
@@ -59,31 +60,17 @@ export declare function addTokenToWallet({ token: { address, decimals, symbol, l
|
|
|
59
60
|
provider: any;
|
|
60
61
|
}): any;
|
|
61
62
|
export declare function isEvmChainNotSupportedError(error: any): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Find a wallet by wagmi connector
|
|
64
|
-
* EIP-6963: https://eips.ethereum.org/EIPS/eip-6963
|
|
65
|
-
* Sometimes the ID is set as the RDNS which is the domain name of wallet
|
|
66
|
-
* @param wallets
|
|
67
|
-
* @param connector
|
|
68
|
-
* @returns
|
|
69
|
-
*/
|
|
70
|
-
export declare const findWalletByWagmiConnector: (wallets: Wallet[], connector: Connector | undefined) => Wallet | undefined;
|
|
71
|
-
/**
|
|
72
|
-
* Find a wallet by label (connector ID, name, or RDNS)
|
|
73
|
-
* @param wallets
|
|
74
|
-
* @param label
|
|
75
|
-
* @returns
|
|
76
|
-
*/
|
|
77
|
-
export declare const findWalletByLabel: (wallets: Wallet[], label: string) => Wallet | undefined;
|
|
78
63
|
export declare const getWalletSupportedChainTypes: (wallet: Wallet) => ChainType[];
|
|
79
|
-
export declare const getConnectorForChainType: (wallet: Wallet, chainType:
|
|
64
|
+
export declare const getConnectorForChainType: <T extends ChainType>(wallet: Wallet, chainType: T) => ChainTypeToWalletState[T]["wallet"]["connector"] | undefined;
|
|
80
65
|
export declare function walletSupportsChainType(wallet: Wallet, chainType: ChainType): boolean;
|
|
81
66
|
interface ConnectWalletMutations {
|
|
82
|
-
|
|
67
|
+
connectEvm: IEvmContextData["connectEvm"];
|
|
83
68
|
connectCosmos: ICosmosContextData["connectCosmos"];
|
|
84
69
|
cosmosConnectedWallet: ICosmosContextData["cosmosConnectedWallet"];
|
|
85
70
|
connectSolana: ISolanaContextData["connectSolana"];
|
|
71
|
+
connectBitcoin: IBitcoinContextData["connectBitcoin"];
|
|
86
72
|
connectSui: ISuiContextData["connectSui"];
|
|
73
|
+
connectXrpl: IXrplContextData["connectXrpl"];
|
|
87
74
|
}
|
|
88
75
|
type ConnectWalletParams = {
|
|
89
76
|
wallet: Wallet;
|
|
@@ -99,5 +86,16 @@ interface WalletConnectionResult {
|
|
|
99
86
|
}>;
|
|
100
87
|
}
|
|
101
88
|
export declare const connectWallet: (params: ConnectWalletParams) => Promise<WalletConnectionResult | null>;
|
|
89
|
+
/**
|
|
90
|
+
* Wallets may have a cancelConnect method
|
|
91
|
+
* This is used to cancel a pending connection and clean up resources
|
|
92
|
+
* (e.g. network requests, event listeners, etc.)
|
|
93
|
+
*/
|
|
94
|
+
export declare const cancelConnectWallet: (wallet: Wallet) => void;
|
|
102
95
|
export declare const isProblematicConnector: (connector: Connector | undefined) => boolean;
|
|
96
|
+
interface MergeWalletsParams {
|
|
97
|
+
singleChainWallets: Wallet[];
|
|
98
|
+
multiChainWallets: Wallet[];
|
|
99
|
+
}
|
|
100
|
+
export declare function mergeWallets({ multiChainWallets, singleChainWallets, }: MergeWalletsParams): Wallet[];
|
|
103
101
|
export {};
|
|
@@ -5,11 +5,11 @@ import { isAddress, SwitchChainError } from "viem";
|
|
|
5
5
|
import { chainTypeToDefaultChainIdMap } from "../../core/constants";
|
|
6
6
|
import { walletStoreLinks } from "../../core/wallets";
|
|
7
7
|
import { WidgetEvents } from "../../services/internal/eventService";
|
|
8
|
-
import {
|
|
8
|
+
import { isBitcoinAddressValid } from "./bitcoinService";
|
|
9
9
|
import { connectCosmosWallet, isCosmosAddressValid } from "./cosmosService";
|
|
10
|
-
import {
|
|
11
|
-
import { connectSolanaWallet, isSolanaAddressValid } from "./solanaService";
|
|
10
|
+
import { isSolanaAddressValid } from "./solanaService";
|
|
12
11
|
import { isSuiAddressValid } from "./suiService";
|
|
12
|
+
import { isXrplAddressValid } from "./xrplService";
|
|
13
13
|
const chainTypeToTrimLength = {
|
|
14
14
|
// 0x1234...5678
|
|
15
15
|
[ChainType.EVM]: {
|
|
@@ -36,6 +36,11 @@ const chainTypeToTrimLength = {
|
|
|
36
36
|
start: 6,
|
|
37
37
|
end: 4,
|
|
38
38
|
},
|
|
39
|
+
// r9uP...s6mN
|
|
40
|
+
[ChainType.XRPL]: {
|
|
41
|
+
start: 4,
|
|
42
|
+
end: 4,
|
|
43
|
+
},
|
|
39
44
|
};
|
|
40
45
|
export const formatHash = ({ chainType, hash }) => {
|
|
41
46
|
if (!hash)
|
|
@@ -72,16 +77,18 @@ export const isWalletAddressValid = (chainData, address) => {
|
|
|
72
77
|
return isSolanaAddressValid(address);
|
|
73
78
|
case ChainType.SUI:
|
|
74
79
|
return isSuiAddressValid(address);
|
|
80
|
+
case ChainType.XRPL:
|
|
81
|
+
return isXrplAddressValid(address);
|
|
75
82
|
}
|
|
76
83
|
};
|
|
77
84
|
export const redirectToExtensionsStore = (wallet) => {
|
|
78
85
|
const { userAgent } = navigator;
|
|
79
86
|
let link;
|
|
80
87
|
if (userAgent.indexOf("Firefox") > -1) {
|
|
81
|
-
link = walletStoreLinks[wallet.connectorId]
|
|
88
|
+
link = walletStoreLinks[wallet.connectorId]?.firefox;
|
|
82
89
|
}
|
|
83
90
|
else if (userAgent.indexOf("Chrome") > -1) {
|
|
84
|
-
link = walletStoreLinks[wallet.connectorId]
|
|
91
|
+
link = walletStoreLinks[wallet.connectorId]?.chrome;
|
|
85
92
|
}
|
|
86
93
|
if (link && link !== "") {
|
|
87
94
|
window?.open(link, "_blank")?.focus();
|
|
@@ -99,15 +106,6 @@ export const accessProperty = (object, path) => {
|
|
|
99
106
|
}
|
|
100
107
|
return value;
|
|
101
108
|
};
|
|
102
|
-
export const getWalletWindowProvider = (window, wallet, chainType) => {
|
|
103
|
-
if (wallet.isMultiChain) {
|
|
104
|
-
const connector = wallet.supportedNetworks.find((network) => network.chainType === chainType)?.connector;
|
|
105
|
-
return connector?.().provider;
|
|
106
|
-
}
|
|
107
|
-
return wallet.windowFlag
|
|
108
|
-
? accessProperty(window, wallet.windowFlag)
|
|
109
|
-
: undefined;
|
|
110
|
-
};
|
|
111
109
|
const definedInWindow = (path, clientWindow) => {
|
|
112
110
|
if (!path || !clientWindow)
|
|
113
111
|
return false;
|
|
@@ -265,39 +263,13 @@ export function isEvmChainNotSupportedError(error) {
|
|
|
265
263
|
return (error instanceof ChainNotConfiguredError ||
|
|
266
264
|
error instanceof SwitchChainError);
|
|
267
265
|
}
|
|
268
|
-
/**
|
|
269
|
-
* Find a wallet by wagmi connector
|
|
270
|
-
* EIP-6963: https://eips.ethereum.org/EIPS/eip-6963
|
|
271
|
-
* Sometimes the ID is set as the RDNS which is the domain name of wallet
|
|
272
|
-
* @param wallets
|
|
273
|
-
* @param connector
|
|
274
|
-
* @returns
|
|
275
|
-
*/
|
|
276
|
-
export const findWalletByWagmiConnector = (wallets, connector) => {
|
|
277
|
-
if (!connector)
|
|
278
|
-
return undefined;
|
|
279
|
-
return wallets.find((w) => w.connectorId.toLowerCase() === connector.id.toLowerCase() ||
|
|
280
|
-
w.connectorName.toLowerCase() === connector.name.toLowerCase() ||
|
|
281
|
-
w.rdns?.toLowerCase() === connector.id.toLowerCase());
|
|
282
|
-
};
|
|
283
|
-
/**
|
|
284
|
-
* Find a wallet by label (connector ID, name, or RDNS)
|
|
285
|
-
* @param wallets
|
|
286
|
-
* @param label
|
|
287
|
-
* @returns
|
|
288
|
-
*/
|
|
289
|
-
export const findWalletByLabel = (wallets, label) => {
|
|
290
|
-
return wallets.find((w) => w.connectorId.toLowerCase() === label.toLowerCase() ||
|
|
291
|
-
w.connectorName.toLowerCase() === label.toLowerCase() ||
|
|
292
|
-
w.rdns?.toLowerCase() === label.toLowerCase());
|
|
293
|
-
};
|
|
294
266
|
export const getWalletSupportedChainTypes = (wallet) => {
|
|
295
267
|
if (!wallet.isMultiChain)
|
|
296
268
|
return [];
|
|
297
269
|
return wallet.supportedNetworks.map((config) => config.chainType);
|
|
298
270
|
};
|
|
299
271
|
export const getConnectorForChainType = (wallet, chainType) => {
|
|
300
|
-
// For
|
|
272
|
+
// For multi-chain wallets
|
|
301
273
|
if (wallet.isMultiChain) {
|
|
302
274
|
const networkConfig = wallet.supportedNetworks.find((config) => config.chainType === chainType);
|
|
303
275
|
return networkConfig?.connector;
|
|
@@ -322,8 +294,11 @@ const connectByChainType = async (chainType, wallet, defaultChain, params) => {
|
|
|
322
294
|
const connector = getConnectorForChainType(wallet, chainType);
|
|
323
295
|
switch (chainType) {
|
|
324
296
|
case ChainType.EVM:
|
|
325
|
-
return
|
|
326
|
-
|
|
297
|
+
return params.connectEvm.mutateAsync({
|
|
298
|
+
wallet: {
|
|
299
|
+
...wallet,
|
|
300
|
+
connector,
|
|
301
|
+
},
|
|
327
302
|
});
|
|
328
303
|
case ChainType.COSMOS:
|
|
329
304
|
return connectCosmosWallet({ ...wallet, connector }, defaultChain, {
|
|
@@ -331,11 +306,23 @@ const connectByChainType = async (chainType, wallet, defaultChain, params) => {
|
|
|
331
306
|
cosmosConnectedWallet: params.cosmosConnectedWallet,
|
|
332
307
|
});
|
|
333
308
|
case ChainType.SOLANA:
|
|
334
|
-
return
|
|
335
|
-
|
|
309
|
+
return params.connectSolana.mutateAsync({
|
|
310
|
+
wallet: {
|
|
311
|
+
...wallet,
|
|
312
|
+
connector,
|
|
313
|
+
},
|
|
336
314
|
});
|
|
337
315
|
case ChainType.BTC:
|
|
338
|
-
return
|
|
316
|
+
return params.connectBitcoin.mutateAsync({
|
|
317
|
+
wallet: {
|
|
318
|
+
...wallet,
|
|
319
|
+
connector,
|
|
320
|
+
},
|
|
321
|
+
});
|
|
322
|
+
case ChainType.XRPL:
|
|
323
|
+
return params.connectXrpl.mutateAsync({
|
|
324
|
+
wallet: wallet,
|
|
325
|
+
});
|
|
339
326
|
case ChainType.SUI:
|
|
340
327
|
return params.connectSui.mutateAsync({
|
|
341
328
|
wallet: {
|
|
@@ -371,11 +358,13 @@ const connectMultiChainWallet = async (params) => {
|
|
|
371
358
|
const defaultChain = getDefaultChain(params.wallet, params.selectedChain, [chainConfig.chainType], params.findChain);
|
|
372
359
|
try {
|
|
373
360
|
const result = await connectByChainType(chainConfig.chainType, params.wallet, defaultChain, {
|
|
374
|
-
|
|
361
|
+
connectEvm: params.connectEvm,
|
|
375
362
|
connectCosmos: params.connectCosmos,
|
|
376
363
|
cosmosConnectedWallet: params.cosmosConnectedWallet,
|
|
377
364
|
connectSolana: params.connectSolana,
|
|
365
|
+
connectBitcoin: params.connectBitcoin,
|
|
378
366
|
connectSui: params.connectSui,
|
|
367
|
+
connectXrpl: params.connectXrpl,
|
|
379
368
|
});
|
|
380
369
|
if (result) {
|
|
381
370
|
results.push({
|
|
@@ -401,11 +390,13 @@ const connectSingleChainWallet = async (params) => {
|
|
|
401
390
|
}
|
|
402
391
|
const defaultChain = params.selectedChain;
|
|
403
392
|
const result = await connectByChainType(params.wallet.type, params.wallet, defaultChain, {
|
|
404
|
-
|
|
393
|
+
connectEvm: params.connectEvm,
|
|
405
394
|
connectCosmos: params.connectCosmos,
|
|
406
395
|
cosmosConnectedWallet: params.cosmosConnectedWallet,
|
|
407
396
|
connectSolana: params.connectSolana,
|
|
397
|
+
connectBitcoin: params.connectBitcoin,
|
|
408
398
|
connectSui: params.connectSui,
|
|
399
|
+
connectXrpl: params.connectXrpl,
|
|
409
400
|
});
|
|
410
401
|
return result
|
|
411
402
|
? {
|
|
@@ -448,6 +439,23 @@ export const connectWallet = async (params) => {
|
|
|
448
439
|
throw error;
|
|
449
440
|
}
|
|
450
441
|
};
|
|
442
|
+
/**
|
|
443
|
+
* Wallets may have a cancelConnect method
|
|
444
|
+
* This is used to cancel a pending connection and clean up resources
|
|
445
|
+
* (e.g. network requests, event listeners, etc.)
|
|
446
|
+
*/
|
|
447
|
+
export const cancelConnectWallet = (wallet) => {
|
|
448
|
+
// TODO: implement cancel connect for multi-chain wallets
|
|
449
|
+
if (wallet.isMultiChain) {
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
switch (wallet.type) {
|
|
453
|
+
case ChainType.XRPL:
|
|
454
|
+
return wallet.connector.cancelConnect?.();
|
|
455
|
+
default:
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
458
|
+
};
|
|
451
459
|
// Issues with Rabby wallet on some chains
|
|
452
460
|
// we need to wait some time before getting transaction receipt
|
|
453
461
|
// https://github.com/ethers-io/ethers.js/issues/4760
|
|
@@ -456,4 +464,82 @@ export const isProblematicConnector = (connector) => {
|
|
|
456
464
|
// TODO: inconsistent connector ID behavior, investigate and debug Wagmi
|
|
457
465
|
["rabby", "io.rabby"].includes(connector.id));
|
|
458
466
|
};
|
|
467
|
+
export function mergeWallets({ multiChainWallets, singleChainWallets, }) {
|
|
468
|
+
const mergedWallets = [...multiChainWallets, ...singleChainWallets];
|
|
469
|
+
// if mergedWallets includes single-chain wallets with duplicate connector IDs
|
|
470
|
+
// create a new multi-chain wallet with the same connector ID and add all supported networks
|
|
471
|
+
const unifiedWallets = mergedWallets.reduce((acc, wallet) => {
|
|
472
|
+
const existingWallet = acc.find((w) => w.connectorId === wallet.connectorId);
|
|
473
|
+
if (existingWallet && !wallet.isMultiChain) {
|
|
474
|
+
if (existingWallet.isMultiChain) {
|
|
475
|
+
// if existing wallet is already a multi-chain wallet
|
|
476
|
+
// we just need to add the new supported network
|
|
477
|
+
if (existingWallet.supportedNetworks.every((network) => network.chainType !== wallet.type)) {
|
|
478
|
+
// remove the existing wallet from the array
|
|
479
|
+
acc.splice(acc.indexOf(existingWallet), 1);
|
|
480
|
+
// add the new wallet with all supported networks
|
|
481
|
+
acc.push({
|
|
482
|
+
isMultiChain: true,
|
|
483
|
+
supportedNetworks: [
|
|
484
|
+
...existingWallet.supportedNetworks,
|
|
485
|
+
{
|
|
486
|
+
chainType: wallet.type,
|
|
487
|
+
connector: wallet.connector,
|
|
488
|
+
},
|
|
489
|
+
],
|
|
490
|
+
// add common properties
|
|
491
|
+
connectorId: existingWallet.connectorId,
|
|
492
|
+
name: existingWallet.name,
|
|
493
|
+
icon: existingWallet.icon,
|
|
494
|
+
windowFlag: existingWallet.windowFlag,
|
|
495
|
+
connectorName: existingWallet.connectorName,
|
|
496
|
+
canSwitchWallets: existingWallet.canSwitchWallets,
|
|
497
|
+
isInstalled: existingWallet.isInstalled,
|
|
498
|
+
skipInstallCheck: existingWallet.skipInstallCheck,
|
|
499
|
+
isMobile: existingWallet.isMobile,
|
|
500
|
+
rdns: existingWallet.rdns,
|
|
501
|
+
});
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
else {
|
|
505
|
+
// otherwise, if existing wallet is a single-chain wallet
|
|
506
|
+
// we need to create a new multi-chain wallet with the same connector ID
|
|
507
|
+
// remove the existing wallet from the array
|
|
508
|
+
acc.splice(acc.indexOf(existingWallet), 1);
|
|
509
|
+
// add the new wallet with all supported networks
|
|
510
|
+
if (existingWallet.type !== wallet.type) {
|
|
511
|
+
acc.push({
|
|
512
|
+
isMultiChain: true,
|
|
513
|
+
supportedNetworks: [
|
|
514
|
+
{
|
|
515
|
+
chainType: existingWallet.type,
|
|
516
|
+
connector: existingWallet.connector,
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
chainType: wallet.type,
|
|
520
|
+
connector: wallet.connector,
|
|
521
|
+
},
|
|
522
|
+
],
|
|
523
|
+
// add common properties
|
|
524
|
+
connectorId: existingWallet.connectorId,
|
|
525
|
+
name: existingWallet.name,
|
|
526
|
+
icon: existingWallet.icon,
|
|
527
|
+
windowFlag: existingWallet.windowFlag,
|
|
528
|
+
connectorName: existingWallet.connectorName,
|
|
529
|
+
canSwitchWallets: existingWallet.canSwitchWallets,
|
|
530
|
+
isInstalled: existingWallet.isInstalled,
|
|
531
|
+
skipInstallCheck: existingWallet.skipInstallCheck,
|
|
532
|
+
isMobile: existingWallet.isMobile,
|
|
533
|
+
rdns: existingWallet.rdns,
|
|
534
|
+
});
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
acc.push(wallet);
|
|
540
|
+
}
|
|
541
|
+
return acc;
|
|
542
|
+
}, []);
|
|
543
|
+
return unifiedWallets;
|
|
544
|
+
}
|
|
459
545
|
//# sourceMappingURL=walletService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletService.js","sourceRoot":"","sources":["../../../src/services/internal/walletService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"walletService.js","sourceRoot":"","sources":["../../../src/services/internal/walletService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { StandardConnectFeature, StandardDisconnectFeature, StandardEventsFeature, WalletWithFeatures, type Wallet as StandardWallet } from "@wallet-standard/core";
|
|
2
|
+
import { ConnectorID } from "../../core/types/wallet";
|
|
3
|
+
type StandardWalletFeatures = Array<keyof StandardWallet["features"]>;
|
|
4
|
+
type StandardFeatures = StandardConnectFeature & StandardEventsFeature & Partial<StandardDisconnectFeature>;
|
|
5
|
+
export type StandardWalletWithCustomFeatures<AdditionalFeatures extends StandardWallet["features"]> = WalletWithFeatures<StandardFeatures & AdditionalFeatures>;
|
|
6
|
+
/**
|
|
7
|
+
* Validates that a given standard wallet has all the required standard features
|
|
8
|
+
* and additional custom features
|
|
9
|
+
*/
|
|
10
|
+
export declare function isStandardWalletWithCustomFeatures<S extends StandardWallet>(wallet: StandardWallet, customFeatures: StandardWalletFeatures): wallet is S;
|
|
11
|
+
export type StandardWalletOverrides = Partial<{
|
|
12
|
+
icon: string;
|
|
13
|
+
connectorId: ConnectorID;
|
|
14
|
+
name: string;
|
|
15
|
+
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Mapping of an ID and custom wallet overrides
|
|
18
|
+
* Used to unify wallets with different IDs into a single wallet
|
|
19
|
+
* These IDs can come from different wallet providers, e.g. EIP6963, wallets-standard, etc.
|
|
20
|
+
*
|
|
21
|
+
* @example Unify Metamask (EVM) and Metamask (Solana) to have the same icon, name, and ID
|
|
22
|
+
*/
|
|
23
|
+
export declare const standardWalletOverrides: Partial<Record<string, StandardWalletOverrides>>;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { walletIconBaseUrl } from "../../core/wallets";
|
|
2
|
+
const STANDARD_FEATURES = [
|
|
3
|
+
"standard:connect",
|
|
4
|
+
"standard:events",
|
|
5
|
+
];
|
|
6
|
+
/**
|
|
7
|
+
* Validates that a given standard wallet has all the required standard features
|
|
8
|
+
* and additional custom features
|
|
9
|
+
*/
|
|
10
|
+
export function isStandardWalletWithCustomFeatures(wallet, customFeatures) {
|
|
11
|
+
return [...STANDARD_FEATURES, ...customFeatures].every((feature) => feature in wallet.features);
|
|
12
|
+
}
|
|
13
|
+
function withAliases(aliases, data) {
|
|
14
|
+
return Object.fromEntries(aliases.map((alias) => [alias, data]));
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Mapping of an ID and custom wallet overrides
|
|
18
|
+
* Used to unify wallets with different IDs into a single wallet
|
|
19
|
+
* These IDs can come from different wallet providers, e.g. EIP6963, wallets-standard, etc.
|
|
20
|
+
*
|
|
21
|
+
* @example Unify Metamask (EVM) and Metamask (Solana) to have the same icon, name, and ID
|
|
22
|
+
*/
|
|
23
|
+
export const standardWalletOverrides = {
|
|
24
|
+
"Surf Wallet": {
|
|
25
|
+
icon: `${walletIconBaseUrl}/surf.webp`,
|
|
26
|
+
},
|
|
27
|
+
Suiet: {
|
|
28
|
+
icon: `${walletIconBaseUrl}/suiet.webp`,
|
|
29
|
+
},
|
|
30
|
+
"com.mystenlabs.suiwallet": {
|
|
31
|
+
icon: `${walletIconBaseUrl}/slush.webp`,
|
|
32
|
+
name: "Slush Wallet",
|
|
33
|
+
},
|
|
34
|
+
injected: {
|
|
35
|
+
name: "Browser Extension",
|
|
36
|
+
icon: `${walletIconBaseUrl}/wallet_icon.webp`,
|
|
37
|
+
},
|
|
38
|
+
walletConnect: {
|
|
39
|
+
icon: `${walletIconBaseUrl}/walletConnect.webp`,
|
|
40
|
+
},
|
|
41
|
+
"io.rabby": {
|
|
42
|
+
name: "Rabby",
|
|
43
|
+
icon: `${walletIconBaseUrl}/rabby.webp`,
|
|
44
|
+
connectorId: "rabby",
|
|
45
|
+
},
|
|
46
|
+
"me.rainbow": {
|
|
47
|
+
name: "Rainbow",
|
|
48
|
+
icon: `${walletIconBaseUrl}/rainbow.webp`,
|
|
49
|
+
connectorId: "rainbow",
|
|
50
|
+
},
|
|
51
|
+
"app.keplr": {
|
|
52
|
+
name: "Keplr",
|
|
53
|
+
icon: `${walletIconBaseUrl}/keplr.webp`,
|
|
54
|
+
connectorId: "keplr",
|
|
55
|
+
},
|
|
56
|
+
...withAliases(["io.leapwallet.LeapWallet", "Leap Wallet"], {
|
|
57
|
+
name: "Leap",
|
|
58
|
+
icon: `${walletIconBaseUrl}/leap.webp`,
|
|
59
|
+
connectorId: "leap",
|
|
60
|
+
}),
|
|
61
|
+
...withAliases(["com.crypto.wallet", "Crypto.com Onchain"], {
|
|
62
|
+
name: "Crypto.com",
|
|
63
|
+
connectorId: "cryptodotcom",
|
|
64
|
+
}),
|
|
65
|
+
...withAliases(["app.nightly", "Nightly"], {
|
|
66
|
+
connectorId: "nightly",
|
|
67
|
+
}),
|
|
68
|
+
...withAliases(["com.coinbase.wallet", "coinbaseWalletSDK"], {
|
|
69
|
+
name: "Coinbase Wallet",
|
|
70
|
+
icon: `${walletIconBaseUrl}/coinbase.webp`,
|
|
71
|
+
connectorId: "coinbase",
|
|
72
|
+
}),
|
|
73
|
+
...withAliases([
|
|
74
|
+
"io.metamask",
|
|
75
|
+
"metaMaskSDK",
|
|
76
|
+
// For some reason the Solana wallet name ends with an invisible character
|
|
77
|
+
"MetaMask\uFEFF",
|
|
78
|
+
], {
|
|
79
|
+
name: "MetaMask",
|
|
80
|
+
icon: `${walletIconBaseUrl}/metamask.webp`,
|
|
81
|
+
connectorId: "metamask",
|
|
82
|
+
}),
|
|
83
|
+
...withAliases(["app.backpack", "Backpack"], {
|
|
84
|
+
name: "Backpack",
|
|
85
|
+
icon: `${walletIconBaseUrl}/backpack.webp`,
|
|
86
|
+
connectorId: "backpack",
|
|
87
|
+
}),
|
|
88
|
+
...withAliases(["io.cosmostation", "Cosmostation Wallet"], {
|
|
89
|
+
name: "Cosmostation",
|
|
90
|
+
icon: `${walletIconBaseUrl}/cosmostation.webp`,
|
|
91
|
+
connectorId: "cosmostation",
|
|
92
|
+
}),
|
|
93
|
+
...withAliases(["com.trustwallet.app", "Trust"], {
|
|
94
|
+
name: "Trust Wallet",
|
|
95
|
+
icon: `${walletIconBaseUrl}/trustwallet.webp`,
|
|
96
|
+
connectorId: "trustwallet",
|
|
97
|
+
}),
|
|
98
|
+
...withAliases(["io.xdefi", "Ctrl Wallet"], {
|
|
99
|
+
name: "Ctrl Wallet",
|
|
100
|
+
icon: `${walletIconBaseUrl}/ctrl.webp`,
|
|
101
|
+
connectorId: "ctrl",
|
|
102
|
+
}),
|
|
103
|
+
...withAliases(["com.bitget.web3", "Bitget Wallet"], {
|
|
104
|
+
name: "Bitget Wallet",
|
|
105
|
+
icon: `${walletIconBaseUrl}/bitget.webp`,
|
|
106
|
+
connectorId: "bitget",
|
|
107
|
+
}),
|
|
108
|
+
...withAliases(["com.exodus.web3-wallet", "Exodus"], {
|
|
109
|
+
name: "Exodus",
|
|
110
|
+
icon: `${walletIconBaseUrl}/exodus.webp`,
|
|
111
|
+
connectorId: "exodus",
|
|
112
|
+
}),
|
|
113
|
+
...withAliases(["com.okex.wallet", "OKX Wallet"], {
|
|
114
|
+
name: "OKX Wallet",
|
|
115
|
+
icon: `${walletIconBaseUrl}/okx.webp`,
|
|
116
|
+
connectorId: "okx",
|
|
117
|
+
}),
|
|
118
|
+
...withAliases(["com.brave.wallet", "Brave Wallet"], {
|
|
119
|
+
name: "Brave Wallet",
|
|
120
|
+
icon: `${walletIconBaseUrl}/brave.webp`,
|
|
121
|
+
connectorId: "brave",
|
|
122
|
+
}),
|
|
123
|
+
...withAliases(["app.phantom", "Phantom"], {
|
|
124
|
+
name: "Phantom",
|
|
125
|
+
icon: `${walletIconBaseUrl}/phantom.webp`,
|
|
126
|
+
connectorId: "phantom",
|
|
127
|
+
}),
|
|
128
|
+
...withAliases(["TokenPocket", "https://www.tokenpocket.pro/en/download/app"], {
|
|
129
|
+
name: "TokenPocket",
|
|
130
|
+
connectorId: "tokenpocket",
|
|
131
|
+
}),
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=walletStandardService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletStandardService.js","sourceRoot":"","sources":["../../../src/services/internal/walletStandardService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Token } from "@0xsquid/squid-types";
|
|
2
|
+
import { XrplNetwork, XrplPaymentTx, XrplTrustSetTx } from "../../core/types/xrpl";
|
|
3
|
+
/**
|
|
4
|
+
* Validates that a given address is a valid XRPL address.
|
|
5
|
+
*
|
|
6
|
+
* There are two types of address in XRPL:
|
|
7
|
+
* - X-address (e.g XVfC9...pokKH)
|
|
8
|
+
* - Classic address (e.g r4bA...WHCG)
|
|
9
|
+
*/
|
|
10
|
+
export declare function isXrplAddressValid(address: string | undefined): boolean;
|
|
11
|
+
export declare function buildXrplTrustSetTx({ amount, sourceAddress, token, }: {
|
|
12
|
+
amount: string;
|
|
13
|
+
sourceAddress: string;
|
|
14
|
+
token: Token;
|
|
15
|
+
}): XrplTrustSetTx;
|
|
16
|
+
export declare function getXrplNetwork(chainId: string): XrplNetwork | null;
|
|
17
|
+
export declare function parseXrplPaymentTx(data: unknown): XrplPaymentTx | null;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { isValidClassicAddress, isValidXAddress } from "ripple-address-codec";
|
|
2
|
+
import { CHAIN_IDS } from "../../core/constants";
|
|
3
|
+
import { XrplNetwork, } from "../../core/types/xrpl";
|
|
4
|
+
/**
|
|
5
|
+
* Validates that a given address is a valid XRPL address.
|
|
6
|
+
*
|
|
7
|
+
* There are two types of address in XRPL:
|
|
8
|
+
* - X-address (e.g XVfC9...pokKH)
|
|
9
|
+
* - Classic address (e.g r4bA...WHCG)
|
|
10
|
+
*/
|
|
11
|
+
export function isXrplAddressValid(address) {
|
|
12
|
+
if (!address)
|
|
13
|
+
return false;
|
|
14
|
+
return isValidXAddress(address) || isValidClassicAddress(address);
|
|
15
|
+
}
|
|
16
|
+
export function buildXrplTrustSetTx({ amount, sourceAddress, token, }) {
|
|
17
|
+
const [currency, issuer] = token.address.split(".");
|
|
18
|
+
return {
|
|
19
|
+
TransactionType: "TrustSet",
|
|
20
|
+
Account: sourceAddress,
|
|
21
|
+
LimitAmount: {
|
|
22
|
+
currency,
|
|
23
|
+
issuer,
|
|
24
|
+
value: amount,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export function getXrplNetwork(chainId) {
|
|
29
|
+
switch (chainId) {
|
|
30
|
+
case CHAIN_IDS.XRPL:
|
|
31
|
+
return XrplNetwork.MAINNET;
|
|
32
|
+
case CHAIN_IDS.XRPL_TESTNET:
|
|
33
|
+
return XrplNetwork.TESTNET;
|
|
34
|
+
default:
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export function parseXrplPaymentTx(data) {
|
|
39
|
+
try {
|
|
40
|
+
const asPaymentTx = data;
|
|
41
|
+
if (Array.isArray(asPaymentTx.Memos) &&
|
|
42
|
+
isXrplAddressValid(asPaymentTx.Account) &&
|
|
43
|
+
isXrplAddressValid(asPaymentTx.Destination)) {
|
|
44
|
+
return asPaymentTx;
|
|
45
|
+
}
|
|
46
|
+
throw new Error("Could not parse payment transaction");
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
throw new Error("Could not parse payment transaction");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=xrplService.js.map
|