@velora-dex/widget 0.3.11-dev.1 → 0.3.11-dev.2

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 (257) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +72 -41
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +2 -0
  5. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +1 -0
  6. package/dist/components/web3/ConnectExternalProvider/constants.js +4 -0
  7. package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -0
  8. package/dist/components/web3/ConnectExternalProvider/utils.d.ts +8 -0
  9. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +1 -0
  10. package/dist/components/web3/ConnectExternalProvider/utils.js +9 -0
  11. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -0
  12. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +4 -1
  13. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  14. package/dist/components/web3/ConnectWallets/walletIcons.js +18 -7
  15. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  16. package/dist/components/widget/AppHeader/Activities/hooks.d.ts +2 -2
  17. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +4 -7
  18. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  19. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +136 -361
  20. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  21. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +1 -1
  22. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  23. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +1 -2
  24. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
  25. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
  26. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  27. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.d.ts.map +1 -1
  28. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +36 -48
  29. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  30. package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts +2 -3
  31. package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts.map +1 -1
  32. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +1 -2
  33. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  34. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.d.ts.map +1 -1
  35. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +108 -57
  36. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  37. package/dist/components/widget/NetworkSwitcher/types.d.ts +2 -12
  38. package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
  39. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +1 -2
  40. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  41. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  42. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +11 -5
  43. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  44. package/dist/components/widget/Screen/GenericScreen.d.ts +2 -6
  45. package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
  46. package/dist/components/widget/Screen/GenericScreen.js +33 -112
  47. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  48. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +1 -1
  49. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  50. package/dist/components/widget/SelectToken/SelectTokenButton.js +73 -100
  51. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  52. package/dist/components/widget/SelectToken/types.d.ts +0 -3
  53. package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
  54. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  55. package/dist/components/widget/TokenInput/index.js +147 -125
  56. package/dist/components/widget/TokenInput/index.js.map +1 -1
  57. package/dist/components/widget/TokenInput/types.d.ts +1 -6
  58. package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
  59. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +2 -2
  60. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  61. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +22 -23
  62. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  63. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +1 -1
  64. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  65. package/dist/core/constants.d.ts +1 -4
  66. package/dist/core/constants.d.ts.map +1 -1
  67. package/dist/core/constants.js +1 -4
  68. package/dist/core/constants.js.map +1 -1
  69. package/dist/core/index.d.ts.map +1 -1
  70. package/dist/core/index.js +0 -2
  71. package/dist/core/index.js.map +1 -1
  72. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts +7 -2
  73. package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -1
  74. package/dist/core/inputs/hooks/useMaxButtonProps.js +6 -17
  75. package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
  76. package/dist/core/state/chainToAtom.d.ts +4 -4
  77. package/dist/core/state/configAtom.d.ts +2 -2
  78. package/dist/core/state/configAtom.d.ts.map +1 -1
  79. package/dist/core/state/configAtom.js +6 -4
  80. package/dist/core/state/configAtom.js.map +1 -1
  81. package/dist/core/state/containerAtom.d.ts +0 -3
  82. package/dist/core/state/containerAtom.d.ts.map +1 -1
  83. package/dist/core/state/containerAtom.js +1 -2
  84. package/dist/core/state/containerAtom.js.map +1 -1
  85. package/dist/core/state/enabledChainsAtom.d.ts +9 -9
  86. package/dist/core/state/externalProviderAtom.d.ts +9 -0
  87. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  88. package/dist/core/state/externalProviderAtom.js +28 -1
  89. package/dist/core/state/externalProviderAtom.js.map +1 -1
  90. package/dist/events/getters/swap.d.ts.map +1 -1
  91. package/dist/events/getters/swap.js +2 -1
  92. package/dist/events/getters/swap.js.map +1 -1
  93. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  94. package/dist/events/hooks/useOnWalletConnect.js +6 -1
  95. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  96. package/dist/events/types/connectWallet.d.ts +3 -3
  97. package/dist/events/types/connectWallet.d.ts.map +1 -1
  98. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  99. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  100. package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
  101. package/dist/hooks/connectors/useIsConnectedSafe.js +3 -1
  102. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  103. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts +4 -1
  104. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
  105. package/dist/hooks/connectors/useIsGnosisSafeConnector.js +3 -4
  106. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  107. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts +1 -1
  108. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  109. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +16 -2
  110. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  111. package/dist/hooks/gas/config.js +1 -2
  112. package/dist/hooks/gas/config.js.map +1 -1
  113. package/dist/hooks/otc/mutations/useFillOrder.js +5 -4
  114. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  115. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +3 -2
  116. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  117. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.d.ts.map +1 -1
  118. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +7 -4
  119. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  120. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  121. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +2 -1
  122. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  123. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  124. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  125. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  126. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +7 -4
  127. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  128. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  129. package/dist/hooks/txs/queries/useAwaitTx.js +71 -19
  130. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  131. package/dist/hooks/useSelectableDestChains.d.ts +1 -1
  132. package/dist/lib/constants/delta.d.ts +1 -1
  133. package/dist/lib/constants/delta.js +1 -2
  134. package/dist/lib/constants/delta.js.map +1 -1
  135. package/dist/lib/constants/otc.js +1 -2
  136. package/dist/lib/constants/otc.js.map +1 -1
  137. package/dist/lib/constants/weth.js +1 -2
  138. package/dist/lib/constants/weth.js.map +1 -1
  139. package/dist/lib/utils/index.d.ts +1 -0
  140. package/dist/lib/utils/index.d.ts.map +1 -1
  141. package/dist/lib/utils/index.js +6 -1
  142. package/dist/lib/utils/index.js.map +1 -1
  143. package/dist/lib/utils/toasts.d.ts +1 -1
  144. package/dist/lib/utils/toasts.d.ts.map +1 -1
  145. package/dist/lib/utils/toasts.js +5 -1
  146. package/dist/lib/utils/toasts.js.map +1 -1
  147. package/dist/lib/web3/privy/config.js +1 -1
  148. package/dist/lib/web3/wagmi/config.d.ts +46 -46
  149. package/dist/lib/web3/wagmi/config.js +1 -1
  150. package/dist/lib/web3/wagmi/constants.d.ts +45 -45
  151. package/dist/lib/web3/wagmi/constants.js +1 -2
  152. package/dist/lib/web3/wagmi/constants.js.map +1 -1
  153. package/dist/lib/web3/wagmi/external.d.ts +10 -3
  154. package/dist/lib/web3/wagmi/external.d.ts.map +1 -1
  155. package/dist/lib/web3/wagmi/external.js +17 -2
  156. package/dist/lib/web3/wagmi/external.js.map +1 -1
  157. package/dist/lib/web3/wagmi/supportedChains.d.ts +1 -379
  158. package/dist/lib/web3/wagmi/supportedChains.d.ts.map +1 -1
  159. package/dist/lib/web3/wagmi/switchChain.d.ts +177 -177
  160. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
  161. package/dist/lib/web3/wagmi/switchChain.js +5 -1
  162. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  163. package/dist/lib/web3/wagmi/transports.js +1 -2
  164. package/dist/lib/web3/wagmi/transports.js.map +1 -1
  165. package/dist/styles.css +15 -46
  166. package/dist/tokens/constants.js +1 -2
  167. package/dist/tokens/constants.js.map +1 -1
  168. package/dist/tokens/defaultTokens.js +1 -2
  169. package/dist/tokens/defaultTokens.js.map +1 -1
  170. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +4 -4
  171. package/dist/transactions/hash.d.ts +7 -0
  172. package/dist/transactions/hash.d.ts.map +1 -0
  173. package/dist/transactions/hash.js +35 -0
  174. package/dist/transactions/hash.js.map +1 -0
  175. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  176. package/dist/transactions/queries/ensureCallsStatus.js +11 -3
  177. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  178. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  179. package/dist/transactions/queries/ensureTxReceipt.js +7 -4
  180. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  181. package/dist/transactions/state/effects/finalize.d.ts +7 -1
  182. package/dist/transactions/state/effects/finalize.d.ts.map +1 -1
  183. package/dist/transactions/state/effects/finalize.js +41 -7
  184. package/dist/transactions/state/effects/finalize.js.map +1 -1
  185. package/dist/transactions/state/hooks/useActivateEffects.d.ts.map +1 -1
  186. package/dist/transactions/state/hooks/useActivateEffects.js +4 -2
  187. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  188. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  189. package/dist/transactions/state/transactionsActionAtom.js +55 -15
  190. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  191. package/dist/transactions/state/transactionsAtom.js +2 -2
  192. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  193. package/dist/transactions/types.d.ts +11 -1
  194. package/dist/transactions/types.d.ts.map +1 -1
  195. package/dist/transactions/utils.d.ts +2 -1
  196. package/dist/transactions/utils.d.ts.map +1 -1
  197. package/dist/transactions/utils.js +6 -1
  198. package/dist/transactions/utils.js.map +1 -1
  199. package/package.json +1 -2
  200. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts +0 -3
  201. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts.map +0 -1
  202. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js +0 -71
  203. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +0 -1
  204. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts +0 -5
  205. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts.map +0 -1
  206. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js +0 -48
  207. package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +0 -1
  208. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts +0 -7
  209. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts.map +0 -1
  210. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js +0 -46
  211. package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +0 -1
  212. package/dist/components/widget/NetworkSwitcher/utils/items.d.ts +0 -3
  213. package/dist/components/widget/NetworkSwitcher/utils/items.d.ts.map +0 -1
  214. package/dist/components/widget/NetworkSwitcher/utils/items.js +0 -63
  215. package/dist/components/widget/NetworkSwitcher/utils/items.js.map +0 -1
  216. package/dist/components/widget/TokenInput/InputContainer.d.ts +0 -3
  217. package/dist/components/widget/TokenInput/InputContainer.d.ts.map +0 -1
  218. package/dist/components/widget/TokenInput/InputContainer.js +0 -54
  219. package/dist/components/widget/TokenInput/InputContainer.js.map +0 -1
  220. package/dist/components/widget/TokenInput/InputField.d.ts +0 -6
  221. package/dist/components/widget/TokenInput/InputField.d.ts.map +0 -1
  222. package/dist/components/widget/TokenInput/InputField.js +0 -84
  223. package/dist/components/widget/TokenInput/InputField.js.map +0 -1
  224. package/dist/components/widget/TokenInput/InputFooter.d.ts +0 -5
  225. package/dist/components/widget/TokenInput/InputFooter.d.ts.map +0 -1
  226. package/dist/components/widget/TokenInput/InputFooter.js +0 -206
  227. package/dist/components/widget/TokenInput/InputFooter.js.map +0 -1
  228. package/dist/components/widget/TokenInput/InputHeader.d.ts +0 -5
  229. package/dist/components/widget/TokenInput/InputHeader.d.ts.map +0 -1
  230. package/dist/components/widget/TokenInput/InputHeader.js +0 -58
  231. package/dist/components/widget/TokenInput/InputHeader.js.map +0 -1
  232. package/dist/components/widget/TokenInput/common/Balance.d.ts +0 -3
  233. package/dist/components/widget/TokenInput/common/Balance.d.ts.map +0 -1
  234. package/dist/components/widget/TokenInput/common/Balance.js +0 -23
  235. package/dist/components/widget/TokenInput/common/Balance.js.map +0 -1
  236. package/dist/components/widget/TokenInput/common/MaxButtons.d.ts +0 -3
  237. package/dist/components/widget/TokenInput/common/MaxButtons.d.ts.map +0 -1
  238. package/dist/components/widget/TokenInput/common/MaxButtons.js +0 -37
  239. package/dist/components/widget/TokenInput/common/MaxButtons.js.map +0 -1
  240. package/dist/core/screen/hooks/useResizeObserver.d.ts +0 -2
  241. package/dist/core/screen/hooks/useResizeObserver.d.ts.map +0 -1
  242. package/dist/core/screen/hooks/useResizeObserver.js +0 -36
  243. package/dist/core/screen/hooks/useResizeObserver.js.map +0 -1
  244. package/dist/hooks/useBreakpoints.d.ts +0 -4
  245. package/dist/hooks/useBreakpoints.d.ts.map +0 -1
  246. package/dist/hooks/useBreakpoints.js +0 -24
  247. package/dist/hooks/useBreakpoints.js.map +0 -1
  248. package/dist/lib/constants/mobile.d.ts +0 -2
  249. package/dist/lib/constants/mobile.d.ts.map +0 -1
  250. package/dist/lib/constants/mobile.js +0 -6
  251. package/dist/lib/constants/mobile.js.map +0 -1
  252. package/dist/lib/utils/mobile.d.ts +0 -6
  253. package/dist/lib/utils/mobile.d.ts.map +0 -1
  254. package/dist/lib/utils/mobile.js +0 -10
  255. package/dist/lib/utils/mobile.js.map +0 -1
  256. package/dist/lib/web3/wagmi/supportedChains.js +0 -18
  257. package/dist/lib/web3/wagmi/supportedChains.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../src/tokens/constants.ts"],"sourcesContent":["import {\n mainnet,\n bsc,\n optimism,\n avalanche,\n arbitrum,\n polygon,\n base,\n gnosis,\n sonic,\n unichain,\n} from \"@/lib/web3/wagmi/supportedChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Address } from \"viem\";\n\nexport const QUERY_KEY_FETCH_TOKEN_LISTS = \"fetch-token-lists\";\n\nexport const ETH_ADDRESS = \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\";\n\nexport const ETH_ADDRESS_LOWERCASE = ETH_ADDRESS.toLowerCase() as Lowercase<\n typeof ETH_ADDRESS\n>;\n\nexport const NATIVE_CURRENCY_ICON: Record<SupportedChainId, string> = {\n [mainnet.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [bsc.id]: \"https://cdn.paraswap.io/token/BNB.svg\",\n [optimism.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [avalanche.id]: \"https://cdn.paraswap.io/token/AVAX.svg\",\n [arbitrum.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [polygon.id]: \"https://cdn.paraswap.io/token/MATIC.svg\",\n [base.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [gnosis.id]:\n \"https://assets.coingecko.com/coins/images/11062/thumb/Identity-Primary-DarkBG.png?1696511004\",\n [sonic.id]: \"https://cdn.paraswap.io/token/S.svg\",\n [unichain.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n};\n\nexport const VLR_ADDRESS_BY_NETWORK: Partial<\n Record<SupportedChainId, Address>\n> = {\n [mainnet.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [optimism.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [bsc.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [base.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n};\n"],"names":["QUERY_KEY_FETCH_TOKEN_LISTS","ETH_ADDRESS","ETH_ADDRESS_LOWERCASE","toLowerCase","NATIVE_CURRENCY_ICON","mainnet","id","bsc","optimism","avalanche","arbitrum","polygon","base","gnosis","sonic","unichain","VLR_ADDRESS_BY_NETWORK"],"mappings":";;;AAeO,MAAMA,2BAAAA,GAA8B;AAEpC,MAAMC,WAAAA,GAAc;AAEpB,MAAMC,qBAAAA,GAAwBD,YAAYE,WAAAA;AAI1C,MAAMC,oBAAAA,GAAyD;AAAA,EACpE,CAACC,OAAAA,CAAQC,EAAE,GAAG,uCAAA;AAAA,EACd,CAACC,GAAAA,CAAID,EAAE,GAAG,uCAAA;AAAA,EACV,CAACE,QAAAA,CAASF,EAAE,GAAG,uCAAA;AAAA,EACf,CAACG,SAAAA,CAAUH,EAAE,GAAG,wCAAA;AAAA,EAChB,CAACI,QAAAA,CAASJ,EAAE,GAAG,uCAAA;AAAA,EACf,CAACK,OAAAA,CAAQL,EAAE,GAAG,yCAAA;AAAA,EACd,CAACM,IAAAA,CAAKN,EAAE,GAAG,uCAAA;AAAA,EACX,CAACO,MAAAA,CAAOP,EAAE,GACR,8FAAA;AAAA,EACF,CAACQ,KAAAA,CAAMR,EAAE,GAAG,qCAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,sBAAAA,GAET;AAAA,EACF,CAACX,OAAAA,CAAQC,EAAE,GAAG,4CAAA;AAAA,EACd,CAACE,QAAAA,CAASF,EAAE,GAAG,4CAAA;AAAA,EACf,CAACC,GAAAA,CAAID,EAAE,GAAG,4CAAA;AAAA,EACV,CAACM,IAAAA,CAAKN,EAAE,GAAG;AACb;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../src/tokens/constants.ts"],"sourcesContent":["import {\n mainnet,\n bsc,\n optimism,\n avalanche,\n arbitrum,\n polygon,\n base,\n gnosis,\n sonic,\n unichain,\n} from \"@/lib/web3/wagmi/supportedChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Address } from \"viem\";\n\nexport const QUERY_KEY_FETCH_TOKEN_LISTS = \"fetch-token-lists\";\n\nexport const ETH_ADDRESS = \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\";\n\nexport const ETH_ADDRESS_LOWERCASE = ETH_ADDRESS.toLowerCase() as Lowercase<\n typeof ETH_ADDRESS\n>;\n\nexport const NATIVE_CURRENCY_ICON: Record<SupportedChainId, string> = {\n [mainnet.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [bsc.id]: \"https://cdn.paraswap.io/token/BNB.svg\",\n [optimism.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [avalanche.id]: \"https://cdn.paraswap.io/token/AVAX.svg\",\n [arbitrum.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [polygon.id]: \"https://cdn.paraswap.io/token/MATIC.svg\",\n [base.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [gnosis.id]:\n \"https://assets.coingecko.com/coins/images/11062/thumb/Identity-Primary-DarkBG.png?1696511004\",\n [sonic.id]: \"https://cdn.paraswap.io/token/S.svg\",\n [unichain.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n};\n\nexport const VLR_ADDRESS_BY_NETWORK: Partial<\n Record<SupportedChainId, Address>\n> = {\n [mainnet.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [optimism.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [bsc.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [base.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n};\n"],"names":["QUERY_KEY_FETCH_TOKEN_LISTS","ETH_ADDRESS","ETH_ADDRESS_LOWERCASE","toLowerCase","NATIVE_CURRENCY_ICON","mainnet","id","bsc","optimism","avalanche","arbitrum","polygon","base","gnosis","sonic","unichain","VLR_ADDRESS_BY_NETWORK"],"mappings":";;AAeO,MAAMA,2BAAAA,GAA8B;AAEpC,MAAMC,WAAAA,GAAc;AAEpB,MAAMC,qBAAAA,GAAwBD,YAAYE,WAAAA;AAI1C,MAAMC,oBAAAA,GAAyD;AAAA,EACpE,CAACC,OAAAA,CAAQC,EAAE,GAAG,uCAAA;AAAA,EACd,CAACC,GAAAA,CAAID,EAAE,GAAG,uCAAA;AAAA,EACV,CAACE,QAAAA,CAASF,EAAE,GAAG,uCAAA;AAAA,EACf,CAACG,SAAAA,CAAUH,EAAE,GAAG,wCAAA;AAAA,EAChB,CAACI,QAAAA,CAASJ,EAAE,GAAG,uCAAA;AAAA,EACf,CAACK,OAAAA,CAAQL,EAAE,GAAG,yCAAA;AAAA,EACd,CAACM,IAAAA,CAAKN,EAAE,GAAG,uCAAA;AAAA,EACX,CAACO,MAAAA,CAAOP,EAAE,GACR,8FAAA;AAAA,EACF,CAACQ,KAAAA,CAAMR,EAAE,GAAG,qCAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,sBAAAA,GAET;AAAA,EACF,CAACX,OAAAA,CAAQC,EAAE,GAAG,4CAAA;AAAA,EACd,CAACE,QAAAA,CAASF,EAAE,GAAG,4CAAA;AAAA,EACf,CAACC,GAAAA,CAAID,EAAE,GAAG,4CAAA;AAAA,EACV,CAACM,IAAAA,CAAKN,EAAE,GAAG;AACb;;;;"}
@@ -1,7 +1,6 @@
1
- import { optimism, arbitrum, bsc } from '../lib/web3/wagmi/supportedChains.js';
2
1
  import { wrappedNativeTokensByChainId } from './constructor.js';
3
2
  import { isETH } from './utils/eth.js';
4
- import { unichain, sonic, gnosis, base, avalanche, polygon, mainnet } from 'wagmi/chains';
3
+ import { unichain, sonic, gnosis, base, optimism, arbitrum, avalanche, bsc, polygon, mainnet } from 'wagmi/chains';
5
4
 
6
5
  const tokenFrom = {
7
6
  [mainnet.id]: {
@@ -1 +1 @@
1
- {"version":3,"file":"defaultTokens.js","sources":["../../src/tokens/defaultTokens.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"@/lib/web3/wagmi/supportedChains\";\nimport { wrappedNativeTokensByChainId } from \"./constructor\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { isETH } from \"./utils/eth\";\n\nconst tokenFrom: Record<SupportedChainId, Token> = {\n [mainnet.id]: {\n symbol: \"USDC\",\n address: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n decimals: 6,\n network: mainnet.id,\n tokenType: \"ERC20\",\n mainConnector: \"ETH\",\n connectors: [\"ETH\"],\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USD Coin\",\n },\n [polygon.id]: {\n address: \"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: polygon.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [bsc.id]: {\n address: \"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d\",\n decimals: 18,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: bsc.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"Binance Pegged USD Coin\",\n },\n [avalanche.id]: {\n address: \"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: avalanche.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USD Coin\",\n },\n [arbitrum.id]: {\n address: \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: arbitrum.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [optimism.id]: {\n address: \"0x0b2c639c533813f4aa9d7837caf62653d097ff85\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: optimism.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USD Coin\",\n },\n [base.id]: {\n address: \"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: base.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [gnosis.id]: {\n address: \"0xddafbb505ad214d7b80b1f830fccc89b60fb7a83\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"XDAI\", \"USDT\"],\n network: gnosis.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [sonic.id]: {\n address: \"0x29219dd400f2Bf60E5a23d13Be72B486D4038894\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: sonic.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [unichain.id]: {\n address: \"0x078D782b760474a361dDA0AF3839290b0EF57AD6\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: unichain.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n};\n\nconst tokenTo: Record<SupportedChainId, Token> = {\n [mainnet.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"DAI\", \"USDC\"],\n network: mainnet.id,\n img: \"https://cdn.paraswap.io/token/ETH.svg\",\n },\n [polygon.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"POL\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: polygon.id,\n img: \"https://cdn.paraswap.io/token/MATIC.svg\",\n },\n [bsc.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"BNB\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: bsc.id,\n img: \"https://cdn.paraswap.io/token/BNB.svg\",\n },\n [avalanche.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"AVAX\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: avalanche.id,\n img: \"https://cdn.paraswap.io/token/AVAX.svg\",\n },\n [arbitrum.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"DAI\", \"USDC\"],\n network: arbitrum.id,\n img: \"https://cdn.paraswap.io/token/ETH.svg\",\n },\n [optimism.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"DAI\", \"USDC\"],\n network: optimism.id,\n img: \"https://cdn.paraswap.io/token/ETH.svg\",\n },\n [base.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"DAI\", \"USDC\"],\n network: base.id,\n img: \"https://cdn.paraswap.io/token/ETH.svg\",\n },\n [gnosis.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"XDAI\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"USDC\"],\n network: gnosis.id,\n img: \"https://assets.coingecko.com/coins/images/11062/thumb/Identity-Primary-DarkBG.png\",\n name: \"XDAI\",\n },\n [sonic.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"S\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: sonic.id,\n img: \"https://cdn.paraswap.io/token/S.png\",\n },\n [unichain.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: unichain.id,\n img: \"https://cdn.paraswap.io/token/ETH.png\",\n name: \"Unichain ETH\",\n },\n};\n\nexport function pickDefaultTokenPair(\n chainId: SupportedChainId,\n tradeMode: TradeMode\n): [Token, Token] {\n const from = tokenFrom[chainId];\n let to = tokenTo[chainId];\n\n // otc don't support destToken=ETH\n if (tradeMode === \"otc\" && isETH(to)) {\n to = wrappedNativeTokensByChainId[chainId];\n }\n\n return [from, to];\n}\n"],"names":["tokenFrom","mainnet","id","symbol","address","decimals","network","tokenType","mainConnector","connectors","img","name","polygon","bsc","avalanche","arbitrum","optimism","base","gnosis","sonic","unichain","tokenTo","pickDefaultTokenPair","chainId","tradeMode","from","to","isETH","wrappedNativeTokensByChainId"],"mappings":"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"}
1
+ {"version":3,"file":"defaultTokens.js","sources":["../../src/tokens/defaultTokens.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"@/lib/web3/wagmi/supportedChains\";\nimport { wrappedNativeTokensByChainId } from \"./constructor\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { isETH } from \"./utils/eth\";\n\nconst tokenFrom: Record<SupportedChainId, Token> = {\n [mainnet.id]: {\n symbol: \"USDC\",\n address: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n decimals: 6,\n network: mainnet.id,\n tokenType: \"ERC20\",\n mainConnector: \"ETH\",\n connectors: [\"ETH\"],\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USD Coin\",\n },\n [polygon.id]: {\n address: \"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: polygon.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [bsc.id]: {\n address: \"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d\",\n decimals: 18,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: bsc.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"Binance Pegged USD Coin\",\n },\n [avalanche.id]: {\n address: \"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: avalanche.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USD Coin\",\n },\n [arbitrum.id]: {\n address: \"0xaf88d065e77c8cc2239327c5edb3a432268e5831\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: arbitrum.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [optimism.id]: {\n address: \"0x0b2c639c533813f4aa9d7837caf62653d097ff85\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: optimism.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USD Coin\",\n },\n [base.id]: {\n address: \"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: base.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [gnosis.id]: {\n address: \"0xddafbb505ad214d7b80b1f830fccc89b60fb7a83\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"XDAI\", \"USDT\"],\n network: gnosis.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [sonic.id]: {\n address: \"0x29219dd400f2Bf60E5a23d13Be72B486D4038894\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: sonic.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n [unichain.id]: {\n address: \"0x078D782b760474a361dDA0AF3839290b0EF57AD6\",\n decimals: 6,\n symbol: \"USDC\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: unichain.id,\n img: \"https://cdn.paraswap.io/token/USDC.png\",\n name: \"USDC\",\n },\n};\n\nconst tokenTo: Record<SupportedChainId, Token> = {\n [mainnet.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"DAI\", \"USDC\"],\n network: mainnet.id,\n img: \"https://cdn.paraswap.io/token/ETH.svg\",\n },\n [polygon.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"POL\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: polygon.id,\n img: \"https://cdn.paraswap.io/token/MATIC.svg\",\n },\n [bsc.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"BNB\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: bsc.id,\n img: \"https://cdn.paraswap.io/token/BNB.svg\",\n },\n [avalanche.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"AVAX\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: avalanche.id,\n img: \"https://cdn.paraswap.io/token/AVAX.svg\",\n },\n [arbitrum.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"DAI\", \"USDC\"],\n network: arbitrum.id,\n img: \"https://cdn.paraswap.io/token/ETH.svg\",\n },\n [optimism.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"DAI\", \"USDC\"],\n network: optimism.id,\n img: \"https://cdn.paraswap.io/token/ETH.svg\",\n },\n [base.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"DAI\", \"USDC\"],\n network: base.id,\n img: \"https://cdn.paraswap.io/token/ETH.svg\",\n },\n [gnosis.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"XDAI\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"USDC\"],\n network: gnosis.id,\n img: \"https://assets.coingecko.com/coins/images/11062/thumb/Identity-Primary-DarkBG.png\",\n name: \"XDAI\",\n },\n [sonic.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"S\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: sonic.id,\n img: \"https://cdn.paraswap.io/token/S.png\",\n },\n [unichain.id]: {\n address: \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\",\n decimals: 18,\n symbol: \"ETH\",\n tokenType: \"ERC20\",\n mainConnector: \"\",\n connectors: [\"ETH\"],\n network: unichain.id,\n img: \"https://cdn.paraswap.io/token/ETH.png\",\n name: \"Unichain ETH\",\n },\n};\n\nexport function pickDefaultTokenPair(\n chainId: SupportedChainId,\n tradeMode: TradeMode\n): [Token, Token] {\n const from = tokenFrom[chainId];\n let to = tokenTo[chainId];\n\n // otc don't support destToken=ETH\n if (tradeMode === \"otc\" && isETH(to)) {\n to = wrappedNativeTokensByChainId[chainId];\n }\n\n return [from, to];\n}\n"],"names":["tokenFrom","mainnet","id","symbol","address","decimals","network","tokenType","mainConnector","connectors","img","name","polygon","bsc","avalanche","arbitrum","optimism","base","gnosis","sonic","unichain","tokenTo","pickDefaultTokenPair","chainId","tradeMode","from","to","isETH","wrappedNativeTokensByChainId"],"mappings":"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"}
@@ -13,19 +13,19 @@ export declare const enabledAndDefaultTokenURLSAtom: import('jotai').Atom<{
13
13
  all: string[];
14
14
  enabled: string[];
15
15
  };
16
- 56: {
16
+ 137: {
17
17
  all: string[];
18
18
  enabled: string[];
19
19
  };
20
- 42161: {
20
+ 56: {
21
21
  all: string[];
22
22
  enabled: string[];
23
23
  };
24
- 137: {
24
+ 43114: {
25
25
  all: string[];
26
26
  enabled: string[];
27
27
  };
28
- 43114: {
28
+ 42161: {
29
29
  all: string[];
30
30
  enabled: string[];
31
31
  };
@@ -0,0 +1,7 @@
1
+ import { Hash } from 'viem';
2
+ import { TransactionItem } from './types';
3
+ export declare function getStandaloneTxHash({ transactionHash, }: {
4
+ transactionHash?: Hash;
5
+ }): Hash | null;
6
+ export declare function getTxHash(tx: TransactionItem): Hash | null;
7
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/transactions/hash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAA6B,eAAe,EAAE,MAAM,SAAS,CAAC;AAa1E,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,GAChB,EAAE;IACD,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,GAAG,IAAI,GAAG,IAAI,CAKd;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAgB1D"}
@@ -0,0 +1,35 @@
1
+ import { jotaiStore } from '../core/store.js';
2
+ import { isBatchTransactionItem } from './utils.js';
3
+ import { allStandaloneTransactionItemsAtom } from './state/transactionsAtom.js';
4
+ import { isSafeConnector } from '../hooks/connectors/useIsGnosisSafeConnector.js';
5
+
6
+ function findStandaloneTx({
7
+ transactionHash
8
+ }) {
9
+ return jotaiStore.get(allStandaloneTransactionItemsAtom).find((tx) => tx.transactionHash === transactionHash);
10
+ }
11
+ function getStandaloneTxHash({
12
+ transactionHash
13
+ }) {
14
+ if (!transactionHash) return null;
15
+ const tx = findStandaloneTx({
16
+ transactionHash
17
+ });
18
+ if (!tx) return null;
19
+ return getTxHash(tx);
20
+ }
21
+ function getTxHash(tx) {
22
+ if (tx.receipt?.transactionHash) {
23
+ return tx.receipt.transactionHash;
24
+ }
25
+ if (isBatchTransactionItem(tx)) {
26
+ return tx.receipt?.transactionHash || null;
27
+ }
28
+ if (tx.connectorData && isSafeConnector(tx.connectorData)) {
29
+ return tx.receipt?.transactionHash || null;
30
+ }
31
+ return tx.transactionHash;
32
+ }
33
+
34
+ export { getStandaloneTxHash, getTxHash };
35
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sources":["../../src/transactions/hash.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/store\";\nimport type { Hash } from \"viem\";\nimport type { StandaloneTransactionItem, TransactionItem } from \"./types\";\nimport { isBatchTransactionItem } from \"./utils\";\nimport { allStandaloneTransactionItemsAtom } from \"./state/transactionsAtom\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\n\nfunction findStandaloneTx({\n transactionHash,\n}: Pick<StandaloneTransactionItem, \"transactionHash\">) {\n return jotaiStore\n .get(allStandaloneTransactionItemsAtom)\n .find((tx) => tx.transactionHash === transactionHash);\n}\n\nexport function getStandaloneTxHash({\n transactionHash,\n}: {\n transactionHash?: Hash;\n}): Hash | null {\n if (!transactionHash) return null;\n const tx = findStandaloneTx({ transactionHash });\n if (!tx) return null;\n return getTxHash(tx);\n}\n\nexport function getTxHash(tx: TransactionItem): Hash | null {\n if (tx.receipt?.transactionHash) {\n // if tx is mined, receipt is always the source of truth for the transaction hash\n return tx.receipt.transactionHash;\n }\n if (isBatchTransactionItem(tx)) {\n // for batch transactions, we have the real transaction hash in the receipt when the batch is mined\n return tx.receipt?.transactionHash || null;\n }\n if (tx.connectorData && isSafeConnector(tx.connectorData)) {\n // for Safe transactions sent through Safe iframe provider,\n // we don't have the real transaction hash until the transaction is mined\n return tx.receipt?.transactionHash || null;\n }\n\n return tx.transactionHash;\n}\n"],"names":["findStandaloneTx","transactionHash","jotaiStore","get","allStandaloneTransactionItemsAtom","find","tx","getStandaloneTxHash","getTxHash","receipt","isBatchTransactionItem","connectorData","isSafeConnector"],"mappings":";;;;;AAOA,SAASA,gBAAAA,CAAiB;AAAA,EACxBC;AACkD,CAAA,EAAG;AACrD,EAAA,OAAOC,UAAAA,CACJC,IAAIC,iCAAiC,CAAA,CACrCC,KAAMC,CAAAA,EAAAA,KAAOA,EAAAA,CAAGL,oBAAoBA,eAAe,CAAA;AACxD;AAEO,SAASM,mBAAAA,CAAoB;AAAA,EAClCN;AAGF,CAAA,EAAgB;AACd,EAAA,IAAI,CAACA,iBAAiB,OAAO,IAAA;AAC7B,EAAA,MAAMK,KAAKN,gBAAAA,CAAiB;AAAA,IAAEC;AAAAA,GAAiB,CAAA;AAC/C,EAAA,IAAI,CAACK,IAAI,OAAO,IAAA;AAChB,EAAA,OAAOE,UAAUF,EAAE,CAAA;AACrB;AAEO,SAASE,UAAUF,EAAAA,EAAkC;AAC1D,EAAA,IAAIA,EAAAA,CAAGG,SAASR,eAAAA,EAAiB;AAE/B,IAAA,OAAOK,GAAGG,OAAAA,CAAQR,eAAAA;AAAAA,EACpB;AACA,EAAA,IAAIS,sBAAAA,CAAuBJ,EAAE,CAAA,EAAG;AAE9B,IAAA,OAAOA,EAAAA,CAAGG,SAASR,eAAAA,IAAmB,IAAA;AAAA,EACxC;AACA,EAAA,IAAIK,EAAAA,CAAGK,aAAAA,IAAiBC,eAAAA,CAAgBN,EAAAA,CAAGK,aAAa,CAAA,EAAG;AAGzD,IAAA,OAAOL,EAAAA,CAAGG,SAASR,eAAAA,IAAmB,IAAA;AAAA,EACxC;AAEA,EAAA,OAAOK,EAAAA,CAAGL,eAAAA;AACZ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensureCallsStatus.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureCallsStatus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAsB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE;IAC1C,EAAE,EAAE,MAAM,CAAC;CACZ,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAEtC,KAAK,wBAAwB,GAAG,CAAC,MAAM,CAAC,EAAE;IACxC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,mBAAmB,CAAC;AAE1B,eAAO,MAAM,wBAAwB,EAAE,wBAwBpC,CAAC"}
1
+ {"version":3,"file":"ensureCallsStatus.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureCallsStatus.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAkC,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE;IAC1C,EAAE,EAAE,MAAM,CAAC;CACZ,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAEtC,KAAK,wBAAwB,GAAG,CAAC,MAAM,CAAC,EAAE;IACxC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,mBAAmB,CAAC;AAE1B,eAAO,MAAM,wBAAwB,EAAE,wBAkCpC,CAAC"}
@@ -1,21 +1,29 @@
1
+ import { isExternalConnectorWithSafeIframe } from '../../core/state/externalProviderAtom.js';
2
+ import { isSafeConnector } from '../../hooks/connectors/useIsGnosisSafeConnector.js';
1
3
  import { SAFE_CALLS_WAIT_TIMEOUT } from '../../lib/constants/index.js';
2
4
  import { queryClient } from '../../lib/queryClient.js';
3
5
  import { wagmiConfig } from '../../lib/web3/wagmi/config.js';
4
- import { waitForCallsStatus } from '@wagmi/core';
6
+ import { getAccount, waitForCallsStatus } from '@wagmi/core';
5
7
  import { waitForCallsStatusQueryKey } from 'wagmi/query';
6
8
 
7
9
  const ensureCallsStatusFactory = ({
8
10
  queryClient: queryClient$1 = queryClient,
9
11
  wagmiConfig: wagmiConfig$1 = wagmiConfig,
10
- isSafe = false
12
+ isSafe: _isSafe
11
13
  } = {}) => async ({
12
14
  id
13
15
  }) => {
16
+ const {
17
+ connector
18
+ } = getAccount(wagmiConfig$1);
19
+ const isConnectorSafe = !!connector && isSafeConnector(connector);
20
+ const isSafe = _isSafe || isConnectorSafe || !!connector && await isExternalConnectorWithSafeIframe(connector);
14
21
  const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : void 0;
15
22
  const queryKey = waitForCallsStatusQueryKey({
16
23
  id,
17
- timeout
24
+ timeout,
18
25
  // important to include timeout into queryKey to match useAwaitCalls queryKey
26
+ throwOnFailure: true
19
27
  });
20
28
  const status = await queryClient$1.ensureQueryData({
21
29
  queryKey,
@@ -1 +1 @@
1
- {"version":3,"file":"ensureCallsStatus.js","sources":["../../../src/transactions/queries/ensureCallsStatus.ts"],"sourcesContent":["import { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { waitForCallsStatus, type Config } from \"@wagmi/core\";\n\nimport {\n waitForCallsStatusQueryKey,\n type WaitForCallsStatusData,\n} from \"wagmi/query\";\n\nexport type EnsureCallsStatusFn = (options: {\n id: string;\n}) => Promise<WaitForCallsStatusData>;\n\ntype EnsureCallsStatusFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: Config;\n isSafe?: boolean;\n}) => EnsureCallsStatusFn;\n\nexport const ensureCallsStatusFactory: EnsureCallsStatusFactory =\n ({\n queryClient = _queryClient,\n wagmiConfig = _wagmiConfig,\n isSafe = false,\n } = {}) =>\n async ({ id }) => {\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n const queryKey = waitForCallsStatusQueryKey({\n id,\n timeout, // important to include timeout into queryKey to match useAwaitCalls queryKey\n });\n const status = await queryClient.ensureQueryData({\n queryKey,\n queryFn: async () => {\n return waitForCallsStatus(wagmiConfig, {\n id,\n throwOnFailure: true,\n timeout,\n });\n },\n });\n\n return status;\n };\n"],"names":["ensureCallsStatusFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","id","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","queryKey","waitForCallsStatusQueryKey","status","ensureQueryData","queryFn","waitForCallsStatus","throwOnFailure"],"mappings":";;;;;;AAqBO,MAAMA,2BACXA,CAAC;AAAA,eACCC,aAAAA,GAAcC,WAAAA;AAAAA,eACdC,aAAAA,GAAcC,WAAAA;AAAAA,EACdC,MAAAA,GAAS;AACX,CAAA,GAAI,OACJ,OAAO;AAAA,EAAEC;AAAG,CAAA,KAAM;AAChB,EAAA,MAAMC,OAAAA,GAAUF,SAASG,uBAAAA,GAA0BC,MAAAA;AACnD,EAAA,MAAMC,WAAWC,0BAAAA,CAA2B;AAAA,IAC1CL,EAAAA;AAAAA,IACAC;AAAAA;AAAAA,GACD,CAAA;AACD,EAAA,MAAMK,MAAAA,GAAS,MAAMX,aAAAA,CAAYY,eAAAA,CAAgB;AAAA,IAC/CH,QAAAA;AAAAA,IACAI,SAAS,YAAY;AACnB,MAAA,OAAOC,mBAAmBZ,aAAAA,EAAa;AAAA,QACrCG,EAAAA;AAAAA,QACAU,cAAAA,EAAgB,IAAA;AAAA,QAChBT;AAAAA,OACD,CAAA;AAAA,IACH;AAAA,GACD,CAAA;AAED,EAAA,OAAOK,MAAAA;AACT;;;;"}
1
+ {"version":3,"file":"ensureCallsStatus.js","sources":["../../../src/transactions/queries/ensureCallsStatus.ts"],"sourcesContent":["import { isExternalConnectorWithSafeIframe } from \"@/core/state/externalProviderAtom\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { getAccount, waitForCallsStatus, type Config } from \"@wagmi/core\";\n\nimport {\n waitForCallsStatusQueryKey,\n type WaitForCallsStatusData,\n} from \"wagmi/query\";\n\nexport type EnsureCallsStatusFn = (options: {\n id: string;\n}) => Promise<WaitForCallsStatusData>;\n\ntype EnsureCallsStatusFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: Config;\n isSafe?: boolean;\n}) => EnsureCallsStatusFn;\n\nexport const ensureCallsStatusFactory: EnsureCallsStatusFactory =\n ({\n queryClient = _queryClient,\n wagmiConfig = _wagmiConfig,\n isSafe: _isSafe,\n } = {}) =>\n async ({ id }) => {\n const { connector } = getAccount(wagmiConfig);\n const isConnectorSafe = !!connector && isSafeConnector(connector);\n\n const isSafe =\n _isSafe ||\n isConnectorSafe ||\n (!!connector && (await isExternalConnectorWithSafeIframe(connector)));\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queryKey = waitForCallsStatusQueryKey({\n id,\n timeout, // important to include timeout into queryKey to match useAwaitCalls queryKey\n throwOnFailure: true,\n });\n const status = await queryClient.ensureQueryData({\n queryKey,\n queryFn: async () => {\n return waitForCallsStatus(wagmiConfig, {\n id,\n throwOnFailure: true,\n timeout,\n });\n },\n });\n\n return status;\n };\n"],"names":["ensureCallsStatusFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","_isSafe","id","connector","getAccount","isConnectorSafe","isSafeConnector","isExternalConnectorWithSafeIframe","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","queryKey","waitForCallsStatusQueryKey","throwOnFailure","status","ensureQueryData","queryFn","waitForCallsStatus"],"mappings":";;;;;;;;AAuBO,MAAMA,2BACXA,CAAC;AAAA,eACCC,aAAAA,GAAcC,WAAAA;AAAAA,eACdC,aAAAA,GAAcC,WAAAA;AAAAA,EACdC,MAAAA,EAAQC;AACV,CAAA,GAAI,OACJ,OAAO;AAAA,EAAEC;AAAG,CAAA,KAAM;AAChB,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAU,GAAIC,WAAWN,aAAW,CAAA;AAC5C,EAAA,MAAMO,eAAAA,GAAkB,CAAC,CAACF,SAAAA,IAAaG,gBAAgBH,SAAS,CAAA;AAEhE,EAAA,MAAMH,MAAAA,GACJC,WACAI,eAAAA,IACC,CAAC,CAACF,SAAAA,IAAc,MAAMI,kCAAkCJ,SAAS,CAAA;AAEpE,EAAA,MAAMK,OAAAA,GAAUR,SAASS,uBAAAA,GAA0BC,MAAAA;AAEnD,EAAA,MAAMC,WAAWC,0BAAAA,CAA2B;AAAA,IAC1CV,EAAAA;AAAAA,IACAM,OAAAA;AAAAA;AAAAA,IACAK,cAAAA,EAAgB;AAAA,GACjB,CAAA;AACD,EAAA,MAAMC,MAAAA,GAAS,MAAMlB,aAAAA,CAAYmB,eAAAA,CAAgB;AAAA,IAC/CJ,QAAAA;AAAAA,IACAK,SAAS,YAAY;AACnB,MAAA,OAAOC,mBAAmBnB,aAAAA,EAAa;AAAA,QACrCI,EAAAA;AAAAA,QACAW,cAAAA,EAAgB,IAAA;AAAA,QAChBL;AAAAA,OACD,CAAA;AAAA,IACH;AAAA,GACD,CAAA;AAED,EAAA,OAAOM,MAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensureTxReceipt.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAI1C,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,YAAY,CACnB,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAAC,EAChE,MAAM,GAAG,SAAS,CACnB,GAAG;IACF,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,KAAK,sBAAsB,GAAG,CAAC,MAAM,CAAC,EAAE;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,iBAAiB,CAAC;AAExB,eAAO,MAAM,sBAAsB,EAAE,sBAsClC,CAAC"}
1
+ {"version":3,"file":"ensureTxReceipt.d.ts","sourceRoot":"","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI3E,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAK1C,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,YAAY,CACnB,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAAC,EAChE,MAAM,GAAG,SAAS,CACnB,GAAG;IACF,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B,KACE,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEjC,KAAK,sBAAsB,GAAG,CAAC,MAAM,CAAC,EAAE;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,KAAK,iBAAiB,CAAC;AAExB,eAAO,MAAM,sBAAsB,EAAE,sBAgDlC,CAAC"}
@@ -7,23 +7,26 @@ import { SAFE_CALLS_WAIT_TIMEOUT } from '../../lib/constants/index.js';
7
7
  import 'wagmi/chains';
8
8
  import { getAccount, getConnectorClient } from '@wagmi/core';
9
9
  import { isSafeConnector } from '../../hooks/connectors/useIsGnosisSafeConnector.js';
10
+ import { isExternalConnectorWithSafeIframe } from '../../core/state/externalProviderAtom.js';
10
11
 
11
12
  const ensureTxReceiptFactory = ({
12
13
  queryClient: queryClient$1 = queryClient,
13
14
  wagmiConfig: wagmiConfig$1 = wagmiConfig,
14
- isSafe
15
+ isSafe: _isSafe
15
16
  } = {}) => async ({
16
17
  hash,
17
18
  chainId,
18
19
  confirmations,
19
20
  onReplaced
20
21
  }) => {
21
- const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : void 0;
22
- let config = wagmiConfig$1;
23
22
  const {
24
23
  connector
25
24
  } = getAccount(wagmiConfig$1);
26
- if (connector && isSafeConnector(connector)) {
25
+ const isConnectorSafe = !!connector && isSafeConnector(connector);
26
+ const isSafe = _isSafe || isConnectorSafe || !!connector && await isExternalConnectorWithSafeIframe(connector);
27
+ const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : void 0;
28
+ let config = wagmiConfig$1;
29
+ if (isConnectorSafe) {
27
30
  const safeClient = await getConnectorClient(wagmiConfig$1, {
28
31
  chainId,
29
32
  connector
@@ -1 +1 @@
1
- {"version":3,"file":"ensureTxReceipt.js","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"sourcesContent":["import type { UseAwaitTxParameters } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport { type ReplacementReturnType, type TransactionReceipt } from \"viem\";\n\nimport { waitForTransactionReceiptQueryOptions } from \"wagmi/query\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { type Chain } from \"wagmi/chains\";\nimport { getAccount, getConnectorClient } from \"@wagmi/core\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\n\ntype OnReplacedCb = (data: ReplacementReturnType<Chain>) => void;\n\nexport type EnsureTxReceiptFn = (\n options: MarkRequired<\n Pick<UseAwaitTxParameters, \"hash\" | \"chainId\" | \"confirmations\">,\n \"hash\" | \"chainId\"\n > & {\n onReplaced?: OnReplacedCb;\n }\n) => Promise<TransactionReceipt>;\n\ntype EnsureTxReceiptFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: typeof _wagmiConfig;\n isSafe?: boolean;\n}) => EnsureTxReceiptFn;\n\nexport const ensureTxReceiptFactory: EnsureTxReceiptFactory =\n ({ queryClient = _queryClient, wagmiConfig = _wagmiConfig, isSafe } = {}) =>\n async ({ hash, chainId, confirmations, onReplaced }) => {\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n let config = wagmiConfig;\n const { connector } = getAccount(wagmiConfig);\n // always use connector client if connected through native safe connector.\n // safe provider returns a safeTxHash that is different from a real tx hash.\n // if connected to safe through WalletConnect - publicClient returns a real tx hash.\n if (connector && isSafeConnector(connector)) {\n const safeClient = await getConnectorClient(wagmiConfig, {\n chainId,\n connector,\n });\n // force waitForTransactionReceiptQueryOptions to use SafeClient internally\n config = {\n ...wagmiConfig,\n getClient: (options) => {\n assert(!options || options.chainId === chainId, \"chainId mismatch\");\n return safeClient;\n },\n } as typeof wagmiConfig;\n }\n\n // wagmi/core waitForTransactionReceipt throws on receipt.status==\"reverted\",\n // unlike viem waitForTransactionReceipt which returns the receipt as is\n const queryOptions = waitForTransactionReceiptQueryOptions(config, {\n hash,\n chainId,\n confirmations,\n timeout,\n onReplaced,\n });\n\n const receipt = await queryClient.ensureQueryData(queryOptions);\n\n return receipt;\n };\n"],"names":["ensureTxReceiptFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","hash","chainId","confirmations","onReplaced","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","config","connector","getAccount","isSafeConnector","safeClient","getConnectorClient","getClient","options","assert","queryOptions","waitForTransactionReceiptQueryOptions","receipt","ensureQueryData"],"mappings":";;;;;;;;;;AA+BO,MAAMA,yBACXA,CAAC;AAAA,eAAEC,aAAAA,GAAcC,WAAAA;AAAAA,eAAcC,aAAAA,GAAcC,WAAAA;AAAAA,EAAcC;AAAO,CAAA,GAAI,OACtE,OAAO;AAAA,EAAEC,IAAAA;AAAAA,EAAMC,OAAAA;AAAAA,EAASC,aAAAA;AAAAA,EAAeC;AAAW,CAAA,KAAM;AACtD,EAAA,MAAMC,OAAAA,GAAUL,SAASM,uBAAAA,GAA0BC,MAAAA;AAEnD,EAAA,IAAIC,MAAAA,GAASV,aAAAA;AACb,EAAA,MAAM;AAAA,IAAEW;AAAAA,GAAU,GAAIC,WAAWZ,aAAW,CAAA;AAI5C,EAAA,IAAIW,SAAAA,IAAaE,eAAAA,CAAgBF,SAAS,CAAA,EAAG;AAC3C,IAAA,MAAMG,UAAAA,GAAa,MAAMC,kBAAAA,CAAmBf,aAAAA,EAAa;AAAA,MACvDI,OAAAA;AAAAA,MACAO;AAAAA,KACD,CAAA;AAEDD,IAAAA,MAAAA,GAAS;AAAA,MACP,GAAGV,aAAAA;AAAAA,MACHgB,WAAYC,CAAAA,OAAAA,KAAY;AACtBC,QAAAA,MAAAA,CAAO,CAACD,OAAAA,IAAWA,OAAAA,CAAQb,OAAAA,KAAYA,SAAS,kBAAkB,CAAA;AAClE,QAAA,OAAOU,UAAAA;AAAAA,MACT;AAAA,KACF;AAAA,EACF;AAIA,EAAA,MAAMK,YAAAA,GAAeC,sCAAsCV,MAAAA,EAAQ;AAAA,IACjEP,IAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAE,OAAAA;AAAAA,IACAD;AAAAA,GACD,CAAA;AAED,EAAA,MAAMe,OAAAA,GAAU,MAAMvB,aAAAA,CAAYwB,eAAAA,CAAgBH,YAAY,CAAA;AAE9D,EAAA,OAAOE,OAAAA;AACT;;;;"}
1
+ {"version":3,"file":"ensureTxReceipt.js","sources":["../../../src/transactions/queries/ensureTxReceipt.ts"],"sourcesContent":["import type { UseAwaitTxParameters } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { queryClient as _queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig as _wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nimport { assert, type MarkRequired } from \"ts-essentials\";\nimport { type ReplacementReturnType, type TransactionReceipt } from \"viem\";\n\nimport { waitForTransactionReceiptQueryOptions } from \"wagmi/query\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\nimport { type Chain } from \"wagmi/chains\";\nimport { getAccount, getConnectorClient } from \"@wagmi/core\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\nimport { isExternalConnectorWithSafeIframe } from \"@/core/state/externalProviderAtom\";\n\ntype OnReplacedCb = (data: ReplacementReturnType<Chain>) => void;\n\nexport type EnsureTxReceiptFn = (\n options: MarkRequired<\n Pick<UseAwaitTxParameters, \"hash\" | \"chainId\" | \"confirmations\">,\n \"hash\" | \"chainId\"\n > & {\n onReplaced?: OnReplacedCb;\n }\n) => Promise<TransactionReceipt>;\n\ntype EnsureTxReceiptFactory = (params?: {\n queryClient?: QueryClient;\n wagmiConfig?: typeof _wagmiConfig;\n isSafe?: boolean;\n}) => EnsureTxReceiptFn;\n\nexport const ensureTxReceiptFactory: EnsureTxReceiptFactory =\n ({\n queryClient = _queryClient,\n wagmiConfig = _wagmiConfig,\n isSafe: _isSafe,\n } = {}) =>\n async ({ hash, chainId, confirmations, onReplaced }) => {\n const { connector } = getAccount(wagmiConfig);\n const isConnectorSafe = !!connector && isSafeConnector(connector);\n const isSafe =\n _isSafe ||\n isConnectorSafe ||\n (!!connector && (await isExternalConnectorWithSafeIframe(connector)));\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n let config = wagmiConfig;\n // always use connector client if connected through native safe connector.\n // safe provider returns a safeTxHash that is different from a real tx hash.\n // if connected to safe through WalletConnect - publicClient returns a real tx hash.\n if (isConnectorSafe) {\n const safeClient = await getConnectorClient(wagmiConfig, {\n chainId,\n connector,\n });\n // force waitForTransactionReceiptQueryOptions to use SafeClient internally\n config = {\n ...wagmiConfig,\n getClient: (options) => {\n assert(!options || options.chainId === chainId, \"chainId mismatch\");\n return safeClient;\n },\n } as typeof wagmiConfig;\n }\n\n // wagmi/core waitForTransactionReceipt throws on receipt.status==\"reverted\",\n // unlike viem waitForTransactionReceipt which returns the receipt as is\n const queryOptions = waitForTransactionReceiptQueryOptions(config, {\n hash,\n chainId,\n confirmations,\n timeout,\n onReplaced,\n });\n\n const receipt = await queryClient.ensureQueryData(queryOptions);\n\n return receipt;\n };\n"],"names":["ensureTxReceiptFactory","queryClient","_queryClient","wagmiConfig","_wagmiConfig","isSafe","_isSafe","hash","chainId","confirmations","onReplaced","connector","getAccount","isConnectorSafe","isSafeConnector","isExternalConnectorWithSafeIframe","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","config","safeClient","getConnectorClient","getClient","options","assert","queryOptions","waitForTransactionReceiptQueryOptions","receipt","ensureQueryData"],"mappings":";;;;;;;;;;;AAgCO,MAAMA,yBACXA,CAAC;AAAA,eACCC,aAAAA,GAAcC,WAAAA;AAAAA,eACdC,aAAAA,GAAcC,WAAAA;AAAAA,EACdC,MAAAA,EAAQC;AACV,CAAA,GAAI,OACJ,OAAO;AAAA,EAAEC,IAAAA;AAAAA,EAAMC,OAAAA;AAAAA,EAASC,aAAAA;AAAAA,EAAeC;AAAW,CAAA,KAAM;AACtD,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAU,GAAIC,WAAWT,aAAW,CAAA;AAC5C,EAAA,MAAMU,eAAAA,GAAkB,CAAC,CAACF,SAAAA,IAAaG,gBAAgBH,SAAS,CAAA;AAChE,EAAA,MAAMN,MAAAA,GACJC,WACAO,eAAAA,IACC,CAAC,CAACF,SAAAA,IAAc,MAAMI,kCAAkCJ,SAAS,CAAA;AAEpE,EAAA,MAAMK,OAAAA,GAAUX,SAASY,uBAAAA,GAA0BC,MAAAA;AAEnD,EAAA,IAAIC,MAAAA,GAAShB,aAAAA;AAIb,EAAA,IAAIU,eAAAA,EAAiB;AACnB,IAAA,MAAMO,UAAAA,GAAa,MAAMC,kBAAAA,CAAmBlB,aAAAA,EAAa;AAAA,MACvDK,OAAAA;AAAAA,MACAG;AAAAA,KACD,CAAA;AAEDQ,IAAAA,MAAAA,GAAS;AAAA,MACP,GAAGhB,aAAAA;AAAAA,MACHmB,WAAYC,CAAAA,OAAAA,KAAY;AACtBC,QAAAA,MAAAA,CAAO,CAACD,OAAAA,IAAWA,OAAAA,CAAQf,OAAAA,KAAYA,SAAS,kBAAkB,CAAA;AAClE,QAAA,OAAOY,UAAAA;AAAAA,MACT;AAAA,KACF;AAAA,EACF;AAIA,EAAA,MAAMK,YAAAA,GAAeC,sCAAsCP,MAAAA,EAAQ;AAAA,IACjEZ,IAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAO,OAAAA;AAAAA,IACAN;AAAAA,GACD,CAAA;AAED,EAAA,MAAMiB,OAAAA,GAAU,MAAM1B,aAAAA,CAAY2B,eAAAA,CAAgBH,YAAY,CAAA;AAE9D,EAAA,OAAOE,OAAAA;AACT;;;;"}
@@ -1,7 +1,13 @@
1
- export declare const finalizeStandoloneTxsEffect: import('jotai').Atom<void> & {
1
+ export declare const finalizeStandaloneTxsEffect: import('jotai').Atom<void> & {
2
+ effect: import('jotai-effect').Effect;
3
+ };
4
+ export declare const finalizeStandaloneSafeTxsEffect: import('jotai').Atom<void> & {
2
5
  effect: import('jotai-effect').Effect;
3
6
  };
4
7
  export declare const finalizeBatchTxsEffect: import('jotai').Atom<void> & {
5
8
  effect: import('jotai-effect').Effect;
6
9
  };
10
+ export declare const finalizeBatchSafeTxsEffect: import('jotai').Atom<void> & {
11
+ effect: import('jotai-effect').Effect;
12
+ };
7
13
  //# sourceMappingURL=finalize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../../../src/transactions/state/effects/finalize.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,2BAA2B;;CAOtC,CAAC;AAKH,eAAO,MAAM,sBAAsB;;CAWjC,CAAC"}
1
+ {"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../../../src/transactions/state/effects/finalize.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,2BAA2B;;CAStC,CAAC;AAIH,eAAO,MAAM,+BAA+B;;CA0B1C,CAAC;AAKH,eAAO,MAAM,sBAAsB;;CAajC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;CA0BrC,CAAC"}
@@ -2,27 +2,61 @@ import { atomEffect } from 'jotai-effect';
2
2
  import { allPendingStandaloneTransactionItemsAtom, allPendingBatchTransactionItemsAtom } from '../transactionsAtom.js';
3
3
  import { finalizeStandaloneTxAtom, finalizeBatchTxAtom } from '../transactionsActionAtom.js';
4
4
  import { transactionLogger } from '../../logger.js';
5
- import { accountAtom } from '../../../lib/web3/wagmi/external.js';
5
+ import { accountAtom, addressAtom } from '../../../lib/web3/wagmi/external.js';
6
+ import { isSafeConnector } from '../../../hooks/connectors/useIsGnosisSafeConnector.js';
7
+ import { isGnosisSafeTx } from '../../utils.js';
6
8
 
7
9
  let hasRunStandaloneEffect = false;
8
- const finalizeStandoloneTxsEffect = atomEffect((get, set) => {
10
+ const finalizeStandaloneTxsEffect = atomEffect((get, set) => {
9
11
  if (hasRunStandaloneEffect) return;
10
12
  hasRunStandaloneEffect = true;
11
- const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom);
13
+ const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom).filter((tx) => !isGnosisSafeTx(tx));
12
14
  transactionLogger.log("Effect::pendingStandaloneTxs", pendingStandaloneTxs);
13
15
  pendingStandaloneTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));
14
16
  });
17
+ let hasRunStandaloneSafeEffect = false;
18
+ const finalizeStandaloneSafeTxsEffect = atomEffect((get, set) => {
19
+ if (hasRunStandaloneSafeEffect) return;
20
+ const {
21
+ connector,
22
+ address
23
+ } = get(accountAtom);
24
+ const connectedSafe = connector && isSafeConnector(connector);
25
+ if (connectedSafe && !!connector.getAccounts && !!connector.getChainId && address) {
26
+ hasRunStandaloneSafeEffect = true;
27
+ const addressLower = address.toLowerCase();
28
+ const pendingSafeTxs = get(allPendingStandaloneTransactionItemsAtom).filter(isGnosisSafeTx).filter((tx) => tx.account.toLowerCase() === addressLower);
29
+ transactionLogger.log("Effect::pendingSafeTxs", pendingSafeTxs);
30
+ pendingSafeTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));
31
+ }
32
+ });
15
33
  let hasRunBatchEffect = false;
16
34
  const finalizeBatchTxsEffect = atomEffect((get, set) => {
17
35
  if (hasRunBatchEffect) return;
18
- const account = get(accountAtom);
19
- if (account) {
36
+ const address = get(addressAtom);
37
+ if (address) {
20
38
  hasRunBatchEffect = true;
21
- const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom);
39
+ const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom).filter((tx) => !isGnosisSafeTx(tx));
22
40
  transactionLogger.log("Effect::pendingBatchTxs", pendingBatchTxs);
23
41
  pendingBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));
24
42
  }
25
43
  });
44
+ let hasRunBatchSafeEffect = false;
45
+ const finalizeBatchSafeTxsEffect = atomEffect((get, set) => {
46
+ if (hasRunBatchSafeEffect) return;
47
+ const {
48
+ connector,
49
+ address
50
+ } = get(accountAtom);
51
+ const connectedSafe = connector && isSafeConnector(connector);
52
+ if (connectedSafe && !!connector.getAccounts && !!connector.getChainId && address) {
53
+ hasRunBatchSafeEffect = true;
54
+ const addressLower = address.toLowerCase();
55
+ const pendingSafeBatchTxs = get(allPendingBatchTransactionItemsAtom).filter(isGnosisSafeTx).filter((tx) => tx.account.toLowerCase() === addressLower);
56
+ transactionLogger.log("Effect::pendingSafeBatchTxs", pendingSafeBatchTxs);
57
+ pendingSafeBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));
58
+ }
59
+ });
26
60
 
27
- export { finalizeBatchTxsEffect, finalizeStandoloneTxsEffect };
61
+ export { finalizeBatchSafeTxsEffect, finalizeBatchTxsEffect, finalizeStandaloneSafeTxsEffect, finalizeStandaloneTxsEffect };
28
62
  //# sourceMappingURL=finalize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"finalize.js","sources":["../../../../src/transactions/state/effects/finalize.ts"],"sourcesContent":["import { atomEffect } from \"jotai-effect\";\nimport {\n allPendingBatchTransactionItemsAtom,\n allPendingStandaloneTransactionItemsAtom,\n} from \"../transactionsAtom\";\nimport {\n finalizeBatchTxAtom,\n finalizeStandaloneTxAtom,\n} from \"../transactionsActionAtom\";\n\nimport { transactionLogger } from \"../../logger\";\nimport { accountAtom } from \"@/lib/web3/wagmi/external\";\n\n// run only once on app load\nlet hasRunStandaloneEffect = false;\nexport const finalizeStandoloneTxsEffect = atomEffect((get, set) => {\n if (hasRunStandaloneEffect) return;\n hasRunStandaloneEffect = true;\n\n const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingStandaloneTxs\", pendingStandaloneTxs);\n pendingStandaloneTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));\n});\n\n// run only once after account is connected and available in atom\n// because waitForCallsStatus requires wallet to be connected\nlet hasRunBatchEffect = false;\nexport const finalizeBatchTxsEffect = atomEffect((get, set) => {\n if (hasRunBatchEffect) return;\n\n const account = get(accountAtom);\n if (account) {\n hasRunBatchEffect = true;\n\n const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom);\n transactionLogger.log(\"Effect::pendingBatchTxs\", pendingBatchTxs);\n pendingBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));\n }\n});\n"],"names":["hasRunStandaloneEffect","finalizeStandoloneTxsEffect","atomEffect","get","set","pendingStandaloneTxs","allPendingStandaloneTransactionItemsAtom","transactionLogger","log","forEach","tx","finalizeStandaloneTxAtom","hasRunBatchEffect","finalizeBatchTxsEffect","account","accountAtom","pendingBatchTxs","allPendingBatchTransactionItemsAtom","finalizeBatchTxAtom"],"mappings":";;;;;;AAcA,IAAIA,sBAAAA,GAAyB,KAAA;AACtB,MAAMC,2BAAAA,GAA8BC,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAClE,EAAA,IAAIJ,sBAAAA,EAAwB;AAC5BA,EAAAA,sBAAAA,GAAyB,IAAA;AAEzB,EAAA,MAAMK,oBAAAA,GAAuBF,IAAIG,wCAAwC,CAAA;AACzEC,EAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,gCAAgCH,oBAAoB,CAAA;AAC1EA,EAAAA,oBAAAA,CAAqBI,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIO,wBAAAA,EAA0BD,EAAE,CAAC,CAAA;AACxE,CAAC;AAID,IAAIE,iBAAAA,GAAoB,KAAA;AACjB,MAAMC,sBAAAA,GAAyBX,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAC7D,EAAA,IAAIQ,iBAAAA,EAAmB;AAEvB,EAAA,MAAME,OAAAA,GAAUX,IAAIY,WAAW,CAAA;AAC/B,EAAA,IAAID,OAAAA,EAAS;AACXF,IAAAA,iBAAAA,GAAoB,IAAA;AAEpB,IAAA,MAAMI,eAAAA,GAAkBb,IAAIc,mCAAmC,CAAA;AAC/DV,IAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,2BAA2BQ,eAAe,CAAA;AAChEA,IAAAA,eAAAA,CAAgBP,OAAAA,CAASC,CAAAA,EAAAA,KAAON,GAAAA,CAAIc,mBAAAA,EAAqBR,EAAE,CAAC,CAAA;AAAA,EAC9D;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"finalize.js","sources":["../../../../src/transactions/state/effects/finalize.ts"],"sourcesContent":["import { atomEffect } from \"jotai-effect\";\nimport {\n allPendingBatchTransactionItemsAtom,\n allPendingStandaloneTransactionItemsAtom,\n} from \"../transactionsAtom\";\nimport {\n finalizeBatchTxAtom,\n finalizeStandaloneTxAtom,\n} from \"../transactionsActionAtom\";\n\nimport { transactionLogger } from \"../../logger\";\nimport { accountAtom, addressAtom } from \"@/lib/web3/wagmi/external\";\nimport { isSafeConnector } from \"@/hooks/connectors/useIsGnosisSafeConnector\";\nimport { isGnosisSafeTx } from \"@/transactions/utils\";\n\n// run only once on app load\nlet hasRunStandaloneEffect = false;\nexport const finalizeStandaloneTxsEffect = atomEffect((get, set) => {\n if (hasRunStandaloneEffect) return;\n hasRunStandaloneEffect = true;\n\n const pendingStandaloneTxs = get(allPendingStandaloneTransactionItemsAtom)\n // txs through safe are handled in another effect\n .filter((tx) => !isGnosisSafeTx(tx));\n transactionLogger.log(\"Effect::pendingStandaloneTxs\", pendingStandaloneTxs);\n pendingStandaloneTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));\n});\n\n// waitForTransactionReceipt(connectorClient,{safeTxHash}) requires wallet to be connected through safe connector\nlet hasRunStandaloneSafeEffect = false;\nexport const finalizeStandaloneSafeTxsEffect = atomEffect((get, set) => {\n if (hasRunStandaloneSafeEffect) return;\n const { connector, address } = get(accountAtom);\n const connectedSafe = connector && isSafeConnector(connector);\n\n // try finalize when:\n // - connected through safe connector\n // - all required methods are available for ensureTxReceipt(){getConnectorClient()}\n // otherwise it will throw ConnectorUnavailableReconnectingError\n if (\n connectedSafe &&\n !!connector.getAccounts &&\n !!connector.getChainId &&\n address\n ) {\n hasRunStandaloneSafeEffect = true;\n\n const addressLower = address.toLowerCase();\n\n const pendingSafeTxs = get(allPendingStandaloneTransactionItemsAtom)\n .filter(isGnosisSafeTx)\n // only trigger Safe tx finalization if the same Safe that made the tx is connected\n .filter((tx) => tx.account.toLowerCase() === addressLower);\n transactionLogger.log(\"Effect::pendingSafeTxs\", pendingSafeTxs);\n pendingSafeTxs.forEach((tx) => set(finalizeStandaloneTxAtom, tx));\n }\n});\n\n// run only once after account is connected and available in atom\n// because waitForCallsStatus requires wallet to be connected\nlet hasRunBatchEffect = false;\nexport const finalizeBatchTxsEffect = atomEffect((get, set) => {\n if (hasRunBatchEffect) return;\n\n const address = get(addressAtom);\n if (address) {\n hasRunBatchEffect = true;\n\n const pendingBatchTxs = get(allPendingBatchTransactionItemsAtom)\n // batch txs through safe are handled in another effect\n .filter((tx) => !isGnosisSafeTx(tx));\n transactionLogger.log(\"Effect::pendingBatchTxs\", pendingBatchTxs);\n pendingBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));\n }\n});\n\nlet hasRunBatchSafeEffect = false;\nexport const finalizeBatchSafeTxsEffect = atomEffect((get, set) => {\n if (hasRunBatchSafeEffect) return;\n const { connector, address } = get(accountAtom);\n const connectedSafe = connector && isSafeConnector(connector);\n\n // try finalize when:\n // - connected through safe connector\n // - all required methods are available for ensureCallsStatus(){getConnectorClient()}\n // otherwise it will throw ConnectorUnavailableReconnectingError\n if (\n connectedSafe &&\n !!connector.getAccounts &&\n !!connector.getChainId &&\n address\n ) {\n hasRunBatchSafeEffect = true;\n\n const addressLower = address.toLowerCase();\n\n const pendingSafeBatchTxs = get(allPendingBatchTransactionItemsAtom)\n .filter(isGnosisSafeTx)\n // only trigger Safe tx finalization if the same Safe that made the tx is connected\n .filter((tx) => tx.account.toLowerCase() === addressLower);\n transactionLogger.log(\"Effect::pendingSafeBatchTxs\", pendingSafeBatchTxs);\n pendingSafeBatchTxs.forEach((tx) => set(finalizeBatchTxAtom, tx));\n }\n});\n"],"names":["hasRunStandaloneEffect","finalizeStandaloneTxsEffect","atomEffect","get","set","pendingStandaloneTxs","allPendingStandaloneTransactionItemsAtom","filter","tx","isGnosisSafeTx","transactionLogger","log","forEach","finalizeStandaloneTxAtom","hasRunStandaloneSafeEffect","finalizeStandaloneSafeTxsEffect","connector","address","accountAtom","connectedSafe","isSafeConnector","getAccounts","getChainId","addressLower","toLowerCase","pendingSafeTxs","account","hasRunBatchEffect","finalizeBatchTxsEffect","addressAtom","pendingBatchTxs","allPendingBatchTransactionItemsAtom","finalizeBatchTxAtom","hasRunBatchSafeEffect","finalizeBatchSafeTxsEffect","pendingSafeBatchTxs"],"mappings":";;;;;;;;AAgBA,IAAIA,sBAAAA,GAAyB,KAAA;AACtB,MAAMC,2BAAAA,GAA8BC,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAClE,EAAA,IAAIJ,sBAAAA,EAAwB;AAC5BA,EAAAA,sBAAAA,GAAyB,IAAA;AAEzB,EAAA,MAAMK,oBAAAA,GAAuBF,IAAIG,wCAAwC,CAAA,CAEtEC,OAAQC,CAAAA,EAAAA,KAAO,CAACC,cAAAA,CAAeD,EAAE,CAAC,CAAA;AACrCE,EAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,gCAAgCN,oBAAoB,CAAA;AAC1EA,EAAAA,oBAAAA,CAAqBO,OAAAA,CAASJ,CAAAA,EAAAA,KAAOJ,GAAAA,CAAIS,wBAAAA,EAA0BL,EAAE,CAAC,CAAA;AACxE,CAAC;AAGD,IAAIM,0BAAAA,GAA6B,KAAA;AAC1B,MAAMC,+BAAAA,GAAkCb,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AACtE,EAAA,IAAIU,0BAAAA,EAA4B;AAChC,EAAA,MAAM;AAAA,IAAEE,SAAAA;AAAAA,IAAWC;AAAAA,GAAQ,GAAId,IAAIe,WAAW,CAAA;AAC9C,EAAA,MAAMC,aAAAA,GAAgBH,SAAAA,IAAaI,eAAAA,CAAgBJ,SAAS,CAAA;AAM5D,EAAA,IACEG,aAAAA,IACA,CAAC,CAACH,SAAAA,CAAUK,eACZ,CAAC,CAACL,SAAAA,CAAUM,UAAAA,IACZL,OAAAA,EACA;AACAH,IAAAA,0BAAAA,GAA6B,IAAA;AAE7B,IAAA,MAAMS,YAAAA,GAAeN,QAAQO,WAAAA,EAAY;AAEzC,IAAA,MAAMC,cAAAA,GAAiBtB,GAAAA,CAAIG,wCAAwC,CAAA,CAChEC,MAAAA,CAAOE,cAAc,CAAA,CAErBF,MAAAA,CAAQC,CAAAA,EAAAA,KAAOA,EAAAA,CAAGkB,OAAAA,CAAQF,WAAAA,OAAkBD,YAAY,CAAA;AAC3Db,IAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,0BAA0Bc,cAAc,CAAA;AAC9DA,IAAAA,cAAAA,CAAeb,OAAAA,CAASJ,CAAAA,EAAAA,KAAOJ,GAAAA,CAAIS,wBAAAA,EAA0BL,EAAE,CAAC,CAAA;AAAA,EAClE;AACF,CAAC;AAID,IAAImB,iBAAAA,GAAoB,KAAA;AACjB,MAAMC,sBAAAA,GAAyB1B,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AAC7D,EAAA,IAAIuB,iBAAAA,EAAmB;AAEvB,EAAA,MAAMV,OAAAA,GAAUd,IAAI0B,WAAW,CAAA;AAC/B,EAAA,IAAIZ,OAAAA,EAAS;AACXU,IAAAA,iBAAAA,GAAoB,IAAA;AAEpB,IAAA,MAAMG,eAAAA,GAAkB3B,IAAI4B,mCAAmC,CAAA,CAE5DxB,OAAQC,CAAAA,EAAAA,KAAO,CAACC,cAAAA,CAAeD,EAAE,CAAC,CAAA;AACrCE,IAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,2BAA2BmB,eAAe,CAAA;AAChEA,IAAAA,eAAAA,CAAgBlB,OAAAA,CAASJ,CAAAA,EAAAA,KAAOJ,GAAAA,CAAI4B,mBAAAA,EAAqBxB,EAAE,CAAC,CAAA;AAAA,EAC9D;AACF,CAAC;AAED,IAAIyB,qBAAAA,GAAwB,KAAA;AACrB,MAAMC,0BAAAA,GAA6BhC,UAAAA,CAAW,CAACC,GAAAA,EAAKC,GAAAA,KAAQ;AACjE,EAAA,IAAI6B,qBAAAA,EAAuB;AAC3B,EAAA,MAAM;AAAA,IAAEjB,SAAAA;AAAAA,IAAWC;AAAAA,GAAQ,GAAId,IAAIe,WAAW,CAAA;AAC9C,EAAA,MAAMC,aAAAA,GAAgBH,SAAAA,IAAaI,eAAAA,CAAgBJ,SAAS,CAAA;AAM5D,EAAA,IACEG,aAAAA,IACA,CAAC,CAACH,SAAAA,CAAUK,eACZ,CAAC,CAACL,SAAAA,CAAUM,UAAAA,IACZL,OAAAA,EACA;AACAgB,IAAAA,qBAAAA,GAAwB,IAAA;AAExB,IAAA,MAAMV,YAAAA,GAAeN,QAAQO,WAAAA,EAAY;AAEzC,IAAA,MAAMW,mBAAAA,GAAsBhC,GAAAA,CAAI4B,mCAAmC,CAAA,CAChExB,MAAAA,CAAOE,cAAc,CAAA,CAErBF,MAAAA,CAAQC,CAAAA,EAAAA,KAAOA,EAAAA,CAAGkB,OAAAA,CAAQF,WAAAA,OAAkBD,YAAY,CAAA;AAC3Db,IAAAA,iBAAAA,CAAkBC,GAAAA,CAAI,+BAA+BwB,mBAAmB,CAAA;AACxEA,IAAAA,mBAAAA,CAAoBvB,OAAAA,CAASJ,CAAAA,EAAAA,KAAOJ,GAAAA,CAAI4B,mBAAAA,EAAqBxB,EAAE,CAAC,CAAA;AAAA,EAClE;AACF,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useActivateEffects.d.ts","sourceRoot":"","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"names":[],"mappings":"AAMA,wBAAgB,kBAAkB,SAIjC"}
1
+ {"version":3,"file":"useActivateEffects.d.ts","sourceRoot":"","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"names":[],"mappings":"AAQA,wBAAgB,kBAAkB,SAMjC"}
@@ -1,9 +1,11 @@
1
1
  import { useAtom } from '../../../core/store.js';
2
- import { finalizeStandoloneTxsEffect, finalizeBatchTxsEffect } from '../effects/finalize.js';
2
+ import { finalizeStandaloneTxsEffect, finalizeStandaloneSafeTxsEffect, finalizeBatchTxsEffect, finalizeBatchSafeTxsEffect } from '../effects/finalize.js';
3
3
 
4
4
  function useActivateEffects() {
5
- useAtom(finalizeStandoloneTxsEffect);
5
+ useAtom(finalizeStandaloneTxsEffect);
6
+ useAtom(finalizeStandaloneSafeTxsEffect);
6
7
  useAtom(finalizeBatchTxsEffect);
8
+ useAtom(finalizeBatchSafeTxsEffect);
7
9
  }
8
10
 
9
11
  export { useActivateEffects };
@@ -1 +1 @@
1
- {"version":3,"file":"useActivateEffects.js","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport {\n finalizeBatchTxsEffect,\n finalizeStandoloneTxsEffect,\n} from \"@/transactions/state/effects/finalize\";\n\nexport function useActivateEffects() {\n // atomEffects must be rendered for subscriptions to activate\n useAtom(finalizeStandoloneTxsEffect);\n useAtom(finalizeBatchTxsEffect);\n}\n"],"names":["useActivateEffects","useAtom","finalizeStandoloneTxsEffect","finalizeBatchTxsEffect"],"mappings":";;;AAMO,SAAAA,kBAAAA,GAAA;AAELC,EAAAA,OAAAA,CAAQC,2BAA2B,CAAA;AACnCD,EAAAA,OAAAA,CAAQE,sBAAsB,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useActivateEffects.js","sources":["../../../../src/transactions/state/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport {\n finalizeBatchTxsEffect,\n finalizeStandaloneTxsEffect,\n finalizeStandaloneSafeTxsEffect,\n finalizeBatchSafeTxsEffect,\n} from \"@/transactions/state/effects/finalize\";\n\nexport function useActivateEffects() {\n // atomEffects must be rendered for subscriptions to activate\n useAtom(finalizeStandaloneTxsEffect);\n useAtom(finalizeStandaloneSafeTxsEffect);\n useAtom(finalizeBatchTxsEffect);\n useAtom(finalizeBatchSafeTxsEffect);\n}\n"],"names":["useActivateEffects","useAtom","finalizeStandaloneTxsEffect","finalizeStandaloneSafeTxsEffect","finalizeBatchTxsEffect","finalizeBatchSafeTxsEffect"],"mappings":";;;AAQO,SAAAA,kBAAAA,GAAA;AAELC,EAAAA,OAAAA,CAAQC,2BAA2B,CAAA;AACnCD,EAAAA,OAAAA,CAAQE,+BAA+B,CAAA;AACvCF,EAAAA,OAAAA,CAAQG,sBAAsB,CAAA;AAC9BH,EAAAA,OAAAA,CAAQI,0BAA0B,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactionsActionAtom.d.ts","sourceRoot":"","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAsBlB,eAAO,MAAM,SAAS;;CAoBrB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;CA0BnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;CA8B9B,CAAC;AAEH,eAAO,MAAM,KAAK,GAAU,aAAa,kBAAkB,kBAE1D,CAAC"}
1
+ {"version":3,"file":"transactionsActionAtom.d.ts","sourceRoot":"","sources":["../../../src/transactions/state/transactionsActionAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AA0BlB,eAAO,MAAM,SAAS;;CAuBrB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;CAkCnC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;CA8B9B,CAAC;AAEH,eAAO,MAAM,KAAK,GAAU,aAAa,kBAAkB,kBAE1D,CAAC"}
@@ -5,18 +5,24 @@ import { ensureTxReceiptFactory } from '../queries/ensureTxReceipt.js';
5
5
  import { WaitForTransactionReceiptTimeoutError, TransactionReceiptNotFoundError, WaitForCallsStatusTimeoutError, MethodNotSupportedRpcError } from 'viem';
6
6
  import { transactionLogger } from '../logger.js';
7
7
  import { transactionsAtom } from './transactionsAtom.js';
8
- import { isStandaloneTransactionItem, isBatchTransactionItem } from '../utils.js';
9
- import { accountAtom } from '../../lib/web3/wagmi/external.js';
8
+ import { isGnosisSafeTx, isStandaloneTransactionItem, isBatchTransactionItem } from '../utils.js';
10
9
  import { assert } from 'ts-essentials';
10
+ import { accountAtom } from '../../lib/web3/wagmi/external.js';
11
11
 
12
12
  const addTxAtom = atom(null, async (get, set, transaction) => {
13
- const account = get(accountAtom);
14
- assert(account, "addTxAtom: account is required");
13
+ const {
14
+ connector,
15
+ address
16
+ } = get(accountAtom);
17
+ assert(connector && address, "connector and address are required");
15
18
  const txWithMeta = {
16
19
  ...transaction,
17
- account,
20
+ account: address,
18
21
  timestamp: Date.now(),
19
- dropped: false
22
+ dropped: false,
23
+ connectorData: {
24
+ type: connector.type
25
+ }
20
26
  };
21
27
  set(transactionsAtom, (current) => assignTx(current, txWithMeta));
22
28
  if (isStandaloneTransactionItem(txWithMeta)) {
@@ -30,18 +36,30 @@ const finalizeStandaloneTxAtom = atom(null, async (_, set, transaction) => {
30
36
  ...transaction
31
37
  };
32
38
  const ensureTxReceipt = ensureTxReceiptFactory();
39
+ const isTxThroughSafe = isGnosisSafeTx(finalizedTx);
33
40
  try {
34
- finalizedTx.receipt = await ensureTxReceipt({
35
- hash: transaction.transactionHash,
36
- chainId: transaction.chainId
41
+ const txReceipt = await ensureTxReceipt({
42
+ hash: finalizedTx.transactionHash,
43
+ chainId: finalizedTx.chainId
37
44
  });
45
+ finalizedTx.receipt = txReceipt;
38
46
  } catch (error) {
39
47
  if (error instanceof WaitForTransactionReceiptTimeoutError || error instanceof TransactionReceiptNotFoundError) {
40
48
  finalizedTx.dropped = true;
41
- transactionLogger.error(`finalizeStandaloneTxAtom::Transaction ${transaction.transactionHash} dropped with error: ${error.message}`);
49
+ transactionLogger.error("tx dropped", {
50
+ error,
51
+ finalizedTx,
52
+ isTxThroughSafe
53
+ });
42
54
  } else throw error;
43
55
  } finally {
44
- set(transactionsAtom, (current) => assignTx(current, finalizedTx));
56
+ if (finalizedTx.receipt || finalizedTx.dropped) {
57
+ set(transactionsAtom, (current) => assignTx(current, finalizedTx));
58
+ transactionLogger.log("tx finalized", {
59
+ finalizedTx,
60
+ isTxThroughSafe
61
+ });
62
+ }
45
63
  }
46
64
  });
47
65
  const finalizeBatchTxAtom = atom(null, async (_, set, transaction) => {
@@ -54,20 +72,30 @@ const finalizeBatchTxAtom = atom(null, async (_, set, transaction) => {
54
72
  receipts,
55
73
  status
56
74
  } = await ensureCallsStatus({
57
- id: transaction.callsId
75
+ id: finalizedTx.callsId
58
76
  });
59
77
  finalizedTx.callsStatus = status;
60
78
  finalizedTx.receipt = receipts?.[receipts.length - 1];
61
79
  } catch (error) {
62
80
  if (error instanceof WaitForCallsStatusTimeoutError || error instanceof MethodNotSupportedRpcError) {
63
81
  finalizedTx.dropped = true;
64
- transactionLogger.error(`finalizeBatchTxAtom::Batch transaction ${transaction.callsId} dropped with error: ${error.message}`);
82
+ transactionLogger.error("batch tx dropped", {
83
+ error,
84
+ finalizedTx
85
+ });
65
86
  } else {
66
87
  finalizedTx.callsStatus = "failure";
88
+ transactionLogger.error("batch tx failed", {
89
+ error,
90
+ finalizedTx
91
+ });
67
92
  throw error;
68
93
  }
69
94
  } finally {
70
95
  set(transactionsAtom, (current) => assignTx(current, finalizedTx));
96
+ transactionLogger.log("batch tx finalized", {
97
+ finalizedTx
98
+ });
71
99
  }
72
100
  });
73
101
  const addTx = async (transaction) => {
@@ -75,7 +103,7 @@ const addTx = async (transaction) => {
75
103
  };
76
104
  function sanitizeTx(tx) {
77
105
  if (isBatchTransactionItem(tx)) {
78
- return {
106
+ const txItem2 = {
79
107
  action: tx.action,
80
108
  account: tx.account,
81
109
  chainId: tx.chainId,
@@ -86,8 +114,14 @@ function sanitizeTx(tx) {
86
114
  receipt: tx.receipt,
87
115
  transactionSpecificData: tx.transactionSpecificData
88
116
  };
117
+ if (tx.connectorData) {
118
+ txItem2.connectorData = {
119
+ type: tx.connectorData.type
120
+ };
121
+ }
122
+ return txItem2;
89
123
  }
90
- return {
124
+ const txItem = {
91
125
  action: tx.action,
92
126
  chainId: tx.chainId,
93
127
  account: tx.account,
@@ -97,6 +131,12 @@ function sanitizeTx(tx) {
97
131
  receipt: tx.receipt,
98
132
  transactionSpecificData: tx.transactionSpecificData
99
133
  };
134
+ if (tx.connectorData) {
135
+ txItem.connectorData = {
136
+ type: tx.connectorData.type
137
+ };
138
+ }
139
+ return txItem;
100
140
  }
101
141
  function assignTx(currentTransactions, transaction) {
102
142
  transactionLogger.log("assignTx", {