@velora-dex/widget 0.3.12 → 0.4.0

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 (151) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +75 -63
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +14 -0
  5. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +1 -0
  6. package/dist/components/web3/ConnectExternalProvider/constants.js +6 -0
  7. package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -0
  8. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts +15 -0
  9. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts.map +1 -0
  10. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js +56 -0
  11. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -0
  12. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.d.ts +6 -0
  13. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.d.ts.map +1 -0
  14. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js +76 -0
  15. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -0
  16. package/dist/components/web3/ConnectExternalProvider/utils.d.ts +23 -0
  17. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +1 -0
  18. package/dist/components/web3/ConnectExternalProvider/utils.js +42 -0
  19. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -0
  20. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  21. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +8 -1
  22. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  23. package/dist/components/web3/ConnectWallets/walletIcons.js +23 -9
  24. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  25. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  26. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +11 -5
  27. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  28. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +2 -2
  29. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  30. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +22 -23
  31. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  32. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +1 -1
  33. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  34. package/dist/configurator/Configurator.d.ts.map +1 -1
  35. package/dist/configurator/Safe/SafeConnector.d.ts +23 -0
  36. package/dist/configurator/Safe/SafeConnector.d.ts.map +1 -0
  37. package/dist/configurator/Safe/useSafeConnector.d.ts +8 -0
  38. package/dist/configurator/Safe/useSafeConnector.d.ts.map +1 -0
  39. package/dist/core/state/configAtom.d.ts.map +1 -1
  40. package/dist/core/state/configAtom.js +5 -1
  41. package/dist/core/state/configAtom.js.map +1 -1
  42. package/dist/core/state/externalProviderAtom.d.ts +6 -0
  43. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  44. package/dist/core/state/externalProviderAtom.js +4 -1
  45. package/dist/core/state/externalProviderAtom.js.map +1 -1
  46. package/dist/events/getters/swap.d.ts.map +1 -1
  47. package/dist/events/getters/swap.js +2 -1
  48. package/dist/events/getters/swap.js.map +1 -1
  49. package/dist/events/getters/widgetState.d.ts.map +1 -1
  50. package/dist/events/getters/widgetState.js +22 -1
  51. package/dist/events/getters/widgetState.js.map +1 -1
  52. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  53. package/dist/events/hooks/useOnWalletConnect.js +17 -1
  54. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  55. package/dist/events/types/common.d.ts +7 -0
  56. package/dist/events/types/common.d.ts.map +1 -1
  57. package/dist/events/types/connectWallet.d.ts +4 -3
  58. package/dist/events/types/connectWallet.d.ts.map +1 -1
  59. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  60. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  61. package/dist/hooks/connectors/useIsConnectedSafe.d.ts +1 -0
  62. package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
  63. package/dist/hooks/connectors/useIsConnectedSafe.js +10 -3
  64. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  65. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts +5 -1
  66. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
  67. package/dist/hooks/connectors/useIsGnosisSafeConnector.js +3 -4
  68. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  69. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts +3 -1
  70. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  71. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +55 -11
  72. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  73. package/dist/hooks/otc/mutations/useFillOrder.js +2 -1
  74. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  75. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +1 -0
  76. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  77. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.d.ts.map +1 -1
  78. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +7 -4
  79. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  80. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  81. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +2 -1
  82. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  83. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  84. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  85. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  86. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +7 -4
  87. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  88. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  89. package/dist/hooks/txs/queries/useAwaitTx.js +114 -20
  90. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  91. package/dist/index.d.ts +1 -1
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/lib/constants/storage.d.ts +1 -1
  94. package/dist/lib/constants/storage.d.ts.map +1 -1
  95. package/dist/lib/constants/storage.js +3 -1
  96. package/dist/lib/constants/storage.js.map +1 -1
  97. package/dist/lib/utils/index.d.ts.map +1 -1
  98. package/dist/lib/utils/index.js.map +1 -1
  99. package/dist/lib/utils/toasts.d.ts +1 -1
  100. package/dist/lib/utils/toasts.d.ts.map +1 -1
  101. package/dist/lib/utils/toasts.js +5 -1
  102. package/dist/lib/utils/toasts.js.map +1 -1
  103. package/dist/lib/web3/privy/config.js +1 -1
  104. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  105. package/dist/lib/web3/wagmi/config.js +2 -2
  106. package/dist/lib/web3/wagmi/config.js.map +1 -1
  107. package/dist/lib/web3/wagmi/external.d.ts +11 -3
  108. package/dist/lib/web3/wagmi/external.d.ts.map +1 -1
  109. package/dist/lib/web3/wagmi/external.js +28 -2
  110. package/dist/lib/web3/wagmi/external.js.map +1 -1
  111. package/dist/lib/web3/wagmi/isInIframe.d.ts +2 -0
  112. package/dist/lib/web3/wagmi/isInIframe.d.ts.map +1 -0
  113. package/dist/lib/web3/wagmi/isInIframe.js +4 -0
  114. package/dist/lib/web3/wagmi/isInIframe.js.map +1 -0
  115. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +0 -1
  116. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -1
  117. package/dist/lib/web3/wagmi/isInsideSafeIframe.js +2 -2
  118. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  119. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
  120. package/dist/lib/web3/wagmi/switchChain.js +3 -3
  121. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  122. package/dist/styles.css +1 -1
  123. package/dist/transactions/hash.d.ts +7 -0
  124. package/dist/transactions/hash.d.ts.map +1 -0
  125. package/dist/transactions/hash.js +34 -0
  126. package/dist/transactions/hash.js.map +1 -0
  127. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  128. package/dist/transactions/queries/ensureCallsStatus.js +14 -3
  129. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  130. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  131. package/dist/transactions/queries/ensureTxReceipt.js +48 -12
  132. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  133. package/dist/transactions/state/effects/finalize.d.ts +7 -1
  134. package/dist/transactions/state/effects/finalize.d.ts.map +1 -1
  135. package/dist/transactions/state/effects/finalize.js +53 -7
  136. package/dist/transactions/state/effects/finalize.js.map +1 -1
  137. package/dist/transactions/state/hooks/useActivateEffects.d.ts.map +1 -1
  138. package/dist/transactions/state/hooks/useActivateEffects.js +4 -2
  139. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  140. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  141. package/dist/transactions/state/transactionsActionAtom.js +74 -18
  142. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  143. package/dist/transactions/state/transactionsAtom.js +2 -2
  144. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  145. package/dist/transactions/types.d.ts +32 -1
  146. package/dist/transactions/types.d.ts.map +1 -1
  147. package/dist/transactions/utils.d.ts +2 -1
  148. package/dist/transactions/utils.d.ts.map +1 -1
  149. package/dist/transactions/utils.js +7 -1
  150. package/dist/transactions/utils.js.map +1 -1
  151. package/package.json +3 -1
@@ -3,7 +3,27 @@ import { getLimitOrderState } from './limit.js';
3
3
  import { getOTCState } from './otc.js';
4
4
  import { tradeModeAtom } from '../../core/state/tradeModeAtom.js';
5
5
  import { getSettingsState } from './settings.js';
6
+ import { getAccount } from '@wagmi/core';
7
+ import { wagmiConfig } from '../../lib/web3/wagmi/config.js';
6
8
 
9
+ function accountState() {
10
+ const {
11
+ address,
12
+ chainId,
13
+ connector
14
+ } = getAccount(wagmiConfig);
15
+ const connectorData = connector ? {
16
+ name: connector.name,
17
+ icon: connector.icon,
18
+ id: connector.id,
19
+ type: connector.type
20
+ } : void 0;
21
+ return {
22
+ address,
23
+ chainId,
24
+ connector: connectorData
25
+ };
26
+ }
7
27
  function getWidgetState(get) {
8
28
  const currentTradeMode = get(tradeModeAtom);
9
29
  const formState = {
@@ -14,7 +34,8 @@ function getWidgetState(get) {
14
34
  return {
15
35
  currentTradeMode,
16
36
  formState,
17
- settingsState: getSettingsState(get)
37
+ settingsState: getSettingsState(get),
38
+ accountState: accountState()
18
39
  };
19
40
  }
20
41
 
@@ -1 +1 @@
1
- {"version":3,"file":"widgetState.js","sources":["../../../src/events/getters/widgetState.ts"],"sourcesContent":["import type { Getter } from \"jotai\";\nimport type { WidgetState } from \"../types/common\";\nimport { getSwapState } from \"./swap\";\nimport { getLimitOrderState } from \"./limit\";\nimport { getOTCState } from \"./otc\";\nimport { tradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport { getSettingsState } from \"./settings\";\n\nexport function getWidgetState(get: Getter): WidgetState {\n const currentTradeMode = get(tradeModeAtom);\n const formState = {\n swap: getSwapState(get),\n limit: getLimitOrderState(get),\n otc: getOTCState(get),\n };\n\n return {\n currentTradeMode,\n formState,\n settingsState: getSettingsState(get),\n };\n}\n"],"names":["getWidgetState","get","currentTradeMode","tradeModeAtom","formState","swap","getSwapState","limit","getLimitOrderState","otc","getOTCState","settingsState","getSettingsState"],"mappings":";;;;;;AAQO,SAASA,eAAeC,GAAAA,EAA0B;AACvD,EAAA,MAAMC,gBAAAA,GAAmBD,IAAIE,aAAa,CAAA;AAC1C,EAAA,MAAMC,SAAAA,GAAY;AAAA,IAChBC,IAAAA,EAAMC,aAAaL,GAAG,CAAA;AAAA,IACtBM,KAAAA,EAAOC,mBAAmBP,GAAG,CAAA;AAAA,IAC7BQ,GAAAA,EAAKC,YAAYT,GAAG;AAAA,GACtB;AAEA,EAAA,OAAO;AAAA,IACLC,gBAAAA;AAAAA,IACAE,SAAAA;AAAAA,IACAO,aAAAA,EAAeC,iBAAiBX,GAAG;AAAA,GACrC;AACF;;;;"}
1
+ {"version":3,"file":"widgetState.js","sources":["../../../src/events/getters/widgetState.ts"],"sourcesContent":["import type { Getter } from \"jotai\";\nimport type { AccountState, WidgetState } from \"../types/common\";\nimport { getSwapState } from \"./swap\";\nimport { getLimitOrderState } from \"./limit\";\nimport { getOTCState } from \"./otc\";\nimport { tradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport { getSettingsState } from \"./settings\";\nimport { getAccount } from \"@wagmi/core\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\n\nfunction accountState(): AccountState {\n const { address, chainId, connector } = getAccount(wagmiConfig);\n\n const connectorData = connector\n ? {\n name: connector.name,\n icon: connector.icon,\n id: connector.id,\n type: connector.type,\n }\n : undefined;\n return { address, chainId, connector: connectorData };\n}\n\nexport function getWidgetState(get: Getter): WidgetState {\n const currentTradeMode = get(tradeModeAtom);\n const formState = {\n swap: getSwapState(get),\n limit: getLimitOrderState(get),\n otc: getOTCState(get),\n };\n\n return {\n currentTradeMode,\n formState,\n settingsState: getSettingsState(get),\n accountState: accountState(),\n };\n}\n"],"names":["accountState","address","chainId","connector","getAccount","wagmiConfig","connectorData","name","icon","id","type","undefined","getWidgetState","get","currentTradeMode","tradeModeAtom","formState","swap","getSwapState","limit","getLimitOrderState","otc","getOTCState","settingsState","getSettingsState"],"mappings":";;;;;;;;AAUA,SAASA,YAAAA,GAA6B;AACpC,EAAA,MAAM;AAAA,IAAEC,OAAAA;AAAAA,IAASC,OAAAA;AAAAA,IAASC;AAAAA,GAAU,GAAIC,WAAWC,WAAW,CAAA;AAE9D,EAAA,MAAMC,gBAAgBH,SAAAA,GAClB;AAAA,IACEI,MAAMJ,SAAAA,CAAUI,IAAAA;AAAAA,IAChBC,MAAML,SAAAA,CAAUK,IAAAA;AAAAA,IAChBC,IAAIN,SAAAA,CAAUM,EAAAA;AAAAA,IACdC,MAAMP,SAAAA,CAAUO;AAAAA,GAClB,GACAC,MAAAA;AACJ,EAAA,OAAO;AAAA,IAAEV,OAAAA;AAAAA,IAASC,OAAAA;AAAAA,IAASC,SAAAA,EAAWG;AAAAA,GAAc;AACtD;AAEO,SAASM,eAAeC,GAAAA,EAA0B;AACvD,EAAA,MAAMC,gBAAAA,GAAmBD,IAAIE,aAAa,CAAA;AAC1C,EAAA,MAAMC,SAAAA,GAAY;AAAA,IAChBC,IAAAA,EAAMC,aAAaL,GAAG,CAAA;AAAA,IACtBM,KAAAA,EAAOC,mBAAmBP,GAAG,CAAA;AAAA,IAC7BQ,GAAAA,EAAKC,YAAYT,GAAG;AAAA,GACtB;AAEA,EAAA,OAAO;AAAA,IACLC,gBAAAA;AAAAA,IACAE,SAAAA;AAAAA,IACAO,aAAAA,EAAeC,iBAAiBX,GAAG,CAAA;AAAA,IACnCb,cAAcA,YAAAA;AAAa,GAC7B;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"names":[],"mappings":"AAKA,wBAAgB,oBAAoB,SAiCnC"}
1
+ {"version":3,"file":"useOnWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"names":[],"mappings":"AAYA,wBAAgB,oBAAoB,SA8CnC"}
@@ -1,4 +1,5 @@
1
1
  import { d as distExports } from '../../_virtual/index.js';
2
+ import { isExternalConnector } from '../../components/web3/ConnectExternalProvider/utils.js';
2
3
  import { getWalletMetadata } from '../../components/web3/ConnectWallets/walletIcons.js';
3
4
  import { useWidgetEvents } from '../../core/state/widgetEventsAtom.js';
4
5
  import { useAccountEffect } from 'wagmi';
@@ -19,10 +20,25 @@ function useOnWalletConnected() {
19
20
  chainId,
20
21
  isReconnected
21
22
  } = t1;
23
+ if (!connector || !address || !chainId) {
24
+ return;
25
+ }
22
26
  const walletMetadata = await getWalletMetadata(connector);
23
27
  const provider = await connector.getProvider();
24
28
  const isEmbedded = connector.type === safe.type;
25
- const connectorAction = isReconnected ? "Eager" : isEmbedded ? "Embedded" : "Click";
29
+ const isExternal = isExternalConnector(connector);
30
+ let connectorAction = "Click";
31
+ if (isReconnected) {
32
+ connectorAction = "Eager";
33
+ } else {
34
+ if (isEmbedded) {
35
+ connectorAction = "Embedded";
36
+ } else {
37
+ if (isExternal) {
38
+ connectorAction = "External";
39
+ }
40
+ }
41
+ }
26
42
  onConnectWallet?.({
27
43
  event: {
28
44
  name: "ConnectWallet:connect",
@@ -1 +1 @@
1
- {"version":3,"file":"useOnWalletConnect.js","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"sourcesContent":["import { getWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useAccountEffect } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\n\nexport function useOnWalletConnected() {\n const { onConnectWallet } = useWidgetEvents();\n\n useAccountEffect({\n onConnect: async ({ address, connector, chainId, isReconnected }) => {\n const walletMetadata = await getWalletMetadata(connector);\n const provider = await connector.getProvider();\n\n const isEmbedded = connector.type === safe.type;\n\n const connectorAction = isReconnected\n ? \"Eager\"\n : isEmbedded\n ? \"Embedded\"\n : \"Click\";\n\n onConnectWallet?.({\n event: {\n name: \"ConnectWallet:connect\",\n params: {\n connectorType: connector.type,\n connectorName: connector.name,\n connectorAction,\n provider,\n account: address,\n chainId,\n walletName: walletMetadata.name,\n walletIcon: walletMetadata.icon,\n },\n },\n });\n },\n });\n}\n"],"names":["useOnWalletConnected","$","_c","onConnectWallet","useWidgetEvents","t0","onConnect","t1","address","connector","chainId","isReconnected","walletMetadata","getWalletMetadata","provider","getProvider","isEmbedded","type","safe","connectorAction","event","name","params","connectorType","connectorName","account","walletName","walletIcon","icon","useAccountEffect"],"mappings":";;;;;;AAKO,SAAAA,oBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA4BC,eAAAA,EAAgB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,eAAAA,EAAA;AAE7BE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,SAAAA,EACJ,OAAAC,EAAAA,KAAA;AAAO,QAAA,MAAA;AAAA,UAAAC,OAAAA;AAAAA,UAAAC,SAAAA;AAAAA,UAAAC,OAAAA;AAAAA,UAAAC;AAAAA,SAAA,GAAAJ,EAAAA;AAChB,QAAA,MAAAK,cAAAA,GAAuB,MAAMC,iBAAAA,CAAkBJ,SAAS,CAAA;AACxD,QAAA,MAAAK,QAAAA,GAAiB,MAAML,SAAAA,CAASM,WAAAA,EAAa;AAE7C,QAAA,MAAAC,UAAAA,GAAmBP,SAAAA,CAASQ,IAAAA,KAAUC,IAAAA,CAAID,IAAAA;AAE1C,QAAA,MAAAE,eAAAA,GAAwBR,aAAAA,GAAA,OAAA,GAEpBK,UAAAA,GAAA,UAAA,GAAA,OAAA;AAIJb,QAAAA,eAAAA,GAAkB;AAAA,UAAAiB,KAAAA,EACT;AAAA,YAAAC,IAAAA,EACC,uBAAA;AAAA,YAAuBC,MAAAA,EACrB;AAAA,cAAAC,eACSd,SAAAA,CAASQ,IAAAA;AAAAA,cAAKO,eACdf,SAAAA,CAASY,IAAAA;AAAAA,cAAKF,eAAAA;AAAAA,cAAAL,QAAAA;AAAAA,cAAAW,OAAAA,EAGpBjB,OAAAA;AAAAA,cAAOE,OAAAA;AAAAA,cAAAgB,YAEJd,cAAAA,CAAcS,IAAAA;AAAAA,cAAKM,YACnBf,cAAAA,CAAcgB;AAAAA;AAC5B;AACF,SACD,CAAA;AAAA,MAAC;AAAA,KAEN;AAAC3B,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AA7BD4B,EAAAA,gBAAAA,CAAiBxB,EA6BhB,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useOnWalletConnect.js","sources":["../../../src/events/hooks/useOnWalletConnect.ts"],"sourcesContent":["import { isExternalConnector } from \"@/components/web3/ConnectExternalProvider/utils\";\nimport { getWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport type { EIP1193Provider } from \"viem\";\nimport { useAccountEffect } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\nimport type { ConnectWalletConnectorAction } from \"../types/connectWallet\";\n\ntype OnConnectParams = Parameters<\n NonNullable<NonNullable<Parameters<typeof useAccountEffect>[0]>[\"onConnect\"]>\n>[0];\n\nexport function useOnWalletConnected() {\n const { onConnectWallet } = useWidgetEvents();\n\n useAccountEffect({\n onConnect: async ({\n address,\n connector,\n chainId,\n isReconnected,\n }: Partial<OnConnectParams>) => {\n // in some eager connect cases with external provider, account properties are not available yet,\n // especially when external provider = Safe iframe provider\n if (!connector || !address || !chainId) return;\n\n const walletMetadata = await getWalletMetadata(connector);\n const provider = await connector.getProvider();\n\n const isEmbedded = connector.type === safe.type;\n const isExternal = isExternalConnector(connector);\n\n let connectorAction: ConnectWalletConnectorAction = \"Click\";\n if (isReconnected) {\n connectorAction = \"Eager\";\n } else if (isEmbedded) {\n connectorAction = \"Embedded\";\n } else if (isExternal) {\n connectorAction = \"External\";\n }\n\n onConnectWallet?.({\n event: {\n name: \"ConnectWallet:connect\",\n params: {\n connectorType: connector.type,\n connectorName: connector.name,\n connectorAction,\n provider: provider as EIP1193Provider,\n account: address,\n chainId,\n walletName: walletMetadata.name,\n walletIcon: walletMetadata.icon,\n },\n },\n });\n },\n });\n}\n"],"names":["useOnWalletConnected","$","_c","onConnectWallet","useWidgetEvents","t0","onConnect","t1","address","connector","chainId","isReconnected","walletMetadata","getWalletMetadata","provider","getProvider","isEmbedded","type","safe","isExternal","isExternalConnector","connectorAction","event","name","params","connectorType","connectorName","account","walletName","walletIcon","icon","useAccountEffect"],"mappings":";;;;;;;AAYO,SAAAA,oBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA4BC,eAAAA,EAAgB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,eAAAA,EAAA;AAE7BE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,SAAAA,EACJ,OAAAC,EAAAA,KAAA;AAAO,QAAA,MAAA;AAAA,UAAAC,OAAAA;AAAAA,UAAAC,SAAAA;AAAAA,UAAAC,OAAAA;AAAAA,UAAAC;AAAAA,SAAA,GAAAJ,EAAAA;AAQhB,QAAA,IAAI,CAACE,SAAAA,IAAD,CAAeD,OAAAA,IAAf,CAA2BE,OAAAA,EAAO;AAAA,UAAA;AAAA,QAAA;AAEtC,QAAA,MAAAE,cAAAA,GAAuB,MAAMC,iBAAAA,CAAkBJ,SAAS,CAAA;AACxD,QAAA,MAAAK,QAAAA,GAAiB,MAAML,SAAAA,CAASM,WAAAA,EAAa;AAE7C,QAAA,MAAAC,UAAAA,GAAmBP,SAAAA,CAASQ,IAAAA,KAAUC,IAAAA,CAAID,IAAAA;AAC1C,QAAA,MAAAE,UAAAA,GAAmBC,oBAAoBX,SAAS,CAAA;AAEhD,QAAA,IAAAY,eAAAA,GAAoD,OAAA;AACpD,QAAA,IAAIV,aAAAA,EAAa;AACfU,UAAAA,eAAAA,GAAkBA,OAAAA;AAAAA,QAAH,CAAA,MAAA;AACV,UAAA,IAAIL,UAAAA,EAAU;AACnBK,YAAAA,eAAAA,GAAkBA,UAAAA;AAAAA,UAAH,CAAA,MAAA;AACV,YAAA,IAAIF,UAAAA,EAAU;AACnBE,cAAAA,eAAAA,GAAkBA,UAAAA;AAAAA,YAAH;AAAA,UAChB;AAAA,QAAA;AAEDlB,QAAAA,eAAAA,GAAkB;AAAA,UAAAmB,KAAAA,EACT;AAAA,YAAAC,IAAAA,EACC,uBAAA;AAAA,YAAuBC,MAAAA,EACrB;AAAA,cAAAC,eACShB,SAAAA,CAASQ,IAAAA;AAAAA,cAAKS,eACdjB,SAAAA,CAASc,IAAAA;AAAAA,cAAKF,eAAAA;AAAAA,cAAAP,QAAAA;AAAAA,cAEQa,OAAAA,EAC5BnB,OAAAA;AAAAA,cAAOE,OAAAA;AAAAA,cAAAkB,YAEJhB,cAAAA,CAAcW,IAAAA;AAAAA,cAAKM,YACnBjB,cAAAA,CAAckB;AAAAA;AAC5B;AACF,SACD,CAAA;AAAA,MAAC;AAAA,KAEN;AAAC7B,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AA1CD8B,EAAAA,gBAAAA,CAAiB1B,EA0ChB,CAAA;AAAC;;;;"}
@@ -7,6 +7,7 @@ import { SupportedChainId } from '../../lib/web3/wagmi/types';
7
7
  import { SwapSideUnion } from '@velora-dex/sdk';
8
8
  import { Prettify } from 'ts-essentials';
9
9
  import { Address } from 'viem';
10
+ import { Connector } from 'wagmi';
10
11
  export type TokenFormState = {
11
12
  tokenFrom: MinTradeFlowToken;
12
13
  tokenTo?: MinTradeFlowToken;
@@ -38,8 +39,14 @@ export type SettingsState = {
38
39
  swapMode: SwapMode;
39
40
  eip1559Enabled: boolean;
40
41
  } & BridgePreferencesState;
42
+ export type AccountState = {
43
+ address?: Address;
44
+ chainId?: number;
45
+ connector?: Pick<Connector, "name" | "icon" | "id" | "type">;
46
+ };
41
47
  export type WidgetState = {
42
48
  currentTradeMode: TradeMode;
49
+ accountState: AccountState;
43
50
  formState: {
44
51
  swap: SwapFormState;
45
52
  limit: LimitOrderFormState;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/events/types/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/events/types/common.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { Address } from 'viem';
1
+ import { Address, EIP1193Provider } from 'viem';
2
2
  import { MakeEventArgs, WidgetEventCallbackConstructor, WidgetEventMinCallbackConstructor } from './common';
3
+ export type ConnectWalletConnectorAction = "Click" | "Eager" | "Embedded" | "External";
3
4
  type ConnectWalletParams = {
4
5
  connectorType: string;
5
6
  connectorName: string;
6
- connectorAction: "Click" | "Eager" | "Embedded";
7
- provider: unknown;
7
+ connectorAction: ConnectWalletConnectorAction;
8
+ provider: EIP1193Provider;
8
9
  account: Address;
9
10
  walletName: string | null;
10
11
  walletIcon: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"connectWallet.d.ts","sourceRoot":"","sources":["../../../src/events/types/connectWallet.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EACV,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAElB,KAAK,mBAAmB,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,sBAAsB,GAAG,aAAa,CAAC;IAC1C,uBAAuB,EAAE,mBAAmB,CAAC;IAC7C,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GACzB,8BAA8B,CAAC,sBAAsB,CAAC,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAC5B,iCAAiC,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"connectWallet.d.ts","sourceRoot":"","sources":["../../../src/events/types/connectWallet.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACrD,OAAO,KAAK,EACV,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,4BAA4B,GACpC,OAAO,GACP,OAAO,GACP,UAAU,GACV,UAAU,CAAC;AAEf,KAAK,mBAAmB,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,sBAAsB,GAAG,aAAa,CAAC;IAC1C,uBAAuB,EAAE,mBAAmB,CAAC;IAC7C,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GACzB,8BAA8B,CAAC,sBAAsB,CAAC,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAC5B,iCAAiC,CAAC,sBAAsB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAwaitCalls.d.ts","sourceRoot":"","sources":["../../../src/hooks/batch/useAwaitCalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACrC,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,0CAA0C,CAAC;AAGlD,MAAM,MAAM,uBAAuB,CAAC,UAAU,GAAG,sBAAsB,IAAI;IACzE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,+BAA+B,CACrC,OAAO,WAAW,EAClB,UAAU,CACX,CAAC,OAAO,CAAC,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,MAAM,uBAAuB,CAAC,UAAU,GAAG,sBAAsB,IACrE,+BAA+B,CAAC,UAAU,CAAC,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,WAAW,CACpC,4BAA4B,CAAC,UAAU,CAAC,CACzC,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CACvD,sBAAsB,GAAG;IACvB,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACvC,CACF,CAAC;AAEF,wBAAgB,aAAa,CAAC,UAAU,GAAG,sBAAsB,EAAE,EACjE,EAAE,EACF,KAAK,GACN,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAa3E;AAED,MAAM,MAAM,2BAA2B,CACrC,cAAc,GAAG,oBAAoB,EAAE,IACrC;IACF,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,cAAc,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,KACnD,cAAc,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,GAAG,cAAc,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAChE,EACA,GAAG,EACH,OAAO,GACR,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,cAAc,CAwB9D;AAED,wBAAgB,oBAAoB,IAAI,mBAAmB,CAK1D"}
1
+ {"version":3,"file":"useAwaitCalls.d.ts","sourceRoot":"","sources":["../../../src/hooks/batch/useAwaitCalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACrC,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,0CAA0C,CAAC;AAGlD,MAAM,MAAM,uBAAuB,CAAC,UAAU,GAAG,sBAAsB,IAAI;IACzE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,+BAA+B,CACrC,OAAO,WAAW,EAClB,UAAU,CACX,CAAC,OAAO,CAAC,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,MAAM,uBAAuB,CAAC,UAAU,GAAG,sBAAsB,IACrE,+BAA+B,CAAC,UAAU,CAAC,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,WAAW,CACpC,4BAA4B,CAAC,UAAU,CAAC,CACzC,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CACvD,sBAAsB,GAAG;IACvB,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACvC,CACF,CAAC;AAEF,wBAAgB,aAAa,CAAC,UAAU,GAAG,sBAAsB,EAAE,EACjE,EAAE,EACF,KAAK,GACN,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAa3E;AAED,MAAM,MAAM,2BAA2B,CACrC,cAAc,GAAG,oBAAoB,EAAE,IACrC;IACF,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,cAAc,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE,KACnD,cAAc,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,GAAG,cAAc,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAChE,EACA,GAAG,EACH,OAAO,GACR,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,cAAc,CAyB9D;AAED,wBAAgB,oBAAoB,IAAI,mBAAmB,CAK1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAwaitCalls.js","sources":["../../../src/hooks/batch/useAwaitCalls.ts"],"sourcesContent":["import {\n useQueries,\n useQueryClient,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport {\n waitForCallsStatus,\n type WaitForCallsStatusReturnType,\n} from \"@wagmi/core\";\nimport {\n useConfig,\n useWaitForCallsStatus,\n type UseWaitForCallsStatusParameters,\n type UseWaitForCallsStatusReturnType,\n} from \"wagmi\";\n\nimport {\n waitForCallsStatusQueryKey,\n type WaitForCallsStatusData,\n} from \"@wagmi/core/query\";\nimport type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useConnectedSafe } from \"../connectors/useIsConnectedSafe\";\nimport type { NonEmptyArray, Prettify } from \"ts-essentials\";\nimport {\n ensureCallsStatusFactory,\n type EnsureCallsStatusFn,\n} from \"@/transactions/queries/ensureCallsStatus\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\n\nexport type UseAwaitCallsParameters<SelectData = DefaultCallsStatusData> = {\n id?: string;\n query?: UseWaitForCallsStatusParameters<\n typeof wagmiConfig,\n SelectData\n >[\"query\"];\n};\n\nexport type DefaultCallsStatusData = WaitForCallsStatusData;\n\nexport type UseAwaitCallsReturnType<SelectData = DefaultCallsStatusData> =\n UseWaitForCallsStatusReturnType<SelectData>;\n\nexport type CallsStatusFromWagmi = DefaultCallsStatusData;\n\nexport type CallsReceipt = NonNullable<\n WaitForCallsStatusReturnType[\"receipts\"]\n>[number];\n\nexport type WaitForCallsStatusDataWithReceipts = Prettify<\n WaitForCallsStatusData & {\n receipts: NonEmptyArray<CallsReceipt>;\n }\n>;\n\nexport function useAwaitCalls<SelectData = DefaultCallsStatusData>({\n id,\n query,\n}: UseAwaitCallsParameters<SelectData>): UseAwaitCallsReturnType<SelectData> {\n const isSafe = useConnectedSafe();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queryResult = useWaitForCallsStatus({\n id,\n throwOnFailure: true,\n query,\n timeout,\n });\n\n return queryResult;\n}\n\nexport type UseAwaitManyCallsParameters<\n CombinedResult = CallsStatusFromWagmi[],\n> = {\n ids: string[];\n combine?: (\n results: UseQueryResult<CallsStatusFromWagmi, Error>[]\n ) => CombinedResult;\n};\n\n/**\n * Hook to await multiple calls by IDs on different chains all together.\n */\nexport function useAwaitManyCalls<\n CombinedResult = UseQueryResult<WaitForCallsStatusData, Error>[],\n>({\n ids,\n combine,\n}: UseAwaitManyCallsParameters<CombinedResult>): CombinedResult {\n const config = useConfig();\n const isSafe = useConnectedSafe();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queries = ids.map((id) => {\n return {\n queryKey: waitForCallsStatusQueryKey({\n id,\n timeout,\n }),\n queryFn: () =>\n waitForCallsStatus(config, {\n id,\n timeout,\n throwOnFailure: true,\n }),\n };\n });\n\n const queryResults = useQueries({ queries, combine });\n\n return queryResults;\n}\n\nexport function useEnsureCallsStatus(): EnsureCallsStatusFn {\n const queryClient = useQueryClient();\n const wagmiConfig = useConfig();\n const isSafe = useConnectedSafe();\n return ensureCallsStatusFactory({ queryClient, wagmiConfig, isSafe });\n}\n"],"names":["useAwaitCalls","t0","$","_c","id","query","isSafe","useConnectedSafe","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","t1","throwOnFailure","queryResult","useWaitForCallsStatus","useEnsureCallsStatus","queryClient","useQueryClient","wagmiConfig","useConfig","ensureCallsStatusFactory"],"mappings":";;;;;;;;;AAsDO,SAAAA,cAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAA4D,EAAA,MAAA;AAAA,IAAAC,EAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAIjE,EAAA,MAAAK,SAAeC,gBAAAA,EAAiB;AAEhC,EAAA,MAAAC,OAAAA,GAAgBF,SAAAG,uBAAAA,GAAAC,MAAAA;AAA6C,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAE,EAAAA,IAAAF,CAAAA,QAAAG,KAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAM,OAAAA,EAAA;AAEnBG,IAAAA,EAAAA,GAAA;AAAA,MAAAP,EAAAA;AAAAA,MAAAQ,cAAAA,EAExB,IAAA;AAAA,MAAIP,KAAAA;AAAAA,MAAAG;AAAAA,KAGtB;AAACN,IAAAA,CAAAA,MAAAE,EAAAA;AAAAF,IAAAA,CAAAA,MAAAG,KAAAA;AAAAH,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAW,WAAAA,GAAoBC,sBAAsBH,EAKzC,CAAA;AAAE,EAAA,OAEIE,WAAAA;AAAW;AA8Cb,SAAAE,oBAAAA,GAAA;AAAA,EAAA,MAAAb,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAa,cAAoBC,cAAAA,EAAe;AACnC,EAAA,MAAAC,cAAoBC,SAAAA,EAAU;AAC9B,EAAA,MAAAb,SAAeC,gBAAAA,EAAiB;AAAE,EAAA,IAAAN,EAAAA;AAAA,EAAA,IAAAC,CAAAA,CAAA,CAAA,CAAA,KAAAI,MAAAA,IAAAJ,CAAAA,QAAAc,WAAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAgB,WAAAA,EAAA;AAC3BjB,IAAAA,EAAAA,GAAAmB,wBAAAA,CAAyB;AAAA,MAAAJ,WAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAZ;AAAAA,KAAoC,CAAA;AAACJ,IAAAA,CAAAA,MAAAI,MAAAA;AAAAJ,IAAAA,CAAAA,MAAAc,WAAAA;AAAAd,IAAAA,CAAAA,MAAAgB,WAAAA;AAAAhB,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA9DD,EAAAA;AAA8D;;;;"}
1
+ {"version":3,"file":"useAwaitCalls.js","sources":["../../../src/hooks/batch/useAwaitCalls.ts"],"sourcesContent":["import {\n useQueries,\n useQueryClient,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport {\n waitForCallsStatus,\n type WaitForCallsStatusReturnType,\n} from \"@wagmi/core\";\nimport {\n useConfig,\n useWaitForCallsStatus,\n type UseWaitForCallsStatusParameters,\n type UseWaitForCallsStatusReturnType,\n} from \"wagmi\";\n\nimport {\n waitForCallsStatusQueryKey,\n type WaitForCallsStatusData,\n} from \"@wagmi/core/query\";\nimport type { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useConnectedSafe } from \"../connectors/useIsConnectedSafe\";\nimport type { NonEmptyArray, Prettify } from \"ts-essentials\";\nimport {\n ensureCallsStatusFactory,\n type EnsureCallsStatusFn,\n} from \"@/transactions/queries/ensureCallsStatus\";\nimport { SAFE_CALLS_WAIT_TIMEOUT } from \"@/lib/constants\";\n\nexport type UseAwaitCallsParameters<SelectData = DefaultCallsStatusData> = {\n id?: string;\n query?: UseWaitForCallsStatusParameters<\n typeof wagmiConfig,\n SelectData\n >[\"query\"];\n};\n\nexport type DefaultCallsStatusData = WaitForCallsStatusData;\n\nexport type UseAwaitCallsReturnType<SelectData = DefaultCallsStatusData> =\n UseWaitForCallsStatusReturnType<SelectData>;\n\nexport type CallsStatusFromWagmi = DefaultCallsStatusData;\n\nexport type CallsReceipt = NonNullable<\n WaitForCallsStatusReturnType[\"receipts\"]\n>[number];\n\nexport type WaitForCallsStatusDataWithReceipts = Prettify<\n WaitForCallsStatusData & {\n receipts: NonEmptyArray<CallsReceipt>;\n }\n>;\n\nexport function useAwaitCalls<SelectData = DefaultCallsStatusData>({\n id,\n query,\n}: UseAwaitCallsParameters<SelectData>): UseAwaitCallsReturnType<SelectData> {\n const isSafe = useConnectedSafe();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queryResult = useWaitForCallsStatus({\n id,\n throwOnFailure: true,\n query,\n timeout,\n });\n\n return queryResult;\n}\n\nexport type UseAwaitManyCallsParameters<\n CombinedResult = CallsStatusFromWagmi[],\n> = {\n ids: string[];\n combine?: (\n results: UseQueryResult<CallsStatusFromWagmi, Error>[]\n ) => CombinedResult;\n};\n\n/**\n * Hook to await multiple calls by IDs on different chains all together.\n */\nexport function useAwaitManyCalls<\n CombinedResult = UseQueryResult<WaitForCallsStatusData, Error>[],\n>({\n ids,\n combine,\n}: UseAwaitManyCallsParameters<CombinedResult>): CombinedResult {\n const config = useConfig();\n const isSafe = useConnectedSafe();\n\n const timeout = isSafe ? SAFE_CALLS_WAIT_TIMEOUT : undefined;\n\n const queries = ids.map((id) => {\n return {\n queryKey: waitForCallsStatusQueryKey({\n id,\n timeout,\n throwOnFailure: true,\n }),\n queryFn: () =>\n waitForCallsStatus(config, {\n id,\n timeout,\n throwOnFailure: true,\n }),\n };\n });\n\n const queryResults = useQueries({ queries, combine });\n\n return queryResults;\n}\n\nexport function useEnsureCallsStatus(): EnsureCallsStatusFn {\n const queryClient = useQueryClient();\n const wagmiConfig = useConfig();\n const isSafe = useConnectedSafe();\n return ensureCallsStatusFactory({ queryClient, wagmiConfig, isSafe });\n}\n"],"names":["useAwaitCalls","t0","$","_c","id","query","isSafe","useConnectedSafe","timeout","SAFE_CALLS_WAIT_TIMEOUT","undefined","t1","throwOnFailure","queryResult","useWaitForCallsStatus","useEnsureCallsStatus","queryClient","useQueryClient","wagmiConfig","useConfig","ensureCallsStatusFactory"],"mappings":";;;;;;;;;AAsDO,SAAAA,cAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAA4D,EAAA,MAAA;AAAA,IAAAC,EAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAIjE,EAAA,MAAAK,SAAeC,gBAAAA,EAAiB;AAEhC,EAAA,MAAAC,OAAAA,GAAgBF,SAAAG,uBAAAA,GAAAC,MAAAA;AAA6C,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAE,EAAAA,IAAAF,CAAAA,QAAAG,KAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAM,OAAAA,EAAA;AAEnBG,IAAAA,EAAAA,GAAA;AAAA,MAAAP,EAAAA;AAAAA,MAAAQ,cAAAA,EAExB,IAAA;AAAA,MAAIP,KAAAA;AAAAA,MAAAG;AAAAA,KAGtB;AAACN,IAAAA,CAAAA,MAAAE,EAAAA;AAAAF,IAAAA,CAAAA,MAAAG,KAAAA;AAAAH,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAW,WAAAA,GAAoBC,sBAAsBH,EAKzC,CAAA;AAAE,EAAA,OAEIE,WAAAA;AAAW;AA+Cb,SAAAE,oBAAAA,GAAA;AAAA,EAAA,MAAAb,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAa,cAAoBC,cAAAA,EAAe;AACnC,EAAA,MAAAC,cAAoBC,SAAAA,EAAU;AAC9B,EAAA,MAAAb,SAAeC,gBAAAA,EAAiB;AAAE,EAAA,IAAAN,EAAAA;AAAA,EAAA,IAAAC,CAAAA,CAAA,CAAA,CAAA,KAAAI,MAAAA,IAAAJ,CAAAA,QAAAc,WAAAA,IAAAd,CAAAA,CAAA,CAAA,CAAA,KAAAgB,WAAAA,EAAA;AAC3BjB,IAAAA,EAAAA,GAAAmB,wBAAAA,CAAyB;AAAA,MAAAJ,WAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAZ;AAAAA,KAAoC,CAAA;AAACJ,IAAAA,CAAAA,MAAAI,MAAAA;AAAAJ,IAAAA,CAAAA,MAAAc,WAAAA;AAAAd,IAAAA,CAAAA,MAAAgB,WAAAA;AAAAhB,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA9DD,EAAAA;AAA8D;;;;"}
@@ -1,3 +1,4 @@
1
1
  export declare function useConnectedSafe(): boolean;
2
+ export declare function useConnectedToSafeIframe(): boolean;
2
3
  export declare function connectedSafe(): Promise<boolean>;
3
4
  //# sourceMappingURL=useIsConnectedSafe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsConnectedSafe.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"names":[],"mappings":"AAgBA,wBAAgB,gBAAgB,IAAI,OAAO,CAK1C;AAGD,wBAAsB,aAAa,qBAalC"}
1
+ {"version":3,"file":"useIsConnectedSafe.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"names":[],"mappings":"AAiBA,wBAAgB,gBAAgB,IAAI,OAAO,CAW1C;AAED,wBAAgB,wBAAwB,IAAI,OAAO,CAIlD;AAGD,wBAAsB,aAAa,qBAalC"}
@@ -6,13 +6,20 @@ import '../../_virtual/index.js';
6
6
  import '@tanstack/react-query';
7
7
  import 'ts-essentials';
8
8
  import 'wagmi/connectors';
9
+ import { useIsExternalConnectorWithSafe } from '../../components/web3/ConnectExternalProvider/utils.js';
9
10
  import '../../lib/queryClient.js';
10
11
 
11
12
  function useConnectedSafe() {
12
- const isSafeConnector2 = useIsSafeConnector();
13
+ const isSafeConnector = useIsSafeConnector();
13
14
  const isSafeThroughWalletConnect = useIsSafeThroughWalletConnect();
14
- return isSafeConnector2 || isSafeThroughWalletConnect;
15
+ const isExternalProviderSafeIframe = useIsExternalConnectorWithSafe();
16
+ return isSafeConnector || isSafeThroughWalletConnect || isExternalProviderSafeIframe;
17
+ }
18
+ function useConnectedToSafeIframe() {
19
+ const isSafeConnector = useIsSafeConnector();
20
+ const isExternalProviderSafeIframe = useIsExternalConnectorWithSafe();
21
+ return isExternalProviderSafeIframe || isSafeConnector;
15
22
  }
16
23
 
17
- export { useConnectedSafe };
24
+ export { useConnectedSafe, useConnectedToSafeIframe };
18
25
  //# sourceMappingURL=useIsConnectedSafe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsConnectedSafe.js","sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport {\n isSafeConnector,\n useIsSafeConnector,\n} from \"./useIsGnosisSafeConnector\";\nimport {\n isSafeConnectorThroughWalletConnect,\n useIsSafeThroughWalletConnect,\n} from \"./useIsSafeThroughWalletConnect\";\nimport { getAccount } from \"@wagmi/core\";\nimport {\n getWalletMetadata,\n walletMetadataQueryKey,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { queryClient } from \"@/lib/queryClient\";\n\nexport function useConnectedSafe(): boolean {\n const isSafeConnector = useIsSafeConnector();\n const isSafeThroughWalletConnect = useIsSafeThroughWalletConnect();\n\n return isSafeConnector || isSafeThroughWalletConnect;\n}\n\n// for use outside of react\nexport async function connectedSafe() {\n const connector = getAccount(wagmiConfig).connector;\n if (!connector) return false;\n\n if (isSafeConnector(connector)) return true;\n\n const walletMeta = await queryClient.ensureQueryData({\n queryKey: walletMetadataQueryKey(connector.id),\n queryFn: () => getWalletMetadata(connector),\n gcTime: Infinity,\n });\n\n return isSafeConnectorThroughWalletConnect(walletMeta);\n}\n"],"names":["useConnectedSafe","isSafeConnector","useIsSafeConnector","isSafeThroughWalletConnect","useIsSafeThroughWalletConnect"],"mappings":";;;;;;;;;;AAgBO,SAAAA,gBAAAA,GAAA;AACL,EAAA,MAAAC,mBAAwBC,kBAAAA,EAAmB;AAC3C,EAAA,MAAAC,6BAAmCC,6BAAAA,EAA8B;AAAE,EAAA,OAE5DH,gBAAAA,IAAAE,0BAAAA;AAA6C;;;;"}
1
+ {"version":3,"file":"useIsConnectedSafe.js","sources":["../../../src/hooks/connectors/useIsConnectedSafe.ts"],"sourcesContent":["import { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { useIsSafeConnector } from \"./useIsGnosisSafeConnector\";\nimport {\n isSafeConnectorThroughWalletConnect,\n useIsSafeThroughWalletConnect,\n} from \"./useIsSafeThroughWalletConnect\";\nimport { getAccount } from \"@wagmi/core\";\nimport {\n getWalletMetadata,\n walletMetadataQueryKey,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport {\n isConnectorWithSafeProvider,\n useIsExternalConnectorWithSafe,\n} from \"@/components/web3/ConnectExternalProvider/utils\";\n\nexport function useConnectedSafe(): boolean {\n const isSafeConnector = useIsSafeConnector();\n const isSafeThroughWalletConnect = useIsSafeThroughWalletConnect();\n\n const isExternalProviderSafeIframe = useIsExternalConnectorWithSafe();\n\n return (\n isSafeConnector ||\n isSafeThroughWalletConnect ||\n isExternalProviderSafeIframe\n );\n}\n\nexport function useConnectedToSafeIframe(): boolean {\n const isSafeConnector = useIsSafeConnector();\n const isExternalProviderSafeIframe = useIsExternalConnectorWithSafe();\n return isExternalProviderSafeIframe || isSafeConnector;\n}\n\n// for use outside of react\nexport async function connectedSafe() {\n const connector = getAccount(wagmiConfig).connector;\n if (!connector) return false;\n\n if (isConnectorWithSafeProvider(connector)) return true;\n\n const walletMeta = await queryClient.ensureQueryData({\n queryKey: walletMetadataQueryKey(connector.uid),\n queryFn: () => getWalletMetadata(connector),\n gcTime: Infinity,\n });\n\n return isSafeConnectorThroughWalletConnect(walletMeta);\n}\n"],"names":["useConnectedSafe","isSafeConnector","useIsSafeConnector","isSafeThroughWalletConnect","useIsSafeThroughWalletConnect","isExternalProviderSafeIframe","useIsExternalConnectorWithSafe","useConnectedToSafeIframe"],"mappings":";;;;;;;;;;;AAiBO,SAAAA,gBAAAA,GAAA;AACL,EAAA,MAAAC,kBAAwBC,kBAAAA,EAAmB;AAC3C,EAAA,MAAAC,6BAAmCC,6BAAAA,EAA8B;AAEjE,EAAA,MAAAC,+BAAqCC,8BAAAA,EAA+B;AAAE,EAAA,OAGpEL,mBAAAE,0BAAAA,IAAAE,4BAAAA;AAE4B;AAIzB,SAAAE,wBAAAA,GAAA;AACL,EAAA,MAAAN,kBAAwBC,kBAAAA,EAAmB;AAC3C,EAAA,MAAAG,+BAAqCC,8BAAAA,EAA+B;AAAE,EAAA,OAC/DD,4BAAAA,IAAAJ,eAAAA;AAA+C;;;;"}
@@ -1,4 +1,8 @@
1
1
  import { Connector } from 'wagmi';
2
+ import { safe } from 'wagmi/connectors';
2
3
  export declare function useIsSafeConnector(): boolean;
3
- export declare function isSafeConnector({ type }: Pick<Connector, "type">): boolean;
4
+ export type SafeMinConnector = {
5
+ type: typeof safe.type;
6
+ };
7
+ export declare function isSafeConnector<T extends Pick<Connector, "type">>(connector: T): connector is T & SafeMinConnector;
4
8
  //# sourceMappingURL=useIsGnosisSafeConnector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsGnosisSafeConnector.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnD,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAE1E"}
1
+ {"version":3,"file":"useIsGnosisSafeConnector.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC;CACxB,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAC/D,SAAS,EAAE,CAAC,GACX,SAAS,IAAI,CAAC,GAAG,gBAAgB,CAEnC"}
@@ -1,5 +1,6 @@
1
1
  import { d as distExports } from '../../_virtual/index.js';
2
2
  import { useAccount } from 'wagmi';
3
+ import { safe } from 'wagmi/connectors';
3
4
 
4
5
  function useIsSafeConnector() {
5
6
  const $ = distExports.c(2);
@@ -19,10 +20,8 @@ function useIsSafeConnector() {
19
20
  }
20
21
  return t0;
21
22
  }
22
- function isSafeConnector({
23
- type
24
- }) {
25
- return type === "safe";
23
+ function isSafeConnector(connector) {
24
+ return connector.type === safe.type;
26
25
  }
27
26
 
28
27
  export { isSafeConnector, useIsSafeConnector };
@@ -1 +1 @@
1
- {"version":3,"file":"useIsGnosisSafeConnector.js","sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"sourcesContent":["import { useAccount, type Connector } from \"wagmi\";\n\nexport function useIsSafeConnector(): boolean {\n const { connector } = useAccount();\n if (!connector) return false;\n return isSafeConnector(connector);\n}\n\nexport function isSafeConnector({ type }: Pick<Connector, \"type\">): boolean {\n return type === \"safe\";\n}\n"],"names":["useIsSafeConnector","$","_c","connector","useAccount","t0","isSafeConnector","type"],"mappings":";;;AAEO,SAAAA,kBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAAsBC,UAAAA,EAAW;AACjC,EAAA,IAAI,CAACD,SAAAA,EAAS;AAAA,IAAA,OAAS,KAAA;AAAA,EAAK;AAAC,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,SAAAA,EAAA;AACtBE,IAAAA,EAAAA,GAAAC,gBAAgBH,SAAS,CAAA;AAACF,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA1BI,EAAAA;AAA0B;AAG5B,SAASC,eAAAA,CAAgB;AAAA,EAAEC;AAA8B,CAAA,EAAY;AAC1E,EAAA,OAAOA,IAAAA,KAAS,MAAA;AAClB;;;;"}
1
+ {"version":3,"file":"useIsGnosisSafeConnector.js","sources":["../../../src/hooks/connectors/useIsGnosisSafeConnector.ts"],"sourcesContent":["import { useAccount, type Connector } from \"wagmi\";\nimport { safe } from \"wagmi/connectors\";\n\nexport function useIsSafeConnector(): boolean {\n const { connector } = useAccount();\n if (!connector) return false;\n return isSafeConnector(connector);\n}\n\nexport type SafeMinConnector = {\n type: typeof safe.type;\n};\n\nexport function isSafeConnector<T extends Pick<Connector, \"type\">>(\n connector: T\n): connector is T & SafeMinConnector {\n return connector.type === safe.type;\n}\n"],"names":["useIsSafeConnector","$","_c","connector","useAccount","t0","isSafeConnector","type","safe"],"mappings":";;;;AAGO,SAAAA,kBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAAsBC,UAAAA,EAAW;AACjC,EAAA,IAAI,CAACD,SAAAA,EAAS;AAAA,IAAA,OAAS,KAAA;AAAA,EAAK;AAAC,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAE,SAAAA,EAAA;AACtBE,IAAAA,EAAAA,GAAAC,gBAAgBH,SAAS,CAAA;AAACF,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA1BI,EAAAA;AAA0B;AAO5B,SAASC,gBACdH,SAAAA,EACmC;AACnC,EAAA,OAAOA,SAAAA,CAAUI,SAASC,IAAAA,CAAKD,IAAAA;AACjC;;;;"}
@@ -1,4 +1,6 @@
1
1
  import { WalletMeta } from '../../components/web3/ConnectWallets/walletIcons';
2
+ import { Connector } from 'wagmi';
2
3
  export declare function useIsSafeThroughWalletConnect(): boolean;
3
- export declare function isSafeConnectorThroughWalletConnect({ connectorType, name, }: Partial<Pick<WalletMeta, "connectorType" | "name">>): boolean;
4
+ export declare function isSafeConnectorThroughWalletConnect({ connectorType, connectorId, name, }: Pick<WalletMeta, "connectorType" | "connectorId" | "name">): boolean;
5
+ export declare function isWalletConnectConnectorWithSafe<T extends Pick<Connector, "type" | "id" | "getProvider">>(connector: T): Promise<boolean>;
4
6
  //# sourceMappingURL=useIsSafeThroughWalletConnect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsSafeThroughWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,8CAA8C,CAAC;AAWtD,wBAAgB,6BAA6B,YAI5C;AAED,wBAAgB,mCAAmC,CAAC,EAClD,aAAa,EACb,IAAI,GACL,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC,GAAG,OAAO,CAO/D"}
1
+ {"version":3,"file":"useIsSafeThroughWalletConnect.d.ts","sourceRoot":"","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUnD,wBAAgB,6BAA6B,YA0B5C;AAED,wBAAgB,mCAAmC,CAAC,EAClD,aAAa,EACb,WAAW,EACX,IAAI,GACL,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,aAAa,GAAG,MAAM,CAAC,GAAG,OAAO,CAetE;AAED,wBAAsB,gCAAgC,CACpD,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,CAAC,EACxD,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBhC"}
@@ -1,5 +1,7 @@
1
- import { useWalletMetadata } from '../../components/web3/ConnectWallets/walletIcons.js';
2
- import { walletConnect } from 'wagmi/connectors';
1
+ import { d as distExports } from '../../_virtual/index.js';
2
+ import { isExternalConnector, isExternalConnectorSafeWalletConnect } from '../../components/web3/ConnectExternalProvider/utils.js';
3
+ import { isWalletConnectConnector, getWalletConnectMetadata, useWalletMetadata } from '../../components/web3/ConnectWallets/walletIcons.js';
4
+ import { useAccount } from 'wagmi';
3
5
 
4
6
  const GnosisSafeWConnectRegex = [
5
7
  // matches `WalletConnect Safe App` (app in web Safe) and `Safe` (iOS Safe)
@@ -9,25 +11,67 @@ const GnosisSafeWConnectRegex = [
9
11
  // matches'Safe{Wallet}'
10
12
  ];
11
13
  function useIsSafeThroughWalletConnect() {
14
+ const $ = distExports.c(2);
12
15
  const {
13
- connectorType,
14
- name
15
- } = useWalletMetadata() ?? {};
16
- return isSafeConnectorThroughWalletConnect({
17
- connectorType,
18
- name
19
- });
16
+ connector
17
+ } = useAccount();
18
+ const walletMetadata = useWalletMetadata(connector);
19
+ if (!connector) {
20
+ return false;
21
+ }
22
+ if (isExternalConnectorSafeWalletConnect(connector)) {
23
+ return true;
24
+ }
25
+ if (!isWalletConnectConnector(connector)) {
26
+ return false;
27
+ }
28
+ if (!walletMetadata?.isWalletConnect) {
29
+ return false;
30
+ }
31
+ let t0;
32
+ if ($[0] !== walletMetadata) {
33
+ t0 = isSafeConnectorThroughWalletConnect(walletMetadata);
34
+ $[0] = walletMetadata;
35
+ $[1] = t0;
36
+ } else {
37
+ t0 = $[1];
38
+ }
39
+ return t0;
20
40
  }
21
41
  function isSafeConnectorThroughWalletConnect({
22
42
  connectorType,
43
+ connectorId,
23
44
  name
24
45
  }) {
25
- if (connectorType !== walletConnect.type || !name) {
46
+ const isExternal = isExternalConnector({
47
+ type: connectorType,
48
+ id: connectorId
49
+ });
50
+ const isWConnectConnector = isWalletConnectConnector({
51
+ type: connectorType
52
+ });
53
+ const isConnectorWithMaybeSafe = isExternal || isWConnectConnector;
54
+ if (!isConnectorWithMaybeSafe || !name) {
26
55
  return false;
27
56
  }
28
57
  const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));
29
58
  return isSafe;
30
59
  }
60
+ async function isWalletConnectConnectorWithSafe(connector) {
61
+ if (!isWalletConnectConnector(connector)) {
62
+ return false;
63
+ }
64
+ const provider = await connector.getProvider();
65
+ const metadata = getWalletConnectMetadata(provider);
66
+ if (!metadata) {
67
+ return false;
68
+ }
69
+ return isSafeConnectorThroughWalletConnect({
70
+ connectorType: connector.type,
71
+ connectorId: connector.id,
72
+ name: metadata.name
73
+ });
74
+ }
31
75
 
32
- export { isSafeConnectorThroughWalletConnect, useIsSafeThroughWalletConnect };
76
+ export { isSafeConnectorThroughWalletConnect, isWalletConnectConnectorWithSafe, useIsSafeThroughWalletConnect };
33
77
  //# sourceMappingURL=useIsSafeThroughWalletConnect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsSafeThroughWalletConnect.js","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"sourcesContent":["import {\n useWalletMetadata,\n type WalletMeta,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { walletConnect } from \"wagmi/connectors\";\n\nconst GnosisSafeWConnectRegex = [\n // matches `WalletConnect Safe App` (app in web Safe) and `Safe` (iOS Safe)\n /^(?:WalletConnect)?\\s*Safe\\s*(?:App)?$/i,\n\n // if there's word Safe surrounded by non-word characters or by nothing -> most likely it's Gnosis Safe\n /([^a-zA-Z]|^)Safe([^a-zA-Z]|$)/i, // matches'Safe{Wallet}'\n];\n\nexport function useIsSafeThroughWalletConnect() {\n const { connectorType, name } = useWalletMetadata() ?? {};\n\n return isSafeConnectorThroughWalletConnect({ connectorType, name });\n}\n\nexport function isSafeConnectorThroughWalletConnect({\n connectorType,\n name,\n}: Partial<Pick<WalletMeta, \"connectorType\" | \"name\">>): boolean {\n if (connectorType !== walletConnect.type || !name) {\n return false;\n }\n\n const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));\n return isSafe;\n}\n"],"names":["GnosisSafeWConnectRegex","useIsSafeThroughWalletConnect","connectorType","name","useWalletMetadata","isSafeConnectorThroughWalletConnect","walletConnect","type","isSafe","some","rule","test"],"mappings":";;;AAMA,MAAMA,uBAAAA,GAA0B;AAAA;AAAA,EAE9B,yCAAA;AAAA;AAAA,EAGA;AAAA;AAAmC,CAAA;AAG9B,SAAAC,6BAAAA,GAAA;AACL,EAAA,MAAA;AAAA,IAAAC,aAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAgCC,iBAAAA,EAAwB,IAAxB,EAAwB;AAAE,EAAA,OAEnDC,mCAAAA,CAAoC;AAAA,IAAAH,aAAAA;AAAAA,IAAAC;AAAAA,GAAuB,CAAA;AAAC;AAG9D,SAASE,mCAAAA,CAAoC;AAAA,EAClDH,aAAAA;AAAAA,EACAC;AACmD,CAAA,EAAY;AAC/D,EAAA,IAAID,aAAAA,KAAkBI,aAAAA,CAAcC,IAAAA,IAAQ,CAACJ,IAAAA,EAAM;AACjD,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAMK,SAASR,uBAAAA,CAAwBS,IAAAA,CAAMC,UAASA,IAAAA,CAAKC,IAAAA,CAAKR,IAAI,CAAC,CAAA;AACrE,EAAA,OAAOK,MAAAA;AACT;;;;"}
1
+ {"version":3,"file":"useIsSafeThroughWalletConnect.js","sources":["../../../src/hooks/connectors/useIsSafeThroughWalletConnect.ts"],"sourcesContent":["import {\n isExternalConnector,\n isExternalConnectorSafeWalletConnect,\n} from \"@/components/web3/ConnectExternalProvider/utils\";\nimport {\n getWalletConnectMetadata,\n isWalletConnectConnector,\n useWalletMetadata,\n type WalletMeta,\n} from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useAccount, type Connector } from \"wagmi\";\n\nconst GnosisSafeWConnectRegex = [\n // matches `WalletConnect Safe App` (app in web Safe) and `Safe` (iOS Safe)\n /^(?:WalletConnect)?\\s*Safe\\s*(?:App)?$/i,\n\n // if there's word Safe surrounded by non-word characters or by nothing -> most likely it's Gnosis Safe\n /([^a-zA-Z]|^)Safe([^a-zA-Z]|$)/i, // matches'Safe{Wallet}'\n];\n\nexport function useIsSafeThroughWalletConnect() {\n const { connector } = useAccount();\n const walletMetadata = useWalletMetadata(connector);\n\n if (!connector) {\n return false;\n }\n\n if (isExternalConnectorSafeWalletConnect(connector)) {\n // for external connector can determine if it's safe through WalletConnect by checking sync\n // connector.id is a special id is that case assigned on connection\n return true;\n }\n\n if (!isWalletConnectConnector(connector)) {\n // non-WalletConnect connectors are not safe through WalletConnect\n return false;\n }\n\n if (!walletMetadata?.isWalletConnect) {\n // if wallet metadata is not available, or is not a WalletConnect connector,\n // then it's not safe through WalletConnect\n return false;\n }\n\n return isSafeConnectorThroughWalletConnect(walletMetadata);\n}\n\nexport function isSafeConnectorThroughWalletConnect({\n connectorType,\n connectorId,\n name,\n}: Pick<WalletMeta, \"connectorType\" | \"connectorId\" | \"name\">): boolean {\n const isExternal = isExternalConnector({\n type: connectorType,\n id: connectorId,\n });\n const isWConnectConnector = isWalletConnectConnector({ type: connectorType });\n\n const isConnectorWithMaybeSafe = isExternal || isWConnectConnector;\n\n if (!isConnectorWithMaybeSafe || !name) {\n return false;\n }\n\n const isSafe = GnosisSafeWConnectRegex.some((rule) => rule.test(name));\n return isSafe;\n}\n\nexport async function isWalletConnectConnectorWithSafe<\n T extends Pick<Connector, \"type\" | \"id\" | \"getProvider\">,\n>(connector: T): Promise<boolean> {\n if (!isWalletConnectConnector(connector)) {\n return false;\n }\n\n const provider = await connector.getProvider();\n const metadata = getWalletConnectMetadata(provider);\n if (!metadata) {\n return false;\n }\n\n return isSafeConnectorThroughWalletConnect({\n connectorType: connector.type,\n connectorId: connector.id,\n name: metadata.name,\n });\n}\n"],"names":["GnosisSafeWConnectRegex","useIsSafeThroughWalletConnect","$","_c","connector","useAccount","walletMetadata","useWalletMetadata","isExternalConnectorSafeWalletConnect","isWalletConnectConnector","isWalletConnect","t0","isSafeConnectorThroughWalletConnect","connectorType","connectorId","name","isExternal","isExternalConnector","type","id","isWConnectConnector","isConnectorWithMaybeSafe","isSafe","some","rule","test","isWalletConnectConnectorWithSafe","provider","getProvider","metadata","getWalletConnectMetadata"],"mappings":";;;;;AAYA,MAAMA,uBAAAA,GAA0B;AAAA;AAAA,EAE9B,yCAAA;AAAA;AAAA,EAGA;AAAA;AAAmC,CAAA;AAG9B,SAAAC,6BAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAAsBC,UAAAA,EAAW;AACjC,EAAA,MAAAC,cAAAA,GAAuBC,kBAAkBH,SAAS,CAAA;AAElD,EAAA,IAAI,CAACA,SAAAA,EAAS;AAAA,IAAA,OACL,KAAA;AAAA,EAAK;AAGd,EAAA,IAAII,oCAAAA,CAAqCJ,SAAS,CAAA,EAAC;AAAA,IAAA,OAG1C,IAAA;AAAA,EAAI;AAGb,EAAA,IAAI,CAACK,wBAAAA,CAAyBL,SAAS,CAAA,EAAC;AAAA,IAAA,OAE/B,KAAA;AAAA,EAAK;AAGd,EAAA,IAAI,CAACE,gBAAcI,eAAAA,EAAiB;AAAA,IAAA,OAG3B,KAAA;AAAA,EAAK;AACb,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAI,cAAAA,EAAA;AAEMK,IAAAA,EAAAA,GAAAC,oCAAoCN,cAAc,CAAA;AAACJ,IAAAA,CAAAA,MAAAI,cAAAA;AAAAJ,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAnDS,EAAAA;AAAmD;AAGrD,SAASC,mCAAAA,CAAoC;AAAA,EAClDC,aAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC;AAC0D,CAAA,EAAY;AACtE,EAAA,MAAMC,aAAaC,mBAAAA,CAAoB;AAAA,IACrCC,IAAAA,EAAML,aAAAA;AAAAA,IACNM,EAAAA,EAAIL;AAAAA,GACL,CAAA;AACD,EAAA,MAAMM,sBAAsBX,wBAAAA,CAAyB;AAAA,IAAES,IAAAA,EAAML;AAAAA,GAAe,CAAA;AAE5E,EAAA,MAAMQ,2BAA2BL,UAAAA,IAAcI,mBAAAA;AAE/C,EAAA,IAAI,CAACC,wBAAAA,IAA4B,CAACN,IAAAA,EAAM;AACtC,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAMO,SAAStB,uBAAAA,CAAwBuB,IAAAA,CAAMC,UAASA,IAAAA,CAAKC,IAAAA,CAAKV,IAAI,CAAC,CAAA;AACrE,EAAA,OAAOO,MAAAA;AACT;AAEA,eAAsBI,iCAEpBtB,SAAAA,EAAgC;AAChC,EAAA,IAAI,CAACK,wBAAAA,CAAyBL,SAAS,CAAA,EAAG;AACxC,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAMuB,QAAAA,GAAW,MAAMvB,SAAAA,CAAUwB,WAAAA,EAAY;AAC7C,EAAA,MAAMC,QAAAA,GAAWC,yBAAyBH,QAAQ,CAAA;AAClD,EAAA,IAAI,CAACE,QAAAA,EAAU;AACb,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,OAAOjB,mCAAAA,CAAoC;AAAA,IACzCC,eAAeT,SAAAA,CAAUc,IAAAA;AAAAA,IACzBJ,aAAaV,SAAAA,CAAUe,EAAAA;AAAAA,IACvBJ,MAAMc,QAAAA,CAASd;AAAAA,GAChB,CAAA;AACH;;;;"}
@@ -5,9 +5,10 @@ import { assert } from 'ts-essentials';
5
5
  import 'wagmi';
6
6
  import 'wagmi/query';
7
7
  import '../../../lib/web3/wagmi/config.js';
8
- import '@wagmi/core';
9
8
  import 'wagmi/connectors';
9
+ import '@wagmi/core';
10
10
  import '../../../lib/queryClient.js';
11
+ import '@wagmi/core/query';
11
12
  import 'viem';
12
13
  import 'react/jsx-runtime';
13
14
  import 'lucide-react';
@@ -1 +1 @@
1
- {"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
@@ -18,6 +18,7 @@ import '../../../assets/circle-exclamation.svg.js';
18
18
  import '@radix-ui/react-progress';
19
19
  import '../../../lib/web3/wagmi/constants.js';
20
20
  import '../../../core/store.js';
21
+ import 'wagmi/connectors';
21
22
  import { useApproveOrPermit } from '../../swap/tradeFlow/common/useApproveOrPermit.js';
22
23
  import { useLogger } from '../../../core/logger.js';
23
24
  import { useFillOrder } from '../mutations/useFillOrder.js';