@layerswap/widget 0.1.4 → 0.1.14

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 (267) hide show
  1. package/README.md +78 -3
  2. package/dist/Models/Theme.d.ts +7 -6
  3. package/dist/Models/Theme.js +7 -7
  4. package/dist/Models/WalletProvider.d.ts +0 -4
  5. package/dist/Models/WalletProvider.js +2 -0
  6. package/dist/components/Buttons/copyButton.js +4 -3
  7. package/dist/components/ColorSchema.js +79 -45
  8. package/dist/components/Common/AddressIcon.js +1 -0
  9. package/dist/components/Common/AverageCompletionTime.js +1 -1
  10. package/dist/components/Common/CountDownTimer.js +2 -2
  11. package/dist/components/Common/FormattedAverageCompletionTime.js +1 -1
  12. package/dist/components/HeaderWithMenu/index.js +1 -8
  13. package/dist/components/Input/Address/AddressNote.js +3 -2
  14. package/dist/components/Input/Address/AddressPicker/AddressWithIcon.js +2 -2
  15. package/dist/components/Input/Address/AddressPicker/ConnectedWallets/ConnectWalletButton.js +12 -5
  16. package/dist/components/Input/Address/AddressPicker/ExchangeNote.d.ts +1 -1
  17. package/dist/components/Input/Address/AddressPicker/ExchangeNote.js +1 -1
  18. package/dist/components/Input/RouteIcon.js +1 -1
  19. package/dist/components/LayerswapMenu/MenuList.js +2 -56
  20. package/dist/components/Pages/404/index.js +1 -0
  21. package/dist/components/Pages/Auth/Steps/CodeStep/VerifyEmailCode.js +1 -0
  22. package/dist/components/Pages/Auth/index.d.ts +1 -1
  23. package/dist/components/Pages/Auth/index.js +3 -2
  24. package/dist/components/Pages/Campaigns/Details/Leaderboard.js +1 -0
  25. package/dist/components/Pages/Campaigns/Details/index.d.ts +1 -1
  26. package/dist/components/Pages/Campaigns/Details/index.js +3 -2
  27. package/dist/components/Pages/Campaigns/index.d.ts +1 -1
  28. package/dist/components/Pages/Campaigns/index.js +3 -2
  29. package/dist/components/Pages/Maintanance/index.js +1 -0
  30. package/dist/components/Pages/NoCookies/index.js +1 -0
  31. package/dist/components/Pages/SwapHistory/History.js +1 -2
  32. package/dist/components/Pages/SwapHistory/index.d.ts +1 -1
  33. package/dist/components/Pages/SwapHistory/index.js +4 -3
  34. package/dist/components/Pages/SwapPages/Form/FeeDetails/Campaign.js +1 -0
  35. package/dist/components/Pages/SwapPages/Form/Form.js +1 -4
  36. package/dist/components/Pages/SwapPages/Form/SecondaryComponents/ValidationError.js +1 -1
  37. package/dist/components/Pages/SwapPages/Form/Select/Popover/PopoverSelect.js +1 -1
  38. package/dist/components/Pages/SwapPages/Form/index.js +1 -0
  39. package/dist/components/Pages/SwapPages/Withdraw/Coinbase/Carousel.js +8 -6
  40. package/dist/components/Pages/SwapPages/Withdraw/Processing/Processing.js +2 -2
  41. package/dist/components/Pages/SwapPages/Withdraw/Wallet/FuelWalletWithdrawal.d.ts +0 -4
  42. package/dist/components/Pages/SwapPages/Withdraw/Wallet/FuelWalletWithdrawal.js +159 -125
  43. package/dist/components/Pages/SwapPages/Withdraw/Wallet/ImtblxWalletWithdrawStep.d.ts +0 -4
  44. package/dist/components/Pages/SwapPages/Withdraw/Wallet/ImtblxWalletWithdrawStep.js +69 -51
  45. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/ActivationTokentPicker.d.ts +0 -8
  46. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/ActivationTokentPicker.js +87 -45
  47. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/hooks.d.ts +0 -40
  48. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/hooks.js +73 -46
  49. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/index.d.ts +0 -4
  50. package/dist/components/Pages/SwapPages/Withdraw/Wallet/Loopring/index.js +175 -128
  51. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SVMWalletWithdraw/index.d.ts +0 -7
  52. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SVMWalletWithdraw/index.js +138 -116
  53. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SVMWalletWithdraw/transactionSender.d.ts +0 -8
  54. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SVMWalletWithdraw/transactionSender.js +96 -75
  55. package/dist/components/Pages/SwapPages/Withdraw/Wallet/SophonWalletWithdraw.js +2 -2
  56. package/dist/components/Pages/SwapPages/Withdraw/Wallet/StarknetWalletWithdraw.d.ts +0 -4
  57. package/dist/components/Pages/SwapPages/Withdraw/Wallet/StarknetWalletWithdraw.js +88 -71
  58. package/dist/components/Pages/SwapPages/Withdraw/Wallet/TonWalletWithdraw.d.ts +0 -4
  59. package/dist/components/Pages/SwapPages/Withdraw/Wallet/TonWalletWithdraw.js +146 -136
  60. package/dist/components/Pages/SwapPages/Withdraw/Wallet/TronWalletWithdraw.d.ts +0 -4
  61. package/dist/components/Pages/SwapPages/Withdraw/Wallet/TronWalletWithdraw.js +120 -99
  62. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransfer/TransferToken.js +3 -3
  63. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransfer/buttons.js +1 -0
  64. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransfer/index.js +1 -1
  65. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransfer/transactionMessage.js +2 -2
  66. package/dist/components/Pages/SwapPages/Withdraw/Wallet/WalletTransferContent.js +101 -33
  67. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/Evm.d.ts +0 -4
  68. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/Evm.js +60 -55
  69. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/Starknet.d.ts +0 -4
  70. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/Starknet.js +71 -55
  71. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/buttons.js +1 -0
  72. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/index.d.ts +0 -4
  73. package/dist/components/Pages/SwapPages/Withdraw/Wallet/paradex/index.js +56 -52
  74. package/dist/components/Pages/SwapPages/Withdraw/index.d.ts +1 -1
  75. package/dist/components/Pages/SwapPages/Withdraw/index.js +3 -2
  76. package/dist/components/Wallet/WalletModal/Connector.js +1 -1
  77. package/dist/components/Wallet/WalletProviders/FuelProvider.d.ts +0 -5
  78. package/dist/components/Wallet/WalletProviders/FuelProvider.js +25 -20
  79. package/dist/components/Wallet/WalletProviders/ImtblPassportProvider.d.ts +0 -5
  80. package/dist/components/Wallet/WalletProviders/ImtblPassportProvider.js +39 -36
  81. package/dist/components/Wallet/WalletProviders/SolanaProvider.d.ts +0 -5
  82. package/dist/components/Wallet/WalletProviders/SolanaProvider.js +49 -38
  83. package/dist/components/Wallet/WalletProviders/StarknetProvider.d.ts +0 -5
  84. package/dist/components/Wallet/WalletProviders/StarknetProvider.js +112 -117
  85. package/dist/components/Wallet/WalletProviders/TonConnectProvider.d.ts +0 -6
  86. package/dist/components/Wallet/WalletProviders/TonConnectProvider.js +58 -50
  87. package/dist/components/Wallet/WalletProviders/TronProvider.d.ts +0 -3
  88. package/dist/components/Wallet/WalletProviders/TronProvider.js +23 -15
  89. package/dist/components/Wallet/WalletProviders/Wagmi.d.ts +1 -1
  90. package/dist/components/Wallet/WalletProviders/Wagmi.js +20 -10
  91. package/dist/components/Wallet/WalletProviders/index.js +13 -6
  92. package/dist/components/Widget/Footer.d.ts +2 -1
  93. package/dist/components/Widget/Footer.js +13 -4
  94. package/dist/components/Widget/Index.d.ts +1 -1
  95. package/dist/components/Widget/Index.js +1 -1
  96. package/dist/components/WidgetLoading.d.ts +1 -0
  97. package/dist/components/WidgetLoading.js +5 -0
  98. package/dist/components/Wizard/Wizard.js +1 -1
  99. package/dist/components/shadcn/command.js +1 -1
  100. package/dist/components/themeWrapper.js +3 -2
  101. package/dist/context/{LayerswapContext.d.ts → LayerswapProvider.d.ts} +3 -8
  102. package/dist/context/{LayerswapContext.js → LayerswapProvider.js} +8 -9
  103. package/dist/context/authContext.js +1 -0
  104. package/dist/context/walletHooksProvider.js +1 -0
  105. package/dist/hooks/useWallet.js +10 -14
  106. package/dist/index.css +1 -1
  107. package/dist/index.d.ts +3 -5
  108. package/dist/index.js +2 -4
  109. package/dist/index.mjs +19 -0
  110. package/dist/lib/AppSettings.d.ts +7 -3
  111. package/dist/lib/AppSettings.js +8 -7
  112. package/dist/lib/address/formatter/index.js +8 -9
  113. package/dist/lib/address/validator/index.js +18 -20
  114. package/dist/lib/axiosInterceptor.js +1 -2
  115. package/dist/lib/balances/balanceResolver.js +16 -16
  116. package/dist/lib/balances/providers/evmBalanceProvider.js +3 -3
  117. package/dist/lib/balances/providers/loopringBalanceProvider.d.ts +0 -6
  118. package/dist/lib/balances/providers/loopringBalanceProvider.js +56 -43
  119. package/dist/lib/balances/providers/paradexBalanceProvider.d.ts +0 -6
  120. package/dist/lib/balances/providers/paradexBalanceProvider.js +42 -42
  121. package/dist/lib/balances/providers/solanaBalanceProvider.d.ts +0 -6
  122. package/dist/lib/balances/providers/solanaBalanceProvider.js +70 -71
  123. package/dist/lib/balances/providers/starknetBalanceProvider.d.ts +0 -6
  124. package/dist/lib/balances/providers/starknetBalanceProvider.js +48 -45
  125. package/dist/lib/balances/providers/tonBalanceProvider.d.ts +0 -18
  126. package/dist/lib/balances/providers/tonBalanceProvider.js +104 -100
  127. package/dist/lib/balances/providers/tronBalanceResolver.js +2 -3
  128. package/dist/lib/fuels/common/FakeAccount.d.ts +0 -24
  129. package/dist/lib/fuels/common/FakeAccount.js +58 -36
  130. package/dist/lib/fuels/common/PredicateConnector.d.ts +0 -54
  131. package/dist/lib/fuels/common/PredicateConnector.js +292 -205
  132. package/dist/lib/fuels/common/PredicateFactory.d.ts +0 -29
  133. package/dist/lib/fuels/common/PredicateFactory.js +123 -76
  134. package/dist/lib/fuels/common/PredicateWalletAdapter.d.ts +0 -17
  135. package/dist/lib/fuels/common/PredicateWalletAdapter.js +44 -29
  136. package/dist/lib/fuels/common/index.d.ts +0 -4
  137. package/dist/lib/fuels/common/index.js +4 -4
  138. package/dist/lib/fuels/connectors/fuel-wallet/FuelWalletConnector.d.ts +0 -51
  139. package/dist/lib/fuels/connectors/fuel-wallet/FuelWalletConnector.js +268 -234
  140. package/dist/lib/fuels/connectors/fuel-wallet/index.d.ts +0 -2
  141. package/dist/lib/fuels/connectors/fuel-wallet/index.js +2 -2
  142. package/dist/lib/fuels/connectors/fuel-wallet/types.d.ts +0 -50
  143. package/dist/lib/fuels/connectors/fuel-wallet/types.js +53 -9
  144. package/dist/lib/fuels/connectors/fuelet-wallet/FueletWalletConnector.d.ts +0 -7
  145. package/dist/lib/fuels/connectors/fuelet-wallet/FueletWalletConnector.js +20 -19
  146. package/dist/lib/fuels/connectors/fuelet-wallet/index.d.ts +0 -1
  147. package/dist/lib/fuels/connectors/fuelet-wallet/index.js +1 -1
  148. package/dist/lib/gases/gasResolver.d.ts +1 -1
  149. package/dist/lib/gases/gasResolver.js +10 -10
  150. package/dist/lib/gases/providers/evmGasProvider.js +5 -4
  151. package/dist/lib/gases/providers/loopringGasProvider.d.ts +0 -6
  152. package/dist/lib/gases/providers/loopringGasProvider.js +27 -24
  153. package/dist/lib/gases/providers/solanaGasProvider.d.ts +0 -7
  154. package/dist/lib/gases/providers/solanaGasProvider.js +32 -31
  155. package/dist/lib/gases/providers/starknetGasProvider.d.ts +0 -7
  156. package/dist/lib/gases/providers/starknetGasProvider.js +34 -33
  157. package/dist/lib/imtbl.d.ts +0 -69
  158. package/dist/lib/imtbl.js +63 -60
  159. package/dist/lib/internalApiClient.d.ts +0 -2
  160. package/dist/lib/internalApiClient.js +1 -4
  161. package/dist/lib/layerSwapApiClient.js +3 -3
  162. package/dist/lib/logError.js +2 -2
  163. package/dist/lib/nft/nftBalanceResolver.js +1 -2
  164. package/dist/lib/nft/providers/starknetNftProvider.d.ts +0 -6
  165. package/dist/lib/nft/providers/starknetNftProvider.js +49 -50
  166. package/dist/lib/wallets/connectors/EthereumProvider.d.ts +2 -2
  167. package/dist/lib/wallets/connectors/useSyncProviders/store.d.ts +1 -4
  168. package/dist/lib/wallets/fuel/Bako.d.ts +0 -15
  169. package/dist/lib/wallets/fuel/Bako.js +34 -29
  170. package/dist/lib/wallets/fuel/Basko.d.ts +0 -15
  171. package/dist/lib/wallets/fuel/Basko.js +34 -29
  172. package/dist/lib/wallets/fuel/useFuel.d.ts +0 -2
  173. package/dist/lib/wallets/fuel/useFuel.js +211 -192
  174. package/dist/lib/wallets/imtblX/useImtblX.d.ts +0 -2
  175. package/dist/lib/wallets/imtblX/useImtblX.js +87 -87
  176. package/dist/lib/wallets/paradex/Authorize/Ethereum.d.ts +0 -2
  177. package/dist/lib/wallets/paradex/Authorize/Ethereum.js +24 -23
  178. package/dist/lib/wallets/paradex/Authorize/Starknet.d.ts +0 -2
  179. package/dist/lib/wallets/paradex/Authorize/Starknet.js +14 -13
  180. package/dist/lib/wallets/paradex/lib/account.d.ts +0 -28
  181. package/dist/lib/wallets/paradex/lib/account.js +102 -53
  182. package/dist/lib/wallets/paradex/lib/index.d.ts +0 -24
  183. package/dist/lib/wallets/paradex/lib/index.js +20 -20
  184. package/dist/lib/wallets/paradex/lib/paraclear-provider.d.ts +0 -6
  185. package/dist/lib/wallets/paradex/lib/paraclear-provider.js +13 -9
  186. package/dist/lib/wallets/paradex/lib/paraclear.d.ts +0 -137
  187. package/dist/lib/wallets/paradex/lib/paraclear.js +258 -131
  188. package/dist/lib/wallets/paradex/lib/starknet-account-support.d.ts +0 -22
  189. package/dist/lib/wallets/paradex/lib/starknet-account-support.js +296 -220
  190. package/dist/lib/wallets/paradex/lib/starknet-signer.d.ts +0 -15
  191. package/dist/lib/wallets/paradex/lib/starknet-signer.js +120 -94
  192. package/dist/lib/wallets/paradex/useParadex.d.ts +0 -7
  193. package/dist/lib/wallets/paradex/useParadex.js +197 -194
  194. package/dist/lib/wallets/solana/transactionBuilder.d.ts +0 -4
  195. package/dist/lib/wallets/solana/transactionBuilder.js +63 -39
  196. package/dist/lib/wallets/solana/useSVM.d.ts +0 -5
  197. package/dist/lib/wallets/solana/useSVM.js +139 -142
  198. package/dist/lib/wallets/starknet/useStarknet.d.ts +0 -2
  199. package/dist/lib/wallets/starknet/useStarknet.js +139 -139
  200. package/dist/lib/wallets/ton/client.d.ts +0 -3
  201. package/dist/lib/wallets/ton/client.js +7 -7
  202. package/dist/lib/wallets/ton/useTON.d.ts +0 -2
  203. package/dist/lib/wallets/ton/useTON.js +121 -122
  204. package/dist/lib/wallets/tron/connectors/bitkeep.d.ts +0 -61
  205. package/dist/lib/wallets/tron/connectors/bitkeep.js +326 -303
  206. package/dist/lib/wallets/tron/connectors/index.d.ts +0 -4
  207. package/dist/lib/wallets/tron/connectors/index.js +4 -4
  208. package/dist/lib/wallets/tron/connectors/okxWallet.d.ts +0 -66
  209. package/dist/lib/wallets/tron/connectors/okxWallet.js +364 -336
  210. package/dist/lib/wallets/tron/connectors/tokenPocket.d.ts +0 -72
  211. package/dist/lib/wallets/tron/connectors/tokenPocket.js +337 -308
  212. package/dist/lib/wallets/tron/connectors/tronLink/index.d.ts +0 -102
  213. package/dist/lib/wallets/tron/connectors/tronLink/index.js +560 -520
  214. package/dist/lib/wallets/tron/connectors/tronLink/types.d.ts +0 -56
  215. package/dist/lib/wallets/tron/connectors/tronLink/types.js +53 -1
  216. package/dist/lib/wallets/tron/connectors/tronLink/utils.d.ts +0 -14
  217. package/dist/lib/wallets/tron/connectors/tronLink/utils.js +64 -61
  218. package/dist/lib/wallets/tron/useTron.d.ts +0 -2
  219. package/dist/lib/wallets/tron/useTron.js +111 -111
  220. package/dist/lib/wallets/utils/resolveWalletIcon.js +1 -0
  221. package/package.json +26 -77
  222. package/dist/hooks/useCopyClipboard.d.ts +0 -1
  223. package/dist/hooks/useCopyClipboard.js +0 -21
  224. package/dist/index.cjs +0 -125
  225. package/dist/lib/abis/ERC20.json +0 -258
  226. package/dist/lib/fuels/connectors/walletConnect/WalletConnectConnector.d.ts +0 -42
  227. package/dist/lib/fuels/connectors/walletConnect/WalletConnectConnector.js +0 -357
  228. package/dist/lib/fuels/connectors/walletConnect/constants.d.ts +0 -6
  229. package/dist/lib/fuels/connectors/walletConnect/constants.js +0 -7
  230. package/dist/lib/fuels/connectors/walletConnect/index.d.ts +0 -3
  231. package/dist/lib/fuels/connectors/walletConnect/index.js +0 -3
  232. package/dist/lib/fuels/connectors/walletConnect/types.d.ts +0 -12
  233. package/dist/lib/fuels/connectors/walletConnect/types.js +0 -1
  234. package/dist/lib/fuels/connectors/walletConnect/utils/index.d.ts +0 -1
  235. package/dist/lib/fuels/connectors/walletConnect/utils/index.js +0 -1
  236. package/dist/lib/fuels/connectors/walletConnect/utils/subscribeAndEnforceChain.d.ts +0 -2
  237. package/dist/lib/fuels/connectors/walletConnect/utils/subscribeAndEnforceChain.js +0 -39
  238. package/dist/lib/fuels/connectors/walletConnect/web3Modal.d.ts +0 -10
  239. package/dist/lib/fuels/connectors/walletConnect/web3Modal.js +0 -38
  240. package/dist/lib/loopring/LoopringAPI.d.ts +0 -12
  241. package/dist/lib/loopring/LoopringAPI.js +0 -13
  242. package/dist/lib/loopring/defs.d.ts +0 -425
  243. package/dist/lib/loopring/defs.js +0 -217
  244. package/dist/lib/loopring/eddsa.d.ts +0 -29
  245. package/dist/lib/loopring/eddsa.js +0 -208
  246. package/dist/lib/loopring/field.d.ts +0 -17
  247. package/dist/lib/loopring/field.js +0 -61
  248. package/dist/lib/loopring/formatter.d.ts +0 -137
  249. package/dist/lib/loopring/formatter.js +0 -516
  250. package/dist/lib/loopring/helpers.d.ts +0 -36
  251. package/dist/lib/loopring/helpers.js +0 -140
  252. package/dist/lib/loopring/jubjub.d.ts +0 -19
  253. package/dist/lib/loopring/jubjub.js +0 -79
  254. package/dist/lib/loopring/permutation.d.ts +0 -22
  255. package/dist/lib/loopring/permutation.js +0 -198
  256. package/dist/lib/loopring/poseidon/EDDSAUtil.d.ts +0 -14
  257. package/dist/lib/loopring/poseidon/EDDSAUtil.js +0 -61
  258. package/dist/lib/loopring/poseidon/babyJub.d.ts +0 -6
  259. package/dist/lib/loopring/poseidon/babyJub.js +0 -51
  260. package/dist/lib/loopring/poseidon/eddsa.d.ts +0 -29
  261. package/dist/lib/loopring/poseidon/eddsa.js +0 -210
  262. package/dist/lib/loopring/utils.d.ts +0 -76
  263. package/dist/lib/loopring/utils.js +0 -230
  264. package/dist/styles/dialog-transition.css +0 -28
  265. package/dist/styles/globals.css +0 -372
  266. package/dist/styles/manual-trasnfer-svg.css +0 -299
  267. package/dist/styles/vaul.css +0 -256
@@ -1,194 +1,197 @@
1
- import KnownInternalNames from "../../knownIds";
2
- import { useMemo } from "react";
3
- import { useConnectModal } from "../../../components/Wallet/WalletModal";
4
- import useEVM from "../evm/useEVM";
5
- import useStarknet from "../starknet/useStarknet";
6
- import { useWalletStore } from "../../../stores/walletStore";
7
- import { AuthorizeStarknet } from "./Authorize/Starknet";
8
- import { walletClientToSigner } from "../../ethersToViem/ethers";
9
- import AuhorizeEthereum from "./Authorize/Ethereum";
10
- import { getWalletClient } from '@wagmi/core';
11
- import { useConfig } from "wagmi";
12
- import { switchChain, getChainId } from '@wagmi/core';
13
- import { useSettingsState } from "../../../context/settings";
14
- import shortenAddress from "../../../components/utils/ShortenAddress";
15
- export default function useParadex({ network }) {
16
- const name = 'Paradex';
17
- const id = 'prdx';
18
- const { networks } = useSettingsState();
19
- const selectedProvider = useWalletStore((state) => state.selectedProveder);
20
- const selectProvider = useWalletStore((state) => state.selectProvider);
21
- const paradexAccounts = useWalletStore((state) => state.paradexAccounts);
22
- const addParadexAccount = useWalletStore((state) => state.addParadexAccount);
23
- const removeParadexAccount = useWalletStore((state) => state.removeParadexAccount);
24
- const paradexNetwork = networks.find(n => n.name === KnownInternalNames.Networks.ParadexMainnet || n.name === KnownInternalNames.Networks.ParadexTestnet);
25
- const withdrawalSupportedNetworks = [
26
- KnownInternalNames.Networks.ParadexMainnet,
27
- KnownInternalNames.Networks.ParadexTestnet,
28
- ];
29
- const autofillSupportedNetworks = [
30
- ...withdrawalSupportedNetworks
31
- ];
32
- const asSourceSupportedNetworks = [
33
- ...withdrawalSupportedNetworks
34
- ];
35
- const { connect, setSelectedConnector } = useConnectModal();
36
- const evmProvider = useEVM({ network });
37
- const starknetProvider = useStarknet();
38
- const connectWallet = async () => {
39
- try {
40
- return await connect(provider);
41
- }
42
- catch (e) {
43
- console.log(e);
44
- }
45
- };
46
- const config = useConfig();
47
- const connectConnector = async ({ connector }) => {
48
- try {
49
- setSelectedConnector(connector);
50
- const isEvm = evmProvider.availableWalletsForConnect?.find(w => w.id === connector.id);
51
- const isStarknet = starknetProvider.availableWalletsForConnect?.find(w => w.id === connector.id);
52
- if (isEvm) {
53
- const connectionResult = evmProvider.connectConnector && await evmProvider.connectConnector({ connector });
54
- if (!connectionResult)
55
- return;
56
- if (!paradexAccounts?.[connectionResult?.address?.toLowerCase()]) {
57
- const l1Network = networks.find(n => n.name === KnownInternalNames.Networks.EthereumMainnet || n.name === KnownInternalNames.Networks.EthereumSepolia);
58
- const l1ChainId = Number(l1Network?.chain_id);
59
- if (!Number(l1ChainId)) {
60
- throw Error("Could not find ethereum network");
61
- }
62
- let client = await getWalletClient(config);
63
- const chainId = await client.getChainId();
64
- if (l1ChainId !== chainId) {
65
- try {
66
- await sleep(1000);
67
- await switchChain(config, { chainId: l1ChainId });
68
- }
69
- catch (e) {
70
- await getChainId(config);
71
- await sleep(1000);
72
- const chainId = await getChainId(config);
73
- if (l1ChainId !== chainId) {
74
- throw Error("Could not switch to ethereum network");
75
- }
76
- }
77
- await sleep(1000);
78
- client = await getWalletClient(config);
79
- }
80
- await sleep(1000);
81
- const ethersSigner = walletClientToSigner(client);
82
- if (!ethersSigner) {
83
- throw Error("Could not initialize ethers signer");
84
- }
85
- const paradexAccount = await AuhorizeEthereum(ethersSigner);
86
- addParadexAccount({ l1Address: connectionResult.address, paradexAddress: paradexAccount.address });
87
- }
88
- selectProvider(evmProvider.name);
89
- return resolveSingleWallet(connectionResult, name, paradexAccounts, removeParadexAccount, paradexNetwork?.logo);
90
- }
91
- else if (isStarknet) {
92
- const connectionResult = starknetProvider.connectConnector && await starknetProvider.connectConnector({ connector });
93
- if (!connectionResult)
94
- return;
95
- if (!paradexAccounts?.[connectionResult?.address?.toLowerCase()]) {
96
- const snAccount = connectionResult.metadata?.starknetAccount;
97
- if (!snAccount) {
98
- throw Error("Starknet account not found");
99
- }
100
- const paradexAccount = await AuthorizeStarknet(snAccount);
101
- addParadexAccount({ l1Address: connectionResult.address, paradexAddress: paradexAccount.address });
102
- }
103
- selectProvider(starknetProvider.name);
104
- return resolveSingleWallet(connectionResult, name, paradexAccounts, removeParadexAccount, paradexNetwork?.logo);
105
- }
106
- }
107
- catch (e) {
108
- //TODO: handle error like in transfer
109
- const error = e;
110
- if (error.name == 'ConnectorAlreadyConnectedError') {
111
- throw new Error('Wallet is already connected.');
112
- }
113
- else if (error.message.includes("Cannot read properties of undefined (reading 'toLowerCase')")) {
114
- throw new Error('Please update your wallet to the latest version.');
115
- }
116
- else {
117
- throw new Error(e.message || e);
118
- }
119
- }
120
- };
121
- const connectedWallets = useMemo(() => {
122
- return [
123
- ...resolveWalletsList(evmProvider.connectedWallets, paradexAccounts, name, removeParadexAccount, paradexNetwork?.logo),
124
- ...resolveWalletsList(starknetProvider.connectedWallets, paradexAccounts, name, removeParadexAccount, paradexNetwork?.logo)
125
- ];
126
- }, [evmProvider, starknetProvider, paradexAccounts]);
127
- const availableWalletsForConnect = useMemo(() => {
128
- return [...(evmProvider.availableWalletsForConnect ? evmProvider.availableWalletsForConnect : []), ...(starknetProvider?.availableWalletsForConnect ? starknetProvider.availableWalletsForConnect : [])];
129
- }, [evmProvider, starknetProvider]);
130
- const switchAccount = async (wallet, address) => {
131
- const evmWallet = evmProvider?.connectedWallets?.find(w => w.id === wallet.id);
132
- const starknetWallet = starknetProvider?.connectedWallets?.find(w => w.id === wallet.id);
133
- if (evmWallet && evmProvider.switchAccount && wallet.metadata?.l1Address) {
134
- evmProvider.switchAccount(evmWallet, wallet.metadata?.l1Address);
135
- selectProvider(evmProvider.name);
136
- }
137
- else if (starknetWallet && starknetProvider.switchAccount && wallet.metadata?.l1Address) {
138
- starknetProvider.switchAccount(starknetWallet, wallet.metadata.l1Address);
139
- selectProvider(starknetProvider.name);
140
- }
141
- };
142
- const activeWallet = useMemo(() => {
143
- if (selectedProvider === starknetProvider.name && starknetProvider?.activeWallet) {
144
- return resolveSingleWallet(starknetProvider.activeWallet, name, paradexAccounts, removeParadexAccount, paradexNetwork?.logo);
145
- }
146
- else if (selectedProvider === evmProvider.name && evmProvider?.activeWallet) {
147
- return resolveSingleWallet(evmProvider.activeWallet, name, paradexAccounts, removeParadexAccount, paradexNetwork?.logo);
148
- }
149
- }, [evmProvider.activeWallet, starknetProvider.activeWallet, selectedProvider]);
150
- const provider = {
151
- connectWallet,
152
- connectConnector,
153
- switchAccount,
154
- connectedWallets,
155
- activeWallet,
156
- withdrawalSupportedNetworks,
157
- autofillSupportedNetworks,
158
- asSourceSupportedNetworks,
159
- availableWalletsForConnect,
160
- name,
161
- id,
162
- hideFromList: true
163
- };
164
- return provider;
165
- }
166
- const resolveWalletsList = (wallets, accounts, name, disconnect, networkIcon) => {
167
- const l1Addresses = Object.keys(accounts || {});
168
- if (!l1Addresses.length || !wallets?.length)
169
- return [];
170
- return wallets.filter(w => w.addresses.some(wa => l1Addresses.some(pa => pa.toLowerCase() === wa.toLowerCase())))
171
- .map(w => (resolveSingleWallet(w, name, accounts, disconnect, networkIcon))).filter(w => w);
172
- };
173
- const resolveSingleWallet = (wallet, name, accounts, disconnect, networkIcon) => {
174
- const paradexAddress = accounts?.[wallet.address.toLowerCase()];
175
- if (!paradexAddress)
176
- return;
177
- const displayName = `${wallet.id} (${shortenAddress(wallet.address)})`;
178
- return {
179
- ...wallet,
180
- metadata: {
181
- ...wallet.metadata,
182
- l1Address: wallet.address
183
- },
184
- providerName: name,
185
- displayName,
186
- address: paradexAddress,
187
- addresses: [paradexAddress],
188
- disconnect: () => disconnect(wallet.address),
189
- networkIcon
190
- };
191
- };
192
- function sleep(ms) {
193
- return new Promise(resolve => setTimeout(resolve, ms));
194
- }
1
+ // import { Network } from "../../../Models/Network"
2
+ // import KnownInternalNames from "../../knownIds"
3
+ // import { useMemo } from "react"
4
+ // import toast from "react-hot-toast"
5
+ // import { LSConnector } from "../connectors/EthereumProvider"
6
+ // import { InternalConnector, Wallet, WalletProvider } from "../../../Models/WalletProvider"
7
+ // import { useConnectModal } from "../../../components/Wallet/WalletModal"
8
+ // import { type ConnectorAlreadyConnectedError } from '@wagmi/core'
9
+ // import useEVM from "../evm/useEVM"
10
+ // import useStarknet from "../starknet/useStarknet"
11
+ // import { useWalletStore } from "../../../stores/walletStore"
12
+ // import { AuthorizeStarknet } from "./Authorize/Starknet"
13
+ // import { walletClientToSigner } from "../../ethersToViem/ethers"
14
+ // import AuhorizeEthereum from "./Authorize/Ethereum"
15
+ // import { getWalletClient } from '@wagmi/core'
16
+ // import { useConfig } from "wagmi"
17
+ // import { switchChain, getChainId } from '@wagmi/core'
18
+ // import { useSettingsState } from "../../../context/settings"
19
+ // import shortenAddress from "../../../components/utils/ShortenAddress"
20
+ // type Props = {
21
+ // network: Network | undefined,
22
+ // }
23
+ // export default function useParadex({ network }: Props): WalletProvider {
24
+ // const name = 'Paradex'
25
+ // const id = 'prdx'
26
+ // const { networks } = useSettingsState()
27
+ // const selectedProvider = useWalletStore((state) => state.selectedProveder)
28
+ // const selectProvider = useWalletStore((state) => state.selectProvider)
29
+ // const paradexAccounts = useWalletStore((state) => state.paradexAccounts)
30
+ // const addParadexAccount = useWalletStore((state) => state.addParadexAccount)
31
+ // const removeParadexAccount = useWalletStore((state) => state.removeParadexAccount)
32
+ // const paradexNetwork = networks.find(n => n.name === KnownInternalNames.Networks.ParadexMainnet || n.name === KnownInternalNames.Networks.ParadexTestnet)
33
+ // const withdrawalSupportedNetworks = [
34
+ // KnownInternalNames.Networks.ParadexMainnet,
35
+ // KnownInternalNames.Networks.ParadexTestnet,
36
+ // ]
37
+ // const autofillSupportedNetworks = [
38
+ // ...withdrawalSupportedNetworks
39
+ // ]
40
+ // const asSourceSupportedNetworks = [
41
+ // ...withdrawalSupportedNetworks
42
+ // ]
43
+ // const { connect, setSelectedConnector } = useConnectModal()
44
+ // const evmProvider = useEVM({ network })
45
+ // const starknetProvider = useStarknet()
46
+ // const connectWallet = async () => {
47
+ // try {
48
+ // return await connect(provider)
49
+ // }
50
+ // catch (e) {
51
+ // console.log(e)
52
+ // }
53
+ // }
54
+ // const config = useConfig()
55
+ // const connectConnector = async ({ connector }: { connector: InternalConnector & LSConnector }) => {
56
+ // try {
57
+ // setSelectedConnector(connector)
58
+ // const isEvm = evmProvider.availableWalletsForConnect?.find(w => w.id === connector.id)
59
+ // const isStarknet = starknetProvider.availableWalletsForConnect?.find(w => w.id === connector.id)
60
+ // if (isEvm) {
61
+ // const connectionResult = evmProvider.connectConnector && await evmProvider.connectConnector({ connector })
62
+ // if (!connectionResult) return
63
+ // if (!paradexAccounts?.[connectionResult?.address?.toLowerCase()]) {
64
+ // const l1Network = networks.find(n => n.name === KnownInternalNames.Networks.EthereumMainnet || n.name === KnownInternalNames.Networks.EthereumSepolia);
65
+ // const l1ChainId = Number(l1Network?.chain_id)
66
+ // if (!Number(l1ChainId)) {
67
+ // throw Error("Could not find ethereum network")
68
+ // }
69
+ // let client = await getWalletClient(config)
70
+ // const chainId = await client.getChainId()
71
+ // if (l1ChainId !== chainId) {
72
+ // try {
73
+ // await sleep(1000)
74
+ // await switchChain(config, { chainId: l1ChainId })
75
+ // }
76
+ // catch (e) {
77
+ // await getChainId(config)
78
+ // await sleep(1000)
79
+ // const chainId = await getChainId(config)
80
+ // if (l1ChainId !== chainId) {
81
+ // throw Error("Could not switch to ethereum network")
82
+ // }
83
+ // }
84
+ // await sleep(1000)
85
+ // client = await getWalletClient(config)
86
+ // }
87
+ // await sleep(1000)
88
+ // const ethersSigner = walletClientToSigner(client)
89
+ // if (!ethersSigner) {
90
+ // throw Error("Could not initialize ethers signer")
91
+ // }
92
+ // const paradexAccount = await AuhorizeEthereum(ethersSigner)
93
+ // addParadexAccount({ l1Address: connectionResult.address, paradexAddress: paradexAccount.address })
94
+ // }
95
+ // selectProvider(evmProvider.name)
96
+ // return resolveSingleWallet(connectionResult, name, paradexAccounts, removeParadexAccount, paradexNetwork?.logo)
97
+ // }
98
+ // else if (isStarknet) {
99
+ // const connectionResult = starknetProvider.connectConnector && await starknetProvider.connectConnector({ connector })
100
+ // if (!connectionResult) return
101
+ // if (!paradexAccounts?.[connectionResult?.address?.toLowerCase()]) {
102
+ // const snAccount = connectionResult.metadata?.starknetAccount
103
+ // if (!snAccount) {
104
+ // throw Error("Starknet account not found")
105
+ // }
106
+ // const paradexAccount = await AuthorizeStarknet(snAccount)
107
+ // addParadexAccount({ l1Address: connectionResult.address, paradexAddress: paradexAccount.address })
108
+ // }
109
+ // selectProvider(starknetProvider.name)
110
+ // return resolveSingleWallet(connectionResult, name, paradexAccounts, removeParadexAccount, paradexNetwork?.logo)
111
+ // }
112
+ // } catch (e) {
113
+ // //TODO: handle error like in transfer
114
+ // const error = e as ConnectorAlreadyConnectedError
115
+ // if (error.name == 'ConnectorAlreadyConnectedError') {
116
+ // throw new Error('Wallet is already connected.')
117
+ // }
118
+ // else if (error.message.includes("Cannot read properties of undefined (reading 'toLowerCase')")) {
119
+ // throw new Error('Please update your wallet to the latest version.')
120
+ // }
121
+ // else {
122
+ // throw new Error(e.message || e)
123
+ // }
124
+ // }
125
+ // }
126
+ // const connectedWallets = useMemo(() => {
127
+ // return [
128
+ // ...resolveWalletsList(evmProvider.connectedWallets, paradexAccounts, name, removeParadexAccount, paradexNetwork?.logo),
129
+ // ...resolveWalletsList(starknetProvider.connectedWallets, paradexAccounts, name, removeParadexAccount, paradexNetwork?.logo)
130
+ // ]
131
+ // }, [evmProvider, starknetProvider, paradexAccounts])
132
+ // const availableWalletsForConnect = useMemo(() => {
133
+ // return [...(evmProvider.availableWalletsForConnect ? evmProvider.availableWalletsForConnect : []), ...(starknetProvider?.availableWalletsForConnect ? starknetProvider.availableWalletsForConnect : [])]
134
+ // }, [evmProvider, starknetProvider])
135
+ // const switchAccount = async (wallet: Wallet, address: string) => {
136
+ // const evmWallet = evmProvider?.connectedWallets?.find(w => w.id === wallet.id)
137
+ // const starknetWallet = starknetProvider?.connectedWallets?.find(w => w.id === wallet.id)
138
+ // if (evmWallet && evmProvider.switchAccount && wallet.metadata?.l1Address) {
139
+ // evmProvider.switchAccount(evmWallet, wallet.metadata?.l1Address)
140
+ // selectProvider(evmProvider.name)
141
+ // }
142
+ // else if (starknetWallet && starknetProvider.switchAccount && wallet.metadata?.l1Address) {
143
+ // starknetProvider.switchAccount(starknetWallet, wallet.metadata.l1Address)
144
+ // selectProvider(starknetProvider.name)
145
+ // }
146
+ // }
147
+ // const activeWallet = useMemo(() => {
148
+ // if (selectedProvider === starknetProvider.name && starknetProvider?.activeWallet) {
149
+ // return resolveSingleWallet(starknetProvider.activeWallet, name, paradexAccounts, removeParadexAccount, paradexNetwork?.logo)
150
+ // }
151
+ // else if (selectedProvider === evmProvider.name && evmProvider?.activeWallet) {
152
+ // return resolveSingleWallet(evmProvider.activeWallet, name, paradexAccounts, removeParadexAccount, paradexNetwork?.logo)
153
+ // }
154
+ // }, [evmProvider.activeWallet, starknetProvider.activeWallet, selectedProvider])
155
+ // const provider = {
156
+ // connectWallet,
157
+ // connectConnector,
158
+ // switchAccount,
159
+ // connectedWallets,
160
+ // activeWallet,
161
+ // withdrawalSupportedNetworks,
162
+ // autofillSupportedNetworks,
163
+ // asSourceSupportedNetworks,
164
+ // availableWalletsForConnect,
165
+ // name,
166
+ // id,
167
+ // hideFromList: true
168
+ // }
169
+ // return provider
170
+ // }
171
+ // const resolveWalletsList = (wallets: Wallet[] | undefined, accounts: { [key: string]: string } | undefined, name: string, disconnect: (address: string) => void, networkIcon?: string) => {
172
+ // const l1Addresses = Object.keys(accounts || {})
173
+ // if (!l1Addresses.length || !wallets?.length) return []
174
+ // return wallets.filter(w => w.addresses.some(wa => l1Addresses.some(pa => pa.toLowerCase() === wa.toLowerCase())))
175
+ // .map(w => (resolveSingleWallet(w, name, accounts, disconnect, networkIcon))).filter(w => w) as Wallet[]
176
+ // }
177
+ // const resolveSingleWallet = (wallet: Wallet, name: string, accounts: { [key: string]: string } | undefined, disconnect: (address: string) => void, networkIcon?: string): Wallet | undefined => {
178
+ // const paradexAddress = accounts?.[wallet.address.toLowerCase()]
179
+ // if (!paradexAddress) return
180
+ // const displayName = `${wallet.id} (${shortenAddress(wallet.address)})`
181
+ // return {
182
+ // ...wallet,
183
+ // metadata: {
184
+ // ...wallet.metadata,
185
+ // l1Address: wallet.address
186
+ // },
187
+ // providerName: name,
188
+ // displayName,
189
+ // address: paradexAddress,
190
+ // addresses: [paradexAddress],
191
+ // disconnect: () => disconnect(wallet.address),
192
+ // networkIcon
193
+ // }
194
+ // }
195
+ // function sleep(ms) {
196
+ // return new Promise(resolve => setTimeout(resolve, ms));
197
+ // }
@@ -1,4 +0,0 @@
1
- import { PublicKey, Transaction } from "@solana/web3.js";
2
- import { Network, Token } from "../../../Models/Network";
3
- declare const transactionBuilder: (network: Network, token: Token, walletPublicKey: PublicKey, recipientAddress?: string | undefined) => Promise<Transaction>;
4
- export default transactionBuilder;
@@ -1,39 +1,63 @@
1
- import { Connection, PublicKey, SystemProgram, Transaction } from "@solana/web3.js";
2
- import { createAssociatedTokenAccountInstruction, createTransferInstruction, getAccount, getAssociatedTokenAddress } from '@solana/spl-token';
3
- const transactionBuilder = async (network, token, walletPublicKey, recipientAddress) => {
4
- const connection = new Connection(`${network.node_url}`, "confirmed");
5
- const recipientPublicKey = new PublicKey(recipientAddress || new Array(32).fill(0));
6
- if (token.contract) {
7
- const sourceToken = new PublicKey(token?.contract);
8
- const transactionInstructions = [];
9
- const associatedTokenFrom = await getAssociatedTokenAddress(sourceToken, walletPublicKey);
10
- const fromAccount = await getAccount(connection, associatedTokenFrom);
11
- const associatedTokenTo = await getAssociatedTokenAddress(sourceToken, recipientPublicKey);
12
- if (!(await connection.getAccountInfo(associatedTokenTo))) {
13
- transactionInstructions.push(createAssociatedTokenAccountInstruction(walletPublicKey, associatedTokenTo, recipientPublicKey, sourceToken));
14
- }
15
- transactionInstructions.push(createTransferInstruction(fromAccount.address, associatedTokenTo, walletPublicKey, 2000000 * Math.pow(10, Number(token?.decimals))));
16
- const result = await connection.getLatestBlockhash();
17
- const transaction = new Transaction({
18
- feePayer: walletPublicKey,
19
- blockhash: result.blockhash,
20
- lastValidBlockHeight: result.lastValidBlockHeight
21
- }).add(...transactionInstructions);
22
- return transaction;
23
- }
24
- else {
25
- const transaction = new Transaction();
26
- const amountInLamports = 20000 * Math.pow(10, Number(token?.decimals));
27
- const transferInstruction = SystemProgram.transfer({
28
- fromPubkey: walletPublicKey,
29
- toPubkey: recipientPublicKey,
30
- lamports: amountInLamports
31
- });
32
- transaction.add(transferInstruction);
33
- const { blockhash } = await connection.getLatestBlockhash();
34
- transaction.recentBlockhash = blockhash;
35
- transaction.feePayer = walletPublicKey;
36
- return transaction;
37
- }
38
- };
39
- export default transactionBuilder;
1
+ // import { Connection, PublicKey, SystemProgram, Transaction, TransactionInstruction } from "@solana/web3.js";
2
+ // import { createAssociatedTokenAccountInstruction, createTransferInstruction, getAccount, getAssociatedTokenAddress } from '@solana/spl-token';
3
+ // import { Network, Token } from "../../../Models/Network";
4
+ // const transactionBuilder = async (network: Network, token: Token, walletPublicKey: PublicKey, recipientAddress?: string | undefined) => {
5
+ // const connection = new Connection(
6
+ // `${network.node_url}`,
7
+ // "confirmed"
8
+ // );
9
+ // const recipientPublicKey = new PublicKey(recipientAddress || new Array(32).fill(0));
10
+ // if (token.contract) {
11
+ // const sourceToken = new PublicKey(token?.contract);
12
+ // const transactionInstructions: TransactionInstruction[] = [];
13
+ // const associatedTokenFrom = await getAssociatedTokenAddress(
14
+ // sourceToken,
15
+ // walletPublicKey
16
+ // );
17
+ // const fromAccount = await getAccount(connection, associatedTokenFrom);
18
+ // const associatedTokenTo = await getAssociatedTokenAddress(
19
+ // sourceToken,
20
+ // recipientPublicKey
21
+ // );
22
+ // if (!(await connection.getAccountInfo(associatedTokenTo))) {
23
+ // transactionInstructions.push(
24
+ // createAssociatedTokenAccountInstruction(
25
+ // walletPublicKey,
26
+ // associatedTokenTo,
27
+ // recipientPublicKey,
28
+ // sourceToken
29
+ // )
30
+ // );
31
+ // }
32
+ // transactionInstructions.push(
33
+ // createTransferInstruction(
34
+ // fromAccount.address,
35
+ // associatedTokenTo,
36
+ // walletPublicKey,
37
+ // 2000000 * Math.pow(10, Number(token?.decimals))
38
+ // )
39
+ // );
40
+ // const result = await connection.getLatestBlockhash()
41
+ // const transaction = new Transaction({
42
+ // feePayer: walletPublicKey,
43
+ // blockhash: result.blockhash,
44
+ // lastValidBlockHeight: result.lastValidBlockHeight
45
+ // }).add(...transactionInstructions);
46
+ // return transaction
47
+ // }
48
+ // else {
49
+ // const transaction = new Transaction();
50
+ // const amountInLamports = 20000 * Math.pow(10, Number(token?.decimals));
51
+ // const transferInstruction = SystemProgram.transfer({
52
+ // fromPubkey: walletPublicKey,
53
+ // toPubkey: recipientPublicKey,
54
+ // lamports: amountInLamports
55
+ // });
56
+ // transaction.add(transferInstruction);
57
+ // const { blockhash } = await connection.getLatestBlockhash();
58
+ // transaction.recentBlockhash = blockhash;
59
+ // transaction.feePayer = walletPublicKey;
60
+ // return transaction
61
+ // }
62
+ // }
63
+ // export default transactionBuilder
@@ -1,5 +0,0 @@
1
- import { Network } from "../../../Models/Network";
2
- import { WalletProvider } from "../../../Models/WalletProvider";
3
- export default function useSVM({ network }: {
4
- network: Network | undefined;
5
- }): WalletProvider;