@velora-dex/widget 0.3.11-dev.8 → 0.3.12

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 (153) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +65 -92
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectWallets/walletIcons.d.ts +1 -4
  5. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  6. package/dist/components/web3/ConnectWallets/walletIcons.js +7 -18
  7. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  8. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  9. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +5 -11
  10. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  11. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts +2 -2
  12. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.d.ts.map +1 -1
  13. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js +23 -22
  14. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  15. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js +1 -1
  16. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  17. package/dist/configurator/Configurator.d.ts.map +1 -1
  18. package/dist/core/index.d.ts +1 -1
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js +183 -133
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/core/state/apiConfigAtom.d.ts +14 -0
  23. package/dist/core/state/apiConfigAtom.d.ts.map +1 -0
  24. package/dist/core/state/apiConfigAtom.js +20 -0
  25. package/dist/core/state/apiConfigAtom.js.map +1 -0
  26. package/dist/core/state/configAtom.d.ts.map +1 -1
  27. package/dist/core/state/configAtom.js +1 -5
  28. package/dist/core/state/configAtom.js.map +1 -1
  29. package/dist/core/state/externalProviderAtom.d.ts +0 -6
  30. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  31. package/dist/core/state/externalProviderAtom.js +1 -4
  32. package/dist/core/state/externalProviderAtom.js.map +1 -1
  33. package/dist/core/types.d.ts +2 -0
  34. package/dist/core/types.d.ts.map +1 -1
  35. package/dist/events/getters/swap.d.ts.map +1 -1
  36. package/dist/events/getters/swap.js +1 -2
  37. package/dist/events/getters/swap.js.map +1 -1
  38. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  39. package/dist/events/hooks/useOnWalletConnect.js +1 -17
  40. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  41. package/dist/events/types/connectWallet.d.ts +3 -4
  42. package/dist/events/types/connectWallet.d.ts.map +1 -1
  43. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  44. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  45. package/dist/hooks/connectors/useIsConnectedSafe.d.ts +0 -1
  46. package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
  47. package/dist/hooks/connectors/useIsConnectedSafe.js +2 -9
  48. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  49. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts +1 -4
  50. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
  51. package/dist/hooks/connectors/useIsGnosisSafeConnector.js +4 -3
  52. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  53. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts +1 -1
  54. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  55. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +2 -16
  56. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  57. package/dist/hooks/otc/mutations/useFillOrder.js +2 -3
  58. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  59. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -1
  60. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  61. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.d.ts.map +1 -1
  62. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js +4 -7
  63. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  64. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  65. package/dist/hooks/swap/prices/useSwapPrices.js +69 -65
  66. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  67. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  68. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +1 -2
  69. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  70. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  71. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  72. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  73. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +4 -7
  74. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  75. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  76. package/dist/hooks/txs/queries/useAwaitTx.js +20 -71
  77. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  78. package/dist/hooks/useSDK.d.ts.map +1 -1
  79. package/dist/hooks/useSDK.js +32 -19
  80. package/dist/hooks/useSDK.js.map +1 -1
  81. package/dist/lib/constants/storage.d.ts +1 -1
  82. package/dist/lib/constants/storage.d.ts.map +1 -1
  83. package/dist/lib/constants/storage.js +1 -3
  84. package/dist/lib/constants/storage.js.map +1 -1
  85. package/dist/lib/utils/index.d.ts +1 -0
  86. package/dist/lib/utils/index.d.ts.map +1 -1
  87. package/dist/lib/utils/index.js +18 -1
  88. package/dist/lib/utils/index.js.map +1 -1
  89. package/dist/lib/utils/toasts.d.ts +1 -1
  90. package/dist/lib/utils/toasts.d.ts.map +1 -1
  91. package/dist/lib/utils/toasts.js +1 -5
  92. package/dist/lib/utils/toasts.js.map +1 -1
  93. package/dist/lib/web3/privy/config.js +1 -1
  94. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  95. package/dist/lib/web3/wagmi/config.js +2 -2
  96. package/dist/lib/web3/wagmi/config.js.map +1 -1
  97. package/dist/lib/web3/wagmi/external.d.ts +3 -10
  98. package/dist/lib/web3/wagmi/external.d.ts.map +1 -1
  99. package/dist/lib/web3/wagmi/external.js +2 -17
  100. package/dist/lib/web3/wagmi/external.js.map +1 -1
  101. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +1 -0
  102. package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -1
  103. package/dist/lib/web3/wagmi/isInsideSafeIframe.js +2 -2
  104. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  105. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
  106. package/dist/lib/web3/wagmi/switchChain.js +1 -5
  107. package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
  108. package/dist/styles.css +1 -1
  109. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  110. package/dist/transactions/queries/ensureCallsStatus.js +3 -11
  111. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  112. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  113. package/dist/transactions/queries/ensureTxReceipt.js +4 -7
  114. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  115. package/dist/transactions/state/effects/finalize.d.ts +1 -7
  116. package/dist/transactions/state/effects/finalize.d.ts.map +1 -1
  117. package/dist/transactions/state/effects/finalize.js +7 -41
  118. package/dist/transactions/state/effects/finalize.js.map +1 -1
  119. package/dist/transactions/state/hooks/useActivateEffects.d.ts.map +1 -1
  120. package/dist/transactions/state/hooks/useActivateEffects.js +2 -4
  121. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  122. package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
  123. package/dist/transactions/state/transactionsActionAtom.js +15 -58
  124. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  125. package/dist/transactions/state/transactionsAtom.js +2 -2
  126. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  127. package/dist/transactions/types.d.ts +1 -18
  128. package/dist/transactions/types.d.ts.map +1 -1
  129. package/dist/transactions/utils.d.ts +1 -2
  130. package/dist/transactions/utils.d.ts.map +1 -1
  131. package/dist/transactions/utils.js +1 -7
  132. package/dist/transactions/utils.js.map +1 -1
  133. package/package.json +1 -3
  134. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +0 -3
  135. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +0 -1
  136. package/dist/components/web3/ConnectExternalProvider/constants.js +0 -5
  137. package/dist/components/web3/ConnectExternalProvider/constants.js.map +0 -1
  138. package/dist/components/web3/ConnectExternalProvider/utils.d.ts +0 -13
  139. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +0 -1
  140. package/dist/components/web3/ConnectExternalProvider/utils.js +0 -32
  141. package/dist/components/web3/ConnectExternalProvider/utils.js.map +0 -1
  142. package/dist/configurator/Safe/SafeConnector.d.ts +0 -23
  143. package/dist/configurator/Safe/SafeConnector.d.ts.map +0 -1
  144. package/dist/configurator/Safe/useSafeConnector.d.ts +0 -8
  145. package/dist/configurator/Safe/useSafeConnector.d.ts.map +0 -1
  146. package/dist/lib/web3/wagmi/isInIframe.d.ts +0 -2
  147. package/dist/lib/web3/wagmi/isInIframe.d.ts.map +0 -1
  148. package/dist/lib/web3/wagmi/isInIframe.js +0 -4
  149. package/dist/lib/web3/wagmi/isInIframe.js.map +0 -1
  150. package/dist/transactions/hash.d.ts +0 -7
  151. package/dist/transactions/hash.d.ts.map +0 -1
  152. package/dist/transactions/hash.js +0 -34
  153. package/dist/transactions/hash.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useFillOtcOrderStep.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderStep.ts"],"sourcesContent":["import type {\n FillOtcOrderStep,\n FillOtcOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useFillOtcOrderFlow,\n type SubmitFillOtcOrderResult,\n type UseFillOtcOrderFlowInput,\n type UseFillOtcOrderFlowResult,\n} from \"./useFillOtcOrderFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\nimport { getStandaloneTxHash } from \"@/transactions/hash\";\n\nexport type UseFillOtcOrderStepResult = {\n startFillOtcOrder: UseFillOtcOrderFlowResult[\"runFillOtcOrderFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseFillOtcOrderFlowResult[\"reset\"];\n cancelFlow: UseFillOtcOrderFlowResult[\"cancelFlow\"];\n retryFlow: UseFillOtcOrderFlowResult[\"retryFlow\"];\n isFlowCancellable: boolean;\n step?: FillOtcOrderStep;\n error: Error | null;\n erroredStep?: FillOtcOrderStepKey;\n result?: SubmitFillOtcOrderResult;\n tradeFlowType: UseFillOtcOrderFlowResult[\"tradeFlowType\"];\n explorerLink?: string;\n};\n\nexport function useFillOtcOrderStep(\n options: UseFillOtcOrderFlowInput\n): UseFillOtcOrderStepResult {\n const logger = useLogger(\"FillOtcOrderStep\");\n const fillOtcOrderFlow = useFillOtcOrderFlow(options);\n\n const startFillOtcOrder = fillOtcOrderFlow.runFillOtcOrderFlow;\n const reset = fillOtcOrderFlow.reset;\n const cancelFlow = fillOtcOrderFlow.cancelFlow;\n const retryFlow = fillOtcOrderFlow.retryFlow;\n\n let step: FillOtcOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n fillOtcOrderFlow.signPermit.isPending ||\n !fillOtcOrderFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n fillOtcOrderFlow.approval.isPending || !fillOtcOrderFlow.approval.isSuccess;\n\n const willUsePermit =\n fillOtcOrderFlow.approval.needsApproval &&\n fillOtcOrderFlow.signPermit.isPermitSupported &&\n fillOtcOrderFlow.signPermit.isPermitReadyToSign &&\n !fillOtcOrderFlow.fillOrderBatch.canBatchTxs;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n fillOtcOrderFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (\n fillOtcOrderFlow.fillOrder.isConfirmingTX ||\n fillOtcOrderFlow.fillOrderBatch.isConfirmingCalls\n ) {\n const permitOrApprovalHappened = !!(\n fillOtcOrderFlow.approval.txHash || fillOtcOrderFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (\n fillOtcOrderFlow.fillOrder.isTxPending ||\n fillOtcOrderFlow.fillOrderBatch.isCallsPending\n ) {\n step = { key: \"order-execution\" };\n } else if (fillOtcOrderFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n fillOtcOrderFlow.approval.isTxPending;\n\n const inFillTxConfirmation =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const notYetFillTxSent =\n step?.key === \"order-execution\" &&\n !fillOtcOrderFlow.fillOrder.isTxSent &&\n !fillOtcOrderFlow.fillOrderBatch.isCallsSent;\n\n const isFlowCancellable =\n // final Tx is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || notYetFillTxSent || inFillTxConfirmation;\n\n const fillTxHash =\n // either last txHash from batch receipt\n fillOtcOrderFlow.fillOrderBatch.txHash ||\n // or standalone fill txHash\n getStandaloneTxHash({ transactionHash: fillOtcOrderFlow.fillOrder.txHash });\n const explorerLink = fillTxHash\n ? constructTxLinkForChain({\n chainId: fillOtcOrderFlow.chainId,\n txHash: fillTxHash,\n })\n : undefined;\n\n logger.once.log(\"step\", step, fillOtcOrderFlow, {\n isFlowCancellable,\n explorerLink,\n txHash: fillTxHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(fillOtcOrderFlow.error)\n ? null\n : fillOtcOrderFlow.error;\n\n let erroredStep: FillOtcOrderStepKey | undefined;\n\n if (fillOtcOrderFlow.isError) {\n if (\n fillOtcOrderFlow.approval.isError ||\n fillOtcOrderFlow.signPermit.isError ||\n fillOtcOrderFlow.fillOrder.isConfirmingTxError ||\n fillOtcOrderFlow.fillOrderBatch.isConfirmingCallsError\n ) {\n erroredStep = \"signature\";\n } else if (\n fillOtcOrderFlow.fillOrder.isTxAwaitingError ||\n fillOtcOrderFlow.fillOrderBatch.isCallsAwaitingError\n ) {\n erroredStep = \"order-execution\";\n }\n }\n\n return {\n startFillOtcOrder,\n reset, // @TODO it maybe makes sense to reset mutation data when TradeOverflow drawer is closed\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n step,\n error,\n erroredStep,\n result: fillOtcOrderFlow.result,\n tradeFlowType: fillOtcOrderFlow.tradeFlowType,\n explorerLink,\n };\n}\n"],"names":["useFillOtcOrderStep","options","$","_c","logger","useLogger","fillOtcOrderFlow","useFillOtcOrderFlow","startFillOtcOrder","runFillOtcOrderFlow","reset","cancelFlow","retryFlow","explorerLink","isFlowCancellable","step","once","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","fillOrderBatch","canBatchTxs","permitOrApprovalHappeningOrNeverHappened","fillOrder","isConfirmingTX","isConfirmingCalls","permitOrApprovalHappened","txHash","signature","isTxPending","isCallsPending","approvalIsStarted","key","subStep","inFillTxConfirmation","notYetFillTxSent","isTxSent","isCallsSent","fillTxHash","getStandaloneTxHash","transactionHash","constructTxLinkForChain","chainId","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","isConfirmingTxError","isConfirmingCallsError","isTxAwaitingError","isCallsAwaitingError","t1","result","tradeFlowType"],"mappings":"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"}
1
+ {"version":3,"file":"useFillOtcOrderStep.js","sources":["../../../../src/hooks/otc/tradeFlow/useFillOtcOrderStep.ts"],"sourcesContent":["import type {\n FillOtcOrderStep,\n FillOtcOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useFillOtcOrderFlow,\n type SubmitFillOtcOrderResult,\n type UseFillOtcOrderFlowInput,\n type UseFillOtcOrderFlowResult,\n} from \"./useFillOtcOrderFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { isUserCancelledError } from \"../../swap/tradeFlow/common/errors\";\nimport { constructTxLinkForChain } from \"@/lib/utils/explorer\";\n\nexport type UseFillOtcOrderStepResult = {\n startFillOtcOrder: UseFillOtcOrderFlowResult[\"runFillOtcOrderFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseFillOtcOrderFlowResult[\"reset\"];\n cancelFlow: UseFillOtcOrderFlowResult[\"cancelFlow\"];\n retryFlow: UseFillOtcOrderFlowResult[\"retryFlow\"];\n isFlowCancellable: boolean;\n step?: FillOtcOrderStep;\n error: Error | null;\n erroredStep?: FillOtcOrderStepKey;\n result?: SubmitFillOtcOrderResult;\n tradeFlowType: UseFillOtcOrderFlowResult[\"tradeFlowType\"];\n explorerLink?: string;\n};\n\nexport function useFillOtcOrderStep(\n options: UseFillOtcOrderFlowInput\n): UseFillOtcOrderStepResult {\n const logger = useLogger(\"FillOtcOrderStep\");\n const fillOtcOrderFlow = useFillOtcOrderFlow(options);\n\n const startFillOtcOrder = fillOtcOrderFlow.runFillOtcOrderFlow;\n const reset = fillOtcOrderFlow.reset;\n const cancelFlow = fillOtcOrderFlow.cancelFlow;\n const retryFlow = fillOtcOrderFlow.retryFlow;\n\n let step: FillOtcOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n fillOtcOrderFlow.signPermit.isPending ||\n !fillOtcOrderFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n fillOtcOrderFlow.approval.isPending || !fillOtcOrderFlow.approval.isSuccess;\n\n const willUsePermit =\n fillOtcOrderFlow.approval.needsApproval &&\n fillOtcOrderFlow.signPermit.isPermitSupported &&\n fillOtcOrderFlow.signPermit.isPermitReadyToSign &&\n !fillOtcOrderFlow.fillOrderBatch.canBatchTxs;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n fillOtcOrderFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (\n fillOtcOrderFlow.fillOrder.isConfirmingTX ||\n fillOtcOrderFlow.fillOrderBatch.isConfirmingCalls\n ) {\n const permitOrApprovalHappened = !!(\n fillOtcOrderFlow.approval.txHash || fillOtcOrderFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (\n fillOtcOrderFlow.fillOrder.isTxPending ||\n fillOtcOrderFlow.fillOrderBatch.isCallsPending\n ) {\n step = { key: \"order-execution\" };\n } else if (fillOtcOrderFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n fillOtcOrderFlow.approval.isTxPending;\n\n const inFillTxConfirmation =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const notYetFillTxSent =\n step?.key === \"order-execution\" &&\n !fillOtcOrderFlow.fillOrder.isTxSent &&\n !fillOtcOrderFlow.fillOrderBatch.isCallsSent;\n\n const isFlowCancellable =\n // final Tx is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || notYetFillTxSent || inFillTxConfirmation;\n\n // either of the txHashes will be available\n const txHash =\n fillOtcOrderFlow.fillOrder.txHash || fillOtcOrderFlow.fillOrderBatch.txHash;\n const explorerLink = txHash\n ? constructTxLinkForChain({ chainId: fillOtcOrderFlow.chainId, txHash })\n : undefined;\n\n logger.once.log(\"step\", step, fillOtcOrderFlow, {\n isFlowCancellable,\n explorerLink,\n txHash,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(fillOtcOrderFlow.error)\n ? null\n : fillOtcOrderFlow.error;\n\n let erroredStep: FillOtcOrderStepKey | undefined;\n\n if (fillOtcOrderFlow.isError) {\n if (\n fillOtcOrderFlow.approval.isError ||\n fillOtcOrderFlow.signPermit.isError ||\n fillOtcOrderFlow.fillOrder.isConfirmingTxError ||\n fillOtcOrderFlow.fillOrderBatch.isConfirmingCallsError\n ) {\n erroredStep = \"signature\";\n } else if (\n fillOtcOrderFlow.fillOrder.isTxAwaitingError ||\n fillOtcOrderFlow.fillOrderBatch.isCallsAwaitingError\n ) {\n erroredStep = \"order-execution\";\n }\n }\n\n return {\n startFillOtcOrder,\n reset, // @TODO it maybe makes sense to reset mutation data when TradeOverflow drawer is closed\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow,\n retryFlow,\n isFlowCancellable,\n step,\n error,\n erroredStep,\n result: fillOtcOrderFlow.result,\n tradeFlowType: fillOtcOrderFlow.tradeFlowType,\n explorerLink,\n };\n}\n"],"names":["useFillOtcOrderStep","options","$","_c","logger","useLogger","fillOtcOrderFlow","useFillOtcOrderFlow","startFillOtcOrder","runFillOtcOrderFlow","reset","cancelFlow","retryFlow","explorerLink","isFlowCancellable","step","once","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","fillOrderBatch","canBatchTxs","permitOrApprovalHappeningOrNeverHappened","fillOrder","isConfirmingTX","isConfirmingCalls","permitOrApprovalHappened","txHash","signature","isTxPending","isCallsPending","approvalIsStarted","key","subStep","inFillTxConfirmation","notYetFillTxSent","isTxSent","isCallsSent","constructTxLinkForChain","chainId","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","isConfirmingTxError","isConfirmingCallsError","isTxAwaitingError","isCallsAwaitingError","t1","result","tradeFlowType"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AASlD,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAC;IACpB,qBAAqB,EAAE,QAAQ,CAAC;IAChC,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,qFAAqF;QACrF,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,mBAAmB,CAAC;KAC/B,CAAC;IACF,KAAK,EAAE;QACL,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;QACjC,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,qGAAqG;QACrG,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,UAAU,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,kBAAkB,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,wBAAgB,aAAa,CAC3B,MAAM,GAAE,kBAAuB,GAC9B,mBAAmB,CA4JrB;AAED,KAAK,yBAAyB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,GAAG,CACA;IACE,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,GACD;IACE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,QAAQ,EAAE,kBAAkB,CAAC;CAC9B,CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,kBAAsC,GAC7C,yBAAyB,CAyB3B"}
1
+ {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AASlD,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAG/B,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAC;IACpB,qBAAqB,EAAE,QAAQ,CAAC;IAChC,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,qFAAqF;QACrF,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,mBAAmB,CAAC;KAC/B,CAAC;IACF,KAAK,EAAE;QACL,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;QACjC,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,qGAAqG;QACrG,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,UAAU,GAAG,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,kBAAkB,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,wBAAgB,aAAa,CAC3B,MAAM,GAAE,kBAAuB,GAC9B,mBAAmB,CA+JrB;AAED,KAAK,yBAAyB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,GAAG,CACA;IACE,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,GACD;IACE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,QAAQ,EAAE,kBAAkB,CAAC;CAC9B,CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,kBAAsC,GAC7C,yBAAyB,CAyB3B"}
@@ -13,9 +13,10 @@ import { useCachedQueryError } from '../../useCachedQueryError.js';
13
13
  import { getSwapSideFromDeltaPrice } from './delta/queries/utils.js';
14
14
  import { useSelectedBridgePrice } from './delta/bridge/useSelectedBridgePrice.js';
15
15
  import { PRICE_REFETCH_INTERVAL_MS } from './constants.js';
16
+ import { useSwapReceiverAddressValue } from '../../../components/widget/ReceiverAddress/state/receiverAddressAtom.js';
16
17
 
17
18
  function useSwapPrices(t0) {
18
- const $ = distExports.c(68);
19
+ const $ = distExports.c(69);
19
20
  let t1;
20
21
  if ($[0] !== t0) {
21
22
  t1 = t0 === void 0 ? {} : t0;
@@ -33,6 +34,7 @@ function useSwapPrices(t0) {
33
34
  } = usePricesParams("swap");
34
35
  const swapMode = useAtomValue(swapModeAtom);
35
36
  const excludeBridges = useAtomValue(excludeBridgesAtom);
37
+ const receiverAddress = useSwapReceiverAddressValue();
36
38
  const {
37
39
  enabledInConfig: deltaEnabledInConfig,
38
40
  enabledInSettings: deltaEnabledInSettings,
@@ -117,35 +119,37 @@ function useSwapPrices(t0) {
117
119
  }
118
120
  const srcTokenForDelta = t7;
119
121
  let t8;
120
- if ($[21] !== excludeBridges || $[22] !== priceParams || $[23] !== srcTokenForDelta) {
122
+ if ($[21] !== excludeBridges || $[22] !== priceParams || $[23] !== receiverAddress || $[24] !== srcTokenForDelta) {
121
123
  t8 = {
122
124
  ...priceParams,
123
125
  srcToken: srcTokenForDelta,
124
- excludeBridges
126
+ excludeBridges,
127
+ beneficiary: receiverAddress
125
128
  };
126
129
  $[21] = excludeBridges;
127
130
  $[22] = priceParams;
128
- $[23] = srcTokenForDelta;
129
- $[24] = t8;
131
+ $[23] = receiverAddress;
132
+ $[24] = srcTokenForDelta;
133
+ $[25] = t8;
130
134
  } else {
131
- t8 = $[24];
135
+ t8 = $[25];
132
136
  }
133
137
  const t9 = deltaEnabled && fetchAnyPrice && (params.enabled ?? true);
134
138
  let t10;
135
- if ($[25] !== t9) {
139
+ if ($[26] !== t9) {
136
140
  t10 = {
137
141
  enabled: t9,
138
142
  refetchInterval: PRICE_REFETCH_INTERVAL_MS,
139
143
  staleTime: PRICE_REFETCH_INTERVAL_MS,
140
144
  retry: false
141
145
  };
142
- $[25] = t9;
143
- $[26] = t10;
146
+ $[26] = t9;
147
+ $[27] = t10;
144
148
  } else {
145
- t10 = $[26];
149
+ t10 = $[27];
146
150
  }
147
151
  let t11;
148
- if ($[27] !== chainId || $[28] !== destChainId || $[29] !== t10 || $[30] !== t8) {
152
+ if ($[28] !== chainId || $[29] !== destChainId || $[30] !== t10 || $[31] !== t8) {
149
153
  t11 = {
150
154
  priceParams: t8,
151
155
  chainId,
@@ -153,13 +157,13 @@ function useSwapPrices(t0) {
153
157
  timeout: 5e3,
154
158
  query: t10
155
159
  };
156
- $[27] = chainId;
157
- $[28] = destChainId;
158
- $[29] = t10;
159
- $[30] = t8;
160
- $[31] = t11;
160
+ $[28] = chainId;
161
+ $[29] = destChainId;
162
+ $[30] = t10;
163
+ $[31] = t8;
164
+ $[32] = t11;
161
165
  } else {
162
- t11 = $[31];
166
+ t11 = $[32];
163
167
  }
164
168
  const {
165
169
  result: deltaPriceQuery,
@@ -174,33 +178,33 @@ function useSwapPrices(t0) {
174
178
  const marketRefetchInterval = !deltaEnabled || deltaErrorCached ? PRICE_REFETCH_INTERVAL_MS : 2 * PRICE_REFETCH_INTERVAL_MS;
175
179
  const t12 = marketEnabled && fetchAnyPrice && (params.enabled ?? true);
176
180
  let t13;
177
- if ($[32] !== marketRefetchInterval || $[33] !== t12) {
181
+ if ($[33] !== marketRefetchInterval || $[34] !== t12) {
178
182
  t13 = {
179
183
  enabled: t12,
180
184
  refetchInterval: marketRefetchInterval,
181
185
  staleTime: marketRefetchInterval,
182
186
  retry: false
183
187
  };
184
- $[32] = marketRefetchInterval;
185
- $[33] = t12;
186
- $[34] = t13;
188
+ $[33] = marketRefetchInterval;
189
+ $[34] = t12;
190
+ $[35] = t13;
187
191
  } else {
188
- t13 = $[34];
192
+ t13 = $[35];
189
193
  }
190
194
  let t14;
191
- if ($[35] !== chainId || $[36] !== priceParams || $[37] !== t13) {
195
+ if ($[36] !== chainId || $[37] !== priceParams || $[38] !== t13) {
192
196
  t14 = {
193
197
  priceParams,
194
198
  chainId,
195
199
  timeout: 5e3,
196
200
  query: t13
197
201
  };
198
- $[35] = chainId;
199
- $[36] = priceParams;
200
- $[37] = t13;
201
- $[38] = t14;
202
+ $[36] = chainId;
203
+ $[37] = priceParams;
204
+ $[38] = t13;
205
+ $[39] = t14;
202
206
  } else {
203
- t14 = $[38];
207
+ t14 = $[39];
204
208
  }
205
209
  const {
206
210
  result: marketPriceQuery,
@@ -208,7 +212,7 @@ function useSwapPrices(t0) {
208
212
  } = useMarketPriceQuery(t14);
209
213
  const t15 = marketPriceQuery.data?.side;
210
214
  let t16;
211
- if ($[39] !== marketCanBeUsed || $[40] !== marketPriceQuery.data || $[41] !== marketPriceQuery.error || $[42] !== marketPriceQuery.isError || $[43] !== marketPriceQuery.isFetching || $[44] !== marketPriceQuery.isLoading || $[45] !== marketPriceQuery.isRefetching || $[46] !== marketPriceQuery.refetch || $[47] !== marketPriceQueryKey || $[48] !== t15) {
215
+ if ($[40] !== marketCanBeUsed || $[41] !== marketPriceQuery.data || $[42] !== marketPriceQuery.error || $[43] !== marketPriceQuery.isError || $[44] !== marketPriceQuery.isFetching || $[45] !== marketPriceQuery.isLoading || $[46] !== marketPriceQuery.isRefetching || $[47] !== marketPriceQuery.refetch || $[48] !== marketPriceQueryKey || $[49] !== t15) {
212
216
  t16 = {
213
217
  price: marketPriceQuery.data,
214
218
  side: t15,
@@ -221,30 +225,30 @@ function useSwapPrices(t0) {
221
225
  canBeUsed: marketCanBeUsed,
222
226
  queryKey: marketPriceQueryKey
223
227
  };
224
- $[39] = marketCanBeUsed;
225
- $[40] = marketPriceQuery.data;
226
- $[41] = marketPriceQuery.error;
227
- $[42] = marketPriceQuery.isError;
228
- $[43] = marketPriceQuery.isFetching;
229
- $[44] = marketPriceQuery.isLoading;
230
- $[45] = marketPriceQuery.isRefetching;
231
- $[46] = marketPriceQuery.refetch;
232
- $[47] = marketPriceQueryKey;
233
- $[48] = t15;
234
- $[49] = t16;
228
+ $[40] = marketCanBeUsed;
229
+ $[41] = marketPriceQuery.data;
230
+ $[42] = marketPriceQuery.error;
231
+ $[43] = marketPriceQuery.isError;
232
+ $[44] = marketPriceQuery.isFetching;
233
+ $[45] = marketPriceQuery.isLoading;
234
+ $[46] = marketPriceQuery.isRefetching;
235
+ $[47] = marketPriceQuery.refetch;
236
+ $[48] = marketPriceQueryKey;
237
+ $[49] = t15;
238
+ $[50] = t16;
235
239
  } else {
236
- t16 = $[49];
240
+ t16 = $[50];
237
241
  }
238
242
  let t17;
239
- if ($[50] !== deltaPriceQuery.data) {
243
+ if ($[51] !== deltaPriceQuery.data) {
240
244
  t17 = deltaPriceQuery.data ? getSwapSideFromDeltaPrice(deltaPriceQuery.data) : void 0;
241
- $[50] = deltaPriceQuery.data;
242
- $[51] = t17;
245
+ $[51] = deltaPriceQuery.data;
246
+ $[52] = t17;
243
247
  } else {
244
- t17 = $[51];
248
+ t17 = $[52];
245
249
  }
246
250
  let t18;
247
- if ($[52] !== deltaCanBeUsed || $[53] !== deltaPriceQuery.data || $[54] !== deltaPriceQuery.error || $[55] !== deltaPriceQuery.isError || $[56] !== deltaPriceQuery.isFetching || $[57] !== deltaPriceQuery.isLoading || $[58] !== deltaPriceQuery.isRefetching || $[59] !== deltaPriceQuery.refetch || $[60] !== deltaPriceQueryKey || $[61] !== t17) {
251
+ if ($[53] !== deltaCanBeUsed || $[54] !== deltaPriceQuery.data || $[55] !== deltaPriceQuery.error || $[56] !== deltaPriceQuery.isError || $[57] !== deltaPriceQuery.isFetching || $[58] !== deltaPriceQuery.isLoading || $[59] !== deltaPriceQuery.isRefetching || $[60] !== deltaPriceQuery.refetch || $[61] !== deltaPriceQueryKey || $[62] !== t17) {
248
252
  t18 = {
249
253
  price: deltaPriceQuery.data,
250
254
  side: t17,
@@ -257,35 +261,35 @@ function useSwapPrices(t0) {
257
261
  canBeUsed: deltaCanBeUsed,
258
262
  queryKey: deltaPriceQueryKey
259
263
  };
260
- $[52] = deltaCanBeUsed;
261
- $[53] = deltaPriceQuery.data;
262
- $[54] = deltaPriceQuery.error;
263
- $[55] = deltaPriceQuery.isError;
264
- $[56] = deltaPriceQuery.isFetching;
265
- $[57] = deltaPriceQuery.isLoading;
266
- $[58] = deltaPriceQuery.isRefetching;
267
- $[59] = deltaPriceQuery.refetch;
268
- $[60] = deltaPriceQueryKey;
269
- $[61] = t17;
270
- $[62] = t18;
264
+ $[53] = deltaCanBeUsed;
265
+ $[54] = deltaPriceQuery.data;
266
+ $[55] = deltaPriceQuery.error;
267
+ $[56] = deltaPriceQuery.isError;
268
+ $[57] = deltaPriceQuery.isFetching;
269
+ $[58] = deltaPriceQuery.isLoading;
270
+ $[59] = deltaPriceQuery.isRefetching;
271
+ $[60] = deltaPriceQuery.refetch;
272
+ $[61] = deltaPriceQueryKey;
273
+ $[62] = t17;
274
+ $[63] = t18;
271
275
  } else {
272
- t18 = $[62];
276
+ t18 = $[63];
273
277
  }
274
278
  let t19;
275
- if ($[63] !== priceMode || $[64] !== swapMode || $[65] !== t16 || $[66] !== t18) {
279
+ if ($[64] !== priceMode || $[65] !== swapMode || $[66] !== t16 || $[67] !== t18) {
276
280
  t19 = {
277
281
  priceMode,
278
282
  userSelectedPriceMode: swapMode,
279
283
  market: t16,
280
284
  delta: t18
281
285
  };
282
- $[63] = priceMode;
283
- $[64] = swapMode;
284
- $[65] = t16;
285
- $[66] = t18;
286
- $[67] = t19;
286
+ $[64] = priceMode;
287
+ $[65] = swapMode;
288
+ $[66] = t16;
289
+ $[67] = t18;
290
+ $[68] = t19;
287
291
  } else {
288
- t19 = $[67];
292
+ t19 = $[68];
289
293
  }
290
294
  return t19;
291
295
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.js","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport { usePricesParams } from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { excludeBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/queries/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;\n error: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n // excluded bridges from user preferences\n const excludeBridges = useAtomValue(excludeBridgesAtom);\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n // Delta /prices errors when srcToken=ETH;\n // we will pre-wrap ETH->WETH before Swap anyway;\n // be careful not to use deltaPrices.srcToken with the assumption that (tokenFrom=ETH) !== (deltaPrices.srcToken=WETH)\n const srcTokenForDelta = isETH({ address: priceParams.srcToken })\n ? wrappedNativeCurrency[chainId]\n : priceParams.srcToken;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n srcToken: srcTokenForDelta,\n excludeBridges,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n // @TODO remove isBUY once BUY is supported for Delta\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams,\n chainId,\n timeout: 5000,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n side?: SwapSideUnion;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n queryKey: MarketPriceQueryKey;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n queryKey: DeltaPriceQueryKey;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n queryKey: market.queryKey,\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n queryKey: delta.queryKey,\n };\n}\n"],"names":["useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","excludeBridges","excludeBridgesAtom","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","fetchAnyPrice","amount","destToken","t2","srcToken","isETH","address","isWETH","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","useIsTokenSupportedInDeltaQuery","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","wrappedNativeCurrency","srcTokenForDelta","t8","t9","enabled","t10","refetchInterval","PRICE_REFETCH_INTERVAL_MS","staleTime","retry","t11","timeout","query","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","deltaErrorCached","useCachedQueryError","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","useMarketPriceQuery","t15","side","t16","error","isError","isFetching","isLoading","isRefetching","refetch","price","canBeUsed","t17","getSwapSideFromDeltaPrice","t18","t19","userSelectedPriceMode","market","delta","useCurrentSwapPrice","selectedBridgePrice","useSelectedBridgePrice"],"mappings":"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"}
1
+ {"version":3,"file":"useSwapPrices.js","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport { usePricesParams } from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { excludeBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/queries/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;\n error: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n // excluded bridges from user preferences\n const excludeBridges = useAtomValue(excludeBridgesAtom);\n // receiver address from user input\n const receiverAddress = useSwapReceiverAddressValue();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n // Delta /prices errors when srcToken=ETH;\n // we will pre-wrap ETH->WETH before Swap anyway;\n // be careful not to use deltaPrices.srcToken with the assumption that (tokenFrom=ETH) !== (deltaPrices.srcToken=WETH)\n const srcTokenForDelta = isETH({ address: priceParams.srcToken })\n ? wrappedNativeCurrency[chainId]\n : priceParams.srcToken;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n srcToken: srcTokenForDelta,\n excludeBridges,\n beneficiary: receiverAddress,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n // @TODO remove isBUY once BUY is supported for Delta\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams,\n chainId,\n timeout: 5000,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n side?: SwapSideUnion;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n queryKey: MarketPriceQueryKey;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n queryKey: DeltaPriceQueryKey;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n queryKey: market.queryKey,\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n queryKey: delta.queryKey,\n };\n}\n"],"names":["useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","excludeBridges","excludeBridgesAtom","receiverAddress","useSwapReceiverAddressValue","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","fetchAnyPrice","amount","destToken","t2","srcToken","isETH","address","isWETH","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","useIsTokenSupportedInDeltaQuery","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","wrappedNativeCurrency","srcTokenForDelta","t8","beneficiary","t9","enabled","t10","refetchInterval","PRICE_REFETCH_INTERVAL_MS","staleTime","retry","t11","timeout","query","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","deltaErrorCached","useCachedQueryError","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","useMarketPriceQuery","t15","side","t16","error","isError","isFetching","isLoading","isRefetching","refetch","price","canBeUsed","t17","getSwapSideFromDeltaPrice","t18","t19","userSelectedPriceMode","market","delta","useCurrentSwapPrice","selectedBridgePrice","useSelectedBridgePrice"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePreSignAndSubmitDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePreSignAndSubmitDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"names":[],"mappings":"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"}
@@ -208,8 +208,7 @@ function usePreSignAndSubmitDeltaOrder({
208
208
  }
209
209
  });
210
210
  }
211
- const res = await sendCallsReceiptPromise;
212
- logger.log("~ deltaOrder ~ setPreSignature calls result :", res);
211
+ await sendCallsReceiptPromise;
213
212
  const orderFromAPI = await postOrderMut.mutateAsync(orderToPost);
214
213
  orderIsPosted = true;
215
214
  return orderFromAPI;
@@ -1 +1 @@
1
- {"version":3,"file":"usePreSignAndSubmitDeltaOrder.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"sourcesContent":["import { useFetchOnlySDK } from \"@/hooks/useSDK\";\nimport {\n useCreatePreSignableDeltaOrder,\n type DeltaOrderToPost,\n} from \"../../prices/delta/mutations/useCreatePreSignableDeltaOrder\";\nimport {\n useBatchWithApproveTxs,\n type TxParams,\n} from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { isAddress, type Address } from \"viem\";\nimport {\n deltaOrdersQueryKey,\n type SubmittedDeltaOrderFromAPI,\n} from \"../../prices/delta/queries/useDeltaOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { DeltaOrderApiResponse, MinViemClient } from \"@velora-dex/sdk\";\nimport { useConnectedSafe } from \"@/hooks/connectors/useIsConnectedSafe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { usePostDeltaOrder } from \"../../prices/delta/mutations/usePostDeltaOrder\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { CreateDeltaOrderInput } from \"../../prices/delta/mutations/useCreateDeltaOrder\";\nimport type { CallsSentObject } from \"@/lib/utils/transactionHandlers\";\nimport type {\n ApprovalFlowResult,\n BatchTxStepResult,\n SignPermitFlowResult,\n} from \"./types\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { depositWETHCalldata } from \"./utils\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureContractsQuery } from \"../../prices/market/queries/useSpenderAndContracts\";\n\nexport type DeltaOrderPreSignResult = {\n canPreSignBatch: boolean;\n preSignPrep: {\n order?: DeltaOrderToPost;\n isCreatingOrder: boolean;\n isOrderHashReady: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n preSignBatch: BatchTxStepResult;\n postingOrder: {\n order?: SubmittedDeltaOrderFromAPI;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n order?: SubmittedDeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype UsePreSignAndSubmitDeltaOrderInput = {\n chainId: SupportedChainId;\n account?: Address;\n logger: LoggerInstance;\n viemClient?: MinViemClient;\n};\n\ntype UsePreSignAndSubmitDeltaOrderResult = {\n deltaOrderPreSign: DeltaOrderPreSignResult;\n canBatchTxs?: boolean;\n isConnectedToSafe: boolean;\n preSignAndSubmitDeltaOrder: PreSignAndSubmitDeltaOrderFunc;\n reset: () => void;\n};\n\nexport function usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient,\n}: UsePreSignAndSubmitDeltaOrderInput): UsePreSignAndSubmitDeltaOrderResult {\n const queryClient = useQueryClient();\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const isConnectedToSafe = useConnectedSafe();\n\n /* 1. submit Batch tx (Approve + Delta pre-sign) */\n\n const createPreSignableOrderMut = useCreatePreSignableDeltaOrder({\n chainId,\n client: viemClient,\n });\n\n const { sdk: fetchOnlySDK } = useFetchOnlySDK({\n chainId,\n });\n\n const preSignPreparations: DeltaOrderPreSignResult[\"preSignPrep\"] = {\n isCreatingOrder: createPreSignableOrderMut.isPending,\n isOrderHashReady: createPreSignableOrderMut.isSuccess,\n order: createPreSignableOrderMut.data?.orderToPost,\n isPending: createPreSignableOrderMut.isPending,\n isError: createPreSignableOrderMut.isError,\n isSuccess: createPreSignableOrderMut.isSuccess,\n error: createPreSignableOrderMut.error,\n };\n\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* 2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const deltaPreSignBatch: BatchTxStepResult = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n /* 3. post Pre-signed Order */\n\n const postOrderMut = usePostDeltaOrder({\n chainId,\n account,\n client: viemClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Delta Order success\", order);\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onError: (error) => {\n logger.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderPosting: DeltaOrderPreSignResult[\"postingOrder\"] = {\n order: postOrderMut.data,\n isPostingOrder: postOrderMut.isPending,\n isOrderSent: postOrderMut.isSuccess,\n isPending: postOrderMut.isPending,\n isError: postOrderMut.isError,\n isSuccess: postOrderMut.isSuccess,\n error: postOrderMut.error,\n };\n\n const deltaOrderPreSign: DeltaOrderPreSignResult = {\n canPreSignBatch: !!canBatchTxs,\n order: postOrderMut.data,\n preSignPrep: preSignPreparations,\n preSignBatch: deltaPreSignBatch,\n postingOrder: deltaOrderPosting,\n isCreatingOrder:\n preSignPreparations.isCreatingOrder ||\n deltaPreSignBatch.isPending ||\n deltaOrderPosting.isPostingOrder,\n isOrderSent: deltaOrderPosting.isOrderSent,\n isPending:\n preSignPreparations.isPending ||\n deltaPreSignBatch.isPending ||\n deltaOrderPosting.isPending,\n isError:\n preSignPreparations.isError ||\n deltaPreSignBatch.isError ||\n deltaOrderPosting.isError,\n isSuccess: deltaOrderPosting.isSuccess,\n error:\n preSignPreparations.error ||\n deltaPreSignBatch.error ||\n deltaOrderPosting.error,\n };\n\n const ensureCallsStatus = useEnsureCallsStatus();\n const { ensureContractsLoaded } = useEnsureContractsQuery({ chainId });\n\n const preSignAndSubmitDeltaOrder: PreSignAndSubmitDeltaOrderFunc = async ({\n createDeltaOrderInput,\n preWrapETH,\n approval,\n onTxSent,\n }) => {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3 construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n const { signal, orderInput } = createDeltaOrderInput;\n\n const { orderToPost, preSignCalldata } =\n await createPreSignableOrderMut.mutateAsync(createDeltaOrderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const { ParaswapDelta: DeltaContract } = await ensureContractsLoaded({\n signal,\n });\n\n assert(\n DeltaContract && isAddress(DeltaContract),\n `DeltaContract is not available on chain ${chainId}`\n );\n\n const txsParams: [TxParams, ...TxParams[]] = [\n {\n to: DeltaContract,\n account,\n data: preSignCalldata,\n value: 0n,\n chainId,\n },\n ];\n\n const needToApprove =\n approval.allowanceToSet &&\n approval.allowanceToSet > 0n &&\n approval.spender;\n\n if (preWrapETH) {\n // add WETH.deposit call,\n // we'll have Approve + Deposit WETH + setPreSignature batch tx;\n // the order doesn't really matter\n\n // avoid using approval.allowanceToSet as it may represent Unlimited Approval\n const wrapAmount = BigInt(orderInput.srcAmount);\n txsParams.unshift({\n to: wrappedNativeCurrency[chainId],\n account,\n data: depositWETHCalldata,\n value: wrapAmount,\n chainId,\n });\n }\n\n const approveProps = needToApprove\n ? [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ]\n : undefined;\n\n // 4. construct a sendCalls batch with Approve Token + setPreSignature call\n const { calls } = await addTxWithApprovals({\n txsParams,\n approveProps,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n let orderIsPosted = false;\n\n const sendUnsentOrderOnPageHide = () => {\n if (orderIsPosted) return;\n orderIsPosted = true;\n fetchOnlySDK?.postDeltaOrder(orderToPost);\n };\n\n // check if the page was closed after sendCalls succeeded but before the Order was posted.\n // in that case POST the Order just in case the page is never reloaded or localStorage survives until then.\n // `pagehide` event is more reliable on desktop and does not fire on tab switching in browser,\n // but on mobile minimizing the browser doesn't fire `pagehide` event but does `visibilitychange`.\n // with `visibilitychange` though we can't reliably resume the flow because navigator.sendBeacon doesn't return response\n window.addEventListener(\"pagehide\", sendUnsentOrderOnPageHide, {\n once: true,\n });\n // prepared to POST Order in case of page close before sending the Approve+setPreSignature batch tx request,\n // because inside Safe it's very easy to switch page and go to Transactions page by clicking in a popup,\n // so the Widget state will be lost but the Safe would already receive a tx to sign\n // and it's not obvious that the Delta flow was aborted\n const unsubscribeFromPageHide = () => {\n window.removeEventListener(\"pagehide\", sendUnsentOrderOnPageHide);\n };\n\n try {\n // 5. send the Approve+setPreSignature batch tx request to the wallet\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: sendCallsResult.id,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\n \"~ deltaOrder ~ awaiting setPreSignature calls id :\",\n sendCallsResult.id\n );\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"preSignDeltaOrder\",\n callsId: sendCallsResult.id,\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"preSignDeltaOrder\",\n order: orderToPost,\n },\n });\n }\n\n // 6. wait for that batch tx to be mined;\n const res = await sendCallsReceiptPromise;\n logger.log(\"~ deltaOrder ~ setPreSignature calls result :\", res);\n\n // 7. POST the Order to API with signature=0x\n const orderFromAPI = await postOrderMut.mutateAsync(orderToPost);\n orderIsPosted = true;\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"Pre-sign and submit Delta Order error\", error);\n throw error;\n } finally {\n unsubscribeFromPageHide();\n }\n };\n\n const reset = () => {\n createPreSignableOrderMut.reset();\n batchTxMut.reset();\n postOrderMut.reset();\n };\n\n return {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset,\n };\n}\n\ntype PreSignAndSubmitDeltaOrderInput = {\n createDeltaOrderInput: CreateDeltaOrderInput;\n approval: Pick<\n ApprovalFlowResult,\n \"spender\" | \"allowanceToSet\" | \"token\" | \"chainId\"\n >;\n preWrapETH?: boolean;\n onTxSent?: (txSent: CallsSentObject) => void;\n};\n\ntype PreSignAndSubmitDeltaOrderFunc = (\n input: PreSignAndSubmitDeltaOrderInput\n) => Promise<DeltaOrderApiResponse>;\n\ntype ShouldApproveOrBatchInput = {\n approval: Pick<ApprovalFlowResult, \"needsApproval\" | \"allowanceToSet\">;\n preWrapETH?: boolean;\n signPermit: Pick<\n SignPermitFlowResult,\n \"isPermitSupported\" | \"isPermitReadyToSign\"\n >;\n canBatchTxs?: boolean;\n isConnectedToSafe: boolean;\n};\n\ntype ShouldApproveOrBatchResult = {\n shouldDoApprovalTxOrPermit: boolean;\n tryPermit: boolean;\n shouldPreSignBatch: boolean;\n};\n\nexport function shouldApproveOrBatch({\n approval,\n preWrapETH,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n}: ShouldApproveOrBatchInput): ShouldApproveOrBatchResult {\n // can sign a Permit\n const tryPermit =\n signPermit.isPermitSupported && signPermit.isPermitReadyToSign;\n\n const allowanceToSet = approval.allowanceToSet ?? 0n;\n // need to Approve Token or sign Permit for it\n const tokenNeedsApproval = approval.needsApproval && allowanceToSet > 0n;\n\n let numberOfActions = 1; // Delta Order creation\n let numberOfTxs = 0;\n if (preWrapETH) {\n // needs to call WETH.deposit\n numberOfActions++;\n numberOfTxs++;\n }\n if (tokenNeedsApproval) {\n // needs to approve a token\n numberOfActions++;\n if (!tryPermit) {\n // can't sign a Permit\n numberOfTxs++;\n }\n }\n\n /*\n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, not Permit),\n and then sign Order, basically has to make at least one tx, does only one action as well.\n*/\n let shouldPreSignBatch = false;\n // wallet can batch txs\n if (canBatchTxs) {\n // wallet is Safe and there will be multiple actions Safe needs to perform\n if (isConnectedToSafe && numberOfActions > 1) {\n // do it in one batch tx\n shouldPreSignBatch = true;\n } else if (numberOfTxs > 0 && numberOfActions > 1) {\n // if at least one tx to perform, batch it with actions\n shouldPreSignBatch = true;\n }\n // else if only one action (Delta signing), then can signTypedData only\n }\n\n // will do an Approval of Token (tx or Permit)\n const shouldDoApprovalTxOrPermit = tokenNeedsApproval && !shouldPreSignBatch;\n\n return {\n shouldDoApprovalTxOrPermit,\n tryPermit,\n shouldPreSignBatch,\n };\n}\n"],"names":["usePreSignAndSubmitDeltaOrder","chainId","account","logger","viemClient","queryClient","useQueryClient","forCurrentChain","canBatchTxs","useCanBatchTxs","isConnectedToSafe","useConnectedSafe","createPreSignableOrderMut","useCreatePreSignableDeltaOrder","client","sdk","fetchOnlySDK","useFetchOnlySDK","preSignPreparations","isCreatingOrder","isPending","isOrderHashReady","isSuccess","order","data","orderToPost","isError","error","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","onSuccess","log","onError","batchTxMined","useAwaitCalls","id","lastCallsReceipt","receipts","length","deltaPreSignBatch","callsId","txHash","transactionHash","receipt","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isLoading","isCallsMined","isCallsAwaitingError","postOrderMut","usePostDeltaOrder","mutationOptions","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","user","exact","deltaOrderPosting","isPostingOrder","isOrderSent","deltaOrderPreSign","canPreSignBatch","preSignPrep","preSignBatch","postingOrder","ensureCallsStatus","useEnsureCallsStatus","ensureContractsLoaded","useEnsureContractsQuery","preSignAndSubmitDeltaOrder","createDeltaOrderInput","preWrapETH","approval","onTxSent","signal","orderInput","preSignCalldata","mutateAsync","throwIfAborted","ParaswapDelta","DeltaContract","assert","isAddress","txsParams","to","value","needToApprove","allowanceToSet","spender","wrapAmount","BigInt","srcAmount","unshift","wrappedNativeCurrency","depositWETHCalldata","approveProps","token","undefined","calls","orderIsPosted","sendUnsentOrderOnPageHide","postDeltaOrder","window","addEventListener","once","unsubscribeFromPageHide","removeEventListener","sendCallsResult","sendCalls","sendCallsReceiptPromise","then","status","action","receiptPromise","transactionSpecificData","res","orderFromAPI","reset","shouldApproveOrBatch","signPermit","tryPermit","isPermitSupported","isPermitReadyToSign","tokenNeedsApproval","needsApproval","numberOfActions","numberOfTxs","shouldPreSignBatch","shouldDoApprovalTxOrPermit"],"mappings":"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"}
1
+ {"version":3,"file":"usePreSignAndSubmitDeltaOrder.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"sourcesContent":["import { useFetchOnlySDK } from \"@/hooks/useSDK\";\nimport {\n useCreatePreSignableDeltaOrder,\n type DeltaOrderToPost,\n} from \"../../prices/delta/mutations/useCreatePreSignableDeltaOrder\";\nimport {\n useBatchWithApproveTxs,\n type TxParams,\n} from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { isAddress, type Address } from \"viem\";\nimport {\n deltaOrdersQueryKey,\n type SubmittedDeltaOrderFromAPI,\n} from \"../../prices/delta/queries/useDeltaOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { DeltaOrderApiResponse, MinViemClient } from \"@velora-dex/sdk\";\nimport { useConnectedSafe } from \"@/hooks/connectors/useIsConnectedSafe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { usePostDeltaOrder } from \"../../prices/delta/mutations/usePostDeltaOrder\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { CreateDeltaOrderInput } from \"../../prices/delta/mutations/useCreateDeltaOrder\";\nimport type { CallsSentObject } from \"@/lib/utils/transactionHandlers\";\nimport type {\n ApprovalFlowResult,\n BatchTxStepResult,\n SignPermitFlowResult,\n} from \"./types\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { depositWETHCalldata } from \"./utils\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureContractsQuery } from \"../../prices/market/queries/useSpenderAndContracts\";\n\nexport type DeltaOrderPreSignResult = {\n canPreSignBatch: boolean;\n preSignPrep: {\n order?: DeltaOrderToPost;\n isCreatingOrder: boolean;\n isOrderHashReady: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n preSignBatch: BatchTxStepResult;\n postingOrder: {\n order?: SubmittedDeltaOrderFromAPI;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n order?: SubmittedDeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype UsePreSignAndSubmitDeltaOrderInput = {\n chainId: SupportedChainId;\n account?: Address;\n logger: LoggerInstance;\n viemClient?: MinViemClient;\n};\n\ntype UsePreSignAndSubmitDeltaOrderResult = {\n deltaOrderPreSign: DeltaOrderPreSignResult;\n canBatchTxs?: boolean;\n isConnectedToSafe: boolean;\n preSignAndSubmitDeltaOrder: PreSignAndSubmitDeltaOrderFunc;\n reset: () => void;\n};\n\nexport function usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient,\n}: UsePreSignAndSubmitDeltaOrderInput): UsePreSignAndSubmitDeltaOrderResult {\n const queryClient = useQueryClient();\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const isConnectedToSafe = useConnectedSafe();\n\n /* 1. submit Batch tx (Approve + Delta pre-sign) */\n\n const createPreSignableOrderMut = useCreatePreSignableDeltaOrder({\n chainId,\n client: viemClient,\n });\n\n const { sdk: fetchOnlySDK } = useFetchOnlySDK({\n chainId,\n });\n\n const preSignPreparations: DeltaOrderPreSignResult[\"preSignPrep\"] = {\n isCreatingOrder: createPreSignableOrderMut.isPending,\n isOrderHashReady: createPreSignableOrderMut.isSuccess,\n order: createPreSignableOrderMut.data?.orderToPost,\n isPending: createPreSignableOrderMut.isPending,\n isError: createPreSignableOrderMut.isError,\n isSuccess: createPreSignableOrderMut.isSuccess,\n error: createPreSignableOrderMut.error,\n };\n\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* 2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const deltaPreSignBatch: BatchTxStepResult = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.error,\n };\n\n /* 3. post Pre-signed Order */\n\n const postOrderMut = usePostDeltaOrder({\n chainId,\n account,\n client: viemClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Delta Order success\", order);\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onError: (error) => {\n logger.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderPosting: DeltaOrderPreSignResult[\"postingOrder\"] = {\n order: postOrderMut.data,\n isPostingOrder: postOrderMut.isPending,\n isOrderSent: postOrderMut.isSuccess,\n isPending: postOrderMut.isPending,\n isError: postOrderMut.isError,\n isSuccess: postOrderMut.isSuccess,\n error: postOrderMut.error,\n };\n\n const deltaOrderPreSign: DeltaOrderPreSignResult = {\n canPreSignBatch: !!canBatchTxs,\n order: postOrderMut.data,\n preSignPrep: preSignPreparations,\n preSignBatch: deltaPreSignBatch,\n postingOrder: deltaOrderPosting,\n isCreatingOrder:\n preSignPreparations.isCreatingOrder ||\n deltaPreSignBatch.isPending ||\n deltaOrderPosting.isPostingOrder,\n isOrderSent: deltaOrderPosting.isOrderSent,\n isPending:\n preSignPreparations.isPending ||\n deltaPreSignBatch.isPending ||\n deltaOrderPosting.isPending,\n isError:\n preSignPreparations.isError ||\n deltaPreSignBatch.isError ||\n deltaOrderPosting.isError,\n isSuccess: deltaOrderPosting.isSuccess,\n error:\n preSignPreparations.error ||\n deltaPreSignBatch.error ||\n deltaOrderPosting.error,\n };\n\n const ensureCallsStatus = useEnsureCallsStatus();\n const { ensureContractsLoaded } = useEnsureContractsQuery({ chainId });\n\n const preSignAndSubmitDeltaOrder: PreSignAndSubmitDeltaOrderFunc = async ({\n createDeltaOrderInput,\n preWrapETH,\n approval,\n onTxSent,\n }) => {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3 construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n const { signal, orderInput } = createDeltaOrderInput;\n\n const { orderToPost, preSignCalldata } =\n await createPreSignableOrderMut.mutateAsync(createDeltaOrderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const { ParaswapDelta: DeltaContract } = await ensureContractsLoaded({\n signal,\n });\n\n assert(\n DeltaContract && isAddress(DeltaContract),\n `DeltaContract is not available on chain ${chainId}`\n );\n\n const txsParams: [TxParams, ...TxParams[]] = [\n {\n to: DeltaContract,\n account,\n data: preSignCalldata,\n value: 0n,\n chainId,\n },\n ];\n\n const needToApprove =\n approval.allowanceToSet &&\n approval.allowanceToSet > 0n &&\n approval.spender;\n\n if (preWrapETH) {\n // add WETH.deposit call,\n // we'll have Approve + Deposit WETH + setPreSignature batch tx;\n // the order doesn't really matter\n\n // avoid using approval.allowanceToSet as it may represent Unlimited Approval\n const wrapAmount = BigInt(orderInput.srcAmount);\n txsParams.unshift({\n to: wrappedNativeCurrency[chainId],\n account,\n data: depositWETHCalldata,\n value: wrapAmount,\n chainId,\n });\n }\n\n const approveProps = needToApprove\n ? [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ]\n : undefined;\n\n // 4. construct a sendCalls batch with Approve Token + setPreSignature call\n const { calls } = await addTxWithApprovals({\n txsParams,\n approveProps,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n let orderIsPosted = false;\n\n const sendUnsentOrderOnPageHide = () => {\n if (orderIsPosted) return;\n orderIsPosted = true;\n fetchOnlySDK?.postDeltaOrder(orderToPost);\n };\n\n // check if the page was closed after sendCalls succeeded but before the Order was posted.\n // in that case POST the Order just in case the page is never reloaded or localStorage survives until then.\n // `pagehide` event is more reliable on desktop and does not fire on tab switching in browser,\n // but on mobile minimizing the browser doesn't fire `pagehide` event but does `visibilitychange`.\n // with `visibilitychange` though we can't reliably resume the flow because navigator.sendBeacon doesn't return response\n window.addEventListener(\"pagehide\", sendUnsentOrderOnPageHide, {\n once: true,\n });\n // prepared to POST Order in case of page close before sending the Approve+setPreSignature batch tx request,\n // because inside Safe it's very easy to switch page and go to Transactions page by clicking in a popup,\n // so the Widget state will be lost but the Safe would already receive a tx to sign\n // and it's not obvious that the Delta flow was aborted\n const unsubscribeFromPageHide = () => {\n window.removeEventListener(\"pagehide\", sendUnsentOrderOnPageHide);\n };\n\n try {\n // 5. send the Approve+setPreSignature batch tx request to the wallet\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: sendCallsResult.id,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\n \"~ deltaOrder ~ awaiting setPreSignature calls id :\",\n sendCallsResult.id\n );\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"preSignDeltaOrder\",\n callsId: sendCallsResult.id,\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"preSignDeltaOrder\",\n order: orderToPost,\n },\n });\n }\n\n // 6. wait for that batch tx to be mined;\n await sendCallsReceiptPromise;\n\n // 7. POST the Order to API with signature=0x\n const orderFromAPI = await postOrderMut.mutateAsync(orderToPost);\n orderIsPosted = true;\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"Pre-sign and submit Delta Order error\", error);\n throw error;\n } finally {\n unsubscribeFromPageHide();\n }\n };\n\n const reset = () => {\n createPreSignableOrderMut.reset();\n batchTxMut.reset();\n postOrderMut.reset();\n };\n\n return {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset,\n };\n}\n\ntype PreSignAndSubmitDeltaOrderInput = {\n createDeltaOrderInput: CreateDeltaOrderInput;\n approval: Pick<\n ApprovalFlowResult,\n \"spender\" | \"allowanceToSet\" | \"token\" | \"chainId\"\n >;\n preWrapETH?: boolean;\n onTxSent?: (txSent: CallsSentObject) => void;\n};\n\ntype PreSignAndSubmitDeltaOrderFunc = (\n input: PreSignAndSubmitDeltaOrderInput\n) => Promise<DeltaOrderApiResponse>;\n\ntype ShouldApproveOrBatchInput = {\n approval: Pick<ApprovalFlowResult, \"needsApproval\" | \"allowanceToSet\">;\n preWrapETH?: boolean;\n signPermit: Pick<\n SignPermitFlowResult,\n \"isPermitSupported\" | \"isPermitReadyToSign\"\n >;\n canBatchTxs?: boolean;\n isConnectedToSafe: boolean;\n};\n\ntype ShouldApproveOrBatchResult = {\n shouldDoApprovalTxOrPermit: boolean;\n tryPermit: boolean;\n shouldPreSignBatch: boolean;\n};\n\nexport function shouldApproveOrBatch({\n approval,\n preWrapETH,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n}: ShouldApproveOrBatchInput): ShouldApproveOrBatchResult {\n // can sign a Permit\n const tryPermit =\n signPermit.isPermitSupported && signPermit.isPermitReadyToSign;\n\n const allowanceToSet = approval.allowanceToSet ?? 0n;\n // need to Approve Token or sign Permit for it\n const tokenNeedsApproval = approval.needsApproval && allowanceToSet > 0n;\n\n let numberOfActions = 1; // Delta Order creation\n let numberOfTxs = 0;\n if (preWrapETH) {\n // needs to call WETH.deposit\n numberOfActions++;\n numberOfTxs++;\n }\n if (tokenNeedsApproval) {\n // needs to approve a token\n numberOfActions++;\n if (!tryPermit) {\n // can't sign a Permit\n numberOfTxs++;\n }\n }\n\n /*\n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, not Permit),\n and then sign Order, basically has to make at least one tx, does only one action as well.\n*/\n let shouldPreSignBatch = false;\n // wallet can batch txs\n if (canBatchTxs) {\n // wallet is Safe and there will be multiple actions Safe needs to perform\n if (isConnectedToSafe && numberOfActions > 1) {\n // do it in one batch tx\n shouldPreSignBatch = true;\n } else if (numberOfTxs > 0 && numberOfActions > 1) {\n // if at least one tx to perform, batch it with actions\n shouldPreSignBatch = true;\n }\n // else if only one action (Delta signing), then can signTypedData only\n }\n\n // will do an Approval of Token (tx or Permit)\n const shouldDoApprovalTxOrPermit = tokenNeedsApproval && !shouldPreSignBatch;\n\n return {\n shouldDoApprovalTxOrPermit,\n tryPermit,\n shouldPreSignBatch,\n };\n}\n"],"names":["usePreSignAndSubmitDeltaOrder","chainId","account","logger","viemClient","queryClient","useQueryClient","forCurrentChain","canBatchTxs","useCanBatchTxs","isConnectedToSafe","useConnectedSafe","createPreSignableOrderMut","useCreatePreSignableDeltaOrder","client","sdk","fetchOnlySDK","useFetchOnlySDK","preSignPreparations","isCreatingOrder","isPending","isOrderHashReady","isSuccess","order","data","orderToPost","isError","error","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","onSuccess","log","onError","batchTxMined","useAwaitCalls","id","lastCallsReceipt","receipts","length","deltaPreSignBatch","callsId","txHash","transactionHash","receipt","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isLoading","isCallsMined","isCallsAwaitingError","postOrderMut","usePostDeltaOrder","mutationOptions","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","user","exact","deltaOrderPosting","isPostingOrder","isOrderSent","deltaOrderPreSign","canPreSignBatch","preSignPrep","preSignBatch","postingOrder","ensureCallsStatus","useEnsureCallsStatus","ensureContractsLoaded","useEnsureContractsQuery","preSignAndSubmitDeltaOrder","createDeltaOrderInput","preWrapETH","approval","onTxSent","signal","orderInput","preSignCalldata","mutateAsync","throwIfAborted","ParaswapDelta","DeltaContract","assert","isAddress","txsParams","to","value","needToApprove","allowanceToSet","spender","wrapAmount","BigInt","srcAmount","unshift","wrappedNativeCurrency","depositWETHCalldata","approveProps","token","undefined","calls","orderIsPosted","sendUnsentOrderOnPageHide","postDeltaOrder","window","addEventListener","once","unsubscribeFromPageHide","removeEventListener","sendCallsResult","sendCalls","sendCallsReceiptPromise","then","status","action","receiptPromise","transactionSpecificData","orderFromAPI","reset","shouldApproveOrBatch","signPermit","tryPermit","isPermitSupported","isPermitReadyToSign","tokenNeedsApproval","needsApproval","numberOfActions","numberOfTxs","shouldPreSignBatch","shouldDoApprovalTxOrPermit"],"mappings":"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"}