@multiversx/sdk-dapp-liquidity 1.1.0-alpha.1 → 1.1.0-alpha.11

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 (215) hide show
  1. package/README.md +6 -1
  2. package/api/getTransactions.d.ts +8 -2
  3. package/api/getTransactions.js +23 -3
  4. package/api/getTransactions.mjs +23 -3
  5. package/api/tests/getChains.spec.js +2 -1
  6. package/api/tests/getChains.spec.mjs +2 -1
  7. package/api/tests/getTokens.spec.js +2 -2
  8. package/api/tests/getTokens.spec.mjs +2 -2
  9. package/api/tests/getTransactions.spec.js +79 -69
  10. package/api/tests/getTransactions.spec.mjs +79 -69
  11. package/constants/index.d.ts +1 -1
  12. package/constants/index.js +1 -1
  13. package/constants/index.mjs +1 -1
  14. package/dto/Chain.dto.d.ts +3 -1
  15. package/dto/ConfirmRate.dto.d.ts +1 -0
  16. package/dto/Token.dto.d.ts +2 -1
  17. package/index.js +44 -16
  18. package/index.mjs +14 -16
  19. package/package.json +9 -5
  20. package/reactjs/components/BridgeForm/BridgeForm.js +44 -40
  21. package/reactjs/components/BridgeForm/BridgeForm.mjs +13 -9
  22. package/reactjs/components/BridgeHistory/BridgeHistory.js +63 -25
  23. package/reactjs/components/BridgeHistory/BridgeHistory.mjs +58 -20
  24. package/reactjs/components/Connect/BridgeAccountDisplay.js +2 -6
  25. package/reactjs/components/Connect/BridgeAccountDisplay.mjs +2 -6
  26. package/reactjs/components/Connect/CustomConnectButton.js +2 -6
  27. package/reactjs/components/Connect/CustomConnectButton.mjs +1 -5
  28. package/reactjs/components/Connect/SwitchChainButton.js +2 -7
  29. package/reactjs/components/Connect/SwitchChainButton.mjs +1 -6
  30. package/reactjs/components/CopyButton/CopyButton.js +2 -2
  31. package/reactjs/components/CopyButton/CopyButton.mjs +2 -2
  32. package/reactjs/components/DisplayAmount/components/AnimateNumber/AnimateNumber.js +5 -5
  33. package/reactjs/components/Error/Error.d.ts +6 -0
  34. package/reactjs/components/Error/Error.js +67 -0
  35. package/reactjs/components/Error/Error.mjs +66 -0
  36. package/reactjs/components/Error/index.d.ts +1 -0
  37. package/reactjs/components/Error/index.js +5 -0
  38. package/reactjs/components/Error/index.mjs +4 -0
  39. package/reactjs/components/TokenSelector/TokenSelector.js +10 -5
  40. package/reactjs/components/TokenSelector/TokenSelector.mjs +6 -1
  41. package/reactjs/components/TokenSelector/components/ChainSelect/ChainSelect.js +3 -3
  42. package/reactjs/components/TokenSelector/components/SelectContent.js +8 -8
  43. package/reactjs/components/TokenSelector/components/TokenIcon.js +3 -3
  44. package/reactjs/components/TokenSelector/components/TokenItem.js +14 -9
  45. package/reactjs/components/TokenSelector/components/TokenItem.mjs +11 -6
  46. package/reactjs/components/base/MxCard/MxCard.js +2 -2
  47. package/reactjs/components/base/MxCircleLoader/MxCircleLoader.d.ts +4 -0
  48. package/reactjs/components/base/MxCircleLoader/MxCircleLoader.js +29 -0
  49. package/reactjs/components/base/MxCircleLoader/MxCircleLoader.mjs +28 -0
  50. package/reactjs/components/base/MxCircleLoader/index.d.ts +1 -0
  51. package/reactjs/components/base/MxCircleLoader/index.js +5 -0
  52. package/reactjs/components/base/MxCircleLoader/index.mjs +4 -0
  53. package/reactjs/components/base/MxLink/MxLink.js +2 -2
  54. package/reactjs/components/base/MxSearch/MxSearch.js +4 -4
  55. package/reactjs/components/base/MxSlideover/MxSlideover.js +4 -4
  56. package/reactjs/components/base/MxTooltip/MxTooltip.js +9 -9
  57. package/reactjs/components/base/MxTooltip/components/TooltipContainer/TooltipContainer.js +2 -2
  58. package/reactjs/components/index.d.ts +1 -0
  59. package/reactjs/components/index.js +2 -0
  60. package/reactjs/components/index.mjs +2 -0
  61. package/reactjs/context/Web3AppProvider.d.ts +3 -1
  62. package/reactjs/context/Web3AppProvider.js +7 -5
  63. package/reactjs/context/Web3AppProvider.mjs +4 -2
  64. package/reactjs/context/useWeb3App.js +2 -2
  65. package/reactjs/hooks/index.js +1 -1
  66. package/reactjs/hooks/index.mjs +1 -1
  67. package/reactjs/hooks/useAccount.js +1 -6
  68. package/reactjs/hooks/useAccount.mjs +1 -6
  69. package/reactjs/hooks/useBalances.d.ts +4 -3
  70. package/reactjs/hooks/useBalances.js +13 -1
  71. package/reactjs/hooks/useBalances.mjs +13 -1
  72. package/reactjs/hooks/useBridgeFormik.js +9 -16
  73. package/reactjs/hooks/useBridgeFormik.mjs +0 -7
  74. package/reactjs/hooks/useDebounce.js +3 -3
  75. package/reactjs/hooks/useFetchBridgeData.d.ts +4 -2
  76. package/reactjs/hooks/useFetchTokens.d.ts +4 -2
  77. package/reactjs/hooks/useFetchTokens.js +9 -9
  78. package/reactjs/hooks/useFetchTokens.mjs +2 -2
  79. package/reactjs/hooks/useFiatData.d.ts +2 -1
  80. package/reactjs/hooks/useFiatData.js +6 -6
  81. package/reactjs/hooks/useFiatData.mjs +1 -1
  82. package/reactjs/hooks/useGetChainId.js +3 -3
  83. package/reactjs/hooks/useGetChainId.mjs +1 -1
  84. package/reactjs/hooks/useResolveTokenChain.js +2 -2
  85. package/reactjs/hooks/useSendTransactions.js +2 -2
  86. package/reactjs/hooks/validation/useTestHasEnoughFunds.js +3 -3
  87. package/reactjs/hooks/validation/useTestIsConnected.js +2 -2
  88. package/reactjs/index.js +44 -16
  89. package/reactjs/index.mjs +14 -16
  90. package/reactjs/init/init.d.ts +220 -1
  91. package/reactjs/init/init.js +44 -10
  92. package/reactjs/init/init.mjs +41 -7
  93. package/reactjs/init/tests/init.spec.js +5 -6
  94. package/reactjs/init/tests/init.spec.mjs +5 -6
  95. package/reactjs/queries/index.d.ts +0 -1
  96. package/reactjs/queries/index.js +0 -2
  97. package/reactjs/queries/index.mjs +1 -3
  98. package/reactjs/queries/useGetEvmTokensBalances.query.d.ts +3 -2
  99. package/reactjs/queries/useGetEvmTokensBalances.query.js +13 -18
  100. package/reactjs/queries/useGetEvmTokensBalances.query.mjs +13 -18
  101. package/reactjs/queries/useGetHistory.query.d.ts +9 -1
  102. package/reactjs/queries/useGetHistory.query.js +23 -5
  103. package/reactjs/queries/useGetHistory.query.mjs +23 -5
  104. package/reactjs/queries/useGetMvxTokensBalances.query.d.ts +2 -1
  105. package/reactjs/queries/useGetMvxTokensBalances.query.js +2 -2
  106. package/reactjs/reexports.d.ts +2 -1
  107. package/reactjs/reexports.js +41 -13
  108. package/reactjs/reexports.mjs +11 -13
  109. package/style.css +33 -1730
  110. package/types/chainType.d.ts +6 -0
  111. package/types/chainType.js +11 -0
  112. package/types/chainType.mjs +10 -0
  113. package/{useBalances-C_69CFoa.mjs → useBalances-MNOkt0CT.mjs} +88 -22
  114. package/{useBalances-C4YhEYxy.js → useBalances-QuJwkRzs.js} +89 -23
  115. package/bitcoin-CC1UPyzF.mjs +0 -44057
  116. package/bitcoin-DgJtQpEP.js +0 -43978
  117. package/index-0HkMxaG8.js +0 -468
  118. package/index-CRpflwIF.js +0 -108
  119. package/index-CpW-TGUF.mjs +0 -108
  120. package/index-D6X1U8OY.mjs +0 -231
  121. package/modules/fiat/components/FiatForm/FiatForm.d.ts +0 -9
  122. package/modules/fiat/components/FiatForm/FiatForm.js +0 -315
  123. package/modules/fiat/components/FiatForm/FiatForm.mjs +0 -314
  124. package/modules/fiat/components/FiatForm/components/AmountInput/AmountInput.d.ts +0 -13
  125. package/modules/fiat/components/FiatForm/components/AmountInput/AmountInput.js +0 -118
  126. package/modules/fiat/components/FiatForm/components/AmountInput/AmountInput.mjs +0 -117
  127. package/modules/fiat/components/FiatForm/components/AmountInput/index.d.ts +0 -1
  128. package/modules/fiat/components/FiatForm/components/AmountInput/index.js +0 -5
  129. package/modules/fiat/components/FiatForm/components/AmountInput/index.mjs +0 -4
  130. package/modules/fiat/components/FiatForm/components/RateReloading/RateReloading.d.ts +0 -7
  131. package/modules/fiat/components/FiatForm/components/RateReloading/RateReloading.js +0 -74
  132. package/modules/fiat/components/FiatForm/components/RateReloading/RateReloading.mjs +0 -73
  133. package/modules/fiat/components/FiatForm/components/TokenSelector/TokenSelector.d.ts +0 -14
  134. package/modules/fiat/components/FiatForm/components/TokenSelector/TokenSelector.js +0 -94
  135. package/modules/fiat/components/FiatForm/components/TokenSelector/TokenSelector.mjs +0 -93
  136. package/modules/fiat/components/FiatForm/components/TokenSelector/components/SelectContainer.d.ts +0 -7
  137. package/modules/fiat/components/FiatForm/components/TokenSelector/components/SelectContainer.js +0 -83
  138. package/modules/fiat/components/FiatForm/components/TokenSelector/components/SelectContainer.mjs +0 -82
  139. package/modules/fiat/components/FiatForm/components/TokenSelector/components/SelectContent.d.ts +0 -7
  140. package/modules/fiat/components/FiatForm/components/TokenSelector/components/SelectContent.js +0 -92
  141. package/modules/fiat/components/FiatForm/components/TokenSelector/components/SelectContent.mjs +0 -91
  142. package/modules/fiat/components/FiatForm/components/TokenSelector/components/SelectedOption.d.ts +0 -5
  143. package/modules/fiat/components/FiatForm/components/TokenSelector/components/SelectedOption.js +0 -30
  144. package/modules/fiat/components/FiatForm/components/TokenSelector/components/SelectedOption.mjs +0 -29
  145. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenIcon.d.ts +0 -8
  146. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenIcon.js +0 -104
  147. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenIcon.mjs +0 -103
  148. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenItem.d.ts +0 -7
  149. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenItem.js +0 -33
  150. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenItem.mjs +0 -32
  151. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenList.d.ts +0 -7
  152. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenList.js +0 -21
  153. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenList.mjs +0 -20
  154. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenSymbol.d.ts +0 -9
  155. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenSymbol.js +0 -26
  156. package/modules/fiat/components/FiatForm/components/TokenSelector/components/TokenSymbol.mjs +0 -25
  157. package/modules/fiat/components/FiatForm/components/TokenSelector/index.d.ts +0 -1
  158. package/modules/fiat/components/FiatForm/components/TokenSelector/index.js +0 -5
  159. package/modules/fiat/components/FiatForm/components/TokenSelector/index.mjs +0 -4
  160. package/modules/fiat/components/FiatForm/index.d.ts +0 -1
  161. package/modules/fiat/components/FiatForm/index.js +0 -5
  162. package/modules/fiat/components/FiatForm/index.mjs +0 -4
  163. package/modules/fiat/components/index.d.ts +0 -1
  164. package/modules/fiat/components/index.js +0 -5
  165. package/modules/fiat/components/index.mjs +0 -4
  166. package/modules/fiat/context/FiatProvider.d.ts +0 -8
  167. package/modules/fiat/context/FiatProvider.js +0 -24
  168. package/modules/fiat/context/FiatProvider.mjs +0 -23
  169. package/modules/fiat/context/queryClient.d.ts +0 -3
  170. package/modules/fiat/context/queryClient.js +0 -12
  171. package/modules/fiat/context/queryClient.mjs +0 -11
  172. package/modules/fiat/context/useFiat.d.ts +0 -1
  173. package/modules/fiat/context/useFiat.js +0 -13
  174. package/modules/fiat/context/useFiat.mjs +0 -12
  175. package/modules/fiat/hooks/index.d.ts +0 -2
  176. package/modules/fiat/hooks/index.js +0 -7
  177. package/modules/fiat/hooks/index.mjs +0 -6
  178. package/modules/fiat/hooks/useFiatData.d.ts +0 -7
  179. package/modules/fiat/hooks/useFiatData.js +0 -76
  180. package/modules/fiat/hooks/useFiatData.mjs +0 -75
  181. package/modules/fiat/hooks/validation/index.d.ts +0 -1
  182. package/modules/fiat/hooks/validation/index.js +0 -5
  183. package/modules/fiat/hooks/validation/index.mjs +0 -4
  184. package/modules/fiat/hooks/validation/useAmountSchema.d.ts +0 -2
  185. package/modules/fiat/hooks/validation/useAmountSchema.js +0 -27
  186. package/modules/fiat/hooks/validation/useAmountSchema.mjs +0 -9
  187. package/modules/fiat/index.d.ts +0 -8
  188. package/modules/fiat/index.js +0 -22
  189. package/modules/fiat/index.mjs +0 -21
  190. package/modules/fiat/init/index.d.ts +0 -2
  191. package/modules/fiat/init/index.js +0 -5
  192. package/modules/fiat/init/index.mjs +0 -4
  193. package/modules/fiat/init/init.d.ts +0 -22
  194. package/modules/fiat/init/init.js +0 -15
  195. package/modules/fiat/init/init.mjs +0 -14
  196. package/modules/fiat/queries/index.d.ts +0 -2
  197. package/modules/fiat/queries/index.js +0 -7
  198. package/modules/fiat/queries/index.mjs +0 -6
  199. package/modules/fiat/queries/useGetRate.mutation.d.ts +0 -6
  200. package/modules/fiat/queries/useGetRate.mutation.js +0 -20
  201. package/modules/fiat/queries/useGetRate.mutation.mjs +0 -19
  202. package/modules/fiat/queries/useGetTokens.query.d.ts +0 -5
  203. package/modules/fiat/queries/useGetTokens.query.js +0 -33
  204. package/modules/fiat/queries/useGetTokens.query.mjs +0 -32
  205. package/react-B64ZbiKy.mjs +0 -254
  206. package/react-BozMPLkn.js +0 -3337
  207. package/react-CN9w_Rtw.mjs +0 -3337
  208. package/react-CZt9p-RK.mjs +0 -51
  209. package/react-DSg_4gdG.js +0 -51
  210. package/react-Wmrk3u2q.js +0 -254
  211. package/reactjs/queries/useGetTokens.query.d.ts +0 -3
  212. package/reactjs/queries/useGetTokens.query.js +0 -34
  213. package/reactjs/queries/useGetTokens.query.mjs +0 -33
  214. package/w3m-modal-D1GK9s5A.js +0 -356
  215. package/w3m-modal-DFePcJNd.mjs +0 -356
package/README.md CHANGED
@@ -183,4 +183,9 @@ const App = () => {
183
183
  </Web3AppProvider>
184
184
  )
185
185
  }
186
- ```
186
+ ```
187
+
188
+ ## Disclaimer
189
+
190
+ 1. This package is in active development and is subject to change. We recommend to check the latest version and update your code accordingly.
191
+ 2. This package is not fully supported on the Next.js framework. We are working on a solution to make it compatible with Next.js.
@@ -1,7 +1,13 @@
1
+ import { ProviderType } from 'types/providerType';
1
2
  import { TransactionDTO } from 'dto/Transaction.dto';
2
3
  import { AxiosResponse } from 'axios';
3
4
 
4
- export declare function getTransactions({ url, userWalletAddress }: {
5
+ export declare function getTransactions({ url, address, sender, provider, status, tokenIn, tokenOut }: {
5
6
  url: string;
6
- userWalletAddress: string;
7
+ address: string;
8
+ sender?: string;
9
+ provider?: ProviderType;
10
+ status?: string;
11
+ tokenIn?: string;
12
+ tokenOut?: string;
7
13
  }): Promise<AxiosResponse<TransactionDTO[]>>;
@@ -4,10 +4,30 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const axios = require("axios");
5
5
  async function getTransactions({
6
6
  url,
7
- userWalletAddress
7
+ address,
8
+ sender,
9
+ provider,
10
+ status,
11
+ tokenIn,
12
+ tokenOut
8
13
  }) {
9
- const endpoint = userWalletAddress ? `/transactions/${userWalletAddress}` : "/transactions";
10
- return await axios.get(endpoint, {
14
+ const queryParams = new URLSearchParams({
15
+ receiver: address || "",
16
+ sender: sender || "",
17
+ provider: provider || "",
18
+ status: status || "",
19
+ tokenIn: tokenIn || "",
20
+ tokenOut: tokenOut || ""
21
+ });
22
+ const params = Object.entries(Object.fromEntries(queryParams.entries()));
23
+ for (const [key, value] of params) {
24
+ if (value === "") {
25
+ queryParams.delete(key);
26
+ }
27
+ }
28
+ const queryString = queryParams.toString();
29
+ const endpointWithParams = `/transactions?${queryString}`;
30
+ return await axios.get(endpointWithParams, {
11
31
  baseURL: url
12
32
  });
13
33
  }
@@ -1,10 +1,30 @@
1
1
  import axios from "axios";
2
2
  async function getTransactions({
3
3
  url,
4
- userWalletAddress
4
+ address,
5
+ sender,
6
+ provider,
7
+ status,
8
+ tokenIn,
9
+ tokenOut
5
10
  }) {
6
- const endpoint = userWalletAddress ? `/transactions/${userWalletAddress}` : "/transactions";
7
- return await axios.get(endpoint, {
11
+ const queryParams = new URLSearchParams({
12
+ receiver: address || "",
13
+ sender: sender || "",
14
+ provider: provider || "",
15
+ status: status || "",
16
+ tokenIn: tokenIn || "",
17
+ tokenOut: tokenOut || ""
18
+ });
19
+ const params = Object.entries(Object.fromEntries(queryParams.entries()));
20
+ for (const [key, value] of params) {
21
+ if (value === "") {
22
+ queryParams.delete(key);
23
+ }
24
+ }
25
+ const queryString = queryParams.toString();
26
+ const endpointWithParams = `/transactions?${queryString}`;
27
+ return await axios.get(endpointWithParams, {
8
28
  baseURL: url
9
29
  });
10
30
  }
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  const axios = require("axios");
4
+ const types_chainType = require("../../types/chainType.js");
4
5
  const api_getChains = require("../getChains.js");
5
6
  jest.mock("axios");
6
7
  const mockedAxios = axios;
@@ -13,7 +14,7 @@ describe("getChains", () => {
13
14
  chainName: "msx",
14
15
  pngUrl: "https://devnet-tools.multiversx.com/liquidity-sdk/ethereum/icon.png",
15
16
  svgUrl: "https://devnet-tools.multiversx.com/liquidity-sdk/ethereum/icon.svg",
16
- chainType: "type1",
17
+ chainType: types_chainType.ChainType.evm,
17
18
  rpc: "rpc1",
18
19
  blockExplorerUrls: ["explorer1"],
19
20
  nativeCurrency: {
@@ -1,4 +1,5 @@
1
1
  import axios from "axios";
2
+ import { ChainType } from "../../types/chainType.mjs";
2
3
  import { getChains } from "../getChains.mjs";
3
4
  jest.mock("axios");
4
5
  const mockedAxios = axios;
@@ -11,7 +12,7 @@ describe("getChains", () => {
11
12
  chainName: "msx",
12
13
  pngUrl: "https://devnet-tools.multiversx.com/liquidity-sdk/ethereum/icon.png",
13
14
  svgUrl: "https://devnet-tools.multiversx.com/liquidity-sdk/ethereum/icon.svg",
14
- chainType: "type1",
15
+ chainType: ChainType.evm,
15
16
  rpc: "rpc1",
16
17
  blockExplorerUrls: ["explorer1"],
17
18
  nativeCurrency: {
@@ -9,7 +9,7 @@ describe("getTokens", () => {
9
9
  it("fetches tokens successfully without chainId", async () => {
10
10
  const response = [
11
11
  {
12
- chainId: 1,
12
+ chainId: "1",
13
13
  address: "0x123",
14
14
  name: "Token One",
15
15
  symbol: "T1",
@@ -32,7 +32,7 @@ describe("getTokens", () => {
32
32
  const chainId = 1;
33
33
  const response = [
34
34
  {
35
- chainId: 1,
35
+ chainId: "1",
36
36
  address: "0x123",
37
37
  name: "Token One",
38
38
  symbol: "T1",
@@ -7,7 +7,7 @@ describe("getTokens", () => {
7
7
  it("fetches tokens successfully without chainId", async () => {
8
8
  const response = [
9
9
  {
10
- chainId: 1,
10
+ chainId: "1",
11
11
  address: "0x123",
12
12
  name: "Token One",
13
13
  symbol: "T1",
@@ -30,7 +30,7 @@ describe("getTokens", () => {
30
30
  const chainId = 1;
31
31
  const response = [
32
32
  {
33
- chainId: 1,
33
+ chainId: "1",
34
34
  address: "0x123",
35
35
  name: "Token One",
36
36
  symbol: "T1",
@@ -7,87 +7,97 @@ jest.mock("axios");
7
7
  const mockedAxios = axios;
8
8
  describe("getTransactions", () => {
9
9
  const url = "https://api.example.com";
10
- it("fetches transactions without userWalletAddress", async () => {
11
- const userWalletAddress = "";
12
- const response = [
13
- {
14
- fromChainId: "97",
15
- toChainId: "44",
16
- tokenIn: "0x063b637324e6115f8da67f761A99B7F00B7Fd908",
17
- tokenOut: "USDT-58d5d0",
18
- amountIn: "11000000",
19
- amountOut: "11000000",
20
- depositTimestamp: 1738054613,
21
- sender: "0x1009c2f59e03c383ca8f2766cfe305a1e79f4c8d",
22
- status: "success",
23
- receiver: "erd1sp0aaszznqnuvyvkmxkv2ultcvlf637c093sfc26dszks60jdqsqy2knqu",
24
- txHash: "0xe7e706c1793d06a252a3f040f07732989e4a6466d804cae17105c09818bc2994",
25
- fee: "0",
26
- provider: types_providerType.ProviderType.MultiversxBridge
27
- }
28
- ];
29
- mockedAxios.get.mockResolvedValue({ data: response });
30
- const result = await api_getTransactions.getTransactions({ url, userWalletAddress });
31
- expect(mockedAxios.get).toHaveBeenCalledWith("/transactions", {
10
+ const mockResponse = [
11
+ {
12
+ fromChainId: "97",
13
+ toChainId: "44",
14
+ tokenIn: "0x063b637324e6115f8da67f761A99B7F00B7Fd908",
15
+ tokenOut: "USDT-58d5d0",
16
+ amountIn: "11000000",
17
+ amountOut: "11000000",
18
+ depositTimestamp: 1738054613,
19
+ sender: "0x1009c2f59e03c383ca8f2766cfe305a1e79f4c8d",
20
+ status: "success",
21
+ receiver: "erd1sp0aaszznqnuvyvkmxkv2ultcvlf637c093sfc26dszks60jdqsqy2knqu",
22
+ txHash: "0xe7e706c1793d06a252a3f040f07732989e4a6466d804cae17105c09818bc2994",
23
+ fee: "0",
24
+ provider: types_providerType.ProviderType.MultiversxBridge
25
+ }
26
+ ];
27
+ beforeEach(() => {
28
+ mockedAxios.get.mockClear();
29
+ mockedAxios.get.mockResolvedValue({ data: mockResponse });
30
+ });
31
+ it("fetches transactions with only address parameter", async () => {
32
+ const address = "0x123";
33
+ const result = await api_getTransactions.getTransactions({ url, address });
34
+ expect(mockedAxios.get).toHaveBeenCalledWith(
35
+ "/transactions?receiver=0x123",
36
+ { baseURL: url }
37
+ );
38
+ expect(result.data).toEqual(mockResponse);
39
+ });
40
+ it("fetches transactions with empty address", async () => {
41
+ const address = "";
42
+ const result = await api_getTransactions.getTransactions({ url, address });
43
+ expect(mockedAxios.get).toHaveBeenCalledWith("/transactions?", {
32
44
  baseURL: url
33
45
  });
34
- expect(result.data).toEqual(response);
46
+ expect(result.data).toEqual(mockResponse);
35
47
  });
36
- it("fetches transactions with userWalletAddress", async () => {
37
- const userWalletAddress = "0x123";
38
- const response = [
39
- {
40
- fromChainId: "97",
41
- toChainId: "44",
42
- tokenIn: "0x063b637324e6115f8da67f761A99B7F00B7Fd908",
43
- tokenOut: "USDT-58d5d0",
44
- amountIn: "11000000",
45
- amountOut: "11000000",
46
- depositTimestamp: 1738054613,
47
- sender: "0x1009c2f59e03c383ca8f2766cfe305a1e79f4c8d",
48
- status: "success",
49
- receiver: "erd1sp0aaszznqnuvyvkmxkv2ultcvlf637c093sfc26dszks60jdqsqy2knqu",
50
- txHash: "0xe7e706c1793d06a252a3f040f07732989e4a6466d804cae17105c09818bc2994",
51
- fee: "0",
52
- provider: types_providerType.ProviderType.MultiversxBridge
53
- }
54
- ];
55
- mockedAxios.get.mockResolvedValue({ data: response });
56
- const result = await api_getTransactions.getTransactions({ url, userWalletAddress });
48
+ it("includes all non-empty parameters in the query", async () => {
49
+ const result = await api_getTransactions.getTransactions({
50
+ url,
51
+ address: "0x123",
52
+ sender: "0xABC",
53
+ provider: types_providerType.ProviderType.MultiversxBridge,
54
+ status: "success",
55
+ tokenIn: "0xTOKEN",
56
+ tokenOut: "WEGLD-123456"
57
+ });
57
58
  expect(mockedAxios.get).toHaveBeenCalledWith(
58
- `/transactions/${userWalletAddress}`,
59
+ "/transactions?receiver=0x123&sender=0xABC&provider=multiversx-bridge&status=success&tokenIn=0xTOKEN&tokenOut=WEGLD-123456",
59
60
  { baseURL: url }
60
61
  );
61
- expect(result.data).toEqual(response);
62
+ expect(result.data).toEqual(mockResponse);
62
63
  });
63
- it("fetches transactions with both transactionId and userWalletAddress", async () => {
64
- const userWalletAddress = "0x123";
65
- const response = [
66
- {
67
- fromChainId: "97",
68
- toChainId: "44",
69
- tokenIn: "0x063b637324e6115f8da67f761A99B7F00B7Fd908",
70
- tokenOut: "USDT-58d5d0",
71
- amountIn: "11000000",
72
- amountOut: "11000000",
73
- depositTimestamp: 1738054613,
74
- sender: "0x1009c2f59e03c383ca8f2766cfe305a1e79f4c8d",
75
- status: "success",
76
- receiver: "erd1sp0aaszznqnuvyvkmxkv2ultcvlf637c093sfc26dszks60jdqsqy2knqu",
77
- txHash: "0xe7e706c1793d06a252a3f040f07732989e4a6466d804cae17105c09818bc2994",
78
- fee: "0",
79
- provider: types_providerType.ProviderType.MultiversxBridge
80
- }
81
- ];
82
- mockedAxios.get.mockResolvedValue({ data: response });
64
+ it("excludes empty parameters from the query", async () => {
83
65
  const result = await api_getTransactions.getTransactions({
84
66
  url,
85
- userWalletAddress
67
+ address: "0x123",
68
+ sender: "",
69
+ provider: types_providerType.ProviderType.MultiversxBridge,
70
+ status: "",
71
+ tokenIn: "0xTOKEN",
72
+ tokenOut: ""
86
73
  });
87
74
  expect(mockedAxios.get).toHaveBeenCalledWith(
88
- `/transactions/${userWalletAddress}`,
75
+ "/transactions?receiver=0x123&provider=multiversx-bridge&tokenIn=0xTOKEN",
89
76
  { baseURL: url }
90
77
  );
91
- expect(result.data).toEqual(response);
78
+ expect(result.data).toEqual(mockResponse);
79
+ });
80
+ it("handles axios error", async () => {
81
+ const error = new Error("Network error");
82
+ mockedAxios.get.mockRejectedValueOnce(error);
83
+ await expect(api_getTransactions.getTransactions({ url, address: "0x123" })).rejects.toThrow(
84
+ "Network error"
85
+ );
86
+ expect(mockedAxios.get).toHaveBeenCalledWith(
87
+ "/transactions?receiver=0x123",
88
+ { baseURL: url }
89
+ );
90
+ });
91
+ it("passes through axios response", async () => {
92
+ const axiosResponse = {
93
+ data: mockResponse,
94
+ status: 200,
95
+ statusText: "OK",
96
+ headers: {},
97
+ config: {}
98
+ };
99
+ mockedAxios.get.mockResolvedValueOnce(axiosResponse);
100
+ const result = await api_getTransactions.getTransactions({ url, address: "0x123" });
101
+ expect(result).toEqual(axiosResponse);
92
102
  });
93
103
  });
@@ -5,87 +5,97 @@ jest.mock("axios");
5
5
  const mockedAxios = axios;
6
6
  describe("getTransactions", () => {
7
7
  const url = "https://api.example.com";
8
- it("fetches transactions without userWalletAddress", async () => {
9
- const userWalletAddress = "";
10
- const response = [
11
- {
12
- fromChainId: "97",
13
- toChainId: "44",
14
- tokenIn: "0x063b637324e6115f8da67f761A99B7F00B7Fd908",
15
- tokenOut: "USDT-58d5d0",
16
- amountIn: "11000000",
17
- amountOut: "11000000",
18
- depositTimestamp: 1738054613,
19
- sender: "0x1009c2f59e03c383ca8f2766cfe305a1e79f4c8d",
20
- status: "success",
21
- receiver: "erd1sp0aaszznqnuvyvkmxkv2ultcvlf637c093sfc26dszks60jdqsqy2knqu",
22
- txHash: "0xe7e706c1793d06a252a3f040f07732989e4a6466d804cae17105c09818bc2994",
23
- fee: "0",
24
- provider: ProviderType.MultiversxBridge
25
- }
26
- ];
27
- mockedAxios.get.mockResolvedValue({ data: response });
28
- const result = await getTransactions({ url, userWalletAddress });
29
- expect(mockedAxios.get).toHaveBeenCalledWith("/transactions", {
8
+ const mockResponse = [
9
+ {
10
+ fromChainId: "97",
11
+ toChainId: "44",
12
+ tokenIn: "0x063b637324e6115f8da67f761A99B7F00B7Fd908",
13
+ tokenOut: "USDT-58d5d0",
14
+ amountIn: "11000000",
15
+ amountOut: "11000000",
16
+ depositTimestamp: 1738054613,
17
+ sender: "0x1009c2f59e03c383ca8f2766cfe305a1e79f4c8d",
18
+ status: "success",
19
+ receiver: "erd1sp0aaszznqnuvyvkmxkv2ultcvlf637c093sfc26dszks60jdqsqy2knqu",
20
+ txHash: "0xe7e706c1793d06a252a3f040f07732989e4a6466d804cae17105c09818bc2994",
21
+ fee: "0",
22
+ provider: ProviderType.MultiversxBridge
23
+ }
24
+ ];
25
+ beforeEach(() => {
26
+ mockedAxios.get.mockClear();
27
+ mockedAxios.get.mockResolvedValue({ data: mockResponse });
28
+ });
29
+ it("fetches transactions with only address parameter", async () => {
30
+ const address = "0x123";
31
+ const result = await getTransactions({ url, address });
32
+ expect(mockedAxios.get).toHaveBeenCalledWith(
33
+ "/transactions?receiver=0x123",
34
+ { baseURL: url }
35
+ );
36
+ expect(result.data).toEqual(mockResponse);
37
+ });
38
+ it("fetches transactions with empty address", async () => {
39
+ const address = "";
40
+ const result = await getTransactions({ url, address });
41
+ expect(mockedAxios.get).toHaveBeenCalledWith("/transactions?", {
30
42
  baseURL: url
31
43
  });
32
- expect(result.data).toEqual(response);
44
+ expect(result.data).toEqual(mockResponse);
33
45
  });
34
- it("fetches transactions with userWalletAddress", async () => {
35
- const userWalletAddress = "0x123";
36
- const response = [
37
- {
38
- fromChainId: "97",
39
- toChainId: "44",
40
- tokenIn: "0x063b637324e6115f8da67f761A99B7F00B7Fd908",
41
- tokenOut: "USDT-58d5d0",
42
- amountIn: "11000000",
43
- amountOut: "11000000",
44
- depositTimestamp: 1738054613,
45
- sender: "0x1009c2f59e03c383ca8f2766cfe305a1e79f4c8d",
46
- status: "success",
47
- receiver: "erd1sp0aaszznqnuvyvkmxkv2ultcvlf637c093sfc26dszks60jdqsqy2knqu",
48
- txHash: "0xe7e706c1793d06a252a3f040f07732989e4a6466d804cae17105c09818bc2994",
49
- fee: "0",
50
- provider: ProviderType.MultiversxBridge
51
- }
52
- ];
53
- mockedAxios.get.mockResolvedValue({ data: response });
54
- const result = await getTransactions({ url, userWalletAddress });
46
+ it("includes all non-empty parameters in the query", async () => {
47
+ const result = await getTransactions({
48
+ url,
49
+ address: "0x123",
50
+ sender: "0xABC",
51
+ provider: ProviderType.MultiversxBridge,
52
+ status: "success",
53
+ tokenIn: "0xTOKEN",
54
+ tokenOut: "WEGLD-123456"
55
+ });
55
56
  expect(mockedAxios.get).toHaveBeenCalledWith(
56
- `/transactions/${userWalletAddress}`,
57
+ "/transactions?receiver=0x123&sender=0xABC&provider=multiversx-bridge&status=success&tokenIn=0xTOKEN&tokenOut=WEGLD-123456",
57
58
  { baseURL: url }
58
59
  );
59
- expect(result.data).toEqual(response);
60
+ expect(result.data).toEqual(mockResponse);
60
61
  });
61
- it("fetches transactions with both transactionId and userWalletAddress", async () => {
62
- const userWalletAddress = "0x123";
63
- const response = [
64
- {
65
- fromChainId: "97",
66
- toChainId: "44",
67
- tokenIn: "0x063b637324e6115f8da67f761A99B7F00B7Fd908",
68
- tokenOut: "USDT-58d5d0",
69
- amountIn: "11000000",
70
- amountOut: "11000000",
71
- depositTimestamp: 1738054613,
72
- sender: "0x1009c2f59e03c383ca8f2766cfe305a1e79f4c8d",
73
- status: "success",
74
- receiver: "erd1sp0aaszznqnuvyvkmxkv2ultcvlf637c093sfc26dszks60jdqsqy2knqu",
75
- txHash: "0xe7e706c1793d06a252a3f040f07732989e4a6466d804cae17105c09818bc2994",
76
- fee: "0",
77
- provider: ProviderType.MultiversxBridge
78
- }
79
- ];
80
- mockedAxios.get.mockResolvedValue({ data: response });
62
+ it("excludes empty parameters from the query", async () => {
81
63
  const result = await getTransactions({
82
64
  url,
83
- userWalletAddress
65
+ address: "0x123",
66
+ sender: "",
67
+ provider: ProviderType.MultiversxBridge,
68
+ status: "",
69
+ tokenIn: "0xTOKEN",
70
+ tokenOut: ""
84
71
  });
85
72
  expect(mockedAxios.get).toHaveBeenCalledWith(
86
- `/transactions/${userWalletAddress}`,
73
+ "/transactions?receiver=0x123&provider=multiversx-bridge&tokenIn=0xTOKEN",
87
74
  { baseURL: url }
88
75
  );
89
- expect(result.data).toEqual(response);
76
+ expect(result.data).toEqual(mockResponse);
77
+ });
78
+ it("handles axios error", async () => {
79
+ const error = new Error("Network error");
80
+ mockedAxios.get.mockRejectedValueOnce(error);
81
+ await expect(getTransactions({ url, address: "0x123" })).rejects.toThrow(
82
+ "Network error"
83
+ );
84
+ expect(mockedAxios.get).toHaveBeenCalledWith(
85
+ "/transactions?receiver=0x123",
86
+ { baseURL: url }
87
+ );
88
+ });
89
+ it("passes through axios response", async () => {
90
+ const axiosResponse = {
91
+ data: mockResponse,
92
+ status: 200,
93
+ statusText: "OK",
94
+ headers: {},
95
+ config: {}
96
+ };
97
+ mockedAxios.get.mockResolvedValueOnce(axiosResponse);
98
+ const result = await getTransactions({ url, address: "0x123" });
99
+ expect(result).toEqual(axiosResponse);
90
100
  });
91
101
  });
@@ -1 +1 @@
1
- export declare const MVX_CHAIN_IDS: number[];
1
+ export declare const MVX_CHAIN_IDS: string[];
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const MVX_CHAIN_IDS = [31, 44, 54];
4
+ const MVX_CHAIN_IDS = ["31", "44", "54"];
5
5
  exports.MVX_CHAIN_IDS = MVX_CHAIN_IDS;
@@ -1,4 +1,4 @@
1
- const MVX_CHAIN_IDS = [31, 44, 54];
1
+ const MVX_CHAIN_IDS = ["31", "44", "54"];
2
2
  export {
3
3
  MVX_CHAIN_IDS
4
4
  };
@@ -1,9 +1,11 @@
1
+ import { ChainType } from '../types/chainType';
2
+
1
3
  export interface ChainDTO {
2
4
  chainId: string;
3
5
  chainName: string;
4
6
  pngUrl: string;
5
7
  svgUrl: string;
6
- chainType: string;
8
+ chainType: ChainType;
7
9
  rpc: string;
8
10
  networkName: string;
9
11
  nativeCurrency: {
@@ -8,4 +8,5 @@ export interface ConfirmRateDto extends RateRequestResponse {
8
8
  toChainId: string;
9
9
  sender: string;
10
10
  receiver: string;
11
+ backUrl?: string;
11
12
  }
@@ -1,5 +1,5 @@
1
1
  export interface TokenDTO {
2
- chainId: number;
2
+ chainId: string;
3
3
  address: string;
4
4
  name: string;
5
5
  symbol: string;
@@ -12,4 +12,5 @@ export interface TokenDTO {
12
12
  maxBridgeAmount: string;
13
13
  };
14
14
  availableTokens?: string[];
15
+ isNative?: boolean;
15
16
  }