@0xsquid/react-hooks 6.4.4-xrpl-beta.0 → 6.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/connectors/bitcoin/errors/index.d.ts +1 -2
- package/dist/core/connectors/bitcoin/errors/index.js +1 -1
- package/dist/core/connectors/bitcoin/errors/index.js.map +1 -1
- package/dist/core/constants.d.ts +3 -6
- package/dist/core/constants.js +4 -26
- 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/providers/CosmosProvider.d.ts +1 -1
- package/dist/core/providers/CosmosProvider.js.map +1 -1
- package/dist/core/queries/queries-keys.d.ts +4 -4
- package/dist/core/types/error.d.ts +1 -0
- package/dist/core/types/error.js.map +1 -1
- package/dist/core/types/index.d.ts +0 -1
- package/dist/core/types/index.js +0 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/transaction.d.ts +1 -0
- package/dist/core/types/wallet.d.ts +4 -21
- package/dist/core/types/wallet.js +0 -2
- package/dist/core/types/wallet.js.map +1 -1
- package/dist/core/wallets.js +0 -39
- package/dist/core/wallets.js.map +1 -1
- package/dist/hooks/chains/useSquidChains.js +1 -1
- package/dist/hooks/chains/useSquidChains.js.map +1 -1
- package/dist/hooks/cosmos/useCosmos.js +15 -5
- package/dist/hooks/cosmos/useCosmos.js.map +1 -1
- package/dist/hooks/index.d.ts +0 -2
- package/dist/hooks/index.js +0 -2
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/store/useWalletStore.js +6 -5
- package/dist/hooks/store/useWalletStore.js.map +1 -1
- package/dist/hooks/swap/useSwap.js +3 -9
- package/dist/hooks/swap/useSwap.js.map +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +1 -1
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +1 -12
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +6 -5
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +16 -30
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
- package/dist/hooks/tokens/useBalance.d.ts +246 -18
- package/dist/hooks/tokens/useBalance.js +26 -65
- package/dist/hooks/tokens/useBalance.js.map +1 -1
- package/dist/hooks/tokens/useMultiChainBalance.d.ts +2 -2
- package/dist/hooks/tokens/useMultiChainBalance.js +35 -38
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeBalance.d.ts +18 -16
- package/dist/hooks/tokens/useNativeBalance.js +56 -122
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
- package/dist/hooks/tokens/useNativeTokenForChain.js +4 -6
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
- package/dist/hooks/tokens/useSquidTokens.d.ts +11 -2
- package/dist/hooks/tokens/useSquidTokens.js +16 -8
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
- package/dist/hooks/transaction/useEstimate.js +1 -1
- package/dist/hooks/transaction/useEstimate.js.map +1 -1
- package/dist/hooks/transaction/useExecuteTransaction.d.ts +2 -0
- package/dist/hooks/transaction/useExecuteTransaction.js +42 -78
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
- package/dist/hooks/transaction/useGetRoute.d.ts +8 -7
- package/dist/hooks/transaction/useGetRoute.js +2 -2
- package/dist/hooks/transaction/useGetRoute.js.map +1 -1
- package/dist/hooks/transaction/useSingleTransaction.js +1 -1
- package/dist/hooks/transaction/useSingleTransaction.js.map +1 -1
- package/dist/hooks/user/useUserParams.js +1 -1
- package/dist/hooks/user/useUserParams.js.map +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js +1 -1
- package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
- package/dist/hooks/wallet/useMultiChainWallet.d.ts +3 -1
- package/dist/hooks/wallet/useMultiChainWallet.js +21 -32
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
- package/dist/hooks/wallet/useSigner.d.ts +2 -2
- package/dist/hooks/wallet/useSigner.js +3 -32
- package/dist/hooks/wallet/useSigner.js.map +1 -1
- package/dist/hooks/wallet/useWallet.d.ts +1 -1
- package/dist/hooks/wallet/useWallet.js +5 -14
- package/dist/hooks/wallet/useWallet.js.map +1 -1
- package/dist/provider/index.d.ts +1 -1
- package/dist/provider/index.js +6 -6
- package/dist/provider/index.js.map +1 -1
- package/dist/services/external/rpcService.d.ts +3 -5
- package/dist/services/external/rpcService.js +11 -98
- package/dist/services/external/rpcService.js.map +1 -1
- package/dist/services/index.d.ts +0 -1
- package/dist/services/index.js +0 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal/assetsService.d.ts +4 -4
- package/dist/services/internal/assetsService.js +4 -126
- package/dist/services/internal/assetsService.js.map +1 -1
- package/dist/services/internal/cosmosService.d.ts +13 -3
- package/dist/services/internal/cosmosService.js +1 -1
- package/dist/services/internal/cosmosService.js.map +1 -1
- package/dist/services/internal/errorService.d.ts +0 -15
- package/dist/services/internal/errorService.js +3 -9
- package/dist/services/internal/errorService.js.map +1 -1
- package/dist/services/internal/estimateService.js +2 -2
- package/dist/services/internal/estimateService.js.map +1 -1
- package/dist/services/internal/evmService.d.ts +5 -2
- package/dist/services/internal/evmService.js.map +1 -1
- package/dist/services/internal/numberService.d.ts +0 -1
- package/dist/services/internal/numberService.js +0 -15
- package/dist/services/internal/numberService.js.map +1 -1
- package/dist/services/internal/solanaService.d.ts +5 -2
- package/dist/services/internal/solanaService.js.map +1 -1
- package/dist/services/internal/transactionService.d.ts +1 -0
- package/dist/services/internal/transactionService.js +2 -3
- package/dist/services/internal/transactionService.js.map +1 -1
- package/dist/services/internal/walletService.d.ts +11 -20
- package/dist/services/internal/walletService.js +20 -24
- package/dist/services/internal/walletService.js.map +1 -1
- package/dist/tests/numberService.test.js +1 -12
- package/dist/tests/numberService.test.js.map +1 -1
- package/package.json +7 -9
- package/dist/core/connectors/xrp/CrossMark.d.ts +0 -16
- package/dist/core/connectors/xrp/CrossMark.js +0 -30
- package/dist/core/connectors/xrp/CrossMark.js.map +0 -1
- package/dist/core/connectors/xrp/XrpMetamaskSnap.d.ts +0 -40
- package/dist/core/connectors/xrp/XrpMetamaskSnap.js +0 -204
- package/dist/core/connectors/xrp/XrpMetamaskSnap.js.map +0 -1
- package/dist/core/types/route.d.ts +0 -9
- package/dist/core/types/route.js +0 -4
- package/dist/core/types/route.js.map +0 -1
- package/dist/core/types/xrp.d.ts +0 -23
- package/dist/core/types/xrp.js +0 -2
- package/dist/core/types/xrp.js.map +0 -1
- package/dist/core/xrp/config.d.ts +0 -21
- package/dist/core/xrp/config.js +0 -53
- package/dist/core/xrp/config.js.map +0 -1
- package/dist/hooks/xrp/useXrp.d.ts +0 -7
- package/dist/hooks/xrp/useXrp.js +0 -22
- package/dist/hooks/xrp/useXrp.js.map +0 -1
- package/dist/services/internal/xrpService.d.ts +0 -27
- package/dist/services/internal/xrpService.js +0 -86
- package/dist/services/internal/xrpService.js.map +0 -1
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { ethers, parseUnits } from "ethers";
|
|
2
|
-
import { decodeAccountID, isValidClassicAddress, isValidXAddress, } from "ripple-address-codec";
|
|
3
|
-
import { CHAIN_IDS } from "../../core/constants";
|
|
4
|
-
import { AXELAR_XRPL_EVM_CHAIN_ID, XRPL_CONFIG } from "../../core/xrp/config";
|
|
5
|
-
import { parseToBigInt } from "./numberService";
|
|
6
|
-
/**
|
|
7
|
-
* Validates that a given address is a valid X-Address or a valid classic address.
|
|
8
|
-
*
|
|
9
|
-
* XRP has two types of addresses:
|
|
10
|
-
* - X-addresses (e.g XVfC9...pokKH)
|
|
11
|
-
* - Classic addresses (e.g r4bA...WHCG)
|
|
12
|
-
*/
|
|
13
|
-
export function isXrpAddressValid(address) {
|
|
14
|
-
if (!address)
|
|
15
|
-
return false;
|
|
16
|
-
return isValidXAddress(address) || isValidClassicAddress(address);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Checks if the given chainId is an XRP chain (either XRPL or XRPL EVM)
|
|
20
|
-
*/
|
|
21
|
-
export function isXrpChain(chainId) {
|
|
22
|
-
if (!chainId)
|
|
23
|
-
return false;
|
|
24
|
-
return [CHAIN_IDS.XRPL, CHAIN_IDS.XRPL_EVM].includes(chainId);
|
|
25
|
-
}
|
|
26
|
-
export async function sendInterchainTransfer({ destinationAddress, fromAmount, signer, }) {
|
|
27
|
-
if (!isXrpAddressValid(destinationAddress)) {
|
|
28
|
-
throw new Error("Destination address is not a valid XRP address");
|
|
29
|
-
}
|
|
30
|
-
const ITS_ABI = [
|
|
31
|
-
"function interchainTransfer(bytes32 tokenId, string destinationChain, bytes destinationAddress, uint256 amount, bytes metadata, uint256 gasValue) external",
|
|
32
|
-
];
|
|
33
|
-
const itsContract = new ethers.Contract(XRPL_CONFIG.XRPL_EVM_ITS_ADDRESS, ITS_ABI, signer);
|
|
34
|
-
const destinationAddressAsHex = convertXrplAddressToHex(destinationAddress);
|
|
35
|
-
const tx = await itsContract.interchainTransfer(XRPL_CONFIG.XRP_ITS_TOKEN_ID, CHAIN_IDS.XRPL, destinationAddressAsHex, fromAmount, "0x", "100000000000000000", {
|
|
36
|
-
value: parseUnits("0.1", 18),
|
|
37
|
-
});
|
|
38
|
-
return tx;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Converts an XRPL address to a hex string
|
|
42
|
-
* to be able to send it through Axelar ITS
|
|
43
|
-
*/
|
|
44
|
-
function convertXrplAddressToHex(address) {
|
|
45
|
-
return `0x${hex(decodeAccountID(address))}`;
|
|
46
|
-
}
|
|
47
|
-
export function hex(str) {
|
|
48
|
-
return Buffer.from(str).toString("hex");
|
|
49
|
-
}
|
|
50
|
-
export function isHexString(str) {
|
|
51
|
-
return /^[a-fA-F0-9]+$/.test(str);
|
|
52
|
-
}
|
|
53
|
-
export function asHexString(str) {
|
|
54
|
-
if (!isHexString(str)) {
|
|
55
|
-
throw new Error(`Invalid hex string: ${str}`);
|
|
56
|
-
}
|
|
57
|
-
return str;
|
|
58
|
-
}
|
|
59
|
-
export function buildXrplPayment({ fromAmount, sourceAddress, destinationAddress, }) {
|
|
60
|
-
const fromAmountBn = parseToBigInt(fromAmount, 6).toString();
|
|
61
|
-
const destinationAddressAsHex = asHexString(
|
|
62
|
-
// Remove the 0x prefix
|
|
63
|
-
destinationAddress.replace(/^0x/, ""));
|
|
64
|
-
return {
|
|
65
|
-
TransactionType: "Payment",
|
|
66
|
-
Account: sourceAddress,
|
|
67
|
-
Amount: fromAmountBn,
|
|
68
|
-
Destination: XRPL_CONFIG.XRPL_AXELAR_MULTISIG_ADDRESS,
|
|
69
|
-
Memos: [
|
|
70
|
-
{
|
|
71
|
-
Memo: {
|
|
72
|
-
MemoType: hex("destination_address"),
|
|
73
|
-
MemoData: destinationAddressAsHex,
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
Memo: {
|
|
78
|
-
MemoType: hex("destination_chain"),
|
|
79
|
-
MemoData: hex(AXELAR_XRPL_EVM_CHAIN_ID), // or "avalanche-fuji",
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
{ Memo: { MemoType: hex("gas_fee_amount"), MemoData: "00" } }, // Always zero, for now
|
|
83
|
-
],
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=xrpService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xrpService.js","sourceRoot":"","sources":["../../../src/services/internal/xrpService.ts"],"names":[],"mappings":"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"}
|