@velora-dex/widget 0.4.12-dev.3 → 0.4.13

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 (217) hide show
  1. package/dist/components/widget/BridgeList/BridgeListItem.d.ts.map +1 -1
  2. package/dist/components/widget/BridgeList/BridgeListItem.js +1 -1
  3. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
  4. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  5. package/dist/components/widget/BridgeList/hooks.js +3 -13
  6. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  7. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  8. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +3 -3
  9. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  10. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
  11. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +1 -1
  12. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  13. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
  14. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
  15. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  16. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  17. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +40 -37
  18. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  19. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  20. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +36 -34
  21. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  22. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +6 -1
  23. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  24. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +45 -30
  25. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  26. package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts.map +1 -1
  27. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +6 -3
  28. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  29. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts +1 -1
  30. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts.map +1 -1
  31. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +2 -5
  32. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  33. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts +1 -1
  34. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts.map +1 -1
  35. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +2 -5
  36. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  37. package/dist/components/widget/TradeParameters/state/constants.d.ts +3 -0
  38. package/dist/components/widget/TradeParameters/state/constants.d.ts.map +1 -1
  39. package/dist/components/widget/TradeParameters/state/constants.js +4 -1
  40. package/dist/components/widget/TradeParameters/state/constants.js.map +1 -1
  41. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts +1 -1
  42. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts.map +1 -1
  43. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js +1 -1
  44. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  45. package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts +1 -4
  46. package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts.map +1 -1
  47. package/dist/components/widget/TradeParameters/state/deltaParamAtom.js +4 -3
  48. package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
  49. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts +1 -4
  50. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts.map +1 -1
  51. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js +4 -3
  52. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js.map +1 -1
  53. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts +2 -6
  54. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -1
  55. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +4 -3
  56. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
  57. package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts +3 -2
  58. package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts.map +1 -1
  59. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js +9 -3
  60. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  61. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts +5 -0
  62. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts.map +1 -0
  63. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +32 -0
  64. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -0
  65. package/dist/components/widget/TradeParameters/state/types.d.ts +11 -0
  66. package/dist/components/widget/TradeParameters/state/types.d.ts.map +1 -0
  67. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  68. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +6 -7
  69. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  70. package/dist/components/widget/Warning/Warning.d.ts +3 -2
  71. package/dist/components/widget/Warning/Warning.d.ts.map +1 -1
  72. package/dist/components/widget/Warning/Warning.js +74 -50
  73. package/dist/components/widget/Warning/Warning.js.map +1 -1
  74. package/dist/components/widget/Warning/types.d.ts +2 -1
  75. package/dist/components/widget/Warning/types.d.ts.map +1 -1
  76. package/dist/configurator/state/themeAtom.d.ts +1 -1
  77. package/dist/core/Updaters.d.ts.map +1 -1
  78. package/dist/core/Updaters.js +2 -0
  79. package/dist/core/Updaters.js.map +1 -1
  80. package/dist/core/Warnings.d.ts.map +1 -1
  81. package/dist/core/Warnings.js +174 -72
  82. package/dist/core/Warnings.js.map +1 -1
  83. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  84. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +43 -34
  85. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  86. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  87. package/dist/core/inputs/hooks/useTokenToInputProps.js +7 -11
  88. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  89. package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
  90. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  91. package/dist/core/limit/useLimitPriceInputProps.d.ts.map +1 -1
  92. package/dist/core/limit/useLimitPriceInputProps.js +53 -72
  93. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  94. package/dist/core/swapDetails/priceImpact.d.ts +2 -3
  95. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  96. package/dist/core/swapDetails/priceImpact.js +4 -16
  97. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  98. package/dist/core/swapDetails/useSwapDetailsListProps.js +82 -80
  99. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  100. package/dist/hooks/permit/utils/deadlines.js +1 -1
  101. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  102. package/dist/hooks/swap/prices/constants.d.ts +1 -0
  103. package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
  104. package/dist/hooks/swap/prices/constants.js +2 -1
  105. package/dist/hooks/swap/prices/constants.js.map +1 -1
  106. package/dist/hooks/swap/prices/delta/bridge/utils.js +0 -2
  107. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  108. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  109. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +15 -0
  110. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  111. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +1 -0
  112. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  113. package/dist/hooks/swap/prices/delta/mutations/utils.js +10 -1
  114. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  115. package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -1
  116. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  117. package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts +5 -0
  118. package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts.map +1 -0
  119. package/dist/hooks/swap/prices/delta/orders/unposted/const.js +8 -0
  120. package/dist/hooks/swap/prices/delta/orders/unposted/const.js.map +1 -0
  121. package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts +2 -0
  122. package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts.map +1 -0
  123. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js +28 -0
  124. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -0
  125. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +8 -0
  126. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -0
  127. package/dist/hooks/swap/prices/delta/orders/unposted/index.js +34 -0
  128. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -0
  129. package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts +8 -0
  130. package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts.map +1 -0
  131. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +47 -0
  132. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -0
  133. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +16 -0
  134. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -0
  135. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -0
  136. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -0
  137. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +103 -0
  138. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -0
  139. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +7 -0
  140. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  141. package/dist/hooks/swap/prices/delta/orders/utils.js +10 -4
  142. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  143. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +9 -4
  144. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  145. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +19 -1
  146. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  147. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -0
  148. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  149. package/dist/hooks/swap/prices/factory.d.ts +7 -0
  150. package/dist/hooks/swap/prices/factory.d.ts.map +1 -0
  151. package/dist/hooks/swap/prices/factory.js +35 -0
  152. package/dist/hooks/swap/prices/factory.js.map +1 -0
  153. package/dist/hooks/swap/prices/market/queries/errors.d.ts +8 -3
  154. package/dist/hooks/swap/prices/market/queries/errors.d.ts.map +1 -1
  155. package/dist/hooks/swap/prices/market/queries/errors.js +7 -3
  156. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  157. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  158. package/dist/hooks/swap/prices/usePricesParams.js +2 -1
  159. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  160. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -1
  161. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  162. package/dist/hooks/swap/prices/useSwapPrices.js +107 -64
  163. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  164. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
  165. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  166. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +49 -39
  167. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  168. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  169. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +17 -9
  170. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  171. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  172. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +21 -35
  173. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  174. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  175. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +17 -5
  176. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  177. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +1 -0
  178. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  179. package/dist/hooks/useSDK.js +2 -34
  180. package/dist/hooks/useSDK.js.map +1 -1
  181. package/dist/lib/utils/priceImpact.d.ts +5 -1
  182. package/dist/lib/utils/priceImpact.d.ts.map +1 -1
  183. package/dist/lib/utils/priceImpact.js +1 -1
  184. package/dist/lib/utils/priceImpact.js.map +1 -1
  185. package/dist/lib/web3/privy/config.js +1 -1
  186. package/dist/lib/web3/wagmi/config.js +1 -1
  187. package/dist/styles.css +1 -1
  188. package/dist/tokens/constants.d.ts.map +1 -1
  189. package/dist/tokens/constants.js +9 -9
  190. package/dist/tokens/constants.js.map +1 -1
  191. package/dist/tokens/defaultTokens.js +17 -17
  192. package/dist/tokens/defaultTokens.js.map +1 -1
  193. package/dist/tokens/lists/constants.d.ts +1 -1
  194. package/dist/tokens/lists/constants.d.ts.map +1 -1
  195. package/dist/tokens/lists/constants.js +1 -1
  196. package/dist/tokens/lists/constants.js.map +1 -1
  197. package/dist/tokens/lists/lists.json.d.ts +78 -17
  198. package/dist/tokens/lists/lists.json.js +1 -337
  199. package/dist/tokens/lists/lists.json.js.map +1 -1
  200. package/dist/tokens/state/importedTokensAtom.d.ts +1 -1
  201. package/dist/transactions/state/transactionsAtom.d.ts +2 -1
  202. package/dist/transactions/state/transactionsAtom.d.ts.map +1 -1
  203. package/dist/transactions/state/transactionsAtom.js +6 -2
  204. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  205. package/dist/transactions/types.d.ts +1 -0
  206. package/dist/transactions/types.d.ts.map +1 -1
  207. package/dist/transactions/utils.d.ts +2 -1
  208. package/dist/transactions/utils.d.ts.map +1 -1
  209. package/dist/transactions/utils.js +4 -1
  210. package/dist/transactions/utils.js.map +1 -1
  211. package/package.json +2 -2
  212. package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts +0 -4
  213. package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +0 -1
  214. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts +0 -4
  215. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts.map +0 -1
  216. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js +0 -12
  217. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitOrderFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useLimitOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport { type SubmittedDeltaOrderFromAPI } from \"../prices/delta/queries/useDeltaOrders\";\nimport type { ApprovalFlowResult, SubmitTxResult } from \"./common/types\";\nimport {\n useCreateAndSubmitDeltaOrder,\n type CreateAndSubmitDeltaOrderInput,\n} from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\n\nimport { useLogger } from \"@/core/logger\";\n\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useLimitDeadline } from \"@/core/limit/state/deadlineAtom\";\n\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport {\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatch,\n usePreSignAndSubmitDeltaOrder,\n} from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport type { BridgePrice, DeltaOrderApiResponse } from \"@velora-dex/sdk\";\nimport { DEFAULT_DELTA_BRIDGE } from \"../prices/delta/bridge/const\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useDepositAndSubmitDeltaOrder } from \"./common/useDepositAndSubmitDeltaOrder\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\n\nconst limitOrderFlowType = \"limitOrder\";\n\nexport type UserDefinedLimitPrice = {\n srcTokenAddress: string;\n destTokenAddress: string;\n srcAmount: string;\n destAmount: string;\n bridgePrice?: BridgePrice;\n};\n\nexport type UseLimitOrderFlowInput = {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport type SubmitLimitOrderResult = {\n tradeFlowType: typeof limitOrderFlowType;\n approve: SubmitTxResult;\n limitOrder: {\n sentOrder: SubmittedDeltaOrderFromAPI;\n };\n limitPrice: UserDefinedLimitPrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunLimitOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseLimitOrderFlowResult = {\n tradeFlowType: typeof limitOrderFlowType;\n chainId: SupportedChainId;\n runLimitOrderFlow: (\n options?: RunLimitOrderOptions\n ) => Promise<SubmitLimitOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunLimitOrderOptions\n ) => Promise<SubmitLimitOrderResult>; // reset and retry flow\n cancelLimitOrder: () => Promise<TransactionReceipt | CancelDeltaOrdersReturn>;\n approval: ApprovalFlowResult;\n limitOrderSubmission: {\n order?: SubmittedDeltaOrderFromAPI;\n isPostingOrder: boolean;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n limitOrderExecution: {\n sentOrder?: SubmittedDeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n limitOrderCancelation: {\n receipt?: TransactionReceipt;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitLimitOrderResult;\n limitPrice?: UserDefinedLimitPrice;\n};\n\nconst LIMIT_ORDER_MUTATION_KEY = \"runLimitOrderFlow\";\n\nexport function useLimitOrderFlow({\n limitPrice,\n}: UseLimitOrderFlowInput): UseLimitOrderFlowResult {\n const logger = useLogger(\"LimitOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 3. await Approve tx\n */\n\n const {\n approval,\n approveTxMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: limitPrice?.srcTokenAddress,\n srcAmount: limitPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: \"SELL\",\n tradeMode: \"limit\",\n chainId,\n });\n\n /* 4.1. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createAndSubmitOrderMut = useCreateAndSubmitDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Limit Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Limit Order error\", error);\n },\n },\n });\n\n const limitOrderCreateAndSubmit: UseLimitOrderFlowResult[\"limitOrderSubmission\"] =\n {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Delta pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset: resetPreSignAndSubmitDeltaOrder,\n } = usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n deltaOrderDeposit,\n reset: resetDepositAndSubmitDeltaOrder,\n depositAndSubmitDeltaOrder: depositAndSubmitDeltaOrder,\n } = useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Delta Order submission for step 4 */\n const limitOrderSubmission: UseLimitOrderFlowResult[\"limitOrderSubmission\"] =\n {\n order:\n limitOrderCreateAndSubmit.order ||\n deltaOrderPreSign.order ||\n deltaOrderDeposit.order,\n isPostingOrder:\n limitOrderCreateAndSubmit.isPostingOrder ||\n deltaOrderPreSign.postingOrder.isPostingOrder ||\n deltaOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n limitOrderCreateAndSubmit.isCreatingOrder ||\n deltaOrderPreSign.isCreatingOrder ||\n deltaOrderDeposit.isCreatingOrder,\n isOrderSent:\n limitOrderCreateAndSubmit.isOrderSent ||\n deltaOrderPreSign.isOrderSent ||\n deltaOrderDeposit.isOrderSent,\n isPending:\n limitOrderCreateAndSubmit.isPending ||\n deltaOrderPreSign.isPending ||\n deltaOrderDeposit.isPending,\n isError:\n limitOrderCreateAndSubmit.isError ||\n deltaOrderPreSign.isError ||\n deltaOrderDeposit.isError,\n isSuccess:\n limitOrderCreateAndSubmit.isSuccess ||\n deltaOrderPreSign.isSuccess ||\n deltaOrderDeposit.isSuccess,\n error:\n limitOrderCreateAndSubmit.error ||\n deltaOrderPreSign.error ||\n deltaOrderDeposit.error,\n };\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: limitOrderSubmission.order?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Limit Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Limit Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Limit Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n logger.log(\"Limit Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const limitOrderExecution: UseLimitOrderFlowResult[\"limitOrderExecution\"] = {\n sentOrder: limitOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: limitOrderExecution.lastOrderState || limitOrderExecution.sentOrder,\n chainId,\n account,\n client: minClient,\n logger,\n });\n\n const limitOrderCancelation: UseLimitOrderFlowResult[\"limitOrderCancelation\"] =\n {\n receipt: cancelOrderMut.receipt,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable: cancelOrderMut.isOrderCancellable,\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const { partner } = usePartner();\n const receiverAddress = useLimitReceiverAddressValue();\n const deadline = useLimitDeadline();\n\n const { onLimitOrder } = useWidgetEvents();\n\n const submitLimitOrder = async ({\n onTxSent,\n }: RunLimitOrderOptions = {}): Promise<SubmitLimitOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n\n // no sense in starting flow without a price data,\n // Otherwise this flow will be stopped by disabling ReviewOrder button in the first place\n assert(limitPrice, \"Limit price data is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(limitPrice.srcTokenAddress);\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, no Permit for Limit Orders)\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const {\n shouldDoApprovalTxOrPermit: shouldDoApprovalTx,\n shouldPreSignBatch,\n } = shouldApproveOrBatch({\n approval,\n signPermit: {\n isPermitSupported: false,\n isPermitReadyToSign: false,\n },\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTx && allowanceToSet) {\n try {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } catch (error) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n assert(limitPrice, \"limitPrice is not available\");\n\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:request\",\n params: {\n price: limitPrice,\n },\n },\n });\n const bridgePrice = limitPrice.bridgePrice;\n const destChainId = bridgePrice?.bridge.destinationChainId;\n\n let createOrderInput: CreateAndSubmitDeltaOrderInput;\n if (bridgePrice) {\n // crosschain order\n createOrderInput = {\n signal,\n type: \"LIMIT\",\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: limitPrice.srcTokenAddress,\n destToken: limitPrice.destTokenAddress,\n srcAmount: limitPrice.srcAmount,\n destAmount: limitPrice.destAmount,\n destChainId,\n deltaPrice: {\n ...bridgePrice,\n bridge: {\n ...bridgePrice.bridge,\n protocolSelector: DEFAULT_DELTA_BRIDGE.protocolSelector,\n protocolData: DEFAULT_DELTA_BRIDGE.protocolData,\n },\n partner,\n partnerFee: 0,\n },\n partner,\n deadline,\n },\n };\n } else {\n // singlechain order\n createOrderInput = {\n signal,\n type: \"LIMIT\",\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: limitPrice.srcTokenAddress,\n srcAmount: limitPrice.srcAmount,\n destToken: limitPrice.destTokenAddress,\n destAmount: limitPrice.destAmount,\n destChainId,\n deltaPrice: {\n destToken: limitPrice.destTokenAddress,\n destAmount: limitPrice.destAmount,\n srcAmount: limitPrice.srcAmount,\n bridge: DEFAULT_DELTA_BRIDGE,\n partner,\n partnerFee: 0,\n },\n partner,\n deadline,\n },\n };\n }\n\n let orderFromAPI: DeltaOrderApiResponse;\n\n if (shouldDepositAndPreSign) {\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitDeltaOrder({\n createDeltaOrderInput: createOrderInput,\n depositAmount: createOrderInput.orderInput.srcAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // creating signing and POSTing the Order all together in one mutation\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 orderFromAPI = await preSignAndSubmitDeltaOrder({\n createDeltaOrderInput: createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:sent\",\n params: {\n price: limitPrice,\n order: orderFromAPI,\n },\n },\n });\n\n return {\n tradeFlowType: limitOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n limitOrder: {\n sentOrder: orderFromAPI,\n },\n limitPrice: limitPrice,\n account,\n receiverAddress,\n };\n } catch (error) {\n logger.error(\"Order submission error\", error);\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:failed\",\n params: {\n price: limitPrice,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n const cancelLimitOrder = cancelOrderMut.cancelDeltaOrder;\n\n const limitOrderMut = useMutation({\n mutationFn: submitLimitOrder,\n mutationKey: [LIMIT_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Order submission success\", data);\n },\n onError: (error) => {\n logger.error(\"Order submission error\", error);\n },\n onSettled: () => {\n logger.log(\"Order submission settled\");\n },\n });\n\n const runLimitOrderFlow = limitOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n createAndSubmitOrderMut.reset();\n limitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n };\n\n const retryFlow = (\n options?: RunLimitOrderOptions\n ): Promise<SubmitLimitOrderResult> => {\n reset();\n return runLimitOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: limitOrderFlowType,\n chainId,\n runLimitOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelLimitOrder,\n approval,\n limitOrderSubmission,\n limitOrderExecution,\n limitOrderCancelation,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: limitOrderMut.isPending,\n isSuccess: limitOrderSubmission.isSuccess, // approval is an optional step\n isError: limitOrderMut.isError,\n error: limitOrderMut.error,\n result: limitOrderMut.data,\n limitPrice,\n };\n}\n"],"names":["limitOrderFlowType","LIMIT_ORDER_MUTATION_KEY","useLimitOrderFlow","limitPrice","logger","useLogger","chainId","useChainId","approval","approveTxMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcTokenAddress","srcAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","createAndSubmitOrderMut","useCreateAndSubmitDeltaOrder","client","mutationOptions","onSuccess","order","log","onError","error","limitOrderCreateAndSubmit","isCreatingOrder","isPostingOrder","isOrderSent","isPending","isError","isSuccess","deltaOrderPreSign","canBatchTxs","isConnectedToSafe","preSignAndSubmitDeltaOrder","reset","resetPreSignAndSubmitDeltaOrder","usePreSignAndSubmitDeltaOrder","viemClient","deltaOrderDeposit","resetDepositAndSubmitDeltaOrder","depositAndSubmitDeltaOrder","useDepositAndSubmitDeltaOrder","limitOrderSubmission","postingOrder","watchOrderExecution","useWatchDeltaAuction","orderId","id","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","orderStatus","data","getOverallOrderStatus","neverFetchedFinishedOrder","limitOrderExecution","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","isLoading","isRefetching","cancelOrderMut","useCancelOrWithdrawAndCancelDeltaOrder","limitOrderCancelation","receipt","isCancelingOrder","isOrderCancellable","isOrderCanceled","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","partner","usePartner","receiverAddress","useLimitReceiverAddressValue","deadline","useLimitDeadline","onLimitOrder","useWidgetEvents","submitLimitOrder","onTxSent","assert","abortController","AbortController","signal","approveTxHash","approveTxReceipt","allowanceToSet","shouldDepositAndPreSign","isETHaddress","shouldDoApprovalTxOrPermit","shouldDoApprovalTx","shouldPreSignBatch","shouldApproveOrBatch","signPermit","isPermitSupported","isPermitReadyToSign","onApproveTx","request","approveAsync","allowanceData","sent","txHash","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","failed","event","name","params","price","bridgePrice","destChainId","bridge","destinationChainId","createOrderInput","type","orderInput","owner","beneficiary","destToken","destTokenAddress","destAmount","deltaPrice","protocolSelector","DEFAULT_DELTA_BRIDGE","protocolData","partnerFee","orderFromAPI","createDeltaOrderInput","depositAmount","mutateAsync","tradeFlowType","approve","limitOrder","cancelLimitOrder","cancelDeltaOrder","limitOrderMut","useMutation","mutationFn","mutationKey","onSettled","runLimitOrderFlow","retryFlow","options","result"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitOrderFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useLimitOrderFlow.ts"],"sourcesContent":["import { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport { type SubmittedDeltaOrderFromAPI } from \"../prices/delta/queries/useDeltaOrders\";\nimport type { ApprovalFlowResult, SubmitTxResult } from \"./common/types\";\nimport {\n useCreateAndSubmitDeltaOrder,\n type CreateAndSubmitDeltaOrderInput,\n} from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\n\nimport { useLogger } from \"@/core/logger\";\n\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useLimitDeadline } from \"@/core/limit/state/deadlineAtom\";\n\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport {\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport {\n shouldApproveOrBatch,\n usePreSignAndSubmitDeltaOrder,\n} from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport type { BridgePrice, DeltaOrderApiResponse } from \"@velora-dex/sdk\";\nimport { DEFAULT_DELTA_BRIDGE } from \"../prices/delta/bridge/const\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useDepositAndSubmitDeltaOrder } from \"./common/useDepositAndSubmitDeltaOrder\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\n\nconst limitOrderFlowType = \"limitOrder\";\n\nexport type UserDefinedLimitPrice = {\n srcTokenAddress: string;\n destTokenAddress: string;\n srcAmount: string;\n destAmount: string;\n bridgePrice?: BridgePrice;\n};\n\nexport type UseLimitOrderFlowInput = {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport type SubmitLimitOrderResult = {\n tradeFlowType: typeof limitOrderFlowType;\n approve: SubmitTxResult;\n limitOrder: {\n sentOrder: SubmittedDeltaOrderFromAPI;\n };\n limitPrice: UserDefinedLimitPrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunLimitOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\nexport type UseLimitOrderFlowResult = {\n tradeFlowType: typeof limitOrderFlowType;\n chainId: SupportedChainId;\n runLimitOrderFlow: (\n options?: RunLimitOrderOptions\n ) => Promise<SubmitLimitOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunLimitOrderOptions\n ) => Promise<SubmitLimitOrderResult>; // reset and retry flow\n cancelLimitOrder: () => Promise<TransactionReceipt | CancelDeltaOrdersReturn>;\n approval: ApprovalFlowResult;\n limitOrderSubmission: {\n order?: SubmittedDeltaOrderFromAPI;\n isPostingOrder: boolean;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n limitOrderExecution: {\n sentOrder?: SubmittedDeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n limitOrderCancelation: {\n receipt?: TransactionReceipt;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitLimitOrderResult;\n limitPrice?: UserDefinedLimitPrice;\n};\n\nconst LIMIT_ORDER_MUTATION_KEY = \"runLimitOrderFlow\";\n\nexport function useLimitOrderFlow({\n limitPrice,\n}: UseLimitOrderFlowInput): UseLimitOrderFlowResult {\n const logger = useLogger(\"LimitOrderFlow\");\n const chainId = useChainId();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 3. await Approve tx\n */\n\n const {\n approval,\n approveTxMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: limitPrice?.srcTokenAddress,\n srcAmount: limitPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: \"SELL\",\n tradeMode: \"limit\",\n chainId,\n });\n\n /* 4.1. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createAndSubmitOrderMut = useCreateAndSubmitDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Limit Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Limit Order error\", error);\n },\n },\n });\n\n const limitOrderCreateAndSubmit: UseLimitOrderFlowResult[\"limitOrderSubmission\"] =\n {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Delta pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset: resetPreSignAndSubmitDeltaOrder,\n } = usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n deltaOrderDeposit,\n reset: resetDepositAndSubmitDeltaOrder,\n depositAndSubmitDeltaOrder: depositAndSubmitDeltaOrder,\n } = useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Delta Order submission for step 4 */\n const limitOrderSubmission: UseLimitOrderFlowResult[\"limitOrderSubmission\"] =\n {\n order:\n limitOrderCreateAndSubmit.order ||\n deltaOrderPreSign.order ||\n deltaOrderDeposit.order,\n isPostingOrder:\n limitOrderCreateAndSubmit.isPostingOrder ||\n deltaOrderPreSign.postingOrder.isPostingOrder ||\n deltaOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n limitOrderCreateAndSubmit.isCreatingOrder ||\n deltaOrderPreSign.isCreatingOrder ||\n deltaOrderDeposit.isCreatingOrder,\n isOrderSent:\n limitOrderCreateAndSubmit.isOrderSent ||\n deltaOrderPreSign.isOrderSent ||\n deltaOrderDeposit.isOrderSent,\n isPending:\n limitOrderCreateAndSubmit.isPending ||\n deltaOrderPreSign.isPending ||\n deltaOrderDeposit.isPending,\n isError:\n limitOrderCreateAndSubmit.isError ||\n deltaOrderPreSign.isError ||\n deltaOrderDeposit.isError,\n isSuccess:\n limitOrderCreateAndSubmit.isSuccess ||\n deltaOrderPreSign.isSuccess ||\n deltaOrderDeposit.isSuccess,\n error:\n limitOrderCreateAndSubmit.error ||\n deltaOrderPreSign.error ||\n deltaOrderDeposit.error,\n };\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: limitOrderSubmission.order?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Limit Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Limit Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Limit Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n logger.log(\"Limit Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const limitOrderExecution: UseLimitOrderFlowResult[\"limitOrderExecution\"] = {\n sentOrder: limitOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: limitOrderExecution.lastOrderState || limitOrderExecution.sentOrder,\n chainId,\n account,\n client: minClient,\n logger,\n });\n\n const limitOrderCancelation: UseLimitOrderFlowResult[\"limitOrderCancelation\"] =\n {\n receipt: cancelOrderMut.receipt,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable: cancelOrderMut.isOrderCancellable,\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n };\n\n const { partner } = usePartner();\n const receiverAddress = useLimitReceiverAddressValue();\n const deadline = useLimitDeadline();\n\n const { onLimitOrder } = useWidgetEvents();\n\n const submitLimitOrder = async ({\n onTxSent,\n }: RunLimitOrderOptions = {}): Promise<SubmitLimitOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n\n // no sense in starting flow without a price data,\n // Otherwise this flow will be stopped by disabling ReviewOrder button in the first place\n assert(limitPrice, \"Limit price data is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(limitPrice.srcTokenAddress);\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, no Permit for Limit Orders)\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const {\n shouldDoApprovalTxOrPermit: shouldDoApprovalTx,\n shouldPreSignBatch,\n } = shouldApproveOrBatch({\n approval,\n signPermit: {\n isPermitSupported: false,\n isPermitReadyToSign: false,\n },\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTx && allowanceToSet) {\n try {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } catch (error) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n assert(limitPrice, \"limitPrice is not available\");\n\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:request\",\n params: {\n price: limitPrice,\n },\n },\n });\n const bridgePrice = limitPrice.bridgePrice;\n const destChainId = bridgePrice?.bridge.destinationChainId;\n\n let createOrderInput: CreateAndSubmitDeltaOrderInput;\n if (bridgePrice) {\n // crosschain order\n createOrderInput = {\n signal,\n type: \"LIMIT\",\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: limitPrice.srcTokenAddress,\n destToken: limitPrice.destTokenAddress,\n srcAmount: limitPrice.srcAmount,\n destAmount: limitPrice.destAmount,\n destChainId,\n deltaPrice: {\n ...bridgePrice,\n bridge: {\n ...bridgePrice.bridge,\n protocolSelector: DEFAULT_DELTA_BRIDGE.protocolSelector,\n protocolData: DEFAULT_DELTA_BRIDGE.protocolData,\n },\n partner,\n partnerFee: 0,\n },\n partner,\n deadline,\n },\n };\n } else {\n // singlechain order\n createOrderInput = {\n signal,\n type: \"LIMIT\",\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: limitPrice.srcTokenAddress,\n srcAmount: limitPrice.srcAmount,\n destToken: limitPrice.destTokenAddress,\n destAmount: limitPrice.destAmount,\n destChainId,\n deltaPrice: {\n destToken: limitPrice.destTokenAddress,\n destAmount: limitPrice.destAmount,\n srcAmount: limitPrice.srcAmount,\n bridge: DEFAULT_DELTA_BRIDGE,\n partner,\n partnerFee: 0,\n },\n partner,\n deadline,\n },\n };\n }\n\n let orderFromAPI: DeltaOrderApiResponse;\n\n if (shouldDepositAndPreSign) {\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitDeltaOrder({\n createDeltaOrderInput: createOrderInput,\n depositAmount: createOrderInput.orderInput.srcAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // creating signing and POSTing the Order all together in one mutation\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 orderFromAPI = await preSignAndSubmitDeltaOrder({\n createDeltaOrderInput: createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:sent\",\n params: {\n price: limitPrice,\n order: orderFromAPI,\n },\n },\n });\n\n return {\n tradeFlowType: limitOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n limitOrder: {\n sentOrder: orderFromAPI,\n },\n limitPrice: limitPrice,\n account,\n receiverAddress,\n };\n } catch (error) {\n logger.error(\"Order submission error\", error);\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:failed\",\n params: {\n price: limitPrice,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n const cancelLimitOrder = cancelOrderMut.cancelDeltaOrder;\n\n const limitOrderMut = useMutation({\n mutationFn: submitLimitOrder,\n mutationKey: [LIMIT_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Order submission success\", data);\n },\n onError: (error) => {\n logger.error(\"Order submission error\", error);\n },\n onSettled: () => {\n logger.log(\"Order submission settled\");\n },\n });\n\n const runLimitOrderFlow = limitOrderMut.mutateAsync;\n\n const reset = () => {\n approveTxMut.reset();\n createAndSubmitOrderMut.reset();\n limitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitDeltaOrder();\n resetDepositAndSubmitDeltaOrder();\n };\n\n const retryFlow = (\n options?: RunLimitOrderOptions\n ): Promise<SubmitLimitOrderResult> => {\n reset();\n return runLimitOrderFlow(options);\n };\n\n /* 5. return result */\n return {\n tradeFlowType: limitOrderFlowType,\n chainId,\n runLimitOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelLimitOrder,\n approval,\n limitOrderSubmission,\n limitOrderExecution,\n limitOrderCancelation,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: limitOrderMut.isPending,\n isSuccess: limitOrderSubmission.isSuccess, // approval is an optional step\n isError: limitOrderMut.isError,\n error: limitOrderMut.error,\n result: limitOrderMut.data,\n limitPrice,\n };\n}\n"],"names":["limitOrderFlowType","LIMIT_ORDER_MUTATION_KEY","useLimitOrderFlow","limitPrice","logger","useLogger","chainId","useChainId","approval","approveTxMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcTokenAddress","srcAmount","spenderContractType","swapSide","tradeMode","address","account","useAccount","minClient","useMinViemClient","createAndSubmitOrderMut","useCreateAndSubmitDeltaOrder","client","mutationOptions","onSuccess","order","log","onError","error","limitOrderCreateAndSubmit","isCreatingOrder","isPostingOrder","isOrderSent","isPending","isError","isSuccess","deltaOrderPreSign","canBatchTxs","isConnectedToSafe","preSignAndSubmitDeltaOrder","reset","resetPreSignAndSubmitDeltaOrder","usePreSignAndSubmitDeltaOrder","viemClient","deltaOrderDeposit","resetDepositAndSubmitDeltaOrder","depositAndSubmitDeltaOrder","useDepositAndSubmitDeltaOrder","limitOrderSubmission","postingOrder","watchOrderExecution","useWatchDeltaAuction","orderId","id","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","orderStatus","data","getOverallOrderStatus","neverFetchedFinishedOrder","limitOrderExecution","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","isLoading","isRefetching","cancelOrderMut","useCancelOrWithdrawAndCancelDeltaOrder","limitOrderCancelation","receipt","isCancelingOrder","isOrderCancellable","isOrderCanceled","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","cancelFlow","current","abort","UserCancelledError","partner","usePartner","receiverAddress","useLimitReceiverAddressValue","deadline","useLimitDeadline","onLimitOrder","useWidgetEvents","submitLimitOrder","onTxSent","assert","abortController","AbortController","signal","approveTxHash","approveTxReceipt","allowanceToSet","shouldDepositAndPreSign","isETHaddress","shouldDoApprovalTxOrPermit","shouldDoApprovalTx","shouldPreSignBatch","shouldApproveOrBatch","signPermit","isPermitSupported","isPermitReadyToSign","onApproveTx","request","approveAsync","allowanceData","sent","txHash","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","approvedAmount","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","failed","event","name","params","price","bridgePrice","destChainId","bridge","destinationChainId","createOrderInput","type","orderInput","owner","beneficiary","destToken","destTokenAddress","destAmount","deltaPrice","protocolSelector","DEFAULT_DELTA_BRIDGE","protocolData","partnerFee","orderFromAPI","createDeltaOrderInput","depositAmount","mutateAsync","tradeFlowType","approve","limitOrder","cancelLimitOrder","cancelDeltaOrder","limitOrderMut","useMutation","mutationFn","mutationKey","onSettled","runLimitOrderFlow","retryFlow","options","result"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios';
2
2
  import { useMemo } from 'react';
3
- import { constructPartialSDK, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructViemContractCaller, constructCancelDeltaOrder, constructSignDeltaOrder, constructPreSignDeltaOrder, constructDeltaTokenModule, constructGetRate, constructGetSpender, constructBuildTx, constructAxiosFetcher, constructFillOrderDirectly, constructGetLimitOrders, constructBuildLimitOrder, constructPostLimitOrder, constructAllLimitOrdersHandlers, constructFetchFetcher } from '@velora-dex/sdk';
3
+ import { constructPartialSDK, constructGetDeltaOrders, constructGetDeltaPrice, constructBuildDeltaOrder, constructPostDeltaOrder, constructGetBridgeInfo, constructIsTokenSupportedInDelta, constructViemContractCaller, constructCancelDeltaOrder, constructSignDeltaOrder, constructPreSignDeltaOrder, constructDeltaTokenModule, constructGetRate, constructGetSpender, constructBuildTx, constructAxiosFetcher, constructFillOrderDirectly, constructGetLimitOrders, constructBuildLimitOrder, constructPostLimitOrder, constructAllLimitOrdersHandlers } from '@velora-dex/sdk';
4
4
  import { encodeFunctionData } from 'viem';
5
5
  import { getLogger } from '../core/logger.js';
6
6
  import { getApiURL } from '../lib/constants/urls.js';
@@ -13,17 +13,6 @@ function useSDKFetcher() {
13
13
  return constructAxiosFetcher(axios, apiConfig);
14
14
  }, [apiConfig]);
15
15
  }
16
- function useKeepAliveSDKFetcher() {
17
- "use no memo";
18
- const apiConfig = useApiConfig();
19
- return useMemo(() => {
20
- if (typeof window === "undefined") return;
21
- return constructFetchFetcher(window.fetch, {
22
- ...apiConfig,
23
- keepalive: true
24
- });
25
- }, [apiConfig]);
26
- }
27
16
  function useMarketSwapSDK({
28
17
  chainId,
29
18
  apiURL
@@ -100,27 +89,6 @@ const constructCalldataContractCaller = () => {
100
89
  signTypedDataCall: staticCall
101
90
  };
102
91
  };
103
- const useFetchOnlySDK = ({
104
- chainId,
105
- apiURL
106
- }) => {
107
- "use no memo";
108
- const fetcher = useKeepAliveSDKFetcher();
109
- const sdk = useMemo(() => {
110
- if (!fetcher) return;
111
- return constructPartialSDK({
112
- apiURL: apiURL ?? getApiURL(),
113
- chainId,
114
- fetcher
115
- }, constructPostDeltaOrder);
116
- }, [apiURL, chainId, fetcher]);
117
- return {
118
- appVersion: sdk?.version,
119
- chainId: sdk?.chainId,
120
- apiURL: sdk?.apiURL,
121
- sdk
122
- };
123
- };
124
92
  const calldataSDKLogger = getLogger("CalldataSDK");
125
93
  const useCalldataSDK = ({
126
94
  chainId,
@@ -181,5 +149,5 @@ function useDeltaSDK({
181
149
  };
182
150
  }
183
151
 
184
- export { useCalldataSDK, useDeltaSDK, useFetchOnlySDK, useLimitOrdersSDK, useMarketSwapSDK };
152
+ export { useCalldataSDK, useDeltaSDK, useLimitOrdersSDK, useMarketSwapSDK };
185
153
  //# sourceMappingURL=useSDK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSDK.js","sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructFetchFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPreSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructDeltaTokenModule,\n constructViemContractCaller,\n type LimitOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type GetDeltaOrdersFunctions,\n type GetDeltaPriceFunctions,\n type PostDeltaOrderFunctions,\n type BuildDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n type PreSignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder,\n constructFillOrderDirectly,\n type GetLimitOrdersFunctions,\n type BuildLimitOrderFunctions,\n type PostLimitOrderFunctions,\n type FillOrderDirectlyFunctions,\n type ContractCallerFunctions,\n type DeltaTokenModuleFunctions,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { getLogger } from \"@/core/logger\";\nimport { getApiURL } from \"@/lib/constants/urls\";\nimport { useApiConfig } from \"@/core/state/apiConfigAtom\";\n\nfunction useSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n return constructAxiosFetcher(axios, apiConfig);\n }, [apiConfig]);\n}\n\nfunction useKeepAliveSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n if (typeof window === \"undefined\") return;\n return constructFetchFetcher(window.fetch, {\n ...apiConfig,\n keepalive: true,\n });\n }, [apiConfig]);\n}\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions & BuildTxFunctions & GetRateFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructBuildTx\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype LimitOrdersSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\ntype ReadOnlyLimitOrdersSDK = Prettify<\n GetLimitOrdersFunctions & BuildLimitOrderFunctions & PostLimitOrderFunctions\n>;\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n\nconst limitSDKLogger = getLogger(\"LimitOrdersSDK\");\n\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyLimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<LimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n limitSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllLimitOrdersHandlers\n );\n }, [client, account, apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\n// can be used to POST final data before page is closed\nexport const useFetchOnlySDK = ({\n chainId,\n apiURL,\n}: SDKCreateParams): Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>> => {\n \"use no memo\";\n\n // fetch, unlike axios allows for `keepalive` parameter,\n // so we can use it to keep the request alive a bit after the page is closed.\n // the alternative of using navigator.sendBeacon doesn't work with API because it includes credentials=always\n // which is incompatible with API CORS settings\n const fetcher = useKeepAliveSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!fetcher) return;\n\n return constructPartialSDK(\n {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nconst calldataSDKLogger = getLogger(\"CalldataSDK\");\n\nexport const useCalldataSDK = ({\n chainId,\n apiURL,\n client,\n}: Omit<LimitOrdersSDKCreateParams, \"account\">): Partial<\n ConstructedSDKOutput<\n FillOrderDirectlyFunctions<Hex> &\n PreSignDeltaOrderFunctions<Hex> &\n BuildDeltaOrderFunctions\n >\n> => {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!client) return;\n calldataSDKLogger.once.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructFillOrderDirectly,\n constructPreSignDeltaOrder,\n constructBuildDeltaOrder\n );\n }, [apiURL, chainId, client, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaOrdersFunctions &\n GetDeltaPriceFunctions &\n BuildDeltaOrderFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK &\n SignDeltaOrderFunctions &\n CancelDeltaOrderFunctions &\n PreSignDeltaOrderFunctions<Hash> &\n DeltaTokenModuleFunctions<Hash>\n>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nconst deltaSDKLogger = getLogger(\"DeltaSDK\");\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK> {\n \"use no memo\";\n // react-compiler fails here and sdk is created anew\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n deltaSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructSignDeltaOrder,\n constructPreSignDeltaOrder,\n constructDeltaTokenModule\n );\n }, [apiURL, chainId, client, account, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"names":["useSDKFetcher","apiConfig","useApiConfig","useMemo","constructAxiosFetcher","axios","useKeepAliveSDKFetcher","window","constructFetchFetcher","fetch","keepalive","useMarketSwapSDK","chainId","apiURL","fetcher","sdk","SDKconfig","getApiURL","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","limitSDKLogger","getLogger","useLimitOrdersSDK","account","client","once","log","constructGetLimitOrders","constructBuildLimitOrder","constructPostLimitOrder","contractCaller","constructViemContractCaller","constructAllLimitOrdersHandlers","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","encodeFunctionData","staticCall","Error","signTypedDataCall","useFetchOnlySDK","constructPostDeltaOrder","calldataSDKLogger","useCalldataSDK","constructFillOrderDirectly","constructPreSignDeltaOrder","constructBuildDeltaOrder","deltaSDKLogger","useDeltaSDK","constructGetDeltaOrders","constructGetDeltaPrice","constructGetBridgeInfo","constructIsTokenSupportedInDelta","constructCancelDeltaOrder","constructSignDeltaOrder","constructDeltaTokenModule"],"mappings":"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"}
1
+ {"version":3,"file":"useSDK.js","sources":["../../src/hooks/useSDK.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useMemo } from \"react\";\n\nimport {\n constructAxiosFetcher,\n constructFetchFetcher,\n constructPartialSDK,\n constructGetSpender,\n constructBuildTx,\n constructAllLimitOrdersHandlers,\n constructGetRate,\n constructGetDeltaPrice,\n constructGetDeltaOrders,\n constructBuildDeltaOrder,\n constructSignDeltaOrder,\n constructPreSignDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructDeltaTokenModule,\n constructViemContractCaller,\n type LimitOrderHandlers,\n type GetRateFunctions,\n type APIVersion,\n type GetDeltaOrdersFunctions,\n type GetDeltaPriceFunctions,\n type PostDeltaOrderFunctions,\n type BuildDeltaOrderFunctions,\n type SignDeltaOrderFunctions,\n type PreSignDeltaOrderFunctions,\n type CancelDeltaOrderFunctions,\n type GetBridgeInfoFunctions,\n type IsTokenSupportedInDeltaFunctions,\n type BuildTxFunctions,\n type GetSpenderFunctions,\n type MinViemClient,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder,\n constructFillOrderDirectly,\n type GetLimitOrdersFunctions,\n type BuildLimitOrderFunctions,\n type PostLimitOrderFunctions,\n type FillOrderDirectlyFunctions,\n type ContractCallerFunctions,\n type DeltaTokenModuleFunctions,\n} from \"@velora-dex/sdk\";\nimport { encodeFunctionData, type Address, type Hash, type Hex } from \"viem\";\nimport type { Prettify } from \"ts-essentials\";\nimport { getLogger } from \"@/core/logger\";\nimport { getApiURL } from \"@/lib/constants/urls\";\nimport { useApiConfig } from \"@/core/state/apiConfigAtom\";\n\nfunction useSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n return constructAxiosFetcher(axios, apiConfig);\n }, [apiConfig]);\n}\n\nfunction useKeepAliveSDKFetcher() {\n \"use no memo\";\n\n const apiConfig = useApiConfig();\n\n return useMemo(() => {\n if (typeof window === \"undefined\") return;\n return constructFetchFetcher(window.fetch, {\n ...apiConfig,\n keepalive: true,\n });\n }, [apiConfig]);\n}\n\ntype SDKCreateParams = {\n chainId: number;\n apiURL?: string;\n account?: Address;\n};\n\nexport type MarketSwapSDK = Prettify<\n GetSpenderFunctions & BuildTxFunctions & GetRateFunctions\n>;\n\ntype ConstructedSDKOutput<T> = {\n sdk: T;\n appVersion: APIVersion;\n chainId: number;\n apiURL: string;\n};\n\nexport function useMarketSwapSDK({\n chainId,\n apiURL,\n}: SDKCreateParams): ConstructedSDKOutput<MarketSwapSDK> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructGetRate,\n constructGetSpender,\n constructBuildTx\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\ntype LimitOrdersSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\ntype ReadOnlyLimitOrdersSDK = Prettify<\n GetLimitOrdersFunctions & BuildLimitOrderFunctions & PostLimitOrderFunctions\n>;\n\nexport type LimitOrdersSDK = Prettify<LimitOrderHandlers<Hash>>;\n\nconst limitSDKLogger = getLogger(\"LimitOrdersSDK\");\n\n// can paraswap.fillOrder from a taker address to simulate happy path\n// @TODO check that we always use correct SDK version\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyLimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<LimitOrdersSDK>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n>;\nexport function useLimitOrdersSDK({\n chainId,\n apiURL,\n account,\n client,\n}: LimitOrdersSDKCreateParams): ConstructedSDKOutput<\n LimitOrdersSDK | ReadOnlyLimitOrdersSDK\n> {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n limitSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetLimitOrders,\n constructBuildLimitOrder,\n constructPostLimitOrder\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructAllLimitOrdersHandlers\n );\n }, [client, account, apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n\n// ContractCaller that returns Contract[method](args) calldata instead of sending out a transaction\ntype CalldataContractCaller = ContractCallerFunctions<Hex>;\n\nconst constructCalldataContractCaller = (): CalldataContractCaller => {\n const transactCall: CalldataContractCaller[\"transactCall\"] = async (\n params\n ) => {\n const { abi, contractMethod: functionName, args } = params;\n const calldata = encodeFunctionData<typeof abi, string>({\n abi,\n functionName,\n args,\n });\n return calldata;\n };\n\n // won't be used, but needed for types\n const staticCall = () => {\n throw new Error(\"Not implemented\");\n };\n\n return {\n transactCall,\n staticCall,\n signTypedDataCall: staticCall,\n };\n};\n\n// can be used to POST final data before page is closed\nexport const useFetchOnlySDK = ({\n chainId,\n apiURL,\n}: SDKCreateParams): Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>> => {\n \"use no memo\";\n\n // fetch, unlike axios allows for `keepalive` parameter,\n // so we can use it to keep the request alive a bit after the page is closed.\n // the alternative of using navigator.sendBeacon doesn't work with API because it includes credentials=always\n // which is incompatible with API CORS settings\n const fetcher = useKeepAliveSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!fetcher) return;\n\n return constructPartialSDK(\n {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n },\n constructPostDeltaOrder\n );\n }, [apiURL, chainId, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\nconst calldataSDKLogger = getLogger(\"CalldataSDK\");\n\nexport const useCalldataSDK = ({\n chainId,\n apiURL,\n client,\n}: Omit<LimitOrdersSDKCreateParams, \"account\">): Partial<\n ConstructedSDKOutput<\n FillOrderDirectlyFunctions<Hex> &\n PreSignDeltaOrderFunctions<Hex> &\n BuildDeltaOrderFunctions\n >\n> => {\n \"use no memo\";\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n if (!client) return;\n calldataSDKLogger.once.log(\"init sdk\");\n\n const contractCaller = constructCalldataContractCaller();\n\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n contractCaller,\n };\n\n return constructPartialSDK(\n SDKconfig,\n constructFillOrderDirectly,\n constructPreSignDeltaOrder,\n constructBuildDeltaOrder\n );\n }, [apiURL, chainId, client, fetcher]);\n\n return {\n appVersion: sdk?.version,\n chainId: sdk?.chainId,\n apiURL: sdk?.apiURL,\n sdk,\n };\n};\n\ntype ReadOnlyDeltaSDK = Prettify<\n GetDeltaOrdersFunctions &\n GetDeltaPriceFunctions &\n BuildDeltaOrderFunctions &\n PostDeltaOrderFunctions &\n GetBridgeInfoFunctions &\n IsTokenSupportedInDeltaFunctions & { chainId: number }\n>;\n\nexport type DeltaSDK = Prettify<\n ReadOnlyDeltaSDK &\n SignDeltaOrderFunctions &\n CancelDeltaOrderFunctions &\n PreSignDeltaOrderFunctions<Hash> &\n DeltaTokenModuleFunctions<Hash>\n>;\n\ntype DeltaSDKCreateParams = SDKCreateParams & {\n client?: MinViemClient;\n};\n\nconst deltaSDKLogger = getLogger(\"DeltaSDK\");\n\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account?: undefined;\n client?: undefined;\n}): ConstructedSDKOutput<ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams & {\n account: Address;\n client: MinViemClient;\n}): ConstructedSDKOutput<DeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK>;\nexport function useDeltaSDK({\n chainId,\n apiURL,\n account,\n client,\n}: DeltaSDKCreateParams): ConstructedSDKOutput<DeltaSDK | ReadOnlyDeltaSDK> {\n \"use no memo\";\n // react-compiler fails here and sdk is created anew\n\n const fetcher = useSDKFetcher();\n\n const sdk = useMemo(() => {\n deltaSDKLogger.once.log(\"init sdk\");\n const SDKconfig = {\n apiURL: apiURL ?? getApiURL(),\n chainId,\n fetcher,\n };\n\n if (!client || !account) {\n return constructPartialSDK(\n SDKconfig,\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta\n );\n }\n\n const contractCaller = constructViemContractCaller(client, account);\n\n return constructPartialSDK(\n { ...SDKconfig, contractCaller },\n constructGetDeltaOrders,\n constructGetDeltaPrice,\n constructBuildDeltaOrder,\n constructPostDeltaOrder,\n constructCancelDeltaOrder,\n constructGetBridgeInfo,\n constructIsTokenSupportedInDelta,\n constructSignDeltaOrder,\n constructPreSignDeltaOrder,\n constructDeltaTokenModule\n );\n }, [apiURL, chainId, client, account, fetcher]);\n\n return {\n appVersion: sdk.version,\n chainId: sdk.chainId,\n apiURL: sdk.apiURL,\n sdk,\n };\n}\n"],"names":["useSDKFetcher","apiConfig","useApiConfig","useMemo","constructAxiosFetcher","axios","useMarketSwapSDK","chainId","apiURL","fetcher","sdk","SDKconfig","getApiURL","constructPartialSDK","constructGetRate","constructGetSpender","constructBuildTx","appVersion","version","limitSDKLogger","getLogger","useLimitOrdersSDK","account","client","once","log","constructGetLimitOrders","constructBuildLimitOrder","constructPostLimitOrder","contractCaller","constructViemContractCaller","constructAllLimitOrdersHandlers","constructCalldataContractCaller","transactCall","params","abi","contractMethod","functionName","args","calldata","encodeFunctionData","staticCall","Error","signTypedDataCall","calldataSDKLogger","useCalldataSDK","constructFillOrderDirectly","constructPreSignDeltaOrder","constructBuildDeltaOrder","deltaSDKLogger","useDeltaSDK","constructGetDeltaOrders","constructGetDeltaPrice","constructPostDeltaOrder","constructGetBridgeInfo","constructIsTokenSupportedInDelta","constructCancelDeltaOrder","constructSignDeltaOrder","constructDeltaTokenModule"],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import { default as Big } from 'big.js';
2
2
  export declare function calculatePriceImpactPercent(fromUSD: string, toUSD: string): Big;
3
3
  export type PriceImpactResult = {
4
- priceImpact: number;
4
+ /** @description The price impact in percentage (e.g. 0.5 means 0.5%) */
5
+ priceImpact?: number;
6
+ /** @description The impact is above the high threshold (e.g. 5%) */
5
7
  isHighImpact: boolean;
8
+ /** @description Medium impact means it's above the medium threshold but below the high threshold */
6
9
  isMediumImpact: boolean;
10
+ /** @description Unavailable to calculate due to missing one of the USD prices */
7
11
  isUnavailable: boolean;
8
12
  };
9
13
  export declare function getPriceImpact({ srcUSD, destUSD, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"priceImpact.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/priceImpact.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AAEzB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,GAAG,CAUL;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAKF,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,GAAG,iBAAiB,CAyBpB;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAE1E"}
1
+ {"version":3,"file":"priceImpact.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/priceImpact.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AAEzB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,GAAG,CAUL;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,YAAY,EAAE,OAAO,CAAC;IACtB,oGAAoG;IACpG,cAAc,EAAE,OAAO,CAAC;IACxB,iFAAiF;IACjF,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAKF,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,GAAG,iBAAiB,CAyBpB;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAE1E"}
@@ -21,7 +21,7 @@ function getPriceImpact({
21
21
  );
22
22
  if (impact === null) {
23
23
  return {
24
- priceImpact: 0,
24
+ priceImpact: void 0,
25
25
  isMediumImpact: false,
26
26
  isHighImpact: false,
27
27
  isUnavailable: true
@@ -1 +1 @@
1
- {"version":3,"file":"priceImpact.js","sources":["../../../src/lib/utils/priceImpact.ts"],"sourcesContent":["import Big from \"big.js\";\n\nexport function calculatePriceImpactPercent(\n fromUSD: string,\n toUSD: string\n): Big {\n if (fromUSD === \"0\" || toUSD === \"0\") {\n return new Big(0);\n }\n\n const toBN = Big(toUSD);\n if (toBN.gte(fromUSD)) return Big(0);\n const calculatedImpact = Big(1).minus(toBN.div(fromUSD)).times(100);\n\n return Big(Math.min(calculatedImpact.toNumber(), 100));\n}\n\nexport type PriceImpactResult = {\n priceImpact: number;\n isHighImpact: boolean;\n isMediumImpact: boolean;\n isUnavailable: boolean;\n};\n\nconst MEDIUM_IMPACT_THRESHOLD = 2; // 2%\nconst HIGH_IMPACT_THRESHOLD = 5; // 5%\n\nexport function getPriceImpact({\n srcUSD,\n destUSD,\n}: {\n srcUSD: string | null;\n destUSD: string | null;\n}): PriceImpactResult {\n const impact =\n // can't calc priceImpact without knowing USD prices of tokens\n srcUSD && destUSD ? calculatePriceImpactPercent(srcUSD, destUSD) : null;\n\n if (impact === null) {\n return {\n priceImpact: 0,\n isMediumImpact: false,\n isHighImpact: false,\n isUnavailable: true,\n };\n }\n\n const impactAbsoluteValue = impact.abs();\n\n const isMediumImpact = impactAbsoluteValue.gt(MEDIUM_IMPACT_THRESHOLD);\n const isHighImpact = impactAbsoluteValue.gt(HIGH_IMPACT_THRESHOLD);\n\n return {\n priceImpact: impactAbsoluteValue.toNumber(),\n isMediumImpact: isMediumImpact && !isHighImpact,\n isHighImpact,\n isUnavailable: false,\n };\n}\n\nexport function formatPriceImpactPercent(priceImpact: number): `${string}%` {\n return `${priceImpact.toFixed(2)}%`;\n}\n"],"names":["calculatePriceImpactPercent","fromUSD","toUSD","Big","toBN","gte","calculatedImpact","minus","div","times","Math","min","toNumber","MEDIUM_IMPACT_THRESHOLD","HIGH_IMPACT_THRESHOLD","getPriceImpact","srcUSD","destUSD","impact","priceImpact","isMediumImpact","isHighImpact","isUnavailable","impactAbsoluteValue","abs","gt","formatPriceImpactPercent","toFixed"],"mappings":";;AAEO,SAASA,2BAAAA,CACdC,SACAC,KAAAA,EACK;AACL,EAAA,IAAID,OAAAA,KAAY,GAAA,IAAOC,KAAAA,KAAU,GAAA,EAAK;AACpC,IAAA,OAAO,IAAIC,IAAI,CAAC,CAAA;AAAA,EAClB;AAEA,EAAA,MAAMC,IAAAA,GAAOD,IAAID,KAAK,CAAA;AACtB,EAAA,IAAIE,KAAKC,GAAAA,CAAIJ,OAAO,CAAA,EAAG,OAAOE,IAAI,CAAC,CAAA;AACnC,EAAA,MAAMG,gBAAAA,GAAmBH,GAAAA,CAAI,CAAC,CAAA,CAAEI,KAAAA,CAAMH,IAAAA,CAAKI,GAAAA,CAAIP,OAAO,CAAC,CAAA,CAAEQ,KAAAA,CAAM,GAAG,CAAA;AAElE,EAAA,OAAON,IAAIO,IAAAA,CAAKC,GAAAA,CAAIL,iBAAiBM,QAAAA,EAAS,EAAG,GAAG,CAAC,CAAA;AACvD;AASA,MAAMC,uBAAAA,GAA0B,CAAA;AAChC,MAAMC,qBAAAA,GAAwB,CAAA;AAEvB,SAASC,cAAAA,CAAe;AAAA,EAC7BC,MAAAA;AAAAA,EACAC;AAIF,CAAA,EAAsB;AACpB,EAAA,MAAMC,MAAAA;AAAAA;AAAAA,IAEJF,MAAAA,IAAUC,OAAAA,GAAUjB,2BAAAA,CAA4BgB,MAAAA,EAAQC,OAAO,CAAA,GAAI;AAAA,GAAA;AAErE,EAAA,IAAIC,WAAW,IAAA,EAAM;AACnB,IAAA,OAAO;AAAA,MACLC,WAAAA,EAAa,CAAA;AAAA,MACbC,cAAAA,EAAgB,KAAA;AAAA,MAChBC,YAAAA,EAAc,KAAA;AAAA,MACdC,aAAAA,EAAe;AAAA,KACjB;AAAA,EACF;AAEA,EAAA,MAAMC,mBAAAA,GAAsBL,OAAOM,GAAAA,EAAI;AAEvC,EAAA,MAAMJ,cAAAA,GAAiBG,mBAAAA,CAAoBE,EAAAA,CAAGZ,uBAAuB,CAAA;AACrE,EAAA,MAAMQ,YAAAA,GAAeE,mBAAAA,CAAoBE,EAAAA,CAAGX,qBAAqB,CAAA;AAEjE,EAAA,OAAO;AAAA,IACLK,WAAAA,EAAaI,oBAAoBX,QAAAA,EAAS;AAAA,IAC1CQ,cAAAA,EAAgBA,kBAAkB,CAACC,YAAAA;AAAAA,IACnCA,YAAAA;AAAAA,IACAC,aAAAA,EAAe;AAAA,GACjB;AACF;AAEO,SAASI,yBAAyBP,WAAAA,EAAmC;AAC1E,EAAA,OAAO,CAAA,EAAGA,WAAAA,CAAYQ,OAAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AAClC;;;;"}
1
+ {"version":3,"file":"priceImpact.js","sources":["../../../src/lib/utils/priceImpact.ts"],"sourcesContent":["import Big from \"big.js\";\n\nexport function calculatePriceImpactPercent(\n fromUSD: string,\n toUSD: string\n): Big {\n if (fromUSD === \"0\" || toUSD === \"0\") {\n return new Big(0);\n }\n\n const toBN = Big(toUSD);\n if (toBN.gte(fromUSD)) return Big(0);\n const calculatedImpact = Big(1).minus(toBN.div(fromUSD)).times(100);\n\n return Big(Math.min(calculatedImpact.toNumber(), 100));\n}\n\nexport type PriceImpactResult = {\n /** @description The price impact in percentage (e.g. 0.5 means 0.5%) */\n priceImpact?: number;\n /** @description The impact is above the high threshold (e.g. 5%) */\n isHighImpact: boolean;\n /** @description Medium impact means it's above the medium threshold but below the high threshold */\n isMediumImpact: boolean;\n /** @description Unavailable to calculate due to missing one of the USD prices */\n isUnavailable: boolean;\n};\n\nconst MEDIUM_IMPACT_THRESHOLD = 2; // 2%\nconst HIGH_IMPACT_THRESHOLD = 5; // 5%\n\nexport function getPriceImpact({\n srcUSD,\n destUSD,\n}: {\n srcUSD: string | null;\n destUSD: string | null;\n}): PriceImpactResult {\n const impact =\n // can't calc priceImpact without knowing USD prices of tokens\n srcUSD && destUSD ? calculatePriceImpactPercent(srcUSD, destUSD) : null;\n\n if (impact === null) {\n return {\n priceImpact: undefined,\n isMediumImpact: false,\n isHighImpact: false,\n isUnavailable: true,\n };\n }\n\n const impactAbsoluteValue = impact.abs();\n\n const isMediumImpact = impactAbsoluteValue.gt(MEDIUM_IMPACT_THRESHOLD);\n const isHighImpact = impactAbsoluteValue.gt(HIGH_IMPACT_THRESHOLD);\n\n return {\n priceImpact: impactAbsoluteValue.toNumber(),\n isMediumImpact: isMediumImpact && !isHighImpact,\n isHighImpact,\n isUnavailable: false,\n };\n}\n\nexport function formatPriceImpactPercent(priceImpact: number): `${string}%` {\n return `${priceImpact.toFixed(2)}%`;\n}\n"],"names":["calculatePriceImpactPercent","fromUSD","toUSD","Big","toBN","gte","calculatedImpact","minus","div","times","Math","min","toNumber","MEDIUM_IMPACT_THRESHOLD","HIGH_IMPACT_THRESHOLD","getPriceImpact","srcUSD","destUSD","impact","priceImpact","undefined","isMediumImpact","isHighImpact","isUnavailable","impactAbsoluteValue","abs","gt","formatPriceImpactPercent","toFixed"],"mappings":";;AAEO,SAASA,2BAAAA,CACdC,SACAC,KAAAA,EACK;AACL,EAAA,IAAID,OAAAA,KAAY,GAAA,IAAOC,KAAAA,KAAU,GAAA,EAAK;AACpC,IAAA,OAAO,IAAIC,IAAI,CAAC,CAAA;AAAA,EAClB;AAEA,EAAA,MAAMC,IAAAA,GAAOD,IAAID,KAAK,CAAA;AACtB,EAAA,IAAIE,KAAKC,GAAAA,CAAIJ,OAAO,CAAA,EAAG,OAAOE,IAAI,CAAC,CAAA;AACnC,EAAA,MAAMG,gBAAAA,GAAmBH,GAAAA,CAAI,CAAC,CAAA,CAAEI,KAAAA,CAAMH,IAAAA,CAAKI,GAAAA,CAAIP,OAAO,CAAC,CAAA,CAAEQ,KAAAA,CAAM,GAAG,CAAA;AAElE,EAAA,OAAON,IAAIO,IAAAA,CAAKC,GAAAA,CAAIL,iBAAiBM,QAAAA,EAAS,EAAG,GAAG,CAAC,CAAA;AACvD;AAaA,MAAMC,uBAAAA,GAA0B,CAAA;AAChC,MAAMC,qBAAAA,GAAwB,CAAA;AAEvB,SAASC,cAAAA,CAAe;AAAA,EAC7BC,MAAAA;AAAAA,EACAC;AAIF,CAAA,EAAsB;AACpB,EAAA,MAAMC,MAAAA;AAAAA;AAAAA,IAEJF,MAAAA,IAAUC,OAAAA,GAAUjB,2BAAAA,CAA4BgB,MAAAA,EAAQC,OAAO,CAAA,GAAI;AAAA,GAAA;AAErE,EAAA,IAAIC,WAAW,IAAA,EAAM;AACnB,IAAA,OAAO;AAAA,MACLC,WAAAA,EAAaC,MAAAA;AAAAA,MACbC,cAAAA,EAAgB,KAAA;AAAA,MAChBC,YAAAA,EAAc,KAAA;AAAA,MACdC,aAAAA,EAAe;AAAA,KACjB;AAAA,EACF;AAEA,EAAA,MAAMC,mBAAAA,GAAsBN,OAAOO,GAAAA,EAAI;AAEvC,EAAA,MAAMJ,cAAAA,GAAiBG,mBAAAA,CAAoBE,EAAAA,CAAGb,uBAAuB,CAAA;AACrE,EAAA,MAAMS,YAAAA,GAAeE,mBAAAA,CAAoBE,EAAAA,CAAGZ,qBAAqB,CAAA;AAEjE,EAAA,OAAO;AAAA,IACLK,WAAAA,EAAaK,oBAAoBZ,QAAAA,EAAS;AAAA,IAC1CS,cAAAA,EAAgBA,kBAAkB,CAACC,YAAAA;AAAAA,IACnCA,YAAAA;AAAAA,IACAC,aAAAA,EAAe;AAAA,GACjB;AACF;AAEO,SAASI,yBAAyBR,WAAAA,EAAmC;AAC1E,EAAA,OAAO,CAAA,EAAGA,WAAAA,CAAYS,OAAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AAClC;;;;"}
@@ -28,7 +28,7 @@ const privyConfig = {
28
28
  },
29
29
  // another option is to give an invalid ID,
30
30
  // but then it retries indefinitely
31
- walletConnectCloudProjectId: "9796e40630a6bea7605ac281b0deb939",
31
+ walletConnectCloudProjectId: "7535ce67d223b89670980f2442899904",
32
32
  // Privy doesn't accept const Chain[]
33
33
  supportedChains: chains
34
34
  // defaultChain: chains[0], @TODO set to App's selected chain
@@ -7,7 +7,7 @@ import { LOCAL_STORAGE_PREFIX } from '../../constants/storage.js';
7
7
 
8
8
  const connectors = [
9
9
  walletConnect({
10
- projectId: "9796e40630a6bea7605ac281b0deb939"
10
+ projectId: "7535ce67d223b89670980f2442899904"
11
11
  }),
12
12
  injected(),
13
13
  // metaMask() as CreateConnectorFn, // injected() detects metamask already
package/dist/styles.css CHANGED
@@ -70,7 +70,7 @@
70
70
  }
71
71
  }
72
72
  }
73
- :root, :host {
73
+ .velora-widget {
74
74
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
75
75
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
76
76
  --color-red-800: oklch(44.4% .177 26.899);
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/tokens/constants.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAE/D,eAAO,MAAM,WAAW,+CAA+C,CAAC;AAExE,eAAO,MAAM,qBAAqB,EAAgC,SAAS,CACzE,OAAO,WAAW,CACnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAWjE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAC1C,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAMlC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/tokens/constants.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAE/D,eAAO,MAAM,WAAW,+CAA+C,CAAC;AAExE,eAAO,MAAM,qBAAqB,EAAgC,SAAS,CACzE,OAAO,WAAW,CACnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAUjE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAC1C,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAMlC,CAAC"}
@@ -4,15 +4,15 @@ const QUERY_KEY_FETCH_TOKEN_LISTS = "fetch-token-lists";
4
4
  const ETH_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
5
5
  const ETH_ADDRESS_LOWERCASE = ETH_ADDRESS.toLowerCase();
6
6
  const NATIVE_CURRENCY_ICON = {
7
- [mainnet.id]: "https://cdn.paraswap.io/token/ETH.svg",
8
- [bsc.id]: "https://cdn.paraswap.io/token/BNB.svg",
9
- [optimism.id]: "https://cdn.paraswap.io/token/ETH.svg",
10
- [avalanche.id]: "https://cdn.paraswap.io/token/AVAX.svg",
11
- [arbitrum.id]: "https://cdn.paraswap.io/token/ETH.svg",
12
- [polygon.id]: "https://cdn.paraswap.io/token/MATIC.svg",
13
- [base.id]: "https://cdn.paraswap.io/token/ETH.svg",
14
- [gnosis.id]: "https://assets.coingecko.com/coins/images/11062/thumb/Identity-Primary-DarkBG.png?1696511004",
15
- [unichain.id]: "https://cdn.paraswap.io/token/ETH.svg"
7
+ [mainnet.id]: "https://cdn.velora.xyz/token/ETH.svg",
8
+ [bsc.id]: "https://cdn.velora.xyz/token/BNB.svg",
9
+ [optimism.id]: "https://cdn.velora.xyz/token/ETH.svg",
10
+ [avalanche.id]: "https://cdn.velora.xyz/token/AVAX.svg",
11
+ [arbitrum.id]: "https://cdn.velora.xyz/token/ETH.svg",
12
+ [polygon.id]: "https://cdn.velora.xyz/token/MATIC.svg",
13
+ [base.id]: "https://cdn.velora.xyz/token/ETH.svg",
14
+ [gnosis.id]: "https://cdn.velora.xyz/token/xDAI.svg",
15
+ [unichain.id]: "https://cdn.velora.xyz/token/ETH.svg"
16
16
  };
17
17
  const VLR_ADDRESS_BY_NETWORK = {
18
18
  [mainnet.id]: "0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../src/tokens/constants.ts"],"sourcesContent":["import {\n mainnet,\n bsc,\n optimism,\n avalanche,\n arbitrum,\n polygon,\n base,\n gnosis,\n unichain,\n} from \"@/lib/web3/wagmi/supportedChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Address } from \"viem\";\n\nexport const QUERY_KEY_FETCH_TOKEN_LISTS = \"fetch-token-lists\";\n\nexport const ETH_ADDRESS = \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\";\n\nexport const ETH_ADDRESS_LOWERCASE = ETH_ADDRESS.toLowerCase() as Lowercase<\n typeof ETH_ADDRESS\n>;\n\nexport const NATIVE_CURRENCY_ICON: Record<SupportedChainId, string> = {\n [mainnet.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [bsc.id]: \"https://cdn.paraswap.io/token/BNB.svg\",\n [optimism.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [avalanche.id]: \"https://cdn.paraswap.io/token/AVAX.svg\",\n [arbitrum.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [polygon.id]: \"https://cdn.paraswap.io/token/MATIC.svg\",\n [base.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n [gnosis.id]:\n \"https://assets.coingecko.com/coins/images/11062/thumb/Identity-Primary-DarkBG.png?1696511004\",\n [unichain.id]: \"https://cdn.paraswap.io/token/ETH.svg\",\n};\n\nexport const VLR_ADDRESS_BY_NETWORK: Partial<\n Record<SupportedChainId, Address>\n> = {\n [mainnet.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [optimism.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [bsc.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [base.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n};\n"],"names":["QUERY_KEY_FETCH_TOKEN_LISTS","ETH_ADDRESS","ETH_ADDRESS_LOWERCASE","toLowerCase","NATIVE_CURRENCY_ICON","mainnet","id","bsc","optimism","avalanche","arbitrum","polygon","base","gnosis","unichain","VLR_ADDRESS_BY_NETWORK"],"mappings":";;AAcO,MAAMA,2BAAAA,GAA8B;AAEpC,MAAMC,WAAAA,GAAc;AAEpB,MAAMC,qBAAAA,GAAwBD,YAAYE,WAAAA;AAI1C,MAAMC,oBAAAA,GAAyD;AAAA,EACpE,CAACC,OAAAA,CAAQC,EAAE,GAAG,uCAAA;AAAA,EACd,CAACC,GAAAA,CAAID,EAAE,GAAG,uCAAA;AAAA,EACV,CAACE,QAAAA,CAASF,EAAE,GAAG,uCAAA;AAAA,EACf,CAACG,SAAAA,CAAUH,EAAE,GAAG,wCAAA;AAAA,EAChB,CAACI,QAAAA,CAASJ,EAAE,GAAG,uCAAA;AAAA,EACf,CAACK,OAAAA,CAAQL,EAAE,GAAG,yCAAA;AAAA,EACd,CAACM,IAAAA,CAAKN,EAAE,GAAG,uCAAA;AAAA,EACX,CAACO,MAAAA,CAAOP,EAAE,GACR,8FAAA;AAAA,EACF,CAACQ,QAAAA,CAASR,EAAE,GAAG;AACjB;AAEO,MAAMS,sBAAAA,GAET;AAAA,EACF,CAACV,OAAAA,CAAQC,EAAE,GAAG,4CAAA;AAAA,EACd,CAACE,QAAAA,CAASF,EAAE,GAAG,4CAAA;AAAA,EACf,CAACC,GAAAA,CAAID,EAAE,GAAG,4CAAA;AAAA,EACV,CAACM,IAAAA,CAAKN,EAAE,GAAG;AACb;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../src/tokens/constants.ts"],"sourcesContent":["import {\n mainnet,\n bsc,\n optimism,\n avalanche,\n arbitrum,\n polygon,\n base,\n gnosis,\n unichain,\n} from \"@/lib/web3/wagmi/supportedChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Address } from \"viem\";\n\nexport const QUERY_KEY_FETCH_TOKEN_LISTS = \"fetch-token-lists\";\n\nexport const ETH_ADDRESS = \"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE\";\n\nexport const ETH_ADDRESS_LOWERCASE = ETH_ADDRESS.toLowerCase() as Lowercase<\n typeof ETH_ADDRESS\n>;\n\nexport const NATIVE_CURRENCY_ICON: Record<SupportedChainId, string> = {\n [mainnet.id]: \"https://cdn.velora.xyz/token/ETH.svg\",\n [bsc.id]: \"https://cdn.velora.xyz/token/BNB.svg\",\n [optimism.id]: \"https://cdn.velora.xyz/token/ETH.svg\",\n [avalanche.id]: \"https://cdn.velora.xyz/token/AVAX.svg\",\n [arbitrum.id]: \"https://cdn.velora.xyz/token/ETH.svg\",\n [polygon.id]: \"https://cdn.velora.xyz/token/MATIC.svg\",\n [base.id]: \"https://cdn.velora.xyz/token/ETH.svg\",\n [gnosis.id]: \"https://cdn.velora.xyz/token/xDAI.svg\",\n [unichain.id]: \"https://cdn.velora.xyz/token/ETH.svg\",\n};\n\nexport const VLR_ADDRESS_BY_NETWORK: Partial<\n Record<SupportedChainId, Address>\n> = {\n [mainnet.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [optimism.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [bsc.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n [base.id]: \"0x4e107a0000DB66f0E9Fd2039288Bf811dD1f9c74\",\n};\n"],"names":["QUERY_KEY_FETCH_TOKEN_LISTS","ETH_ADDRESS","ETH_ADDRESS_LOWERCASE","toLowerCase","NATIVE_CURRENCY_ICON","mainnet","id","bsc","optimism","avalanche","arbitrum","polygon","base","gnosis","unichain","VLR_ADDRESS_BY_NETWORK"],"mappings":";;AAcO,MAAMA,2BAAAA,GAA8B;AAEpC,MAAMC,WAAAA,GAAc;AAEpB,MAAMC,qBAAAA,GAAwBD,YAAYE,WAAAA;AAI1C,MAAMC,oBAAAA,GAAyD;AAAA,EACpE,CAACC,OAAAA,CAAQC,EAAE,GAAG,sCAAA;AAAA,EACd,CAACC,GAAAA,CAAID,EAAE,GAAG,sCAAA;AAAA,EACV,CAACE,QAAAA,CAASF,EAAE,GAAG,sCAAA;AAAA,EACf,CAACG,SAAAA,CAAUH,EAAE,GAAG,uCAAA;AAAA,EAChB,CAACI,QAAAA,CAASJ,EAAE,GAAG,sCAAA;AAAA,EACf,CAACK,OAAAA,CAAQL,EAAE,GAAG,wCAAA;AAAA,EACd,CAACM,IAAAA,CAAKN,EAAE,GAAG,sCAAA;AAAA,EACX,CAACO,MAAAA,CAAOP,EAAE,GAAG,uCAAA;AAAA,EACb,CAACQ,QAAAA,CAASR,EAAE,GAAG;AACjB;AAEO,MAAMS,sBAAAA,GAET;AAAA,EACF,CAACV,OAAAA,CAAQC,EAAE,GAAG,4CAAA;AAAA,EACd,CAACE,QAAAA,CAASF,EAAE,GAAG,4CAAA;AAAA,EACf,CAACC,GAAAA,CAAID,EAAE,GAAG,4CAAA;AAAA,EACV,CAACM,IAAAA,CAAKN,EAAE,GAAG;AACb;;;;"}
@@ -11,7 +11,7 @@ const tokenFrom = {
11
11
  tokenType: "ERC20",
12
12
  mainConnector: "ETH",
13
13
  connectors: ["ETH"],
14
- img: "https://cdn.paraswap.io/token/USDC.png",
14
+ img: "https://cdn.velora.xyz/token/USDC.png",
15
15
  name: "USD Coin"
16
16
  },
17
17
  [polygon.id]: {
@@ -22,7 +22,7 @@ const tokenFrom = {
22
22
  mainConnector: "",
23
23
  connectors: ["ETH"],
24
24
  network: polygon.id,
25
- img: "https://cdn.paraswap.io/token/USDC.png",
25
+ img: "https://cdn.velora.xyz/token/USDC.png",
26
26
  name: "USDC"
27
27
  },
28
28
  [bsc.id]: {
@@ -33,7 +33,7 @@ const tokenFrom = {
33
33
  mainConnector: "",
34
34
  connectors: ["ETH"],
35
35
  network: bsc.id,
36
- img: "https://cdn.paraswap.io/token/USDC.png",
36
+ img: "https://cdn.velora.xyz/token/USDC.png",
37
37
  name: "Binance Pegged USD Coin"
38
38
  },
39
39
  [avalanche.id]: {
@@ -44,7 +44,7 @@ const tokenFrom = {
44
44
  mainConnector: "",
45
45
  connectors: ["ETH"],
46
46
  network: avalanche.id,
47
- img: "https://cdn.paraswap.io/token/USDC.png",
47
+ img: "https://cdn.velora.xyz/token/USDC.png",
48
48
  name: "USD Coin"
49
49
  },
50
50
  [arbitrum.id]: {
@@ -55,7 +55,7 @@ const tokenFrom = {
55
55
  mainConnector: "",
56
56
  connectors: ["ETH"],
57
57
  network: arbitrum.id,
58
- img: "https://cdn.paraswap.io/token/USDC.png",
58
+ img: "https://cdn.velora.xyz/token/USDC.png",
59
59
  name: "USDC"
60
60
  },
61
61
  [optimism.id]: {
@@ -66,7 +66,7 @@ const tokenFrom = {
66
66
  mainConnector: "",
67
67
  connectors: ["ETH"],
68
68
  network: optimism.id,
69
- img: "https://cdn.paraswap.io/token/USDC.png",
69
+ img: "https://cdn.velora.xyz/token/USDC.png",
70
70
  name: "USD Coin"
71
71
  },
72
72
  [base.id]: {
@@ -77,7 +77,7 @@ const tokenFrom = {
77
77
  mainConnector: "",
78
78
  connectors: ["ETH"],
79
79
  network: base.id,
80
- img: "https://cdn.paraswap.io/token/USDC.png",
80
+ img: "https://cdn.velora.xyz/token/USDC.png",
81
81
  name: "USDC"
82
82
  },
83
83
  [gnosis.id]: {
@@ -88,7 +88,7 @@ const tokenFrom = {
88
88
  mainConnector: "",
89
89
  connectors: ["XDAI", "USDT"],
90
90
  network: gnosis.id,
91
- img: "https://cdn.paraswap.io/token/USDC.png",
91
+ img: "https://cdn.velora.xyz/token/USDC.png",
92
92
  name: "USDC"
93
93
  },
94
94
  [unichain.id]: {
@@ -99,7 +99,7 @@ const tokenFrom = {
99
99
  mainConnector: "",
100
100
  connectors: ["ETH"],
101
101
  network: unichain.id,
102
- img: "https://cdn.paraswap.io/token/USDC.png",
102
+ img: "https://cdn.velora.xyz/token/USDC.png",
103
103
  name: "USDC"
104
104
  }
105
105
  };
@@ -112,7 +112,7 @@ const tokenTo = {
112
112
  mainConnector: "",
113
113
  connectors: ["DAI", "USDC"],
114
114
  network: mainnet.id,
115
- img: "https://cdn.paraswap.io/token/ETH.svg"
115
+ img: "https://cdn.velora.xyz/token/ETH.svg"
116
116
  },
117
117
  [polygon.id]: {
118
118
  address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
@@ -122,7 +122,7 @@ const tokenTo = {
122
122
  mainConnector: "",
123
123
  connectors: ["ETH"],
124
124
  network: polygon.id,
125
- img: "https://cdn.paraswap.io/token/MATIC.svg"
125
+ img: "https://cdn.velora.xyz/token/MATIC.svg"
126
126
  },
127
127
  [bsc.id]: {
128
128
  address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
@@ -132,7 +132,7 @@ const tokenTo = {
132
132
  mainConnector: "",
133
133
  connectors: ["ETH"],
134
134
  network: bsc.id,
135
- img: "https://cdn.paraswap.io/token/BNB.svg"
135
+ img: "https://cdn.velora.xyz/token/BNB.svg"
136
136
  },
137
137
  [avalanche.id]: {
138
138
  address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
@@ -142,7 +142,7 @@ const tokenTo = {
142
142
  mainConnector: "",
143
143
  connectors: ["ETH"],
144
144
  network: avalanche.id,
145
- img: "https://cdn.paraswap.io/token/AVAX.svg"
145
+ img: "https://cdn.velora.xyz/token/AVAX.svg"
146
146
  },
147
147
  [arbitrum.id]: {
148
148
  address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
@@ -152,7 +152,7 @@ const tokenTo = {
152
152
  mainConnector: "",
153
153
  connectors: ["DAI", "USDC"],
154
154
  network: arbitrum.id,
155
- img: "https://cdn.paraswap.io/token/ETH.svg"
155
+ img: "https://cdn.velora.xyz/token/ETH.svg"
156
156
  },
157
157
  [optimism.id]: {
158
158
  address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
@@ -162,7 +162,7 @@ const tokenTo = {
162
162
  mainConnector: "",
163
163
  connectors: ["DAI", "USDC"],
164
164
  network: optimism.id,
165
- img: "https://cdn.paraswap.io/token/ETH.svg"
165
+ img: "https://cdn.velora.xyz/token/ETH.svg"
166
166
  },
167
167
  [base.id]: {
168
168
  address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
@@ -172,7 +172,7 @@ const tokenTo = {
172
172
  mainConnector: "",
173
173
  connectors: ["DAI", "USDC"],
174
174
  network: base.id,
175
- img: "https://cdn.paraswap.io/token/ETH.svg"
175
+ img: "https://cdn.velora.xyz/token/ETH.svg"
176
176
  },
177
177
  [gnosis.id]: {
178
178
  address: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
@@ -193,7 +193,7 @@ const tokenTo = {
193
193
  mainConnector: "",
194
194
  connectors: ["ETH"],
195
195
  network: unichain.id,
196
- img: "https://cdn.paraswap.io/token/ETH.png",
196
+ img: "https://cdn.velora.xyz/token/ETH.png",
197
197
  name: "Unichain ETH"
198
198
  }
199
199
  };