@velora-dex/widget 0.8.3-dev.0 → 0.8.3

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 (225) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +23 -22
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +2 -1
  5. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +1 -1
  6. package/dist/components/web3/ConnectExternalProvider/constants.js +2 -2
  7. package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -1
  8. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.d.ts.map +1 -1
  9. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js +4 -1
  10. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  11. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +1 -1
  12. package/dist/components/web3/ConnectExternalProvider/utils.js +1 -1
  13. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  14. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts +5 -0
  15. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts.map +1 -0
  16. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js +22 -0
  17. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js.map +1 -0
  18. package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
  19. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  20. package/dist/components/widget/BridgeList/hooks.js +73 -79
  21. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  22. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
  23. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
  24. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  25. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts.map +1 -1
  26. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +10 -10
  27. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
  28. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +1 -1
  29. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +1 -1
  30. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  31. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  32. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +2 -2
  33. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  34. package/dist/components/widget/TradeOverview/TradeError/utils.js +1 -1
  35. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
  36. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  37. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  38. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +1 -4
  39. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  40. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
  41. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  42. package/dist/configurator/Configurator.d.ts.map +1 -1
  43. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  44. package/dist/core/LimitOrderButton.js +53 -46
  45. package/dist/core/LimitOrderButton.js.map +1 -1
  46. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  47. package/dist/core/OtcOrderButton.js +6 -5
  48. package/dist/core/OtcOrderButton.js.map +1 -1
  49. package/dist/core/TradeFlowScreenButton.d.ts +4 -3
  50. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  51. package/dist/core/TradeFlowScreenButton.js +24 -24
  52. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  53. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  54. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  55. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +130 -99
  56. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  57. package/dist/core/index.js +5 -4
  58. package/dist/core/index.js.map +1 -1
  59. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  60. package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
  61. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  62. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  63. package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
  64. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  65. package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
  66. package/dist/core/inputs/hooks/utils.js +5 -7
  67. package/dist/core/inputs/hooks/utils.js.map +1 -1
  68. package/dist/core/limit/useLimitRate.d.ts +3 -2
  69. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  70. package/dist/core/limit/useLimitRate.js +110 -54
  71. package/dist/core/limit/useLimitRate.js.map +1 -1
  72. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  73. package/dist/core/limit/useLimitTokenToInputProps.js +4 -1
  74. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  75. package/dist/core/otc/state/selectedTokenActionsAtom.d.ts.map +1 -1
  76. package/dist/core/otc/state/selectedTokenActionsAtom.js +2 -2
  77. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  78. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  79. package/dist/core/state/widgetEventsAtom.js +21 -11
  80. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  81. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  82. package/dist/core/swapDetails/fees.js +11 -16
  83. package/dist/core/swapDetails/fees.js.map +1 -1
  84. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
  85. package/dist/core/swapDetails/maxToPay.js +17 -18
  86. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  87. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
  88. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
  89. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  90. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  91. package/dist/events/types/importToken.d.ts +14 -0
  92. package/dist/events/types/importToken.d.ts.map +1 -0
  93. package/dist/events/types/index.d.ts +4 -1
  94. package/dist/events/types/index.d.ts.map +1 -1
  95. package/dist/events/types/priceChange.d.ts +2 -2
  96. package/dist/events/types/priceChange.d.ts.map +1 -1
  97. package/dist/events/types/swap.d.ts +2 -2
  98. package/dist/events/types/swap.d.ts.map +1 -1
  99. package/dist/events/types/twap.d.ts +2 -2
  100. package/dist/events/types/twap.d.ts.map +1 -1
  101. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  102. package/dist/hooks/batch/useSendBatchTx.js +31 -32
  103. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  104. package/dist/hooks/swap/prices/delta/bridge/const.d.ts +8 -0
  105. package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +1 -0
  106. package/dist/hooks/swap/prices/delta/bridge/const.js +13 -0
  107. package/dist/hooks/swap/prices/delta/bridge/const.js.map +1 -0
  108. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +4 -3
  109. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
  110. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  111. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +3 -6
  112. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  113. package/dist/hooks/swap/prices/delta/bridge/utils.js +17 -20
  114. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  115. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
  116. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  117. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
  118. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  119. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
  120. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  121. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +2 -2
  122. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  123. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
  124. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +28 -27
  125. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  126. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
  127. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  128. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
  129. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  130. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  131. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  132. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
  133. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  134. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  135. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +28 -27
  136. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  137. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  138. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  139. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -2
  140. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  141. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  142. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  143. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +2 -2
  144. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  145. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +6 -5
  146. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  147. package/dist/hooks/swap/prices/delta/mutations/utils.js +6 -6
  148. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  149. package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -2
  150. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  151. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -3
  152. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +3 -3
  153. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  154. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +29 -44
  155. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  156. package/dist/hooks/swap/prices/delta/orders/utils.js +16 -128
  157. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  158. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  159. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +33 -16
  160. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  161. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +6 -6
  162. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  163. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +3 -3
  164. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  165. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +8 -7
  166. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  167. package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
  168. package/dist/hooks/swap/prices/factory.js +1 -1
  169. package/dist/hooks/swap/prices/factory.js.map +1 -1
  170. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
  171. package/dist/hooks/swap/prices/types.d.ts +3 -2
  172. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  173. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
  174. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  175. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  176. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
  177. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  178. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
  179. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
  180. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  181. package/dist/hooks/swap/prices/useTwapPrices.d.ts +5 -4
  182. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
  183. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  184. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +17 -10
  185. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  186. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
  187. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  188. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
  189. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +1 -1
  190. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  191. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
  192. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  193. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +124 -119
  194. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  195. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
  196. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  197. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +196 -159
  198. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  199. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
  200. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  201. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +229 -217
  202. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  203. package/dist/hooks/useSDK.d.ts +3 -19
  204. package/dist/hooks/useSDK.d.ts.map +1 -1
  205. package/dist/hooks/useSDK.js +35 -65
  206. package/dist/hooks/useSDK.js.map +1 -1
  207. package/dist/index.d.ts +2 -1
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/lib/queryClient.js +2 -2
  210. package/dist/lib/queryClient.js.map +1 -1
  211. package/dist/lib/utils/price.d.ts +2 -5
  212. package/dist/lib/utils/price.d.ts.map +1 -1
  213. package/dist/lib/utils/price.js +5 -8
  214. package/dist/lib/utils/price.js.map +1 -1
  215. package/dist/lib/utils/twap.d.ts +2 -2
  216. package/dist/lib/utils/twap.d.ts.map +1 -1
  217. package/dist/lib/utils/twap.js +2 -2
  218. package/dist/lib/utils/twap.js.map +1 -1
  219. package/dist/tokens/state/addImportedTokenAtom.d.ts +2 -0
  220. package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
  221. package/dist/tokens/state/addImportedTokenAtom.js +47 -31
  222. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  223. package/package.json +2 -2
  224. package/dist/lib/utils/scaleFactor.js +0 -13
  225. package/dist/lib/utils/scaleFactor.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AutoconnectExternal.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/AutoconnectExternal.tsx"],"names":[],"mappings":"AAoBA,wBAAgB,2BAA2B,SAkB1C"}
1
+ {"version":3,"file":"AutoconnectExternal.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/AutoconnectExternal.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,2BAA2B,SAkB1C"}
@@ -4,18 +4,19 @@ import "./constants.js";
4
4
  import { useExternalProvider as n } from "../../../core/state/externalProviderAtom.js";
5
5
  import { prepareInjectedParamsForMetamask as r } from "./metamaskProviderWrapper.js";
6
6
  import { prepareInjectedParamsForSafeIframe as i, prepareInjectedParamsForSafeWalletConnect as a } from "./safeProviderWrapper.js";
7
- import { c as o } from "react-compiler-runtime";
8
- import { useEffect as s } from "react";
9
- import { useConnect as c, useDisconnect as l } from "wagmi";
10
- import { injected as u } from "wagmi/connectors";
11
- import { getConnections as d } from "@wagmi/core";
7
+ import { prepareInjectedParamsForWalletConnect as o } from "./walletConnectProviderWrapper.js";
8
+ import { c as s } from "react-compiler-runtime";
9
+ import { useEffect as c } from "react";
10
+ import { useConnect as l, useDisconnect as u } from "wagmi";
11
+ import { injected as d } from "wagmi/connectors";
12
+ import { getConnections as f } from "@wagmi/core";
12
13
  //#region src/components/web3/ConnectExternalProvider/AutoconnectExternal.tsx
13
- function f() {
14
- let t = o(6), r = n(), { connectAsync: i } = c(), { disconnectAsync: a } = l(), u = e("AutoconnectExternalProvider"), d, f;
15
- return t[0] !== i || t[1] !== a || t[2] !== r || t[3] !== u ? (d = () => {
16
- m({
14
+ function p() {
15
+ let t = s(6), r = n(), { connectAsync: i } = l(), { disconnectAsync: a } = u(), o = e("AutoconnectExternalProvider"), d, f;
16
+ return t[0] !== i || t[1] !== a || t[2] !== r || t[3] !== o ? (d = () => {
17
+ h({
17
18
  externalProvider: r,
18
- logger: u,
19
+ logger: o,
19
20
  disconnectAsync: a,
20
21
  connectAsync: i
21
22
  });
@@ -23,37 +24,37 @@ function f() {
23
24
  r,
24
25
  i,
25
26
  a,
26
- u
27
- ], t[0] = i, t[1] = a, t[2] = r, t[3] = u, t[4] = d, t[5] = f) : (d = t[4], f = t[5]), s(d, f), null;
27
+ o
28
+ ], t[0] = i, t[1] = a, t[2] = r, t[3] = o, t[4] = d, t[5] = f) : (d = t[4], f = t[5]), c(d, f), null;
28
29
  }
29
- var p = t.connectors.slice();
30
- async function m({ externalProvider: e, logger: n, disconnectAsync: o, connectAsync: s }) {
31
- let c = d(t);
30
+ var m = t.connectors.slice();
31
+ async function h({ externalProvider: e, logger: n, disconnectAsync: s, connectAsync: c }) {
32
+ let l = f(t);
32
33
  try {
33
- for (let e of c) await o({ connector: e.connector });
34
+ for (let e of l) await s({ connector: e.connector });
34
35
  } catch (e) {
35
36
  n.error("Failed to disconnect from active connections", e);
36
37
  }
37
38
  if (e === null) {
38
- t.connectors.length === 0 && t._internal.connectors.setState(p);
39
+ t.connectors.length === 0 && t._internal.connectors.setState(m);
39
40
  return;
40
41
  }
41
- t.connectors.length > p.length && (p = t.connectors.slice()), t._internal.connectors.setState([]);
42
+ t.connectors.length > m.length && (m = t.connectors.slice()), t._internal.connectors.setState([]);
42
43
  try {
43
- let t = u(r(e, n) || i(e, n) || a(e, n) || { target: {
44
+ let t = d(r(e, n) || i(e, n) || a(e, n) || o(e, n) || { target: {
44
45
  id: "external_provider_from_App",
45
46
  name: "External",
46
47
  provider: e
47
- } }), o = await s({ connector: t });
48
+ } }), s = await c({ connector: t });
48
49
  return n.info("Connected to external provider", {
49
50
  connector: t,
50
51
  provider: e
51
- }), o;
52
+ }), s;
52
53
  } catch (e) {
53
54
  n.error("Failed to connect to external provider", e);
54
55
  }
55
56
  }
56
57
  //#endregion
57
- export { f as AutoconnectExternalProvider };
58
+ export { p as AutoconnectExternalProvider };
58
59
 
59
60
  //# sourceMappingURL=AutoconnectExternal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoconnectExternal.js","names":["useExternalProvider","useConnect","useDisconnect","injected","useEffect","EXTERNAL_CONNECTOR_ID","InjectedExternalConnectorParameters","EIP1193Provider","getConnections","wagmiConfig","useLogger","LoggerInstance","ConnectMutateAsync","DisconnectMutateAsync","prepareInjectedParamsForMetamask","prepareInjectedParamsForSafeIframe","prepareInjectedParamsForSafeWalletConnect","AutoconnectExternalProvider","$","_c","externalProvider","connectAsync","disconnectAsync","logger","t0","t1","connectDisconnect","ConnectDisconnectProps","initialConnectors","connectors","slice","connections","connection","connector","error","length","_internal","setState","connectorParams","target","id","name","provider","result","info"],"sources":["../../../../src/components/web3/ConnectExternalProvider/AutoconnectExternal.tsx"],"sourcesContent":["import { useExternalProvider } from \"@/core/state/externalProviderAtom\";\nimport { useConnect, useDisconnect } from \"wagmi\";\nimport { injected } from \"wagmi/connectors\";\nimport { useEffect } from \"react\";\nimport {\n EXTERNAL_CONNECTOR_ID,\n type InjectedExternalConnectorParameters,\n} from \"./constants\";\nimport type { EIP1193Provider } from \"viem\";\nimport { getConnections } from \"@wagmi/core\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useLogger } from \"@/core/logger\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { ConnectMutateAsync, DisconnectMutateAsync } from \"wagmi/query\";\nimport { prepareInjectedParamsForMetamask } from \"./metamaskProviderWrapper\";\nimport {\n prepareInjectedParamsForSafeIframe,\n prepareInjectedParamsForSafeWalletConnect,\n} from \"./safeProviderWrapper\";\n\nexport function AutoconnectExternalProvider() {\n const externalProvider = useExternalProvider();\n\n const { connectAsync } = useConnect();\n const { disconnectAsync } = useDisconnect();\n\n const logger = useLogger(\"AutoconnectExternalProvider\");\n\n useEffect(() => {\n connectDisconnect({\n externalProvider,\n logger,\n disconnectAsync,\n connectAsync,\n });\n }, [externalProvider, connectAsync, disconnectAsync, logger]);\n\n return null;\n}\n\ntype ConnectDisconnectProps = {\n externalProvider: EIP1193Provider | null;\n logger: LoggerInstance;\n disconnectAsync: DisconnectMutateAsync;\n connectAsync: ConnectMutateAsync<typeof wagmiConfig>;\n};\n\nlet initialConnectors = wagmiConfig.connectors.slice();\n\nasync function connectDisconnect({\n externalProvider,\n logger,\n disconnectAsync,\n connectAsync,\n}: ConnectDisconnectProps) {\n // disconnect any of the current connectors belonging to active connections\n const connections = getConnections(wagmiConfig); // actual connections made, can be multiple active\n\n try {\n for (const connection of connections) {\n // connection.connector.disconnect(); does not work, starts disconnect sync\n\n // make sure to wait for proper disconnection,\n // otherwise if disconnecting injected connector,\n // and then below we connect injected but with a different provider,\n // it doesn't connect, only disconnects\n await disconnectAsync({ connector: connection.connector });\n\n // this will also disconnect external provider when removing it from WidgetProps\n }\n } catch (error) {\n logger.error(\"Failed to disconnect from active connections\", error);\n }\n\n if (externalProvider === null) {\n // when disconnecting externalProvider,\n // if connectors were previously removed\n if (wagmiConfig.connectors.length === 0) {\n // restore them\n wagmiConfig._internal.connectors.setState(initialConnectors);\n }\n return;\n }\n if (wagmiConfig.connectors.length > initialConnectors.length) {\n // new EIP6963 connectors may have been discovered since config creation\n initialConnectors = wagmiConfig.connectors.slice();\n }\n // remove all connectors which may autoconnect and override external provider connection\n wagmiConfig._internal.connectors.setState([]); // wagmiConfig.setState doesn't deal with connectors\n try {\n const connectorParams: InjectedExternalConnectorParameters =\n prepareInjectedParamsForMetamask(externalProvider, logger) ||\n prepareInjectedParamsForSafeIframe(externalProvider, logger) ||\n prepareInjectedParamsForSafeWalletConnect(externalProvider, logger) || {\n target: {\n id: EXTERNAL_CONNECTOR_ID,\n name: \"External\",\n provider: externalProvider,\n },\n };\n const connector = injected(connectorParams);\n\n // not necessary to await, but for uniformity\n const result = await connectAsync({ connector });\n logger.info(\"Connected to external provider\", {\n connector,\n provider: externalProvider,\n });\n\n return result;\n } catch (error) {\n logger.error(\"Failed to connect to external provider\", error);\n }\n}\n"],"mappings":";;;;;;;;;;;;AAoBA,SAAOiB,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAyBpB,GAAqB,EAE9C,EAAAqB,oBAAyBpB,GAAY,EACrC,EAAAqB,uBAA4BpB,GAAe,EAE3CqB,IAAeb,EAAU,8BAA8B,EAACc,GAAAC;CASK,OATLP,EAAA,OAAAG,KAAAH,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAE9CC,UAAA;EACRE,EAAkB;GAAAN;GAAAG;GAAAD;GAAAD;GAKjB,CAAC;IACDI,IAAA;EAACL;EAAkBC;EAAcC;EAAiBC;EAAO,EAAAL,EAAA,KAAAG,GAAAH,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,MAAAD,IAAAN,EAAA,IAAAO,IAAAP,EAAA,KAP5Dd,EAAUoB,GAOPC,EAA0D,EAEtD;;AAUT,IAAIG,IAAoBnB,EAAYoB,WAAWC,OAAO;AAEtD,eAAeJ,EAAkB,EAC/BN,qBACAG,WACAD,oBACAD,mBACyB;CAEzB,IAAMU,IAAcvB,EAAeC,EAAY;CAE/C,IAAI;EACF,KAAK,IAAMuB,KAAcD,GAOvB,MAAMT,EAAgB,EAAEW,WAAWD,EAAWC,WAAW,CAAC;UAIrDC,GAAO;EACdX,EAAOW,MAAM,gDAAgDA,EAAM;;CAGrE,IAAId,MAAqB,MAAM;EAG7B,AAAIX,EAAYoB,WAAWM,WAAW,KAEpC1B,EAAY2B,UAAUP,WAAWQ,SAAST,EAAkB;EAE9D;;CAOFnB,AALIA,EAAYoB,WAAWM,SAASP,EAAkBO,WAEpDP,IAAoBnB,EAAYoB,WAAWC,OAAO,GAGpDrB,EAAY2B,UAAUP,WAAWQ,SAAS,EAAE,CAAC;CAC7C,IAAI;EAWF,IAAMJ,IAAY9B,EAThBW,EAAiCM,GAAkBG,EAAO,IACxDR,EAAmCK,GAAkBG,EAAO,IAC5DP,EAA0CI,GAAkBG,EAAO,IAAI,EACrEgB,QAAQ;GACNC,IAAAA;GACAC,MAAM;GACNC,UAAUtB;GACZ,EACD,CACsC,EAGrCuB,IAAS,MAAMtB,EAAa,EAAEY,cAAW,CAAC;EAMhD,OALAV,EAAOqB,KAAK,kCAAkC;GAC5CX;GACAS,UAAUtB;GACX,CAAC,EAEKuB;UACAT,GAAO;EACdX,EAAOW,MAAM,0CAA0CA,EAAM"}
1
+ {"version":3,"file":"AutoconnectExternal.js","names":["useExternalProvider","useConnect","useDisconnect","injected","useEffect","EXTERNAL_CONNECTOR_ID","InjectedExternalConnectorParameters","EIP1193Provider","getConnections","wagmiConfig","useLogger","LoggerInstance","ConnectMutateAsync","DisconnectMutateAsync","prepareInjectedParamsForMetamask","prepareInjectedParamsForSafeIframe","prepareInjectedParamsForSafeWalletConnect","prepareInjectedParamsForWalletConnect","AutoconnectExternalProvider","$","_c","externalProvider","connectAsync","disconnectAsync","logger","t0","t1","connectDisconnect","ConnectDisconnectProps","initialConnectors","connectors","slice","connections","connection","connector","error","length","_internal","setState","connectorParams","target","id","name","provider","result","info"],"sources":["../../../../src/components/web3/ConnectExternalProvider/AutoconnectExternal.tsx"],"sourcesContent":["import { useExternalProvider } from \"@/core/state/externalProviderAtom\";\nimport { useConnect, useDisconnect } from \"wagmi\";\nimport { injected } from \"wagmi/connectors\";\nimport { useEffect } from \"react\";\nimport {\n EXTERNAL_CONNECTOR_ID,\n type InjectedExternalConnectorParameters,\n} from \"./constants\";\nimport type { EIP1193Provider } from \"viem\";\nimport { getConnections } from \"@wagmi/core\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useLogger } from \"@/core/logger\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { ConnectMutateAsync, DisconnectMutateAsync } from \"wagmi/query\";\nimport { prepareInjectedParamsForMetamask } from \"./metamaskProviderWrapper\";\nimport {\n prepareInjectedParamsForSafeIframe,\n prepareInjectedParamsForSafeWalletConnect,\n} from \"./safeProviderWrapper\";\nimport { prepareInjectedParamsForWalletConnect } from \"./walletConnectProviderWrapper\";\n\nexport function AutoconnectExternalProvider() {\n const externalProvider = useExternalProvider();\n\n const { connectAsync } = useConnect();\n const { disconnectAsync } = useDisconnect();\n\n const logger = useLogger(\"AutoconnectExternalProvider\");\n\n useEffect(() => {\n connectDisconnect({\n externalProvider,\n logger,\n disconnectAsync,\n connectAsync,\n });\n }, [externalProvider, connectAsync, disconnectAsync, logger]);\n\n return null;\n}\n\ntype ConnectDisconnectProps = {\n externalProvider: EIP1193Provider | null;\n logger: LoggerInstance;\n disconnectAsync: DisconnectMutateAsync;\n connectAsync: ConnectMutateAsync<typeof wagmiConfig>;\n};\n\nlet initialConnectors = wagmiConfig.connectors.slice();\n\nasync function connectDisconnect({\n externalProvider,\n logger,\n disconnectAsync,\n connectAsync,\n}: ConnectDisconnectProps) {\n // disconnect any of the current connectors belonging to active connections\n const connections = getConnections(wagmiConfig); // actual connections made, can be multiple active\n\n try {\n for (const connection of connections) {\n // connection.connector.disconnect(); does not work, starts disconnect sync\n\n // make sure to wait for proper disconnection,\n // otherwise if disconnecting injected connector,\n // and then below we connect injected but with a different provider,\n // it doesn't connect, only disconnects\n await disconnectAsync({ connector: connection.connector });\n\n // this will also disconnect external provider when removing it from WidgetProps\n }\n } catch (error) {\n logger.error(\"Failed to disconnect from active connections\", error);\n }\n\n if (externalProvider === null) {\n // when disconnecting externalProvider,\n // if connectors were previously removed\n if (wagmiConfig.connectors.length === 0) {\n // restore them\n wagmiConfig._internal.connectors.setState(initialConnectors);\n }\n return;\n }\n if (wagmiConfig.connectors.length > initialConnectors.length) {\n // new EIP6963 connectors may have been discovered since config creation\n initialConnectors = wagmiConfig.connectors.slice();\n }\n // remove all connectors which may autoconnect and override external provider connection\n wagmiConfig._internal.connectors.setState([]); // wagmiConfig.setState doesn't deal with connectors\n try {\n const connectorParams: InjectedExternalConnectorParameters =\n prepareInjectedParamsForMetamask(externalProvider, logger) ||\n prepareInjectedParamsForSafeIframe(externalProvider, logger) ||\n prepareInjectedParamsForSafeWalletConnect(externalProvider, logger) ||\n prepareInjectedParamsForWalletConnect(externalProvider, logger) || {\n target: {\n id: EXTERNAL_CONNECTOR_ID,\n name: \"External\",\n provider: externalProvider,\n },\n };\n const connector = injected(connectorParams);\n\n // not necessary to await, but for uniformity\n const result = await connectAsync({ connector });\n logger.info(\"Connected to external provider\", {\n connector,\n provider: externalProvider,\n });\n\n return result;\n } catch (error) {\n logger.error(\"Failed to connect to external provider\", error);\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAqBA,SAAOkB,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAyBrB,GAAqB,EAE9C,EAAAsB,oBAAyBrB,GAAY,EACrC,EAAAsB,uBAA4BrB,GAAe,EAE3CsB,IAAed,EAAU,8BAA8B,EAACe,GAAAC;CASK,OATLP,EAAA,OAAAG,KAAAH,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAE9CC,UAAA;EACRE,EAAkB;GAAAN;GAAAG;GAAAD;GAAAD;GAKjB,CAAC;IACDI,IAAA;EAACL;EAAkBC;EAAcC;EAAiBC;EAAO,EAAAL,EAAA,KAAAG,GAAAH,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO,MAAAD,IAAAN,EAAA,IAAAO,IAAAP,EAAA,KAP5Df,EAAUqB,GAOPC,EAA0D,EAEtD;;AAUT,IAAIG,IAAoBpB,EAAYqB,WAAWC,OAAO;AAEtD,eAAeJ,EAAkB,EAC/BN,qBACAG,WACAD,oBACAD,mBACyB;CAEzB,IAAMU,IAAcxB,EAAeC,EAAY;CAE/C,IAAI;EACF,KAAK,IAAMwB,KAAcD,GAOvB,MAAMT,EAAgB,EAAEW,WAAWD,EAAWC,WAAW,CAAC;UAIrDC,GAAO;EACdX,EAAOW,MAAM,gDAAgDA,EAAM;;CAGrE,IAAId,MAAqB,MAAM;EAG7B,AAAIZ,EAAYqB,WAAWM,WAAW,KAEpC3B,EAAY4B,UAAUP,WAAWQ,SAAST,EAAkB;EAE9D;;CAOFpB,AALIA,EAAYqB,WAAWM,SAASP,EAAkBO,WAEpDP,IAAoBpB,EAAYqB,WAAWC,OAAO,GAGpDtB,EAAY4B,UAAUP,WAAWQ,SAAS,EAAE,CAAC;CAC7C,IAAI;EAYF,IAAMJ,IAAY/B,EAVhBW,EAAiCO,GAAkBG,EAAO,IACxDT,EAAmCM,GAAkBG,EAAO,IAC5DR,EAA0CK,GAAkBG,EAAO,IACnEP,EAAsCI,GAAkBG,EAAO,IAAI,EACjEgB,QAAQ;GACNC,IAAAA;GACAC,MAAM;GACNC,UAAUtB;GACZ,EACD,CACsC,EAGrCuB,IAAS,MAAMtB,EAAa,EAAEY,cAAW,CAAC;EAMhD,OALAV,EAAOqB,KAAK,kCAAkC;GAC5CX;GACAS,UAAUtB;GACX,CAAC,EAEKuB;UACAT,GAAO;EACdX,EAAOW,MAAM,0CAA0CA,EAAM"}
@@ -2,8 +2,9 @@ import { InjectedParameters } from '@wagmi/core';
2
2
  import { EIP1193Provider } from 'viem';
3
3
  export declare const EXTERNAL_CONNECTOR_ID = "external_provider_from_App";
4
4
  export declare const EXTERNAL_CONNECTOR_SAFE_ID = "external_provider_from_Safe";
5
+ export declare const EXTERNAL_CONNECTOR_WALLETCONNECT_ID = "external_provider_from_WalletConnect";
5
6
  export declare const EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID = "external_provider_from_Safe_WalletConnect";
6
- export type ExternalConnectorId = typeof EXTERNAL_CONNECTOR_ID | typeof EXTERNAL_CONNECTOR_SAFE_ID | typeof EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID;
7
+ export type ExternalConnectorId = typeof EXTERNAL_CONNECTOR_ID | typeof EXTERNAL_CONNECTOR_SAFE_ID | typeof EXTERNAL_CONNECTOR_WALLETCONNECT_ID | typeof EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID;
7
8
  export type InjectedExternalConnectorParameters = Pick<InjectedParameters, "shimDisconnect"> & {
8
9
  target: {
9
10
  name: "External";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,eAAO,MAAM,qBAAqB,+BAA+B,CAAC;AAClE,eAAO,MAAM,0BAA0B,gCAAgC,CAAC;AACxE,eAAO,MAAM,wCAAwC,8CACR,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAC3B,OAAO,qBAAqB,GAC5B,OAAO,0BAA0B,GACjC,OAAO,wCAAwC,CAAC;AAEpD,MAAM,MAAM,mCAAmC,GAAG,IAAI,CACpD,kBAAkB,EAClB,gBAAgB,CACjB,GAAG;IACF,MAAM,EAAE;QACN,IAAI,EAAE,UAAU,CAAC;QACjB,EAAE,EAAE,mBAAmB,CAAC;QACxB,QAAQ,EAAE,eAAe,CAAC;KAC3B,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,eAAO,MAAM,qBAAqB,+BAA+B,CAAC;AAClE,eAAO,MAAM,0BAA0B,gCAAgC,CAAC;AACxE,eAAO,MAAM,mCAAmC,yCACR,CAAC;AACzC,eAAO,MAAM,wCAAwC,8CACR,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAC3B,OAAO,qBAAqB,GAC5B,OAAO,0BAA0B,GACjC,OAAO,mCAAmC,GAC1C,OAAO,wCAAwC,CAAC;AAEpD,MAAM,MAAM,mCAAmC,GAAG,IAAI,CACpD,kBAAkB,EAClB,gBAAgB,CACjB,GAAG;IACF,MAAM,EAAE;QACN,IAAI,EAAE,UAAU,CAAC;QACjB,EAAE,EAAE,mBAAmB,CAAC;QACxB,QAAQ,EAAE,eAAe,CAAC;KAC3B,CAAC;CACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  //#region src/components/web3/ConnectExternalProvider/constants.ts
2
- var e = "external_provider_from_App", t = "external_provider_from_Safe", n = "external_provider_from_Safe_WalletConnect";
2
+ var e = "external_provider_from_App", t = "external_provider_from_Safe", n = "external_provider_from_WalletConnect", r = "external_provider_from_Safe_WalletConnect";
3
3
  //#endregion
4
- export { e as EXTERNAL_CONNECTOR_ID, t as EXTERNAL_CONNECTOR_SAFE_ID, n as EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID };
4
+ export { e as EXTERNAL_CONNECTOR_ID, t as EXTERNAL_CONNECTOR_SAFE_ID, r as EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID, n as EXTERNAL_CONNECTOR_WALLETCONNECT_ID };
5
5
 
6
6
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["InjectedParameters","EIP1193Provider","EXTERNAL_CONNECTOR_ID","EXTERNAL_CONNECTOR_SAFE_ID","EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID","ExternalConnectorId","InjectedExternalConnectorParameters","Pick","target","name","id","provider"],"sources":["../../../../src/components/web3/ConnectExternalProvider/constants.ts"],"sourcesContent":["import type { InjectedParameters } from \"@wagmi/core\";\nimport type { EIP1193Provider } from \"viem\";\n\nexport const EXTERNAL_CONNECTOR_ID = \"external_provider_from_App\";\nexport const EXTERNAL_CONNECTOR_SAFE_ID = \"external_provider_from_Safe\";\nexport const EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID =\n \"external_provider_from_Safe_WalletConnect\";\n\nexport type ExternalConnectorId =\n | typeof EXTERNAL_CONNECTOR_ID\n | typeof EXTERNAL_CONNECTOR_SAFE_ID\n | typeof EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID;\n\nexport type InjectedExternalConnectorParameters = Pick<\n InjectedParameters,\n \"shimDisconnect\"\n> & {\n target: {\n name: \"External\";\n id: ExternalConnectorId;\n provider: EIP1193Provider;\n };\n};\n"],"mappings":";AAGA,IAAaE,IAAwB,8BACxBC,IAA6B,+BAC7BC,IACX"}
1
+ {"version":3,"file":"constants.js","names":["InjectedParameters","EIP1193Provider","EXTERNAL_CONNECTOR_ID","EXTERNAL_CONNECTOR_SAFE_ID","EXTERNAL_CONNECTOR_WALLETCONNECT_ID","EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID","ExternalConnectorId","InjectedExternalConnectorParameters","Pick","target","name","id","provider"],"sources":["../../../../src/components/web3/ConnectExternalProvider/constants.ts"],"sourcesContent":["import type { InjectedParameters } from \"@wagmi/core\";\nimport type { EIP1193Provider } from \"viem\";\n\nexport const EXTERNAL_CONNECTOR_ID = \"external_provider_from_App\";\nexport const EXTERNAL_CONNECTOR_SAFE_ID = \"external_provider_from_Safe\";\nexport const EXTERNAL_CONNECTOR_WALLETCONNECT_ID =\n \"external_provider_from_WalletConnect\";\nexport const EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID =\n \"external_provider_from_Safe_WalletConnect\";\n\nexport type ExternalConnectorId =\n | typeof EXTERNAL_CONNECTOR_ID\n | typeof EXTERNAL_CONNECTOR_SAFE_ID\n | typeof EXTERNAL_CONNECTOR_WALLETCONNECT_ID\n | typeof EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID;\n\nexport type InjectedExternalConnectorParameters = Pick<\n InjectedParameters,\n \"shimDisconnect\"\n> & {\n target: {\n name: \"External\";\n id: ExternalConnectorId;\n provider: EIP1193Provider;\n };\n};\n"],"mappings":";AAGA,IAAaE,IAAwB,8BACxBC,IAA6B,+BAC7BC,IACX,wCACWC,IACX"}
@@ -1 +1 @@
1
- {"version":3,"file":"safeProviderWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/safeProviderWrapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAGL,KAAK,mCAAmC,EACzC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAmCzD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,eAAe,EACzB,MAAM,CAAC,EAAE,cAAc,GACtB,mCAAmC,GAAG,IAAI,CAiB5C;AAED,wBAAgB,yCAAyC,CACvD,QAAQ,EAAE,eAAe,EACzB,MAAM,CAAC,EAAE,cAAc,GACtB,mCAAmC,GAAG,IAAI,CAmC5C"}
1
+ {"version":3,"file":"safeProviderWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/safeProviderWrapper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAGL,KAAK,mCAAmC,EACzC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAmCzD,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,eAAe,EACzB,MAAM,CAAC,EAAE,cAAc,GACtB,mCAAmC,GAAG,IAAI,CAiB5C;AAED,wBAAgB,yCAAyC,CACvD,QAAQ,EAAE,eAAe,EACzB,MAAM,CAAC,EAAE,cAAc,GACtB,mCAAmC,GAAG,IAAI,CAuC5C"}
@@ -41,7 +41,10 @@ function c(e, i) {
41
41
  connectorType: a.type,
42
42
  connectorId: o.id,
43
43
  name: i.name
44
- }) ? { target: o } : null;
44
+ }) ? {
45
+ shimDisconnect: !1,
46
+ target: o
47
+ } : null;
45
48
  } catch (e) {
46
49
  return i?.error("Failed to prepare injected params for Safe WalletConnect", e), null;
47
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"safeProviderWrapper.js","names":["isSafeIframeProvider","EIP1193Provider","EXTERNAL_CONNECTOR_SAFE_ID","EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID","InjectedExternalConnectorParameters","LoggerInstance","getWalletConnectMetadata","isSafeConnectorThroughWalletConnect","injected","wrapSafeIframeExternalProvider","provider","request","args","method","result","on","bind","removeListener","prepareInjectedParamsForSafeIframe","logger","wrappedProvider","target","id","name","error","prepareInjectedParamsForSafeWalletConnect","metadata","const","isSafeThroughWalletConnect","connectorType","type","connectorId"],"sources":["../../../../src/components/web3/ConnectExternalProvider/safeProviderWrapper.ts"],"sourcesContent":["import { isSafeIframeProvider } from \"@/core/state/externalProviderAtom\";\nimport type { EIP1193Provider } from \"viem\";\nimport {\n EXTERNAL_CONNECTOR_SAFE_ID,\n EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID,\n type InjectedExternalConnectorParameters,\n} from \"./constants\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { getWalletConnectMetadata } from \"../ConnectWallets/walletIcons\";\nimport { isSafeConnectorThroughWalletConnect } from \"@/hooks/connectors/useIsSafeThroughWalletConnect\";\nimport { injected } from \"wagmi/connectors\";\n\n// applies a workaround to Safe iframe provider to fix its connection inside injected connector\n// returns null if the provider is not Safe iframe provider\nfunction wrapSafeIframeExternalProvider(\n provider: EIP1193Provider\n): EIP1193Provider | null {\n if (isSafeIframeProvider(provider)) {\n // Safe iframe provider doesn't support eth_requestAccounts;\n // this isn't a problem with safe() connector (skips eth_requestAccounts), but external provider fails on connect()\n const request = (async (args) => {\n if (args.method === \"eth_requestAccounts\") {\n return provider.request({ method: \"eth_accounts\" });\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result = await provider.request(args as any);\n return result;\n }) as typeof provider.request;\n\n const on = provider.on?.bind(provider);\n const removeListener = provider.removeListener?.bind(provider);\n return {\n ...provider,\n request,\n on,\n removeListener,\n };\n }\n\n return null;\n}\n\nexport function prepareInjectedParamsForSafeIframe(\n provider: EIP1193Provider,\n logger?: LoggerInstance\n): InjectedExternalConnectorParameters | null {\n try {\n const wrappedProvider = wrapSafeIframeExternalProvider(provider);\n if (wrappedProvider === null) {\n return null;\n }\n return {\n target: {\n id: EXTERNAL_CONNECTOR_SAFE_ID,\n name: \"External\",\n provider: wrappedProvider,\n },\n };\n } catch (error) {\n logger?.error(\"Failed to prepare injected params for Safe\", error);\n return null;\n }\n}\n\nexport function prepareInjectedParamsForSafeWalletConnect(\n provider: EIP1193Provider,\n logger?: LoggerInstance\n): InjectedExternalConnectorParameters | null {\n try {\n const metadata = getWalletConnectMetadata(provider);\n if (!metadata) {\n // not WalletConnect provider\n return null;\n }\n\n const target = {\n id: EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID,\n name: \"External\",\n provider,\n } as const;\n\n const isSafeThroughWalletConnect = isSafeConnectorThroughWalletConnect({\n connectorType: injected.type,\n connectorId: target.id,\n name: metadata.name,\n });\n\n if (!isSafeThroughWalletConnect) {\n // not Safe through WalletConnect\n return null;\n }\n\n return {\n target,\n };\n } catch (error) {\n logger?.error(\n \"Failed to prepare injected params for Safe WalletConnect\",\n error\n );\n return null;\n }\n}\n"],"mappings":";;;;;;AAcA,SAASS,EACPC,GACwB;CACxB,IAAIV,EAAqBU,EAAS,EAAE;EAGlC,IAAMC,KAAW,OAAOC,MAClBA,EAAKC,WAAW,wBACXH,EAASC,QAAQ,EAAEE,QAAQ,gBAAgB,CAAC,GAI9CC,MADcJ,EAASC,QAAQC,EAAY,GAI9CG,IAAKL,EAASK,IAAIC,KAAKN,EAAS,EAChCO,IAAiBP,EAASO,gBAAgBD,KAAKN,EAAS;EAC9D,OAAO;GACL,GAAGA;GACHC;GACAI;GACAE;GACD;;CAGH,OAAO;;AAGT,SAAgBC,EACdR,GACAS,GAC4C;CAC5C,IAAI;EACF,IAAMC,IAAkBX,EAA+BC,EAAS;EAIhE,OAHIU,MAAoB,OACf,OAEF,EACLC,QAAQ;GACNC,IAAIpB;GACJqB,MAAM;GACNb,UAAUU;GACZ,EACD;UACMI,GAAO;EAEd,OADAL,GAAQK,MAAM,8CAA8CA,EAAM,EAC3D;;;AAIX,SAAgBC,EACdf,GACAS,GAC4C;CAC5C,IAAI;EACF,IAAMO,IAAWpB,EAAyBI,EAAS;EACnD,IAAI,CAACgB,GAEH,OAAO;EAGT,IAAML,IAAS;GACbC,IAAInB;GACJoB,MAAM;GACNb;GACD;EAaD,OAXmCH,EAAoC;GACrEsB,eAAerB,EAASsB;GACxBC,aAAaV,EAAOC;GACpBC,MAAMG,EAASH;GAChB,CAEIK,GAKE,EACLP,WACD,GALQ;UAMFG,GAAO;EAKd,OAJAL,GAAQK,MACN,4DACAA,EACD,EACM"}
1
+ {"version":3,"file":"safeProviderWrapper.js","names":["isSafeIframeProvider","EIP1193Provider","EXTERNAL_CONNECTOR_SAFE_ID","EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID","InjectedExternalConnectorParameters","LoggerInstance","getWalletConnectMetadata","isSafeConnectorThroughWalletConnect","injected","wrapSafeIframeExternalProvider","provider","request","args","method","result","on","bind","removeListener","prepareInjectedParamsForSafeIframe","logger","wrappedProvider","target","id","name","error","prepareInjectedParamsForSafeWalletConnect","metadata","const","isSafeThroughWalletConnect","connectorType","type","connectorId","shimDisconnect"],"sources":["../../../../src/components/web3/ConnectExternalProvider/safeProviderWrapper.ts"],"sourcesContent":["import { isSafeIframeProvider } from \"@/core/state/externalProviderAtom\";\nimport type { EIP1193Provider } from \"viem\";\nimport {\n EXTERNAL_CONNECTOR_SAFE_ID,\n EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID,\n type InjectedExternalConnectorParameters,\n} from \"./constants\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport { getWalletConnectMetadata } from \"../ConnectWallets/walletIcons\";\nimport { isSafeConnectorThroughWalletConnect } from \"@/hooks/connectors/useIsSafeThroughWalletConnect\";\nimport { injected } from \"wagmi/connectors\";\n\n// applies a workaround to Safe iframe provider to fix its connection inside injected connector\n// returns null if the provider is not Safe iframe provider\nfunction wrapSafeIframeExternalProvider(\n provider: EIP1193Provider\n): EIP1193Provider | null {\n if (isSafeIframeProvider(provider)) {\n // Safe iframe provider doesn't support eth_requestAccounts;\n // this isn't a problem with safe() connector (skips eth_requestAccounts), but external provider fails on connect()\n const request = (async (args) => {\n if (args.method === \"eth_requestAccounts\") {\n return provider.request({ method: \"eth_accounts\" });\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result = await provider.request(args as any);\n return result;\n }) as typeof provider.request;\n\n const on = provider.on?.bind(provider);\n const removeListener = provider.removeListener?.bind(provider);\n return {\n ...provider,\n request,\n on,\n removeListener,\n };\n }\n\n return null;\n}\n\nexport function prepareInjectedParamsForSafeIframe(\n provider: EIP1193Provider,\n logger?: LoggerInstance\n): InjectedExternalConnectorParameters | null {\n try {\n const wrappedProvider = wrapSafeIframeExternalProvider(provider);\n if (wrappedProvider === null) {\n return null;\n }\n return {\n target: {\n id: EXTERNAL_CONNECTOR_SAFE_ID,\n name: \"External\",\n provider: wrappedProvider,\n },\n };\n } catch (error) {\n logger?.error(\"Failed to prepare injected params for Safe\", error);\n return null;\n }\n}\n\nexport function prepareInjectedParamsForSafeWalletConnect(\n provider: EIP1193Provider,\n logger?: LoggerInstance\n): InjectedExternalConnectorParameters | null {\n try {\n const metadata = getWalletConnectMetadata(provider);\n if (!metadata) {\n // not WalletConnect provider\n return null;\n }\n\n const target = {\n id: EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID,\n name: \"External\",\n provider,\n } as const;\n\n const isSafeThroughWalletConnect = isSafeConnectorThroughWalletConnect({\n connectorType: injected.type,\n connectorId: target.id,\n name: metadata.name,\n });\n\n if (!isSafeThroughWalletConnect) {\n // not Safe through WalletConnect\n return null;\n }\n\n return {\n // wallet_requestPermissions call never resolves when used with\n // Safe WalletConnect provider, and so the Widget doesn't autoconnect.\n // Solution: skip wallet_requestPermissions call entirely by setting shimDisconnect=false\n shimDisconnect: false,\n target,\n };\n } catch (error) {\n logger?.error(\n \"Failed to prepare injected params for Safe WalletConnect\",\n error\n );\n return null;\n }\n}\n"],"mappings":";;;;;;AAcA,SAASS,EACPC,GACwB;CACxB,IAAIV,EAAqBU,EAAS,EAAE;EAGlC,IAAMC,KAAW,OAAOC,MAClBA,EAAKC,WAAW,wBACXH,EAASC,QAAQ,EAAEE,QAAQ,gBAAgB,CAAC,GAI9CC,MADcJ,EAASC,QAAQC,EAAY,GAI9CG,IAAKL,EAASK,IAAIC,KAAKN,EAAS,EAChCO,IAAiBP,EAASO,gBAAgBD,KAAKN,EAAS;EAC9D,OAAO;GACL,GAAGA;GACHC;GACAI;GACAE;GACD;;CAGH,OAAO;;AAGT,SAAgBC,EACdR,GACAS,GAC4C;CAC5C,IAAI;EACF,IAAMC,IAAkBX,EAA+BC,EAAS;EAIhE,OAHIU,MAAoB,OACf,OAEF,EACLC,QAAQ;GACNC,IAAIpB;GACJqB,MAAM;GACNb,UAAUU;GACZ,EACD;UACMI,GAAO;EAEd,OADAL,GAAQK,MAAM,8CAA8CA,EAAM,EAC3D;;;AAIX,SAAgBC,EACdf,GACAS,GAC4C;CAC5C,IAAI;EACF,IAAMO,IAAWpB,EAAyBI,EAAS;EACnD,IAAI,CAACgB,GAEH,OAAO;EAGT,IAAML,IAAS;GACbC,IAAInB;GACJoB,MAAM;GACNb;GACD;EAaD,OAXmCH,EAAoC;GACrEsB,eAAerB,EAASsB;GACxBC,aAAaV,EAAOC;GACpBC,MAAMG,EAASH;GAChB,CAEIK,GAKE;GAILI,gBAAgB;GAChBX;GACD,GATQ;UAUFG,GAAO;EAKd,OAJAL,GAAQK,MACN,4DACAA,EACD,EACM"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAEL,0BAA0B,EAC1B,wCAAwC,EACxC,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,6CAA6C,CAAC;AAErD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EAC1E,SAAS,EAAE,CAAC,GACX,SAAS,IAAI,CAAC,GAAG;IAClB,EAAE,EAAE,mBAAmB,CAAC;IACxB,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;CAC5B,CAOA;AAED,KAAK,sBAAsB,GAAG;IAC5B,EAAE,EAAE,OAAO,0BAA0B,CAAC;IACtC,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;CAC5B,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,EAAE,EAAE,OAAO,wCAAwC,CAAC;IACpD,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;CAC5B,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EACxC,SAAS,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,sBAAsB,CAKvD;AAED,wBAAgB,oCAAoC,CAClD,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EACxC,SAAS,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,6BAA6B,CAK9D;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAIxD;AAED,wBAAgB,2BAA2B,CACzC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EAExC,SAAS,EAAE,CAAC,GACX,SAAS,IAAI,CAAC,GACf,CAAC,gBAAgB,GAAG,sBAAsB,GAAG,6BAA6B,CAAC,CAM5E;AAED,wBAAgB,iCAAiC,CAC/C,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EACxC,SAAS,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC,sBAAsB,GAAG,gBAAgB,CAAC,CAE5E"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAEL,0BAA0B,EAC1B,wCAAwC,EAExC,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,6CAA6C,CAAC;AAErD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EAC1E,SAAS,EAAE,CAAC,GACX,SAAS,IAAI,CAAC,GAAG;IAClB,EAAE,EAAE,mBAAmB,CAAC;IACxB,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;CAC5B,CAQA;AAED,KAAK,sBAAsB,GAAG;IAC5B,EAAE,EAAE,OAAO,0BAA0B,CAAC;IACtC,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;CAC5B,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,EAAE,EAAE,OAAO,wCAAwC,CAAC;IACpD,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;CAC5B,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EACxC,SAAS,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,sBAAsB,CAKvD;AAED,wBAAgB,oCAAoC,CAClD,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EACxC,SAAS,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,6BAA6B,CAK9D;AAED,wBAAgB,8BAA8B,IAAI,OAAO,CAIxD;AAED,wBAAgB,2BAA2B,CACzC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EAExC,SAAS,EAAE,CAAC,GACX,SAAS,IAAI,CAAC,GACf,CAAC,gBAAgB,GAAG,sBAAsB,GAAG,6BAA6B,CAAC,CAM5E;AAED,wBAAgB,iCAAiC,CAC/C,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,EACxC,SAAS,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC,sBAAsB,GAAG,gBAAgB,CAAC,CAE5E"}
@@ -5,7 +5,7 @@ import { useAccount as n } from "wagmi";
5
5
  import { injected as r } from "wagmi/connectors";
6
6
  //#region src/components/web3/ConnectExternalProvider/utils.ts
7
7
  function i(e) {
8
- return e.type === r.type && (e.id === "external_provider_from_App" || e.id === "external_provider_from_Safe" || e.id === "external_provider_from_Safe_WalletConnect");
8
+ return e.type === r.type && (e.id === "external_provider_from_App" || e.id === "external_provider_from_Safe" || e.id === "external_provider_from_Safe_WalletConnect" || e.id === "external_provider_from_WalletConnect");
9
9
  }
10
10
  function a(e) {
11
11
  return e.type === r.type && e.id === "external_provider_from_Safe";
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["Connector","injected","EXTERNAL_CONNECTOR_ID","EXTERNAL_CONNECTOR_SAFE_ID","EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID","ExternalConnectorId","useAccount","isSafeConnector","SafeMinConnector","isExternalConnector","Pick","connector","T","id","type","SafeIframeMinConnector","SafeWalletConnectMinConnector","isExternalConnectorSafeIframe","isExternalConnectorSafeWalletConnect","useIsExternalConnectorWithSafe","$","_c","t0","isConnectorWithSafeProvider","isConnectorWithSafeIframeProvider"],"sources":["../../../../src/components/web3/ConnectExternalProvider/utils.ts"],"sourcesContent":["import type { Connector } from \"@wagmi/core\";\nimport { injected } from \"wagmi/connectors\";\nimport {\n EXTERNAL_CONNECTOR_ID,\n EXTERNAL_CONNECTOR_SAFE_ID,\n EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID,\n type ExternalConnectorId,\n} from \"./constants\";\nimport { useAccount } from \"wagmi\";\nimport {\n isSafeConnector,\n type SafeMinConnector,\n} from \"@/hooks/connectors/useIsGnosisSafeConnector\";\n\nexport function isExternalConnector<T extends Pick<Connector, \"type\" | \"id\">>(\n connector: T\n): connector is T & {\n id: ExternalConnectorId;\n type: typeof injected.type;\n} {\n return (\n connector.type === injected.type &&\n (connector.id === EXTERNAL_CONNECTOR_ID ||\n connector.id === EXTERNAL_CONNECTOR_SAFE_ID ||\n connector.id === EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID)\n );\n}\n\ntype SafeIframeMinConnector = {\n id: typeof EXTERNAL_CONNECTOR_SAFE_ID;\n type: typeof injected.type;\n};\n\ntype SafeWalletConnectMinConnector = {\n id: typeof EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID;\n type: typeof injected.type;\n};\n\nexport function isExternalConnectorSafeIframe<\n T extends Pick<Connector, \"type\" | \"id\">,\n>(connector: T): connector is T & SafeIframeMinConnector {\n return (\n connector.type === injected.type &&\n connector.id === EXTERNAL_CONNECTOR_SAFE_ID\n );\n}\n\nexport function isExternalConnectorSafeWalletConnect<\n T extends Pick<Connector, \"type\" | \"id\">,\n>(connector: T): connector is T & SafeWalletConnectMinConnector {\n return (\n connector.type === injected.type &&\n connector.id === EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID\n );\n}\n\nexport function useIsExternalConnectorWithSafe(): boolean {\n const { connector } = useAccount();\n if (!connector) return false;\n return isExternalConnectorSafeIframe(connector);\n}\n\nexport function isConnectorWithSafeProvider<\n T extends Pick<Connector, \"type\" | \"id\">,\n>(\n connector: T\n): connector is T &\n (SafeMinConnector | SafeIframeMinConnector | SafeWalletConnectMinConnector) {\n return (\n isSafeConnector(connector) ||\n isExternalConnectorSafeIframe(connector) ||\n isExternalConnectorSafeWalletConnect(connector)\n );\n}\n\nexport function isConnectorWithSafeIframeProvider<\n T extends Pick<Connector, \"type\" | \"id\">,\n>(connector: T): connector is T & (SafeIframeMinConnector | SafeMinConnector) {\n return isSafeConnector(connector) || isExternalConnectorSafeIframe(connector);\n}\n"],"mappings":";;;;;;AAcA,SAAgBS,EACdE,GAIA;CACA,OACEA,EAAUG,SAASb,EAASa,SAC3BH,EAAUE,OAAAA,gCACTF,EAAUE,OAAAA,iCACVF,EAAUE,OAAAA;;AAchB,SAAgBI,EAEdN,GAAuD;CACvD,OACEA,EAAUG,SAASb,EAASa,QAC5BH,EAAUE,OAAAA;;AAId,SAAgBK,EAEdP,GAA8D;CAC9D,OACEA,EAAUG,SAASb,EAASa,QAC5BH,EAAUE,OAAAA;;AAId,SAAOM,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACL,EAAAV,iBAAsBL,GAAY;CAClC,IAAI,CAACK,GAAS,OAAS;CAAM,IAAAW;CACkB,OADlBF,EAAA,OAAAT,IACkBW,IAAAF,EAAA,MAAxCE,IAAAL,EAA8BN,EAAU,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE,IAAxCA;;AAGT,SAAgBC,EAGdZ,GAE4E;CAC5E,OACEJ,EAAgBI,EAAU,IAC1BM,EAA8BN,EAAU,IACxCO,EAAqCP,EAAU;;AAInD,SAAgBa,EAEdb,GAA4E;CAC5E,OAAOJ,EAAgBI,EAAU,IAAIM,EAA8BN,EAAU"}
1
+ {"version":3,"file":"utils.js","names":["Connector","injected","EXTERNAL_CONNECTOR_ID","EXTERNAL_CONNECTOR_SAFE_ID","EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID","EXTERNAL_CONNECTOR_WALLETCONNECT_ID","ExternalConnectorId","useAccount","isSafeConnector","SafeMinConnector","isExternalConnector","Pick","connector","T","id","type","SafeIframeMinConnector","SafeWalletConnectMinConnector","isExternalConnectorSafeIframe","isExternalConnectorSafeWalletConnect","useIsExternalConnectorWithSafe","$","_c","t0","isConnectorWithSafeProvider","isConnectorWithSafeIframeProvider"],"sources":["../../../../src/components/web3/ConnectExternalProvider/utils.ts"],"sourcesContent":["import type { Connector } from \"@wagmi/core\";\nimport { injected } from \"wagmi/connectors\";\nimport {\n EXTERNAL_CONNECTOR_ID,\n EXTERNAL_CONNECTOR_SAFE_ID,\n EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID,\n EXTERNAL_CONNECTOR_WALLETCONNECT_ID,\n type ExternalConnectorId,\n} from \"./constants\";\nimport { useAccount } from \"wagmi\";\nimport {\n isSafeConnector,\n type SafeMinConnector,\n} from \"@/hooks/connectors/useIsGnosisSafeConnector\";\n\nexport function isExternalConnector<T extends Pick<Connector, \"type\" | \"id\">>(\n connector: T\n): connector is T & {\n id: ExternalConnectorId;\n type: typeof injected.type;\n} {\n return (\n connector.type === injected.type &&\n (connector.id === EXTERNAL_CONNECTOR_ID ||\n connector.id === EXTERNAL_CONNECTOR_SAFE_ID ||\n connector.id === EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID ||\n connector.id === EXTERNAL_CONNECTOR_WALLETCONNECT_ID)\n );\n}\n\ntype SafeIframeMinConnector = {\n id: typeof EXTERNAL_CONNECTOR_SAFE_ID;\n type: typeof injected.type;\n};\n\ntype SafeWalletConnectMinConnector = {\n id: typeof EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID;\n type: typeof injected.type;\n};\n\nexport function isExternalConnectorSafeIframe<\n T extends Pick<Connector, \"type\" | \"id\">,\n>(connector: T): connector is T & SafeIframeMinConnector {\n return (\n connector.type === injected.type &&\n connector.id === EXTERNAL_CONNECTOR_SAFE_ID\n );\n}\n\nexport function isExternalConnectorSafeWalletConnect<\n T extends Pick<Connector, \"type\" | \"id\">,\n>(connector: T): connector is T & SafeWalletConnectMinConnector {\n return (\n connector.type === injected.type &&\n connector.id === EXTERNAL_CONNECTOR_SAFE_WALLETCONNECT_ID\n );\n}\n\nexport function useIsExternalConnectorWithSafe(): boolean {\n const { connector } = useAccount();\n if (!connector) return false;\n return isExternalConnectorSafeIframe(connector);\n}\n\nexport function isConnectorWithSafeProvider<\n T extends Pick<Connector, \"type\" | \"id\">,\n>(\n connector: T\n): connector is T &\n (SafeMinConnector | SafeIframeMinConnector | SafeWalletConnectMinConnector) {\n return (\n isSafeConnector(connector) ||\n isExternalConnectorSafeIframe(connector) ||\n isExternalConnectorSafeWalletConnect(connector)\n );\n}\n\nexport function isConnectorWithSafeIframeProvider<\n T extends Pick<Connector, \"type\" | \"id\">,\n>(connector: T): connector is T & (SafeIframeMinConnector | SafeMinConnector) {\n return isSafeConnector(connector) || isExternalConnectorSafeIframe(connector);\n}\n"],"mappings":";;;;;;AAeA,SAAgBU,EACdE,GAIA;CACA,OACEA,EAAUG,SAASd,EAASc,SAC3BH,EAAUE,OAAAA,gCACTF,EAAUE,OAAAA,iCACVF,EAAUE,OAAAA,+CACVF,EAAUE,OAAAA;;AAchB,SAAgBI,EAEdN,GAAuD;CACvD,OACEA,EAAUG,SAASd,EAASc,QAC5BH,EAAUE,OAAAA;;AAId,SAAgBK,EAEdP,GAA8D;CAC9D,OACEA,EAAUG,SAASd,EAASc,QAC5BH,EAAUE,OAAAA;;AAId,SAAOM,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACL,EAAAV,iBAAsBL,GAAY;CAClC,IAAI,CAACK,GAAS,OAAS;CAAM,IAAAW;CACkB,OADlBF,EAAA,OAAAT,IACkBW,IAAAF,EAAA,MAAxCE,IAAAL,EAA8BN,EAAU,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE,IAAxCA;;AAGT,SAAgBC,EAGdZ,GAE4E;CAC5E,OACEJ,EAAgBI,EAAU,IAC1BM,EAA8BN,EAAU,IACxCO,EAAqCP,EAAU;;AAInD,SAAgBa,EAEdb,GAA4E;CAC5E,OAAOJ,EAAgBI,EAAU,IAAIM,EAA8BN,EAAU"}
@@ -0,0 +1,5 @@
1
+ import { LoggerInstance } from '../../../lib/utils/logger';
2
+ import { EIP1193Provider } from 'viem';
3
+ import { InjectedExternalConnectorParameters } from './constants';
4
+ export declare function prepareInjectedParamsForWalletConnect(provider: EIP1193Provider, logger?: LoggerInstance): InjectedExternalConnectorParameters | null;
5
+ //# sourceMappingURL=walletConnectProviderWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletConnectProviderWrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C,OAAO,EACL,KAAK,mCAAmC,EAEzC,MAAM,aAAa,CAAC;AAErB,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,eAAe,EACzB,MAAM,CAAC,EAAE,cAAc,GACtB,mCAAmC,GAAG,IAAI,CAmB5C"}
@@ -0,0 +1,22 @@
1
+ import { EXTERNAL_CONNECTOR_WALLETCONNECT_ID as e } from "./constants.js";
2
+ import { isWConnectProvider as t } from "../ConnectWallets/walletIcons.js";
3
+ //#region src/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.ts
4
+ function n(n, r) {
5
+ if (!t(n)) return null;
6
+ try {
7
+ return {
8
+ shimDisconnect: !1,
9
+ target: {
10
+ id: e,
11
+ name: "External",
12
+ provider: n
13
+ }
14
+ };
15
+ } catch (e) {
16
+ return r?.error("Failed to prepare injected params for WalletConnect", e), null;
17
+ }
18
+ }
19
+ //#endregion
20
+ export { n as prepareInjectedParamsForWalletConnect };
21
+
22
+ //# sourceMappingURL=walletConnectProviderWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletConnectProviderWrapper.js","names":["LoggerInstance","EIP1193Provider","isWConnectProvider","InjectedExternalConnectorParameters","EXTERNAL_CONNECTOR_WALLETCONNECT_ID","prepareInjectedParamsForWalletConnect","provider","logger","shimDisconnect","target","id","name","error"],"sources":["../../../../src/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.ts"],"sourcesContent":["import type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { EIP1193Provider } from \"viem\";\nimport { isWConnectProvider } from \"../ConnectWallets/walletIcons\";\nimport {\n type InjectedExternalConnectorParameters,\n EXTERNAL_CONNECTOR_WALLETCONNECT_ID,\n} from \"./constants\";\n\nexport function prepareInjectedParamsForWalletConnect(\n provider: EIP1193Provider,\n logger?: LoggerInstance\n): InjectedExternalConnectorParameters | null {\n if (!isWConnectProvider(provider)) return null;\n\n try {\n return {\n // wallet_requestPermissions call never resolves when used with WalletConnect provider\n // for some wallets (e.g. Rainbow mobile or Trust mobile for @andriy-shymkiv) and so the Widget doesn't autoconnect.\n // Solution: skip wallet_requestPermissions call entirely by setting shimDisconnect=false\n shimDisconnect: false,\n target: {\n id: EXTERNAL_CONNECTOR_WALLETCONNECT_ID,\n name: \"External\",\n provider,\n },\n };\n } catch (error) {\n logger?.error(\"Failed to prepare injected params for WalletConnect\", error);\n return null;\n }\n}\n"],"mappings":";;;AAQA,SAAgBK,EACdC,GACAC,GAC4C;CAC5C,IAAI,CAACL,EAAmBI,EAAS,EAAE,OAAO;CAE1C,IAAI;EACF,OAAO;GAILE,gBAAgB;GAChBC,QAAQ;IACNC,IAAIN;IACJO,MAAM;IACNL;IACF;GACD;UACMM,GAAO;EAEd,OADAL,GAAQK,MAAM,uDAAuDA,EAAM,EACpE"}
@@ -1,7 +1,7 @@
1
- import { DeltaPriceV2 } from '@velora-dex/sdk';
1
+ import { BridgePrice } from '@velora-dex/sdk';
2
2
  import { BridgeListItemProps } from './types';
3
3
  export declare function useBridgeListItems({ bridgePrice, prioritize, maxItems, }: {
4
- bridgePrice?: DeltaPriceV2;
4
+ bridgePrice?: BridgePrice;
5
5
  /**
6
6
  @true [recommended, selected, bestReturn, fastest, others...]
7
7
  @false [recommended, others...]
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,iBAAiB,CAAC;AAGhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAQnD,wBAAgB,kBAAkB,CAAC,EACjC,WAAW,EACX,UAAkB,EAClB,QAAQ,GACT,EAAE;IACD,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG;IACF,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC,CA0CA"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,iBAAiB,CAAC;AAGpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAOnD,wBAAgB,kBAAkB,CAAC,EACjC,WAAW,EACX,UAAkB,EAClB,QAAQ,GACT,EAAE;IACD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG;IACF,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAyCA"}
@@ -1,133 +1,127 @@
1
1
  import { useSetAtom as e } from "../../../core/store.js";
2
2
  import { emptyArray as t } from "../../../lib/constants/index.js";
3
3
  import { protocolNameAtom as n } from "../TradeParameters/state/bridgePreferences/protocolNameAtom.js";
4
- import { getAllBridgeRoutes as r } from "../../../hooks/swap/prices/delta/bridge/utils.js";
5
- import { useWidgetTokens as i } from "../../../core/inputs/state/common.js";
6
- import { useSelectedBridgePrice as a } from "../../../hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js";
7
- import { useGetBridgeProtocolsMap as o } from "../../../hooks/useBridgeProtocols.js";
8
- import { c as s } from "react-compiler-runtime";
4
+ import { useWidgetTokens as r } from "../../../core/inputs/state/common.js";
5
+ import { useSelectedBridgePrice as i } from "../../../hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js";
6
+ import { useGetBridgeProtocolsMap as a } from "../../../hooks/useBridgeProtocols.js";
7
+ import { c as o } from "react-compiler-runtime";
9
8
  //#region src/components/widget/BridgeList/hooks.tsx
10
- function c(r) {
11
- let c = s(20), { bridgePrice: u, prioritize: d, maxItems: p } = r, m = d === void 0 ? !1 : d, { data: h } = o(), { tokenFrom: g, tokenTo: _ } = i("swap"), v = e(n), y;
12
- c[0] === u ? y = c[1] : (y = { price: u }, c[0] = u, c[1] = y);
13
- let b = a(y);
9
+ function s(s) {
10
+ let l = o(20), { bridgePrice: u, prioritize: f, maxItems: p } = s, m = f === void 0 ? !1 : f, { data: h } = a(), { tokenFrom: g, tokenTo: _ } = r("swap"), v = e(n), y;
11
+ l[0] === u ? y = l[1] : (y = { price: u }, l[0] = u, l[1] = y);
12
+ let b = i(y);
14
13
  if (!u || !h || !_ || !b) {
15
14
  let e;
16
- return c[2] === Symbol.for("react.memo_cache_sentinel") ? (e = {
15
+ return l[2] === Symbol.for("react.memo_cache_sentinel") ? (e = {
17
16
  displayedBridges: t,
18
17
  allBridges: t
19
- }, c[2] = e) : e = c[2], e;
18
+ }, l[2] = e) : e = l[2], e;
20
19
  }
21
- let x = b.route.bridge?.protocol, S;
22
- c[3] !== x || c[4] !== v || c[5] !== g || c[6] !== _ ? (S = (e) => {
23
- let t = e.protocolName.toLowerCase(), n = () => {
20
+ let x;
21
+ l[3] !== b.bridgeInfo.protocolName || l[4] !== v || l[5] !== g || l[6] !== _ ? (x = (e) => {
22
+ let t = e.protocolName.toLowerCase(), n = b.bridgeInfo.protocolName.toLowerCase(), r = () => {
24
23
  v(t);
25
- }, r = t === x?.toLowerCase();
24
+ }, i = t === n;
26
25
  return {
27
26
  ...e,
28
- onClick: n,
27
+ onClick: r,
29
28
  tokenFrom: g,
30
29
  tokenTo: _,
31
- isSelected: r
30
+ isSelected: i
32
31
  };
33
- }, c[3] = x, c[4] = v, c[5] = g, c[6] = _, c[7] = S) : S = c[7];
34
- let C = S, w, T;
35
- c[8] !== u || c[9] !== h || c[10] !== C || c[11] !== p || c[12] !== m || c[13] !== b.route ? (w = C(f({
36
- route: b.route,
32
+ }, l[3] = b.bridgeInfo.protocolName, l[4] = v, l[5] = g, l[6] = _, l[7] = x) : x = l[7];
33
+ let S = x, C, w;
34
+ l[8] !== u || l[9] !== h || l[10] !== S || l[11] !== p || l[12] !== m || l[13] !== b ? (C = S(d({
35
+ availableBridge: b,
37
36
  bridgeProtocols: h
38
- })), T = l({
37
+ })), w = c({
39
38
  prioritize: m,
40
39
  bridgePrice: u,
41
40
  bridgeProtocols: h,
42
- extendBridge: C,
43
- selectedBridge: w,
41
+ extendBridge: S,
42
+ selectedBridge: C,
44
43
  maxItems: p
45
- }), c[8] = u, c[9] = h, c[10] = C, c[11] = p, c[12] = m, c[13] = b.route, c[14] = w, c[15] = T) : (w = c[14], T = c[15]);
46
- let { displayedBridges: E, allBridges: D } = T, O;
47
- return c[16] !== D || c[17] !== E || c[18] !== w ? (O = {
48
- displayedBridges: E,
49
- allBridges: D,
50
- selectedBridge: w
51
- }, c[16] = D, c[17] = E, c[18] = w, c[19] = O) : O = c[19], O;
44
+ }), l[8] = u, l[9] = h, l[10] = S, l[11] = p, l[12] = m, l[13] = b, l[14] = C, l[15] = w) : (C = l[14], w = l[15]);
45
+ let { displayedBridges: T, allBridges: E } = w, D;
46
+ return l[16] !== E || l[17] !== T || l[18] !== C ? (D = {
47
+ displayedBridges: T,
48
+ allBridges: E,
49
+ selectedBridge: C
50
+ }, l[16] = E, l[17] = T, l[18] = C, l[19] = D) : D = l[19], D;
52
51
  }
53
- function l({ prioritize: e, bridgePrice: t, bridgeProtocols: n, extendBridge: r, selectedBridge: i, maxItems: a }) {
54
- return e ? u({
52
+ function c({ prioritize: e, bridgePrice: t, bridgeProtocols: n, extendBridge: r, selectedBridge: i, maxItems: a }) {
53
+ return e ? l({
55
54
  bridgePrice: t,
56
55
  bridgeProtocols: n,
57
56
  extendBridge: r,
58
57
  selectedBridge: i,
59
58
  maxItems: a
60
- }) : d({
59
+ }) : u({
61
60
  bridgePrice: t,
62
61
  bridgeProtocols: n,
63
62
  extendBridge: r,
64
63
  maxItems: a
65
64
  });
66
65
  }
67
- function u({ bridgePrice: e, bridgeProtocols: t, extendBridge: n, selectedBridge: i, maxItems: a }) {
68
- let o = r(e), s = [i], c = new Set([i.protocolName.toLowerCase()]);
69
- for (let e of o) {
70
- let r = e.bridge?.protocol;
71
- if (!r) continue;
72
- let i = r.toLowerCase();
73
- if (c.has(i)) continue;
74
- c.add(i);
75
- let a = f({
76
- route: e,
66
+ function l({ bridgePrice: e, bridgeProtocols: t, extendBridge: n, selectedBridge: r, maxItems: i }) {
67
+ let { availableBridges: a } = e, o = [r], s = new Set([r.protocolName.toLowerCase()]);
68
+ for (let e of a) {
69
+ let r = e.bridgeInfo.protocolName.toLowerCase();
70
+ if (s.has(r)) continue;
71
+ s.add(r);
72
+ let i = d({
73
+ availableBridge: e,
77
74
  bridgeProtocols: t
78
75
  });
79
- s.push(n(a));
76
+ o.push(n(i));
80
77
  }
81
- let l = s.sort(p);
78
+ let c = o.sort(f);
82
79
  return {
83
- displayedBridges: a ? l.slice(0, a) : l,
84
- allBridges: l
80
+ displayedBridges: i ? c.slice(0, i) : c,
81
+ allBridges: c
85
82
  };
86
83
  }
87
- function d({ bridgePrice: e, bridgeProtocols: t, extendBridge: n, maxItems: i }) {
88
- let a = r(e), o = [], s = /* @__PURE__ */ new Set();
89
- for (let e of a) {
90
- let r = e.bridge?.protocol;
91
- if (!r) continue;
92
- let i = r.toLowerCase();
93
- if (s.has(i)) continue;
94
- s.add(i);
95
- let a = f({
96
- route: e,
84
+ function u({ bridgePrice: e, bridgeProtocols: t, extendBridge: n, maxItems: r }) {
85
+ let { availableBridges: i } = e, a = [], o = /* @__PURE__ */ new Set();
86
+ for (let e of i) {
87
+ let { bridgeInfo: r } = e, i = r.protocolName.toLowerCase();
88
+ if (o.has(i)) continue;
89
+ let s = d({
90
+ availableBridge: e,
97
91
  bridgeProtocols: t
98
92
  });
99
- o.push(n(a));
93
+ o.add(i), a.push(n(s));
100
94
  }
101
- let c = o.sort(m);
95
+ let s = a.sort(p);
102
96
  return {
103
- displayedBridges: i ? c.slice(0, i) : c,
104
- allBridges: c
97
+ displayedBridges: r ? s.slice(0, r) : s,
98
+ allBridges: s
105
99
  };
106
100
  }
107
- function f({ route: e, bridgeProtocols: t }) {
108
- let n = e.bridge, r = t[n.protocol.toLowerCase()], i = n.tags;
101
+ function d({ availableBridge: e, bridgeProtocols: t }) {
102
+ let { receivedDestUSD: n, bridge: r, bridgeInfo: i, srcUSD: a, srcAmount: o } = e, s = t[i.protocolName.toLowerCase()];
109
103
  return {
110
- srcUSD: e.origin.input.amountUSD,
111
- destUSD: e.destination.output.amountUSD,
112
- srcAmount: e.origin.input.amount,
113
- destAmount: e.destination.output.amount,
114
- protocolDisplayName: r?.displayName,
115
- protocolIcon: r?.icon,
116
- protocolSelector: n.contractParams.protocolSelector,
117
- protocolName: n.protocol,
118
- estimatedTimeMs: n.estimatedTimeMs,
119
- recommended: i.includes("recommended"),
120
- bestReturn: i.includes("best-return"),
121
- fastest: i.includes("fastest")
104
+ srcUSD: a,
105
+ destUSD: n,
106
+ srcAmount: o,
107
+ destAmount: i.destAmountAfterBridge,
108
+ protocolDisplayName: s?.displayName,
109
+ protocolIcon: s?.icon,
110
+ protocolSelector: r.protocolSelector,
111
+ protocolName: i.protocolName,
112
+ estimatedTimeMs: i.estimatedTimeMs,
113
+ recommended: i.recommended,
114
+ bestReturn: i.bestReturn,
115
+ fastest: i.fastest
122
116
  };
123
117
  }
124
- function p(e, t) {
118
+ function f(e, t) {
125
119
  return e.recommended && !t.recommended ? -1 : !e.recommended && t.recommended ? 1 : e.isSelected && !t.isSelected ? -1 : !e.isSelected && t.isSelected ? 1 : e.bestReturn && !t.bestReturn ? -1 : !e.bestReturn && t.bestReturn ? 1 : e.fastest && !t.fastest ? -1 : !e.fastest && t.fastest ? 1 : 0;
126
120
  }
127
- function m(e, t) {
121
+ function p(e, t) {
128
122
  return e.recommended && !t.recommended ? -1 : !e.recommended && t.recommended ? 1 : 0;
129
123
  }
130
124
  //#endregion
131
- export { c as useBridgeListItems };
125
+ export { s as useBridgeListItems };
132
126
 
133
127
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","names":["DeltaPriceV2","DeltaRoute","useGetBridgeProtocolsMap","useWidgetTokens","BridgeListItemProps","emptyArray","BridgeProtocolsMapping","useSetAtom","protocolNameAtom","useSelectedBridgePrice","getAllBridgeRoutes","useBridgeListItems","t0","$","_c","bridgePrice","prioritize","t1","maxItems","undefined","data","bridgeProtocols","tokenFrom","tokenTo","setProtocolName","t2","price","selectedBridgePrice","t3","Symbol","for","displayedBridges","allBridges","selectedProtocolName","route","bridge","protocol","loweredProtocolName","protocolName","toLowerCase","onClick","isSelected","extendBridge","selectedBridge","t4","pickBridgeProps","getDisplayedBridges","t5","BridgeListItemBaseProps","Omit","GetDisplayedBridgesParams","getBridgesWithPriority","getAllBridges","routes","addedBridgesSet","Set","has","add","bridgeProps","push","sorted","sort","sortBridgesByPriority","slice","sortBridgesRecommendedFirst","bridgeProtocol","tags","srcUSD","origin","input","amountUSD","destUSD","destination","output","srcAmount","amount","destAmount","protocolDisplayName","displayName","protocolIcon","icon","protocolSelector","contractParams","estimatedTimeMs","recommended","includes","bestReturn","fastest","a","b"],"sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"sourcesContent":["import type { DeltaPriceV2, DeltaRoute } from \"@velora-dex/sdk\";\nimport { useGetBridgeProtocolsMap } from \"@/hooks/useBridgeProtocols\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport type { BridgeListItemProps } from \"./types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeProtocolsMapping } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/types\";\nimport { useSetAtom } from \"@/core/store\";\nimport { protocolNameAtom } from \"../TradeParameters/state/bridgePreferences/protocolNameAtom\";\nimport { useSelectedBridgePrice } from \"@/hooks/swap/prices/delta/bridge/useSelectedBridgePrice\";\nimport { getAllBridgeRoutes } from \"@/hooks/swap/prices/delta/bridge/utils\";\n\nexport function useBridgeListItems({\n bridgePrice,\n prioritize = false,\n maxItems,\n}: {\n bridgePrice?: DeltaPriceV2;\n /**\n @true [recommended, selected, bestReturn, fastest, others...]\n @false [recommended, others...]\n @default false\n */\n prioritize?: boolean;\n maxItems?: number;\n}): {\n displayedBridges: BridgeListItemProps[];\n allBridges: BridgeListItemProps[];\n selectedBridge?: BridgeListItemProps;\n} {\n const { data: bridgeProtocols } = useGetBridgeProtocolsMap();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const setProtocolName = useSetAtom(protocolNameAtom);\n const selectedBridgePrice = useSelectedBridgePrice({ price: bridgePrice });\n\n if (!bridgePrice || !bridgeProtocols || !tokenTo || !selectedBridgePrice)\n return { displayedBridges: emptyArray, allBridges: emptyArray };\n\n const selectedProtocolName = selectedBridgePrice.route.bridge?.protocol;\n\n const extendBridge = (\n bridge: BridgeListItemBaseProps\n ): BridgeListItemProps => {\n const loweredProtocolName = bridge.protocolName.toLowerCase();\n\n const onClick = () => {\n setProtocolName(loweredProtocolName);\n };\n const isSelected =\n loweredProtocolName === selectedProtocolName?.toLowerCase();\n return { ...bridge, onClick, tokenFrom, tokenTo, isSelected };\n };\n\n const selectedBridge = extendBridge(\n pickBridgeProps({\n route: selectedBridgePrice.route,\n bridgeProtocols,\n })\n );\n\n const { displayedBridges, allBridges } = getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n\n return { displayedBridges, allBridges, selectedBridge };\n}\n\n// BridgeListItemProps without stateful fields\ntype BridgeListItemBaseProps = Omit<\n BridgeListItemProps,\n \"tokenFrom\" | \"tokenTo\" | \"isSelected\" | \"onClick\"\n>;\n\ntype GetDisplayedBridgesParams = {\n prioritize: boolean;\n bridgePrice: DeltaPriceV2;\n bridgeProtocols: BridgeProtocolsMapping;\n extendBridge: (bridge: BridgeListItemBaseProps) => BridgeListItemProps;\n selectedBridge: BridgeListItemProps;\n maxItems?: number;\n};\n\nfunction getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: GetDisplayedBridgesParams) {\n if (prioritize) {\n return getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n }\n\n return getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n });\n}\n\nfunction getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\">) {\n const routes = getAllBridgeRoutes(bridgePrice);\n\n const displayedBridges: BridgeListItemProps[] = [selectedBridge];\n const addedBridgesSet = new Set<string>([\n selectedBridge.protocolName.toLowerCase(),\n ]);\n\n for (const route of routes) {\n const protocol = route.bridge?.protocol;\n if (!protocol) continue;\n const loweredProtocolName = protocol.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n addedBridgesSet.add(loweredProtocolName);\n\n const bridgeProps = pickBridgeProps({ route, bridgeProtocols });\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesByPriority);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\" | \"selectedBridge\">) {\n const routes = getAllBridgeRoutes(bridgePrice);\n\n const displayedBridges: BridgeListItemProps[] = [];\n const addedBridgesSet = new Set<string>();\n\n for (const route of routes) {\n const protocol = route.bridge?.protocol;\n if (!protocol) continue;\n const loweredProtocolName = protocol.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n addedBridgesSet.add(loweredProtocolName);\n\n const bridgeProps = pickBridgeProps({ route, bridgeProtocols });\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesRecommendedFirst);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction pickBridgeProps({\n route,\n bridgeProtocols,\n}: {\n route: DeltaRoute;\n bridgeProtocols: BridgeProtocolsMapping;\n}): BridgeListItemBaseProps {\n // bridge is null only for same-chain; callers filter those out\n const bridge = route.bridge!;\n const bridgeProtocol = bridgeProtocols[bridge.protocol.toLowerCase()];\n const tags = bridge.tags;\n\n return {\n srcUSD: route.origin.input.amountUSD,\n destUSD: route.destination.output.amountUSD,\n srcAmount: route.origin.input.amount,\n destAmount: route.destination.output.amount,\n protocolDisplayName: bridgeProtocol?.displayName,\n protocolIcon: bridgeProtocol?.icon,\n protocolSelector: bridge.contractParams.protocolSelector,\n protocolName: bridge.protocol,\n estimatedTimeMs: bridge.estimatedTimeMs,\n recommended: tags.includes(\"recommended\"),\n bestReturn: tags.includes(\"best-return\"),\n fastest: tags.includes(\"fastest\"),\n };\n}\n\nfunction sortBridgesByPriority(a: BridgeListItemProps, b: BridgeListItemProps) {\n // prioritize recommended > selected > bestReturn > fastest\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n if (a.isSelected && !b.isSelected) return -1;\n if (!a.isSelected && b.isSelected) return 1;\n\n if (a.bestReturn && !b.bestReturn) return -1;\n if (!a.bestReturn && b.bestReturn) return 1;\n\n if (a.fastest && !b.fastest) return -1;\n if (!a.fastest && b.fastest) return 1;\n\n return 0;\n}\n\nfunction sortBridgesRecommendedFirst(\n a: BridgeListItemProps,\n b: BridgeListItemProps\n) {\n // prioritize recommended first\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n return 0;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","names":["BridgePrice","AvailableBridge","useGetBridgeProtocolsMap","useWidgetTokens","BridgeListItemProps","emptyArray","BridgeProtocolsMapping","useSetAtom","protocolNameAtom","useSelectedBridgePrice","useBridgeListItems","t0","$","_c","bridgePrice","prioritize","t1","maxItems","undefined","data","bridgeProtocols","tokenFrom","tokenTo","setProtocolName","t2","price","selectedBridgePrice","t3","Symbol","for","displayedBridges","allBridges","bridgeInfo","protocolName","bridge","loweredProtocolName","toLowerCase","loweredSelectedProtocolName","onClick","isSelected","extendBridge","selectedBridge","t4","pickBridgeProps","availableBridge","getDisplayedBridges","t5","BridgeListItemBaseProps","Omit","GetDisplayedBridgesParams","getBridgesWithPriority","getAllBridges","availableBridges","addedBridgesSet","Set","has","add","bridgeProps","push","sorted","sort","sortBridgesByPriority","slice","sortBridgesRecommendedFirst","receivedDestUSD","srcUSD","srcAmount","bridgeProtocol","destUSD","destAmount","destAmountAfterBridge","protocolDisplayName","displayName","protocolIcon","icon","protocolSelector","estimatedTimeMs","recommended","bestReturn","fastest","a","b"],"sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"sourcesContent":["import type { BridgePrice, AvailableBridge } from \"@velora-dex/sdk\";\nimport { useGetBridgeProtocolsMap } from \"@/hooks/useBridgeProtocols\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport type { BridgeListItemProps } from \"./types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeProtocolsMapping } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/types\";\nimport { useSetAtom } from \"@/core/store\";\nimport { protocolNameAtom } from \"../TradeParameters/state/bridgePreferences/protocolNameAtom\";\nimport { useSelectedBridgePrice } from \"@/hooks/swap/prices/delta/bridge/useSelectedBridgePrice\";\n\nexport function useBridgeListItems({\n bridgePrice,\n prioritize = false,\n maxItems,\n}: {\n bridgePrice?: BridgePrice;\n /**\n @true [recommended, selected, bestReturn, fastest, others...]\n @false [recommended, others...]\n @default false\n */\n prioritize?: boolean;\n maxItems?: number;\n}): {\n displayedBridges: BridgeListItemProps[];\n allBridges: BridgeListItemProps[];\n selectedBridge?: BridgeListItemProps;\n} {\n const { data: bridgeProtocols } = useGetBridgeProtocolsMap();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const setProtocolName = useSetAtom(protocolNameAtom);\n const selectedBridgePrice = useSelectedBridgePrice({ price: bridgePrice });\n\n if (!bridgePrice || !bridgeProtocols || !tokenTo || !selectedBridgePrice)\n return { displayedBridges: emptyArray, allBridges: emptyArray };\n\n const extendBridge = (\n bridge: BridgeListItemBaseProps\n ): BridgeListItemProps => {\n const loweredProtocolName = bridge.protocolName.toLowerCase();\n const loweredSelectedProtocolName =\n selectedBridgePrice.bridgeInfo.protocolName.toLowerCase();\n\n const onClick = () => {\n setProtocolName(loweredProtocolName);\n };\n const isSelected = loweredProtocolName === loweredSelectedProtocolName;\n return { ...bridge, onClick, tokenFrom, tokenTo, isSelected };\n };\n\n const selectedBridge = extendBridge(\n pickBridgeProps({\n availableBridge: selectedBridgePrice,\n bridgeProtocols,\n })\n );\n\n const { displayedBridges, allBridges } = getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n\n return { displayedBridges, allBridges, selectedBridge };\n}\n\n// BridgeListItemProps without stateful fields\ntype BridgeListItemBaseProps = Omit<\n BridgeListItemProps,\n \"tokenFrom\" | \"tokenTo\" | \"isSelected\" | \"onClick\"\n>;\n\ntype GetDisplayedBridgesParams = {\n prioritize: boolean;\n bridgePrice: BridgePrice;\n bridgeProtocols: BridgeProtocolsMapping;\n extendBridge: (bridge: BridgeListItemBaseProps) => BridgeListItemProps;\n selectedBridge: BridgeListItemProps;\n maxItems?: number;\n};\n\nfunction getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: GetDisplayedBridgesParams) {\n if (prioritize) {\n return getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n }\n\n return getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n });\n}\n\nfunction getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\">) {\n const { availableBridges } = bridgePrice;\n\n const displayedBridges: BridgeListItemProps[] = [selectedBridge];\n const addedBridgesSet = new Set<string>([\n selectedBridge.protocolName.toLowerCase(),\n ]);\n\n for (const availableBridge of availableBridges) {\n const loweredProtocolName =\n availableBridge.bridgeInfo.protocolName.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n addedBridgesSet.add(loweredProtocolName);\n\n const bridgeProps = pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n });\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesByPriority);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\" | \"selectedBridge\">) {\n const { availableBridges } = bridgePrice;\n\n const displayedBridges: BridgeListItemProps[] = [];\n const addedBridgesSet = new Set<string>();\n\n // then all others in any order\n for (const availableBridge of availableBridges) {\n const { bridgeInfo } = availableBridge;\n const loweredProtocolName = bridgeInfo.protocolName.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n\n const bridgeProps = pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n });\n addedBridgesSet.add(loweredProtocolName);\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesRecommendedFirst);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n}: {\n availableBridge: AvailableBridge;\n bridgeProtocols: BridgeProtocolsMapping;\n}): BridgeListItemBaseProps {\n const { receivedDestUSD, bridge, bridgeInfo, srcUSD, srcAmount } =\n availableBridge;\n const bridgeProtocol = bridgeProtocols[bridgeInfo.protocolName.toLowerCase()];\n\n return {\n srcUSD,\n destUSD: receivedDestUSD,\n srcAmount,\n destAmount: bridgeInfo.destAmountAfterBridge,\n protocolDisplayName: bridgeProtocol?.displayName,\n protocolIcon: bridgeProtocol?.icon,\n protocolSelector: bridge.protocolSelector,\n protocolName: bridgeInfo.protocolName,\n estimatedTimeMs: bridgeInfo.estimatedTimeMs,\n recommended: bridgeInfo.recommended,\n bestReturn: bridgeInfo.bestReturn,\n fastest: bridgeInfo.fastest,\n };\n}\n\nfunction sortBridgesByPriority(a: BridgeListItemProps, b: BridgeListItemProps) {\n // prioritize recommended > selected > bestReturn > fastest\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n if (a.isSelected && !b.isSelected) return -1;\n if (!a.isSelected && b.isSelected) return 1;\n\n if (a.bestReturn && !b.bestReturn) return -1;\n if (!a.bestReturn && b.bestReturn) return 1;\n\n if (a.fastest && !b.fastest) return -1;\n if (!a.fastest && b.fastest) return 1;\n\n return 0;\n}\n\nfunction sortBridgesRecommendedFirst(\n a: BridgeListItemProps,\n b: BridgeListItemProps\n) {\n // prioritize recommended first\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n return 0;\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { WithClasses } from '../../../types/withClasses';
2
- import { DeltaPriceV2 } from '@velora-dex/sdk';
2
+ import { BridgePrice } from '@velora-dex/sdk';
3
3
  type BridgeSelectorExpandableProps = {
4
- bridgePrice: DeltaPriceV2;
4
+ bridgePrice: BridgePrice;
5
5
  } & WithClasses<"root">;
6
6
  export declare const BridgeSelectorExpandable: ({ classes, bridgePrice, }: BridgeSelectorExpandableProps) => import("react/jsx-runtime").JSX.Element;
7
7
  export {};