@velora-dex/widget 0.2.5-dev.0 → 0.2.5-dev.1

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 (235) hide show
  1. package/dist/components/ui/button.d.ts +1 -1
  2. package/dist/components/ui/dropdown-menu.d.ts +3 -2
  3. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  4. package/dist/components/ui/dropdown-menu.js +44 -22
  5. package/dist/components/ui/dropdown-menu.js.map +1 -1
  6. package/dist/components/ui/tooltip.d.ts +4 -2
  7. package/dist/components/ui/tooltip.d.ts.map +1 -1
  8. package/dist/components/ui/tooltip.js +44 -27
  9. package/dist/components/ui/tooltip.js.map +1 -1
  10. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +7 -7
  11. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  12. package/dist/components/web3/providers.d.ts.map +1 -1
  13. package/dist/components/web3/providers.js +1 -2
  14. package/dist/components/web3/providers.js.map +1 -1
  15. package/dist/components/widget/AppHeader/Activities/ActivityItems.js +1 -1
  16. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  17. package/dist/components/widget/AppHeader/AppHeader.js +1 -1
  18. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  19. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +1 -1
  20. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  21. package/dist/components/widget/Dialog/state/dialogAtom.d.ts.map +1 -1
  22. package/dist/components/widget/Dialog/state/dialogAtom.js +2 -1
  23. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  24. package/dist/components/widget/Drawer/Overlay.js +1 -1
  25. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  26. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  27. package/dist/components/widget/Drawer/state/useDrawerControls.js +2 -1
  28. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  29. package/dist/components/widget/ImportToken/ImportToken.js +1 -1
  30. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  31. package/dist/components/widget/OrderExpiryInput/index.js +1 -1
  32. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  33. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.d.ts.map +1 -1
  34. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +2 -1
  35. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  36. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +1 -1
  37. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  38. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +1 -1
  39. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  40. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts +2 -2
  41. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
  42. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +2 -1
  43. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  44. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +1 -1
  45. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  46. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -1
  47. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +2 -1
  48. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
  49. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +1 -1
  50. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  51. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +1 -1
  52. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  53. package/dist/configurator/components/common/DetailWithTooltip.d.ts +1 -0
  54. package/dist/configurator/components/common/DetailWithTooltip.d.ts.map +1 -1
  55. package/dist/core/DevTools.d.ts.map +1 -1
  56. package/dist/core/LimitOrderButton.js +1 -1
  57. package/dist/core/LimitOrderButton.js.map +1 -1
  58. package/dist/core/OtcOrderButton.js +1 -1
  59. package/dist/core/OtcOrderButton.js.map +1 -1
  60. package/dist/core/index.d.ts.map +1 -1
  61. package/dist/core/index.js +94 -102
  62. package/dist/core/index.js.map +1 -1
  63. package/dist/core/inputs/hooks/useTokenFromInputProps.js +1 -1
  64. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  65. package/dist/core/inputs/hooks/useTokenSwitcherProps.js +1 -1
  66. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  67. package/dist/core/inputs/hooks/useTokenToInputProps.js +1 -1
  68. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  69. package/dist/core/inputs/state/common.d.ts.map +1 -1
  70. package/dist/core/inputs/state/common.js +2 -1
  71. package/dist/core/inputs/state/common.js.map +1 -1
  72. package/dist/core/inputs/state/selectedTokenActionsAtom.js +1 -1
  73. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  74. package/dist/core/inputs/state/selectedTokenAtom.d.ts.map +1 -1
  75. package/dist/core/inputs/state/selectedTokenAtom.js +2 -1
  76. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  77. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  78. package/dist/core/inputs/state/setTokenByAddressAtom.js +2 -1
  79. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  80. package/dist/core/limit/state/currentLimitInputAtom.d.ts +2 -2
  81. package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
  82. package/dist/core/limit/state/deadlineAtom.js +2 -1
  83. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  84. package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
  85. package/dist/core/limit/state/selectedTokenAtom.js +2 -2
  86. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  87. package/dist/core/limit/useLimitDetailsListProps.js +1 -1
  88. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  89. package/dist/core/limit/useLimitPriceDifference.js +1 -1
  90. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  91. package/dist/core/limit/useLimitPriceInputProps.js +1 -1
  92. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  93. package/dist/core/limit/useLimitRate.js +1 -1
  94. package/dist/core/limit/useLimitRate.js.map +1 -1
  95. package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
  96. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  97. package/dist/core/limit/useLimitTokenSwitcherProps.js +1 -1
  98. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  99. package/dist/core/limit/useLimitTokenToInputProps.js +1 -1
  100. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  101. package/dist/core/logger.js +1 -1
  102. package/dist/core/logger.js.map +1 -1
  103. package/dist/core/otc/state/currentOtcInputAtom.d.ts +2 -2
  104. package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
  105. package/dist/core/otc/state/deadlineAtom.js +2 -1
  106. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  107. package/dist/core/otc/state/receiverAddressAtom.d.ts.map +1 -1
  108. package/dist/core/otc/state/receiverAddressAtom.js +2 -1
  109. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  110. package/dist/core/otc/state/selectedTokenAtom.d.ts.map +1 -1
  111. package/dist/core/otc/state/selectedTokenAtom.js +2 -2
  112. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  113. package/dist/core/otc/useOtcDetailsListProps.js +1 -1
  114. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  115. package/dist/core/otc/useOtcPriceDifference.js +1 -1
  116. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  117. package/dist/core/otc/useOtcPriceInputProps.js +1 -1
  118. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  119. package/dist/core/otc/useOtcTokenFromInputProps.js +1 -1
  120. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  121. package/dist/core/otc/useOtcTokenSwitcherProps.js +1 -1
  122. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  123. package/dist/core/otc/useOtcTokenToInputProps.js +1 -1
  124. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  125. package/dist/core/state/chainToAtom.d.ts.map +1 -1
  126. package/dist/core/state/chainToAtom.js +2 -1
  127. package/dist/core/state/chainToAtom.js.map +1 -1
  128. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  129. package/dist/core/state/configActionsAtom.js +1 -3
  130. package/dist/core/state/configActionsAtom.js.map +1 -1
  131. package/dist/core/state/configAtom.d.ts +2 -4
  132. package/dist/core/state/configAtom.d.ts.map +1 -1
  133. package/dist/core/state/configAtom.js +5 -8
  134. package/dist/core/state/configAtom.js.map +1 -1
  135. package/dist/core/state/configEffectAtom.d.ts.map +1 -1
  136. package/dist/core/state/configEffectAtom.js +2 -1
  137. package/dist/core/state/configEffectAtom.js.map +1 -1
  138. package/dist/core/state/containerAtom.d.ts.map +1 -1
  139. package/dist/core/state/containerAtom.js +2 -1
  140. package/dist/core/state/containerAtom.js.map +1 -1
  141. package/dist/core/state/enabledChainsAtom.d.ts.map +1 -1
  142. package/dist/core/state/enabledChainsAtom.js +2 -1
  143. package/dist/core/state/enabledChainsAtom.js.map +1 -1
  144. package/dist/core/state/externalProviderAtom.d.ts.map +1 -1
  145. package/dist/core/state/externalProviderAtom.js +2 -1
  146. package/dist/core/state/externalProviderAtom.js.map +1 -1
  147. package/dist/core/state/isCrosschainAtom.d.ts.map +1 -1
  148. package/dist/core/state/isCrosschainAtom.js +2 -1
  149. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  150. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  151. package/dist/core/state/tradeModeAtom.js +2 -1
  152. package/dist/core/state/tradeModeAtom.js.map +1 -1
  153. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  154. package/dist/core/state/widgetEventsAtom.js +2 -1
  155. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  156. package/dist/core/store.d.ts +29 -0
  157. package/dist/core/store.d.ts.map +1 -0
  158. package/dist/core/store.js +15 -0
  159. package/dist/core/store.js.map +1 -0
  160. package/dist/core/swapDetails/useSwapDetailsListProps.js +1 -1
  161. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  162. package/dist/core/types.d.ts +0 -6
  163. package/dist/core/types.d.ts.map +1 -1
  164. package/dist/events/effects/price.js +1 -1
  165. package/dist/events/effects/price.js.map +1 -1
  166. package/dist/events/effects/swapMode.js +1 -1
  167. package/dist/events/effects/swapMode.js.map +1 -1
  168. package/dist/events/hooks/useActivateEffects.js +1 -1
  169. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  170. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
  171. package/dist/hooks/gas/useGasPrices.js +2 -2
  172. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  173. package/dist/hooks/otc/mutations/useFillOrder.js +0 -4
  174. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  175. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.d.ts.map +1 -1
  176. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js +2 -1
  177. package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
  178. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +6 -6
  179. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
  180. package/dist/hooks/swap/prices/usePricesParams.js +6 -1
  181. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  182. package/dist/hooks/swap/prices/useSwapPrices.js +1 -1
  183. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  184. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +1 -1
  185. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  186. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
  187. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  188. package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
  189. package/dist/hooks/tokens/prices/queries.js +2 -2
  190. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  191. package/dist/hooks/tokens/useAllTokensWithFilter.js +1 -1
  192. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  193. package/dist/hooks/tokens/useTokenTaxFee.js +2 -2
  194. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  195. package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
  196. package/dist/hooks/txs/queries/useTxHistory.js +2 -2
  197. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  198. package/dist/hooks/useEIP1559Enabled.js +1 -1
  199. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  200. package/dist/hooks/useGlobalDeltaEnabled.js +1 -1
  201. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  202. package/dist/hooks/useSDK.d.ts.map +1 -1
  203. package/dist/hooks/useSDK.js +11 -11
  204. package/dist/hooks/useSDK.js.map +1 -1
  205. package/dist/hooks/useSlippage.js +1 -1
  206. package/dist/hooks/useSlippage.js.map +1 -1
  207. package/dist/lib/constants/index.d.ts +2 -0
  208. package/dist/lib/constants/index.d.ts.map +1 -1
  209. package/dist/lib/constants/index.js +4 -1
  210. package/dist/lib/constants/index.js.map +1 -1
  211. package/dist/lib/utils/explorer.d.ts.map +1 -1
  212. package/dist/lib/utils/explorer.js +3 -3
  213. package/dist/lib/utils/explorer.js.map +1 -1
  214. package/dist/styles.css +4 -0
  215. package/dist/tokens/hooks.js +1 -1
  216. package/dist/tokens/hooks.js.map +1 -1
  217. package/dist/tokens/lists/state/effects.js +1 -2
  218. package/dist/tokens/lists/state/effects.js.map +1 -1
  219. package/dist/tokens/queries.js +1 -1
  220. package/dist/tokens/queries.js.map +1 -1
  221. package/dist/transactions/state/hooks/useActivateEffects.js +1 -1
  222. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  223. package/dist/transactions/state/hooks/useTransactions.js +1 -1
  224. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  225. package/dist/transactions/state/transactionsActionAtom.js +1 -1
  226. package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
  227. package/package.json +4 -3
  228. package/dist/core/inputs/state/store.d.ts +0 -2
  229. package/dist/core/inputs/state/store.d.ts.map +0 -1
  230. package/dist/core/inputs/state/store.js +0 -6
  231. package/dist/core/inputs/state/store.js.map +0 -1
  232. package/dist/lib/constants/urls.d.ts +0 -4
  233. package/dist/lib/constants/urls.d.ts.map +0 -1
  234. package/dist/lib/constants/urls.js +0 -30
  235. package/dist/lib/constants/urls.js.map +0 -1
@@ -40,13 +40,7 @@ export interface WidgetConfig {
40
40
  tradeModes?: TradeMode[];
41
41
  /** UI elements to exclude. If provided, these elements will be hidden in the widget UI. */
42
42
  excludeUI?: WidgetElements[];
43
- devURLs?: DevURLs;
44
43
  }
45
- export type DevURLs = {
46
- apiURL?: string;
47
- apiProxyURL?: string;
48
- explorerURL?: string;
49
- };
50
44
  interface RequestArguments {
51
45
  readonly method: any;
52
46
  readonly params?: any;
@@ -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,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;CAC9B;AAGD,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,4 +1,4 @@
1
- import { jotaiStore } from '../../core/inputs/state/store.js';
1
+ import { jotaiStore } from '../../core/store.js';
2
2
  import { swapModeAtom } from '../../components/widget/SwapModeSwitcher/state/swapModeAtom.js';
3
3
  import { isLastDeltaPriceQueryInError, isDeltaPrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
4
4
  import { widgetEventsAtom } from '../../core/state/widgetEventsAtom.js';
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","sources":["../../../src/events/effects/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport {\n isDeltaPrice,\n isLastDeltaPriceQueryInError,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nexport function notifyOnPriceChange(\n price: DeltaOrMarketPrice,\n queryClient: QueryClient\n) {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n const priceIsDelta = isDeltaPrice(price);\n const priceIsMarket = !priceIsDelta;\n\n if (swapMode === \"market\" && priceIsMarket) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n\n if (swapMode === \"delta\" && priceIsDelta) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n return;\n }\n\n if (\n swapMode === \"delta\" &&\n priceIsMarket &&\n // market price will be used independent of swapMode setting if Delta price has error\n isLastDeltaPriceQueryInError(queryClient)\n ) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n}\n"],"names":["notifyOnPriceChange","price","queryClient","onPriceChange","jotaiStore","get","widgetEventsAtom","swapMode","swapModeAtom","priceIsDelta","isDeltaPrice","priceIsMarket","event","name","params","priceMode","isLastDeltaPriceQueryInError"],"mappings":";;;;;AAUO,SAASA,mBAAAA,CACdC,OACAC,WAAAA,EACA;AACA,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAc,GAAIC,UAAAA,CAAWC,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,EAAA,IAAI,CAACH,aAAAA,EAAe;AAEpB,EAAA,MAAMI,QAAAA,GAAWH,UAAAA,CAAWC,GAAAA,CAAIG,YAAY,CAAA;AAE5C,EAAA,MAAMC,YAAAA,GAAeC,aAAaT,KAAK,CAAA;AACvC,EAAA,MAAMU,gBAAgB,CAACF,YAAAA;AAEvB,EAAA,IAAIF,QAAAA,KAAa,YAAYI,aAAAA,EAAe;AAC1CR,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AAEA,EAAA,IAAIM,QAAAA,KAAa,WAAWE,YAAAA,EAAc;AACxCN,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,OAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AACD,IAAA;AAAA,EACF;AAEA,EAAA,IACEM,aAAa,OAAA,IACbI,aAAAA;AAAAA,EAEAK,4BAAAA,CAA6Bd,WAAW,CAAA,EACxC;AACAC,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AACF;;;;"}
1
+ {"version":3,"file":"price.js","sources":["../../../src/events/effects/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { jotaiStore } from \"@/core/store\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport {\n isDeltaPrice,\n isLastDeltaPriceQueryInError,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nexport function notifyOnPriceChange(\n price: DeltaOrMarketPrice,\n queryClient: QueryClient\n) {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n const priceIsDelta = isDeltaPrice(price);\n const priceIsMarket = !priceIsDelta;\n\n if (swapMode === \"market\" && priceIsMarket) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n\n if (swapMode === \"delta\" && priceIsDelta) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n return;\n }\n\n if (\n swapMode === \"delta\" &&\n priceIsMarket &&\n // market price will be used independent of swapMode setting if Delta price has error\n isLastDeltaPriceQueryInError(queryClient)\n ) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n}\n"],"names":["notifyOnPriceChange","price","queryClient","onPriceChange","jotaiStore","get","widgetEventsAtom","swapMode","swapModeAtom","priceIsDelta","isDeltaPrice","priceIsMarket","event","name","params","priceMode","isLastDeltaPriceQueryInError"],"mappings":";;;;;AAUO,SAASA,mBAAAA,CACdC,OACAC,WAAAA,EACA;AACA,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAc,GAAIC,UAAAA,CAAWC,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,EAAA,IAAI,CAACH,aAAAA,EAAe;AAEpB,EAAA,MAAMI,QAAAA,GAAWH,UAAAA,CAAWC,GAAAA,CAAIG,YAAY,CAAA;AAE5C,EAAA,MAAMC,YAAAA,GAAeC,aAAaT,KAAK,CAAA;AACvC,EAAA,MAAMU,gBAAgB,CAACF,YAAAA;AAEvB,EAAA,IAAIF,QAAAA,KAAa,YAAYI,aAAAA,EAAe;AAC1CR,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AAEA,EAAA,IAAIM,QAAAA,KAAa,WAAWE,YAAAA,EAAc;AACxCN,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,OAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AACD,IAAA;AAAA,EACF;AAEA,EAAA,IACEM,aAAa,OAAA,IACbI,aAAAA;AAAAA,EAEAK,4BAAAA,CAA6Bd,WAAW,CAAA,EACxC;AACAC,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AACF;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { swapModeAtom } from '../../components/widget/SwapModeSwitcher/state/swapModeAtom.js';
2
- import { jotaiStore } from '../../core/inputs/state/store.js';
2
+ import { jotaiStore } from '../../core/store.js';
3
3
  import { widgetEventsAtom } from '../../core/state/widgetEventsAtom.js';
4
4
  import { getLastDeltaPrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
5
5
  import { getLastMarketPrice } from '../../hooks/swap/prices/market/queries/useMarketPriceQuery.js';
@@ -1 +1 @@
1
- {"version":3,"file":"swapMode.js","sources":["../../../src/events/effects/swapMode.ts"],"sourcesContent":["import { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport { getLastDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { getLastMarketPrice } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { queryClient } from \"@/lib/queryClient\";\n\nexport function subscribeToPriceOnSwapModeChange() {\n // on swapMode change, notify of the latest price for the new swap mode\n jotaiStore.sub(swapModeAtom, () => {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n if (swapMode === \"delta\") {\n const price = getLastDeltaPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n\n return;\n }\n if (swapMode === \"market\") {\n const price = getLastMarketPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n return;\n }\n });\n}\n"],"names":["subscribeToPriceOnSwapModeChange","jotaiStore","sub","swapModeAtom","onPriceChange","get","widgetEventsAtom","swapMode","price","getLastDeltaPrice","queryClient","event","name","params","priceMode","getLastMarketPrice"],"mappings":";;;;;;;AAOO,SAASA,gCAAAA,GAAmC;AAEjDC,EAAAA,UAAAA,CAAWC,GAAAA,CAAIC,cAAc,MAAM;AACjC,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAc,GAAIH,UAAAA,CAAWI,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,IAAA,IAAI,CAACF,aAAAA,EAAe;AAEpB,IAAA,MAAMG,QAAAA,GAAWN,UAAAA,CAAWI,GAAAA,CAAIF,YAAY,CAAA;AAE5C,IAAA,IAAII,aAAa,OAAA,EAAS;AACxB,MAAA,MAAMC,KAAAA,GAAQC,kBAAkBC,WAAW,CAAA;AAC3C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,OAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AAED,MAAA;AAAA,IACF;AACA,IAAA,IAAID,aAAa,QAAA,EAAU;AACzB,MAAA,MAAMC,KAAAA,GAAQO,mBAAmBL,WAAW,CAAA;AAC5C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,QAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AACD,MAAA;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"swapMode.js","sources":["../../../src/events/effects/swapMode.ts"],"sourcesContent":["import { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { jotaiStore } from \"@/core/store\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport { getLastDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { getLastMarketPrice } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { queryClient } from \"@/lib/queryClient\";\n\nexport function subscribeToPriceOnSwapModeChange() {\n // on swapMode change, notify of the latest price for the new swap mode\n jotaiStore.sub(swapModeAtom, () => {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n if (swapMode === \"delta\") {\n const price = getLastDeltaPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n\n return;\n }\n if (swapMode === \"market\") {\n const price = getLastMarketPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n return;\n }\n });\n}\n"],"names":["subscribeToPriceOnSwapModeChange","jotaiStore","sub","swapModeAtom","onPriceChange","get","widgetEventsAtom","swapMode","price","getLastDeltaPrice","queryClient","event","name","params","priceMode","getLastMarketPrice"],"mappings":";;;;;;;AAOO,SAASA,gCAAAA,GAAmC;AAEjDC,EAAAA,UAAAA,CAAWC,GAAAA,CAAIC,cAAc,MAAM;AACjC,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAc,GAAIH,UAAAA,CAAWI,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,IAAA,IAAI,CAACF,aAAAA,EAAe;AAEpB,IAAA,MAAMG,QAAAA,GAAWN,UAAAA,CAAWI,GAAAA,CAAIF,YAAY,CAAA;AAE5C,IAAA,IAAII,aAAa,OAAA,EAAS;AACxB,MAAA,MAAMC,KAAAA,GAAQC,kBAAkBC,WAAW,CAAA;AAC3C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,OAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AAED,MAAA;AAAA,IACF;AACA,IAAA,IAAID,aAAa,QAAA,EAAU;AACzB,MAAA,MAAMC,KAAAA,GAAQO,mBAAmBL,WAAW,CAAA;AAC5C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,QAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AACD,MAAA;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AACH;;;;"}
@@ -1,4 +1,4 @@
1
- import { useAtom } from 'jotai';
1
+ import { useAtom } from '../../core/store.js';
2
2
  import { swapFormInputAtomEffect, limitOrderFormInputAtomEffect, otcFormInputAtomEffect } from '../effects/formInput.js';
3
3
 
4
4
  function useActivateEffects() {
@@ -1 +1 @@
1
- {"version":3,"file":"useActivateEffects.js","sources":["../../../src/events/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"jotai\";\nimport {\n swapFormInputAtomEffect,\n limitOrderFormInputAtomEffect,\n otcFormInputAtomEffect,\n} from \"../effects/formInput\";\n\nexport function useActivateEffects() {\n // atomEffects must be rendered for subscriptions to activate\n useAtom(swapFormInputAtomEffect);\n useAtom(limitOrderFormInputAtomEffect);\n useAtom(otcFormInputAtomEffect);\n}\n"],"names":["useActivateEffects","useAtom","swapFormInputAtomEffect","limitOrderFormInputAtomEffect","otcFormInputAtomEffect"],"mappings":";;;AAOO,SAAAA,kBAAAA,GAAA;AAELC,EAAAA,OAAAA,CAAQC,uBAAuB,CAAA;AAC/BD,EAAAA,OAAAA,CAAQE,6BAA6B,CAAA;AACrCF,EAAAA,OAAAA,CAAQG,sBAAsB,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useActivateEffects.js","sources":["../../../src/events/hooks/useActivateEffects.ts"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport {\n swapFormInputAtomEffect,\n limitOrderFormInputAtomEffect,\n otcFormInputAtomEffect,\n} from \"../effects/formInput\";\n\nexport function useActivateEffects() {\n // atomEffects must be rendered for subscriptions to activate\n useAtom(swapFormInputAtomEffect);\n useAtom(limitOrderFormInputAtomEffect);\n useAtom(otcFormInputAtomEffect);\n}\n"],"names":["useActivateEffects","useAtom","swapFormInputAtomEffect","limitOrderFormInputAtomEffect","otcFormInputAtomEffect"],"mappings":";;;AAOO,SAAAA,kBAAAA,GAAA;AAELC,EAAAA,OAAAA,CAAQC,uBAAuB,CAAA;AAC/BD,EAAAA,OAAAA,CAAQE,6BAA6B,CAAA;AACrCF,EAAAA,OAAAA,CAAQG,sBAAsB,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGasPrices.d.ts","sourceRoot":"","sources":["../../../src/hooks/gas/useGasPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,SAAS,CAAC;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,QAAA,MAAM,yBAAyB,eAAe,CAAC;AAE/C,KAAK,iBAAiB,GAAG;IACvB,OAAO,yBAAyB;IAChC,OAAO,EAAE,gBAAgB;IACzB,cAAc,EAAE,OAAO;CACxB,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,OAAO,GACtB,iBAAiB,CAEnB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EAAE,QAAQ,GAClB,GAAE;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACvB,GAAG,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,CA4EpD"}
1
+ {"version":3,"file":"useGasPrices.d.ts","sourceRoot":"","sources":["../../../src/hooks/gas/useGasPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGtE,OAAO,KAAK,EAAE,qBAAqB,EAAwB,MAAM,SAAS,CAAC;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,QAAA,MAAM,yBAAyB,eAAe,CAAC;AAE/C,KAAK,iBAAiB,GAAG;IACvB,OAAO,yBAAyB;IAChC,OAAO,EAAE,gBAAgB;IACzB,cAAc,EAAE,OAAO;CACxB,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,OAAO,GACtB,iBAAiB,CAEnB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EAAE,QAAQ,GAClB,GAAE;IACD,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACvB,GAAG,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,CA4EpD"}
@@ -2,9 +2,9 @@ import { d as distExports } from '../../_virtual/index.js';
2
2
  import axios from 'axios';
3
3
  import { useQuery } from '@tanstack/react-query';
4
4
  import { useChainId } from 'wagmi';
5
+ import { API_URL } from '../../lib/constants/index.js';
5
6
  import { isLegacyPriceResponse, weiToGwei } from './utils.js';
6
7
  import { gasPricesConfig } from './config.js';
7
- import { getApiURL } from '../../lib/constants/urls.js';
8
8
 
9
9
  const GAS_PRICES_BASE_QUERY_KEY = "gas-prices";
10
10
  function constructGasParamsQueryKey(chainId, eop1559Enabled) {
@@ -44,7 +44,7 @@ function useGasPrices(t0) {
44
44
  const allowEip1559 = config.eip1559;
45
45
  const {
46
46
  data
47
- } = await axios.get(`${getApiURL()}/prices/gas/${chainId}`, {
47
+ } = await axios.get(`${API_URL}/prices/gas/${chainId}`, {
48
48
  signal,
49
49
  params: {
50
50
  eip1559: allowEip1559
@@ -1 +1 @@
1
- {"version":3,"file":"useGasPrices.js","sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${getApiURL()}/prices/gas/${chainId}`,\n { signal, params: { eip1559: allowEip1559 } }\n );\n\n const legacyPrices = isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: weiToGwei(data.safeLow),\n standard: weiToGwei(data.average),\n fast: weiToGwei(data.fast),\n instant: weiToGwei(data.fastest),\n }\n : {\n slow: weiToGwei(data.safeLow.legacyGasPrice),\n standard: weiToGwei(data.average.legacyGasPrice),\n fast: weiToGwei(data.fast.legacyGasPrice),\n instant: weiToGwei(data.fastest.legacyGasPrice),\n };\n\n const eip1559Prices = !isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: {\n maxFeePerGas: weiToGwei(data.safeLow.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.safeLow.maxPriorityFeePerGas\n ),\n },\n standard: {\n maxFeePerGas: weiToGwei(data.average.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.average.maxPriorityFeePerGas\n ),\n },\n fast: {\n maxFeePerGas: weiToGwei(data.fast.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(data.fast.maxPriorityFeePerGas),\n },\n instant: {\n maxFeePerGas: weiToGwei(data.fastest.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.fastest.maxPriorityFeePerGas\n ),\n },\n }\n : undefined;\n\n return {\n legacyPrices,\n eip1559Prices,\n blockData: data.blockData,\n optimisticGasOracleData:\n data.optimismGasOracleData || data.baseGasOracleData,\n };\n },\n\n enabled: !!chainId,\n refetchInterval: import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval,\n });\n}\n"],"names":["GAS_PRICES_BASE_QUERY_KEY","constructGasParamsQueryKey","chainId","eop1559Enabled","useGasPrices","t0","$","_c","t1","_chainId","appChainId","useChainId","config","gasPricesConfig","t2","eip1559","t3","t4","signal","allowEip1559","data","axios","get","getApiURL","params","legacyPrices","isLegacyPriceResponse","slow","weiToGwei","safeLow","standard","average","fast","instant","fastest","legacyGasPrice","eip1559Prices","maxFeePerGas","maxPriorityFeePerGas","undefined","blockData","optimisticGasOracleData","optimismGasOracleData","baseGasOracleData","t5","refetchInterval","t6","queryKey","queryFn","enabled","useQuery"],"mappings":"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"}
1
+ {"version":3,"file":"useGasPrices.js","sources":["../../../src/hooks/gas/useGasPrices.ts"],"sourcesContent":["import axios from \"axios\";\nimport { useQuery, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useChainId } from \"wagmi\";\nimport { API_URL } from \"@/lib/constants\";\nimport type { ConsolidatedGasPrices, GasPricesAPIResponse } from \"./types\";\nimport { isLegacyPriceResponse, weiToGwei } from \"./utils\";\nimport { gasPricesConfig } from \"./config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nconst GAS_PRICES_BASE_QUERY_KEY = \"gas-prices\";\n\ntype GasPricesQueryKey = [\n typeof GAS_PRICES_BASE_QUERY_KEY,\n chainId: SupportedChainId,\n eip1559Enabled: boolean,\n];\n\nexport function constructGasParamsQueryKey(\n chainId: SupportedChainId,\n eop1559Enabled: boolean\n): GasPricesQueryKey {\n return [GAS_PRICES_BASE_QUERY_KEY, chainId, eop1559Enabled];\n}\n\nexport function useGasPrices({\n chainId: _chainId,\n}: {\n chainId?: SupportedChainId;\n} = {}): UseQueryResult<ConsolidatedGasPrices, Error> {\n const appChainId = useChainId();\n const chainId = _chainId ?? appChainId;\n\n const config = gasPricesConfig[chainId];\n\n return useQuery<\n ConsolidatedGasPrices,\n Error,\n ConsolidatedGasPrices,\n GasPricesQueryKey\n >({\n queryKey: constructGasParamsQueryKey(chainId, config.eip1559),\n queryFn: async ({ signal }) => {\n const allowEip1559 = config.eip1559;\n\n const { data } = await axios.get<GasPricesAPIResponse>(\n `${API_URL}/prices/gas/${chainId}`,\n { signal, params: { eip1559: allowEip1559 } }\n );\n\n const legacyPrices = isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: weiToGwei(data.safeLow),\n standard: weiToGwei(data.average),\n fast: weiToGwei(data.fast),\n instant: weiToGwei(data.fastest),\n }\n : {\n slow: weiToGwei(data.safeLow.legacyGasPrice),\n standard: weiToGwei(data.average.legacyGasPrice),\n fast: weiToGwei(data.fast.legacyGasPrice),\n instant: weiToGwei(data.fastest.legacyGasPrice),\n };\n\n const eip1559Prices = !isLegacyPriceResponse(!allowEip1559, data)\n ? {\n slow: {\n maxFeePerGas: weiToGwei(data.safeLow.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.safeLow.maxPriorityFeePerGas\n ),\n },\n standard: {\n maxFeePerGas: weiToGwei(data.average.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.average.maxPriorityFeePerGas\n ),\n },\n fast: {\n maxFeePerGas: weiToGwei(data.fast.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(data.fast.maxPriorityFeePerGas),\n },\n instant: {\n maxFeePerGas: weiToGwei(data.fastest.maxFeePerGas),\n maxPriorityFeePerGas: weiToGwei(\n data.fastest.maxPriorityFeePerGas\n ),\n },\n }\n : undefined;\n\n return {\n legacyPrices,\n eip1559Prices,\n blockData: data.blockData,\n optimisticGasOracleData:\n data.optimismGasOracleData || data.baseGasOracleData,\n };\n },\n\n enabled: !!chainId,\n refetchInterval: import.meta.env.DEV\n ? config.refetchInterval * 2 // avoid rate limiting in dev\n : config.refetchInterval,\n });\n}\n"],"names":["GAS_PRICES_BASE_QUERY_KEY","constructGasParamsQueryKey","chainId","eop1559Enabled","useGasPrices","t0","$","_c","t1","_chainId","appChainId","useChainId","config","gasPricesConfig","t2","eip1559","t3","t4","signal","allowEip1559","data","axios","get","API_URL","params","legacyPrices","isLegacyPriceResponse","slow","weiToGwei","safeLow","standard","average","fast","instant","fastest","legacyGasPrice","eip1559Prices","maxFeePerGas","maxPriorityFeePerGas","undefined","blockData","optimisticGasOracleData","optimismGasOracleData","baseGasOracleData","t5","refetchInterval","t6","queryKey","queryFn","enabled","useQuery"],"mappings":"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"}
@@ -4,10 +4,6 @@ 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/web3/wagmi/config.js';
8
- import '@wagmi/core';
9
- import 'wagmi/connectors';
10
- import '../../../lib/queryClient.js';
11
7
  import 'viem';
12
8
  import '../../../transactions/state/transactionsActionAtom.js';
13
9
  import 'react/jsx-runtime';
@@ -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":"usePermit1Nonce.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/permit/hooks/permit1/usePermit1Nonce.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAE9B,eAAe,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAEhD,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC;CACrE,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,wBAAwB,CA4C7D;AAcD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAElC,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IACpD,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACtD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;CACpE,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAc,GACf,EAAE,oBAAoB,GAAG,qBAAqB,CA8F9C"}
1
+ {"version":3,"file":"usePermit1Nonce.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/permit/hooks/permit1/usePermit1Nonce.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAE9B,eAAe,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAEhD,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC;CACrE,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,wBAAwB,CA4C7D;AAcD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAElC,UAAU,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IACpD,WAAW,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACtD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,CACP,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;CACpE,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAc,GACf,EAAE,oBAAoB,GAAG,qBAAqB,CA8F9C"}
@@ -1,6 +1,7 @@
1
1
  import { useReadContracts } from 'wagmi';
2
2
  import { ERC_20_NONCES_ABI } from '../../utils/constants.js';
3
- import { useAtomValue, atom, useSetAtom } from 'jotai';
3
+ import { atom } from 'jotai';
4
+ import { useAtomValue, useSetAtom } from '../../../../core/store.js';
4
5
  import { useMemo } from 'react';
5
6
  import { isETHaddress } from '../../../../tokens/utils/eth.js';
6
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"usePermit1Nonce.js","sources":["../../../../../src/hooks/permit/hooks/permit1/usePermit1Nonce.ts"],"sourcesContent":["import { useReadContracts } from \"wagmi\";\nimport { ERC_20_NONCES_ABI } from \"../../utils/constants\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { atom, useAtomValue, useSetAtom } from \"jotai\";\nimport type { Token } from \"@/tokens/state/types\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport type { Address } from \"viem\";\nimport { useMemo } from \"react\";\nimport type { ReadContractsData } from \"wagmi/query\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\n\ninterface UsePermitNonceParams {\n token?: Address;\n owner?: Address;\n chainId?: SupportedChainId;\n enabled?: boolean;\n}\n\n// chainId:token:owner => unused nonce (next to be used, starting with 0)\nconst NoncesAtom = atom<Record<TokenNonceKey, bigint>>({});\n\ntype SetNonceInput = {\n token: Pick<Token, \"address\" | \"network\">;\n owner: Address;\n usedNonce?: bigint;\n};\n\ntype UseMarkNonceAsUsedResult = {\n // mark as minimum nonce to use for next Permit, after sending Order or tx out\n markNonceAsUsed: (input: SetNonceInput) => void;\n // clear saved minimum nonce to rely on fetched nonce, if Order or tx failed\n clearNonce: (input: Pick<SetNonceInput, \"token\" | \"owner\">) => void;\n};\n\nexport function useMarkNonceAsUsed(): UseMarkNonceAsUsedResult {\n const setNonces = useSetAtom(NoncesAtom);\n\n const markNonceAsUsed: UseMarkNonceAsUsedResult[\"markNonceAsUsed\"] = ({\n token,\n owner,\n usedNonce,\n }) => {\n setNonces((prev) => {\n const key = getNonceKey({\n token: token.address as Address,\n owner,\n chainId: token.network,\n });\n const prevNonce = usedNonce ?? prev[key] ?? 0n;\n return {\n ...prev,\n [key]: prevNonce + 1n,\n };\n });\n };\n\n const clearNonce: UseMarkNonceAsUsedResult[\"clearNonce\"] = ({\n token,\n owner,\n }) => {\n setNonces((prev) => {\n const key = getNonceKey({\n token: token.address as Address,\n owner,\n chainId: token.network,\n });\n\n if (prev[key] === undefined) return prev;\n\n const { [key]: _, ...withoutKey } = prev;\n return withoutKey;\n });\n };\n\n return {\n markNonceAsUsed,\n clearNonce,\n };\n}\n\ntype GetNonceInput = {\n token: Address;\n owner: Address;\n chainId: SupportedChainId;\n};\n\ntype TokenNonceKey = `${number}:${Address}:${Address}`;\n\nfunction getNonceKey({ token, owner, chainId }: GetNonceInput): TokenNonceKey {\n return `${chainId}:${token.toLowerCase() as Address}:${owner.toLowerCase() as Address}` as const;\n}\n\nexport type NonceMethod = (typeof ERC_20_NONCES_ABI)[number][\"name\"];\n\ntype PermitNonceResult = {\n nonceMethod: NonceMethod;\n nonceToUse: bigint;\n};\n\nexport type UsePermit1NonceResult = {\n // null when no nonce support detected\n nonceToUse?: PermitNonceResult[\"nonceToUse\"] | null;\n nonceMethod?: PermitNonceResult[\"nonceMethod\"] | null;\n isLoading: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<PermitNonceResult | null, Error>>;\n};\n\nexport function usePermit1Nonce({\n token,\n owner,\n chainId,\n enabled = true,\n}: UsePermitNonceParams): UsePermit1NonceResult {\n const key =\n token && owner && chainId ? getNonceKey({ token, owner, chainId }) : null;\n\n const noncesMap = useAtomValue(NoncesAtom);\n const tokenNotETH = token && !isETHaddress(token);\n\n // explicitly memoize select\n const { contractCalls, select } = useMemo(() => {\n const select = (\n data: ReadContractsData<typeof contractCalls, true>\n ): PermitNonceResult | null => {\n const successIndex = data.findIndex((d) => d.status === \"success\");\n // no method successfully returned anything\n if (successIndex === -1) return null;\n const method = contractCalls[successIndex]?.functionName;\n const result = data[successIndex]?.result;\n\n // the vars will always be non-null at this point\n if (!method || result === undefined) return null;\n\n const lastUnusedNonce = key ? (noncesMap[key] ?? 0n) : 0n;\n const nonce = result > lastUnusedNonce ? result : lastUnusedNonce;\n\n return {\n nonceMethod: method,\n nonceToUse: nonce,\n };\n };\n\n const ZERO_ADDRESS = \"0x0000000000000000000000000000000000000000\";\n // for the case where the token or owner is not set, to match the types,\n // readContracts isn't run anyway because of enabled=false\n const tokenAddress = (token?.toLowerCase() as Address) ?? ZERO_ADDRESS;\n const ownerAddress = (owner?.toLowerCase() as Address) ?? ZERO_ADDRESS;\n\n const contractCalls = [\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"nonces\",\n args: [ownerAddress],\n },\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"_nonces\",\n args: [ownerAddress],\n },\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"nonce\",\n args: [ownerAddress],\n },\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"getNonce\",\n args: [ownerAddress],\n },\n ] as const;\n\n return {\n contractCalls,\n select,\n };\n }, [noncesMap, key, owner, token]);\n\n const {\n data: nonceResult,\n isLoading,\n isError,\n isSuccess,\n error,\n refetch,\n } = useReadContracts({\n allowFailure: true,\n contracts: contractCalls,\n query: {\n enabled: enabled && tokenNotETH && !!(token && owner && chainId),\n select,\n },\n });\n\n return {\n nonceToUse: nonceResult === null ? null : nonceResult?.nonceToUse,\n nonceMethod: nonceResult === null ? null : nonceResult?.nonceMethod,\n isLoading,\n isError,\n isSuccess,\n error,\n refetch,\n };\n}\n"],"names":["NoncesAtom","atom","useMarkNonceAsUsed","setNonces","useSetAtom","markNonceAsUsed","token","owner","usedNonce","prev","key","getNonceKey","address","chainId","network","prevNonce","clearNonce","undefined","_","withoutKey","toLowerCase","usePermit1Nonce","enabled","noncesMap","useAtomValue","tokenNotETH","isETHaddress","contractCalls","select","useMemo","data","successIndex","findIndex","d","status","method","functionName","result","lastUnusedNonce","nonce","nonceMethod","nonceToUse","ZERO_ADDRESS","tokenAddress","ownerAddress","abi","ERC_20_NONCES_ABI","args","nonceResult","isLoading","isError","isSuccess","error","refetch","useReadContracts","allowFailure","contracts","query"],"mappings":";;;;;;AAsBA,MAAMA,UAAAA,GAAaC,IAAAA,CAAoC,EAAE,CAAA;AAelD,SAASC,kBAAAA,GAA+C;AAC7D,EAAA,MAAMC,SAAAA,GAAYC,WAAWJ,UAAU,CAAA;AAEvC,EAAA,MAAMK,kBAA+DA,CAAC;AAAA,IACpEC,KAAAA;AAAAA,IACAC,KAAAA;AAAAA,IACAC;AAAAA,GACF,KAAM;AACJL,IAAAA,SAAAA,CAAWM,CAAAA,IAAAA,KAAS;AAClB,MAAA,MAAMC,MAAMC,WAAAA,CAAY;AAAA,QACtBL,OAAOA,KAAAA,CAAMM,OAAAA;AAAAA,QACbL,KAAAA;AAAAA,QACAM,SAASP,KAAAA,CAAMQ;AAAAA,OAChB,CAAA;AACD,MAAA,MAAMC,SAAAA,GAAYP,SAAAA,IAAaC,IAAAA,CAAKC,GAAG,CAAA,IAAK,EAAA;AAC5C,MAAA,OAAO;AAAA,QACL,GAAGD,IAAAA;AAAAA,QACH,CAACC,GAAG,GAAGK,SAAAA,GAAY;AAAA,OACrB;AAAA,IACF,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,MAAMC,aAAqDA,CAAC;AAAA,IAC1DV,KAAAA,EAAAA,OAAAA;AAAAA,IACAC,KAAAA,EAAAA;AAAAA,GACF,KAAM;AACJJ,IAAAA,SAAAA,CAAWM,CAAAA,MAAAA,KAAS;AAClB,MAAA,MAAMC,QAAMC,WAAAA,CAAY;AAAA,QACtBL,OAAOA,OAAAA,CAAMM,OAAAA;AAAAA,QACbL,KAAAA,EAAAA,OAAAA;AAAAA,QACAM,SAASP,OAAAA,CAAMQ;AAAAA,OAChB,CAAA;AAED,MAAA,IAAIL,MAAAA,CAAKC,KAAG,CAAA,KAAMO,MAAAA,EAAW,OAAOR,MAAAA;AAEpC,MAAA,MAAM;AAAA,QAAE,CAACC,KAAG,GAAGQ,CAAAA;AAAAA,QAAG,GAAGC;AAAAA,OAAW,GAAIV,MAAAA;AACpC,MAAA,OAAOU,UAAAA;AAAAA,IACT,CAAC,CAAA;AAAA,EACH,CAAA;AAEA,EAAA,OAAO;AAAA,IACLd,eAAAA;AAAAA,IACAW;AAAAA,GACF;AACF;AAUA,SAASL,WAAAA,CAAY;AAAA,EAAEL,KAAAA;AAAAA,EAAOC,KAAAA;AAAAA,EAAOM;AAAuB,CAAA,EAAkB;AAC5E,EAAA,OAAO,CAAA,EAAGA,OAAO,CAAA,CAAA,EAAIP,KAAAA,CAAMc,aAAwB,CAAA,CAAA,EAAIb,KAAAA,CAAMa,WAAAA,EAAwB,CAAA,CAAA;AACvF;AAsBO,SAASC,eAAAA,CAAgB;AAAA,EAC9Bf,KAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAM,OAAAA;AAAAA,EACAS,OAAAA,GAAU;AACU,CAAA,EAA0B;AAC9C,EAAA,MAAMZ,GAAAA,GACJJ,KAAAA,IAASC,KAAAA,IAASM,OAAAA,GAAUF,WAAAA,CAAY;AAAA,IAAEL,KAAAA;AAAAA,IAAOC,KAAAA;AAAAA,IAAOM;AAAAA,GAAS,CAAA,GAAI,IAAA;AAEvE,EAAA,MAAMU,SAAAA,GAAYC,aAAaxB,UAAU,CAAA;AACzC,EAAA,MAAMyB,WAAAA,GAAcnB,KAAAA,IAAS,CAACoB,YAAAA,CAAapB,KAAK,CAAA;AAGhD,EAAA,MAAM;AAAA,IAAEqB,aAAAA,EAAAA,eAAAA;AAAAA,IAAeC,MAAAA,EAAAA;AAAAA,GAAO,GAAIC,QAAQ,MAAM;AAC9C,IAAA,MAAMD,MAAAA,GAASA,CACbE,IAAAA,KAC6B;AAC7B,MAAA,MAAMC,eAAeD,IAAAA,CAAKE,SAAAA,CAAWC,CAAAA,CAAAA,KAAMA,CAAAA,CAAEC,WAAW,SAAS,CAAA;AAEjE,MAAA,IAAIH,YAAAA,KAAiB,IAAI,OAAO,IAAA;AAChC,MAAA,MAAMI,MAAAA,GAASR,aAAAA,CAAcI,YAAY,CAAA,EAAGK,YAAAA;AAC5C,MAAA,MAAMC,MAAAA,GAASP,IAAAA,CAAKC,YAAY,CAAA,EAAGM,MAAAA;AAGnC,MAAA,IAAI,CAACF,MAAAA,IAAUE,MAAAA,KAAWpB,MAAAA,EAAW,OAAO,IAAA;AAE5C,MAAA,MAAMqB,eAAAA,GAAkB5B,GAAAA,GAAOa,SAAAA,CAAUb,GAAG,KAAK,EAAA,GAAM,EAAA;AACvD,MAAA,MAAM6B,KAAAA,GAAQF,MAAAA,GAASC,eAAAA,GAAkBD,MAAAA,GAASC,eAAAA;AAElD,MAAA,OAAO;AAAA,QACLE,WAAAA,EAAaL,MAAAA;AAAAA,QACbM,UAAAA,EAAYF;AAAAA,OACd;AAAA,IACF,CAAA;AAEA,IAAA,MAAMG,YAAAA,GAAe,4CAAA;AAGrB,IAAA,MAAMC,YAAAA,GAAgBrC,KAAAA,EAAOc,WAAAA,EAAY,IAAiBsB,YAAAA;AAC1D,IAAA,MAAME,YAAAA,GAAgBrC,KAAAA,EAAOa,WAAAA,EAAY,IAAiBsB,YAAAA;AAE1D,IAAA,MAAMf,gBAAgB,CACpB;AAAA,MACEf,OAAAA,EAAS+B,YAAAA;AAAAA,MACTE,GAAAA,EAAKC,iBAAAA;AAAAA,MACLV,YAAAA,EAAc,QAAA;AAAA,MACdW,IAAAA,EAAM,CAACH,YAAY;AAAA,KACrB,EACA;AAAA,MACEhC,OAAAA,EAAS+B,YAAAA;AAAAA,MACTE,GAAAA,EAAKC,iBAAAA;AAAAA,MACLV,YAAAA,EAAc,SAAA;AAAA,MACdW,IAAAA,EAAM,CAACH,YAAY;AAAA,KACrB,EACA;AAAA,MACEhC,OAAAA,EAAS+B,YAAAA;AAAAA,MACTE,GAAAA,EAAKC,iBAAAA;AAAAA,MACLV,YAAAA,EAAc,OAAA;AAAA,MACdW,IAAAA,EAAM,CAACH,YAAY;AAAA,KACrB,EACA;AAAA,MACEhC,OAAAA,EAAS+B,YAAAA;AAAAA,MACTE,GAAAA,EAAKC,iBAAAA;AAAAA,MACLV,YAAAA,EAAc,UAAA;AAAA,MACdW,IAAAA,EAAM,CAACH,YAAY;AAAA,KACpB,CAAA;AAGH,IAAA,OAAO;AAAA,MACLjB,aAAAA;AAAAA,MACAC;AAAAA,KACF;AAAA,EACF,GAAG,CAACL,SAAAA,EAAWb,GAAAA,EAAKH,KAAAA,EAAOD,KAAK,CAAC,CAAA;AAEjC,EAAA,MAAM;AAAA,IACJwB,IAAAA,EAAMkB,WAAAA;AAAAA,IACNC,SAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,KAAAA;AAAAA,IACAC;AAAAA,MACEC,gBAAAA,CAAiB;AAAA,IACnBC,YAAAA,EAAc,IAAA;AAAA,IACdC,SAAAA,EAAW7B,eAAAA;AAAAA,IACX8B,KAAAA,EAAO;AAAA,MACLnC,SAASA,OAAAA,IAAWG,WAAAA,IAAe,CAAC,EAAEnB,SAASC,KAAAA,IAASM,OAAAA,CAAAA;AAAAA,MACxDe,MAAAA,EAAAA;AAAAA;AACF,GACD,CAAA;AAED,EAAA,OAAO;AAAA,IACLa,UAAAA,EAAYO,WAAAA,KAAgB,IAAA,GAAO,IAAA,GAAOA,WAAAA,EAAaP,UAAAA;AAAAA,IACvDD,WAAAA,EAAaQ,WAAAA,KAAgB,IAAA,GAAO,IAAA,GAAOA,WAAAA,EAAaR,WAAAA;AAAAA,IACxDS,SAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,KAAAA;AAAAA,IACAC;AAAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"usePermit1Nonce.js","sources":["../../../../../src/hooks/permit/hooks/permit1/usePermit1Nonce.ts"],"sourcesContent":["import { useReadContracts } from \"wagmi\";\nimport { ERC_20_NONCES_ABI } from \"../../utils/constants\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type { Token } from \"@/tokens/state/types\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport type { Address } from \"viem\";\nimport { useMemo } from \"react\";\nimport type { ReadContractsData } from \"wagmi/query\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\n\ninterface UsePermitNonceParams {\n token?: Address;\n owner?: Address;\n chainId?: SupportedChainId;\n enabled?: boolean;\n}\n\n// chainId:token:owner => unused nonce (next to be used, starting with 0)\nconst NoncesAtom = atom<Record<TokenNonceKey, bigint>>({});\n\ntype SetNonceInput = {\n token: Pick<Token, \"address\" | \"network\">;\n owner: Address;\n usedNonce?: bigint;\n};\n\ntype UseMarkNonceAsUsedResult = {\n // mark as minimum nonce to use for next Permit, after sending Order or tx out\n markNonceAsUsed: (input: SetNonceInput) => void;\n // clear saved minimum nonce to rely on fetched nonce, if Order or tx failed\n clearNonce: (input: Pick<SetNonceInput, \"token\" | \"owner\">) => void;\n};\n\nexport function useMarkNonceAsUsed(): UseMarkNonceAsUsedResult {\n const setNonces = useSetAtom(NoncesAtom);\n\n const markNonceAsUsed: UseMarkNonceAsUsedResult[\"markNonceAsUsed\"] = ({\n token,\n owner,\n usedNonce,\n }) => {\n setNonces((prev) => {\n const key = getNonceKey({\n token: token.address as Address,\n owner,\n chainId: token.network,\n });\n const prevNonce = usedNonce ?? prev[key] ?? 0n;\n return {\n ...prev,\n [key]: prevNonce + 1n,\n };\n });\n };\n\n const clearNonce: UseMarkNonceAsUsedResult[\"clearNonce\"] = ({\n token,\n owner,\n }) => {\n setNonces((prev) => {\n const key = getNonceKey({\n token: token.address as Address,\n owner,\n chainId: token.network,\n });\n\n if (prev[key] === undefined) return prev;\n\n const { [key]: _, ...withoutKey } = prev;\n return withoutKey;\n });\n };\n\n return {\n markNonceAsUsed,\n clearNonce,\n };\n}\n\ntype GetNonceInput = {\n token: Address;\n owner: Address;\n chainId: SupportedChainId;\n};\n\ntype TokenNonceKey = `${number}:${Address}:${Address}`;\n\nfunction getNonceKey({ token, owner, chainId }: GetNonceInput): TokenNonceKey {\n return `${chainId}:${token.toLowerCase() as Address}:${owner.toLowerCase() as Address}` as const;\n}\n\nexport type NonceMethod = (typeof ERC_20_NONCES_ABI)[number][\"name\"];\n\ntype PermitNonceResult = {\n nonceMethod: NonceMethod;\n nonceToUse: bigint;\n};\n\nexport type UsePermit1NonceResult = {\n // null when no nonce support detected\n nonceToUse?: PermitNonceResult[\"nonceToUse\"] | null;\n nonceMethod?: PermitNonceResult[\"nonceMethod\"] | null;\n isLoading: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<PermitNonceResult | null, Error>>;\n};\n\nexport function usePermit1Nonce({\n token,\n owner,\n chainId,\n enabled = true,\n}: UsePermitNonceParams): UsePermit1NonceResult {\n const key =\n token && owner && chainId ? getNonceKey({ token, owner, chainId }) : null;\n\n const noncesMap = useAtomValue(NoncesAtom);\n const tokenNotETH = token && !isETHaddress(token);\n\n // explicitly memoize select\n const { contractCalls, select } = useMemo(() => {\n const select = (\n data: ReadContractsData<typeof contractCalls, true>\n ): PermitNonceResult | null => {\n const successIndex = data.findIndex((d) => d.status === \"success\");\n // no method successfully returned anything\n if (successIndex === -1) return null;\n const method = contractCalls[successIndex]?.functionName;\n const result = data[successIndex]?.result;\n\n // the vars will always be non-null at this point\n if (!method || result === undefined) return null;\n\n const lastUnusedNonce = key ? (noncesMap[key] ?? 0n) : 0n;\n const nonce = result > lastUnusedNonce ? result : lastUnusedNonce;\n\n return {\n nonceMethod: method,\n nonceToUse: nonce,\n };\n };\n\n const ZERO_ADDRESS = \"0x0000000000000000000000000000000000000000\";\n // for the case where the token or owner is not set, to match the types,\n // readContracts isn't run anyway because of enabled=false\n const tokenAddress = (token?.toLowerCase() as Address) ?? ZERO_ADDRESS;\n const ownerAddress = (owner?.toLowerCase() as Address) ?? ZERO_ADDRESS;\n\n const contractCalls = [\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"nonces\",\n args: [ownerAddress],\n },\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"_nonces\",\n args: [ownerAddress],\n },\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"nonce\",\n args: [ownerAddress],\n },\n {\n address: tokenAddress,\n abi: ERC_20_NONCES_ABI,\n functionName: \"getNonce\",\n args: [ownerAddress],\n },\n ] as const;\n\n return {\n contractCalls,\n select,\n };\n }, [noncesMap, key, owner, token]);\n\n const {\n data: nonceResult,\n isLoading,\n isError,\n isSuccess,\n error,\n refetch,\n } = useReadContracts({\n allowFailure: true,\n contracts: contractCalls,\n query: {\n enabled: enabled && tokenNotETH && !!(token && owner && chainId),\n select,\n },\n });\n\n return {\n nonceToUse: nonceResult === null ? null : nonceResult?.nonceToUse,\n nonceMethod: nonceResult === null ? null : nonceResult?.nonceMethod,\n isLoading,\n isError,\n isSuccess,\n error,\n refetch,\n };\n}\n"],"names":["NoncesAtom","atom","useMarkNonceAsUsed","setNonces","useSetAtom","markNonceAsUsed","token","owner","usedNonce","prev","key","getNonceKey","address","chainId","network","prevNonce","clearNonce","undefined","_","withoutKey","toLowerCase","usePermit1Nonce","enabled","noncesMap","useAtomValue","tokenNotETH","isETHaddress","contractCalls","select","useMemo","data","successIndex","findIndex","d","status","method","functionName","result","lastUnusedNonce","nonce","nonceMethod","nonceToUse","ZERO_ADDRESS","tokenAddress","ownerAddress","abi","ERC_20_NONCES_ABI","args","nonceResult","isLoading","isError","isSuccess","error","refetch","useReadContracts","allowFailure","contracts","query"],"mappings":"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"}
@@ -65,17 +65,17 @@ export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainI
65
65
  }): {
66
66
  queryKey: DeltaPriceQueryKey;
67
67
  sanitizedPriceParams: {
68
- side?: ("BUY" | "SELL") | undefined;
69
68
  amount: string;
69
+ partner?: string | undefined;
70
+ excludeAgents?: string[] | undefined;
71
+ includeAgents?: string[] | undefined;
72
+ userAddress?: string | undefined;
73
+ beneficiary?: string | undefined;
70
74
  srcToken: string;
71
75
  destToken?: string | undefined;
72
- partner?: string | undefined;
73
76
  srcDecimals: number;
74
77
  destDecimals?: number | undefined;
75
- userAddress?: string | undefined;
76
- beneficiary?: string | undefined;
77
- includeAgents?: string[] | undefined;
78
- excludeAgents?: string[] | undefined;
78
+ side?: ("SELL" | "BUY") | undefined;
79
79
  } & {
80
80
  destChainId?: number;
81
81
  };
@@ -42,7 +42,7 @@ export declare function useMarketPriceQueryKey({ priceParams, chainId, }: Pick<M
42
42
  sanitizedPriceParams: {
43
43
  amount: string;
44
44
  userAddress: string | undefined;
45
- side: "BUY" | "SELL" | undefined;
45
+ side: "SELL" | "BUY" | undefined;
46
46
  srcDecimals: number | undefined;
47
47
  destDecimals: number | undefined;
48
48
  srcToken: string;
@@ -1,6 +1,11 @@
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';
2
7
  import { payInputAmountWeiAtom, receiveInputAmountWeiAtom } from '../../../core/inputs/state/inputAmountAtom.js';
3
- import { useAtomValue } from 'jotai';
8
+ import { useAtomValue } from '../../../core/store.js';
4
9
  import { useAccount } from 'wagmi';
5
10
  import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
6
11
  import { useIsCrossChain } from '../../../core/state/isCrosschainAtom.js';
@@ -1 +1 @@
1
- {"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\n\nimport { useAtomValue } from \"jotai\";\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 { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { tradeModeToTokenAtoms } 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 payAmountWei = useAtomValue(payInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveInputAmountWeiAtom) ?? \"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 = useIsCrossChain();\n\n const side = useSwapSide();\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","payAmountWei","payInputAmountWeiAtom","receiveAmountWei","receiveInputAmountWeiAtom","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","useIsCrossChain","side","useSwapSide","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\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\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 { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { tradeModeToTokenAtoms } 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 payAmountWei = useAtomValue(payInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveInputAmountWeiAtom) ?? \"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 = useIsCrossChain();\n\n const side = useSwapSide();\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","payAmountWei","payInputAmountWeiAtom","receiveAmountWei","receiveInputAmountWeiAtom","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","useIsCrossChain","side","useSwapSide","amount","t6","t7","decimals","t8","ignoreBadUsdPrice","t9","srcToken","destToken","srcDecimals","destDecimals","userAddress","otherExchangePrices","priceParams","t10","undefined","t11","destChainId"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { useMarketPriceQuery } from './market/queries/useMarketPriceQuery.js';
3
3
  import { usePricesParams } from './usePricesParams.js';
4
4
  import { useDeltaPriceQuery } from './delta/queries/useDeltaPriceQuery.js';
5
5
  import { swapModeAtom } from '../../../components/widget/SwapModeSwitcher/state/swapModeAtom.js';
6
- import { useAtomValue } from 'jotai';
6
+ import { useAtomValue } from '../../../core/store.js';
7
7
  import { useGlobalDeltaEnabled } from '../../useGlobalDeltaEnabled.js';
8
8
  import { isETH, isWETH } from '../../../tokens/utils/eth.js';
9
9
  import { wrappedNativeCurrency } from '../../../lib/constants/weth.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.js","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport { usePricesParams } from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"jotai\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\n\nconst PRICE_REFETCH_INTERVAL = 5000; // 5 seconds\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n // Delta /prices errors when srcToken=ETH;\n // we will pre-wrap ETH->WETH before Swap anyway;\n // be careful not to use deltaPrices.srcToken with the assumption that (tokenFrom=ETH) !== (deltaPrices.srcToken=WETH)\n const srcTokenForDelta = isETH({ address: priceParams.srcToken })\n ? wrappedNativeCurrency[chainId]\n : priceParams.srcToken;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n srcToken: srcTokenForDelta,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n // @TODO remove isBUY once BUY is supported for Delta\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams,\n chainId,\n timeout: 5000,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n retry: false,\n },\n });\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isError: marketPriceQuery.isError,\n error: marketPriceQuery.error,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isError: deltaPriceQuery.isError,\n error: deltaPriceQuery.error,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n queryKey: MarketPriceQueryKey;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n queryKey: DeltaPriceQueryKey;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n queryKey: market.queryKey,\n };\n }\n\n return {\n priceMode,\n price: delta.price,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n queryKey: delta.queryKey,\n };\n}\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","fetchAnyPrice","amount","destToken","t2","srcToken","isETH","address","isWETH","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","useIsTokenSupportedInDeltaQuery","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","wrappedNativeCurrency","srcTokenForDelta","t8","t9","enabled","t10","refetchInterval","retry","t11","timeout","query","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","deltaErrorCached","useCachedQueryError","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","useMarketPriceQuery","t15","error","isError","isFetching","isLoading","price","canBeUsed","t16","t17","userSelectedPriceMode","market","delta","useCurrentSwapPrice"],"mappings":"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"}
1
+ {"version":3,"file":"useSwapPrices.js","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport { usePricesParams } from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\n\nconst PRICE_REFETCH_INTERVAL = 5000; // 5 seconds\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n // Delta /prices errors when srcToken=ETH;\n // we will pre-wrap ETH->WETH before Swap anyway;\n // be careful not to use deltaPrices.srcToken with the assumption that (tokenFrom=ETH) !== (deltaPrices.srcToken=WETH)\n const srcTokenForDelta = isETH({ address: priceParams.srcToken })\n ? wrappedNativeCurrency[chainId]\n : priceParams.srcToken;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n srcToken: srcTokenForDelta,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n // @TODO remove isBUY once BUY is supported for Delta\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams,\n chainId,\n timeout: 5000,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n retry: false,\n },\n });\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isError: marketPriceQuery.isError,\n error: marketPriceQuery.error,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isError: deltaPriceQuery.isError,\n error: deltaPriceQuery.error,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n queryKey: MarketPriceQueryKey;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n queryKey: DeltaPriceQueryKey;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n queryKey: market.queryKey,\n };\n }\n\n return {\n priceMode,\n price: delta.price,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n queryKey: delta.queryKey,\n };\n}\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","fetchAnyPrice","amount","destToken","t2","srcToken","isETH","address","isWETH","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","useIsTokenSupportedInDeltaQuery","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","wrappedNativeCurrency","srcTokenForDelta","t8","t9","enabled","t10","refetchInterval","retry","t11","timeout","query","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","deltaErrorCached","useCachedQueryError","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","useMarketPriceQuery","t15","error","isError","isFetching","isLoading","price","canBeUsed","t16","t17","userSelectedPriceMode","market","delta","useCurrentSwapPrice"],"mappings":";;;;;;;;;;;;AAoBA,MAAMA,sBAAAA,GAAyB,GAAA;AA2BxB,SAAAC,cAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AACLG,IAAAA,EAAAA,GAAAH,EAAAA,KAAAI,MAAAA,GAAA,EAA8B,GAA9BJ,EAAAA;AAA+BC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAA/B,EAAA,MAAAI,MAAAA,GAAAF,EAAAA;AAEA,EAAA,MAAA;AAAA,IAAAG,WAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GACEC,gBAAgB,MAAM,CAAA;AAGxB,EAAA,MAAAC,QAAAA,GAAiBC,aAAaC,YAAY,CAAA;AAE1C,EAAA,MAAA;AAAA,IAAAC,eAAAA,EAAAC,oBAAAA;AAAAA,IAAAC,iBAAAA,EAAAC,sBAAAA;AAAAA,IAAAC,qBAAAA,EAAAC;AAAAA,MAIIC,qBAAAA,EAAsB;AAE1B,EAAA,MAAAC,gBAAsBf,WAAAA,CAAWgB,MAAAA,KAAY,GAAA,IAAvB,CAA+B,CAAChB,WAAAA,CAAWiB,SAAAA;AAAW,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAvB,EAAA,CAAA,CAAA,KAAAO,OAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAM,YAAAA,IAAAN,CAAAA,CAAA,CAAA,MAAAK,WAAAA,CAAAiB,SAAAA,IAAAtB,EAAA,CAAA,CAAA,KAAAK,YAAAmB,QAAAA,EAAA;AAG1ED,IAAAA,EAAAA,GAAA,CAACjB,YAAAA,IAAD,CACC,CAACD,WAAAA,CAAWiB,aACbG,KAAAA,CAAM;AAAA,MAAAC,SAAWrB,WAAAA,CAAWmB;AAAAA,KAAW,KACvCG,MAAAA,CAAO;AAAA,MAAAD,SAAWrB,WAAAA,CAAWiB;AAAAA,OAAcf,OAAO,CAAA;AAACP,IAAAA,CAAAA,MAAAO,OAAAA;AAAAP,IAAAA,CAAAA,MAAAM,YAAAA;AAAAN,IAAAA,CAAAA,CAAA,CAAA,IAAAK,WAAAA,CAAAiB,SAAAA;AAAAtB,IAAAA,CAAAA,CAAA,CAAA,IAAAK,WAAAA,CAAAmB,QAAAA;AAAAxB,IAAAA,CAAAA,MAAAuB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvB,EAAA,CAAA,CAAA;AAAA,EAAA;AAJrD,EAAA,MAAA4B,oBAAAA,GACEL,EAAAA;AAGoD,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAA7B,EAAA,CAAA,CAAA,KAAAO,OAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAM,YAAAA,IAAAN,CAAAA,CAAA,CAAA,MAAAK,WAAAA,CAAAiB,SAAAA,IAAAtB,EAAA,EAAA,CAAA,KAAAK,YAAAmB,QAAAA,EAAA;AAEpDK,IAAAA,EAAAA,GAAA,CAACvB,YAAAA,IAAD,CACC,CAACD,WAAAA,CAAWiB,aACbK,MAAAA,CAAO;AAAA,MAAAD,SAAWrB,WAAAA,CAAWmB;AAAAA,KAAU,EAAGjB,OAAO,CAAA,IACjDkB,KAAAA,CAAM;AAAA,MAAAC,SAAWrB,WAAAA,CAAWiB;AAAAA,KAAY,CAAA;AAACtB,IAAAA,CAAAA,MAAAO,OAAAA;AAAAP,IAAAA,CAAAA,MAAAM,YAAAA;AAAAN,IAAAA,CAAAA,CAAA,CAAA,IAAAK,WAAAA,CAAAiB,SAAAA;AAAAtB,IAAAA,CAAAA,CAAA,EAAA,IAAAK,WAAAA,CAAAmB,QAAAA;AAAAxB,IAAAA,CAAAA,OAAA6B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA7B,EAAA,EAAA,CAAA;AAAA,EAAA;AAJ3C,EAAA,MAAA8B,oBAAAA,GACED,EAAAA;AAG0C,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAA/B,CAAAA,SAAAO,OAAAA,IAAAP,EAAA,EAAA,CAAA,KAAAK,YAAAmB,QAAAA,EAAA;AAE0BO,IAAAA,EAAAA,GAAA;AAAA,MAAAC,OAC7D3B,WAAAA,CAAWmB,QAAAA;AAAAA,MAASjB;AAAAA,KAE7B;AAACP,IAAAA,CAAAA,OAAAO,OAAAA;AAAAP,IAAAA,CAAAA,CAAA,EAAA,IAAAK,WAAAA,CAAAmB,QAAAA;AAAAxB,IAAAA,CAAAA,OAAA+B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/B,EAAA,EAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAiC,IAAAA,EAAAC;AAAAA,GAAA,GAAsCC,gCAAgCJ,EAGrE,CAAA;AAGU,EAAA,MAAAK,KAAA5B,WAAAA,IAAAD,OAAAA;AAAsB,EAAA,IAAA8B,EAAAA;AAAA,EAAA,IAAArC,CAAAA,SAAAK,WAAAA,CAAAiB,aAAAtB,CAAAA,SAAAoC,EAAAA,EAAA;AAFsCC,IAAAA,EAAAA,GAAA;AAAA,MAAAL,OAC9D3B,WAAAA,CAAWiB,SAAAA;AAAAA,MAAUf,OAAAA,EACnB6B;AAAAA,KACX;AAACpC,IAAAA,CAAAA,CAAA,EAAA,IAAAK,WAAAA,CAAAiB,SAAAA;AAAAtB,IAAAA,CAAAA,OAAAoC,EAAAA;AAAApC,IAAAA,CAAAA,OAAAqC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArC,EAAA,EAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAiC,IAAAA,EAAAK;AAAAA,GAAA,GAAuCH,gCAAgCE,EAGtE,CAAA;AAED,EAAA,MAAAE,YAAAA,GAEEzB,oBAAAA,IAAAE,sBAAAA,IAAAE,0BAAAA,IAAA,CAMCU,oBAAAA,IAND,CAQCE,oBAAAA,IAEDpB,QAAAA,KAAa,OAAA,IAEbwB,mBAAAA,KAAwB,KAAA,IACxBI,oBAAAA,KAAyB,KAAA;AAK3B,EAAA,MAAAE,iBACEpB,aAAAA,IAAAN,oBAAAA,IAAAI,0BAAAA,IAAA,CAGCU,wBAHD,CAICE,oBAAAA;AAAqB,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAzC,CAAAA,SAAAO,OAAAA,IAAAP,EAAA,EAAA,CAAA,KAAAK,YAAAmB,QAAAA,EAAA;AAKCiB,IAAAA,EAAAA,GAAAhB,KAAAA,CAAM;AAAA,MAAAC,SAAWrB,WAAAA,CAAWmB;AAAAA,KAE9B,CAAA,GADnBkB,qBAAAA,CAAsBnC,OAAO,IAC7BF,WAAAA,CAAWmB,QAAAA;AAASxB,IAAAA,CAAAA,OAAAO,OAAAA;AAAAP,IAAAA,CAAAA,CAAA,EAAA,IAAAK,WAAAA,CAAAmB,QAAAA;AAAAxB,IAAAA,CAAAA,OAAAyC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzC,EAAA,EAAA,CAAA;AAAA,EAAA;AAFxB,EAAA,MAAA2C,gBAAAA,GAAyBF,EAAAA;AAEA,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAA5C,EAAA,EAAA,CAAA,KAAAK,eAAAL,CAAAA,SAAA2C,gBAAAA,EAAA;AAIRC,IAAAA,EAAAA,GAAA;AAAA,MAAA,GACRvC,WAAAA;AAAAA,MAAWmB,QAAAA,EACJmB;AAAAA,KACZ;AAAC3C,IAAAA,CAAAA,OAAAK,WAAAA;AAAAL,IAAAA,CAAAA,OAAA2C,gBAAAA;AAAA3C,IAAAA,CAAAA,OAAA4C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5C,EAAA,EAAA,CAAA;AAAA,EAAA;AAKU,EAAA,MAAA6C,EAAAA,GAAAN,YAAAA,IAAAnB,aAAAA,KAAkChB,MAAAA,CAAM0C,OAAAA,IAAN,IAAA,CAAA;AAAuB,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAA/C,CAAAA,SAAA6C,EAAAA,EAAA;AAD7DE,IAAAA,GAAAA,GAAA;AAAA,MAAAD,OAAAA,EACID,EAAAA;AAAAA,MAAyDG,eAAAA,EACjDnD,sBAAAA;AAAAA,MAAsBoD,KAAAA,EAGhC;AAAA,KACT;AAACjD,IAAAA,CAAAA,OAAA6C,EAAAA;AAAA7C,IAAAA,CAAAA,OAAA+C,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA/C,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkD,GAAAA;AAAA,EAAA,IAAAlD,CAAAA,CAAA,EAAA,CAAA,KAAAO,OAAAA,IAAAP,EAAA,EAAA,CAAA,KAAAQ,WAAAA,IAAAR,CAAAA,CAAA,EAAA,CAAA,KAAA+C,GAAAA,IAAA/C,CAAAA,SAAA4C,EAAAA,EAAA;AAdgBM,IAAAA,GAAAA,GAAA;AAAA,MAAA7C,WAAAA,EACJuC,EAAAA;AAAAA,MAGZrC,OAAAA;AAAAA,MAAAC,WAAAA;AAAAA,MAAA2C,OAAAA,EAGQ,GAAA;AAAA,MAAIC,KAAAA,EACNL;AAAAA,KAOT;AAAC/C,IAAAA,CAAAA,OAAAO,OAAAA;AAAAP,IAAAA,CAAAA,OAAAQ,WAAAA;AAAAR,IAAAA,CAAAA,OAAA+C,GAAAA;AAAA/C,IAAAA,CAAAA,OAAA4C,EAAAA;AAAA5C,IAAAA,CAAAA,OAAAkD,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAlD,EAAA,EAAA,CAAA;AAAA,EAAA;AAhBH,EAAA,MAAA;AAAA,IAAAqD,MAAAA,EAAAC,eAAAA;AAAAA,IAAAC,QAAAA,EAAAC;AAAAA,GAAA,GACEC,mBAAmBP,GAelB,CAAA;AAEH,EAAA,MAAAQ,gBAAAA,GAAyBC,oBAAoBL,eAAe,CAAA;AAG5D,EAAA,MAAAM,gBAAsB,CAACtD,YAAAA;AACvB,EAAA,MAAAuD,kBAAwBD,aAAAA,IAAAxC,aAAAA;AAExB,EAAA,MAAA0C,mBAAyBJ,gBAAAA,IAAAE,aAAAA;AAGzB,EAAA,MAAAG,gBAAAA,GACGrD,QAAAA,KAAa,QAAA,IAAbkD,aAAAA,IAAD,CAA6CrB,YAAAA;AAC/C,EAAA,MAAAyB,SAAAA,GAAkBF,gBAAAA,IAAAC,gBAAAA,GAAA,QAAA,GAAA,OAAA;AAElB,EAAA,MAAAE,qBAAAA,GAEE,CAAC1B,YAAAA,IAADmB,gBAAAA,GAAA7D,yBAKI,CAAA,GAAIA,sBAAAA;AAQK,EAAA,MAAAqE,GAAAA,GAAAN,aAAAA,IAAAxC,aAAAA,KAAmChB,MAAAA,CAAM0C,OAAAA,IAAN,IAAA,CAAA;AAAuB,EAAA,IAAAqB,GAAAA;AAAA,EAAA,IAAAnE,EAAA,EAAA,CAAA,KAAAiE,yBAAAjE,CAAAA,SAAAkE,GAAAA,EAAA;AAD9DC,IAAAA,GAAAA,GAAA;AAAA,MAAArB,OAAAA,EACIoB,GAAAA;AAAAA,MAA0DlB,eAAAA,EAClDiB,qBAAAA;AAAAA,MAAqBhB,KAAAA,EAC/B;AAAA,KACT;AAACjD,IAAAA,CAAAA,OAAAiE,qBAAAA;AAAAjE,IAAAA,CAAAA,OAAAkE,GAAAA;AAAAlE,IAAAA,CAAAA,OAAAmE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAnE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAoE,GAAAA;AAAA,EAAA,IAAApE,CAAAA,CAAA,EAAA,CAAA,KAAAO,OAAAA,IAAAP,CAAAA,SAAAK,WAAAA,IAAAL,CAAAA,CAAA,EAAA,CAAA,KAAAmE,GAAAA,EAAA;AARiBC,IAAAA,GAAAA,GAAA;AAAA,MAAA/D,WAAAA;AAAAA,MAAAE,OAAAA;AAAAA,MAAA4C,OAAAA,EAGT,GAAA;AAAA,MAAIC,KAAAA,EACNe;AAAAA,KAKT;AAACnE,IAAAA,CAAAA,OAAAO,OAAAA;AAAAP,IAAAA,CAAAA,OAAAK,WAAAA;AAAAL,IAAAA,CAAAA,OAAAmE,GAAAA;AAAAnE,IAAAA,CAAAA,OAAAoE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAApE,EAAA,EAAA,CAAA;AAAA,EAAA;AAVH,EAAA,MAAA;AAAA,IAAAqD,MAAAA,EAAAgB,gBAAAA;AAAAA,IAAAd,QAAAA,EAAAe;AAAAA,GAAA,GACEC,oBAAoBH,GASnB,CAAA;AAAE,EAAA,IAAAI,GAAAA;AAAA,EAAA,IAAAxE,CAAAA,CAAA,EAAA,CAAA,KAAA6D,eAAAA,IAAA7D,UAAAqE,gBAAAA,CAAApC,IAAAA,IAAAjC,CAAAA,CAAA,EAAA,CAAA,KAAAqE,gBAAAA,CAAAI,SAAAzE,CAAAA,CAAA,EAAA,CAAA,KAAAqE,gBAAAA,CAAAK,OAAAA,IAAA1E,CAAAA,CAAA,EAAA,CAAA,KAAAqE,iBAAAM,UAAAA,IAAA3E,CAAAA,CAAA,EAAA,CAAA,KAAAqE,gBAAAA,CAAAO,SAAAA,IAAA5E,CAAAA,SAAAsE,mBAAAA,EAAA;AAKKE,IAAAA,GAAAA,GAAA;AAAA,MAAAK,OACCR,gBAAAA,CAAgBpC,IAAAA;AAAAA,MAAK2C,WACjBP,gBAAAA,CAAgBO,SAAAA;AAAAA,MAAUD,YACzBN,gBAAAA,CAAgBM,UAAAA;AAAAA,MAAWD,SAC9BL,gBAAAA,CAAgBK,OAAAA;AAAAA,MAAQD,OAC1BJ,gBAAAA,CAAgBI,KAAAA;AAAAA,MAAMK,SAAAA,EAClBjB,eAAAA;AAAAA,MAAeN,QAAAA,EAChBe;AAAAA,KACZ;AAACtE,IAAAA,CAAAA,OAAA6D,eAAAA;AAAA7D,IAAAA,CAAAA,CAAA,EAAA,IAAAqE,gBAAAA,CAAApC,IAAAA;AAAAjC,IAAAA,CAAAA,CAAA,EAAA,IAAAqE,gBAAAA,CAAAI,KAAAA;AAAAzE,IAAAA,CAAAA,CAAA,EAAA,IAAAqE,gBAAAA,CAAAK,OAAAA;AAAA1E,IAAAA,CAAAA,CAAA,EAAA,IAAAqE,gBAAAA,CAAAM,UAAAA;AAAA3E,IAAAA,CAAAA,CAAA,EAAA,IAAAqE,gBAAAA,CAAAO,SAAAA;AAAA5E,IAAAA,CAAAA,OAAAsE,mBAAAA;AAAAtE,IAAAA,CAAAA,OAAAwE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAxE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA+E,GAAAA;AAAA,EAAA,IAAA/E,CAAAA,CAAA,EAAA,CAAA,KAAAwC,cAAAA,IAAAxC,UAAAsD,eAAAA,CAAArB,IAAAA,IAAAjC,CAAAA,CAAA,EAAA,CAAA,KAAAsD,eAAAA,CAAAmB,SAAAzE,CAAAA,CAAA,EAAA,CAAA,KAAAsD,eAAAA,CAAAoB,OAAAA,IAAA1E,CAAAA,CAAA,EAAA,CAAA,KAAAsD,gBAAAqB,UAAAA,IAAA3E,CAAAA,CAAA,EAAA,CAAA,KAAAsD,eAAAA,CAAAsB,SAAAA,IAAA5E,CAAAA,SAAAwD,kBAAAA,EAAA;AACMuB,IAAAA,GAAAA,GAAA;AAAA,MAAAF,OACEvB,eAAAA,CAAerB,IAAAA;AAAAA,MAAK2C,WAChBtB,eAAAA,CAAesB,SAAAA;AAAAA,MAAUD,YACxBrB,eAAAA,CAAeqB,UAAAA;AAAAA,MAAWD,SAC7BpB,eAAAA,CAAeoB,OAAAA;AAAAA,MAAQD,OACzBnB,eAAAA,CAAemB,KAAAA;AAAAA,MAAMK,SAAAA,EACjBtC,cAAAA;AAAAA,MAAce,QAAAA,EACfC;AAAAA,KACZ;AAACxD,IAAAA,CAAAA,OAAAwC,cAAAA;AAAAxC,IAAAA,CAAAA,CAAA,EAAA,IAAAsD,eAAAA,CAAArB,IAAAA;AAAAjC,IAAAA,CAAAA,CAAA,EAAA,IAAAsD,eAAAA,CAAAmB,KAAAA;AAAAzE,IAAAA,CAAAA,CAAA,EAAA,IAAAsD,eAAAA,CAAAoB,OAAAA;AAAA1E,IAAAA,CAAAA,CAAA,EAAA,IAAAsD,eAAAA,CAAAqB,UAAAA;AAAA3E,IAAAA,CAAAA,CAAA,EAAA,IAAAsD,eAAAA,CAAAsB,SAAAA;AAAA5E,IAAAA,CAAAA,OAAAwD,kBAAAA;AAAAxD,IAAAA,CAAAA,OAAA+E,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA/E,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAgF,GAAAA;AAAA,EAAA,IAAAhF,CAAAA,CAAA,EAAA,CAAA,KAAAgE,SAAAA,IAAAhE,EAAA,EAAA,CAAA,KAAAU,QAAAA,IAAAV,CAAAA,CAAA,EAAA,CAAA,KAAAwE,GAAAA,IAAAxE,CAAAA,SAAA+E,GAAAA,EAAA;AApBIC,IAAAA,GAAAA,GAAA;AAAA,MAAAhB,SAAAA;AAAAA,MAAAiB,qBAAAA,EAEkBvE,QAAAA;AAAAA,MAAQwE,MAAAA,EACvBV,GAAAA;AAAAA,MAQPW,KAAAA,EACMJ;AAAAA,KAST;AAAC/E,IAAAA,CAAAA,OAAAgE,SAAAA;AAAAhE,IAAAA,CAAAA,OAAAU,QAAAA;AAAAV,IAAAA,CAAAA,OAAAwE,GAAAA;AAAAxE,IAAAA,CAAAA,OAAA+E,GAAAA;AAAA/E,IAAAA,CAAAA,OAAAgF,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAhF,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OArBMgF,GAAAA;AAqBN;AAoBI,SAAAI,oBAAArF,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AACLG,IAAAA,EAAAA,GAAAH,OAAAI,MAAAA,GAAA;AAAA,MAAA2C,OAAAA,EAAwC;AAAA,KAAK,GAA7C/C,EAAAA;AAA8CC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9C,EAAA,MAAAI,MAAAA,GAAAF,EAAAA;AAEA,EAAA,MAAA;AAAA,IAAAgF,MAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAnB;AAAAA,GAAA,GAAqClE,cAAcM,MAAM,CAAA;AAEzD,EAAA,IAAI4D,cAAc,QAAA,EAAQ;AAAA,IAAA,IAAAzC,GAAAA;AAAA,IAAA,IAAAvB,CAAAA,CAAA,CAAA,CAAA,KAAAkF,MAAAA,CAAAT,KAAAA,IAAAzE,CAAAA,CAAA,CAAA,CAAA,KAAAkF,MAAAA,CAAAR,OAAAA,IAAA1E,CAAAA,QAAAkF,MAAAA,CAAAN,SAAAA,IAAA5E,CAAAA,CAAA,CAAA,CAAA,KAAAkF,MAAAA,CAAAL,KAAAA,IAAA7E,CAAAA,CAAA,CAAA,CAAA,KAAAkF,MAAAA,CAAA3B,QAAAA,IAAAvD,CAAAA,QAAAgE,SAAAA,EAAA;AACjBzC,MAAAA,GAAAA,GAAA;AAAA,QAAAyC,SAAAA;AAAAA,QAAAa,OAEEK,MAAAA,CAAML,KAAAA;AAAAA,QAAMD,WACRM,MAAAA,CAAMN,SAAAA;AAAAA,QAAUF,SAClBQ,MAAAA,CAAMR,OAAAA;AAAAA,QAAQD,OAChBS,MAAAA,CAAMT,KAAAA;AAAAA,QAAMlB,UACT2B,MAAAA,CAAM3B;AAAAA,OAClB;AAACvD,MAAAA,CAAAA,CAAA,CAAA,IAAAkF,MAAAA,CAAAT,KAAAA;AAAAzE,MAAAA,CAAAA,CAAA,CAAA,IAAAkF,MAAAA,CAAAR,OAAAA;AAAA1E,MAAAA,CAAAA,CAAA,CAAA,IAAAkF,MAAAA,CAAAN,SAAAA;AAAA5E,MAAAA,CAAAA,CAAA,CAAA,IAAAkF,MAAAA,CAAAL,KAAAA;AAAA7E,MAAAA,CAAAA,CAAA,CAAA,IAAAkF,MAAAA,CAAA3B,QAAAA;AAAAvD,MAAAA,CAAAA,MAAAgE,SAAAA;AAAAhE,MAAAA,CAAAA,MAAAuB,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAvB,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAPMuB,GAAAA;AAAAA,EAON;AACF,EAAA,IAAAA,EAAAA;AAAA,EAAA,IAAAvB,CAAAA,CAAA,CAAA,CAAA,KAAAmF,KAAAA,CAAAV,KAAAA,IAAAzE,CAAAA,CAAA,EAAA,CAAA,KAAAmF,KAAAA,CAAAT,OAAAA,IAAA1E,CAAAA,SAAAmF,KAAAA,CAAAP,SAAAA,IAAA5E,CAAAA,CAAA,EAAA,CAAA,KAAAmF,KAAAA,CAAAN,KAAAA,IAAA7E,CAAAA,CAAA,EAAA,CAAA,KAAAmF,KAAAA,CAAA5B,QAAAA,IAAAvD,CAAAA,SAAAgE,SAAAA,EAAA;AAEMzC,IAAAA,EAAAA,GAAA;AAAA,MAAAyC,SAAAA;AAAAA,MAAAa,OAEEM,KAAAA,CAAKN,KAAAA;AAAAA,MAAMD,WACPO,KAAAA,CAAKP,SAAAA;AAAAA,MAAUF,SACjBS,KAAAA,CAAKT,OAAAA;AAAAA,MAAQD,OACfU,KAAAA,CAAKV,KAAAA;AAAAA,MAAMlB,UACR4B,KAAAA,CAAK5B;AAAAA,KACjB;AAACvD,IAAAA,CAAAA,CAAA,CAAA,IAAAmF,KAAAA,CAAAV,KAAAA;AAAAzE,IAAAA,CAAAA,CAAA,EAAA,IAAAmF,KAAAA,CAAAT,OAAAA;AAAA1E,IAAAA,CAAAA,CAAA,EAAA,IAAAmF,KAAAA,CAAAP,SAAAA;AAAA5E,IAAAA,CAAAA,CAAA,EAAA,IAAAmF,KAAAA,CAAAN,KAAAA;AAAA7E,IAAAA,CAAAA,CAAA,EAAA,IAAAmF,KAAAA,CAAA5B,QAAAA;AAAAvD,IAAAA,CAAAA,OAAAgE,SAAAA;AAAAhE,IAAAA,CAAAA,OAAAuB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAPMuB,EAAAA;AAON;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { d as distExports } from '../../../_virtual/index.js';
2
2
  import { useAccount } from 'wagmi';
3
3
  import { useTokenBalance } from './useTokenBalance.js';
4
- import { useAtomValue } from 'jotai';
4
+ import { useAtomValue } from '../../../core/store.js';
5
5
  import { amountAfterSlippage } from '../../../lib/utils/slippage.js';
6
6
  import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
7
7
  import { useSlippage } from '../../useSlippage.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useIsInsufficientTokenBalance.js","sources":["../../../../src/hooks/tokens/balances/useIsInsufficientTokenBalance.ts"],"sourcesContent":["import { useAccount } from \"wagmi\";\nimport { useTokenBalance } from \"./useTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"jotai\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { type TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\n\nexport const useIsInsufficientTokenBalance = ({\n token,\n requiredBalanceWei,\n}: {\n token?: Token;\n requiredBalanceWei?: string;\n}) => {\n const { address: account } = useAccount();\n const { balance } = useTokenBalance({\n token,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n if (\n requiredBalanceWei === undefined ||\n balance === undefined ||\n !token ||\n !account\n )\n return false;\n\n return balance === 0n || balance < BigInt(requiredBalanceWei);\n};\n\nexport const useIsTokenFromInsufficientBalance = (tradeMode: TradeMode) => {\n const tokenFromAtom = tradeModeToTokenAtoms[tradeMode].tokenFromAtom;\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n\n const tokenFrom = useAtomValue(tokenFromAtom);\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n\n const swapSide = useSwapSide();\n const { resolvedSlippage } = useSlippage(tradeMode);\n\n const requiredBalanceAfterPossibleSlippage =\n swapSide === \"BUY\"\n ? // payAmount + slippage for BUY\n amountAfterSlippage(payAmountWei, resolvedSlippage, swapSide).toFixed(0)\n : // raw payAmount for SELL\n payAmountWei;\n\n return useIsInsufficientTokenBalance({\n token: tokenFrom,\n requiredBalanceWei: requiredBalanceAfterPossibleSlippage,\n });\n};\n"],"names":["useIsInsufficientTokenBalance","token","requiredBalanceWei","address","account","useAccount","balance","useTokenBalance","queryOptions","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","undefined","BigInt","useIsTokenFromInsufficientBalance","tradeMode","$","_c","tokenFromAtom","tradeModeToTokenAtoms","payAmountWeiAtom","tradeModeToPayAmountWeiAtom","tokenFrom","useAtomValue","payAmountWei","swapSide","useSwapSide","resolvedSlippage","useSlippage","t0","amountAfterSlippage","toFixed","requiredBalanceAfterPossibleSlippage","t1"],"mappings":";;;;;;;;;;AAcO,MAAMA,gCAAgCA,CAAC;AAAA,EAC5CC,KAAAA;AAAAA,EACAC;AAIF,CAAA,KAAM;AACJ,EAAA,MAAM;AAAA,IAAEC,OAAAA,EAASC;AAAAA,MAAYC,UAAAA,EAAW;AACxC,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAYC,eAAAA,CAAgB;AAAA,IAClCN,KAAAA;AAAAA,IACAO,YAAAA,EAAc;AAAA,MAAEC,eAAAA,EAAiBC;AAAAA;AAAmC,GACrE,CAAA;AAED,EAAA,IACER,kBAAAA,KAAuBS,UACvBL,OAAAA,KAAYK,MAAAA,IACZ,CAACV,KAAAA,IACD,CAACG,SAED,OAAO,KAAA;AAET,EAAA,OAAOE,OAAAA,KAAY,EAAA,IAAMA,OAAAA,GAAUM,MAAAA,CAAOV,kBAAkB,CAAA;AAC9D;AAEO,MAAMW,oCAAoCC,CAAAA,SAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC/C,EAAA,MAAAC,aAAAA,GAAsBC,qBAAAA,CAAsBJ,SAAS,CAAA,CAACG,aAAAA;AACtD,EAAA,MAAAE,gBAAAA,GAAyBC,4BAA4BN,SAAS,CAAA;AAE9D,EAAA,MAAAO,SAAAA,GAAkBC,aAAaL,aAAa,CAAA;AAC5C,EAAA,MAAAM,YAAAA,GAAqBD,aAAaH,gBAAgB,CAAA;AAElD,EAAA,MAAAK,WAAiBC,WAAAA,EAAY;AAC7B,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAA6BC,YAAYb,SAAS,CAAA;AAAE,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAQ,YAAAA,IAAAR,CAAAA,QAAAW,gBAAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAS,QAAAA,EAAA;AAGlDI,IAAAA,EAAAA,GAAAJ,QAAAA,KAAa,QAETK,mBAAAA,CAAoBN,YAAAA,EAAcG,kBAAkBF,QAAQ,CAAA,CAACM,OAAAA,CAAS,CAE3D,CAAA,GAJfP,YAAAA;AAIgBR,IAAAA,CAAAA,MAAAQ,YAAAA;AAAAR,IAAAA,CAAAA,MAAAW,gBAAAA;AAAAX,IAAAA,CAAAA,MAAAS,QAAAA;AAAAT,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AALlB,EAAA,MAAAgB,oCAAAA,GACEH,EAAAA;AAIiB,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAjB,EAAA,CAAA,CAAA,KAAAgB,wCAAAhB,CAAAA,QAAAM,SAAAA,EAAA;AAEkBW,IAAAA,EAAAA,GAAA;AAAA,MAAA/B,KAAAA,EAC5BoB,SAAAA;AAAAA,MAASnB,kBAAAA,EACI6B;AAAAA,KACtB;AAAChB,IAAAA,CAAAA,MAAAgB,oCAAAA;AAAAhB,IAAAA,CAAAA,MAAAM,SAAAA;AAAAN,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHMf,8BAA8BgC,EAGpC,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useIsInsufficientTokenBalance.js","sources":["../../../../src/hooks/tokens/balances/useIsInsufficientTokenBalance.ts"],"sourcesContent":["import { useAccount } from \"wagmi\";\nimport { useTokenBalance } from \"./useTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { type TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\n\nexport const useIsInsufficientTokenBalance = ({\n token,\n requiredBalanceWei,\n}: {\n token?: Token;\n requiredBalanceWei?: string;\n}) => {\n const { address: account } = useAccount();\n const { balance } = useTokenBalance({\n token,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n if (\n requiredBalanceWei === undefined ||\n balance === undefined ||\n !token ||\n !account\n )\n return false;\n\n return balance === 0n || balance < BigInt(requiredBalanceWei);\n};\n\nexport const useIsTokenFromInsufficientBalance = (tradeMode: TradeMode) => {\n const tokenFromAtom = tradeModeToTokenAtoms[tradeMode].tokenFromAtom;\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n\n const tokenFrom = useAtomValue(tokenFromAtom);\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n\n const swapSide = useSwapSide();\n const { resolvedSlippage } = useSlippage(tradeMode);\n\n const requiredBalanceAfterPossibleSlippage =\n swapSide === \"BUY\"\n ? // payAmount + slippage for BUY\n amountAfterSlippage(payAmountWei, resolvedSlippage, swapSide).toFixed(0)\n : // raw payAmount for SELL\n payAmountWei;\n\n return useIsInsufficientTokenBalance({\n token: tokenFrom,\n requiredBalanceWei: requiredBalanceAfterPossibleSlippage,\n });\n};\n"],"names":["useIsInsufficientTokenBalance","token","requiredBalanceWei","address","account","useAccount","balance","useTokenBalance","queryOptions","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","undefined","BigInt","useIsTokenFromInsufficientBalance","tradeMode","$","_c","tokenFromAtom","tradeModeToTokenAtoms","payAmountWeiAtom","tradeModeToPayAmountWeiAtom","tokenFrom","useAtomValue","payAmountWei","swapSide","useSwapSide","resolvedSlippage","useSlippage","t0","amountAfterSlippage","toFixed","requiredBalanceAfterPossibleSlippage","t1"],"mappings":";;;;;;;;;;AAcO,MAAMA,gCAAgCA,CAAC;AAAA,EAC5CC,KAAAA;AAAAA,EACAC;AAIF,CAAA,KAAM;AACJ,EAAA,MAAM;AAAA,IAAEC,OAAAA,EAASC;AAAAA,MAAYC,UAAAA,EAAW;AACxC,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAYC,eAAAA,CAAgB;AAAA,IAClCN,KAAAA;AAAAA,IACAO,YAAAA,EAAc;AAAA,MAAEC,eAAAA,EAAiBC;AAAAA;AAAmC,GACrE,CAAA;AAED,EAAA,IACER,kBAAAA,KAAuBS,UACvBL,OAAAA,KAAYK,MAAAA,IACZ,CAACV,KAAAA,IACD,CAACG,SAED,OAAO,KAAA;AAET,EAAA,OAAOE,OAAAA,KAAY,EAAA,IAAMA,OAAAA,GAAUM,MAAAA,CAAOV,kBAAkB,CAAA;AAC9D;AAEO,MAAMW,oCAAoCC,CAAAA,SAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC/C,EAAA,MAAAC,aAAAA,GAAsBC,qBAAAA,CAAsBJ,SAAS,CAAA,CAACG,aAAAA;AACtD,EAAA,MAAAE,gBAAAA,GAAyBC,4BAA4BN,SAAS,CAAA;AAE9D,EAAA,MAAAO,SAAAA,GAAkBC,aAAaL,aAAa,CAAA;AAC5C,EAAA,MAAAM,YAAAA,GAAqBD,aAAaH,gBAAgB,CAAA;AAElD,EAAA,MAAAK,WAAiBC,WAAAA,EAAY;AAC7B,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAA6BC,YAAYb,SAAS,CAAA;AAAE,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAQ,YAAAA,IAAAR,CAAAA,QAAAW,gBAAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAS,QAAAA,EAAA;AAGlDI,IAAAA,EAAAA,GAAAJ,QAAAA,KAAa,QAETK,mBAAAA,CAAoBN,YAAAA,EAAcG,kBAAkBF,QAAQ,CAAA,CAACM,OAAAA,CAAS,CAE3D,CAAA,GAJfP,YAAAA;AAIgBR,IAAAA,CAAAA,MAAAQ,YAAAA;AAAAR,IAAAA,CAAAA,MAAAW,gBAAAA;AAAAX,IAAAA,CAAAA,MAAAS,QAAAA;AAAAT,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AALlB,EAAA,MAAAgB,oCAAAA,GACEH,EAAAA;AAIiB,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAjB,EAAA,CAAA,CAAA,KAAAgB,wCAAAhB,CAAAA,QAAAM,SAAAA,EAAA;AAEkBW,IAAAA,EAAAA,GAAA;AAAA,MAAA/B,KAAAA,EAC5BoB,SAAAA;AAAAA,MAASnB,kBAAAA,EACI6B;AAAAA,KACtB;AAAChB,IAAAA,CAAAA,MAAAgB,oCAAAA;AAAAhB,IAAAA,CAAAA,MAAAM,SAAAA;AAAAN,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHMf,8BAA8BgC,EAGpC,CAAA;AAAC;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { d as distExports } from '../../../_virtual/index.js';
2
- import { useAtomValue } from 'jotai';
2
+ import { useAtomValue } from '../../../core/store.js';
3
3
  import { formatUnits } from 'viem';
4
4
  import { useIsInsufficientTokenBalance } from './useIsInsufficientTokenBalance.js';
5
5
  import { useLimitOrderRequiredBalance } from '../../otc/queries/useLimitOrderRequiredBalance.js';