@multiversx/sdk-dapp-liquidity 0.2.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/README.md +186 -0
  2. package/all-networks-EJIVYZ_i.mjs +4 -0
  3. package/all-networks-NYACMyeN.js +4 -0
  4. package/api/confirmRate.d.ts +11 -0
  5. package/api/confirmRate.js +30 -0
  6. package/api/confirmRate.mjs +29 -0
  7. package/api/getChains.d.ts +6 -0
  8. package/api/getChains.js +12 -0
  9. package/api/getChains.mjs +11 -0
  10. package/api/getRate.d.ts +10 -0
  11. package/api/getRate.js +28 -0
  12. package/api/getRate.mjs +27 -0
  13. package/api/getTokens.d.ts +7 -0
  14. package/api/getTokens.js +14 -0
  15. package/api/getTokens.mjs +13 -0
  16. package/api/getTokensBalances.d.ts +8 -0
  17. package/api/getTokensBalances.js +17 -0
  18. package/api/getTokensBalances.mjs +16 -0
  19. package/api/getTransactions.d.ts +7 -0
  20. package/api/getTransactions.js +14 -0
  21. package/api/getTransactions.mjs +13 -0
  22. package/api/index.d.ts +7 -0
  23. package/api/index.js +17 -0
  24. package/api/index.mjs +16 -0
  25. package/api/sendTransactions.d.ts +11 -0
  26. package/api/sendTransactions.js +29 -0
  27. package/api/sendTransactions.mjs +28 -0
  28. package/api/tests/confirmRate.spec.d.ts +1 -0
  29. package/api/tests/confirmRate.spec.js +124 -0
  30. package/api/tests/confirmRate.spec.mjs +122 -0
  31. package/api/tests/getChains.spec.d.ts +1 -0
  32. package/api/tests/getChains.spec.js +37 -0
  33. package/api/tests/getChains.spec.mjs +35 -0
  34. package/api/tests/getRate.spec.d.ts +1 -0
  35. package/api/tests/getRate.spec.js +83 -0
  36. package/api/tests/getRate.spec.mjs +81 -0
  37. package/api/tests/getTokens.spec.d.ts +1 -0
  38. package/api/tests/getTokens.spec.js +60 -0
  39. package/api/tests/getTokens.spec.mjs +58 -0
  40. package/api/tests/getTransactions.spec.d.ts +1 -0
  41. package/api/tests/getTransactions.spec.js +89 -0
  42. package/api/tests/getTransactions.spec.mjs +87 -0
  43. package/api/tests/sendTransactions.spec.d.ts +1 -0
  44. package/api/tests/sendTransactions.spec.js +83 -0
  45. package/api/tests/sendTransactions.spec.mjs +81 -0
  46. package/bignumber-B8vjg9qn.js +1334 -0
  47. package/bignumber-CKZkoo0g.mjs +1334 -0
  48. package/constants/index.d.ts +1 -0
  49. package/constants/index.js +5 -0
  50. package/constants/index.mjs +4 -0
  51. package/default-BYtXv70Z.mjs +4 -0
  52. package/default-H3AbmzFV.js +4 -0
  53. package/dto/Chain.dto.d.ts +16 -0
  54. package/dto/Chain.dto.js +2 -0
  55. package/dto/Chain.dto.mjs +1 -0
  56. package/dto/ConfirmRate.dto.d.ts +11 -0
  57. package/dto/ConfirmRate.dto.js +2 -0
  58. package/dto/ConfirmRate.dto.mjs +1 -0
  59. package/dto/Token.dto.d.ts +14 -0
  60. package/dto/Token.dto.js +2 -0
  61. package/dto/Token.dto.mjs +1 -0
  62. package/dto/TokenBalance.dto.d.ts +4 -0
  63. package/dto/TokenBalance.dto.js +2 -0
  64. package/dto/TokenBalance.dto.mjs +1 -0
  65. package/dto/Transaction.dto.d.ts +14 -0
  66. package/dto/Transaction.dto.js +2 -0
  67. package/dto/Transaction.dto.mjs +1 -0
  68. package/dto/index.d.ts +5 -0
  69. package/dto/index.js +2 -0
  70. package/dto/index.mjs +1 -0
  71. package/helpers/base64Utils.d.ts +3 -0
  72. package/helpers/base64Utils.js +32 -0
  73. package/helpers/base64Utils.mjs +31 -0
  74. package/helpers/decodeLoginToken.d.ts +9 -0
  75. package/helpers/decodeLoginToken.js +28 -0
  76. package/helpers/decodeLoginToken.mjs +27 -0
  77. package/helpers/decodeToken.d.ts +11 -0
  78. package/helpers/decodeToken.js +40 -0
  79. package/helpers/decodeToken.mjs +39 -0
  80. package/helpers/getApiURL.d.ts +1 -0
  81. package/helpers/getApiURL.js +8 -0
  82. package/helpers/getApiURL.mjs +7 -0
  83. package/helpers/getBridgeURL.d.ts +1 -0
  84. package/helpers/getBridgeURL.js +8 -0
  85. package/helpers/getBridgeURL.mjs +7 -0
  86. package/helpers/getMvxApiURL.d.ts +1 -0
  87. package/helpers/getMvxApiURL.js +8 -0
  88. package/helpers/getMvxApiURL.mjs +7 -0
  89. package/helpers/getMvxChainId.d.ts +1 -0
  90. package/helpers/getMvxChainId.js +8 -0
  91. package/helpers/getMvxChainId.mjs +7 -0
  92. package/helpers/getMvxExplorerAddress.d.ts +1 -0
  93. package/helpers/getMvxExplorerAddress.js +8 -0
  94. package/helpers/getMvxExplorerAddress.mjs +7 -0
  95. package/helpers/index.d.ts +9 -0
  96. package/helpers/index.js +23 -0
  97. package/helpers/index.mjs +22 -0
  98. package/helpers/serializeTransaction.d.ts +3 -0
  99. package/helpers/serializeTransaction.js +9 -0
  100. package/helpers/serializeTransaction.mjs +8 -0
  101. package/helpers/tests/base64Utils.spec.d.ts +1 -0
  102. package/helpers/tests/base64Utils.spec.js +30 -0
  103. package/helpers/tests/base64Utils.spec.mjs +28 -0
  104. package/helpers/tests/decodeLoginToken.spec.d.ts +1 -0
  105. package/helpers/tests/decodeLoginToken.spec.js +35 -0
  106. package/helpers/tests/decodeLoginToken.spec.mjs +33 -0
  107. package/helpers/tests/decodeToken.spec.d.ts +1 -0
  108. package/helpers/tests/decodeToken.spec.js +28 -0
  109. package/helpers/tests/decodeToken.spec.mjs +26 -0
  110. package/index-B9WqxUXM.mjs +91 -0
  111. package/index-BXwpbIDQ.mjs +107 -0
  112. package/index-CnudU77V.js +329 -0
  113. package/index-DSnomXRI.mjs +68025 -0
  114. package/index-DZHiA1sX.js +107 -0
  115. package/index-cvy2-uZ_.js +67946 -0
  116. package/index.d.ts +6 -0
  117. package/index.js +189 -0
  118. package/index.mjs +185 -0
  119. package/package.json +107 -0
  120. package/react-B9sQBOh0.mjs +3040 -0
  121. package/react-BaXyw3AO.js +3040 -0
  122. package/react-CNXJSTCv.js +38 -0
  123. package/react-CSQpf1zk.mjs +38 -0
  124. package/reactjs/components/AccountAddress/AccountAddress.d.ts +6 -0
  125. package/reactjs/components/AccountAddress/AccountAddress.js +25 -0
  126. package/reactjs/components/AccountAddress/AccountAddress.mjs +24 -0
  127. package/reactjs/components/AccountAddress/index.d.ts +1 -0
  128. package/reactjs/components/AccountAddress/index.js +5 -0
  129. package/reactjs/components/AccountAddress/index.mjs +4 -0
  130. package/reactjs/components/AmountCard/AmountCard.d.ts +6 -0
  131. package/reactjs/components/AmountCard/AmountCard.js +33 -0
  132. package/reactjs/components/AmountCard/AmountCard.mjs +32 -0
  133. package/reactjs/components/AmountCard/index.d.ts +1 -0
  134. package/reactjs/components/AmountCard/index.js +5 -0
  135. package/reactjs/components/AmountCard/index.mjs +4 -0
  136. package/reactjs/components/AmountInput/AmountInput.d.ts +13 -0
  137. package/reactjs/components/AmountInput/AmountInput.js +61 -0
  138. package/reactjs/components/AmountInput/AmountInput.mjs +60 -0
  139. package/reactjs/components/AmountInput/index.d.ts +1 -0
  140. package/reactjs/components/AmountInput/index.js +5 -0
  141. package/reactjs/components/AmountInput/index.mjs +4 -0
  142. package/reactjs/components/BridgeForm/BridgeForm.d.ts +16 -0
  143. package/reactjs/components/BridgeForm/BridgeForm.js +680 -0
  144. package/reactjs/components/BridgeForm/BridgeForm.mjs +679 -0
  145. package/reactjs/components/BridgeForm/index.d.ts +1 -0
  146. package/reactjs/components/BridgeForm/index.js +5 -0
  147. package/reactjs/components/BridgeForm/index.mjs +4 -0
  148. package/reactjs/components/BridgeHistory/BridgeHistory.d.ts +4 -0
  149. package/reactjs/components/BridgeHistory/BridgeHistory.js +233 -0
  150. package/reactjs/components/BridgeHistory/BridgeHistory.mjs +232 -0
  151. package/reactjs/components/BridgeHistory/index.d.ts +1 -0
  152. package/reactjs/components/BridgeHistory/index.js +5 -0
  153. package/reactjs/components/BridgeHistory/index.mjs +4 -0
  154. package/reactjs/components/Connect/BridgeAccountDisplay.d.ts +6 -0
  155. package/reactjs/components/Connect/BridgeAccountDisplay.js +85 -0
  156. package/reactjs/components/Connect/BridgeAccountDisplay.mjs +84 -0
  157. package/reactjs/components/Connect/BridgeConnectButton.d.ts +7 -0
  158. package/reactjs/components/Connect/BridgeConnectButton.js +26 -0
  159. package/reactjs/components/Connect/BridgeConnectButton.mjs +25 -0
  160. package/reactjs/components/Connect/CustomConnectButton.d.ts +7 -0
  161. package/reactjs/components/Connect/CustomConnectButton.js +42 -0
  162. package/reactjs/components/Connect/CustomConnectButton.mjs +41 -0
  163. package/reactjs/components/Connect/MvxAccountDisplay.d.ts +9 -0
  164. package/reactjs/components/Connect/MvxAccountDisplay.js +75 -0
  165. package/reactjs/components/Connect/MvxAccountDisplay.mjs +74 -0
  166. package/reactjs/components/Connect/MvxConnectButton.d.ts +11 -0
  167. package/reactjs/components/Connect/MvxConnectButton.js +43 -0
  168. package/reactjs/components/Connect/MvxConnectButton.mjs +42 -0
  169. package/reactjs/components/Connect/SwitchChainButton.d.ts +7 -0
  170. package/reactjs/components/Connect/SwitchChainButton.js +33 -0
  171. package/reactjs/components/Connect/SwitchChainButton.mjs +32 -0
  172. package/reactjs/components/Connect/index.d.ts +6 -0
  173. package/reactjs/components/Connect/index.js +15 -0
  174. package/reactjs/components/Connect/index.mjs +14 -0
  175. package/reactjs/components/CopyButton/CopyButton.d.ts +6 -0
  176. package/reactjs/components/CopyButton/CopyButton.js +42 -0
  177. package/reactjs/components/CopyButton/CopyButton.mjs +41 -0
  178. package/reactjs/components/CopyButton/index.d.ts +1 -0
  179. package/reactjs/components/CopyButton/index.js +5 -0
  180. package/reactjs/components/CopyButton/index.mjs +4 -0
  181. package/reactjs/components/CopyButton/utils/copyToClipboard.d.ts +1 -0
  182. package/reactjs/components/CopyButton/utils/copyToClipboard.js +38 -0
  183. package/reactjs/components/CopyButton/utils/copyToClipboard.mjs +37 -0
  184. package/reactjs/components/CopyButton/utils/index.d.ts +1 -0
  185. package/reactjs/components/CopyButton/utils/index.js +5 -0
  186. package/reactjs/components/CopyButton/utils/index.mjs +4 -0
  187. package/reactjs/components/DisplayAmount/DisplayAmount.d.ts +21 -0
  188. package/reactjs/components/DisplayAmount/DisplayAmount.js +91 -0
  189. package/reactjs/components/DisplayAmount/DisplayAmount.mjs +90 -0
  190. package/reactjs/components/DisplayAmount/components/AnimateNumber/AnimateNumber.d.ts +7 -0
  191. package/reactjs/components/DisplayAmount/components/AnimateNumber/AnimateNumber.js +40 -0
  192. package/reactjs/components/DisplayAmount/components/AnimateNumber/AnimateNumber.mjs +39 -0
  193. package/reactjs/components/DisplayAmount/components/AnimateNumber/index.d.ts +0 -0
  194. package/reactjs/components/DisplayAmount/components/AnimateNumber/index.js +2 -0
  195. package/reactjs/components/DisplayAmount/components/AnimateNumber/index.mjs +1 -0
  196. package/reactjs/components/DisplayAmount/components/PrecisedAmount/PrecisedAmount.d.ts +14 -0
  197. package/reactjs/components/DisplayAmount/components/PrecisedAmount/PrecisedAmount.js +62 -0
  198. package/reactjs/components/DisplayAmount/components/PrecisedAmount/PrecisedAmount.mjs +61 -0
  199. package/reactjs/components/DisplayAmount/components/index.d.ts +0 -0
  200. package/reactjs/components/DisplayAmount/components/index.js +2 -0
  201. package/reactjs/components/DisplayAmount/components/index.mjs +1 -0
  202. package/reactjs/components/DisplayAmount/index.d.ts +1 -0
  203. package/reactjs/components/DisplayAmount/index.js +5 -0
  204. package/reactjs/components/DisplayAmount/index.mjs +4 -0
  205. package/reactjs/components/DisplayAmount/utils/index.d.ts +1 -0
  206. package/reactjs/components/DisplayAmount/utils/index.js +5 -0
  207. package/reactjs/components/DisplayAmount/utils/index.mjs +4 -0
  208. package/reactjs/components/DisplayAmount/utils/truncateAmount.d.ts +1 -0
  209. package/reactjs/components/DisplayAmount/utils/truncateAmount.js +22 -0
  210. package/reactjs/components/DisplayAmount/utils/truncateAmount.mjs +21 -0
  211. package/reactjs/components/SmallLoader/SmallLoader.d.ts +4 -0
  212. package/reactjs/components/SmallLoader/SmallLoader.js +22 -0
  213. package/reactjs/components/SmallLoader/SmallLoader.mjs +21 -0
  214. package/reactjs/components/SmallLoader/index.d.ts +1 -0
  215. package/reactjs/components/SmallLoader/index.js +5 -0
  216. package/reactjs/components/SmallLoader/index.mjs +4 -0
  217. package/reactjs/components/TokenSelector/TokenSelector.d.ts +16 -0
  218. package/reactjs/components/TokenSelector/TokenSelector.js +158 -0
  219. package/reactjs/components/TokenSelector/TokenSelector.mjs +157 -0
  220. package/reactjs/components/TokenSelector/components/ChainSelect/ChainSelect.d.ts +8 -0
  221. package/reactjs/components/TokenSelector/components/ChainSelect/ChainSelect.js +86 -0
  222. package/reactjs/components/TokenSelector/components/ChainSelect/ChainSelect.mjs +85 -0
  223. package/reactjs/components/TokenSelector/components/ChainSelect/components/ChainOptionLabel.d.ts +11 -0
  224. package/reactjs/components/TokenSelector/components/ChainSelect/components/ChainOptionLabel.js +45 -0
  225. package/reactjs/components/TokenSelector/components/ChainSelect/components/ChainOptionLabel.mjs +44 -0
  226. package/reactjs/components/TokenSelector/components/ChainSelect/components/FormatChainOptionLabel.d.ts +6 -0
  227. package/reactjs/components/TokenSelector/components/ChainSelect/components/FormatChainOptionLabel.js +19 -0
  228. package/reactjs/components/TokenSelector/components/ChainSelect/components/FormatChainOptionLabel.mjs +18 -0
  229. package/reactjs/components/TokenSelector/components/ChainSelect/components/IndicatorSeparator.d.ts +3 -0
  230. package/reactjs/components/TokenSelector/components/ChainSelect/components/IndicatorSeparator.js +7 -0
  231. package/reactjs/components/TokenSelector/components/ChainSelect/components/IndicatorSeparator.mjs +6 -0
  232. package/reactjs/components/TokenSelector/components/ChainSelect/components/SelectedChainOption.d.ts +4 -0
  233. package/reactjs/components/TokenSelector/components/ChainSelect/components/SelectedChainOption.js +33 -0
  234. package/reactjs/components/TokenSelector/components/ChainSelect/components/SelectedChainOption.mjs +32 -0
  235. package/reactjs/components/TokenSelector/components/ChainSelect/types/chainSelectOption.d.ts +10 -0
  236. package/reactjs/components/TokenSelector/components/ChainSelect/types/chainSelectOption.js +2 -0
  237. package/reactjs/components/TokenSelector/components/ChainSelect/types/chainSelectOption.mjs +1 -0
  238. package/reactjs/components/TokenSelector/components/ChainSelect/types/partialChainOption.d.ts +10 -0
  239. package/reactjs/components/TokenSelector/components/ChainSelect/types/partialChainOption.js +2 -0
  240. package/reactjs/components/TokenSelector/components/ChainSelect/types/partialChainOption.mjs +1 -0
  241. package/reactjs/components/TokenSelector/components/SelectContainer.d.ts +7 -0
  242. package/reactjs/components/TokenSelector/components/SelectContainer.js +41 -0
  243. package/reactjs/components/TokenSelector/components/SelectContainer.mjs +40 -0
  244. package/reactjs/components/TokenSelector/components/SelectContent.d.ts +10 -0
  245. package/reactjs/components/TokenSelector/components/SelectContent.js +93 -0
  246. package/reactjs/components/TokenSelector/components/SelectContent.mjs +92 -0
  247. package/reactjs/components/TokenSelector/components/SelectedOption.d.ts +5 -0
  248. package/reactjs/components/TokenSelector/components/SelectedOption.js +29 -0
  249. package/reactjs/components/TokenSelector/components/SelectedOption.mjs +28 -0
  250. package/reactjs/components/TokenSelector/components/TokenIcon.d.ts +8 -0
  251. package/reactjs/components/TokenSelector/components/TokenIcon.js +82 -0
  252. package/reactjs/components/TokenSelector/components/TokenIcon.mjs +81 -0
  253. package/reactjs/components/TokenSelector/components/TokenItem.d.ts +7 -0
  254. package/reactjs/components/TokenSelector/components/TokenItem.js +69 -0
  255. package/reactjs/components/TokenSelector/components/TokenItem.mjs +68 -0
  256. package/reactjs/components/TokenSelector/components/TokenList.d.ts +7 -0
  257. package/reactjs/components/TokenSelector/components/TokenList.js +21 -0
  258. package/reactjs/components/TokenSelector/components/TokenList.mjs +20 -0
  259. package/reactjs/components/TokenSelector/components/TokenSymbol.d.ts +9 -0
  260. package/reactjs/components/TokenSelector/components/TokenSymbol.js +26 -0
  261. package/reactjs/components/TokenSelector/components/TokenSymbol.mjs +25 -0
  262. package/reactjs/components/TokenSelector/index.d.ts +1 -0
  263. package/reactjs/components/TokenSelector/index.js +5 -0
  264. package/reactjs/components/TokenSelector/index.mjs +4 -0
  265. package/reactjs/components/TransactionToast/TransactionToast.d.ts +9 -0
  266. package/reactjs/components/TransactionToast/TransactionToast.js +54 -0
  267. package/reactjs/components/TransactionToast/TransactionToast.mjs +53 -0
  268. package/reactjs/components/TransactionToast/TransactionToastContainer.d.ts +3 -0
  269. package/reactjs/components/TransactionToast/TransactionToastContainer.js +21 -0
  270. package/reactjs/components/TransactionToast/TransactionToastContainer.mjs +20 -0
  271. package/reactjs/components/TransactionToast/index.d.ts +2 -0
  272. package/reactjs/components/TransactionToast/index.js +7 -0
  273. package/reactjs/components/TransactionToast/index.mjs +6 -0
  274. package/reactjs/components/TrimAddress/TrimAddress.d.ts +8 -0
  275. package/reactjs/components/TrimAddress/TrimAddress.js +26 -0
  276. package/reactjs/components/TrimAddress/TrimAddress.mjs +25 -0
  277. package/reactjs/components/TrimAddress/index.d.ts +1 -0
  278. package/reactjs/components/TrimAddress/index.js +5 -0
  279. package/reactjs/components/TrimAddress/index.mjs +4 -0
  280. package/reactjs/components/base/MxButton/MxButton.d.ts +13 -0
  281. package/reactjs/components/base/MxButton/MxButton.js +72 -0
  282. package/reactjs/components/base/MxButton/MxButton.mjs +71 -0
  283. package/reactjs/components/base/MxButton/index.d.ts +1 -0
  284. package/reactjs/components/base/MxButton/index.js +5 -0
  285. package/reactjs/components/base/MxButton/index.mjs +4 -0
  286. package/reactjs/components/base/MxCard/MxCard.d.ts +10 -0
  287. package/reactjs/components/base/MxCard/MxCard.js +55 -0
  288. package/reactjs/components/base/MxCard/MxCard.mjs +54 -0
  289. package/reactjs/components/base/MxCard/index.d.ts +1 -0
  290. package/reactjs/components/base/MxCard/index.js +5 -0
  291. package/reactjs/components/base/MxCard/index.mjs +4 -0
  292. package/reactjs/components/base/MxLink/MxLink.d.ts +10 -0
  293. package/reactjs/components/base/MxLink/MxLink.js +71 -0
  294. package/reactjs/components/base/MxLink/MxLink.mjs +70 -0
  295. package/reactjs/components/base/MxLink/index.d.ts +1 -0
  296. package/reactjs/components/base/MxLink/index.js +5 -0
  297. package/reactjs/components/base/MxLink/index.mjs +4 -0
  298. package/reactjs/components/base/MxSearch/MxSearch.d.ts +10 -0
  299. package/reactjs/components/base/MxSearch/MxSearch.js +70 -0
  300. package/reactjs/components/base/MxSearch/MxSearch.mjs +69 -0
  301. package/reactjs/components/base/MxSearch/index.d.ts +1 -0
  302. package/reactjs/components/base/MxSearch/index.js +5 -0
  303. package/reactjs/components/base/MxSearch/index.mjs +4 -0
  304. package/reactjs/components/base/MxSlideover/MxSlideover.d.ts +10 -0
  305. package/reactjs/components/base/MxSlideover/MxSlideover.js +79 -0
  306. package/reactjs/components/base/MxSlideover/MxSlideover.mjs +78 -0
  307. package/reactjs/components/base/MxSlideover/index.d.ts +1 -0
  308. package/reactjs/components/base/MxSlideover/index.js +5 -0
  309. package/reactjs/components/base/MxSlideover/index.mjs +4 -0
  310. package/reactjs/components/base/MxTooltip/MxTooltip.d.ts +23 -0
  311. package/reactjs/components/base/MxTooltip/MxTooltip.js +163 -0
  312. package/reactjs/components/base/MxTooltip/MxTooltip.mjs +162 -0
  313. package/reactjs/components/base/MxTooltip/components/TooltipContainer/TooltipContainer.d.ts +11 -0
  314. package/reactjs/components/base/MxTooltip/components/TooltipContainer/TooltipContainer.js +34 -0
  315. package/reactjs/components/base/MxTooltip/components/TooltipContainer/TooltipContainer.mjs +33 -0
  316. package/reactjs/components/base/MxTooltip/components/TooltipContainer/index.d.ts +1 -0
  317. package/reactjs/components/base/MxTooltip/components/TooltipContainer/index.js +5 -0
  318. package/reactjs/components/base/MxTooltip/components/TooltipContainer/index.mjs +4 -0
  319. package/reactjs/components/base/MxTooltip/components/TooltipContent/TooltipContent.d.ts +13 -0
  320. package/reactjs/components/base/MxTooltip/components/TooltipContent/TooltipContent.js +28 -0
  321. package/reactjs/components/base/MxTooltip/components/TooltipContent/TooltipContent.mjs +27 -0
  322. package/reactjs/components/base/MxTooltip/components/TooltipContent/index.d.ts +1 -0
  323. package/reactjs/components/base/MxTooltip/components/TooltipContent/index.js +5 -0
  324. package/reactjs/components/base/MxTooltip/components/TooltipContent/index.mjs +4 -0
  325. package/reactjs/components/base/MxTooltip/components/index.d.ts +2 -0
  326. package/reactjs/components/base/MxTooltip/components/index.js +7 -0
  327. package/reactjs/components/base/MxTooltip/components/index.mjs +6 -0
  328. package/reactjs/components/base/MxTooltip/index.d.ts +1 -0
  329. package/reactjs/components/base/MxTooltip/index.js +5 -0
  330. package/reactjs/components/base/MxTooltip/index.mjs +4 -0
  331. package/reactjs/components/base/index.d.ts +6 -0
  332. package/reactjs/components/base/index.js +15 -0
  333. package/reactjs/components/base/index.mjs +14 -0
  334. package/reactjs/components/index.d.ts +13 -0
  335. package/reactjs/components/index.js +51 -0
  336. package/reactjs/components/index.mjs +50 -0
  337. package/reactjs/constants/chains.d.ts +35 -0
  338. package/reactjs/constants/chains.js +38 -0
  339. package/reactjs/constants/chains.mjs +37 -0
  340. package/reactjs/constants/index.d.ts +3 -0
  341. package/reactjs/constants/index.js +12 -0
  342. package/reactjs/constants/index.mjs +11 -0
  343. package/reactjs/context/Web3AppProvider.d.ts +12 -0
  344. package/reactjs/context/Web3AppProvider.js +29 -0
  345. package/reactjs/context/Web3AppProvider.mjs +28 -0
  346. package/reactjs/context/queryClient.d.ts +3 -0
  347. package/reactjs/context/queryClient.js +12 -0
  348. package/reactjs/context/queryClient.mjs +11 -0
  349. package/reactjs/context/useWeb3App.d.ts +1 -0
  350. package/reactjs/context/useWeb3App.js +13 -0
  351. package/reactjs/context/useWeb3App.mjs +12 -0
  352. package/reactjs/hooks/index.d.ts +11 -0
  353. package/reactjs/hooks/index.js +32 -0
  354. package/reactjs/hooks/index.mjs +31 -0
  355. package/reactjs/hooks/useAccount.d.ts +77 -0
  356. package/reactjs/hooks/useAccount.js +18 -0
  357. package/reactjs/hooks/useAccount.mjs +17 -0
  358. package/reactjs/hooks/useBalances.d.ts +10 -0
  359. package/reactjs/hooks/useBalances.js +7 -0
  360. package/reactjs/hooks/useBalances.mjs +6 -0
  361. package/reactjs/hooks/useBridgeFormik.d.ts +98 -0
  362. package/reactjs/hooks/useBridgeFormik.js +182 -0
  363. package/reactjs/hooks/useBridgeFormik.mjs +181 -0
  364. package/reactjs/hooks/useDebounce.d.ts +1 -0
  365. package/reactjs/hooks/useDebounce.js +14 -0
  366. package/reactjs/hooks/useDebounce.mjs +13 -0
  367. package/reactjs/hooks/useFetchBridgeData.d.ts +45 -0
  368. package/reactjs/hooks/useFetchBridgeData.js +44 -0
  369. package/reactjs/hooks/useFetchBridgeData.mjs +43 -0
  370. package/reactjs/hooks/useFetchTokens.d.ts +42 -0
  371. package/reactjs/hooks/useFetchTokens.js +105 -0
  372. package/reactjs/hooks/useFetchTokens.mjs +104 -0
  373. package/reactjs/hooks/useGetChainId.d.ts +1 -0
  374. package/reactjs/hooks/useGetChainId.js +12 -0
  375. package/reactjs/hooks/useGetChainId.mjs +11 -0
  376. package/reactjs/hooks/useResolveTokenChain.d.ts +9 -0
  377. package/reactjs/hooks/useResolveTokenChain.js +21 -0
  378. package/reactjs/hooks/useResolveTokenChain.mjs +20 -0
  379. package/reactjs/hooks/useSendTransactions.d.ts +3 -0
  380. package/reactjs/hooks/useSendTransactions.js +19 -0
  381. package/reactjs/hooks/useSendTransactions.mjs +18 -0
  382. package/reactjs/hooks/useSignTransaction.d.ts +69 -0
  383. package/reactjs/hooks/useSignTransaction.js +17 -0
  384. package/reactjs/hooks/useSignTransaction.mjs +16 -0
  385. package/reactjs/hooks/validation/index.d.ts +4 -0
  386. package/reactjs/hooks/validation/index.js +11 -0
  387. package/reactjs/hooks/validation/index.mjs +10 -0
  388. package/reactjs/hooks/validation/useAmountSchema.d.ts +2 -0
  389. package/reactjs/hooks/validation/useAmountSchema.js +31 -0
  390. package/reactjs/hooks/validation/useAmountSchema.mjs +13 -0
  391. package/reactjs/hooks/validation/useSecondAmountSchema.d.ts +2 -0
  392. package/reactjs/hooks/validation/useSecondAmountSchema.js +27 -0
  393. package/reactjs/hooks/validation/useSecondAmountSchema.mjs +9 -0
  394. package/reactjs/hooks/validation/useTestHasEnoughFunds.d.ts +3 -0
  395. package/reactjs/hooks/validation/useTestHasEnoughFunds.js +38 -0
  396. package/reactjs/hooks/validation/useTestHasEnoughFunds.mjs +37 -0
  397. package/reactjs/hooks/validation/useTestIsConnected.d.ts +3 -0
  398. package/reactjs/hooks/validation/useTestIsConnected.js +21 -0
  399. package/reactjs/hooks/validation/useTestIsConnected.mjs +20 -0
  400. package/reactjs/index.d.ts +10 -0
  401. package/reactjs/index.js +153 -0
  402. package/reactjs/index.mjs +149 -0
  403. package/reactjs/init/index.d.ts +1 -0
  404. package/reactjs/init/index.js +5 -0
  405. package/reactjs/init/index.mjs +4 -0
  406. package/reactjs/init/init.d.ts +48 -0
  407. package/reactjs/init/init.js +53 -0
  408. package/reactjs/init/init.mjs +35 -0
  409. package/reactjs/init/tests/init.spec.d.ts +1 -0
  410. package/reactjs/init/tests/init.spec.js +108 -0
  411. package/reactjs/init/tests/init.spec.mjs +106 -0
  412. package/reactjs/queries/index.d.ts +7 -0
  413. package/reactjs/queries/index.js +20 -0
  414. package/reactjs/queries/index.mjs +19 -0
  415. package/reactjs/queries/useGetAllTokens.query.d.ts +3 -0
  416. package/reactjs/queries/useGetAllTokens.query.js +31 -0
  417. package/reactjs/queries/useGetAllTokens.query.mjs +30 -0
  418. package/reactjs/queries/useGetChains.query.d.ts +3 -0
  419. package/reactjs/queries/useGetChains.query.js +31 -0
  420. package/reactjs/queries/useGetChains.query.mjs +30 -0
  421. package/reactjs/queries/useGetEvmTokensBalances.query.d.ts +22 -0
  422. package/reactjs/queries/useGetEvmTokensBalances.query.js +78 -0
  423. package/reactjs/queries/useGetEvmTokensBalances.query.mjs +77 -0
  424. package/reactjs/queries/useGetHistory.query.d.ts +4 -0
  425. package/reactjs/queries/useGetHistory.query.js +47 -0
  426. package/reactjs/queries/useGetHistory.query.mjs +46 -0
  427. package/reactjs/queries/useGetMvxTokensBalances.query.d.ts +23 -0
  428. package/reactjs/queries/useGetMvxTokensBalances.query.js +60 -0
  429. package/reactjs/queries/useGetMvxTokensBalances.query.mjs +59 -0
  430. package/reactjs/queries/useGetRate.mutation.d.ts +6 -0
  431. package/reactjs/queries/useGetRate.mutation.js +19 -0
  432. package/reactjs/queries/useGetRate.mutation.mjs +18 -0
  433. package/reactjs/queries/useGetTokens.query.d.ts +3 -0
  434. package/reactjs/queries/useGetTokens.query.js +34 -0
  435. package/reactjs/queries/useGetTokens.query.mjs +33 -0
  436. package/reactjs/reexports.d.ts +6 -0
  437. package/reactjs/reexports.js +21 -0
  438. package/reactjs/reexports.mjs +17 -0
  439. package/reactjs/utils/delay.d.ts +1 -0
  440. package/reactjs/utils/delay.js +7 -0
  441. package/reactjs/utils/delay.mjs +6 -0
  442. package/reactjs/utils/formatAmount.d.ts +7 -0
  443. package/reactjs/utils/formatAmount.js +24 -0
  444. package/reactjs/utils/formatAmount.mjs +23 -0
  445. package/reactjs/utils/getCleanStringAmount.d.ts +4 -0
  446. package/reactjs/utils/getCleanStringAmount.js +12 -0
  447. package/reactjs/utils/getCleanStringAmount.mjs +11 -0
  448. package/reactjs/utils/getCompletePathname.d.ts +1 -0
  449. package/reactjs/utils/getCompletePathname.js +6 -0
  450. package/reactjs/utils/getCompletePathname.mjs +5 -0
  451. package/reactjs/utils/getInitialTokens.d.ts +8 -0
  452. package/reactjs/utils/getInitialTokens.js +13 -0
  453. package/reactjs/utils/getInitialTokens.mjs +12 -0
  454. package/reactjs/utils/hasEnoughFunds.d.ts +5 -0
  455. package/reactjs/utils/hasEnoughFunds.js +20 -0
  456. package/reactjs/utils/hasEnoughFunds.mjs +19 -0
  457. package/reactjs/utils/index.d.ts +12 -0
  458. package/reactjs/utils/index.js +27 -0
  459. package/reactjs/utils/index.mjs +26 -0
  460. package/reactjs/utils/isStringFloat.d.ts +1 -0
  461. package/reactjs/utils/isStringFloat.js +22 -0
  462. package/reactjs/utils/isStringFloat.mjs +21 -0
  463. package/reactjs/utils/mxClsx.d.ts +3 -0
  464. package/reactjs/utils/mxClsx.js +21 -0
  465. package/reactjs/utils/mxClsx.mjs +20 -0
  466. package/reactjs/utils/pipe.d.ts +7 -0
  467. package/reactjs/utils/pipe.js +26 -0
  468. package/reactjs/utils/pipe.mjs +25 -0
  469. package/reactjs/utils/removeCommas.d.ts +1 -0
  470. package/reactjs/utils/removeCommas.js +7 -0
  471. package/reactjs/utils/removeCommas.mjs +6 -0
  472. package/reactjs/utils/roundAmount.d.ts +1 -0
  473. package/reactjs/utils/roundAmount.js +41 -0
  474. package/reactjs/utils/roundAmount.mjs +40 -0
  475. package/reactjs/utils/testNumber.d.ts +1 -0
  476. package/reactjs/utils/testNumber.js +5 -0
  477. package/reactjs/utils/testNumber.mjs +4 -0
  478. package/store/inMemoryStore.d.ts +12 -0
  479. package/store/inMemoryStore.js +40 -0
  480. package/store/inMemoryStore.mjs +39 -0
  481. package/types/batchTransactions.d.ts +6 -0
  482. package/types/batchTransactions.js +2 -0
  483. package/types/batchTransactions.mjs +1 -0
  484. package/types/index.d.ts +4 -0
  485. package/types/index.js +2 -0
  486. package/types/index.mjs +1 -0
  487. package/types/rate.d.ts +11 -0
  488. package/types/rate.js +2 -0
  489. package/types/rate.mjs +1 -0
  490. package/types/token.d.ts +12 -0
  491. package/types/token.js +2 -0
  492. package/types/token.mjs +1 -0
  493. package/types/transaction.d.ts +14 -0
  494. package/types/transaction.js +2 -0
  495. package/types/transaction.mjs +1 -0
  496. package/useBalances-Bxtc4GNK.js +199 -0
  497. package/useBalances-DA3zEruz.mjs +199 -0
  498. package/w3m-modal-DCcF1qEB.js +356 -0
  499. package/w3m-modal-DK3G5GJp.mjs +356 -0
@@ -0,0 +1,679 @@
1
+ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
+ import { faSpinner } from "@fortawesome/free-solid-svg-icons/faSpinner";
3
+ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
4
+ import { formatAmount } from "@multiversx/sdk-dapp-utils/out/helpers/formatAmount";
5
+ import debounce from "lodash/debounce";
6
+ import { useState, useMemo, useRef, useCallback, useEffect } from "react";
7
+ import { useNavigate } from "react-router-dom";
8
+ import { toast } from "react-toastify";
9
+ import { useSwitchChain } from "wagmi";
10
+ import { getApiURL } from "../../../helpers/getApiURL.mjs";
11
+ import { useWeb3App } from "../../context/useWeb3App.mjs";
12
+ import { useAccount } from "../../hooks/useAccount.mjs";
13
+ import { useBridgeFormik, BridgeFormikValuesEnum } from "../../hooks/useBridgeFormik.mjs";
14
+ import { useFetchBridgeData } from "../../hooks/useFetchBridgeData.mjs";
15
+ import { useGetChainId } from "../../hooks/useGetChainId.mjs";
16
+ import { useSendTransactions } from "../../hooks/useSendTransactions.mjs";
17
+ import { useSignTransaction } from "../../hooks/useSignTransaction.mjs";
18
+ import { invalidateHistoryQuery } from "../../queries/useGetHistory.query.mjs";
19
+ import { useGetRateMutation } from "../../queries/useGetRate.mutation.mjs";
20
+ import { getCompletePathname } from "../../utils/getCompletePathname.mjs";
21
+ import { getInitialTokens } from "../../utils/getInitialTokens.mjs";
22
+ import { mxClsx } from "../../utils/mxClsx.mjs";
23
+ import { AmountCard } from "../AmountCard/AmountCard.mjs";
24
+ import { AmountInput } from "../AmountInput/AmountInput.mjs";
25
+ import { MxButton } from "../base/MxButton/MxButton.mjs";
26
+ import "../base/MxCard/MxCard.mjs";
27
+ import "../base/MxLink/MxLink.mjs";
28
+ import "../base/MxSearch/MxSearch.mjs";
29
+ import "@fortawesome/free-solid-svg-icons/faClose";
30
+ import "@headlessui/react";
31
+ import "react-dom";
32
+ import "react-popper";
33
+ import "../base/MxTooltip/components/TooltipContainer/TooltipContainer.mjs";
34
+ import { BridgeHistory } from "../BridgeHistory/BridgeHistory.mjs";
35
+ import { BridgeConnectButton } from "../Connect/BridgeConnectButton.mjs";
36
+ import "../../../index-DSnomXRI.mjs";
37
+ import { hexToString } from "viem";
38
+ import "viem/chains";
39
+ import { MvxConnectButton } from "../Connect/MvxConnectButton.mjs";
40
+ import { BridgeAccountDisplay } from "../Connect/BridgeAccountDisplay.mjs";
41
+ import { MvxAccountDisplay } from "../Connect/MvxAccountDisplay.mjs";
42
+ import { TokenSelector } from "../TokenSelector/TokenSelector.mjs";
43
+ import { waitForTransactionReceipt as waitForTransactionReceipt$1, getTransaction, call } from "viem/actions";
44
+ import { g as getAction } from "../../../useBalances-DA3zEruz.mjs";
45
+ function deepEqual(a, b) {
46
+ if (a === b)
47
+ return true;
48
+ if (a && b && typeof a === "object" && typeof b === "object") {
49
+ if (a.constructor !== b.constructor)
50
+ return false;
51
+ let length;
52
+ let i;
53
+ if (Array.isArray(a) && Array.isArray(b)) {
54
+ length = a.length;
55
+ if (length !== b.length)
56
+ return false;
57
+ for (i = length; i-- !== 0; )
58
+ if (!deepEqual(a[i], b[i]))
59
+ return false;
60
+ return true;
61
+ }
62
+ if (a.valueOf !== Object.prototype.valueOf)
63
+ return a.valueOf() === b.valueOf();
64
+ if (a.toString !== Object.prototype.toString)
65
+ return a.toString() === b.toString();
66
+ const keys = Object.keys(a);
67
+ length = keys.length;
68
+ if (length !== Object.keys(b).length)
69
+ return false;
70
+ for (i = length; i-- !== 0; )
71
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
72
+ return false;
73
+ for (i = length; i-- !== 0; ) {
74
+ const key = keys[i];
75
+ if (key && !deepEqual(a[key], b[key]))
76
+ return false;
77
+ }
78
+ return true;
79
+ }
80
+ return a !== a && b !== b;
81
+ }
82
+ let previousConnections = [];
83
+ function getConnections(config) {
84
+ const connections = [...config.state.connections.values()];
85
+ if (config.state.status === "reconnecting")
86
+ return previousConnections;
87
+ if (deepEqual(previousConnections, connections))
88
+ return previousConnections;
89
+ previousConnections = connections;
90
+ return connections;
91
+ }
92
+ async function waitForTransactionReceipt(config, parameters) {
93
+ const { chainId, timeout = 0, ...rest } = parameters;
94
+ const client = config.getClient({ chainId });
95
+ const action = getAction(client, waitForTransactionReceipt$1, "waitForTransactionReceipt");
96
+ const receipt = await action({ ...rest, timeout });
97
+ if (receipt.status === "reverted") {
98
+ const action_getTransaction = getAction(client, getTransaction, "getTransaction");
99
+ const txn = await action_getTransaction({ hash: receipt.transactionHash });
100
+ const action_call = getAction(client, call, "call");
101
+ const code = await action_call({
102
+ ...txn,
103
+ data: txn.input,
104
+ gasPrice: txn.type !== "eip1559" ? txn.gasPrice : void 0,
105
+ maxFeePerGas: txn.type === "eip1559" ? txn.maxFeePerGas : void 0,
106
+ maxPriorityFeePerGas: txn.type === "eip1559" ? txn.maxPriorityFeePerGas : void 0
107
+ });
108
+ const reason = (code == null ? void 0 : code.data) ? hexToString(`0x${code.data.substring(138)}`) : "unknown reason";
109
+ throw new Error(reason);
110
+ }
111
+ return {
112
+ ...receipt,
113
+ chainId: client.chain.id
114
+ };
115
+ }
116
+ const BridgeForm = ({
117
+ mvxChainId,
118
+ mvxAddress,
119
+ username,
120
+ nativeAuthToken,
121
+ callbackRoute = "/",
122
+ refetchTrigger,
123
+ showHistory,
124
+ onSuccessfullySentTransaction,
125
+ onFailedSentTransaction,
126
+ onHistoryClose,
127
+ onMvxConnect,
128
+ onMvxDisconnect
129
+ }) => {
130
+ var _a, _b, _c, _d, _e, _f;
131
+ const [isTokenSelectorVisible, setIsTokenSelectorVisible] = useState(false);
132
+ const [pendingSigning, setPendingSigning] = useState(false);
133
+ const [siginingTransactionsCount, setSigningTransactionsCount] = useState(0);
134
+ const navigate = useNavigate();
135
+ const account = useAccount();
136
+ const { chains: sdkChains } = useSwitchChain();
137
+ const { config, options } = useWeb3App();
138
+ const chainId = useGetChainId();
139
+ const {
140
+ evmTokensWithBalances,
141
+ mvxTokensWithBalances,
142
+ isTokensLoading: tokensLoading,
143
+ isLoadingEvmTokensBalances,
144
+ isLoadingMvxTokensBalances,
145
+ chains = [],
146
+ isChainsLoading
147
+ } = useFetchBridgeData({
148
+ refetchTrigger,
149
+ mvxAddress,
150
+ mvxApiURL: options.mvxApiURL
151
+ });
152
+ const isTokensLoading = tokensLoading || isLoadingEvmTokensBalances || isLoadingMvxTokensBalances || isChainsLoading;
153
+ const activeChain = useMemo(() => {
154
+ return sdkChains.find(
155
+ (chain) => chain.id.toString() === (chainId == null ? void 0 : chainId.toString())
156
+ );
157
+ }, [chainId, sdkChains]);
158
+ const mvxChain = useMemo(() => {
159
+ return chains.find(
160
+ (chain) => chain.chainId.toString() === mvxChainId.toString()
161
+ );
162
+ }, [chainId, chains]);
163
+ const { signTransaction } = useSignTransaction();
164
+ const sendTransactions = useSendTransactions();
165
+ const {
166
+ mutate: getRate,
167
+ data: rate,
168
+ isPending: isPendingRate,
169
+ error: rateError
170
+ } = useGetRateMutation();
171
+ const rateValidationError = ((_a = rateError == null ? void 0 : rateError.response) == null ? void 0 : _a.status) === 400 ? (_b = rateError == null ? void 0 : rateError.response) == null ? void 0 : _b.data.message : void 0;
172
+ const ref = useRef(null);
173
+ const [firstToken, setFirstToken] = useState();
174
+ const [firstAmount, setFirstAmount] = useState("");
175
+ const [secondToken, setSecondToken] = useState();
176
+ const [secondAmount, setSecondAmount] = useState("");
177
+ const bridgeAddress = account.address;
178
+ const isAuthenticated = account.isConnected && Boolean(bridgeAddress);
179
+ const fromOptions = useMemo(
180
+ () => (evmTokensWithBalances && evmTokensWithBalances.map((token) => {
181
+ return {
182
+ ...token,
183
+ identifier: token.address,
184
+ ticker: token.symbol
185
+ };
186
+ })) ?? [],
187
+ [evmTokensWithBalances]
188
+ );
189
+ const toOptions = useMemo(
190
+ () => (mvxTokensWithBalances && mvxTokensWithBalances.map((token) => {
191
+ return {
192
+ ...token,
193
+ identifier: token.address,
194
+ ticker: token.symbol
195
+ };
196
+ })) ?? [],
197
+ [mvxTokensWithBalances]
198
+ );
199
+ const selectedChainOption = useMemo(
200
+ () => (chains == null ? void 0 : chains.find(
201
+ (option) => option.chainId.toString() === (activeChain == null ? void 0 : activeChain.id.toString())
202
+ )) ?? (chains == null ? void 0 : chains[0]),
203
+ [activeChain == null ? void 0 : activeChain.id, chains]
204
+ );
205
+ const hasAmounts = firstAmount !== "" && secondAmount !== "";
206
+ const fetchRateDebounced = useCallback(
207
+ debounce(async (amount) => {
208
+ if (!amount || !account.address || !(firstToken == null ? void 0 : firstToken.address) || !(secondToken == null ? void 0 : secondToken.address) || !selectedChainOption || !chainId) {
209
+ return;
210
+ }
211
+ getRate({
212
+ nativeAuthToken: nativeAuthToken ?? "",
213
+ body: {
214
+ tokenIn: firstToken.address,
215
+ amountIn: amount,
216
+ fromChainId: chainId.toString(),
217
+ tokenOut: secondToken.address,
218
+ toChainId: mvxChainId
219
+ }
220
+ });
221
+ }, 500),
222
+ [
223
+ account.address,
224
+ firstToken == null ? void 0 : firstToken.address,
225
+ secondToken == null ? void 0 : secondToken.address,
226
+ selectedChainOption
227
+ ]
228
+ );
229
+ const handleOnChangeFirstAmount = useCallback((amount) => {
230
+ setFirstAmount(() => amount);
231
+ setLastChangedField(BridgeFormikValuesEnum.firstAmount);
232
+ }, []);
233
+ const handleOnChangeSecondAmount = useCallback((amount) => {
234
+ setSecondAmount(() => amount);
235
+ setLastChangedField(BridgeFormikValuesEnum.secondAmount);
236
+ }, []);
237
+ const handleHistoryClose = useCallback(() => {
238
+ onHistoryClose == null ? void 0 : onHistoryClose();
239
+ }, [onHistoryClose]);
240
+ const handleOnFirstMaxBtnChange = useCallback(() => {
241
+ const formattedBalance = formatAmount({
242
+ decimals: firstToken == null ? void 0 : firstToken.decimals,
243
+ input: (firstToken == null ? void 0 : firstToken.balance) ?? "0",
244
+ addCommas: false,
245
+ digits: 4
246
+ });
247
+ formik.setFieldValue("firstAmount", formattedBalance);
248
+ handleOnChangeFirstAmount(formattedBalance);
249
+ }, [firstToken == null ? void 0 : firstToken.balance, firstToken == null ? void 0 : firstToken.decimals, handleOnChangeFirstAmount]);
250
+ const onSuccess = useCallback(
251
+ async (txHashes) => {
252
+ handleOnChangeFirstAmount("");
253
+ handleOnChangeSecondAmount("");
254
+ invalidateHistoryQuery();
255
+ invalidateHistoryQuery();
256
+ onSuccessfullySentTransaction == null ? void 0 : onSuccessfullySentTransaction(txHashes);
257
+ },
258
+ [
259
+ handleOnChangeFirstAmount,
260
+ handleOnChangeSecondAmount,
261
+ onSuccessfullySentTransaction
262
+ ]
263
+ );
264
+ const updateUrlParams = useCallback(
265
+ ({ firstTokenId, secondTokenId }) => {
266
+ if (isTokensLoading || !bridgeAddress) {
267
+ return;
268
+ }
269
+ const currentUrl = getCompletePathname();
270
+ const searchParams = new URLSearchParams(window.location.search);
271
+ if (firstTokenId) {
272
+ searchParams.set("firstToken", firstTokenId);
273
+ }
274
+ if (secondTokenId) {
275
+ searchParams.set("secondToken", secondTokenId);
276
+ }
277
+ const newUrl = `${callbackRoute}?${searchParams.toString()}`;
278
+ if (currentUrl === newUrl) {
279
+ return;
280
+ }
281
+ navigate(newUrl, { replace: true });
282
+ },
283
+ [bridgeAddress, callbackRoute, isTokensLoading, navigate]
284
+ );
285
+ const onChangeFirstSelect = useCallback(
286
+ (option) => {
287
+ if (!option) {
288
+ return;
289
+ }
290
+ setFirstToken(() => option);
291
+ updateUrlParams({ firstTokenId: option == null ? void 0 : option.address });
292
+ const secondOption = toOptions.find((x) => x.name === (option == null ? void 0 : option.name));
293
+ if (!secondOption) {
294
+ return;
295
+ }
296
+ setSecondToken(() => secondOption);
297
+ updateUrlParams({ secondTokenId: secondOption == null ? void 0 : secondOption.address });
298
+ },
299
+ [toOptions, updateUrlParams]
300
+ );
301
+ const onChangeSecondSelect = useCallback(
302
+ (option) => {
303
+ if (!option) {
304
+ return;
305
+ }
306
+ setSecondToken(() => option);
307
+ updateUrlParams({ secondTokenId: option == null ? void 0 : option.address });
308
+ const firstOption = fromOptions.find((x) => x.name === (option == null ? void 0 : option.name));
309
+ if (!firstOption) {
310
+ return;
311
+ }
312
+ setFirstToken(() => firstOption);
313
+ updateUrlParams({ firstTokenId: firstOption == null ? void 0 : firstOption.address });
314
+ },
315
+ [fromOptions, updateUrlParams]
316
+ );
317
+ const setInitialSelectedTokens = () => {
318
+ var _a2, _b2, _c2, _d2;
319
+ if (isTokensLoading) {
320
+ return;
321
+ }
322
+ const initialTokens = getInitialTokens();
323
+ const firstOption = (fromOptions == null ? void 0 : fromOptions.find(
324
+ ({ identifier }) => [initialTokens == null ? void 0 : initialTokens.firstTokenId].includes(identifier)
325
+ )) ?? fromOptions.find(
326
+ (option) => {
327
+ var _a3;
328
+ return option.chainId.toString() === ((_a3 = activeChain == null ? void 0 : activeChain.id) == null ? void 0 : _a3.toString());
329
+ }
330
+ );
331
+ const secondOption = (toOptions == null ? void 0 : toOptions.find(
332
+ ({ address }) => address === ((firstOption == null ? void 0 : firstOption.name) ?? (initialTokens == null ? void 0 : initialTokens.secondTokenId))
333
+ )) ?? toOptions.find((x) => x.name === (firstOption == null ? void 0 : firstOption.name));
334
+ const hasOptionsSelected = Boolean(firstToken) && Boolean(secondToken) && ((_a2 = firstToken == null ? void 0 : firstToken.address) == null ? void 0 : _a2.toLowerCase()) === ((_b2 = firstOption == null ? void 0 : firstOption.address) == null ? void 0 : _b2.toLowerCase()) && ((_c2 = secondToken == null ? void 0 : secondToken.address) == null ? void 0 : _c2.toLowerCase()) === ((_d2 = secondOption == null ? void 0 : secondOption.address) == null ? void 0 : _d2.toLowerCase());
335
+ if (hasOptionsSelected) {
336
+ return;
337
+ }
338
+ if (!firstOption || !secondOption) {
339
+ return;
340
+ }
341
+ setFirstToken(firstOption);
342
+ setSecondToken(secondOption);
343
+ updateUrlParams({
344
+ firstTokenId: firstOption == null ? void 0 : firstOption.address,
345
+ secondTokenId: secondOption == null ? void 0 : secondOption.address
346
+ });
347
+ };
348
+ const onSubmit = useCallback(
349
+ async (transactions) => {
350
+ const signedTransactions = [];
351
+ setPendingSigning(true);
352
+ setSigningTransactionsCount(() => transactions.length);
353
+ try {
354
+ let txIndex = -1;
355
+ for (const transaction of transactions) {
356
+ ++txIndex;
357
+ try {
358
+ const txHash = await signTransaction({
359
+ ...transaction,
360
+ value: BigInt(transaction.value),
361
+ gas: BigInt(transaction.gasLimit),
362
+ account: bridgeAddress
363
+ });
364
+ signedTransactions.push({
365
+ ...transaction,
366
+ txHash
367
+ });
368
+ setSigningTransactionsCount(
369
+ () => transactions.length - 1 - txIndex
370
+ );
371
+ if (txIndex === transactions.length - 1) {
372
+ continue;
373
+ }
374
+ const transactionReceipt = await waitForTransactionReceipt(config, {
375
+ confirmations: 1,
376
+ hash: txHash
377
+ });
378
+ console.log({
379
+ transactionReceipt,
380
+ hash: txHash
381
+ });
382
+ } catch (e) {
383
+ toast.dismiss();
384
+ toast.error("Transaction aborted");
385
+ onFailedSentTransaction == null ? void 0 : onFailedSentTransaction("Transaction aborted");
386
+ setPendingSigning(false);
387
+ return;
388
+ }
389
+ }
390
+ await sendTransactions({
391
+ transactions: signedTransactions,
392
+ url: getApiURL() ?? "",
393
+ token: nativeAuthToken ?? ""
394
+ });
395
+ const txHashes = signedTransactions.map((tx) => tx.txHash);
396
+ onSuccess(txHashes);
397
+ setPendingSigning(false);
398
+ } catch (e) {
399
+ console.error(e);
400
+ toast.dismiss();
401
+ toast.error("Transaction cancelled");
402
+ onFailedSentTransaction == null ? void 0 : onFailedSentTransaction("Transaction cancelled");
403
+ setPendingSigning(false);
404
+ setSigningTransactionsCount(0);
405
+ resetSwapForm();
406
+ handleOnChangeFirstAmount("");
407
+ handleOnChangeSecondAmount("");
408
+ }
409
+ },
410
+ [
411
+ bridgeAddress,
412
+ handleOnChangeFirstAmount,
413
+ handleOnChangeSecondAmount,
414
+ nativeAuthToken,
415
+ onSuccess,
416
+ sendTransactions,
417
+ signTransaction
418
+ ]
419
+ );
420
+ const {
421
+ formik,
422
+ firstAmountError,
423
+ secondAmountError,
424
+ fromChainError,
425
+ handleBlur,
426
+ handleChange,
427
+ handleSubmit,
428
+ resetSwapForm,
429
+ setLastChangedField
430
+ } = useBridgeFormik({
431
+ fee: rate == null ? void 0 : rate.fee,
432
+ nativeAuthToken,
433
+ mvxAccountAddress: mvxAddress,
434
+ firstToken,
435
+ firstAmount,
436
+ fromChainId: chainId == null ? void 0 : chainId.toString(),
437
+ toChainId: mvxChainId,
438
+ secondToken,
439
+ secondAmount,
440
+ onSubmit
441
+ });
442
+ const hasError = Boolean(
443
+ firstAmountError || secondAmountError || fromChainError || rateValidationError
444
+ );
445
+ useEffect(() => {
446
+ if (!firstAmount) {
447
+ setSecondAmount("");
448
+ }
449
+ fetchRateDebounced(firstAmount);
450
+ }, [firstAmount, fetchRateDebounced]);
451
+ useEffect(() => {
452
+ return setSecondAmount((rate == null ? void 0 : rate.amountOut) ?? "");
453
+ }, [rate]);
454
+ useEffect(setInitialSelectedTokens, [isTokensLoading, chainId]);
455
+ useEffect(() => {
456
+ const selectedTokenOption = evmTokensWithBalances == null ? void 0 : evmTokensWithBalances.find(
457
+ (x) => x.address === (firstToken == null ? void 0 : firstToken.address)
458
+ );
459
+ if (!selectedTokenOption) {
460
+ return;
461
+ }
462
+ setFirstToken((prevState) => {
463
+ if (!prevState) {
464
+ return prevState;
465
+ }
466
+ return {
467
+ ...prevState,
468
+ balance: selectedTokenOption == null ? void 0 : selectedTokenOption.balance
469
+ };
470
+ });
471
+ }, [evmTokensWithBalances, firstToken == null ? void 0 : firstToken.address]);
472
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
473
+ "form",
474
+ {
475
+ ref,
476
+ noValidate: true,
477
+ className: "liq-flex liq-flex-col liq-gap-1 liq-relative",
478
+ autoComplete: "off",
479
+ onSubmit: handleSubmit,
480
+ children: [
481
+ showHistory && /* @__PURE__ */ jsx(BridgeHistory, { mvxAddress, onClose: handleHistoryClose }),
482
+ /* @__PURE__ */ jsxs(
483
+ AmountCard,
484
+ {
485
+ className: mxClsx(
486
+ "liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",
487
+ {
488
+ "liq-pointer-events-none": isTokenSelectorVisible,
489
+ "focus-within:liq-outline-neutral-700/75 hover:liq-outline-neutral-700/55 hover:focus-within:liq-outline-neutral-700/80": !isTokenSelectorVisible
490
+ }
491
+ ),
492
+ children: [
493
+ /* @__PURE__ */ jsxs("div", { className: "liq-flex liq-items-center liq-gap-1", children: [
494
+ /* @__PURE__ */ jsx("span", { children: "From" }),
495
+ /* @__PURE__ */ jsx(
496
+ BridgeAccountDisplay,
497
+ {
498
+ disabled: isPendingRate,
499
+ activeChain: selectedChainOption
500
+ }
501
+ )
502
+ ] }),
503
+ /* @__PURE__ */ jsxs("div", { className: "liq-flex liq-justify-between liq-gap-1", children: [
504
+ /* @__PURE__ */ jsx(
505
+ AmountInput,
506
+ {
507
+ inputName: "firstAmount",
508
+ inputValue: formik.values.firstAmount ?? "",
509
+ amountError: firstAmount !== "" ? rateValidationError ?? firstAmountError : void 0,
510
+ disabled: false,
511
+ onInputDebounceChange: handleOnChangeFirstAmount,
512
+ onInputChange: handleChange,
513
+ onBlur: handleBlur
514
+ }
515
+ ),
516
+ /* @__PURE__ */ jsx(
517
+ TokenSelector,
518
+ {
519
+ name: "firstToken",
520
+ disabled: isPendingRate,
521
+ options: fromOptions,
522
+ areOptionsLoading: isTokensLoading,
523
+ color: "neutral-850",
524
+ onChange: onChangeFirstSelect,
525
+ onBlur: handleBlur,
526
+ onMaxBtnClick: handleOnFirstMaxBtnChange,
527
+ selectedOption: firstToken,
528
+ onTokenSelectorDisplay: (visible) => setIsTokenSelectorVisible(visible)
529
+ }
530
+ )
531
+ ] })
532
+ ]
533
+ }
534
+ ),
535
+ /* @__PURE__ */ jsxs(
536
+ AmountCard,
537
+ {
538
+ className: mxClsx(
539
+ "liq-pb-8 liq-pt-6 hover:liq-bg-neutral-700/50 sm:liq-pb-6",
540
+ {
541
+ "liq-pointer-events-none": isTokenSelectorVisible
542
+ }
543
+ ),
544
+ children: [
545
+ /* @__PURE__ */ jsxs("div", { className: "liq-flex liq-items-center liq-gap-1", children: [
546
+ /* @__PURE__ */ jsx("span", { children: "To" }),
547
+ /* @__PURE__ */ jsx(
548
+ MvxAccountDisplay,
549
+ {
550
+ accountAddress: mvxAddress,
551
+ chainIcon: (mvxChain == null ? void 0 : mvxChain.svgUrl) ?? "",
552
+ username,
553
+ accountExplorerUrl: `${options.mvxExplorerAddress}/accounts/${mvxAddress}`,
554
+ showTag: true,
555
+ onDisconnect: onMvxDisconnect,
556
+ onConnect: onMvxConnect
557
+ }
558
+ )
559
+ ] }),
560
+ /* @__PURE__ */ jsxs("div", { className: "liq-flex liq-justify-between liq-gap-1", children: [
561
+ /* @__PURE__ */ jsx(
562
+ AmountInput,
563
+ {
564
+ inputName: "secondAmount",
565
+ inputValue: formik.values.secondAmount ?? "",
566
+ amountError: secondAmount !== "" ? fromChainError ?? secondAmountError : void 0,
567
+ disabled: false,
568
+ onInputDebounceChange: handleOnChangeSecondAmount,
569
+ onInputChange: handleChange,
570
+ onBlur: handleBlur
571
+ }
572
+ ),
573
+ /* @__PURE__ */ jsx(
574
+ TokenSelector,
575
+ {
576
+ name: "secondToken",
577
+ disabled: true,
578
+ omitDisableClass: true,
579
+ options: toOptions,
580
+ areOptionsLoading: isTokensLoading,
581
+ color: "neutral-850",
582
+ onChange: onChangeSecondSelect,
583
+ onBlur: handleBlur,
584
+ selectedOption: secondToken
585
+ }
586
+ )
587
+ ] })
588
+ ]
589
+ }
590
+ ),
591
+ /* @__PURE__ */ jsxs("div", { className: "liq-flex liq-items-center liq-justify-center", children: [
592
+ !mvxAddress && /* @__PURE__ */ jsx(
593
+ MvxConnectButton,
594
+ {
595
+ mvxAccountAddress: mvxAddress,
596
+ chain: mvxChain,
597
+ onClick: onMvxConnect
598
+ }
599
+ ),
600
+ mvxAddress && !isAuthenticated && /* @__PURE__ */ jsx(
601
+ BridgeConnectButton,
602
+ {
603
+ className: "liq-w-full liq-rounded-xl liq-bg-neutral-850/50 liq-px-8 liq-py-3 liq-font-semibold liq-text-primary-200 liq-transition-colors liq-duration-200 hover:enabled:liq-bg-primary-700/80 disabled:liq-opacity-50",
604
+ disabled: isPendingRate,
605
+ activeChain: selectedChainOption
606
+ }
607
+ ),
608
+ mvxAddress && isAuthenticated && /* @__PURE__ */ jsxs(
609
+ MxButton,
610
+ {
611
+ type: "submit",
612
+ variant: "neutral-850",
613
+ className: "liq-w-full disabled:liq-bg-neutral-850/50 liq-py-3 hover:enabled:liq-bg-primary !liq-text-primary-200",
614
+ disabled: !hasAmounts || isPendingRate || !mvxAddress || !account.address || hasError || pendingSigning,
615
+ children: [
616
+ hasAmounts && !pendingSigning && /* @__PURE__ */ jsxs("div", { className: "liq-flex liq-justify-center liq-gap-2", children: [
617
+ /* @__PURE__ */ jsx("div", { children: "Deposit on " }),
618
+ /* @__PURE__ */ jsx(
619
+ "img",
620
+ {
621
+ src: (mvxChain == null ? void 0 : mvxChain.svgUrl) ?? "",
622
+ alt: "",
623
+ className: "liq-h-[1.5rem] liq-w-[1.5rem]"
624
+ }
625
+ ),
626
+ /* @__PURE__ */ jsx("div", { children: "MultiversX" })
627
+ ] }),
628
+ !hasAmounts && !pendingSigning && /* @__PURE__ */ jsx("span", { className: "liq-text-neutral-100", children: "Enter amount" }),
629
+ pendingSigning && /* @__PURE__ */ jsxs("div", { className: "liq-flex liq-justify-center liq-items-center liq-gap-2", children: [
630
+ /* @__PURE__ */ jsx(
631
+ FontAwesomeIcon,
632
+ {
633
+ icon: faSpinner,
634
+ spin: true,
635
+ className: "liq-mx-1 liq-flex liq-items-center"
636
+ }
637
+ ),
638
+ /* @__PURE__ */ jsx("div", { children: "Depositing on" }),
639
+ /* @__PURE__ */ jsx(
640
+ "img",
641
+ {
642
+ src: (mvxChain == null ? void 0 : mvxChain.svgUrl) ?? "",
643
+ alt: "",
644
+ className: "liq-h-[1.5rem] liq-w-[1.5rem]"
645
+ }
646
+ ),
647
+ /* @__PURE__ */ jsx("div", { children: "MultiversX" })
648
+ ] })
649
+ ]
650
+ }
651
+ )
652
+ ] }),
653
+ account.address && siginingTransactionsCount > 0 && /* @__PURE__ */ jsxs("div", { className: "liq-flex liq-items-center liq-justify-center liq-text-neutral-300 liq-text-sm", children: [
654
+ /* @__PURE__ */ jsxs("div", { children: [
655
+ "You will be asked to sign ",
656
+ siginingTransactionsCount,
657
+ " ",
658
+ siginingTransactionsCount > 1 ? "transactions" : "transaction",
659
+ " ",
660
+ "on",
661
+ " "
662
+ ] }),
663
+ /* @__PURE__ */ jsx(
664
+ "img",
665
+ {
666
+ src: (_d = (_c = getConnections(config)[0]) == null ? void 0 : _c.connector) == null ? void 0 : _d.icon,
667
+ alt: "",
668
+ className: "liq-mx-1 liq-h-[1rem] liq-w-[1rem]"
669
+ }
670
+ ),
671
+ /* @__PURE__ */ jsx("div", { children: (_f = (_e = getConnections(config)[0]) == null ? void 0 : _e.connector) == null ? void 0 : _f.name })
672
+ ] })
673
+ ]
674
+ }
675
+ ) });
676
+ };
677
+ export {
678
+ BridgeForm
679
+ };
@@ -0,0 +1 @@
1
+ export * from './BridgeForm';
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const reactjs_components_BridgeForm_BridgeForm = require("./BridgeForm.js");
5
+ exports.BridgeForm = reactjs_components_BridgeForm_BridgeForm.BridgeForm;
@@ -0,0 +1,4 @@
1
+ import { BridgeForm } from "./BridgeForm.mjs";
2
+ export {
3
+ BridgeForm
4
+ };