@velora-dex/widget 0.2.5-dev.12 → 0.2.5-dev.14

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 (131) hide show
  1. package/dist/components/ui/badge.d.ts +1 -1
  2. package/dist/components/ui/button.d.ts +1 -1
  3. package/dist/components/widget/AppHeader/Activities/hooks.d.ts +5 -1
  4. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  5. package/dist/components/widget/AppHeader/Activities/hooks.js +61 -3
  6. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  7. package/dist/components/widget/AppHeader/ActivityButton.d.ts.map +1 -1
  8. package/dist/components/widget/AppHeader/ActivityButton.js +74 -34
  9. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  10. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  11. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  12. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +124 -69
  13. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  14. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  15. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +76 -54
  16. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  17. package/dist/components/widget/TradeOverview/Step/Step.d.ts.map +1 -1
  18. package/dist/components/widget/TradeOverview/Step/Step.js +122 -68
  19. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  20. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  21. package/dist/components/widget/TradeOverview/Stepper.js +46 -26
  22. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  23. package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
  24. package/dist/components/widget/TradeOverview/TradeComplete/index.js +15 -24
  25. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  26. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  27. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +56 -47
  28. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  29. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  30. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +2 -2
  31. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  32. package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
  33. package/dist/components/widget/TradeOverview/TradeDetails.js +143 -98
  34. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  35. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.d.ts.map +1 -1
  36. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +15 -11
  37. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  38. package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
  39. package/dist/components/widget/TradeOverview/TradeError/index.js +9 -20
  40. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  41. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  42. package/dist/components/widget/TradeOverview/TradeOverview.js +112 -57
  43. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  44. package/dist/components/widget/TradeOverview/motionProps.d.ts +20 -0
  45. package/dist/components/widget/TradeOverview/motionProps.d.ts.map +1 -0
  46. package/dist/components/widget/TradeOverview/motionProps.js +121 -0
  47. package/dist/components/widget/TradeOverview/motionProps.js.map +1 -0
  48. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +18 -0
  49. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -0
  50. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +74 -0
  51. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -0
  52. package/dist/core/across/{isCrosshcainPossible.d.ts → isCrosschainPossible.d.ts} +1 -1
  53. package/dist/core/across/{isCrosshcainPossible.d.ts.map → isCrosschainPossible.d.ts.map} +1 -1
  54. package/dist/core/across/{isCrosshcainPossible.js → isCrosschainPossible.js} +1 -1
  55. package/dist/core/across/{isCrosshcainPossible.js.map → isCrosschainPossible.js.map} +1 -1
  56. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -2
  57. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  58. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -61
  59. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  60. package/dist/core/constants.d.ts +1 -0
  61. package/dist/core/constants.d.ts.map +1 -1
  62. package/dist/core/constants.js +2 -1
  63. package/dist/core/constants.js.map +1 -1
  64. package/dist/core/index.d.ts.map +1 -1
  65. package/dist/core/index.js +14 -11
  66. package/dist/core/index.js.map +1 -1
  67. package/dist/core/inputs/state/common.d.ts.map +1 -1
  68. package/dist/core/inputs/state/common.js +4 -6
  69. package/dist/core/inputs/state/common.js.map +1 -1
  70. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  71. package/dist/core/inputs/state/selectedTokenActionsAtom.js +18 -3
  72. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  73. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  74. package/dist/core/limit/state/selectedTokenActionsAtom.js +23 -6
  75. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  76. package/dist/core/limit/state/selectedTokenAtom.js +4 -4
  77. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  78. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  79. package/dist/core/limit/useLimitRate.js +25 -10
  80. package/dist/core/limit/useLimitRate.js.map +1 -1
  81. package/dist/core/limit/useLimitTokenSwitcherProps.d.ts.map +1 -1
  82. package/dist/core/limit/useLimitTokenSwitcherProps.js +26 -16
  83. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  84. package/dist/core/screen/state/screenAtom.d.ts.map +1 -1
  85. package/dist/core/screen/state/screenAtom.js +5 -0
  86. package/dist/core/screen/state/screenAtom.js.map +1 -1
  87. package/dist/core/types.d.ts +1 -1
  88. package/dist/core/types.d.ts.map +1 -1
  89. package/dist/hooks/otc/mutations/useFillOrder.js +2 -1
  90. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  91. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  92. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +2 -2
  93. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -1
  94. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  95. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +3 -3
  96. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
  97. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +1 -1
  98. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  99. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +35 -19
  100. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  101. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +2 -1
  102. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  103. package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
  104. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  105. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +3 -3
  106. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  107. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  108. package/dist/hooks/swap/prices/usePricesParams.js +0 -5
  109. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  110. package/dist/hooks/swap/tradeFlow/common/utils.js +4 -1
  111. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  112. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -1
  113. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  114. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +26 -10
  115. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  116. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +1 -0
  117. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  118. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +16 -14
  119. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  120. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +11 -1
  121. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  122. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +10 -5
  123. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  124. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +1 -0
  125. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  126. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +12 -10
  127. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  128. package/dist/lib/web3/privy/config.js +1 -1
  129. package/dist/lib/web3/wagmi/config.js +1 -1
  130. package/dist/styles.css +39 -8
  131. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"screenAtom.js","sources":["../../../../src/core/screen/state/screenAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtom } from \"@/core/store\";\nimport type { screenByType } from \"../screenByType\";\nimport { useMemo } from \"react\";\nimport type { Prettify } from \"ts-essentials\";\nimport type { SelectTokenScreenProps } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport type { TradeOverviewScreenProps } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\n\ntype ScreenPropsWithoutUnknown<\n SType extends string,\n STypeProps,\n> = unknown extends STypeProps\n ? unknown\n : {\n screenProps: {\n [key in SType]: STypeProps;\n };\n };\n\ntype ScreenType = keyof typeof screenByType;\n\ntype PermissibleScreenState = {\n screenType: ScreenType;\n screenProps?: {\n [key in ScreenType]?: React.ComponentProps<(typeof screenByType)[key]>;\n };\n};\n\n// makes a union with exactly matching `{screenType, screenProps: {[screenType]: screenTypeProps}}`,\n// so that setScreen can only be used with one specific screenType per call\ntype FilledScreenState = {\n [Type in ScreenType]: Prettify<\n {\n screenType: Type;\n } & ScreenPropsWithoutUnknown<\n Type,\n React.ComponentProps<(typeof screenByType)[Type]>\n >\n >;\n}[ScreenType];\n\ntype ScreenState = FilledScreenState | null;\n\nconst screenAtom = atom<ScreenState>(null);\n\nexport type UseScreenResult = {\n // allow to destructure without \"screenType\" in screen.screenProps checks\n screen: PermissibleScreenState | null;\n showSelectTokenScreen: (screenProps: SelectTokenScreenProps) => void;\n showTradeOverviewScreen: (screenProps: TradeOverviewScreenProps) => void;\n showActivitiesScreen: () => void;\n closeScreen: () => void;\n};\n\nexport const useScreen = (): UseScreenResult => {\n const [screen, setScreen] = useAtom(screenAtom);\n\n const {\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n } = useMemo(() => {\n const closeScreen = () => {\n setScreen(null);\n };\n\n const showSelectTokenScreen: UseScreenResult[\"showSelectTokenScreen\"] = (\n screenProps\n ) => {\n setScreen({\n screenType: \"selectToken\",\n screenProps: { selectToken: screenProps },\n });\n };\n\n const showTradeOverviewScreen: UseScreenResult[\"showTradeOverviewScreen\"] =\n (screenProps) => {\n setScreen({\n screenType: \"tradeOverview\",\n screenProps: { tradeOverview: screenProps },\n });\n };\n\n const showActivitiesScreen: UseScreenResult[\"showActivitiesScreen\"] =\n () => {\n setScreen({\n screenType: \"activities\",\n });\n };\n\n return {\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n };\n }, [setScreen]);\n\n return {\n screen,\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n };\n};\n"],"names":["screenAtom","atom","useScreen","$","_c","screen","setScreen","useAtom","t0","closeScreen","t1","screenProps","screenType","selectToken","showSelectTokenScreen","t2","screenProps_0","tradeOverview","showTradeOverviewScreen","t3","showActivitiesScreen","t4","closeScreen_0","showSelectTokenScreen_0","showTradeOverviewScreen_0","showActivitiesScreen_0","t5"],"mappings":"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"}
1
+ {"version":3,"file":"screenAtom.js","sources":["../../../../src/core/screen/state/screenAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtom } from \"@/core/store\";\nimport type { screenByType } from \"../screenByType\";\nimport { useMemo } from \"react\";\nimport type { Prettify } from \"ts-essentials\";\nimport type { SelectTokenScreenProps } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport type { TradeOverviewScreenProps } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\n\ntype ScreenPropsWithoutUnknown<\n SType extends string,\n STypeProps,\n> = unknown extends STypeProps\n ? unknown\n : {\n screenProps: {\n [key in SType]: STypeProps;\n };\n };\n\ntype ScreenType = keyof typeof screenByType;\n\ntype PermissibleScreenState = {\n screenType: ScreenType;\n screenProps?: {\n [key in ScreenType]?: React.ComponentProps<(typeof screenByType)[key]>;\n };\n};\n\n// makes a union with exactly matching `{screenType, screenProps: {[screenType]: screenTypeProps}}`,\n// so that setScreen can only be used with one specific screenType per call\ntype FilledScreenState = {\n [Type in ScreenType]: Prettify<\n {\n screenType: Type;\n } & ScreenPropsWithoutUnknown<\n Type,\n React.ComponentProps<(typeof screenByType)[Type]>\n >\n >;\n}[ScreenType];\n\ntype ScreenState = FilledScreenState | null;\n\nconst screenAtom = atom<ScreenState>(null);\n\nscreenAtom.onMount = (set) => {\n return () => {\n // Reset open screen on unmount to prevent stuck screens on remount.\n // This happens, for example, on route change in the UI with any screen open.\n set(null);\n };\n};\n\nexport type UseScreenResult = {\n // allow to destructure without \"screenType\" in screen.screenProps checks\n screen: PermissibleScreenState | null;\n showSelectTokenScreen: (screenProps: SelectTokenScreenProps) => void;\n showTradeOverviewScreen: (screenProps: TradeOverviewScreenProps) => void;\n showActivitiesScreen: () => void;\n closeScreen: () => void;\n};\n\nexport const useScreen = (): UseScreenResult => {\n const [screen, setScreen] = useAtom(screenAtom);\n\n const {\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n } = useMemo(() => {\n const closeScreen = () => {\n setScreen(null);\n };\n\n const showSelectTokenScreen: UseScreenResult[\"showSelectTokenScreen\"] = (\n screenProps\n ) => {\n setScreen({\n screenType: \"selectToken\",\n screenProps: { selectToken: screenProps },\n });\n };\n\n const showTradeOverviewScreen: UseScreenResult[\"showTradeOverviewScreen\"] =\n (screenProps) => {\n setScreen({\n screenType: \"tradeOverview\",\n screenProps: { tradeOverview: screenProps },\n });\n };\n\n const showActivitiesScreen: UseScreenResult[\"showActivitiesScreen\"] =\n () => {\n setScreen({\n screenType: \"activities\",\n });\n };\n\n return {\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n };\n }, [setScreen]);\n\n return {\n screen,\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n };\n};\n"],"names":["screenAtom","atom","onMount","set","useScreen","$","_c","screen","setScreen","useAtom","t0","closeScreen","t1","screenProps","screenType","selectToken","showSelectTokenScreen","t2","screenProps_0","tradeOverview","showTradeOverviewScreen","t3","showActivitiesScreen","t4","closeScreen_0","showSelectTokenScreen_0","showTradeOverviewScreen_0","showActivitiesScreen_0","t5"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { FormInputProps } from './inputs/state/types';
3
3
  import { SupportedChainId } from '../lib/web3/wagmi/types';
4
4
  import { TradeMode } from './state/tradeModeAtom';
5
5
  export type WidgetTheme = "light" | "dark";
6
- export type WidgetElements = "activities" | "wallet-management";
6
+ export type WidgetElements = "activities" | "wallet-management" | "snackbars";
7
7
  export interface WidgetProps {
8
8
  config?: WidgetConfig;
9
9
  provider?: EIP1193ProviderLax;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,mBAAmB,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,uGAAuG;IACvG,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,4GAA4G;IAC5G,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,6GAA6G;IAC7G,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;CACvB;AAOD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;CACxE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,mBAAmB,GAAG,WAAW,CAAC;AAE9E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,uGAAuG;IACvG,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,4GAA4G;IAC5G,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,6GAA6G;IAC7G,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;CACvB;AAOD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAClD,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;CACxE,CAAC"}
@@ -4,10 +4,11 @@ import { useMutation } from '@tanstack/react-query';
4
4
  import { assert } from 'ts-essentials';
5
5
  import 'wagmi';
6
6
  import 'wagmi/query';
7
+ import '../../../lib/queryClient.js';
7
8
  import '../../../lib/web3/wagmi/config.js';
8
9
  import '@wagmi/core';
10
+ import 'viem/actions';
9
11
  import 'wagmi/connectors';
10
- import '../../../lib/queryClient.js';
11
12
  import 'viem';
12
13
  import 'react/jsx-runtime';
13
14
  import 'clsx';
@@ -1 +1 @@
1
- {"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useFillOrder.js","sources":["../../../../src/hooks/otc/mutations/useFillOrder.ts"],"sourcesContent":["import { useLimitOrdersSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n useQueryClient,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n MinViemClient,\n TxSendOverrides,\n FillOrderDirectlyFunctions,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { limitOrdersQueryKey } from \"../queries/useLimitOrders\";\n\ntype FillOrderReturn = `0x${string}`;\ntype FillOrderAndWaitReturn = TransactionReceipt;\n\nexport type OrderFillData = Parameters<\n FillOrderDirectlyFunctions<FillOrderReturn>[\"fillOrderDirectly\"]\n>[0];\n\ntype FillOrderInput = {\n orderFillData: OrderFillData;\n overrides?: TxSendOverrides;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype FillOrderAndWaitInput = FillOrderInput & {\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype FillOrderMutationOptions = Omit<\n UseMutationOptions<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\ntype FillOrderAndWaitMutationOptions = Omit<\n UseMutationOptions<FillOrderAndWaitReturn, Error, FillOrderInput, void>,\n \"mutationFn\"\n>;\n\ntype FillOrderMutInput = {\n mutationOptions?: FillOrderMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\ntype FillOrderAndWaitMutInput = {\n mutationOptions?: FillOrderAndWaitMutationOptions;\n chainId: SupportedChainId;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport function useFillOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderMutInput): UseMutationResult<\n FillOrderReturn,\n Error,\n FillOrderInput,\n void\n> {\n const { sdk } = useLimitOrdersSDK({ chainId, account, client });\n\n return useMutation<FillOrderReturn, Error, FillOrderInput, void>({\n mutationKey: [\"fillOrder\"],\n mutationFn: ({ orderFillData, overrides, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"fillOrderDirectly\" in sdk,\n \"fillOrderDirectly is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access fillOrderDirectly\n\n return sdk.fillOrderDirectly(orderFillData, overrides, { signal });\n },\n ...mutationOptions,\n });\n}\n\nexport function useFillOrderAndWait({\n mutationOptions,\n chainId,\n account,\n client,\n}: FillOrderAndWaitMutInput): UseMutationResult<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n> & {\n fillTx: Omit<\n UseMutationResult<FillOrderReturn, Error, FillOrderInput, void>,\n \"mutate\" | \"mutateAsync\"\n >;\n} {\n const ensureTxReceipt = useEnsureTxReceipt();\n const { mutate, mutateAsync, ...fillTx } = useFillOrder({\n chainId,\n account,\n client,\n });\n const queryClient = useQueryClient();\n\n const mutationResult = useMutation<\n FillOrderAndWaitReturn,\n Error,\n FillOrderAndWaitInput,\n void\n >({\n mutationKey: [\"fillOrderAndWait\"],\n mutationFn: async ({ orderFillData, overrides, signal, onTxSent }) => {\n const txHash = await mutateAsync({ orderFillData, overrides, signal });\n\n const receiptPromise = ensureTxReceipt({ chainId, hash: txHash });\n\n onTxSent?.({\n chainId,\n transactionHash: txHash,\n action: \"fillOtcOrder\",\n receiptPromise,\n transactionSpecificData: {\n action: \"fillOtcOrder\",\n filledOrder: orderFillData.order,\n },\n });\n\n return receiptPromise;\n },\n ...mutationOptions,\n onSuccess: (data, variables, onMutationResult, context) => {\n queryClient.invalidateQueries({\n queryKey: limitOrdersQueryKey({ taker: account, type: \"P2P\" }, chainId),\n exact: false,\n });\n\n mutationOptions?.onSuccess?.(data, variables, onMutationResult, context);\n },\n });\n\n return { ...mutationResult, fillTx };\n}\n"],"names":["useFillOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useLimitOrdersSDK","t2","Symbol","for","t3","t4","orderFillData","overrides","signal","throwIfAborted","assert","fillOrderDirectly","mutationKey","mutationFn","useMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA2DO,SAAAA,aAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAsB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAKT,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAAI,OAAAA,IAAAJ,CAAAA,QAAAG,OAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAAK,MAAAA,EAAA;AAMgBC,IAAAA,EAAAA,GAAA;AAAA,MAAAH,OAAAA;AAAAA,MAAAC,OAAAA;AAAAA,MAAAC;AAAAA,KAA2B;AAACL,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAK,MAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9D,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,kBAAkBF,EAA4B,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAU,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjDF,IAAAA,EAAAA,GAAA,CAAC,WAAW,CAAA;AAACT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAO,GAAAA,EAAA;AACdK,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC,aAAAA;AAAAA,QAAAC,SAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAH,GAAAA;AAEXG,MAAAA,MAAAA,EAAMC,cAAAA,EAAiB;AAEvBC,MAAAA,MAAAA,CACE,mBAAA,IAAuBX,KACvB,gDACF,CAAA;AAAC,MAAA,OAIMA,GAAAA,CAAGY,iBAAAA,CAAmBL,aAAAA,EAAeC,SAAAA,EAAW;AAAA,QAAAC;AAAAA,OAAU,CAAA;AAAA,IAAC,CAAA;AACnEhB,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAY,EAAAA,EAAA;AAd8DC,IAAAA,EAAAA,GAAA;AAAA,MAAAO,WAAAA,EAClDX,EAAAA;AAAAA,MAAaY,UAAAA,EACdT,EAAAA;AAAAA,MAYX,GACEV;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAhBMsB,YAA0DT,EAgBhE,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeInfosLoadedAtom.js","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.ts"],"sourcesContent":["import { atomWithQuery } from \"jotai-tanstack-query\";\nimport { bridgeInfoQueryKey } from \"./common\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\n\n// query atom that will change each time any of the query state changes\nconst bridgeInfoQueryAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey(),\n enabled: false,\n}));\n\n// query atom specific to Crosschain Limit Orders query that will change each time any of the query state changes\nconst bridgeInfoQueryLimitOrdersAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey({ allowBridgeAndSwap: false }),\n enabled: false,\n}));\n\n// derived atom that will only be updated when both bidgeInfo for swap and limit orders are loaded\n// subscribe to it to know when all crosschain tokens have been loaded\nexport const bridgeInfosLoadedAtom = atom<boolean>((get) => {\n const bridgeInfoQuery = get(bridgeInfoQueryAtom);\n if (!bridgeInfoQuery.data) return false;\n const bridgeInfoQueryLimitOrders = get(bridgeInfoQueryLimitOrdersAtom);\n if (!bridgeInfoQueryLimitOrders.data) return false;\n return true;\n});\n"],"names":["bridgeInfoQueryAtom","atomWithQuery","queryKey","bridgeInfoQueryKey","enabled","bridgeInfoQueryLimitOrdersAtom","allowBridgeAndSwap","bridgeInfosLoadedAtom","atom","get","bridgeInfoQuery","data","bridgeInfoQueryLimitOrders"],"mappings":";;;;AAMA,MAAMA,mBAAAA,GAAsBC,cAA0B,OAAO;AAAA,EAC3DC,UAAUC,kBAAAA,EAAmB;AAAA,EAC7BC,OAAAA,EAAS;AACX,CAAA,CAAE,CAAA;AAGF,MAAMC,8BAAAA,GAAiCJ,cAA0B,OAAO;AAAA,EACtEC,UAAUC,kBAAAA,CAAmB;AAAA,IAAEG,kBAAAA,EAAoB;AAAA,GAAO,CAAA;AAAA,EAC1DF,OAAAA,EAAS;AACX,CAAA,CAAE,CAAA;AAIK,MAAMG,qBAAAA,GAAwBC,KAAeC,CAAAA,GAAAA,KAAQ;AAC1D,EAAA,MAAMC,eAAAA,GAAkBD,IAAIT,mBAAmB,CAAA;AAC/C,EAAA,IAAI,CAACU,eAAAA,CAAgBC,IAAAA,EAAM,OAAO,KAAA;AAClC,EAAA,MAAMC,0BAAAA,GAA6BH,IAAIJ,8BAA8B,CAAA;AACrE,EAAA,IAAI,CAACO,0BAAAA,CAA2BD,IAAAA,EAAM,OAAO,KAAA;AAC7C,EAAA,OAAO,IAAA;AACT,CAAC;;;;"}
1
+ {"version":3,"file":"bridgeInfosLoadedAtom.js","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.ts"],"sourcesContent":["import { atomWithQuery } from \"jotai-tanstack-query\";\nimport { bridgeInfoQueryKey } from \"./common\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\n\n// query atom that will change each time any of the query state changes\nconst bridgeInfoQueryAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey(),\n enabled: false,\n}));\n\n// query atom specific to Crosschain Limit Orders query that will change each time any of the query state changes\nconst bridgeInfoQueryLimitOrdersAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey({ allowBridgeAndSwap: false }),\n enabled: false,\n}));\n\n// derived atom that will only be updated when both bridgeInfo for swap and limit orders are loaded\n// subscribe to it to know when all crosschain tokens have been loaded\nexport const bridgeInfosLoadedAtom = atom<boolean>((get) => {\n const bridgeInfoQuery = get(bridgeInfoQueryAtom);\n if (!bridgeInfoQuery.data) return false;\n const bridgeInfoQueryLimitOrders = get(bridgeInfoQueryLimitOrdersAtom);\n if (!bridgeInfoQueryLimitOrders.data) return false;\n return true;\n});\n"],"names":["bridgeInfoQueryAtom","atomWithQuery","queryKey","bridgeInfoQueryKey","enabled","bridgeInfoQueryLimitOrdersAtom","allowBridgeAndSwap","bridgeInfosLoadedAtom","atom","get","bridgeInfoQuery","data","bridgeInfoQueryLimitOrders"],"mappings":";;;;AAMA,MAAMA,mBAAAA,GAAsBC,cAA0B,OAAO;AAAA,EAC3DC,UAAUC,kBAAAA,EAAmB;AAAA,EAC7BC,OAAAA,EAAS;AACX,CAAA,CAAE,CAAA;AAGF,MAAMC,8BAAAA,GAAiCJ,cAA0B,OAAO;AAAA,EACtEC,UAAUC,kBAAAA,CAAmB;AAAA,IAAEG,kBAAAA,EAAoB;AAAA,GAAO,CAAA;AAAA,EAC1DF,OAAAA,EAAS;AACX,CAAA,CAAE,CAAA;AAIK,MAAMG,qBAAAA,GAAwBC,KAAeC,CAAAA,GAAAA,KAAQ;AAC1D,EAAA,MAAMC,eAAAA,GAAkBD,IAAIT,mBAAmB,CAAA;AAC/C,EAAA,IAAI,CAACU,eAAAA,CAAgBC,IAAAA,EAAM,OAAO,KAAA;AAClC,EAAA,MAAMC,0BAAAA,GAA6BH,IAAIJ,8BAA8B,CAAA;AACrE,EAAA,IAAI,CAACO,0BAAAA,CAA2BD,IAAAA,EAAM,OAAO,KAAA;AAC7C,EAAA,OAAO,IAAA;AACT,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
- import { BridgeInfoQueryKeyType, BridgeInforInputParams } from './types';
1
+ import { BridgeInfoQueryKeyType, BridgeInfoInputParams } from './types';
2
2
  export declare const defaultInputParams: {
3
3
  allowBridgeAndSwap: true;
4
4
  };
5
- export declare function bridgeInfoQueryKey(inputParams?: BridgeInforInputParams): BridgeInfoQueryKeyType;
5
+ export declare function bridgeInfoQueryKey(inputParams?: BridgeInfoInputParams): BridgeInfoQueryKeyType;
6
6
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;CAEG,CAAC;AAEnC,wBAAgB,kBAAkB,CAChC,WAAW,GAAE,sBAA2C,GACvD,sBAAsB,CAExB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE7E,eAAO,MAAM,kBAAkB;;CAEE,CAAC;AAElC,wBAAgB,kBAAkB,CAChC,WAAW,GAAE,qBAA0C,GACtD,sBAAsB,CAExB"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/common.ts"],"sourcesContent":["import type { BridgeInfoQueryKeyType, BridgeInforInputParams } from \"./types\";\n\nexport const defaultInputParams = {\n allowBridgeAndSwap: true,\n} satisfies BridgeInforInputParams;\n\nexport function bridgeInfoQueryKey(\n inputParams: BridgeInforInputParams = defaultInputParams\n): BridgeInfoQueryKeyType {\n return [\"swap/delta/bridge-info\", inputParams] as const;\n}\n"],"names":["defaultInputParams","allowBridgeAndSwap","bridgeInfoQueryKey","inputParams"],"mappings":"AAEO,MAAMA,kBAAAA,GAAqB;AAAA,EAChCC,kBAAAA,EAAoB;AACtB;AAEO,SAASC,kBAAAA,CACdC,cAAsCH,kBAAAA,EACd;AACxB,EAAA,OAAO,CAAC,0BAA0BG,WAAW,CAAA;AAC/C;;;;"}
1
+ {"version":3,"file":"common.js","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/common.ts"],"sourcesContent":["import type { BridgeInfoQueryKeyType, BridgeInfoInputParams } from \"./types\";\n\nexport const defaultInputParams = {\n allowBridgeAndSwap: true,\n} satisfies BridgeInfoInputParams;\n\nexport function bridgeInfoQueryKey(\n inputParams: BridgeInfoInputParams = defaultInputParams\n): BridgeInfoQueryKeyType {\n return [\"swap/delta/bridge-info\", inputParams] as const;\n}\n"],"names":["defaultInputParams","allowBridgeAndSwap","bridgeInfoQueryKey","inputParams"],"mappings":"AAEO,MAAMA,kBAAAA,GAAqB;AAAA,EAChCC,kBAAAA,EAAoB;AACtB;AAEO,SAASC,kBAAAA,CACdC,cAAqCH,kBAAAA,EACb;AACxB,EAAA,OAAO,CAAC,0BAA0BG,WAAW,CAAA;AAC/C;;;;"}
@@ -5,13 +5,13 @@ type BridgeInfoQueryParams<TData = BridgeInfoReturn> = Omit<UseQueryOptions<Brid
5
5
  export type BridgeInfoQueryResult<TData = BridgeInfoReturn> = UseQueryResult<TData, Error>;
6
6
  export type BridgeInfoQueryInput<TData = BridgeInfoReturn> = {
7
7
  query?: BridgeInfoQueryParams<TData>;
8
- input?: BridgeInforInputParams;
8
+ input?: BridgeInfoInputParams;
9
9
  };
10
10
  export type BridgeInfoQueryKeyType = [
11
11
  "swap/delta/bridge-info",
12
- BridgeInforInputParams
12
+ BridgeInfoInputParams
13
13
  ];
14
- export type BridgeInforInputParams = {
14
+ export type BridgeInfoInputParams = {
15
15
  allowBridgeAndSwap?: boolean;
16
16
  };
17
17
  export type BridgeInfoMode = "swap" | "limit";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE1C,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,IAAI,CACzD,eAAe,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,CAAC,EACvE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,MAAM,MAAM,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,cAAc,CAC1E,KAAK,EACL,KAAK,CACN,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,gBAAgB,IAAI;IAC3D,KAAK,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,wBAAwB;IACxB,sBAAsB;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE1C,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,IAAI,CACzD,eAAe,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,CAAC,EACvE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,MAAM,MAAM,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,cAAc,CAC1E,KAAK,EACL,KAAK,CACN,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,gBAAgB,IAAI;IAC3D,KAAK,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,wBAAwB;IACxB,qBAAqB;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC"}
@@ -26,7 +26,7 @@ type EnsureOrderExecutedFn = (options: {
26
26
  orderId: string;
27
27
  signal?: AbortSignal;
28
28
  }) => Promise<MaybeVeloraDeltaAuction>;
29
- export declare function useEnsureDeltaOrderExecuted(): EnsureOrderExecutedFn;
29
+ export declare function useEnsureDeltaOrderExecuted({ onAuctionSuccess, onAuctionFailure, }?: Pick<UseWatchDeltaAuctionQueryInput, "onAuctionSuccess" | "onAuctionFailure">): EnsureOrderExecutedFn;
30
30
  type UseWatchMultiDeltaAuctions = {
31
31
  orderIds: string[];
32
32
  enabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWatchDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"names":[],"mappings":"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"}
@@ -128,29 +128,41 @@ function useWatchDeltaAuction({
128
128
  }, [orderId, enabled, sdk.getDeltaOrderById]);
129
129
  return useQuery(queryOptions);
130
130
  }
131
- function useEnsureDeltaOrderExecuted() {
132
- const $ = distExports.c(5);
131
+ function useEnsureDeltaOrderExecuted(t0) {
132
+ const $ = distExports.c(9);
133
+ let t1;
134
+ if ($[0] !== t0) {
135
+ t1 = t0 === void 0 ? {} : t0;
136
+ $[0] = t0;
137
+ $[1] = t1;
138
+ } else {
139
+ t1 = $[1];
140
+ }
141
+ const {
142
+ onAuctionSuccess,
143
+ onAuctionFailure
144
+ } = t1;
133
145
  const queryClient = useQueryClient();
134
146
  const logger = useLogger("EnsureDeltaOrderExecuted");
135
- let t0;
136
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
137
- t0 = {
147
+ let t2;
148
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
149
+ t2 = {
138
150
  chainId: 1
139
151
  };
140
- $[0] = t0;
152
+ $[2] = t2;
141
153
  } else {
142
- t0 = $[0];
154
+ t2 = $[2];
143
155
  }
144
156
  const {
145
157
  sdk
146
- } = useDeltaSDK(t0);
147
- let t1;
148
- if ($[1] !== logger || $[2] !== queryClient || $[3] !== sdk.getDeltaOrderById) {
149
- t1 = async (t2) => {
158
+ } = useDeltaSDK(t2);
159
+ let t3;
160
+ if ($[3] !== logger || $[4] !== onAuctionFailure || $[5] !== onAuctionSuccess || $[6] !== queryClient || $[7] !== sdk.getDeltaOrderById) {
161
+ t3 = async (t4) => {
150
162
  const {
151
163
  orderId,
152
164
  signal
153
- } = t2;
165
+ } = t4;
154
166
  const queryKey = deltaAuctionPollingQueryKey({
155
167
  orderId
156
168
  });
@@ -187,11 +199,13 @@ function useEnsureDeltaOrderExecuted() {
187
199
  }
188
200
  if (maybeOrder && DeltaOrderStatusChecker.completed.has(maybeOrder.status)) {
189
201
  if (isExecutedDeltaAuction(maybeOrder)) {
202
+ onAuctionSuccess?.(maybeOrder);
190
203
  cleanup();
191
204
  resolve(maybeOrder);
192
205
  return;
193
206
  }
194
- if (isFailedDeltaAuction(maybeOrder)) {
207
+ if (isFailedDeltaAuction(maybeOrder) || isOrderExpired(maybeOrder)) {
208
+ onAuctionFailure?.(maybeOrder);
195
209
  cleanup();
196
210
  reject(maybeOrder);
197
211
  return;
@@ -214,14 +228,16 @@ function useEnsureDeltaOrderExecuted() {
214
228
  });
215
229
  return promise;
216
230
  };
217
- $[1] = logger;
218
- $[2] = queryClient;
219
- $[3] = sdk.getDeltaOrderById;
220
- $[4] = t1;
231
+ $[3] = logger;
232
+ $[4] = onAuctionFailure;
233
+ $[5] = onAuctionSuccess;
234
+ $[6] = queryClient;
235
+ $[7] = sdk.getDeltaOrderById;
236
+ $[8] = t3;
221
237
  } else {
222
- t1 = $[4];
238
+ t3 = $[8];
223
239
  }
224
- const ensureOrderSent = t1;
240
+ const ensureOrderSent = t3;
225
241
  return ensureOrderSent;
226
242
  }
227
243
 
@@ -1 +1 @@
1
- {"version":3,"file":"useWatchDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport type { DeltaOrderFromAPI } from \"./useDeltaOrders\";\nimport {\n isMetaWithTimeStart,\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n type RefetchMetaWithTiming,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isOrderExpired,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\nexport type MaybeVeloraDeltaAuction = DeltaOrderFromAPI | null; // null is when no such Order for orderId\n\ntype UseDeltaAuctionQueryOptions<TData = MaybeVeloraDeltaAuction> =\n UseQueryOptions<\n MaybeVeloraDeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput = {\n orderId?: string;\n enabled?: boolean;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<MaybeVeloraDeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n | \"onAuctionSuccess\"\n | \"onAuctionFailure\"\n | \"onUpdatedAuction\"\n | \"onTimeoutGettingOrder\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled = true,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n onTimeoutGettingOrder,\n}: ConstructDeltaAuctionPollingQueryOptionsInput): Pick<\n UseDeltaAuctionQueryOptions<MaybeVeloraDeltaAuction>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render,\n // including startedQueryAt\n const meta: RefetchMetaWithTiming & {\n doneState: boolean;\n } = {\n startedQueryAt: Date.now(),\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (isFailedDeltaAuction(maybeOrder) || isOrderExpired(maybeOrder)) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n if (maybeOrder === null && queryMeta && isMetaWithTimeStart(queryMeta)) {\n // no Order for this orderId for a long time\n const elapsed = Date.now() - queryMeta.startedQueryAt;\n if (elapsed > LOOK_FOR_ORDER_TIMEOUT) {\n assert(orderId, \"orderId is required\");\n onTimeoutGettingOrder?.({ id: orderId });\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling after 1 minute\n }\n }\n\n return DELTA_ORDER_POLLING_INTERVAL; // default interval for both crosschain and singlechain Orders\n },\n enabled: !!orderId && enabled,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput = {\n orderId?: string;\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: MarkOptional<DeltaAuction, \"signature\">) => void;\n onTimeoutGettingOrder?: (auction: Pick<DeltaAuction, \"id\">) => void;\n};\n\nexport function useWatchDeltaAuction({\n orderId,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n}: UseWatchDeltaAuctionQueryInput): UseQueryResult<MaybeVeloraDeltaAuction> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n };\n }, [\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n ]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n onTimeoutGettingOrder: callbacksRef.current.onTimeoutGettingOrder,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, sdk.getDeltaOrderById]);\n\n return useQuery<\n MaybeVeloraDeltaAuction,\n Error,\n MaybeVeloraDeltaAuction,\n SingleDeltaAuctionQueryKey\n >(queryOptions);\n}\n\ntype EnsureOrderExecutedFn = (options: {\n orderId: string;\n signal?: AbortSignal;\n}) => Promise<MaybeVeloraDeltaAuction>;\n\nexport function useEnsureDeltaOrderExecuted(): EnsureOrderExecutedFn {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn = async ({\n orderId,\n signal,\n }): Promise<MaybeVeloraDeltaAuction> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n getAuction: sdk.getDeltaOrderById,\n });\n\n const observer = new QueryObserver<\n MaybeVeloraDeltaAuction,\n Error,\n MaybeVeloraDeltaAuction,\n MaybeVeloraDeltaAuction,\n SingleDeltaAuctionQueryKey\n >(queryClient, queryOptions);\n\n const promise = new Promise<MaybeVeloraDeltaAuction>((resolve, reject) => {\n const startedQueryAt = Date.now();\n\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (isFailedDeltaAuction(maybeOrder)) {\n cleanup();\n reject(maybeOrder);\n return;\n }\n }\n\n if (maybeOrder === null) {\n // no Order for this orderId for a long time\n const elapsed = Date.now() - startedQueryAt;\n if (elapsed > LOOK_FOR_ORDER_TIMEOUT) {\n cleanup();\n reject(new Error(`Order ${orderId} not found`));\n return;\n }\n }\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: MarkOptional<DeltaAuction, \"signature\">) => void;\n onTimeoutGettingOrder?: (auction: Pick<DeltaAuction, \"id\">) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<MaybeVeloraDeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n };\n }, [\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n ]);\n\n const queries = useMemo<\n UseDeltaAuctionQueryOptions<MaybeVeloraDeltaAuction>[]\n >(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n onTimeoutGettingOrder: callbacksRef.current.onTimeoutGettingOrder,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaOrderFromAPI[];\n onAuctionSuccess?: (order: DeltaOrderFromAPI) => void;\n onAuctionFailure?: (order: DeltaOrderFromAPI) => void;\n onUpdatedAuction?: (\n auction: MarkOptional<DeltaAuction, \"signature\">,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaOrderFromAPI>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n if (order) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n } as DeltaOrderFromAPI; // order.bridgeMetadata should be filled but not according to types\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n if (order) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n } as DeltaOrderFromAPI; // order.bridgeMetadata should be filled but not according to types\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"names":["SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","deltaAuctionPollingQueryKey","orderId","DELTA_ORDER_POLLING_INTERVAL","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","enabled","getAuction","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","onTimeoutGettingOrder","doneState","isMetaWithDoneState","queryMeta","meta","startedQueryAt","Date","now","queryKey","queryFn","signal","assert","refetchInterval","query","maybeOrder","state","data","options","isWithDoneState","getLogger","log","DeltaOrderStatusChecker","completed","has","status","isExecutedDeltaAuction","isFailedDeltaAuction","isOrderExpired","isMetaWithTimeStart","elapsed","id","useWatchDeltaAuction","sdk","useDeltaSDK","chainId","callbacksRef","useRef","useLayoutEffect","current","queryOptions","useMemo","getDeltaOrderById","useQuery","useEnsureDeltaOrderExecuted","$","_c","queryClient","useQueryClient","logger","useLogger","t0","Symbol","for","t1","t2","observer","QueryObserver","promise","Promise","resolve","reject","timeout","setTimeout","unsubscribe","Error","addEventListener","clearTimeout","reason","subscribe","result","cleanup","error","ensureOrderSent"],"mappings":"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"}
1
+ {"version":3,"file":"useWatchDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport type { DeltaOrderFromAPI } from \"./useDeltaOrders\";\nimport {\n isMetaWithTimeStart,\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n type RefetchMetaWithTiming,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isOrderExpired,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\nexport type MaybeVeloraDeltaAuction = DeltaOrderFromAPI | null; // null is when no such Order for orderId\n\ntype UseDeltaAuctionQueryOptions<TData = MaybeVeloraDeltaAuction> =\n UseQueryOptions<\n MaybeVeloraDeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput = {\n orderId?: string;\n enabled?: boolean;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<MaybeVeloraDeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n | \"onAuctionSuccess\"\n | \"onAuctionFailure\"\n | \"onUpdatedAuction\"\n | \"onTimeoutGettingOrder\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled = true,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n onTimeoutGettingOrder,\n}: ConstructDeltaAuctionPollingQueryOptionsInput): Pick<\n UseDeltaAuctionQueryOptions<MaybeVeloraDeltaAuction>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render,\n // including startedQueryAt\n const meta: RefetchMetaWithTiming & {\n doneState: boolean;\n } = {\n startedQueryAt: Date.now(),\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (isFailedDeltaAuction(maybeOrder) || isOrderExpired(maybeOrder)) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n if (maybeOrder === null && queryMeta && isMetaWithTimeStart(queryMeta)) {\n // no Order for this orderId for a long time\n const elapsed = Date.now() - queryMeta.startedQueryAt;\n if (elapsed > LOOK_FOR_ORDER_TIMEOUT) {\n assert(orderId, \"orderId is required\");\n onTimeoutGettingOrder?.({ id: orderId });\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling after 1 minute\n }\n }\n\n return DELTA_ORDER_POLLING_INTERVAL; // default interval for both crosschain and singlechain Orders\n },\n enabled: !!orderId && enabled,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput = {\n orderId?: string;\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: MarkOptional<DeltaAuction, \"signature\">) => void;\n onTimeoutGettingOrder?: (auction: Pick<DeltaAuction, \"id\">) => void;\n};\n\nexport function useWatchDeltaAuction({\n orderId,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n}: UseWatchDeltaAuctionQueryInput): UseQueryResult<MaybeVeloraDeltaAuction> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n };\n }, [\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n ]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n onTimeoutGettingOrder: callbacksRef.current.onTimeoutGettingOrder,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, sdk.getDeltaOrderById]);\n\n return useQuery<\n MaybeVeloraDeltaAuction,\n Error,\n MaybeVeloraDeltaAuction,\n SingleDeltaAuctionQueryKey\n >(queryOptions);\n}\n\ntype EnsureOrderExecutedFn = (options: {\n orderId: string;\n signal?: AbortSignal;\n}) => Promise<MaybeVeloraDeltaAuction>;\n\nexport function useEnsureDeltaOrderExecuted({\n onAuctionSuccess,\n onAuctionFailure,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\"\n> = {}): EnsureOrderExecutedFn {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn = async ({\n orderId,\n signal,\n }): Promise<MaybeVeloraDeltaAuction> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n getAuction: sdk.getDeltaOrderById,\n });\n\n const observer = new QueryObserver<\n MaybeVeloraDeltaAuction,\n Error,\n MaybeVeloraDeltaAuction,\n MaybeVeloraDeltaAuction,\n SingleDeltaAuctionQueryKey\n >(queryClient, queryOptions);\n\n const promise = new Promise<MaybeVeloraDeltaAuction>((resolve, reject) => {\n const startedQueryAt = Date.now();\n\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (isFailedDeltaAuction(maybeOrder) || isOrderExpired(maybeOrder)) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(maybeOrder);\n return;\n }\n }\n\n if (maybeOrder === null) {\n // no Order for this orderId for a long time\n const elapsed = Date.now() - startedQueryAt;\n if (elapsed > LOOK_FOR_ORDER_TIMEOUT) {\n cleanup();\n reject(new Error(`Order ${orderId} not found`));\n return;\n }\n }\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: MarkOptional<DeltaAuction, \"signature\">) => void;\n onTimeoutGettingOrder?: (auction: Pick<DeltaAuction, \"id\">) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<MaybeVeloraDeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n };\n }, [\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n ]);\n\n const queries = useMemo<\n UseDeltaAuctionQueryOptions<MaybeVeloraDeltaAuction>[]\n >(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n onTimeoutGettingOrder: callbacksRef.current.onTimeoutGettingOrder,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaOrderFromAPI[];\n onAuctionSuccess?: (order: DeltaOrderFromAPI) => void;\n onAuctionFailure?: (order: DeltaOrderFromAPI) => void;\n onUpdatedAuction?: (\n auction: MarkOptional<DeltaAuction, \"signature\">,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaOrderFromAPI>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n if (order) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n } as DeltaOrderFromAPI; // order.bridgeMetadata should be filled but not according to types\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n if (order) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n } as DeltaOrderFromAPI; // order.bridgeMetadata should be filled but not according to types\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"names":["SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","deltaAuctionPollingQueryKey","orderId","DELTA_ORDER_POLLING_INTERVAL","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","enabled","getAuction","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","onTimeoutGettingOrder","doneState","isMetaWithDoneState","queryMeta","meta","startedQueryAt","Date","now","queryKey","queryFn","signal","assert","refetchInterval","query","maybeOrder","state","data","options","isWithDoneState","getLogger","log","DeltaOrderStatusChecker","completed","has","status","isExecutedDeltaAuction","isFailedDeltaAuction","isOrderExpired","isMetaWithTimeStart","elapsed","id","useWatchDeltaAuction","sdk","useDeltaSDK","chainId","callbacksRef","useRef","useLayoutEffect","current","queryOptions","useMemo","getDeltaOrderById","useQuery","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","useQueryClient","logger","useLogger","t2","Symbol","for","t3","t4","observer","QueryObserver","promise","Promise","resolve","reject","timeout","setTimeout","unsubscribe","Error","addEventListener","clearTimeout","reason","subscribe","result","cleanup","error","ensureOrderSent"],"mappings":";;;;;;;;;AAkCA,MAAMA,qCAAAA,GAAwC,sBAAA;AAMvC,SAASC,2BAAAA,CAA4B;AAAA,EAC1CC;AAGF,CAAA,GAAI,EAAC,EAA+B;AAClC,EAAA,OAAO,CAACF,uCAAuCE,OAAO,CAAA;AACxD;AAYA,MAAMC,4BAAAA,GAA+B,GAAA;AAiBrC,MAAMC,sBAAAA,GAAyB,GAAA;AAE/B,SAASC,wCAAAA,CAAyC;AAAA,EAChDH,OAAAA;AAAAA,EACAI,OAAAA,GAAU,IAAA;AAAA,EACVC,UAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC;AAC6C,CAAA,EAG7C;AACA,EAAA,MAAMC,SAAAA,GAAY,KAAA;AAElB,EAAA,MAAMC,mBAAAA,GAAsBA,CAC1BC,SAAAA,KACwC;AACxC,IAAA,OAAO,WAAA,IAAeA,SAAAA,IAAa,OAAOA,SAAAA,CAAUF,SAAAA,KAAc,SAAA;AAAA,EACpE,CAAA;AAIA,EAAA,MAAMG,IAAAA,GAEF;AAAA,IACFC,cAAAA,EAAgBC,KAAKC,GAAAA,EAAI;AAAA,IACzBN;AAAAA,GACF;AAEA,EAAA,OAAO;AAAA,IACLO,UAAUlB,2BAAAA,CAA4B;AAAA,MAAEC;AAAAA,KAAS,CAAA;AAAA,IACjDkB,SAASA,CAAC;AAAA,MAAEC;AAAAA,KAAO,KAAM;AACvBC,MAAAA,MAAAA,CAAOpB,SAAS,qBAAqB,CAAA;AACrC,MAAA,OAAOK,WAAWL,OAAAA,EAAS;AAAA,QAAEmB;AAAAA,OAAQ,CAAA;AAAA,IACvC,CAAA;AAAA,IACAN,IAAAA;AAAAA,IACAQ,iBAAkBC,CAAAA,KAAAA,KAAU;AAC1B,MAAA,MAAMC,UAAAA,GAAaD,MAAME,KAAAA,CAAMC,IAAAA;AAE/B,MAAA,MAAMb,SAAAA,GAAYU,MAAMI,OAAAA,CAAQb,IAAAA;AAIhC,MAAA,MAAMc,eAAAA,GAAkB,CAAC,CAACf,SAAAA,IAAaD,oBAAoBC,SAAS,CAAA;AACpE,MAAA,IAAIe,eAAAA,IAAmBf,UAAUF,SAAAA,EAAW;AAC1CkB,QAAAA,SAAAA,CAAU,iCAAiC,CAAA,CAAEC,GAAAA,CAC3C,qCACF,CAAA;AACA,QAAA,OAAO,KAAA;AAAA,MACT;AAGA,MAAA,IAAIN,UAAAA,qBAA+BA,UAAU,CAAA;AAG7C,MAAA,IACEA,cACAO,uBAAAA,CAAwBC,SAAAA,CAAUC,GAAAA,CAAIT,UAAAA,CAAWU,MAAM,CAAA,EACvD;AAEA,QAAA,IAAIC,sBAAAA,CAAuBX,UAAU,CAAA,EAAG;AACtChB,UAAAA,gBAAAA,GAAmBgB,UAAU,CAAA;AAC7B,UAAA,IAAII,eAAAA,EAAiB;AACnBf,YAAAA,SAAAA,CAAUF,SAAAA,GAAY,IAAA;AAAA,UACxB;AACA,UAAA,OAAO,KAAA;AAAA,QACT;AACA,QAAA,IAAIyB,oBAAAA,CAAqBZ,UAAU,CAAA,IAAKa,cAAAA,CAAeb,UAAU,CAAA,EAAG;AAClEf,UAAAA,gBAAAA,GAAmBe,UAAU,CAAA;AAC7B,UAAA,IAAII,eAAAA,EAAiB;AACnBf,YAAAA,SAAAA,CAAUF,SAAAA,GAAY,IAAA;AAAA,UACxB;AACA,UAAA,OAAO,KAAA;AAAA,QACT;AAAA,MACF;AAEA,MAAA,IAAIa,UAAAA,KAAe,IAAA,IAAQX,SAAAA,IAAayB,mBAAAA,CAAoBzB,SAAS,CAAA,EAAG;AAEtE,QAAA,MAAM0B,OAAAA,GAAUvB,IAAAA,CAAKC,GAAAA,EAAI,GAAIJ,SAAAA,CAAUE,cAAAA;AACvC,QAAA,IAAIwB,UAAUpC,sBAAAA,EAAwB;AACpCkB,UAAAA,MAAAA,CAAOpB,SAAS,qBAAqB,CAAA;AACrCS,UAAAA,qBAAAA,GAAwB;AAAA,YAAE8B,EAAAA,EAAIvC;AAAAA,WAAS,CAAA;AACvC,UAAA,IAAI2B,eAAAA,EAAiB;AACnBf,YAAAA,SAAAA,CAAUF,SAAAA,GAAY,IAAA;AAAA,UACxB;AACA,UAAA,OAAO,KAAA;AAAA,QACT;AAAA,MACF;AAEA,MAAA,OAAOT,4BAAAA;AAAAA,IACT,CAAA;AAAA,IACAG,OAAAA,EAAS,CAAC,CAACJ,OAAAA,IAAWI;AAAAA,GACxB;AACF;AAaO,SAASoC,oBAAAA,CAAqB;AAAA,EACnCxC,OAAAA;AAAAA,EACAI,OAAAA,GAAU,IAAA;AAAA,EACVG,gBAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAF,gBAAAA;AAAAA,EACAG;AAC8B,CAAA,EAA4C;AAC1E,EAAA,MAAM;AAAA,IAAEgC;AAAAA,MAAQC,WAAAA,CAAY;AAAA,IAAEC,OAAAA,EAAS;AAAA,GAAG,CAAA;AAE1C,EAAA,MAAMC,eAAeC,MAAAA,CAAO;AAAA,IAC1BtC,gBAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAF,gBAAAA;AAAAA,IACAG;AAAAA,GACD,CAAA;AAEDqC,EAAAA,eAAAA,CAAgB,MAAM;AACpBF,IAAAA,YAAAA,CAAaG,OAAAA,GAAU;AAAA,MACrBxC,gBAAAA;AAAAA,MACAC,gBAAAA;AAAAA,MACAF,gBAAAA;AAAAA,MACAG;AAAAA,KACF;AAAA,EACF,GAAG,CACDF,gBAAAA,EACAC,gBAAAA,EACAF,gBAAAA,EACAG,qBAAqB,CACtB,CAAA;AAED,EAAA,MAAMuC,YAAAA,GAAeC,QAAQ,MAAM;AAEjC,IAAA,OAAO9C,wCAAAA,CAAyC;AAAA,MAC9CH,OAAAA;AAAAA,MACAI,OAAAA;AAAAA,MACAC,YAAYoC,GAAAA,CAAIS,iBAAAA;AAAAA,MAChB5C,gBAAAA,EAAkBsC,aAAaG,OAAAA,CAAQzC,gBAAAA;AAAAA,MACvCC,gBAAAA,EAAkBqC,aAAaG,OAAAA,CAAQxC,gBAAAA;AAAAA,MACvCC,gBAAAA,EAAkBoC,aAAaG,OAAAA,CAAQvC,gBAAAA;AAAAA,MACvCC,qBAAAA,EAAuBmC,aAAaG,OAAAA,CAAQtC;AAAAA,KAC7C,CAAA;AAAA,EAEH,GAAG,CAACT,OAAAA,EAASI,OAAAA,EAASqC,GAAAA,CAAIS,iBAAiB,CAAC,CAAA;AAE5C,EAAA,OAAOC,SAKLH,YAAY,CAAA;AAChB;AAOO,SAAAI,4BAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AAAqCG,IAAAA,EAAAA,GAAAH,EAAAA,KAAAI,MAAAA,GAAA,EAMvC,GANuCJ,EAAAA;AAMtCC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AANsC,EAAA,MAAA;AAAA,IAAA/C,gBAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAgD,EAAAA;AAO1C,EAAA,MAAAE,cAAoBC,cAAAA,EAAe;AACnC,EAAA,MAAAC,MAAAA,GAAeC,UAAU,0BAA0B,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAR,EAAA,CAAA,CAAA,KAAAS,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACzBF,IAAAA,EAAAA,GAAA;AAAA,MAAAnB,OAAAA,EAAW;AAAA,KAAE;AAACW,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAA1C,EAAA,MAAA;AAAA,IAAAb;AAAAA,GAAA,GAAgBC,YAAYoB,EAAc,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAM,MAAAA,IAAAN,EAAA,CAAA,CAAA,KAAA9C,oBAAA8C,CAAAA,CAAA,CAAA,MAAA/C,gBAAAA,IAAA+C,CAAAA,QAAAI,WAAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAb,IAAAS,iBAAAA,EAAA;AAEGe,IAAAA,EAAAA,UAAAC,EAAAA,KAAA;AAAO,MAAA,MAAA;AAAA,QAAAlE,OAAAA;AAAAA,QAAAmB;AAAAA,OAAA,GAAA+C,EAAAA;AAIpD,MAAA,MAAAjD,WAA6ClB,2BAAAA,CAA4B;AAAA,QAAAC;AAAAA,OAExE,CAAA;AAED,MAAA,MAAAgD,eAAqB7C,wCAAAA,CAAyC;AAAA,QAAAH,OAAAA;AAAAA,QAAAI,OAAAA,EAEnD,IAAA;AAAA,QAAIC,YACDoC,GAAAA,CAAGS;AAAAA,OAChB,CAAA;AAED,MAAA,MAAAiB,QAAAA,GAAiB,IAAIC,aAAAA,CAMnBV,WAAAA,EAAaV,YAAY,CAAA;AAE3B,MAAA,MAAAqB,OAAAA,GAAgB,IAAIC,OAAAA,CAAiC,CAAAC,SAAAC,MAAAA,KAAA;AACnD,QAAA,MAAA1D,cAAAA,GAAuBC,KAAIC,GAAAA,EAAK;AAKhC,QAAA,IAAAyD,OAAAA,GAAqCC,WAAW,MAAA;AAC9Cd,UAAAA,MAAAA,CAAM/B,GAAAA,CAAK,eAAA,EAAiBZ,QAAAA,EAAU,SAAS,CAAA;AAC/C0D,UAAAA,WAAAA,EAAY;AACZH,UAAAA,MAAAA,CAAO,IAAII,KAAAA,CAAM,CAAA,MAAA,EAAS5E,OAAO,YAAY,CAAC,CAAA;AAAA,QAAC,CAAA,EAC9CE,yBAAyB,GAAI,CAAA;AAEhCiB,QAAAA,MAAAA,EAAM0D,gBAAAA,CAAmB,SAAS,MAAA;AAChC,UAAA,IAAIJ,OAAAA,EAAO;AACTK,YAAAA,YAAAA,CAAaL,OAAO,CAAA;AAAA,UAAC;AAEvBE,UAAAA,WAAAA,EAAY;AACZH,UAAAA,MAAAA,CAAO,IAAII,KAAAA,CAAM,CAAA,yBAAA,EAA4BzD,MAAAA,CAAM4D,MAAO,EAAE,CAAC,CAAA;AAAA,QAAC,CAC/D,CAAA;AAED,QAAA,MAAAJ,WAAAA,GAAoBR,QAAAA,CAAQa,SAAAA,CAAWC,CAAAA,MAAAA,KAAA;AACrC,UAAA,MAAAC,UAAgBA,MAAA;AACdtB,YAAAA,MAAAA,CAAM/B,GAAAA,CAAK,eAAA,EAAiBZ,QAAAA,EAAU,SAAS,CAAA;AAC/C0D,YAAAA,WAAAA,EAAY;AAAA,UAAC,CAAA;AAGff,UAAAA,MAAAA,CAAM/B,GAAAA,CAAK,eAAA,EAAiBZ,QAAAA,EAAUgE,MAAM,CAAA;AAE5C,UAAA,MAAA1D,aAAmB0D,MAAAA,CAAMxD,IAAAA;AAEzB,UAAA,IAAIF,UAAAA,IAAckD,YAAY,IAAA,EAAI;AAEhCK,YAAAA,YAAAA,CAAaL,OAAO,CAAA;AACpBA,YAAAA,OAAAA,GAAUA,IAAAA;AAAAA,UAAH;AAIT,UAAA,IACElD,cACAO,uBAAAA,CAAuBC,SAAAA,CAAUC,GAAAA,CAAKT,UAAAA,CAAUU,MAAO,CAAA,EAAC;AAGxD,YAAA,IAAIC,sBAAAA,CAAuBX,UAAU,CAAA,EAAC;AACpChB,cAAAA,gBAAAA,GAAmBgB,UAAU,CAAA;AAC7B2D,cAAAA,OAAAA,EAAQ;AACRX,cAAAA,OAAAA,CAAQhD,UAAU,CAAA;AAAC,cAAA;AAAA,YAAA;AAGrB,YAAA,IAAIY,oBAAAA,CAAqBZ,UAAwC,CAAA,IAAzBa,cAAAA,CAAeb,UAAU,CAAA,EAAC;AAChEf,cAAAA,gBAAAA,GAAmBe,UAAU,CAAA;AAC7B2D,cAAAA,OAAAA,EAAQ;AACRV,cAAAA,MAAAA,CAAOjD,UAAU,CAAA;AAAC,cAAA;AAAA,YAAA;AAAA,UAEnB;AAGH,UAAA,IAAIA,eAAe,IAAA,EAAI;AAErB,YAAA,MAAAe,OAAAA,GAAgBvB,IAAAA,CAAIC,GAAAA,EAAK,GAAIF,cAAAA;AAC7B,YAAA,IAAIwB,UAAUpC,sBAAAA,EAAsB;AAClCgF,cAAAA,OAAAA,EAAQ;AACRV,cAAAA,MAAAA,CAAO,IAAII,KAAAA,CAAM,CAAA,MAAA,EAAS5E,OAAO,YAAY,CAAC,CAAA;AAAC,cAAA;AAAA,YAAA;AAAA,UAEhD;AAEH,UAAA,IAAIiF,OAAME,KAAAA,EAAM;AACdD,YAAAA,OAAAA,EAAQ;AACRV,YAAAA,MAAAA,CAAOS,OAAME,KAAM,CAAA;AAAC,YAAA;AAAA,UAAA;AAAA,QAErB,CACF,CAAA;AAAA,MAAE,CACJ,CAAA;AAAE,MAAA,OAEId,OAAAA;AAAAA,IAAO,CAAA;AACff,IAAAA,CAAAA,MAAAM,MAAAA;AAAAN,IAAAA,CAAAA,MAAA9C,gBAAAA;AAAA8C,IAAAA,CAAAA,MAAA/C,gBAAAA;AAAA+C,IAAAA,CAAAA,MAAAI,WAAAA;AAAAJ,IAAAA,CAAAA,CAAA,CAAA,IAAAb,GAAAA,CAAAS,iBAAAA;AAAAI,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAhGD,EAAA,MAAA8B,eAAAA,GAA+CnB,EAAAA;AAgG7C,EAAA,OAEKmB,eAAAA;AAAe;;;;"}
@@ -1,3 +1,4 @@
1
- import { DeltaPrice, SwapSideUnion } from '@velora-dex/sdk';
1
+ import { DeltaAuctionOrder, DeltaPrice, SwapSideUnion } from '@velora-dex/sdk';
2
2
  export declare function getSwapSideFromDeltaPrice(price: DeltaPrice): SwapSideUnion;
3
+ export declare function getSwapSideFromDeltaOrder(order: DeltaAuctionOrder): SwapSideUnion;
3
4
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAM1E"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAM1E;AAOD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,GACvB,aAAa,CAEf"}
@@ -4,6 +4,13 @@ function getSwapSideFromDeltaPrice(price) {
4
4
  }
5
5
  return "SELL";
6
6
  }
7
+ const OrderKindToSwapSide = {
8
+ 0: "SELL",
9
+ 1: "BUY"
10
+ };
11
+ function getSwapSideFromDeltaOrder(order) {
12
+ return OrderKindToSwapSide[order.kind];
13
+ }
7
14
 
8
- export { getSwapSideFromDeltaPrice };
15
+ export { getSwapSideFromDeltaOrder, getSwapSideFromDeltaPrice };
9
16
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/utils.ts"],"sourcesContent":["import type { DeltaPrice } from \"@velora-dex/sdk\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\n\nexport function getSwapSideFromDeltaPrice(price: DeltaPrice): SwapSideUnion {\n if (price.srcAmountBeforeFee) {\n // srcAmountBeforeFee is only available for BUY side\n return \"BUY\";\n }\n return \"SELL\";\n}\n"],"names":["getSwapSideFromDeltaPrice","price","srcAmountBeforeFee"],"mappings":"AAGO,SAASA,0BAA0BC,KAAAA,EAAkC;AAC1E,EAAA,IAAIA,MAAMC,kBAAAA,EAAoB;AAE5B,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,MAAA;AACT;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/utils.ts"],"sourcesContent":["import type { DeltaAuctionOrder, DeltaPrice } from \"@velora-dex/sdk\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\n\nexport function getSwapSideFromDeltaPrice(price: DeltaPrice): SwapSideUnion {\n if (price.srcAmountBeforeFee) {\n // srcAmountBeforeFee is only available for BUY side\n return \"BUY\";\n }\n return \"SELL\";\n}\n\nconst OrderKindToSwapSide = {\n 0: \"SELL\",\n 1: \"BUY\",\n} as const;\n\nexport function getSwapSideFromDeltaOrder(\n order: DeltaAuctionOrder\n): SwapSideUnion {\n return OrderKindToSwapSide[order.kind];\n}\n"],"names":["getSwapSideFromDeltaPrice","price","srcAmountBeforeFee","OrderKindToSwapSide","getSwapSideFromDeltaOrder","order","kind"],"mappings":"AAGO,SAASA,0BAA0BC,KAAAA,EAAkC;AAC1E,EAAA,IAAIA,MAAMC,kBAAAA,EAAoB;AAE5B,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,MAAA;AACT;AAEA,MAAMC,mBAAAA,GAAsB;AAAA,EAC1B,CAAA,EAAG,MAAA;AAAA,EACH,CAAA,EAAG;AACL,CAAA;AAEO,SAASC,0BACdC,KAAAA,EACe;AACf,EAAA,OAAOF,mBAAAA,CAAoBE,MAAMC,IAAI,CAAA;AACvC;;;;"}
@@ -1,15 +1,15 @@
1
1
  import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
2
2
  import { BuildSwapTxInput, BuildOptions, TransactionParams } from '@velora-dex/sdk';
3
- type BuildTxInput = {
3
+ export type BuildMarketSwapTxInput = {
4
4
  swapTxInput: BuildSwapTxInput;
5
5
  swapTxOptions?: BuildOptions;
6
6
  };
7
7
  export type BuildTxReturn = TransactionParams;
8
- type BuildTxMutationOptions = Omit<UseMutationOptions<BuildTxReturn, Error, BuildTxInput, void>, "mutationFn">;
8
+ type BuildTxMutationOptions = Omit<UseMutationOptions<BuildTxReturn, Error, BuildMarketSwapTxInput, void>, "mutationFn">;
9
9
  type BuildTxMutationInput = {
10
10
  mutationOptions?: BuildTxMutationOptions;
11
11
  chainId: number;
12
12
  };
13
- export declare function useBuildTx({ mutationOptions, chainId, }: BuildTxMutationInput): UseMutationResult<BuildTxReturn, Error, BuildTxInput, void>;
13
+ export declare function useBuildTx({ mutationOptions, chainId, }: BuildTxMutationInput): UseMutationResult<BuildTxReturn, Error, BuildMarketSwapTxInput, void>;
14
14
  export {};
15
15
  //# sourceMappingURL=useBuildTx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildTx.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/mutations/useBuildTx.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,KAAK,YAAY,GAAG;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE9C,KAAK,sBAAsB,GAAG,IAAI,CAChC,kBAAkB,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAC5D,YAAY,CACb,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,eAAe,EACf,OAAO,GACR,EAAE,oBAAoB,GAAG,iBAAiB,CACzC,aAAa,EACb,KAAK,EACL,YAAY,EACZ,IAAI,CACL,CAUA"}
1
+ {"version":3,"file":"useBuildTx.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/mutations/useBuildTx.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE9C,KAAK,sBAAsB,GAAG,IAAI,CAChC,kBAAkB,CAAC,aAAa,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,CAAC,EACtE,YAAY,CACb,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACzB,eAAe,EACf,OAAO,GACR,EAAE,oBAAoB,GAAG,iBAAiB,CACzC,aAAa,EACb,KAAK,EACL,sBAAsB,EACtB,IAAI,CACL,CAUA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildTx.js","sources":["../../../../../../src/hooks/swap/prices/market/mutations/useBuildTx.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n BuildSwapTxInput,\n BuildOptions,\n TransactionParams,\n} from \"@velora-dex/sdk\";\n\ntype BuildTxInput = {\n swapTxInput: BuildSwapTxInput;\n swapTxOptions?: BuildOptions;\n};\nexport type BuildTxReturn = TransactionParams;\n\ntype BuildTxMutationOptions = Omit<\n UseMutationOptions<BuildTxReturn, Error, BuildTxInput, void>,\n \"mutationFn\"\n>;\n\ntype BuildTxMutationInput = {\n mutationOptions?: BuildTxMutationOptions;\n chainId: number;\n};\n\nexport function useBuildTx({\n mutationOptions,\n chainId,\n}: BuildTxMutationInput): UseMutationResult<\n BuildTxReturn,\n Error,\n BuildTxInput,\n void\n> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useMutation<BuildTxReturn, Error, BuildTxInput, void>({\n mutationFn: async ({ swapTxInput, swapTxOptions }: BuildTxInput) => {\n const tx = await sdk.buildTx(swapTxInput, swapTxOptions);\n return tx;\n },\n ...mutationOptions,\n });\n}\n"],"names":["useBuildTx","t0","$","_c","mutationOptions","chainId","t1","sdk","useMarketSwapSDK","t2","t3","swapTxInput","swapTxOptions","tx","buildTx","mutationFn","useMutation"],"mappings":";;;;AA4BO,SAAAA,WAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAoB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAGJ,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAG,OAAAA,EAAA;AAMYC,IAAAA,EAAAA,GAAA;AAAA,MAAAD;AAAAA,KAAU;AAACH,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAA5C,EAAA,MAAA;AAAA,IAAAK;AAAAA,GAAA,GAAgBC,iBAAiBF,EAAW,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAP,CAAAA,QAAAK,GAAAA,EAAA;AAGhCE,IAAAA,EAAAA,UAAAC,GAAAA,KAAA;AAAO,MAAA,MAAA;AAAA,QAAAC,WAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAF,GAAAA;AACjB,MAAA,MAAAG,EAAAA,GAAW,MAAMN,GAAAA,CAAGO,OAAAA,CAASH,aAAaC,aAAa,CAAA;AAAE,MAAA,OAClDC,EAAAA;AAAAA,IAAE,CAAA;AACVX,IAAAA,CAAAA,MAAAK,GAAAA;AAAAL,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAR,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAO,EAAAA,EAAA;AAJ0DC,IAAAA,EAAAA,GAAA;AAAA,MAAAK,UAAAA,EAC/CN,EAAAA;AAAAA,MAGX,GACEL;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAO,EAAAA;AAAAP,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMc,YAAsDN,EAM5D,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useBuildTx.js","sources":["../../../../../../src/hooks/swap/prices/market/mutations/useBuildTx.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n BuildSwapTxInput,\n BuildOptions,\n TransactionParams,\n} from \"@velora-dex/sdk\";\n\nexport type BuildMarketSwapTxInput = {\n swapTxInput: BuildSwapTxInput;\n swapTxOptions?: BuildOptions;\n};\nexport type BuildTxReturn = TransactionParams;\n\ntype BuildTxMutationOptions = Omit<\n UseMutationOptions<BuildTxReturn, Error, BuildMarketSwapTxInput, void>,\n \"mutationFn\"\n>;\n\ntype BuildTxMutationInput = {\n mutationOptions?: BuildTxMutationOptions;\n chainId: number;\n};\n\nexport function useBuildTx({\n mutationOptions,\n chainId,\n}: BuildTxMutationInput): UseMutationResult<\n BuildTxReturn,\n Error,\n BuildMarketSwapTxInput,\n void\n> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useMutation<BuildTxReturn, Error, BuildMarketSwapTxInput, void>({\n mutationFn: async ({ swapTxInput, swapTxOptions }: BuildMarketSwapTxInput) => {\n const tx = await sdk.buildTx(swapTxInput, swapTxOptions);\n return tx;\n },\n ...mutationOptions,\n });\n}\n"],"names":["useBuildTx","t0","$","_c","mutationOptions","chainId","t1","sdk","useMarketSwapSDK","t2","t3","swapTxInput","swapTxOptions","tx","buildTx","mutationFn","useMutation"],"mappings":";;;;AA4BO,SAAAA,WAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAoB,EAAA,MAAA;AAAA,IAAAC,eAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAGJ,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAG,OAAAA,EAAA;AAMYC,IAAAA,EAAAA,GAAA;AAAA,MAAAD;AAAAA,KAAU;AAACH,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAA5C,EAAA,MAAA;AAAA,IAAAK;AAAAA,GAAA,GAAgBC,iBAAiBF,EAAW,CAAA;AAAE,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAP,CAAAA,QAAAK,GAAAA,EAAA;AAGhCE,IAAAA,EAAAA,UAAAC,GAAAA,KAAA;AAAO,MAAA,MAAA;AAAA,QAAAC,WAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAAF,GAAAA;AACjB,MAAA,MAAAG,EAAAA,GAAW,MAAMN,GAAAA,CAAGO,OAAAA,CAASH,aAAaC,aAAa,CAAA;AAAE,MAAA,OAClDC,EAAAA;AAAAA,IAAE,CAAA;AACVX,IAAAA,CAAAA,MAAAK,GAAAA;AAAAL,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAAR,EAAA,CAAA,CAAA,KAAAE,mBAAAF,CAAAA,QAAAO,EAAAA,EAAA;AAJoEC,IAAAA,EAAAA,GAAA;AAAA,MAAAK,UAAAA,EACzDN,EAAAA;AAAAA,MAGX,GACEL;AAAAA,KACL;AAACF,IAAAA,CAAAA,MAAAE,eAAAA;AAAAF,IAAAA,CAAAA,MAAAO,EAAAA;AAAAP,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMc,YAAgEN,EAMtE,CAAA;AAAC;;;;"}
@@ -1,9 +1,4 @@
1
1
  import { d as distExports } from '../../../_virtual/index.js';
2
- import '../../useSDK.js';
3
- import '@tanstack/react-pacer/debouncer';
4
- import '@tanstack/react-query';
5
- import 'react';
6
- import 'ts-essentials';
7
2
  import { useAtomValue } from '../../../core/store.js';
8
3
  import { useAccount } from 'wagmi';
9
4
  import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
@@ -1 +1 @@
1
- {"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\n\nimport { useAtomValue } from \"@/core/store\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToReceiveAmountWeiAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\n\nexport type FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n | \"otherExchangePrices\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n\nexport function usePricesParams(tradeMode: TradeMode): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n const receiveAmountWeiAtom = tradeModeToReceiveAmountWeiAtom[tradeMode];\n\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const widgetConfig = useWidgetConfig();\n const partner = usePartner();\n\n const isCrossChain = !!toToken && fromToken.network !== toToken.network;\n\n const swapSide = useSwapSide();\n const side = tradeMode === \"swap\" ? swapSide : \"SELL\";\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n ignoreBadUsdPrice: widgetConfig.ignoreBadUsdPrice ?? true,\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n otherExchangePrices: true,\n };\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n"],"names":["usePricesParams","tradeMode","$","_c","tokenFromAtom","tokenToAtom","tradeModeToTokenAtoms","fromToken","useAtomValue","toToken","payAmountWeiAtom","tradeModeToPayAmountWeiAtom","receiveAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","payAmountWei","receiveAmountWei","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","useTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","useAccount","widgetConfig","useWidgetConfig","partner","usePartner","isCrossChain","swapSide","useSwapSide","side","amount","t6","t7","decimals","t8","ignoreBadUsdPrice","t9","srcToken","destToken","srcDecimals","destDecimals","userAddress","otherExchangePrices","priceParams","t10","undefined","t11","destChainId"],"mappings":"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"}
1
+ {"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\n\nimport { useAtomValue } from \"@/core/store\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToReceiveAmountWeiAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\n\nexport type FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n | \"otherExchangePrices\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n\nexport function usePricesParams(tradeMode: TradeMode): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n const receiveAmountWeiAtom = tradeModeToReceiveAmountWeiAtom[tradeMode];\n\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const widgetConfig = useWidgetConfig();\n const partner = usePartner();\n\n const isCrossChain = !!toToken && fromToken.network !== toToken.network;\n\n const swapSide = useSwapSide();\n const side = tradeMode === \"swap\" ? swapSide : \"SELL\";\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n ignoreBadUsdPrice: widgetConfig.ignoreBadUsdPrice ?? true,\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n otherExchangePrices: true,\n };\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n"],"names":["usePricesParams","tradeMode","$","_c","tokenFromAtom","tokenToAtom","tradeModeToTokenAtoms","fromToken","useAtomValue","toToken","payAmountWeiAtom","tradeModeToPayAmountWeiAtom","receiveAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","payAmountWei","receiveAmountWei","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","useTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","useAccount","widgetConfig","useWidgetConfig","partner","usePartner","isCrossChain","swapSide","useSwapSide","side","amount","t6","t7","decimals","t8","ignoreBadUsdPrice","t9","srcToken","destToken","srcDecimals","destDecimals","userAddress","otherExchangePrices","priceParams","t10","undefined","t11","destChainId"],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { encodeFunctionData } from 'viem/utils';
2
2
 
3
+ function isSwapTradeFlowType(tradeFlowType) {
4
+ return tradeFlowType === "marketSwap" || tradeFlowType === "deltaOrder";
5
+ }
3
6
  function isOrderTradeFlowType(tradeFlowType) {
4
7
  return tradeFlowType === "limitOrder" || tradeFlowType === "otcOrder" || tradeFlowType === "fillOtcOrder";
5
8
  }
@@ -17,5 +20,5 @@ const depositWETHCalldata = encodeFunctionData({
17
20
  args: []
18
21
  });
19
22
 
20
- export { depositWETHCalldata, isOrderTradeFlowType };
23
+ export { depositWETHCalldata, isOrderTradeFlowType, isSwapTradeFlowType };
21
24
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/utils.ts"],"sourcesContent":["import { encodeFunctionData } from \"viem/utils\";\nimport type {\n TradeFlowType,\n OrderTradeFlowType,\n SwapTradeFlowType,\n} from \"./types\";\n\nexport function isSwapTradeFlowType(\n tradeFlowType: TradeFlowType\n): tradeFlowType is SwapTradeFlowType {\n return tradeFlowType === \"marketSwap\" || tradeFlowType === \"deltaOrder\";\n}\n\nexport function isOrderTradeFlowType(\n tradeFlowType: TradeFlowType\n): tradeFlowType is OrderTradeFlowType {\n return (\n tradeFlowType === \"limitOrder\" ||\n tradeFlowType === \"otcOrder\" ||\n tradeFlowType === \"fillOtcOrder\"\n );\n}\n\nconst WETHMinAbi = [\n {\n inputs: [],\n name: \"deposit\",\n outputs: [],\n payable: true,\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n\nexport const depositWETHCalldata = encodeFunctionData({\n abi: WETHMinAbi,\n functionName: \"deposit\",\n args: [],\n});\n"],"names":["isOrderTradeFlowType","tradeFlowType","WETHMinAbi","inputs","name","outputs","payable","stateMutability","type","depositWETHCalldata","encodeFunctionData","abi","functionName","args"],"mappings":";;AAaO,SAASA,qBACdC,aAAAA,EACqC;AACrC,EAAA,OACEA,aAAAA,KAAkB,YAAA,IAClBA,aAAAA,KAAkB,UAAA,IAClBA,aAAAA,KAAkB,cAAA;AAEtB;AAEA,MAAMC,aAAa,CACjB;AAAA,EACEC,QAAQ,EAAA;AAAA,EACRC,IAAAA,EAAM,SAAA;AAAA,EACNC,SAAS,EAAA;AAAA,EACTC,OAAAA,EAAS,IAAA;AAAA,EACTC,eAAAA,EAAiB,SAAA;AAAA,EACjBC,IAAAA,EAAM;AACR,CAAC,CAAA;AAGI,MAAMC,sBAAsBC,kBAAAA,CAAmB;AAAA,EACpDC,GAAAA,EAAKT,UAAAA;AAAAA,EACLU,YAAAA,EAAc,SAAA;AAAA,EACdC,MAAM;AACR,CAAC;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/utils.ts"],"sourcesContent":["import { encodeFunctionData } from \"viem/utils\";\nimport type {\n TradeFlowType,\n OrderTradeFlowType,\n SwapTradeFlowType,\n} from \"./types\";\n\nexport function isSwapTradeFlowType(\n tradeFlowType: TradeFlowType\n): tradeFlowType is SwapTradeFlowType {\n return tradeFlowType === \"marketSwap\" || tradeFlowType === \"deltaOrder\";\n}\n\nexport function isOrderTradeFlowType(\n tradeFlowType: TradeFlowType\n): tradeFlowType is OrderTradeFlowType {\n return (\n tradeFlowType === \"limitOrder\" ||\n tradeFlowType === \"otcOrder\" ||\n tradeFlowType === \"fillOtcOrder\"\n );\n}\n\nconst WETHMinAbi = [\n {\n inputs: [],\n name: \"deposit\",\n outputs: [],\n payable: true,\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n\nexport const depositWETHCalldata = encodeFunctionData({\n abi: WETHMinAbi,\n functionName: \"deposit\",\n args: [],\n});\n"],"names":["isSwapTradeFlowType","tradeFlowType","isOrderTradeFlowType","WETHMinAbi","inputs","name","outputs","payable","stateMutability","type","depositWETHCalldata","encodeFunctionData","abi","functionName","args"],"mappings":";;AAOO,SAASA,oBACdC,aAAAA,EACoC;AACpC,EAAA,OAAOA,aAAAA,KAAkB,gBAAgBA,aAAAA,KAAkB,YAAA;AAC7D;AAEO,SAASC,qBACdD,aAAAA,EACqC;AACrC,EAAA,OACEA,aAAAA,KAAkB,YAAA,IAClBA,aAAAA,KAAkB,UAAA,IAClBA,aAAAA,KAAkB,cAAA;AAEtB;AAEA,MAAME,aAAa,CACjB;AAAA,EACEC,QAAQ,EAAA;AAAA,EACRC,IAAAA,EAAM,SAAA;AAAA,EACNC,SAAS,EAAA;AAAA,EACTC,OAAAA,EAAS,IAAA;AAAA,EACTC,eAAAA,EAAiB,SAAA;AAAA,EACjBC,IAAAA,EAAM;AACR,CAAC,CAAA;AAGI,MAAMC,sBAAsBC,kBAAAA,CAAmB;AAAA,EACpDC,GAAAA,EAAKT,UAAAA;AAAAA,EACLU,YAAAA,EAAc,SAAA;AAAA,EACdC,MAAM;AACR,CAAC;;;;"}