@0xsquid/react-hooks 6.4.4-xrpl-beta.8 → 6.4.4-xrpl-beta.9
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 +4 -2
- package/dist/core/client/index.js +6 -2
- package/dist/core/client/index.js.map +1 -1
- package/dist/core/connectors/xrpl/CrossMark.d.ts +13 -0
- package/dist/core/connectors/{xrp → xrpl}/CrossMark.js +3 -3
- package/dist/core/connectors/xrpl/CrossMark.js.map +1 -0
- package/dist/core/connectors/{xrp → xrpl}/Xaman.d.ts +4 -4
- package/dist/core/connectors/{xrp → xrpl}/Xaman.js +3 -4
- package/dist/core/connectors/xrpl/Xaman.js.map +1 -0
- package/dist/core/connectors/{xrp → xrpl}/XamanQr.d.ts +4 -4
- package/dist/core/connectors/{xrp → xrpl}/XamanQr.js +11 -9
- package/dist/core/connectors/xrpl/XamanQr.js.map +1 -0
- package/dist/core/connectors/{xrp/XrpMetamaskSnap.d.ts → xrpl/XrplMetamaskSnap.d.ts} +5 -12
- package/dist/core/connectors/{xrp/XrpMetamaskSnap.js → xrpl/XrplMetamaskSnap.js} +12 -48
- package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +1 -0
- package/dist/core/constants.d.ts +2 -14
- package/dist/core/constants.js +5 -17
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts +1 -2
- package/dist/core/index.js +1 -2
- 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/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 +6 -4
- package/dist/core/queries/queries-keys.js +21 -10
- package/dist/core/queries/queries-keys.js.map +1 -1
- package/dist/core/types/event.d.ts +3 -3
- package/dist/core/types/index.d.ts +1 -1
- package/dist/core/types/index.js +1 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/wallet.d.ts +7 -6
- package/dist/core/types/wallet.js +1 -1
- package/dist/core/types/wallet.js.map +1 -1
- package/dist/core/types/{xrp.d.ts → xrpl.d.ts} +28 -22
- package/dist/core/types/{xrp.js → xrpl.js} +14 -6
- package/dist/core/types/xrpl.js.map +1 -0
- package/dist/core/wallets.js +7 -7
- package/dist/core/wallets.js.map +1 -1
- package/dist/hooks/cosmos/useCosmos.js +0 -8
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/index.js.map +1 -1
- 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/useSquidStore.d.ts +0 -4
- package/dist/hooks/store/useSquidStore.js +0 -1
- package/dist/hooks/store/useSquidStore.js.map +1 -1
- package/dist/hooks/swap/useSwap.d.ts +1 -0
- package/dist/hooks/swap/useSwap.js +4 -10
- package/dist/hooks/swap/useSwap.js.map +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +3 -3
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +7 -7
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +1 -1
- package/dist/hooks/tokens/useBalance.js +5 -5
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.js +4 -4
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +1 -1
- package/dist/hooks/tokens/useNativeBalance.js +6 -6
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +2 -2
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +1 -1
- package/dist/hooks/tokens/useSquidTokens.js +4 -4
- 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 +37 -6
- 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.js +21 -25
- 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/useGnosisContext.js +7 -11
- package/dist/hooks/wallet/useGnosisContext.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.js +5 -5
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +1 -1
- package/dist/hooks/wallet/useSigner.js +6 -6
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/hooks/wallet/useWallet.d.ts +1 -1
- package/dist/hooks/wallet/useWallet.js +6 -6
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/hooks/wallet/useWallets.js +4 -4
- 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 +136 -0
- package/dist/hooks/xrpl/useXrplTrustLine.js.map +1 -0
- package/dist/hooks/xrpl/useXrplWallets.d.ts +4 -0
- package/dist/hooks/{xrp/useXrpWallets.js → xrpl/useXrplWallets.js} +4 -4
- package/dist/hooks/xrpl/useXrplWallets.js.map +1 -0
- package/dist/provider/index.js +2 -3
- package/dist/provider/index.js.map +1 -1
- package/dist/services/external/cosmosRestClient.d.ts +18 -0
- package/dist/services/external/cosmosRestClient.js +45 -0
- package/dist/services/external/cosmosRestClient.js.map +1 -0
- package/dist/services/external/rpcService.d.ts +4 -4
- package/dist/services/external/rpcService.js +20 -52
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/external/xaman.d.ts +9 -2
- package/dist/services/external/xaman.js +10 -3
- package/dist/services/external/xaman.js.map +1 -1
- package/dist/services/external/xrplRpcClient.d.ts +11 -6
- package/dist/services/external/xrplRpcClient.js +45 -43
- package/dist/services/external/xrplRpcClient.js.map +1 -1
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.js +1 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal/eventService.d.ts +7 -6
- package/dist/services/internal/eventService.js +10 -9
- package/dist/services/internal/eventService.js.map +1 -1
- package/dist/services/internal/sendTransaction.d.ts +14 -6
- package/dist/services/internal/sendTransaction.js +129 -7
- package/dist/services/internal/sendTransaction.js.map +1 -1
- package/dist/services/internal/sendTransactionStatus.js +34 -6
- package/dist/services/internal/sendTransactionStatus.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +2 -2
- package/dist/services/internal/walletService.js +5 -5
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/services/internal/xrplService.d.ts +17 -0
- package/dist/services/internal/{xrpService.js → xrplService.js} +11 -19
- package/dist/services/internal/xrplService.js.map +1 -0
- package/package.json +1 -1
- package/dist/core/connectors/xrp/CrossMark.d.ts +0 -22
- package/dist/core/connectors/xrp/CrossMark.js.map +0 -1
- package/dist/core/connectors/xrp/Xaman.js.map +0 -1
- package/dist/core/connectors/xrp/XamanQr.js.map +0 -1
- package/dist/core/connectors/xrp/XrpMetamaskSnap.js.map +0 -1
- package/dist/core/providers/XrpProvider.d.ts +0 -17
- package/dist/core/providers/XrpProvider.js +0 -15
- package/dist/core/providers/XrpProvider.js.map +0 -1
- package/dist/core/types/xrp.js.map +0 -1
- package/dist/hooks/sui/useSuiClient.d.ts +0 -9
- package/dist/hooks/sui/useSuiClient.js +0 -16
- package/dist/hooks/sui/useSuiClient.js.map +0 -1
- package/dist/hooks/xrp/useXrp.d.ts +0 -2
- package/dist/hooks/xrp/useXrp.js +0 -21
- package/dist/hooks/xrp/useXrp.js.map +0 -1
- package/dist/hooks/xrp/useXrpWallets.d.ts +0 -4
- package/dist/hooks/xrp/useXrpWallets.js.map +0 -1
- package/dist/hooks/xrp/useXrplTrustLine.d.ts +0 -7
- package/dist/hooks/xrp/useXrplTrustLine.js +0 -130
- package/dist/hooks/xrp/useXrplTrustLine.js.map +0 -1
- package/dist/services/internal/xrpService.d.ts +0 -18
- package/dist/services/internal/xrpService.js.map +0 -1
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { ChainData, ChainType } from "@0xsquid/squid-types";
|
|
2
2
|
import { StargateClient } from "@cosmjs/stargate";
|
|
3
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
3
4
|
import { Connection as SolanaConnection } from "@solana/web3.js";
|
|
4
5
|
import { JsonRpcProvider } from "ethers";
|
|
6
|
+
import { XrplRpcClient } from "../../services/external/xrplRpcClient";
|
|
5
7
|
type ChainTypeToClient = {
|
|
6
8
|
[ChainType.EVM]: JsonRpcProvider;
|
|
7
9
|
[ChainType.COSMOS]: StargateClient;
|
|
8
10
|
[ChainType.SOLANA]: SolanaConnection;
|
|
9
11
|
[ChainType.BTC]: null;
|
|
10
|
-
[ChainType.SUI]:
|
|
11
|
-
[ChainType.XRPL]:
|
|
12
|
+
[ChainType.SUI]: SuiClient;
|
|
13
|
+
[ChainType.XRPL]: XrplRpcClient;
|
|
12
14
|
};
|
|
13
15
|
export declare function getClient<T extends ChainType>(chain: ChainData): Promise<ChainTypeToClient[T]>;
|
|
14
16
|
export {};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ChainType } from "@0xsquid/squid-types";
|
|
2
2
|
import { StargateClient } from "@cosmjs/stargate";
|
|
3
|
+
import { SuiClient } from "@mysten/sui/client";
|
|
3
4
|
import { Connection as SolanaConnection } from "@solana/web3.js";
|
|
4
5
|
import { JsonRpcProvider } from "ethers";
|
|
5
6
|
import { getWorkingCosmosRpcUrl } from "../../services/external/rpcService";
|
|
7
|
+
import { XrplRpcClient } from "../../services/external/xrplRpcClient";
|
|
6
8
|
import { SOLANA_RPC_URL } from "../constants";
|
|
7
9
|
const clientCache = new Map();
|
|
8
10
|
export async function getClient(chain) {
|
|
@@ -26,9 +28,11 @@ async function createClient(chain) {
|
|
|
26
28
|
case ChainType.BTC:
|
|
27
29
|
return null;
|
|
28
30
|
case ChainType.SUI:
|
|
29
|
-
return
|
|
31
|
+
return new SuiClient({
|
|
32
|
+
url: chain.rpc,
|
|
33
|
+
});
|
|
30
34
|
case ChainType.XRPL:
|
|
31
|
-
return
|
|
35
|
+
return new XrplRpcClient(chain.rpc);
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAa9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgD,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAW,CAAC;IAE3D,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAyB,CAAC;KACrD;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAI,KAAK,CAAC,CAAC;IAE5C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,KAAgB;IAEhB,QAAQ,KAAK,CAAC,SAAS,EAAE;QACvB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QAEhE,KAAK,SAAS,CAAC,MAAM;YACnB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAyB,CAAC;QAExE,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAyB,CAAC;QAEtE,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAA4B,CAAC;QAEtC,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAa9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgD,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAW,CAAC;IAE3D,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAyB,CAAC;KACrD;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAI,KAAK,CAAC,CAAC;IAE5C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,KAAgB;IAEhB,QAAQ,KAAK,CAAC,SAAS,EAAE;QACvB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QAEhE,KAAK,SAAS,CAAC,MAAM;YACnB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAyB,CAAC;QAExE,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAyB,CAAC;QAEtE,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAA4B,CAAC;QAEtC,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAyB,CAAC;QAE7B,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;KAC/D;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
|
|
2
|
+
export declare class CrossmarkConnector implements XrplConnector {
|
|
3
|
+
private getProvider;
|
|
4
|
+
connect(): Promise<string>;
|
|
5
|
+
signAndSubmit({ network, tx, }: {
|
|
6
|
+
network: XrplNetwork;
|
|
7
|
+
tx: XrplTransaction;
|
|
8
|
+
}): Promise<{
|
|
9
|
+
hash: string;
|
|
10
|
+
status: string;
|
|
11
|
+
}>;
|
|
12
|
+
private getActiveNetwork;
|
|
13
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { XrplNetwork
|
|
1
|
+
import { XrplNetwork } from "../../types/xrpl";
|
|
2
2
|
var NetworkLabel;
|
|
3
3
|
(function (NetworkLabel) {
|
|
4
4
|
NetworkLabel["XAHAU"] = "xahau";
|
|
5
5
|
NetworkLabel["XRPL"] = "xrp ledger";
|
|
6
6
|
})(NetworkLabel || (NetworkLabel = {}));
|
|
7
|
-
|
|
7
|
+
var NetworkType;
|
|
8
8
|
(function (NetworkType) {
|
|
9
9
|
NetworkType["TESTNET"] = "testnet";
|
|
10
10
|
NetworkType["MAINNET"] = "mainnet";
|
|
@@ -47,7 +47,7 @@ export class CrossmarkConnector {
|
|
|
47
47
|
throw new Error("Invalid transaction response");
|
|
48
48
|
}
|
|
49
49
|
return {
|
|
50
|
-
|
|
50
|
+
hash: data.resp.result.hash,
|
|
51
51
|
status: data.resp.result.meta.TransactionResult,
|
|
52
52
|
};
|
|
53
53
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CrossMark.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/CrossMark.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { Xumm } from "xumm";
|
|
2
|
-
import {
|
|
3
|
-
export declare class XamanConnector implements
|
|
2
|
+
import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
|
|
3
|
+
export declare class XamanConnector implements XrplConnector {
|
|
4
4
|
xummAppId: string;
|
|
5
5
|
xumm: Xumm | null;
|
|
6
6
|
private validateXummInitialized;
|
|
7
7
|
private initializeXumm;
|
|
8
8
|
connect(): Promise<string>;
|
|
9
9
|
signAndSubmit({ network, tx, }: {
|
|
10
|
-
tx:
|
|
10
|
+
tx: XrplTransaction;
|
|
11
11
|
network: XrplNetwork;
|
|
12
12
|
}): Promise<{
|
|
13
|
-
|
|
13
|
+
hash: string;
|
|
14
14
|
status: string;
|
|
15
15
|
}>;
|
|
16
16
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { XamanClient } from "../../../services/external/xaman";
|
|
2
|
+
import { XrplTxStatus, } from "../../types/xrpl";
|
|
2
3
|
export class XamanConnector {
|
|
3
4
|
// Xumm app ID, safe to expose on client-side
|
|
4
5
|
xummAppId = "5f341f00-03c6-4f3e-a367-e69698ca8337";
|
|
@@ -63,10 +64,8 @@ export class XamanConnector {
|
|
|
63
64
|
const fullPayload = await this.xumm.payload.get(data.uuid);
|
|
64
65
|
if (fullPayload?.response.txid) {
|
|
65
66
|
resolve({
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
status: "tesSUCCESS",
|
|
67
|
+
hash: fullPayload.response.txid,
|
|
68
|
+
status: XrplTxStatus.SUCCESS,
|
|
70
69
|
});
|
|
71
70
|
}
|
|
72
71
|
else {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Xaman.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/Xaman.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class XamanQrConnector implements
|
|
1
|
+
import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
|
|
2
|
+
export declare class XamanQrConnector implements XrplConnector {
|
|
3
3
|
cancelConnectQr: (() => void) | null;
|
|
4
4
|
cancelSignAndSubmitQr: (() => void) | null;
|
|
5
5
|
cancelConnect(): void;
|
|
6
6
|
cancelSignAndSubmit(): void;
|
|
7
7
|
connect(): Promise<string>;
|
|
8
8
|
signAndSubmit({ tx, network, }: {
|
|
9
|
-
tx:
|
|
9
|
+
tx: XrplTransaction;
|
|
10
10
|
network: XrplNetwork;
|
|
11
11
|
}): Promise<{
|
|
12
|
-
|
|
12
|
+
hash: string;
|
|
13
13
|
status: string;
|
|
14
14
|
}>;
|
|
15
15
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { WidgetEvents } from "../../../services";
|
|
2
2
|
import { websocket } from "../../../services/external/websocket";
|
|
3
3
|
import { XamanClient } from "../../../services/external/xaman";
|
|
4
|
+
import { XrplTxStatus, } from "../../types/xrpl";
|
|
4
5
|
export class XamanQrConnector {
|
|
5
6
|
cancelConnectQr = null;
|
|
6
7
|
cancelSignAndSubmitQr = null;
|
|
@@ -16,7 +17,7 @@ export class XamanQrConnector {
|
|
|
16
17
|
controller.abort("User canceled the connection process");
|
|
17
18
|
};
|
|
18
19
|
const response = await XamanClient.signIn(controller.signal);
|
|
19
|
-
WidgetEvents.getInstance().
|
|
20
|
+
WidgetEvents.getInstance().dispatchQrCodeGeneratedForConnect({
|
|
20
21
|
matrix: response.qrMatrix,
|
|
21
22
|
});
|
|
22
23
|
const { promise, close } = websocket(response.wsStatusUrl, (event, resolve, reject) => {
|
|
@@ -46,18 +47,20 @@ export class XamanQrConnector {
|
|
|
46
47
|
network,
|
|
47
48
|
signal: controller.signal,
|
|
48
49
|
});
|
|
49
|
-
WidgetEvents.getInstance().
|
|
50
|
+
WidgetEvents.getInstance().dispatchQrCodeGeneratedForSign({
|
|
50
51
|
matrix: response.qrMatrix,
|
|
51
52
|
});
|
|
52
53
|
const { promise, close } = websocket(response.wsStatusUrl, (event, resolve, reject) => {
|
|
53
54
|
const msg = JSON.parse(event.data);
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
if (msg.opened === true) {
|
|
56
|
+
// User has scanned the QR code
|
|
57
|
+
WidgetEvents.getInstance().dispatchQrTxScannedAwaitingApproval(undefined);
|
|
58
|
+
}
|
|
59
|
+
else if (msg.signed === true) {
|
|
60
|
+
// Tx has been signed
|
|
56
61
|
resolve({
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
status: "tesSUCCESS",
|
|
62
|
+
hash: msg.txid,
|
|
63
|
+
status: XrplTxStatus.SUCCESS,
|
|
61
64
|
});
|
|
62
65
|
}
|
|
63
66
|
else if (msg.signed === false) {
|
|
@@ -69,7 +72,6 @@ export class XamanQrConnector {
|
|
|
69
72
|
close();
|
|
70
73
|
};
|
|
71
74
|
const result = await promise;
|
|
72
|
-
WidgetEvents.getInstance().dispatchQrWalletTxSigned(undefined);
|
|
73
75
|
return result;
|
|
74
76
|
}
|
|
75
77
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XamanQr.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/XamanQr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EIP6963AnnounceProviderEvent, EIP6963RequestProviderEvent } from "@metamask/providers";
|
|
2
|
-
import {
|
|
2
|
+
import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
|
|
3
3
|
declare enum EIP6963EventNames {
|
|
4
4
|
Announce = "eip6963:announceProvider",
|
|
5
5
|
Request = "eip6963:requestProvider"
|
|
@@ -10,26 +10,19 @@ declare global {
|
|
|
10
10
|
[EIP6963EventNames.Request]: EIP6963RequestProviderEvent;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
export declare class
|
|
13
|
+
export declare class XrplMetamaskSnapConnector implements XrplConnector {
|
|
14
14
|
private provider?;
|
|
15
15
|
connect(): Promise<string>;
|
|
16
16
|
signAndSubmit({ network, tx, }: {
|
|
17
17
|
network: XrplNetwork;
|
|
18
|
-
tx:
|
|
18
|
+
tx: XrplTransaction;
|
|
19
19
|
}): Promise<{
|
|
20
|
-
|
|
20
|
+
hash: string;
|
|
21
21
|
status: string;
|
|
22
22
|
}>;
|
|
23
23
|
private initialize;
|
|
24
|
-
private getSnaps;
|
|
25
24
|
private requestSnap;
|
|
26
|
-
private
|
|
27
|
-
private getTransactionHashFromTxResponse;
|
|
28
|
-
send({ amount, destination, destinationTag, }: {
|
|
29
|
-
destination: string;
|
|
30
|
-
amount: string;
|
|
31
|
-
destinationTag?: number;
|
|
32
|
-
}): Promise<string>;
|
|
25
|
+
private getAccount;
|
|
33
26
|
private getActiveNetwork;
|
|
34
27
|
private changeNetwork;
|
|
35
28
|
private invokeSnap;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XrplNetwork } from "../../types/
|
|
1
|
+
import { XrplNetwork } from "../../types/xrpl";
|
|
2
2
|
var EIP6963EventNames;
|
|
3
3
|
(function (EIP6963EventNames) {
|
|
4
4
|
EIP6963EventNames["Announce"] = "eip6963:announceProvider";
|
|
@@ -11,13 +11,13 @@ var NetworkChainId;
|
|
|
11
11
|
NetworkChainId[NetworkChainId["DEVNET"] = 2] = "DEVNET";
|
|
12
12
|
})(NetworkChainId || (NetworkChainId = {}));
|
|
13
13
|
const snapId = "npm:xrpl-snap";
|
|
14
|
-
export class
|
|
14
|
+
export class XrplMetamaskSnapConnector {
|
|
15
15
|
provider;
|
|
16
16
|
async connect() {
|
|
17
17
|
await this.initialize();
|
|
18
18
|
await this.requestSnap(snapId);
|
|
19
19
|
// await this.changeNetwork(this.getNetworkChainId(XRPL_ENV));
|
|
20
|
-
const { account } = await this.
|
|
20
|
+
const { account } = await this.getAccount();
|
|
21
21
|
return account;
|
|
22
22
|
}
|
|
23
23
|
async signAndSubmit({ network, tx, }) {
|
|
@@ -28,24 +28,17 @@ export class XrpMetamaskSnapConnector {
|
|
|
28
28
|
if (activeNetwork.chainId !== targetChainId) {
|
|
29
29
|
await this.changeNetwork(targetChainId);
|
|
30
30
|
}
|
|
31
|
-
const res = await this.
|
|
32
|
-
method: "
|
|
33
|
-
params:
|
|
34
|
-
snapId: snapId,
|
|
35
|
-
request: {
|
|
36
|
-
method: "xrpl_signAndSubmit",
|
|
37
|
-
params: tx,
|
|
38
|
-
},
|
|
39
|
-
},
|
|
31
|
+
const res = await this.invokeSnap({
|
|
32
|
+
method: "xrpl_signAndSubmit",
|
|
33
|
+
params: tx,
|
|
40
34
|
});
|
|
41
35
|
if (!res?.result) {
|
|
42
|
-
console.error("Invalid transaction result: ", res);
|
|
43
36
|
throw new Error("Invalid transaction result");
|
|
44
37
|
}
|
|
45
38
|
const txResponse = res.result.tx_json;
|
|
46
39
|
const txStatus = res.result.engine_result;
|
|
47
40
|
return {
|
|
48
|
-
|
|
41
|
+
hash: txResponse.hash,
|
|
49
42
|
status: txStatus,
|
|
50
43
|
};
|
|
51
44
|
}
|
|
@@ -53,11 +46,6 @@ export class XrpMetamaskSnapConnector {
|
|
|
53
46
|
async initialize() {
|
|
54
47
|
this.provider = await this.getProvider();
|
|
55
48
|
}
|
|
56
|
-
async getSnaps() {
|
|
57
|
-
return (await this.request({
|
|
58
|
-
method: "wallet_getSnaps",
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
49
|
async requestSnap(id) {
|
|
62
50
|
await this.request({
|
|
63
51
|
method: "wallet_requestSnaps",
|
|
@@ -66,32 +54,12 @@ export class XrpMetamaskSnapConnector {
|
|
|
66
54
|
},
|
|
67
55
|
});
|
|
68
56
|
}
|
|
69
|
-
async
|
|
57
|
+
async getAccount() {
|
|
70
58
|
return this.invokeSnap({
|
|
71
59
|
method: "xrpl_getAccount",
|
|
72
60
|
params: undefined,
|
|
73
61
|
});
|
|
74
62
|
}
|
|
75
|
-
getTransactionHashFromTxResponse(submittedTx) {
|
|
76
|
-
if (submittedTx.engine_result === "tesSUCCESS") {
|
|
77
|
-
return submittedTx.tx_json.hash;
|
|
78
|
-
}
|
|
79
|
-
throw new Error(`XRP transaction failed: ${submittedTx.engine_result}`);
|
|
80
|
-
}
|
|
81
|
-
async send({ amount, destination, destinationTag, }) {
|
|
82
|
-
const { account } = await this.getWallet();
|
|
83
|
-
const submittedTx = await this.invokeSnap({
|
|
84
|
-
method: "xrpl_signAndSubmit",
|
|
85
|
-
params: {
|
|
86
|
-
TransactionType: "Payment",
|
|
87
|
-
Account: account,
|
|
88
|
-
Destination: destination,
|
|
89
|
-
DestinationTag: destinationTag,
|
|
90
|
-
Amount: amount,
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
return this.getTransactionHashFromTxResponse(submittedTx);
|
|
94
|
-
}
|
|
95
63
|
async getActiveNetwork() {
|
|
96
64
|
return this.invokeSnap({
|
|
97
65
|
method: "xrpl_getActiveNetwork",
|
|
@@ -115,7 +83,7 @@ export class XrpMetamaskSnapConnector {
|
|
|
115
83
|
return this.request({
|
|
116
84
|
method: "wallet_invokeSnap",
|
|
117
85
|
params: {
|
|
118
|
-
snapId
|
|
86
|
+
snapId,
|
|
119
87
|
request: {
|
|
120
88
|
method,
|
|
121
89
|
params,
|
|
@@ -177,11 +145,7 @@ export class XrpMetamaskSnapConnector {
|
|
|
177
145
|
}
|
|
178
146
|
/**
|
|
179
147
|
* Listener for the EIP6963 announceProvider event.
|
|
180
|
-
*
|
|
181
148
|
* Resolves the promise if a Metamask provider is found.
|
|
182
|
-
*
|
|
183
|
-
* @param event - The EIP6963 announceProvider event.
|
|
184
|
-
* @param event.detail - The details of the EIP6963 announceProvider event.
|
|
185
149
|
*/
|
|
186
150
|
function onAnnounceProvider({ detail }) {
|
|
187
151
|
const { info, provider } = detail;
|
|
@@ -195,7 +159,7 @@ export class XrpMetamaskSnapConnector {
|
|
|
195
159
|
}
|
|
196
160
|
async request({ method, params }) {
|
|
197
161
|
if (!this.provider) {
|
|
198
|
-
throw new Error("
|
|
162
|
+
throw new Error("XRPL Metamask provider not initialized");
|
|
199
163
|
}
|
|
200
164
|
return this.provider.request({ method, params });
|
|
201
165
|
}
|
|
@@ -206,8 +170,8 @@ export class XrpMetamaskSnapConnector {
|
|
|
206
170
|
case XrplNetwork.TESTNET:
|
|
207
171
|
return NetworkChainId.TESTNET;
|
|
208
172
|
default:
|
|
209
|
-
throw new Error(`
|
|
173
|
+
throw new Error(`Network ${network} is not supported`);
|
|
210
174
|
}
|
|
211
175
|
}
|
|
212
176
|
}
|
|
213
|
-
//# sourceMappingURL=
|
|
177
|
+
//# sourceMappingURL=XrplMetamaskSnap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XrplMetamaskSnap.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/XrplMetamaskSnap.ts"],"names":[],"mappings":"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"}
|
package/dist/core/constants.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { ChainType } from "@0xsquid/squid-types";
|
|
2
2
|
import type { AppConfig, SlippageOption } from "./types/config";
|
|
3
|
-
/**
|
|
4
|
-
* Amount required to active an account on the XRP Ledger
|
|
5
|
-
*/
|
|
6
|
-
export declare const XRPL_RESERVE_AMOUNT = 1;
|
|
7
3
|
export declare const DEFAULT_LOCALE = "en-US";
|
|
8
4
|
export declare const chainTypeToZeroAddressMap: Record<ChainType, string>;
|
|
9
5
|
export declare const nativeEvmTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
@@ -11,7 +7,7 @@ export declare const nativeCosmosTokenAddress = "uosmo";
|
|
|
11
7
|
export declare const nativeSolanaTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
12
8
|
export declare const nativeBitcoinTokenAddress = "satoshi";
|
|
13
9
|
export declare const nativeSuiTokenAddress = "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
|
|
14
|
-
export declare const
|
|
10
|
+
export declare const nativeXrplTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
15
11
|
export declare const maxPriceImpact = 30;
|
|
16
12
|
export declare const limitTradeSizeUsd = 10000000;
|
|
17
13
|
export declare const defaultSlippage: SlippageOption;
|
|
@@ -33,15 +29,6 @@ export declare const CHAIN_IDS: {
|
|
|
33
29
|
readonly SECRET: "secret-4";
|
|
34
30
|
readonly ARCHWAY: "archway-1";
|
|
35
31
|
readonly XION: "xion-mainnet-1";
|
|
36
|
-
readonly KAVA_IBC: "kava_2222-10";
|
|
37
|
-
readonly TERRA: "phoenix-1";
|
|
38
|
-
readonly C4E: "perun-1";
|
|
39
|
-
readonly FETCH: "fetchhub-4";
|
|
40
|
-
readonly KI: "kichain-2";
|
|
41
|
-
readonly SEI: "pacific-1";
|
|
42
|
-
readonly MIGALOO: "migaloo-1";
|
|
43
|
-
readonly UMEE: "umee-1";
|
|
44
|
-
readonly PERSISTENCE: "core-1";
|
|
45
32
|
readonly NOBLE: "noble-1";
|
|
46
33
|
readonly AGORIC: "agoric-3";
|
|
47
34
|
readonly ETHEREUM: "1";
|
|
@@ -63,6 +50,7 @@ export declare const CHAIN_IDS: {
|
|
|
63
50
|
readonly KAVA: "2222";
|
|
64
51
|
readonly FILECOIN: "314";
|
|
65
52
|
readonly BERACHAIN: "80094";
|
|
53
|
+
readonly SAGA_EVM: "5464";
|
|
66
54
|
readonly XRPL_EVM_TESTNET: "1449000";
|
|
67
55
|
readonly BITCOIN: "bitcoin";
|
|
68
56
|
readonly SOLANA: "solana-mainnet-beta";
|
package/dist/core/constants.js
CHANGED
|
@@ -2,30 +2,26 @@
|
|
|
2
2
|
import { ChainType } from "@0xsquid/squid-types";
|
|
3
3
|
import { zeroAddress as evmZeroAddress } from "viem";
|
|
4
4
|
import { squidApiBaseUrl } from "./externalLinks";
|
|
5
|
-
/**
|
|
6
|
-
* Amount required to active an account on the XRP Ledger
|
|
7
|
-
*/
|
|
8
|
-
export const XRPL_RESERVE_AMOUNT = 1;
|
|
9
5
|
export const DEFAULT_LOCALE = "en-US";
|
|
10
6
|
const btcZeroAddress = "bc1qcdyjau30xhw26h2egcfklwyyyskafhp9x8qtg2";
|
|
11
7
|
const cosmosZeroAddress = "osmo1awrua7e2kj69d7vn5qt5tccrhavmj9xa6y8hhu";
|
|
12
8
|
const solanaZeroAddress = "AuF3k2X5CsXJiXo7YKL5jxDG3gmf9MjaVK8hqt7Kfes1";
|
|
13
9
|
const suiZeroAddress = "0x0000000000000000000000000000000000000000";
|
|
14
|
-
const
|
|
10
|
+
const xrplZeroAddress = "rrrrrrrrrrrrrrrrrrrrrhoLvTp";
|
|
15
11
|
export const chainTypeToZeroAddressMap = {
|
|
16
12
|
[ChainType.EVM]: evmZeroAddress,
|
|
17
13
|
[ChainType.COSMOS]: cosmosZeroAddress,
|
|
18
14
|
[ChainType.BTC]: btcZeroAddress,
|
|
19
15
|
[ChainType.SOLANA]: solanaZeroAddress,
|
|
20
16
|
[ChainType.SUI]: suiZeroAddress,
|
|
21
|
-
[ChainType.XRPL]:
|
|
17
|
+
[ChainType.XRPL]: xrplZeroAddress,
|
|
22
18
|
};
|
|
23
19
|
export const nativeEvmTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
24
20
|
export const nativeCosmosTokenAddress = "uosmo";
|
|
25
21
|
export const nativeSolanaTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
26
22
|
export const nativeBitcoinTokenAddress = "satoshi";
|
|
27
23
|
export const nativeSuiTokenAddress = "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
|
|
28
|
-
export const
|
|
24
|
+
export const nativeXrplTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
29
25
|
export const maxPriceImpact = 30;
|
|
30
26
|
export const limitTradeSizeUsd = 10000000;
|
|
31
27
|
// by setting slippage to undefined, it's set to "auto"
|
|
@@ -51,15 +47,6 @@ export const CHAIN_IDS = {
|
|
|
51
47
|
SECRET: "secret-4",
|
|
52
48
|
ARCHWAY: "archway-1",
|
|
53
49
|
XION: "xion-mainnet-1",
|
|
54
|
-
KAVA_IBC: "kava_2222-10",
|
|
55
|
-
TERRA: "phoenix-1",
|
|
56
|
-
C4E: "perun-1",
|
|
57
|
-
FETCH: "fetchhub-4",
|
|
58
|
-
KI: "kichain-2",
|
|
59
|
-
SEI: "pacific-1",
|
|
60
|
-
MIGALOO: "migaloo-1",
|
|
61
|
-
UMEE: "umee-1",
|
|
62
|
-
PERSISTENCE: "core-1",
|
|
63
50
|
NOBLE: "noble-1",
|
|
64
51
|
AGORIC: "agoric-3",
|
|
65
52
|
// EVM
|
|
@@ -82,6 +69,7 @@ export const CHAIN_IDS = {
|
|
|
82
69
|
KAVA: "2222",
|
|
83
70
|
FILECOIN: "314",
|
|
84
71
|
BERACHAIN: "80094",
|
|
72
|
+
SAGA_EVM: "5464",
|
|
85
73
|
XRPL_EVM_TESTNET: "1449000",
|
|
86
74
|
// others
|
|
87
75
|
BITCOIN: "bitcoin",
|
|
@@ -108,7 +96,7 @@ export const chainTypeToNativeTokenAddressMap = {
|
|
|
108
96
|
[ChainType.BTC]: nativeBitcoinTokenAddress,
|
|
109
97
|
[ChainType.SOLANA]: nativeSolanaTokenAddress,
|
|
110
98
|
[ChainType.SUI]: nativeSuiTokenAddress,
|
|
111
|
-
[ChainType.XRPL]:
|
|
99
|
+
[ChainType.XRPL]: nativeXrplTokenAddress,
|
|
112
100
|
};
|
|
113
101
|
export const widgetHeaderSize = {
|
|
114
102
|
height: 60,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,MAAM,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { CHAIN_IDS, chainTypeToNativeTokenAddressMap, chainTypeToZeroAddressMap, DEFAULT_LOCALE, destinationAddressResetValue, fallbackAddressResetValue, nativeBitcoinTokenAddress, nativeCosmosTokenAddress, nativeEvmTokenAddress, nativeSolanaTokenAddress, nativeSuiTokenAddress,
|
|
1
|
+
export { CHAIN_IDS, chainTypeToNativeTokenAddressMap, chainTypeToZeroAddressMap, DEFAULT_LOCALE, destinationAddressResetValue, fallbackAddressResetValue, nativeBitcoinTokenAddress, nativeCosmosTokenAddress, nativeEvmTokenAddress, nativeSolanaTokenAddress, nativeSuiTokenAddress, nativeXrplTokenAddress, } from "./constants";
|
|
2
2
|
export { CosmosProvider, useCosmosContext } from "./providers/CosmosProvider";
|
|
3
3
|
export * from "./types";
|
|
4
|
-
export { XamanXrplNetwork } from "./types/xrp";
|
package/dist/core/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export { CHAIN_IDS, chainTypeToNativeTokenAddressMap, chainTypeToZeroAddressMap, DEFAULT_LOCALE, destinationAddressResetValue, fallbackAddressResetValue, nativeBitcoinTokenAddress, nativeCosmosTokenAddress, nativeEvmTokenAddress, nativeSolanaTokenAddress, nativeSuiTokenAddress,
|
|
1
|
+
export { CHAIN_IDS, chainTypeToNativeTokenAddressMap, chainTypeToZeroAddressMap, DEFAULT_LOCALE, destinationAddressResetValue, fallbackAddressResetValue, nativeBitcoinTokenAddress, nativeCosmosTokenAddress, nativeEvmTokenAddress, nativeSolanaTokenAddress, nativeSuiTokenAddress, nativeXrplTokenAddress, } from "./constants";
|
|
2
2
|
export { CosmosProvider, useCosmosContext } from "./providers/CosmosProvider";
|
|
3
3
|
export * from "./types";
|
|
4
|
-
export { XamanXrplNetwork } from "./types/xrp";
|
|
5
4
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gCAAgC,EAChC,yBAAyB,EACzB,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gCAAgC,EAChC,yBAAyB,EACzB,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,cAAc,SAAS,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Returns the multicall3 address for a given chain ID
|
|
3
|
+
* fallback to the default EVM address if no custom address is found
|
|
4
|
+
*/
|
|
5
|
+
export declare function getMulticall3Address(chainId: string): string;
|
|
2
6
|
export declare const multicallAbi: {
|
|
3
7
|
inputs: ({
|
|
4
8
|
internalType: string;
|
package/dist/core/multicall3.js
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
import { CHAIN_IDS } from "./constants";
|
|
2
|
+
/**
|
|
3
|
+
* The default multicall3 address
|
|
4
|
+
* available on most EVM chains
|
|
5
|
+
*/
|
|
6
|
+
const DEFAULT_EVM_MULTICALL3_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
|
|
7
|
+
/**
|
|
8
|
+
* Some chains may have a different multicall3 address
|
|
9
|
+
*/
|
|
10
|
+
const chainIdToMulticall3AddressMap = {
|
|
11
|
+
[CHAIN_IDS.SAGA_EVM]: "0x864DDc9B50B9A0dF676d826c9B9EDe9F8913a160",
|
|
12
|
+
[CHAIN_IDS.XRPL_EVM_TESTNET]: "0x82Cc144D7d0AD4B1c27cb41420e82b82Ad6e9B31",
|
|
13
|
+
// [CHAIN_IDS.XRPL_EVM]: "0x82Cc144D7d0AD4B1c27cb41420e82b82Ad6e9B31",
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Returns the multicall3 address for a given chain ID
|
|
17
|
+
* fallback to the default EVM address if no custom address is found
|
|
18
|
+
*/
|
|
19
|
+
export function getMulticall3Address(chainId) {
|
|
20
|
+
return (chainIdToMulticall3AddressMap[chainId] || DEFAULT_EVM_MULTICALL3_ADDRESS);
|
|
21
|
+
}
|
|
2
22
|
export const multicallAbi = [
|
|
3
23
|
{
|
|
4
24
|
inputs: [
|