@velora-dex/widget 0.8.3-dev.0 → 0.8.3

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 (225) hide show
  1. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  2. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +23 -22
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  4. package/dist/components/web3/ConnectExternalProvider/constants.d.ts +2 -1
  5. package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +1 -1
  6. package/dist/components/web3/ConnectExternalProvider/constants.js +2 -2
  7. package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -1
  8. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.d.ts.map +1 -1
  9. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js +4 -1
  10. package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
  11. package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +1 -1
  12. package/dist/components/web3/ConnectExternalProvider/utils.js +1 -1
  13. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  14. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts +5 -0
  15. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts.map +1 -0
  16. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js +22 -0
  17. package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js.map +1 -0
  18. package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
  19. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  20. package/dist/components/widget/BridgeList/hooks.js +73 -79
  21. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  22. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
  23. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
  24. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
  25. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts.map +1 -1
  26. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +10 -10
  27. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
  28. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +1 -1
  29. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +1 -1
  30. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
  31. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  32. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +2 -2
  33. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  34. package/dist/components/widget/TradeOverview/TradeError/utils.js +1 -1
  35. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
  36. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  37. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  38. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +1 -4
  39. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  40. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
  41. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  42. package/dist/configurator/Configurator.d.ts.map +1 -1
  43. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  44. package/dist/core/LimitOrderButton.js +53 -46
  45. package/dist/core/LimitOrderButton.js.map +1 -1
  46. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  47. package/dist/core/OtcOrderButton.js +6 -5
  48. package/dist/core/OtcOrderButton.js.map +1 -1
  49. package/dist/core/TradeFlowScreenButton.d.ts +4 -3
  50. package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
  51. package/dist/core/TradeFlowScreenButton.js +24 -24
  52. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  53. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  54. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  55. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +130 -99
  56. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  57. package/dist/core/index.js +5 -4
  58. package/dist/core/index.js.map +1 -1
  59. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  60. package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
  61. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  62. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  63. package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
  64. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  65. package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
  66. package/dist/core/inputs/hooks/utils.js +5 -7
  67. package/dist/core/inputs/hooks/utils.js.map +1 -1
  68. package/dist/core/limit/useLimitRate.d.ts +3 -2
  69. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  70. package/dist/core/limit/useLimitRate.js +110 -54
  71. package/dist/core/limit/useLimitRate.js.map +1 -1
  72. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  73. package/dist/core/limit/useLimitTokenToInputProps.js +4 -1
  74. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  75. package/dist/core/otc/state/selectedTokenActionsAtom.d.ts.map +1 -1
  76. package/dist/core/otc/state/selectedTokenActionsAtom.js +2 -2
  77. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  78. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  79. package/dist/core/state/widgetEventsAtom.js +21 -11
  80. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  81. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  82. package/dist/core/swapDetails/fees.js +11 -16
  83. package/dist/core/swapDetails/fees.js.map +1 -1
  84. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
  85. package/dist/core/swapDetails/maxToPay.js +17 -18
  86. package/dist/core/swapDetails/maxToPay.js.map +1 -1
  87. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
  88. package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
  89. package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
  90. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  91. package/dist/events/types/importToken.d.ts +14 -0
  92. package/dist/events/types/importToken.d.ts.map +1 -0
  93. package/dist/events/types/index.d.ts +4 -1
  94. package/dist/events/types/index.d.ts.map +1 -1
  95. package/dist/events/types/priceChange.d.ts +2 -2
  96. package/dist/events/types/priceChange.d.ts.map +1 -1
  97. package/dist/events/types/swap.d.ts +2 -2
  98. package/dist/events/types/swap.d.ts.map +1 -1
  99. package/dist/events/types/twap.d.ts +2 -2
  100. package/dist/events/types/twap.d.ts.map +1 -1
  101. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  102. package/dist/hooks/batch/useSendBatchTx.js +31 -32
  103. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  104. package/dist/hooks/swap/prices/delta/bridge/const.d.ts +8 -0
  105. package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +1 -0
  106. package/dist/hooks/swap/prices/delta/bridge/const.js +13 -0
  107. package/dist/hooks/swap/prices/delta/bridge/const.js.map +1 -0
  108. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +4 -3
  109. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
  110. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
  111. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +3 -6
  112. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  113. package/dist/hooks/swap/prices/delta/bridge/utils.js +17 -20
  114. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  115. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
  116. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  117. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
  118. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  119. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
  120. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  121. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +2 -2
  122. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  123. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
  124. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +28 -27
  125. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  126. package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
  127. package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
  128. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
  129. package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
  130. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  131. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  132. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
  133. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  134. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
  135. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +28 -27
  136. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  137. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  138. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  139. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -2
  140. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  141. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  142. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  143. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +2 -2
  144. package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
  145. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +6 -5
  146. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  147. package/dist/hooks/swap/prices/delta/mutations/utils.js +6 -6
  148. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  149. package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -2
  150. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  151. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -3
  152. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +3 -3
  153. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
  154. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +29 -44
  155. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  156. package/dist/hooks/swap/prices/delta/orders/utils.js +16 -128
  157. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  158. package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
  159. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +33 -16
  160. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  161. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +6 -6
  162. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  163. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +3 -3
  164. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  165. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +8 -7
  166. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  167. package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
  168. package/dist/hooks/swap/prices/factory.js +1 -1
  169. package/dist/hooks/swap/prices/factory.js.map +1 -1
  170. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
  171. package/dist/hooks/swap/prices/types.d.ts +3 -2
  172. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  173. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
  174. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  175. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  176. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
  177. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  178. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
  179. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
  180. package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
  181. package/dist/hooks/swap/prices/useTwapPrices.d.ts +5 -4
  182. package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
  183. package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
  184. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +17 -10
  185. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  186. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
  187. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  188. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
  189. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +1 -1
  190. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  191. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
  192. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  193. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +124 -119
  194. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  195. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
  196. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  197. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +196 -159
  198. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  199. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
  200. package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
  201. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +229 -217
  202. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  203. package/dist/hooks/useSDK.d.ts +3 -19
  204. package/dist/hooks/useSDK.d.ts.map +1 -1
  205. package/dist/hooks/useSDK.js +35 -65
  206. package/dist/hooks/useSDK.js.map +1 -1
  207. package/dist/index.d.ts +2 -1
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/lib/queryClient.js +2 -2
  210. package/dist/lib/queryClient.js.map +1 -1
  211. package/dist/lib/utils/price.d.ts +2 -5
  212. package/dist/lib/utils/price.d.ts.map +1 -1
  213. package/dist/lib/utils/price.js +5 -8
  214. package/dist/lib/utils/price.js.map +1 -1
  215. package/dist/lib/utils/twap.d.ts +2 -2
  216. package/dist/lib/utils/twap.d.ts.map +1 -1
  217. package/dist/lib/utils/twap.js +2 -2
  218. package/dist/lib/utils/twap.js.map +1 -1
  219. package/dist/tokens/state/addImportedTokenAtom.d.ts +2 -0
  220. package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
  221. package/dist/tokens/state/addImportedTokenAtom.js +47 -31
  222. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  223. package/package.json +2 -2
  224. package/dist/lib/utils/scaleFactor.js +0 -13
  225. package/dist/lib/utils/scaleFactor.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"queryClient.js","names":["getLogger","notifyOnPriceChange","isDeltaAuctionData","isExecutedDeltaAuction","DeltaPriceQueryKeyPrefix","isDataDeltaPriceV2","deltaAuctionPollingQueryKey","isDataMarketPrice","MarketPriceQueryKeyPrefix","invalidateBalancesAndAllowancesFactory","isReceiptsInWaitForCallsStatusData","isTransactionReceipt","isWaitForCallsStatusData","QueryCache","QueryClient","hashFn","waitForCallsStatusQueryKey","waitForTransactionReceiptQueryKey","logger","queryClient","defaultOptions","queries","queryKeyHashFn","queryCache","onSuccess","data","query","queryKeyPrefix","queryKey","waitForTransactionReceiptQueryKeyPrefix","log","transactionHash","invalidateBalancesAndAllowances","nonces","waitForCallsStatusDataQueryKeyPrefix","status","id","deltaAuctionPollingQueryKeyPrefix","order","permit"],"sources":["../../src/lib/queryClient.ts"],"sourcesContent":["import { getLogger } from \"@/core/logger\";\nimport { notifyOnPriceChange } from \"@/events/effects/price\";\nimport {\n isDeltaAuctionData,\n isExecutedDeltaAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport {\n DeltaPriceQueryKeyPrefix,\n isDataDeltaPriceV2,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { deltaAuctionPollingQueryKey } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport {\n isDataMarketPrice,\n MarketPriceQueryKeyPrefix,\n} from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { invalidateBalancesAndAllowancesFactory } from \"@/hooks/tokens/balances/useInvalidateTokenData\";\nimport {\n isReceiptsInWaitForCallsStatusData,\n isTransactionReceipt,\n isWaitForCallsStatusData,\n} from \"@/hooks/txs/queries/utils\";\nimport { QueryCache, QueryClient } from \"@tanstack/react-query\";\nimport {\n hashFn,\n waitForCallsStatusQueryKey,\n waitForTransactionReceiptQueryKey,\n} from \"wagmi/query\";\n\nconst logger = getLogger(\"QueryCache\");\n\nexport const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n queryKeyHashFn: hashFn, // for bigint support\n },\n },\n queryCache: new QueryCache({\n onSuccess(data, query) {\n const queryKeyPrefix = query.queryKey[0];\n\n if (\n queryKeyPrefix === waitForTransactionReceiptQueryKeyPrefix &&\n isTransactionReceipt(data)\n ) {\n logger.log(\n `waitForTransactionReceiptQuery:: tx ${data.transactionHash} is mined, invalidating balances and allowances`\n );\n invalidateBalancesAndAllowances({ nonces: true });\n return;\n }\n\n if (\n queryKeyPrefix === waitForCallsStatusDataQueryKeyPrefix &&\n isWaitForCallsStatusData(data) &&\n data.status === \"success\" &&\n isReceiptsInWaitForCallsStatusData(data)\n ) {\n logger.log(\n `waitForCallsStatusDataQuery:: batch ${data.id} success, invalidating balances and allowances`\n );\n invalidateBalancesAndAllowances({ nonces: false });\n return;\n }\n\n if (\n queryKeyPrefix === deltaAuctionPollingQueryKeyPrefix &&\n isDeltaAuctionData(data) &&\n isExecutedDeltaAuction(data)\n ) {\n logger.log(\n `deltaAuctionPollingQueryKey:: order ${data.id} is executed, invalidating balances and allowances`\n );\n invalidateBalancesAndAllowances({ nonces: !!data.order.permit });\n return;\n }\n\n if (\n queryKeyPrefix === DeltaPriceQueryKeyPrefix &&\n isDataDeltaPriceV2(data)\n ) {\n notifyOnPriceChange(data, queryClient);\n return;\n }\n\n if (\n queryKeyPrefix === MarketPriceQueryKeyPrefix &&\n isDataMarketPrice(data)\n ) {\n notifyOnPriceChange(data, queryClient);\n return;\n }\n },\n }),\n});\n\nconst invalidateBalancesAndAllowances =\n invalidateBalancesAndAllowancesFactory(queryClient);\n\nconst waitForTransactionReceiptQueryKeyPrefix =\n waitForTransactionReceiptQueryKey()[0];\nconst waitForCallsStatusDataQueryKeyPrefix = waitForCallsStatusQueryKey({})[0];\nconst deltaAuctionPollingQueryKeyPrefix = deltaAuctionPollingQueryKey()[0];\n"],"mappings":";;;;;;;;;;;AA4BA,IAAMkB,IAASlB,EAAU,aAAa,EAEzBmB,IAAc,IAAIL,EAAY;CACzCM,gBAAgB,EACdC,SAAS,EACPC,gBAAgBP,GAClB,EACD;CACDQ,YAAY,IAAIV,EAAW,EACzBW,UAAUC,GAAMC,GAAO;EACrB,IAAMC,IAAiBD,EAAME,SAAS;EAEtC,IACED,MAAmBE,KACnBlB,EAAqBc,EAAK,EAC1B;GAIAO,AAHAd,EAAOY,IACL,uCAAuCL,EAAKM,gBAAe,iDAC5D,EACDC,EAAgC,EAAEC,QAAQ,IAAM,CAAC;GACjD;;EAGF,IACEN,MAAmBO,KACnBtB,EAAyBa,EAAK,IAC9BA,EAAKU,WAAW,aAChBzB,EAAmCe,EAAK,EACxC;GAIAO,AAHAd,EAAOY,IACL,uCAAuCL,EAAKW,GAAE,gDAC/C,EACDJ,EAAgC,EAAEC,QAAQ,IAAO,CAAC;GAClD;;EAGF,IACEN,MAAmBU,KACnBnC,EAAmBuB,EAAK,IACxBtB,EAAuBsB,EAAK,EAC5B;GAIAO,AAHAd,EAAOY,IACL,uCAAuCL,EAAKW,GAAE,oDAC/C,EACDJ,EAAgC,EAAEC,QAAQ,CAAC,CAACR,EAAKa,MAAMC,QAAQ,CAAC;GAChE;;EAGF,IACEZ,MAAAA,uBACAtB,EAAmBoB,EAAK,EACxB;GACAxB,EAAoBwB,GAAMN,EAAY;GACtC;;EAGF,IACEQ,MAAAA,wBACApB,EAAkBkB,EAAK,EACvB;GACAxB,EAAoBwB,GAAMN,EAAY;GACtC;;IAGL,CAAA;CACF,CAAC,EAEIa,IACJvB,EAAuCU,EAAY,EAE/CU,IACJZ,GAAmC,CAAC,IAChCiB,IAAuClB,EAA2B,EAAE,CAAC,CAAC,IACtEqB,IAAoC/B,GAA6B,CAAC"}
1
+ {"version":3,"file":"queryClient.js","names":["getLogger","notifyOnPriceChange","isDeltaAuctionData","isExecutedDeltaAuction","DeltaPriceQueryKeyPrefix","isDataDeltaOrBridgePrice","deltaAuctionPollingQueryKey","isDataMarketPrice","MarketPriceQueryKeyPrefix","invalidateBalancesAndAllowancesFactory","isReceiptsInWaitForCallsStatusData","isTransactionReceipt","isWaitForCallsStatusData","QueryCache","QueryClient","hashFn","waitForCallsStatusQueryKey","waitForTransactionReceiptQueryKey","logger","queryClient","defaultOptions","queries","queryKeyHashFn","queryCache","onSuccess","data","query","queryKeyPrefix","queryKey","waitForTransactionReceiptQueryKeyPrefix","log","transactionHash","invalidateBalancesAndAllowances","nonces","waitForCallsStatusDataQueryKeyPrefix","status","id","deltaAuctionPollingQueryKeyPrefix","order","permit"],"sources":["../../src/lib/queryClient.ts"],"sourcesContent":["import { getLogger } from \"@/core/logger\";\nimport { notifyOnPriceChange } from \"@/events/effects/price\";\nimport {\n isDeltaAuctionData,\n isExecutedDeltaAuction,\n} from \"@/hooks/swap/prices/delta/orders/utils\";\nimport {\n DeltaPriceQueryKeyPrefix,\n isDataDeltaOrBridgePrice,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { deltaAuctionPollingQueryKey } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport {\n isDataMarketPrice,\n MarketPriceQueryKeyPrefix,\n} from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { invalidateBalancesAndAllowancesFactory } from \"@/hooks/tokens/balances/useInvalidateTokenData\";\nimport {\n isReceiptsInWaitForCallsStatusData,\n isTransactionReceipt,\n isWaitForCallsStatusData,\n} from \"@/hooks/txs/queries/utils\";\nimport { QueryCache, QueryClient } from \"@tanstack/react-query\";\nimport {\n hashFn,\n waitForCallsStatusQueryKey,\n waitForTransactionReceiptQueryKey,\n} from \"wagmi/query\";\n\nconst logger = getLogger(\"QueryCache\");\n\nexport const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n queryKeyHashFn: hashFn, // for bigint support\n },\n },\n queryCache: new QueryCache({\n onSuccess(data, query) {\n const queryKeyPrefix = query.queryKey[0];\n\n if (\n queryKeyPrefix === waitForTransactionReceiptQueryKeyPrefix &&\n isTransactionReceipt(data)\n ) {\n logger.log(\n `waitForTransactionReceiptQuery:: tx ${data.transactionHash} is mined, invalidating balances and allowances`\n );\n invalidateBalancesAndAllowances({ nonces: true });\n return;\n }\n\n if (\n queryKeyPrefix === waitForCallsStatusDataQueryKeyPrefix &&\n isWaitForCallsStatusData(data) &&\n data.status === \"success\" &&\n isReceiptsInWaitForCallsStatusData(data)\n ) {\n logger.log(\n `waitForCallsStatusDataQuery:: batch ${data.id} success, invalidating balances and allowances`\n );\n invalidateBalancesAndAllowances({ nonces: false });\n return;\n }\n\n if (\n queryKeyPrefix === deltaAuctionPollingQueryKeyPrefix &&\n isDeltaAuctionData(data) &&\n isExecutedDeltaAuction(data)\n ) {\n logger.log(\n `deltaAuctionPollingQueryKey:: order ${data.id} is executed, invalidating balances and allowances`\n );\n invalidateBalancesAndAllowances({ nonces: !!data.order.permit });\n return;\n }\n\n if (\n queryKeyPrefix === DeltaPriceQueryKeyPrefix &&\n isDataDeltaOrBridgePrice(data)\n ) {\n notifyOnPriceChange(data, queryClient);\n return;\n }\n\n if (\n queryKeyPrefix === MarketPriceQueryKeyPrefix &&\n isDataMarketPrice(data)\n ) {\n notifyOnPriceChange(data, queryClient);\n return;\n }\n },\n }),\n});\n\nconst invalidateBalancesAndAllowances =\n invalidateBalancesAndAllowancesFactory(queryClient);\n\nconst waitForTransactionReceiptQueryKeyPrefix =\n waitForTransactionReceiptQueryKey()[0];\nconst waitForCallsStatusDataQueryKeyPrefix = waitForCallsStatusQueryKey({})[0];\nconst deltaAuctionPollingQueryKeyPrefix = deltaAuctionPollingQueryKey()[0];\n"],"mappings":";;;;;;;;;;;AA4BA,IAAMkB,IAASlB,EAAU,aAAa,EAEzBmB,IAAc,IAAIL,EAAY;CACzCM,gBAAgB,EACdC,SAAS,EACPC,gBAAgBP,GAClB,EACD;CACDQ,YAAY,IAAIV,EAAW,EACzBW,UAAUC,GAAMC,GAAO;EACrB,IAAMC,IAAiBD,EAAME,SAAS;EAEtC,IACED,MAAmBE,KACnBlB,EAAqBc,EAAK,EAC1B;GAIAO,AAHAd,EAAOY,IACL,uCAAuCL,EAAKM,gBAAe,iDAC5D,EACDC,EAAgC,EAAEC,QAAQ,IAAM,CAAC;GACjD;;EAGF,IACEN,MAAmBO,KACnBtB,EAAyBa,EAAK,IAC9BA,EAAKU,WAAW,aAChBzB,EAAmCe,EAAK,EACxC;GAIAO,AAHAd,EAAOY,IACL,uCAAuCL,EAAKW,GAAE,gDAC/C,EACDJ,EAAgC,EAAEC,QAAQ,IAAO,CAAC;GAClD;;EAGF,IACEN,MAAmBU,KACnBnC,EAAmBuB,EAAK,IACxBtB,EAAuBsB,EAAK,EAC5B;GAIAO,AAHAd,EAAOY,IACL,uCAAuCL,EAAKW,GAAE,oDAC/C,EACDJ,EAAgC,EAAEC,QAAQ,CAAC,CAACR,EAAKa,MAAMC,QAAQ,CAAC;GAChE;;EAGF,IACEZ,MAAAA,uBACAtB,EAAyBoB,EAAK,EAC9B;GACAxB,EAAoBwB,GAAMN,EAAY;GACtC;;EAGF,IACEQ,MAAAA,wBACApB,EAAkBkB,EAAK,EACvB;GACAxB,EAAoBwB,GAAMN,EAAY;GACtC;;IAGL,CAAA;CACF,CAAC,EAEIa,IACJvB,EAAuCU,EAAY,EAE/CU,IACJZ,GAAmC,CAAC,IAChCiB,IAAuClB,EAA2B,EAAE,CAAC,CAAC,IACtEqB,IAAoC/B,GAA6B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { DeltaOrMarketPrice } from '../../hooks/swap/prices/types';
2
2
  /**
3
- * Applies slippage to a {srcAmount, destAmount} pair.
3
+ * Applies slippage to the srcAmount and destAmount of a DeltaOrMarketPrice.
4
4
  *
5
5
  * @param srcAmount - The source amount of the trade.
6
6
  * @param destAmount - The destination amount of the trade.
@@ -8,10 +8,7 @@ import { DeltaOrMarketPrice } from '../../hooks/swap/prices/types';
8
8
  * @param side - The side of the trade, either "BUY" or "SELL".
9
9
  * @returns An object containing the adjusted srcAmount and destAmount after applying slippage.
10
10
  */
11
- export declare function applySlippage({ srcAmount, destAmount }: {
12
- srcAmount: string;
13
- destAmount: string;
14
- }, slippage: number, side: "BUY" | "SELL"): {
11
+ export declare function applySlippage({ srcAmount, destAmount, }: Pick<DeltaOrMarketPrice, "srcAmount" | "destAmount">, slippage: number, side: "BUY" | "SELL"): {
15
12
  srcAmount: string;
16
13
  destAmount: string;
17
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/price.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAMpE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACpE,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,KAAK,GAAG,MAAM;;;EAyBrB;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,UAQ9D;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,EAC/C,KAAK,EACL,eAAe,GAChB,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,UAGA;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAGxD"}
1
+ {"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/price.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAMpE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,EACE,SAAS,EACT,UAAU,GACX,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,YAAY,CAAC,EACvD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,KAAK,GAAG,MAAM;;;EAyBrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,UAQ9D;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,EAC/C,KAAK,EACL,eAAe,GAChB,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,UAGA;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAGxD"}
@@ -13,18 +13,15 @@ function a({ srcAmount: e, destAmount: n }, r, i) {
13
13
  };
14
14
  }
15
15
  function o(t) {
16
- return e(t) ? t.partner.feePercent : t.partnerFee;
16
+ return r(e(t) ? t.receivedDestAmount : t.destAmount, t.partnerFee);
17
17
  }
18
- function s(t) {
19
- return r(e(t) ? t.route.destination.output.amount : t.destAmount, o(t));
18
+ function s({ price: e, slippagePercent: t }) {
19
+ return n(o(e), t);
20
20
  }
21
- function c({ price: e, slippagePercent: t }) {
22
- return n(s(e), t);
23
- }
24
- function l(e, t) {
21
+ function c(e, t) {
25
22
  return t === 0 || e === t ? 0 : i(e).minus(t).div(t).mul(100).toNumber();
26
23
  }
27
24
  //#endregion
28
- export { a as applySlippage, s as getDestAmountAfterFee, c as getDestAmountAfterFeeAndSlippage, l as getPercentDifference };
25
+ export { a as applySlippage, o as getDestAmountAfterFee, s as getDestAmountAfterFeeAndSlippage, c as getPercentDifference };
29
26
 
30
27
  //# sourceMappingURL=price.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","names":["DeltaOrMarketPrice","amountAfterSlippage","subtractSlippage","subtractFee","Big","isDeltaPrice","applySlippage","srcAmount","destAmount","slippage","side","srcAmountAfterSlippage","toFixed","destAmountAfterSlippage","getPartnerFeePercent","price","partner","feePercent","partnerFee","getDestAmountAfterFee","route","destination","output","amount","getDestAmountAfterFeeAndSlippage","slippagePercent","destAmountAfterFee","getPercentDifference","a","b","minus","div","mul","toNumber"],"sources":["../../../src/lib/utils/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage, subtractSlippage } from \"./slippage\";\nimport { subtractFee } from \"./fee\";\nimport Big from \"big.js\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\n/**\n * Applies slippage to a {srcAmount, destAmount} pair.\n *\n * @param srcAmount - The source amount of the trade.\n * @param destAmount - The destination amount of the trade.\n * @param slippage - The slippage percentage to apply (e.g., 0.5 for 0.5%).\n * @param side - The side of the trade, either \"BUY\" or \"SELL\".\n * @returns An object containing the adjusted srcAmount and destAmount after applying slippage.\n */\nexport function applySlippage(\n { srcAmount, destAmount }: { srcAmount: string; destAmount: string },\n slippage: number,\n side: \"BUY\" | \"SELL\"\n) {\n if (side === \"BUY\") {\n const srcAmountAfterSlippage = amountAfterSlippage(\n srcAmount,\n slippage,\n side\n ).toFixed(0);\n\n return {\n srcAmount: srcAmountAfterSlippage,\n destAmount,\n };\n }\n\n const destAmountAfterSlippage = amountAfterSlippage(\n destAmount,\n slippage,\n side\n ).toFixed(0);\n\n return {\n srcAmount,\n destAmount: destAmountAfterSlippage,\n };\n}\n\nfunction getPartnerFeePercent(price: DeltaOrMarketPrice): number {\n return isDeltaPrice(price) ? price.partner.feePercent : price.partnerFee;\n}\n\n/**\n * Calculates the destination amount after applying partner fee.\n *\n * @param price - The DeltaOrMarketPrice object containing destAmounts and partnerFee.\n * @returns The destination amount after applying partner fee.\n */\nexport function getDestAmountAfterFee(price: DeltaOrMarketPrice) {\n // destAmount has swapFees (and bridgeFees for Crosschain Delta) applied,\n // but not partnerFee\n const destAmount = isDeltaPrice(price)\n ? price.route.destination.output.amount\n : price.destAmount;\n\n return subtractFee(destAmount, getPartnerFeePercent(price));\n}\n\n/**\n * Calculates the destination amount after applying partner fee and slippage.\n *\n * @param price - The DeltaOrMarketPrice object containing destAmounts and partnerFee.\n * @param slippagePercent - The slippage percentage to apply.\n * @param priceMode - The mode of the price, either \"delta\" or \"market\".\n * @returns The destination amount after applying partner fee and slippage.\n */\nexport function getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n}: {\n price: DeltaOrMarketPrice;\n slippagePercent: number;\n}) {\n const destAmountAfterFee = getDestAmountAfterFee(price);\n return subtractSlippage(destAmountAfterFee, slippagePercent);\n}\n\nexport function getPercentDifference(a: number, b: number) {\n if (b === 0 || a === b) return 0;\n return Big(a).minus(b).div(b).mul(100).toNumber();\n}\n"],"mappings":";;;;;AAeA,SAAgBM,EACd,EAAEC,cAAWC,iBACbC,GACAC,GACA;CAoBA,OAnBIA,MAAS,QAOJ;EACLH,WAP6BN,EAC7BM,GACAE,GACAC,EACD,CAACE,QAAQ,EAGGD;EACXH;EACD,GASI;EACLD;EACAC,YAR8BP,EAC9BO,GACAC,GACAC,EACD,CAACE,QAAQ,EAIIC;EACb;;AAGH,SAASC,EAAqBC,GAAmC;CAC/D,OAAOV,EAAaU,EAAM,GAAGA,EAAMC,QAAQC,aAAaF,EAAMG;;AAShE,SAAgBC,EAAsBJ,GAA2B;CAO/D,OAAOZ,EAJYE,EAAaU,EAAM,GAClCA,EAAMK,MAAMC,YAAYC,OAAOC,SAC/BR,EAAMP,YAEqBM,EAAqBC,EAAM,CAAC;;AAW7D,SAAgBS,EAAiC,EAC/CT,UACAU,sBAIC;CAED,OAAOvB,EADoBiB,EAAsBJ,EACzBW,EAAoBD,EAAgB;;AAG9D,SAAgBE,EAAqBC,GAAWC,GAAW;CAEzD,OADIA,MAAM,KAAKD,MAAMC,IAAU,IACxBzB,EAAIwB,EAAE,CAACE,MAAMD,EAAE,CAACE,IAAIF,EAAE,CAACG,IAAI,IAAI,CAACC,UAAU"}
1
+ {"version":3,"file":"price.js","names":["DeltaOrMarketPrice","amountAfterSlippage","subtractSlippage","subtractFee","Big","isDeltaPrice","applySlippage","srcAmount","destAmount","Pick","slippage","side","srcAmountAfterSlippage","toFixed","destAmountAfterSlippage","getDestAmountAfterFee","price","receivedDestAmount","partnerFee","getDestAmountAfterFeeAndSlippage","slippagePercent","destAmountAfterFee","getPercentDifference","a","b","minus","div","mul","toNumber"],"sources":["../../../src/lib/utils/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage, subtractSlippage } from \"./slippage\";\nimport { subtractFee } from \"./fee\";\nimport Big from \"big.js\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\n/**\n * Applies slippage to the srcAmount and destAmount of a DeltaOrMarketPrice.\n *\n * @param srcAmount - The source amount of the trade.\n * @param destAmount - The destination amount of the trade.\n * @param slippage - The slippage percentage to apply (e.g., 0.5 for 0.5%).\n * @param side - The side of the trade, either \"BUY\" or \"SELL\".\n * @returns An object containing the adjusted srcAmount and destAmount after applying slippage.\n */\nexport function applySlippage(\n {\n srcAmount,\n destAmount,\n }: Pick<DeltaOrMarketPrice, \"srcAmount\" | \"destAmount\">,\n slippage: number,\n side: \"BUY\" | \"SELL\"\n) {\n if (side === \"BUY\") {\n const srcAmountAfterSlippage = amountAfterSlippage(\n srcAmount,\n slippage,\n side\n ).toFixed(0);\n\n return {\n srcAmount: srcAmountAfterSlippage,\n destAmount,\n };\n }\n\n const destAmountAfterSlippage = amountAfterSlippage(\n destAmount,\n slippage,\n side\n ).toFixed(0);\n\n return {\n srcAmount,\n destAmount: destAmountAfterSlippage,\n };\n}\n\n/**\n * Calculates the destination amount after applying partner fee.\n *\n * @param price - The DeltaOrMarketPrice object containing destAmounts and partnerFee.\n * @returns The destination amount after applying partner fee.\n */\nexport function getDestAmountAfterFee(price: DeltaOrMarketPrice) {\n // destAmount has swapFees (and bridgeFees for Crosschain Delta) applied,\n // but not partnerFee\n const destAmount = isDeltaPrice(price)\n ? price.receivedDestAmount\n : price.destAmount;\n\n return subtractFee(destAmount, price.partnerFee);\n}\n\n/**\n * Calculates the destination amount after applying partner fee and slippage.\n *\n * @param price - The DeltaOrMarketPrice object containing destAmounts and partnerFee.\n * @param slippagePercent - The slippage percentage to apply.\n * @param priceMode - The mode of the price, either \"delta\" or \"market\".\n * @returns The destination amount after applying partner fee and slippage.\n */\nexport function getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n}: {\n price: DeltaOrMarketPrice;\n slippagePercent: number;\n}) {\n const destAmountAfterFee = getDestAmountAfterFee(price);\n return subtractSlippage(destAmountAfterFee, slippagePercent);\n}\n\nexport function getPercentDifference(a: number, b: number) {\n if (b === 0 || a === b) return 0;\n return Big(a).minus(b).div(b).mul(100).toNumber();\n}\n"],"mappings":";;;;;AAeA,SAAgBM,EACd,EACEC,cACAC,iBAEFE,GACAC,GACA;CAoBA,OAnBIA,MAAS,QAOJ;EACLJ,WAP6BN,EAC7BM,GACAG,GACAC,EACD,CAACE,QAAQ,EAGGD;EACXJ;EACD,GASI;EACLD;EACAC,YAR8BP,EAC9BO,GACAE,GACAC,EACD,CAACE,QAAQ,EAIIC;EACb;;AASH,SAAgBC,EAAsBC,GAA2B;CAO/D,OAAOb,EAJYE,EAAaW,EAAM,GAClCA,EAAMC,qBACND,EAAMR,YAEqBQ,EAAME,WAAW;;AAWlD,SAAgBC,EAAiC,EAC/CH,UACAI,sBAIC;CAED,OAAOlB,EADoBa,EAAsBC,EACzBK,EAAoBD,EAAgB;;AAG9D,SAAgBE,EAAqBC,GAAWC,GAAW;CAEzD,OADIA,MAAM,KAAKD,MAAMC,IAAU,IACxBpB,EAAImB,EAAE,CAACE,MAAMD,EAAE,CAACE,IAAIF,EAAE,CAACG,IAAI,IAAI,CAACC,UAAU"}
@@ -1,4 +1,4 @@
1
- import { DeltaPriceV2 } from '@velora-dex/sdk';
1
+ import { DeltaOrBridgePrice } from '../../hooks/swap/prices/types';
2
2
  import { DeltaAuctionWithTwapOrder } from '../../hooks/swap/prices/delta/orders/types';
3
3
  export declare function getTwapChunkAmount({ totalWei, numSlices, }: {
4
4
  totalWei: string;
@@ -9,7 +9,7 @@ export declare function getTotalTwapAmount({ chunkWei, numSlices, }: {
9
9
  numSlices: number;
10
10
  }): string;
11
11
  export declare function getTwapAmountsFromPrice({ price, numSlices, }: {
12
- price: DeltaPriceV2;
12
+ price: DeltaOrBridgePrice;
13
13
  numSlices: number;
14
14
  }): {
15
15
  srcAmount: string;
@@ -1 +1 @@
1
- {"version":3,"file":"twap.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/twap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAExF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAGT;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAGT;AAED,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;;;EAWA;AACD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;;;EAcA;AAED,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,WAAW,CAAC;;;EAIxD"}
1
+ {"version":3,"file":"twap.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/twap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAExF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAGT;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAGT;AAED,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;;;EAQA;AACD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;;;EAcA;AAED,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,WAAW,CAAC;;;EAIxD"}
@@ -12,11 +12,11 @@ function o({ chunkWei: e, numSlices: t }) {
12
12
  function s({ price: e, numSlices: t }) {
13
13
  return {
14
14
  srcAmount: o({
15
- chunkWei: e.route.origin.input.amount,
15
+ chunkWei: e.srcAmount,
16
16
  numSlices: t
17
17
  }),
18
18
  destAmount: o({
19
- chunkWei: e.route.destination.output.amount,
19
+ chunkWei: e.receivedDestAmount,
20
20
  numSlices: t
21
21
  })
22
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"twap.js","names":["DeltaPriceV2","Big","millisecondsToSeconds","minutesToMilliseconds","TEN_MINUTES_MS","produceDeltaOrderDeadline","DeltaAuctionWithTwapOrder","getTwapChunkAmount","totalWei","numSlices","div","toFixed","getTotalTwapAmount","chunkWei","mul","getTwapAmountsFromPrice","price","srcAmount","route","origin","input","amount","destAmount","destination","output","produceTwapDeadlines","durationMin","orderDurationMs","orderDeadline","orderInterval","Math","floor","Number","getTwapAuctionDeadlines","order","createdAt","Pick","durationMs","interval","endsInMs","Date","getTime"],"sources":["../../../src/lib/utils/twap.ts"],"sourcesContent":["import type { DeltaPriceV2 } from \"@velora-dex/sdk\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds, minutesToMilliseconds } from \"./time\";\nimport { TEN_MINUTES_MS } from \"../constants/time\";\nimport { produceDeltaOrderDeadline } from \"./delta\";\nimport type { DeltaAuctionWithTwapOrder } from \"@/hooks/swap/prices/delta/orders/types\";\n\nexport function getTwapChunkAmount({\n totalWei,\n numSlices,\n}: {\n totalWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || totalWei === \"0\") return totalWei;\n return Big(totalWei).div(numSlices).toFixed(0, 0); // roundDown to avoid overestimating\n}\n\nexport function getTotalTwapAmount({\n chunkWei,\n numSlices,\n}: {\n chunkWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || chunkWei === \"0\") return chunkWei;\n return Big(chunkWei).mul(numSlices).toFixed();\n}\n\nexport function getTwapAmountsFromPrice({\n price,\n numSlices,\n}: {\n price: DeltaPriceV2;\n numSlices: number;\n}) {\n return {\n srcAmount: getTotalTwapAmount({\n chunkWei: price.route.origin.input.amount,\n numSlices,\n }),\n destAmount: getTotalTwapAmount({\n chunkWei: price.route.destination.output.amount,\n numSlices,\n }),\n };\n}\nexport function produceTwapDeadlines({\n durationMin,\n numSlices,\n}: {\n durationMin: number;\n numSlices: number;\n}) {\n const orderDurationMs = minutesToMilliseconds(durationMin);\n const orderDeadline = produceDeltaOrderDeadline(\n // 10 min buffer for possible delays in order creation or slice executions\n orderDurationMs + TEN_MINUTES_MS\n );\n const orderInterval = Math.floor(\n millisecondsToSeconds(orderDurationMs) / numSlices\n );\n\n return {\n orderDeadline: Number(orderDeadline),\n orderInterval,\n };\n}\n\nexport function getTwapAuctionDeadlines({\n order,\n createdAt,\n}: Pick<DeltaAuctionWithTwapOrder, \"order\" | \"createdAt\">) {\n const durationMs = order.numSlices * order.interval * 1000;\n const endsInMs = new Date(createdAt).getTime() + durationMs;\n return { endsInMs, durationMs };\n}\n"],"mappings":";;;;;AAOA,SAAgBO,EAAmB,EACjCC,aACAC,gBAIS;CAET,OADIA,KAAa,KAAKD,MAAa,MAAYA,IACxCP,EAAIO,EAAS,CAACE,IAAID,EAAU,CAACE,QAAQ,GAAG,EAAE;;AAGnD,SAAgBC,EAAmB,EACjCC,aACAJ,gBAIS;CAET,OADIA,KAAa,KAAKI,MAAa,MAAYA,IACxCZ,EAAIY,EAAS,CAACC,IAAIL,EAAU,CAACE,SAAS;;AAG/C,SAAgBI,EAAwB,EACtCC,UACAP,gBAIC;CACD,OAAO;EACLQ,WAAWL,EAAmB;GAC5BC,UAAUG,EAAME,MAAMC,OAAOC,MAAMC;GACnCZ;GACD,CAAC;EACFa,YAAYV,EAAmB;GAC7BC,UAAUG,EAAME,MAAMK,YAAYC,OAAOH;GACzCZ;GACD,CAAA;EACF;;AAEH,SAAgBgB,EAAqB,EACnCC,gBACAjB,gBAIC;CACD,IAAMkB,IAAkBxB,EAAsBuB,EAAY,EACpDE,IAAgBvB,EAEpBsB,IAAkBvB,EACnB,EACKyB,IAAgBC,KAAKC,MACzB7B,EAAsByB,EAAgB,GAAGlB,EAC1C;CAED,OAAO;EACLmB,eAAeI,OAAOJ,EAAc;EACpCC;EACD;;AAGH,SAAgBI,EAAwB,EACtCC,UACAC,gBACyD;CACzD,IAAME,IAAaH,EAAMzB,YAAYyB,EAAMI,WAAW;CAEtD,OAAO;EAAEC,UADQ,IAAIC,KAAKL,EAAU,CAACM,SAAS,GAAGJ;EAC9BA;EAAY"}
1
+ {"version":3,"file":"twap.js","names":["DeltaOrBridgePrice","Big","millisecondsToSeconds","minutesToMilliseconds","TEN_MINUTES_MS","produceDeltaOrderDeadline","DeltaAuctionWithTwapOrder","getTwapChunkAmount","totalWei","numSlices","div","toFixed","getTotalTwapAmount","chunkWei","mul","getTwapAmountsFromPrice","price","srcAmount","destAmount","receivedDestAmount","produceTwapDeadlines","durationMin","orderDurationMs","orderDeadline","orderInterval","Math","floor","Number","getTwapAuctionDeadlines","order","createdAt","Pick","durationMs","interval","endsInMs","Date","getTime"],"sources":["../../../src/lib/utils/twap.ts"],"sourcesContent":["import type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds, minutesToMilliseconds } from \"./time\";\nimport { TEN_MINUTES_MS } from \"../constants/time\";\nimport { produceDeltaOrderDeadline } from \"./delta\";\nimport type { DeltaAuctionWithTwapOrder } from \"@/hooks/swap/prices/delta/orders/types\";\n\nexport function getTwapChunkAmount({\n totalWei,\n numSlices,\n}: {\n totalWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || totalWei === \"0\") return totalWei;\n return Big(totalWei).div(numSlices).toFixed(0, 0); // roundDown to avoid overestimating\n}\n\nexport function getTotalTwapAmount({\n chunkWei,\n numSlices,\n}: {\n chunkWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || chunkWei === \"0\") return chunkWei;\n return Big(chunkWei).mul(numSlices).toFixed();\n}\n\nexport function getTwapAmountsFromPrice({\n price,\n numSlices,\n}: {\n price: DeltaOrBridgePrice;\n numSlices: number;\n}) {\n return {\n srcAmount: getTotalTwapAmount({ chunkWei: price.srcAmount, numSlices }),\n destAmount: getTotalTwapAmount({\n chunkWei: price.receivedDestAmount,\n numSlices,\n }),\n };\n}\nexport function produceTwapDeadlines({\n durationMin,\n numSlices,\n}: {\n durationMin: number;\n numSlices: number;\n}) {\n const orderDurationMs = minutesToMilliseconds(durationMin);\n const orderDeadline = produceDeltaOrderDeadline(\n // 10 min buffer for possible delays in order creation or slice executions\n orderDurationMs + TEN_MINUTES_MS\n );\n const orderInterval = Math.floor(\n millisecondsToSeconds(orderDurationMs) / numSlices\n );\n\n return {\n orderDeadline: Number(orderDeadline),\n orderInterval,\n };\n}\n\nexport function getTwapAuctionDeadlines({\n order,\n createdAt,\n}: Pick<DeltaAuctionWithTwapOrder, \"order\" | \"createdAt\">) {\n const durationMs = order.numSlices * order.interval * 1000;\n const endsInMs = new Date(createdAt).getTime() + durationMs;\n return { endsInMs, durationMs };\n}\n"],"mappings":";;;;;AAOA,SAAgBO,EAAmB,EACjCC,aACAC,gBAIS;CAET,OADIA,KAAa,KAAKD,MAAa,MAAYA,IACxCP,EAAIO,EAAS,CAACE,IAAID,EAAU,CAACE,QAAQ,GAAG,EAAE;;AAGnD,SAAgBC,EAAmB,EACjCC,aACAJ,gBAIS;CAET,OADIA,KAAa,KAAKI,MAAa,MAAYA,IACxCZ,EAAIY,EAAS,CAACC,IAAIL,EAAU,CAACE,SAAS;;AAG/C,SAAgBI,EAAwB,EACtCC,UACAP,gBAIC;CACD,OAAO;EACLQ,WAAWL,EAAmB;GAAEC,UAAUG,EAAMC;GAAWR;GAAW,CAAC;EACvES,YAAYN,EAAmB;GAC7BC,UAAUG,EAAMG;GAChBV;GACD,CAAA;EACF;;AAEH,SAAgBW,EAAqB,EACnCC,gBACAZ,gBAIC;CACD,IAAMa,IAAkBnB,EAAsBkB,EAAY,EACpDE,IAAgBlB,EAEpBiB,IAAkBlB,EACnB,EACKoB,IAAgBC,KAAKC,MACzBxB,EAAsBoB,EAAgB,GAAGb,EAC1C;CAED,OAAO;EACLc,eAAeI,OAAOJ,EAAc;EACpCC;EACD;;AAGH,SAAgBI,EAAwB,EACtCC,UACAC,gBACyD;CACzD,IAAME,IAAaH,EAAMpB,YAAYoB,EAAMI,WAAW;CAEtD,OAAO;EAAEC,UADQ,IAAIC,KAAKL,EAAU,CAACM,SAAS,GAAGJ;EAC9BA;EAAY"}
@@ -3,11 +3,13 @@ import { ImportTokenDrawerProps } from '../../components/widget/ImportToken/type
3
3
  import { MarkRequired } from 'ts-essentials';
4
4
  import { Address } from 'viem';
5
5
  import { SupportedChainId } from '../../lib/web3/wagmi/types';
6
+ import { ImportTokenReason } from '../../events/types/importToken';
6
7
  type TokenWithSymbol = MarkRequired<Token, "symbol">;
7
8
  export type OnImportAction = (tokenImported: TokenWithSymbol) => void;
8
9
  export declare const addImportedTokenAtom: import('jotai').WritableAtom<null, [{
9
10
  newToken: TokenWithSymbol;
10
11
  afterAction?: ImportTokenDrawerProps["onConfirmAction"];
12
+ reason?: ImportTokenReason;
11
13
  }], ImportedToken | undefined> & {
12
14
  init: null;
13
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"addImportedTokenAtom.d.ts","sourceRoot":"","sources":["../../../src/tokens/state/addImportedTokenAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAKpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,KAAK,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,eAAe,KAAK,IAAI,CAAC;AAEtE,eAAO,MAAM,oBAAoB;cASjB,eAAe;kBACX,sBAAsB,CAAC,iBAAiB,CAAC;;;CAuC5D,CAAC;AAKF,eAAO,MAAM,wBAAwB;aAKR,OAAO;aAAW,gBAAgB;;;CA8B9D,CAAC"}
1
+ {"version":3,"file":"addImportedTokenAtom.d.ts","sourceRoot":"","sources":["../../../src/tokens/state/addImportedTokenAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAKpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,KAAK,eAAe,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,eAAe,KAAK,IAAI,CAAC;AAEtE,eAAO,MAAM,oBAAoB;cAUjB,eAAe;kBACX,sBAAsB,CAAC,iBAAiB,CAAC;aAC9C,iBAAiB;;;CAuD/B,CAAC;AAKF,eAAO,MAAM,wBAAwB;aAKR,OAAO;aAAW,gBAAgB;;;CA+B9D,CAAC"}
@@ -1,40 +1,56 @@
1
1
  import { tradeModeAtom as e } from "../../core/state/tradeModeAtom.js";
2
- import { autoImportedTokensAtom as t, importedTokensAtom as n } from "./importedTokensAtom.js";
3
- import { tradeModeToSetTokenAtoms as r } from "../../core/inputs/state/common.js";
4
- import { fetchUnknownTokenData as i } from "../../hooks/tokens/data/useMultichainTokensData.js";
5
- import { atom as a } from "jotai";
6
- import { constructToken as o } from "@velora-dex/sdk";
2
+ import { widgetEventsAtom as t } from "../../core/state/widgetEventsAtom.js";
3
+ import { autoImportedTokensAtom as n, importedTokensAtom as r } from "./importedTokensAtom.js";
4
+ import { tradeModeToSetTokenAtoms as i } from "../../core/inputs/state/common.js";
5
+ import { fetchUnknownTokenData as a } from "../../hooks/tokens/data/useMultichainTokensData.js";
6
+ import { atom as o } from "jotai";
7
+ import { constructToken as s } from "@velora-dex/sdk";
7
8
  //#region src/tokens/state/addImportedTokenAtom.ts
8
- var s = a(null, (t, i, { newToken: a, afterAction: o }) => {
9
- let s = a.network, c = t(n), u = c[s] ?? [], d = a.address.toLowerCase();
10
- if (u.some((e) => e.address.toLowerCase() === d)) return;
11
- let f = {
12
- ...l(a),
9
+ var c = o(null, (n, a, { newToken: o, afterAction: s, reason: c = "manual" }) => {
10
+ let l = o.network, d = n(r), f = d[l] ?? [], p = o.address.toLowerCase();
11
+ if (f.some((e) => e.address.toLowerCase() === p)) return;
12
+ let m = {
13
+ ...u(o),
13
14
  imported: !0,
14
- symbol: a.symbol
15
+ symbol: o.symbol
15
16
  };
16
- if (i(n, {
17
- ...c,
18
- [s]: [...u, f]
19
- }), !o) return f;
20
- let p = r[t(e)][o === "set-token-from" ? "tokenFromAtom" : "tokenToAtom"];
21
- return i(p, f), f;
22
- }), c = a([], async (e, n, r) => {
23
- let a = await i(r);
24
- if (a) {
25
- let i = n(s, { newToken: {
26
- ...o(a),
27
- symbol: a.symbol,
28
- network: r.chainId
29
- } });
30
- if (i) {
31
- let r = e(t);
32
- if (r.some((e) => e.address.toLowerCase() === i.address.toLowerCase() && e.network === i.network)) return;
33
- n(t, [...r, i]);
17
+ if (a(r, {
18
+ ...d,
19
+ [l]: [...f, m]
20
+ }), n(t).onImportToken?.({ event: {
21
+ name: "ImportToken:imported",
22
+ params: {
23
+ reason: c,
24
+ token: {
25
+ address: m.address,
26
+ network: m.network,
27
+ symbol: m.symbol,
28
+ decimals: m.decimals,
29
+ img: m.img
30
+ }
31
+ }
32
+ } }), !s) return m;
33
+ let h = i[n(e)][s === "set-token-from" ? "tokenFromAtom" : "tokenToAtom"];
34
+ return a(h, m), m;
35
+ }), l = o([], async (e, t, r) => {
36
+ let i = await a(r);
37
+ if (i) {
38
+ let a = t(c, {
39
+ newToken: {
40
+ ...s(i),
41
+ symbol: i.symbol,
42
+ network: r.chainId
43
+ },
44
+ reason: "auto"
45
+ });
46
+ if (a) {
47
+ let r = e(n);
48
+ if (r.some((e) => e.address.toLowerCase() === a.address.toLowerCase() && e.network === a.network)) return;
49
+ t(n, [...r, a]);
34
50
  }
35
51
  }
36
52
  });
37
- function l(e) {
53
+ function u(e) {
38
54
  return {
39
55
  address: e.address,
40
56
  decimals: e.decimals,
@@ -53,6 +69,6 @@ function l(e) {
53
69
  };
54
70
  }
55
71
  //#endregion
56
- export { s as addImportedTokenAtom, c as autoAddImportedTokenAtom };
72
+ export { c as addImportedTokenAtom, l as autoAddImportedTokenAtom };
57
73
 
58
74
  //# sourceMappingURL=addImportedTokenAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addImportedTokenAtom.js","names":["atom","ImportedToken","Token","ImportTokenDrawerProps","autoImportedTokensAtom","importedTokensAtom","MarkRequired","fetchUnknownTokenData","constructToken","Address","SupportedChainId","tradeModeAtom","tradeModeToSetTokenAtoms","TokenWithSymbol","OnImportAction","tokenImported","addImportedTokenAtom","get","set","newToken","afterAction","chainId","network","currentTokens","tokensForChain","newTokenAddressLower","address","toLowerCase","alreadyExists","some","t","tokenToAdd","pickOnlyTokenProps","imported","symbol","tradeMode","tokensToSet","tokenAtomToSet","autoAddImportedTokenAtom","minTokenData","fetchedToken","constructedToken","importedToken","currentAutoImportedTokens","token","decimals","tokenType","mainConnector","connectors","img","allowance","balance","name","fromList","fromListURL"],"sources":["../../../src/tokens/state/addImportedTokenAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport type { ImportedToken, Token } from \"./types\";\nimport type { ImportTokenDrawerProps } from \"@/components/widget/ImportToken/types\";\nimport {\n autoImportedTokensAtom,\n importedTokensAtom,\n} from \"./importedTokensAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport { fetchUnknownTokenData } from \"@/hooks/tokens/data/useMultichainTokensData\";\nimport { constructToken } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { tradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport { tradeModeToSetTokenAtoms } from \"@/core/inputs/state/common\";\n\ntype TokenWithSymbol = MarkRequired<Token, \"symbol\">;\nexport type OnImportAction = (tokenImported: TokenWithSymbol) => void;\n\nexport const addImportedTokenAtom = atom(\n null,\n (\n get,\n set,\n {\n newToken,\n afterAction,\n }: {\n newToken: TokenWithSymbol;\n afterAction?: ImportTokenDrawerProps[\"onConfirmAction\"];\n }\n ) => {\n const chainId = newToken.network;\n const currentTokens = get(importedTokensAtom);\n const tokensForChain = currentTokens[chainId] ?? [];\n // Avoid duplicates by address\n const newTokenAddressLower = newToken.address.toLowerCase();\n const alreadyExists = tokensForChain.some(\n (t) => t.address.toLowerCase() === newTokenAddressLower\n );\n if (alreadyExists) return;\n\n const tokenToAdd: ImportedToken = {\n // get rid of extra props attached for display purposes (usdBalance, fetchedOnChain)\n ...pickOnlyTokenProps(newToken),\n imported: true,\n symbol: newToken.symbol,\n };\n\n set(importedTokensAtom, {\n ...currentTokens,\n [chainId]: [...tokensForChain, tokenToAdd],\n });\n\n if (!afterAction) return tokenToAdd;\n\n const tradeMode = get(tradeModeAtom);\n const tokensToSet = tradeModeToSetTokenAtoms[tradeMode];\n const tokenAtomToSet =\n tokensToSet[\n afterAction === \"set-token-from\" ? \"tokenFromAtom\" : \"tokenToAtom\"\n ];\n // atom setter inside takes care of disallowed pair choices,\n // like invalid crosschain match\n set(tokenAtomToSet, tokenToAdd);\n\n return tokenToAdd;\n }\n);\n\n// fetches Token data onchain internally,\n// adds it to addImportedTokenAtom.\n// then adds it to autoImportedTokensAtom.\nexport const autoAddImportedTokenAtom = atom(\n [],\n async (\n get,\n set,\n minTokenData: { address: Address; chainId: SupportedChainId }\n ) => {\n const fetchedToken = await fetchUnknownTokenData(minTokenData);\n\n if (fetchedToken) {\n const constructedToken = constructToken(fetchedToken);\n const importedToken = set(addImportedTokenAtom, {\n newToken: {\n ...constructedToken,\n symbol: fetchedToken.symbol,\n network: minTokenData.chainId,\n },\n });\n\n if (importedToken) {\n const currentAutoImportedTokens = get(autoImportedTokensAtom);\n const alreadyExists = currentAutoImportedTokens.some(\n (t) =>\n t.address.toLowerCase() === importedToken.address.toLowerCase() &&\n t.network === importedToken.network\n );\n if (alreadyExists) return;\n\n set(autoImportedTokensAtom, [\n ...currentAutoImportedTokens,\n importedToken,\n ]);\n }\n }\n }\n);\n\nfunction pickOnlyTokenProps(token: Token): Token {\n return {\n address: token.address,\n decimals: token.decimals,\n symbol: token.symbol,\n tokenType: token.tokenType,\n mainConnector: token.mainConnector,\n connectors: token.connectors,\n network: token.network,\n img: token.img,\n allowance: token.allowance,\n balance: token.balance,\n imported: token.imported,\n name: token.name,\n fromList: token.fromList,\n fromListURL: token.fromListURL,\n };\n}\n"],"mappings":";;;;;;;AAkBA,IAAagB,IAAuBhB,EAClC,OAEEiB,GACAC,GACA,EACEC,aACAC,qBAKC;CACH,IAAMC,IAAUF,EAASG,SACnBC,IAAgBN,EAAIZ,EAAmB,EACvCmB,IAAiBD,EAAcF,MAAY,EAAE,EAE7CI,IAAuBN,EAASO,QAAQC,aAAa;CAI3D,IAHsBH,EAAeK,MAClCC,MAAMA,EAAEJ,QAAQC,aAAa,KAAKF,EAEjCG,EAAe;CAEnB,IAAMG,IAA4B;EAEhC,GAAGC,EAAmBb,EAAS;EAC/Bc,UAAU;EACVC,QAAQf,EAASe;EAClB;CAOD,IALAhB,EAAIb,GAAoB;EACtB,GAAGkB;GACFF,IAAU,CAAC,GAAGG,GAAgBO,EAAU;EAC1C,CAAC,EAEE,CAACX,GAAa,OAAOW;CAIzB,IAAMM,IADczB,EADFK,EAAIN,EACuBwB,EAGzCf,MAAgB,mBAAmB,kBAAkB;CAMzD,OAFAF,EAAImB,GAAgBN,EAAW,EAExBA;EAEV,EAKYO,IAA2BtC,EACtC,EAAE,EACF,OACEiB,GACAC,GACAqB,MACG;CACH,IAAMC,IAAe,MAAMjC,EAAsBgC,EAAa;CAE9D,IAAIC,GAAc;EAEhB,IAAME,IAAgBxB,EAAIF,GAAsB,EAC9CG,UAAU;GACR,GAHqBX,EAAegC,EAGjCC;GACHP,QAAQM,EAAaN;GACrBZ,SAASiB,EAAalB;GACxB,EACD,CAAC;EAEF,IAAIqB,GAAe;GACjB,IAAMC,IAA4B1B,EAAIb,EAAuB;GAM7D,IALsBuC,EAA0Bd,MAC7CC,MACCA,EAAEJ,QAAQC,aAAa,KAAKe,EAAchB,QAAQC,aAAa,IAC/DG,EAAER,YAAYoB,EAAcpB,QAE5BM,EAAe;GAEnBV,EAAId,GAAwB,CAC1B,GAAGuC,GACHD,EACD,CAAC;;;EAIT;AAED,SAASV,EAAmBY,GAAqB;CAC/C,OAAO;EACLlB,SAASkB,EAAMlB;EACfmB,UAAUD,EAAMC;EAChBX,QAAQU,EAAMV;EACdY,WAAWF,EAAME;EACjBC,eAAeH,EAAMG;EACrBC,YAAYJ,EAAMI;EAClB1B,SAASsB,EAAMtB;EACf2B,KAAKL,EAAMK;EACXC,WAAWN,EAAMM;EACjBC,SAASP,EAAMO;EACflB,UAAUW,EAAMX;EAChBmB,MAAMR,EAAMQ;EACZC,UAAUT,EAAMS;EAChBC,aAAaV,EAAMU;EACpB"}
1
+ {"version":3,"file":"addImportedTokenAtom.js","names":["atom","ImportedToken","Token","ImportTokenDrawerProps","autoImportedTokensAtom","importedTokensAtom","MarkRequired","fetchUnknownTokenData","constructToken","Address","SupportedChainId","tradeModeAtom","tradeModeToSetTokenAtoms","widgetEventsAtom","ImportTokenReason","TokenWithSymbol","OnImportAction","tokenImported","addImportedTokenAtom","get","set","newToken","afterAction","reason","chainId","network","currentTokens","tokensForChain","newTokenAddressLower","address","toLowerCase","alreadyExists","some","t","tokenToAdd","pickOnlyTokenProps","imported","symbol","onImportToken","event","name","params","token","decimals","img","tradeMode","tokensToSet","tokenAtomToSet","autoAddImportedTokenAtom","minTokenData","fetchedToken","constructedToken","importedToken","currentAutoImportedTokens","tokenType","mainConnector","connectors","allowance","balance","fromList","fromListURL"],"sources":["../../../src/tokens/state/addImportedTokenAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport type { ImportedToken, Token } from \"./types\";\nimport type { ImportTokenDrawerProps } from \"@/components/widget/ImportToken/types\";\nimport {\n autoImportedTokensAtom,\n importedTokensAtom,\n} from \"./importedTokensAtom\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport { fetchUnknownTokenData } from \"@/hooks/tokens/data/useMultichainTokensData\";\nimport { constructToken } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { tradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport { tradeModeToSetTokenAtoms } from \"@/core/inputs/state/common\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport type { ImportTokenReason } from \"@/events/types/importToken\";\n\ntype TokenWithSymbol = MarkRequired<Token, \"symbol\">;\nexport type OnImportAction = (tokenImported: TokenWithSymbol) => void;\n\nexport const addImportedTokenAtom = atom(\n null,\n (\n get,\n set,\n {\n newToken,\n afterAction,\n reason = \"manual\",\n }: {\n newToken: TokenWithSymbol;\n afterAction?: ImportTokenDrawerProps[\"onConfirmAction\"];\n reason?: ImportTokenReason;\n }\n ) => {\n const chainId = newToken.network;\n const currentTokens = get(importedTokensAtom);\n const tokensForChain = currentTokens[chainId] ?? [];\n // Avoid duplicates by address\n const newTokenAddressLower = newToken.address.toLowerCase();\n const alreadyExists = tokensForChain.some(\n (t) => t.address.toLowerCase() === newTokenAddressLower\n );\n if (alreadyExists) return;\n\n const tokenToAdd: ImportedToken = {\n // get rid of extra props attached for display purposes (usdBalance, fetchedOnChain)\n ...pickOnlyTokenProps(newToken),\n imported: true,\n symbol: newToken.symbol,\n };\n\n set(importedTokensAtom, {\n ...currentTokens,\n [chainId]: [...tokensForChain, tokenToAdd],\n });\n\n get(widgetEventsAtom).onImportToken?.({\n event: {\n name: \"ImportToken:imported\",\n params: {\n reason,\n token: {\n address: tokenToAdd.address,\n network: tokenToAdd.network,\n symbol: tokenToAdd.symbol,\n decimals: tokenToAdd.decimals,\n img: tokenToAdd.img,\n },\n },\n },\n });\n\n if (!afterAction) return tokenToAdd;\n\n const tradeMode = get(tradeModeAtom);\n const tokensToSet = tradeModeToSetTokenAtoms[tradeMode];\n const tokenAtomToSet =\n tokensToSet[\n afterAction === \"set-token-from\" ? \"tokenFromAtom\" : \"tokenToAtom\"\n ];\n // atom setter inside takes care of disallowed pair choices,\n // like invalid crosschain match\n set(tokenAtomToSet, tokenToAdd);\n\n return tokenToAdd;\n }\n);\n\n// fetches Token data onchain internally,\n// adds it to addImportedTokenAtom.\n// then adds it to autoImportedTokensAtom.\nexport const autoAddImportedTokenAtom = atom(\n [],\n async (\n get,\n set,\n minTokenData: { address: Address; chainId: SupportedChainId }\n ) => {\n const fetchedToken = await fetchUnknownTokenData(minTokenData);\n\n if (fetchedToken) {\n const constructedToken = constructToken(fetchedToken);\n const importedToken = set(addImportedTokenAtom, {\n newToken: {\n ...constructedToken,\n symbol: fetchedToken.symbol,\n network: minTokenData.chainId,\n },\n reason: \"auto\",\n });\n\n if (importedToken) {\n const currentAutoImportedTokens = get(autoImportedTokensAtom);\n const alreadyExists = currentAutoImportedTokens.some(\n (t) =>\n t.address.toLowerCase() === importedToken.address.toLowerCase() &&\n t.network === importedToken.network\n );\n if (alreadyExists) return;\n\n set(autoImportedTokensAtom, [\n ...currentAutoImportedTokens,\n importedToken,\n ]);\n }\n }\n }\n);\n\nfunction pickOnlyTokenProps(token: Token): Token {\n return {\n address: token.address,\n decimals: token.decimals,\n symbol: token.symbol,\n tokenType: token.tokenType,\n mainConnector: token.mainConnector,\n connectors: token.connectors,\n network: token.network,\n img: token.img,\n allowance: token.allowance,\n balance: token.balance,\n imported: token.imported,\n name: token.name,\n fromList: token.fromList,\n fromListURL: token.fromListURL,\n };\n}\n"],"mappings":";;;;;;;;AAoBA,IAAakB,IAAuBlB,EAClC,OAEEmB,GACAC,GACA,EACEC,aACAC,gBACAC,YAAS,eAMR;CACH,IAAMC,IAAUH,EAASI,SACnBC,IAAgBP,EAAId,EAAmB,EACvCsB,IAAiBD,EAAcF,MAAY,EAAE,EAE7CI,IAAuBP,EAASQ,QAAQC,aAAa;CAI3D,IAHsBH,EAAeK,MAClCC,MAAMA,EAAEJ,QAAQC,aAAa,KAAKF,EAEjCG,EAAe;CAEnB,IAAMG,IAA4B;EAEhC,GAAGC,EAAmBd,EAAS;EAC/Be,UAAU;EACVC,QAAQhB,EAASgB;EAClB;CAuBD,IArBAjB,EAAIf,GAAoB;EACtB,GAAGqB;GACFF,IAAU,CAAC,GAAGG,GAAgBO,EAAU;EAC1C,CAAC,EAEFf,EAAIN,EAAiB,CAACyB,gBAAgB,EACpCC,OAAO;EACLC,MAAM;EACNC,QAAQ;GACNlB;GACAmB,OAAO;IACLb,SAASK,EAAWL;IACpBJ,SAASS,EAAWT;IACpBY,QAAQH,EAAWG;IACnBM,UAAUT,EAAWS;IACrBC,KAAKV,EAAWU;IAClB;GACF;EACF,EACD,CAAC,EAEE,CAACtB,GAAa,OAAOY;CAIzB,IAAMa,IADcnC,EADFO,EAAIR,EACuBkC,EAGzCvB,MAAgB,mBAAmB,kBAAkB;CAMzD,OAFAF,EAAI2B,GAAgBb,EAAW,EAExBA;EAEV,EAKYc,IAA2BhD,EACtC,EAAE,EACF,OACEmB,GACAC,GACA6B,MACG;CACH,IAAMC,IAAe,MAAM3C,EAAsB0C,EAAa;CAE9D,IAAIC,GAAc;EAEhB,IAAME,IAAgBhC,EAAIF,GAAsB;GAC9CG,UAAU;IACR,GAHqBb,EAAe0C,EAGjCC;IACHd,QAAQa,EAAab;IACrBZ,SAASwB,EAAazB;IACvB;GACDD,QAAQ;GACT,CAAC;EAEF,IAAI6B,GAAe;GACjB,IAAMC,IAA4BlC,EAAIf,EAAuB;GAM7D,IALsBiD,EAA0BrB,MAC7CC,MACCA,EAAEJ,QAAQC,aAAa,KAAKsB,EAAcvB,QAAQC,aAAa,IAC/DG,EAAER,YAAY2B,EAAc3B,QAE5BM,EAAe;GAEnBX,EAAIhB,GAAwB,CAC1B,GAAGiD,GACHD,EACD,CAAC;;;EAIT;AAED,SAASjB,EAAmBO,GAAqB;CAC/C,OAAO;EACLb,SAASa,EAAMb;EACfc,UAAUD,EAAMC;EAChBN,QAAQK,EAAML;EACdiB,WAAWZ,EAAMY;EACjBC,eAAeb,EAAMa;EACrBC,YAAYd,EAAMc;EAClB/B,SAASiB,EAAMjB;EACfmB,KAAKF,EAAME;EACXa,WAAWf,EAAMe;EACjBC,SAAShB,EAAMgB;EACftB,UAAUM,EAAMN;EAChBI,MAAME,EAAMF;EACZmB,UAAUjB,EAAMiB;EAChBC,aAAalB,EAAMkB;EACpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.8.3-dev.0",
3
+ "version": "0.8.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [
@@ -78,7 +78,7 @@
78
78
  "@tanstack/react-pacer": "^0.14.0",
79
79
  "@tanstack/react-virtual": "^3.13.12",
80
80
  "@uniswap/token-lists": "1.0.0-beta.34",
81
- "@velora-dex/sdk": "9.5.4-dev.0",
81
+ "@velora-dex/sdk": "9.5.3",
82
82
  "@wagmi/core": "^2.18.1",
83
83
  "axios": "^1.16.1",
84
84
  "big.js": "^7.0.1",
@@ -1,13 +0,0 @@
1
- import e from "big.js";
2
- //#region src/lib/utils/scaleFactor.ts
3
- function t(t, n) {
4
- if (!t) return new e(0);
5
- let r = new e(t);
6
- if (n === void 0) return r;
7
- let i = new e(10);
8
- return n < 0 ? r.div(i.pow(-n)) : r.times(i.pow(n));
9
- }
10
- //#endregion
11
- export { t as scaleByFactor };
12
-
13
- //# sourceMappingURL=scaleFactor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scaleFactor.js","names":["Big","scaleByFactor","amount","BigSource","scalingFactor","bigAmount","undefined","bigBase","div","pow","times"],"sources":["../../../src/lib/utils/scaleFactor.ts"],"sourcesContent":["import Big from \"big.js\";\n\nexport function scaleByFactor(\n amount?: Big.BigSource,\n scalingFactor?: number\n): Big {\n if (!amount) return new Big(0);\n\n const bigAmount = new Big(amount);\n\n if (scalingFactor === undefined) return bigAmount;\n\n const bigBase = new Big(10);\n\n return scalingFactor < 0\n ? bigAmount.div(bigBase.pow(-scalingFactor))\n : bigAmount.times(bigBase.pow(scalingFactor));\n}\n"],"mappings":";;AAEA,SAAgBC,EACdC,GACAE,GACK;CACL,IAAI,CAACF,GAAQ,OAAO,IAAIF,EAAI,EAAE;CAE9B,IAAMK,IAAY,IAAIL,EAAIE,EAAO;CAEjC,IAAIE,MAAkBE,KAAAA,GAAW,OAAOD;CAExC,IAAME,IAAU,IAAIP,EAAI,GAAG;CAE3B,OAAOI,IAAgB,IACnBC,EAAUG,IAAID,EAAQE,IAAI,CAACL,EAAc,CAAC,GAC1CC,EAAUK,MAAMH,EAAQE,IAAIL,EAAc,CAAC"}