@0xsquid/react-hooks 6.3.9-beta.3 → 6.4.0-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 (154) hide show
  1. package/dist/core/constants.d.ts +0 -6
  2. package/dist/core/constants.js +0 -17
  3. package/dist/core/constants.js.map +1 -1
  4. package/dist/core/queries/queries-keys.d.ts +7 -1
  5. package/dist/core/queries/queries-keys.js +24 -0
  6. package/dist/core/queries/queries-keys.js.map +1 -1
  7. package/dist/core/types/error.d.ts +6 -0
  8. package/dist/core/types/error.js.map +1 -1
  9. package/dist/core/types/index.d.ts +1 -0
  10. package/dist/core/types/onramps/index.d.ts +1 -0
  11. package/dist/core/types/onramps/index.js +2 -0
  12. package/dist/core/types/onramps/index.js.map +1 -0
  13. package/dist/core/types/onramps/onramp.d.ts +111 -0
  14. package/dist/core/types/onramps/onramp.js +2 -0
  15. package/dist/core/types/onramps/onramp.js.map +1 -0
  16. package/dist/core/types/onramps/revolut.d.ts +92 -0
  17. package/dist/core/types/onramps/revolut.js +2 -0
  18. package/dist/core/types/onramps/revolut.js.map +1 -0
  19. package/dist/core/types/transaction.d.ts +1 -0
  20. package/dist/core/types/wallet.d.ts +3 -18
  21. package/dist/core/types/wallet.js +0 -2
  22. package/dist/core/types/wallet.js.map +1 -1
  23. package/dist/core/wallets.js +0 -37
  24. package/dist/core/wallets.js.map +1 -1
  25. package/dist/hooks/cosmos/useCosmos.js +13 -3
  26. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  27. package/dist/hooks/index.d.ts +1 -1
  28. package/dist/hooks/index.js +1 -1
  29. package/dist/hooks/index.js.map +1 -1
  30. package/dist/hooks/onramp/useFiatToCrypto.d.ts +48 -0
  31. package/dist/hooks/onramp/useFiatToCrypto.js +145 -0
  32. package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -0
  33. package/dist/hooks/store/useFiatTransactionStore.d.ts +20 -0
  34. package/dist/hooks/store/useFiatTransactionStore.js +36 -0
  35. package/dist/hooks/store/useFiatTransactionStore.js.map +1 -0
  36. package/dist/hooks/store/useWalletStore.js +6 -5
  37. package/dist/hooks/store/useWalletStore.js.map +1 -1
  38. package/dist/hooks/swap/useSwap.d.ts +1 -0
  39. package/dist/hooks/swap/useSwap.js +2 -0
  40. package/dist/hooks/swap/useSwap.js.map +1 -1
  41. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +1 -12
  42. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
  43. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +5 -4
  44. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +16 -30
  45. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  46. package/dist/hooks/tokens/useBalance.d.ts +246 -18
  47. package/dist/hooks/tokens/useBalance.js +26 -63
  48. package/dist/hooks/tokens/useBalance.js.map +1 -1
  49. package/dist/hooks/tokens/useMultiChainBalance.d.ts +1 -1
  50. package/dist/hooks/tokens/useMultiChainBalance.js +19 -18
  51. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
  52. package/dist/hooks/tokens/useNativeBalance.d.ts +18 -16
  53. package/dist/hooks/tokens/useNativeBalance.js +52 -121
  54. package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
  55. package/dist/hooks/tokens/useNativeTokenForChain.js +4 -6
  56. package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
  57. package/dist/hooks/tokens/useSquidTokens.d.ts +11 -2
  58. package/dist/hooks/tokens/useSquidTokens.js +15 -9
  59. package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
  60. package/dist/hooks/transaction/useApproval.js +5 -4
  61. package/dist/hooks/transaction/useApproval.js.map +1 -1
  62. package/dist/hooks/transaction/useExecuteTransaction.d.ts +2 -0
  63. package/dist/hooks/transaction/useExecuteTransaction.js +37 -66
  64. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  65. package/dist/hooks/transaction/useGetRoute.d.ts +8 -7
  66. package/dist/hooks/transaction/useGetRoute.js +6 -203
  67. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  68. package/dist/hooks/user/useHistory.js +1 -0
  69. package/dist/hooks/user/useHistory.js.map +1 -1
  70. package/dist/hooks/user/useUserParams.d.ts +1 -0
  71. package/dist/hooks/user/useUserParams.js +2 -1
  72. package/dist/hooks/user/useUserParams.js.map +1 -1
  73. package/dist/hooks/utils/useUtils.d.ts +7 -0
  74. package/dist/hooks/utils/useUtils.js +20 -0
  75. package/dist/hooks/utils/useUtils.js.map +1 -0
  76. package/dist/hooks/wallet/useEns.d.ts +0 -1
  77. package/dist/hooks/wallet/useEns.js +1 -13
  78. package/dist/hooks/wallet/useEns.js.map +1 -1
  79. package/dist/hooks/wallet/useMultiChainWallet.d.ts +8 -3
  80. package/dist/hooks/wallet/useMultiChainWallet.js +40 -35
  81. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  82. package/dist/hooks/wallet/useSigner.d.ts +2 -2
  83. package/dist/hooks/wallet/useSigner.js +3 -34
  84. package/dist/hooks/wallet/useSigner.js.map +1 -1
  85. package/dist/hooks/wallet/useWallet.d.ts +1 -1
  86. package/dist/hooks/wallet/useWallet.js +5 -14
  87. package/dist/hooks/wallet/useWallet.js.map +1 -1
  88. package/dist/index.d.ts +1 -1
  89. package/dist/index.js +1 -1
  90. package/dist/index.js.map +1 -1
  91. package/dist/provider/index.d.ts +1 -1
  92. package/dist/provider/index.js +6 -6
  93. package/dist/provider/index.js.map +1 -1
  94. package/dist/services/external/index.d.ts +2 -0
  95. package/dist/services/external/index.js +3 -0
  96. package/dist/services/external/index.js.map +1 -0
  97. package/dist/services/external/onramperClientAdapter.d.ts +14 -0
  98. package/dist/services/external/onramperClientAdapter.js +136 -0
  99. package/dist/services/external/onramperClientAdapter.js.map +1 -0
  100. package/dist/services/external/revolutClientAdapter.d.ts +31 -0
  101. package/dist/services/external/revolutClientAdapter.js +221 -0
  102. package/dist/services/external/revolutClientAdapter.js.map +1 -0
  103. package/dist/services/external/rpcService.d.ts +1 -3
  104. package/dist/services/external/rpcService.js +8 -85
  105. package/dist/services/external/rpcService.js.map +1 -1
  106. package/dist/services/index.d.ts +1 -2
  107. package/dist/services/index.js +1 -2
  108. package/dist/services/index.js.map +1 -1
  109. package/dist/services/internal/assetsService.d.ts +5 -3
  110. package/dist/services/internal/assetsService.js +8 -126
  111. package/dist/services/internal/assetsService.js.map +1 -1
  112. package/dist/services/internal/cosmosService.d.ts +13 -3
  113. package/dist/services/internal/cosmosService.js +1 -1
  114. package/dist/services/internal/cosmosService.js.map +1 -1
  115. package/dist/services/internal/errorService.d.ts +5 -1
  116. package/dist/services/internal/errorService.js +35 -21
  117. package/dist/services/internal/errorService.js.map +1 -1
  118. package/dist/services/internal/evmService.d.ts +5 -2
  119. package/dist/services/internal/evmService.js.map +1 -1
  120. package/dist/services/internal/fiatToCryptoService.d.ts +21 -0
  121. package/dist/services/internal/fiatToCryptoService.js +41 -0
  122. package/dist/services/internal/fiatToCryptoService.js.map +1 -0
  123. package/dist/services/internal/solanaService.d.ts +5 -2
  124. package/dist/services/internal/solanaService.js.map +1 -1
  125. package/dist/services/internal/transactionService.d.ts +2 -1
  126. package/dist/services/internal/transactionService.js +1 -12
  127. package/dist/services/internal/transactionService.js.map +1 -1
  128. package/dist/services/internal/walletService.d.ts +11 -19
  129. package/dist/services/internal/walletService.js +17 -20
  130. package/dist/services/internal/walletService.js.map +1 -1
  131. package/dist/tests/assetsService.test.js +13 -26
  132. package/dist/tests/assetsService.test.js.map +1 -1
  133. package/dist/tests/revolutClientAdapter.test.d.ts +1 -0
  134. package/dist/tests/revolutClientAdapter.test.js +181 -0
  135. package/dist/tests/revolutClientAdapter.test.js.map +1 -0
  136. package/package.json +9 -8
  137. package/dist/core/connectors/xrp/CrossMark.d.ts +0 -7
  138. package/dist/core/connectors/xrp/CrossMark.js +0 -27
  139. package/dist/core/connectors/xrp/CrossMark.js.map +0 -1
  140. package/dist/core/connectors/xrp/XrpMetamaskSnap.d.ts +0 -33
  141. package/dist/core/connectors/xrp/XrpMetamaskSnap.js +0 -190
  142. package/dist/core/connectors/xrp/XrpMetamaskSnap.js.map +0 -1
  143. package/dist/core/types/xrp.d.ts +0 -27
  144. package/dist/core/types/xrp.js +0 -2
  145. package/dist/core/types/xrp.js.map +0 -1
  146. package/dist/hooks/xrp/useXrp.d.ts +0 -7
  147. package/dist/hooks/xrp/useXrp.js +0 -22
  148. package/dist/hooks/xrp/useXrp.js.map +0 -1
  149. package/dist/services/internal/xrpService.d.ts +0 -27
  150. package/dist/services/internal/xrpService.js +0 -86
  151. package/dist/services/internal/xrpService.js.map +0 -1
  152. package/dist/services/internal/xrpStatusService.d.ts +0 -4
  153. package/dist/services/internal/xrpStatusService.js +0 -99
  154. package/dist/services/internal/xrpStatusService.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsquid/react-hooks",
3
- "version": "6.3.9-beta.3",
3
+ "version": "6.4.0-beta.0",
4
4
  "description": "Squid hooks monorepo",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,8 +28,7 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@0xsquid/sdk": "2.9.0",
31
- "@0xsquid/squid-types": "0.1.125-beta.0",
32
- "@bitcoinerlab/secp256k1": "1.1.1",
31
+ "@0xsquid/squid-types": "0.1.124",
33
32
  "@cosmjs/cosmwasm-stargate": "0.32.4",
34
33
  "@cosmjs/encoding": "0.32.4",
35
34
  "@cosmjs/proto-signing": "0.32.4",
@@ -37,23 +36,25 @@
37
36
  "@injectivelabs/sdk-ts": "1.14.13",
38
37
  "@ledgerhq/iframe-provider": "0.4.3",
39
38
  "@safe-global/safe-apps-sdk": "9.1.0",
40
- "@solana/spl-token": "0.4.9",
41
39
  "@solana/wallet-adapter-phantom": "0.9.24",
42
40
  "@solana/web3.js": "1.95.3",
41
+ "@solana/spl-token": "0.4.9",
43
42
  "@tanstack/react-query": "4.36.1",
43
+ "wagmi": "2.13.3",
44
44
  "axios": "1.7.4",
45
45
  "bignumber.js": "9.1.1",
46
- "bitcoinjs-lib": "7.0.0-rc.0",
47
46
  "cosmjs-types": "0.9.0",
48
47
  "ethers": "6.8.1",
49
48
  "fuse.js": "6.6.2",
50
49
  "lodash": "4.17.21",
51
50
  "long": "5.2.3",
52
- "ripple-address-codec": "5.0.0",
53
51
  "secretjs": "1.12.4",
54
52
  "viem": "2.21.32",
55
- "wagmi": "2.13.3",
56
- "zustand": "4.5.4"
53
+ "zustand": "4.5.4",
54
+ "bitcoinjs-lib": "7.0.0-rc.0",
55
+ "@bitcoinerlab/secp256k1": "1.1.1",
56
+ "countries-list": "3.1.1",
57
+ "currency-symbol-map": "5.1.0"
57
58
  },
58
59
  "peerDependencies": {
59
60
  "react": "^16.0.0 || ^17.0.0 || ^18.0.0",
@@ -1,7 +0,0 @@
1
- import { Payment, XrpPaymentWithHash } from "../../../core/types/xrp";
2
- import { XrpConnector } from "../../types/wallet";
3
- export declare class CrossmarkConnector implements XrpConnector {
4
- private getProvider;
5
- connect(): Promise<string>;
6
- signAndSubmit(tx: Partial<Payment>): Promise<XrpPaymentWithHash>;
7
- }
@@ -1,27 +0,0 @@
1
- export class CrossmarkConnector {
2
- getProvider() {
3
- return window?.xrpl?.crossmark;
4
- }
5
- async connect() {
6
- const provider = this.getProvider();
7
- if (!provider) {
8
- throw new Error("Crossmark provider not found");
9
- }
10
- await provider.async.signInAndWait();
11
- const address = provider.session.address;
12
- return address;
13
- }
14
- async signAndSubmit(tx) {
15
- const provider = this.getProvider();
16
- if (!provider) {
17
- throw new Error("Crossmark provider not found");
18
- }
19
- const result = await provider.async.signAndSubmitAndWait(tx);
20
- const { data } = result.response;
21
- if (data.meta?.isRejected) {
22
- throw new Error("User rejected the request.");
23
- }
24
- return data.resp.result;
25
- }
26
- }
27
- //# sourceMappingURL=CrossMark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossMark.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrp/CrossMark.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,kBAAkB;IACrB,WAAW;QACjB,OAAQ,MAAc,EAAE,IAAI,EAAE,SAAS,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,MAAM,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QAEzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAoB;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAeD,MAAM,MAAM,GACV,MAAM,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAEhD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEjC,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SAC/C;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;CACF"}
@@ -1,33 +0,0 @@
1
- import { EIP6963EventNames } from "@keplr-wallet/types";
2
- import type { EIP6963AnnounceProviderEvent, EIP6963RequestProviderEvent } from "@metamask/providers";
3
- import { XrpConnector } from "../../../core/types/wallet";
4
- import { Payment, XrpPaymentWithHash } from "../../../core/types/xrp";
5
- declare global {
6
- interface WindowEventMap {
7
- [EIP6963EventNames.Announce]: EIP6963AnnounceProviderEvent;
8
- [EIP6963EventNames.Request]: EIP6963RequestProviderEvent;
9
- }
10
- }
11
- export declare class XrpMetamaskSnapConnector implements XrpConnector {
12
- private provider?;
13
- connect(): Promise<string>;
14
- signAndSubmit(tx: Partial<Payment>): Promise<XrpPaymentWithHash>;
15
- private initialize;
16
- private getSnaps;
17
- private requestSnap;
18
- private getWallet;
19
- private getTransactionHashFromTxResponse;
20
- send({ amount, destination, destinationTag, }: {
21
- destination: string;
22
- amount: string;
23
- destinationTag?: number;
24
- }): Promise<string>;
25
- private getStoredNetworks;
26
- private getActiveNetwork;
27
- private changeNetwork;
28
- private invokeSnap;
29
- private getProvider;
30
- private hasSnapsSupport;
31
- private getMetamaskEIP6963Provider;
32
- private request;
33
- }
@@ -1,190 +0,0 @@
1
- import { EIP6963EventNames } from "@keplr-wallet/types";
2
- var NetworkChainId;
3
- (function (NetworkChainId) {
4
- NetworkChainId[NetworkChainId["MAINNET"] = 0] = "MAINNET";
5
- NetworkChainId[NetworkChainId["TESTNET"] = 1] = "TESTNET";
6
- NetworkChainId[NetworkChainId["DEVNET"] = 2] = "DEVNET";
7
- })(NetworkChainId || (NetworkChainId = {}));
8
- const snapId = "npm:xrpl-snap";
9
- export class XrpMetamaskSnapConnector {
10
- provider;
11
- async connect() {
12
- await this.initialize();
13
- await this.requestSnap(snapId);
14
- // TODO: using devnet for now
15
- await this.changeNetwork(NetworkChainId.DEVNET).catch(() => {
16
- // changeNetwork can fail if the user is already on the correct network
17
- // so we don't need to handle the error here
18
- });
19
- const { account } = await this.getWallet();
20
- return account;
21
- }
22
- async signAndSubmit(tx) {
23
- if (!this.provider)
24
- throw new Error("Provider not initialized");
25
- const res = await this.provider.request({
26
- method: "wallet_invokeSnap",
27
- params: {
28
- snapId: snapId,
29
- request: {
30
- method: "xrpl_signAndSubmit",
31
- params: tx,
32
- },
33
- },
34
- });
35
- const txResponse = res?.result?.tx_json;
36
- if (!txResponse)
37
- throw new Error("Error submitting transaction", txResponse);
38
- return txResponse;
39
- }
40
- // Cannot use constructor because of the async initialization
41
- async initialize() {
42
- this.provider = await this.getProvider();
43
- }
44
- async getSnaps() {
45
- return (await this.request({
46
- method: "wallet_getSnaps",
47
- }));
48
- }
49
- async requestSnap(id) {
50
- await this.request({
51
- method: "wallet_requestSnaps",
52
- params: {
53
- [id]: {},
54
- },
55
- });
56
- }
57
- async getWallet() {
58
- return this.invokeSnap({
59
- method: "xrpl_getAccount",
60
- params: undefined,
61
- });
62
- }
63
- getTransactionHashFromTxResponse(submittedTx) {
64
- if (submittedTx.engine_result === "tesSUCCESS") {
65
- return submittedTx.tx_json.hash;
66
- }
67
- throw new Error(`XRP transaction failed: ${submittedTx.engine_result}`);
68
- }
69
- async send({ amount, destination, destinationTag, }) {
70
- const { account } = await this.getWallet();
71
- const submittedTx = await this.invokeSnap({
72
- method: "xrpl_signAndSubmit",
73
- params: {
74
- TransactionType: "Payment",
75
- Account: account,
76
- Destination: destination,
77
- DestinationTag: destinationTag,
78
- Amount: amount,
79
- },
80
- });
81
- return this.getTransactionHashFromTxResponse(submittedTx);
82
- }
83
- async getStoredNetworks() {
84
- return this.invokeSnap({
85
- method: "xrpl_getStoredNetworks",
86
- params: undefined,
87
- });
88
- }
89
- async getActiveNetwork() {
90
- return this.invokeSnap({
91
- method: "xrpl_getActiveNetwork",
92
- params: undefined,
93
- });
94
- }
95
- async changeNetwork(chainId) {
96
- return this.invokeSnap({
97
- method: "xrpl_changeNetwork",
98
- params: { chainId },
99
- });
100
- }
101
- async invokeSnap({ params, method, }) {
102
- return this.request({
103
- method: "wallet_invokeSnap",
104
- params: {
105
- snapId: snapId,
106
- request: {
107
- method,
108
- params,
109
- },
110
- },
111
- });
112
- }
113
- async getProvider() {
114
- if (typeof window === "undefined") {
115
- return null;
116
- }
117
- if (await this.hasSnapsSupport(window.ethereum)) {
118
- return window.ethereum;
119
- }
120
- if (window.ethereum?.detected) {
121
- for (const provider of window.ethereum.detected) {
122
- if (await this.hasSnapsSupport(provider)) {
123
- return provider;
124
- }
125
- }
126
- }
127
- if (window.ethereum?.providers) {
128
- for (const provider of window.ethereum.providers) {
129
- if (await this.hasSnapsSupport(provider)) {
130
- return provider;
131
- }
132
- }
133
- }
134
- // Need to use EIP-6963 provider discovery because we need Metamask to be installed
135
- // other wallets overriding Metamask won't work here because they don't support Metamask snaps
136
- const eip6963Provider = await this.getMetamaskEIP6963Provider();
137
- if (eip6963Provider && (await this.hasSnapsSupport(eip6963Provider))) {
138
- return eip6963Provider;
139
- }
140
- return null;
141
- }
142
- async hasSnapsSupport(provider = window.ethereum) {
143
- try {
144
- await provider.request({
145
- method: "wallet_getSnaps",
146
- });
147
- return true;
148
- }
149
- catch {
150
- return false;
151
- }
152
- }
153
- async getMetamaskEIP6963Provider() {
154
- return new Promise((rawResolve) => {
155
- // Timeout looking for providers after 500ms
156
- const timeout = setTimeout(() => {
157
- resolve(null);
158
- }, 500);
159
- function resolve(provider) {
160
- // Resolve the promise with a Metamask provider and clean up the timeout.
161
- window.removeEventListener(EIP6963EventNames.Announce, onAnnounceProvider);
162
- clearTimeout(timeout);
163
- rawResolve(provider);
164
- }
165
- /**
166
- * Listener for the EIP6963 announceProvider event.
167
- *
168
- * Resolves the promise if a Metamask provider is found.
169
- *
170
- * @param event - The EIP6963 announceProvider event.
171
- * @param event.detail - The details of the EIP6963 announceProvider event.
172
- */
173
- function onAnnounceProvider({ detail }) {
174
- const { info, provider } = detail;
175
- if (info.rdns.includes("io.metamask")) {
176
- resolve(provider);
177
- }
178
- }
179
- window.addEventListener(EIP6963EventNames.Announce, onAnnounceProvider);
180
- window.dispatchEvent(new Event(EIP6963EventNames.Request));
181
- });
182
- }
183
- async request({ method, params }) {
184
- if (!this.provider) {
185
- throw new Error("XRP Metamask provider not initialized");
186
- }
187
- return this.provider.request({ method, params });
188
- }
189
- }
190
- //# sourceMappingURL=XrpMetamaskSnap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XrpMetamaskSnap.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrp/XrpMetamaskSnap.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- export interface Payment {
2
- Account: string;
3
- Amount: string;
4
- Destination: string;
5
- Memos: Memo[];
6
- SigningPubKey: string;
7
- TransactionType: string;
8
- TxnSignature: string;
9
- hash: string;
10
- meta: Meta;
11
- }
12
- interface Memo {
13
- Memo: {
14
- MemoData: string;
15
- MemoType: string;
16
- };
17
- }
18
- interface Meta {
19
- TransactionResult: string;
20
- }
21
- export type XrpPaymentWithHash = Payment & {
22
- hash?: string;
23
- };
24
- export type HexString = string & {
25
- readonly __hexString__: unique symbol;
26
- };
27
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=xrp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xrp.js","sourceRoot":"","sources":["../../../src/core/types/xrp.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- import { ConnectWalletResult, XrpConnector, XrpWallet } from "../../core/types/wallet";
2
- export declare const useXrp: () => {
3
- connectXrp: import("@tanstack/react-query").UseMutationResult<ConnectWalletResult, unknown, {
4
- wallet: XrpWallet;
5
- }, unknown>;
6
- signer: XrpConnector | undefined;
7
- };
@@ -1,22 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { useMutation } from "@tanstack/react-query";
3
- import { useMemo } from "react";
4
- import { useWalletStore } from "../store/useWalletStore";
5
- export const useXrp = () => {
6
- const connectedWallet = useWalletStore((state) => state.connectedWalletsByChainType[ChainType.XRP]);
7
- const connectXrp = useMutation(async ({ wallet }) => {
8
- const xrpConnectedAddress = await wallet.connector.connect();
9
- return {
10
- wallet,
11
- address: xrpConnectedAddress,
12
- };
13
- });
14
- const signer = useMemo(() => {
15
- return connectedWallet?.wallet?.connector;
16
- }, [connectedWallet?.wallet?.connector]);
17
- return {
18
- connectXrp,
19
- signer,
20
- };
21
- };
22
- //# sourceMappingURL=useXrp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useXrp.js","sourceRoot":"","sources":["../../../src/hooks/xrp/useXrp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,eAAe,GAAG,cAAc,CACpC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,GAAG,CAKlC,CAChB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,EAAE,MAAM,EAAyB,EAAgC,EAAE;QACxE,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAE7D,OAAO;YACL,MAAM;YACN,OAAO,EAAE,mBAAmB;SAC7B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,MAAM,GAA6B,OAAO,CAAC,GAAG,EAAE;QACpD,OAAO,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC;IAC5C,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAEzC,OAAO;QACL,UAAU;QACV,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,27 +0,0 @@
1
- import { ethers, type TransactionResponse } from "ethers";
2
- import { HexString, Payment } from "../../core/types/xrp";
3
- /**
4
- * Validates that a given address is a valid X-Address or a valid classic address.
5
- *
6
- * XRP has two types of addresses:
7
- * - X-addresses (e.g XVfC9...pokKH)
8
- * - Classic addresses (e.g r4bA...WHCG)
9
- */
10
- export declare function isXrpAddressValid(address: string | undefined): boolean;
11
- /**
12
- * Checks if the given chainId is an XRP chain (either XRPL or XRPL EVM)
13
- */
14
- export declare function isXrpChain(chainId: string | undefined): boolean;
15
- export declare function sendInterchainTransfer({ destinationAddress, fromAmount, signer, }: {
16
- destinationAddress: string;
17
- fromAmount: string;
18
- signer: ethers.Signer;
19
- }): Promise<TransactionResponse>;
20
- export declare function hex(str: string | Uint8Array): string;
21
- export declare function isHexString(str: string): boolean;
22
- export declare function asHexString(str: string): HexString;
23
- export declare function buildXrplPayment({ fromAmount, sourceAddress, destinationAddress, }: {
24
- fromAmount: string;
25
- sourceAddress: string;
26
- destinationAddress: string;
27
- }): Partial<Payment>;
@@ -1,86 +0,0 @@
1
- import { ethers } from "ethers";
2
- import { decodeAccountID, isValidClassicAddress, isValidXAddress, } from "ripple-address-codec";
3
- import { AXELAR_XRPL_EVM_CHAIN_ID, CHAIN_IDS } from "../../core/constants";
4
- import { parseToBigInt } from "./numberService";
5
- /**
6
- * Validates that a given address is a valid X-Address or a valid classic address.
7
- *
8
- * XRP has two types of addresses:
9
- * - X-addresses (e.g XVfC9...pokKH)
10
- * - Classic addresses (e.g r4bA...WHCG)
11
- */
12
- export function isXrpAddressValid(address) {
13
- if (!address)
14
- return false;
15
- return isValidXAddress(address) || isValidClassicAddress(address);
16
- }
17
- /**
18
- * Checks if the given chainId is an XRP chain (either XRPL or XRPL EVM)
19
- */
20
- export function isXrpChain(chainId) {
21
- if (!chainId)
22
- return false;
23
- return [CHAIN_IDS.XRPL, CHAIN_IDS.XRPL_EVM].includes(chainId);
24
- }
25
- export async function sendInterchainTransfer({ destinationAddress, fromAmount, signer, }) {
26
- if (!isXrpAddressValid(destinationAddress)) {
27
- throw new Error("Destination address is not a valid XRP address");
28
- }
29
- const XRPL_EVM_SIDECHAIN_ITS = "0x1a7580C2ef5D485E069B7cf1DF9f6478603024d3";
30
- const XRP_TOKEN_ID = "0xbfb47d376947093b7858c1c59a4154dd291d5b2251cb56a6f7159a070f0bd518";
31
- const ITS_ABI = [
32
- "function interchainTransfer(bytes32 tokenId, string destinationChain, bytes destinationAddress, uint256 amount, bytes metadata, uint256 gasValue) external",
33
- ];
34
- const itsContract = new ethers.Contract(XRPL_EVM_SIDECHAIN_ITS, ITS_ABI, signer);
35
- const destinationAddressAsHex = convertXrplAddressToHex(destinationAddress);
36
- const tx = await itsContract.interchainTransfer(XRP_TOKEN_ID, CHAIN_IDS.XRPL, destinationAddressAsHex, fromAmount, "0x", 0);
37
- return tx;
38
- }
39
- /**
40
- * Converts an XRPL address to a hex string
41
- * to be able to send it through Axelar ITS
42
- */
43
- function convertXrplAddressToHex(address) {
44
- return `0x${hex(decodeAccountID(address))}`;
45
- }
46
- export function hex(str) {
47
- return Buffer.from(str).toString("hex");
48
- }
49
- export function isHexString(str) {
50
- return /^[a-fA-F0-9]+$/.test(str);
51
- }
52
- export function asHexString(str) {
53
- if (!isHexString(str)) {
54
- throw new Error(`Invalid hex string: ${str}`);
55
- }
56
- return str;
57
- }
58
- export function buildXrplPayment({ fromAmount, sourceAddress, destinationAddress, }) {
59
- const fromAmountBn = parseToBigInt(fromAmount, 6).toString();
60
- const destinationAddressAsHex = asHexString(
61
- // Remove the 0x prefix
62
- destinationAddress.replace(/^0x/, ""));
63
- const XRPL_AXELAR_MULTISIG_ADDRESS = "rGAbJZEzU6WaYv5y1LfyN7LBBcQJ3TxsKC";
64
- return {
65
- TransactionType: "Payment",
66
- Account: sourceAddress,
67
- Amount: fromAmountBn,
68
- Destination: 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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"}
@@ -1,4 +0,0 @@
1
- import { StatusResponse } from "@0xsquid/squid-types";
2
- export declare const getAxelarXrpTxStatus: ({ txHash, }: {
3
- txHash: string;
4
- }) => Promise<StatusResponse>;
@@ -1,99 +0,0 @@
1
- import { AxelarRouteAction, RouteActionStatus, SquidTransactionStatus, } from "@0xsquid/squid-types";
2
- import { AXELAR_XRPL_EVM_CHAIN_ID, CHAIN_IDS } from "../../core/constants";
3
- const parseChainId = (chainId) => {
4
- // Parse chain ID from Axelar status response to the format used by the widget
5
- if (chainId === AXELAR_XRPL_EVM_CHAIN_ID) {
6
- return CHAIN_IDS.XRPL_EVM;
7
- }
8
- return chainId;
9
- };
10
- async function searchGmp(txHash) {
11
- const res = await fetch("https://devnet-amplifier.api.axelarscan.io/gmp/searchGMP", {
12
- method: "POST",
13
- body: JSON.stringify({
14
- txHash,
15
- }),
16
- });
17
- const data = await res.json();
18
- return data;
19
- }
20
- export const getAxelarXrpTxStatus = async ({ txHash, }) => {
21
- const data = await searchGmp(txHash);
22
- const destTxHash = data.data[0].executed?.transactionHash;
23
- if (destTxHash) {
24
- const destData = await searchGmp(destTxHash);
25
- return transformStatusResponse(data.data[0], destData.data[0]);
26
- }
27
- const status = transformStatusResponse(data.data[0], undefined);
28
- return status;
29
- };
30
- function transformStatusResponse(sourceStatus, destStatus) {
31
- const { routeStatus: destTxRouteStatus, squidStatus } = getStatus(destStatus);
32
- const routeStatus = [
33
- // source chain
34
- {
35
- chainId: parseChainId(sourceStatus.call?.chain),
36
- action: AxelarRouteAction.CALL,
37
- status: destTxRouteStatus,
38
- txHash: sourceStatus.call?.id,
39
- },
40
- // destination chain
41
- ...(sourceStatus.callback
42
- ? [
43
- {
44
- chainId: parseChainId(sourceStatus.callback.returnValues.destinationChain),
45
- action: AxelarRouteAction.CALL,
46
- status: destTxRouteStatus,
47
- txHash: destStatus?.executed?.transactionHash ?? "",
48
- },
49
- ]
50
- : []),
51
- ];
52
- const status = {
53
- id: sourceStatus.call.receipt.transactionHash,
54
- status: squidStatus,
55
- gasStatus: sourceStatus.gas_status,
56
- axelarTransactionUrl: `https://devnet-amplifier.axelarscan.io/gmp/${sourceStatus.call.receipt.transactionHash}`,
57
- fromChain: sourceStatus.call
58
- ? {
59
- transactionId: sourceStatus.call.transactionHash,
60
- blockNumber: sourceStatus.call.blockNumber.toString(),
61
- callEventStatus: sourceStatus.call.event,
62
- callEventLog: [],
63
- chainData: parseChainId(sourceStatus.call.chain),
64
- destinationAddress: sourceStatus.call.returnValues.destinationAddress,
65
- }
66
- : undefined,
67
- toChain: sourceStatus.executed
68
- ? {
69
- transactionId: sourceStatus.executed.transactionHash,
70
- blockNumber: sourceStatus.executed.blockNumber.toString(),
71
- callEventStatus: "executed",
72
- callEventLog: [],
73
- chainData: sourceStatus.executed,
74
- destinationAddress: sourceStatus.call.returnValues.destinationAddress,
75
- }
76
- : undefined,
77
- timeSpent: sourceStatus.time_spent || {},
78
- squidTransactionStatus: squidStatus,
79
- routeStatus,
80
- };
81
- return status;
82
- }
83
- function getStatus(input) {
84
- switch (input?.status) {
85
- case "executed":
86
- return {
87
- routeStatus: RouteActionStatus.SUCCESS,
88
- squidStatus: SquidTransactionStatus.SUCCESS,
89
- };
90
- case "called":
91
- case "executing":
92
- default:
93
- return {
94
- routeStatus: RouteActionStatus.AWAITING,
95
- squidStatus: SquidTransactionStatus.ONGOING,
96
- };
97
- }
98
- }
99
- //# sourceMappingURL=xrpStatusService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xrpStatusService.js","sourceRoot":"","sources":["../../../src/services/internal/xrpStatusService.ts"],"names":[],"mappings":"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"}