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

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 (133) hide show
  1. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +7 -7
  2. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  3. package/dist/components/widget/DexesList/DexItem.d.ts.map +1 -1
  4. package/dist/components/widget/DexesList/DexItem.js +57 -62
  5. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  6. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +6 -6
  7. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
  8. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
  9. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
  10. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  11. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  12. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +4 -2
  13. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  14. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  15. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +46 -34
  16. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  17. package/dist/configurator/Configurator.d.ts.map +1 -1
  18. package/dist/core/Updaters.d.ts.map +1 -1
  19. package/dist/core/Updaters.js +2 -0
  20. package/dist/core/Updaters.js.map +1 -1
  21. package/dist/core/index.d.ts.map +1 -1
  22. package/dist/core/index.js +101 -93
  23. package/dist/core/index.js.map +1 -1
  24. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  25. package/dist/core/inputs/hooks/useTokenFromInputProps.js +25 -16
  26. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  27. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  28. package/dist/core/inputs/hooks/useTokenToInputProps.js +9 -12
  29. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  30. package/dist/core/inputs/state/common.d.ts +2 -2
  31. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  32. package/dist/core/inputs/state/selectedTokenActionsAtom.js +34 -25
  33. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  34. package/dist/core/inputs/state/selectedTokenAtom.d.ts +2 -2
  35. package/dist/core/inputs/state/selectedTokenAtom.d.ts.map +1 -1
  36. package/dist/core/inputs/state/selectedTokenAtom.js +9 -2
  37. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  38. package/dist/core/inputs/state/types.d.ts.map +1 -1
  39. package/dist/core/limit/useLimitRate.js +3 -1
  40. package/dist/core/limit/useLimitRate.js.map +1 -1
  41. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  42. package/dist/core/state/configActionsAtom.js +3 -1
  43. package/dist/core/state/configActionsAtom.js.map +1 -1
  44. package/dist/core/state/configAtom.d.ts +4 -2
  45. package/dist/core/state/configAtom.d.ts.map +1 -1
  46. package/dist/core/state/configAtom.js +7 -3
  47. package/dist/core/state/configAtom.js.map +1 -1
  48. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  49. package/dist/core/state/widgetEventsAtom.js +4 -4
  50. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  51. package/dist/core/swapDetails/maxToPay.d.ts +11 -0
  52. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -0
  53. package/dist/core/swapDetails/maxToPay.js +41 -0
  54. package/dist/core/swapDetails/maxToPay.js.map +1 -0
  55. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  56. package/dist/core/swapDetails/useSwapDetailsListProps.js +9 -2
  57. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  58. package/dist/core/swapDetails/youGet.d.ts.map +1 -1
  59. package/dist/core/swapDetails/youGet.js.map +1 -1
  60. package/dist/core/types.d.ts +6 -0
  61. package/dist/core/types.d.ts.map +1 -1
  62. package/dist/events/effects/price.js +3 -3
  63. package/dist/events/effects/price.js.map +1 -1
  64. package/dist/events/effects/swapMode.js +2 -2
  65. package/dist/events/effects/swapMode.js.map +1 -1
  66. package/dist/events/hooks/useOnPriceUpdates.d.ts +2 -0
  67. package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -0
  68. package/dist/events/hooks/useOnPriceUpdates.js +104 -0
  69. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -0
  70. package/dist/events/types/priceChange.d.ts +12 -4
  71. package/dist/events/types/priceChange.d.ts.map +1 -1
  72. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
  73. package/dist/hooks/gas/useGasPrices.js +2 -2
  74. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  75. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +33 -4
  76. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  77. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +98 -29
  78. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  79. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +3 -0
  80. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -0
  81. package/dist/hooks/swap/prices/delta/queries/utils.js +9 -0
  82. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -0
  83. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +35 -2
  84. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  85. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +102 -98
  86. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  87. package/dist/hooks/swap/prices/useSwapPrices.d.ts +8 -0
  88. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  89. package/dist/hooks/swap/prices/useSwapPrices.js +234 -99
  90. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  91. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  92. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +13 -20
  93. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  94. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +1 -1
  95. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  96. package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
  97. package/dist/hooks/tokens/prices/queries.js +2 -2
  98. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  99. package/dist/hooks/tokens/useTokenTaxFee.js +2 -2
  100. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  101. package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
  102. package/dist/hooks/txs/queries/useTxHistory.js +2 -2
  103. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  104. package/dist/hooks/useCachedQueryError.d.ts +3 -0
  105. package/dist/hooks/useCachedQueryError.d.ts.map +1 -0
  106. package/dist/hooks/useCachedQueryError.js +11 -0
  107. package/dist/hooks/useCachedQueryError.js.map +1 -0
  108. package/dist/hooks/useSDK.d.ts.map +1 -1
  109. package/dist/hooks/useSDK.js +11 -11
  110. package/dist/hooks/useSDK.js.map +1 -1
  111. package/dist/index.d.ts +2 -1
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/lib/constants/index.d.ts +0 -2
  114. package/dist/lib/constants/index.d.ts.map +1 -1
  115. package/dist/lib/constants/index.js +1 -4
  116. package/dist/lib/constants/index.js.map +1 -1
  117. package/dist/lib/constants/urls.d.ts +4 -0
  118. package/dist/lib/constants/urls.d.ts.map +1 -0
  119. package/dist/lib/constants/urls.js +30 -0
  120. package/dist/lib/constants/urls.js.map +1 -0
  121. package/dist/lib/utils/explorer.d.ts.map +1 -1
  122. package/dist/lib/utils/explorer.js +3 -3
  123. package/dist/lib/utils/explorer.js.map +1 -1
  124. package/dist/lib/web3/privy/config.js +1 -1
  125. package/dist/lib/web3/wagmi/config.js +1 -1
  126. package/dist/styles.css +1 -1
  127. package/dist/tokens/overrides.d.ts +13 -2
  128. package/dist/tokens/overrides.d.ts.map +1 -1
  129. package/dist/tokens/overrides.js +71 -3
  130. package/dist/tokens/overrides.js.map +1 -1
  131. package/dist/tokens/types.d.ts +4 -0
  132. package/dist/tokens/types.d.ts.map +1 -1
  133. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const { srcToken, destToken } = result.deltaOrder.sentOrder.order;\n\n const fromAmountWei =\n result.deltaOrder.lastOrderState?.order.srcAmount ||\n result.deltaOrder.sentOrder.order.srcAmount;\n const toAmountWei =\n result.deltaOrder.lastOrderState?.order.destAmount ||\n result.deltaOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n // @TODO add BUY support for Delta when available\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"limitOrder\") {\n const { srcToken, destToken } = result.limitOrder.sentOrder.order;\n\n const fromAmountWei = result.limitOrder.sentOrder.order.srcAmount;\n const toAmountWei = result.limitOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"otcOrder\") {\n const { makerAsset, takerAsset } = result.otcOrder.sentOrder;\n\n const fromAmountWei = result.otcOrder.sentOrder.makerAmount;\n const toAmountWei = result.otcOrder.sentOrder.takerAmount;\n\n const tokensMap = {\n [makerAsset]: {\n // token was sent\n token: makerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [takerAsset]: {\n // token was received\n token: takerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"fillOtcOrder\") {\n const { makerAsset, takerAsset } = result.fill.order;\n\n const fromAmountWei = result.fill.order.takerAmount;\n const toAmountWei = result.fill.order.makerAmount;\n\n const tokensMap = {\n [takerAsset]: {\n // token was sent\n token: takerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [makerAsset]: {\n // token was received\n token: makerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount show at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedAmount ||\n result.deltaOrder.sentOrder.order.expectedAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"names":["getExpectedTransferAmounts","result","tradeFlowType","srcToken","destToken","deltaOrder","sentOrder","order","fromAmountWei","lastOrderState","srcAmount","toAmountWei","destAmount","tokensMap","token","sentAmount","BigInt","receivedAmount","isBuy","limitOrder","makerAsset","takerAsset","otcOrder","makerAmount","takerAmount","fill","marketPrice","side","getResultAmounts","fromToken","toToken","undefined","fromAmountUnit","toAmountUnit","rateStr","formatTokenBalanceClean","decimals","rates","calcRate","symbol","address","rateFormatted","toString","getSurplusAmounts","txs","transactions","length","expectedAmount","actualReceived","reduce","acc","tx","diffWei","diffUnit","surplusStr","Number"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport { getSwapSideFromDeltaPrice } from \"@/hooks/swap/prices/delta/queries/utils\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const { srcToken, destToken } = result.deltaOrder.sentOrder.order;\n\n const fromAmountWei =\n result.deltaOrder.lastOrderState?.order.srcAmount ||\n result.deltaOrder.sentOrder.order.srcAmount;\n const toAmountWei =\n result.deltaOrder.lastOrderState?.order.destAmount ||\n result.deltaOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n // we can't know SwapSide from deltaOrder alone\n const swapSide = getSwapSideFromDeltaPrice(result.deltaPrice);\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n if (result.tradeFlowType === \"limitOrder\") {\n const { srcToken, destToken } = result.limitOrder.sentOrder.order;\n\n const fromAmountWei = result.limitOrder.sentOrder.order.srcAmount;\n const toAmountWei = result.limitOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"otcOrder\") {\n const { makerAsset, takerAsset } = result.otcOrder.sentOrder;\n\n const fromAmountWei = result.otcOrder.sentOrder.makerAmount;\n const toAmountWei = result.otcOrder.sentOrder.takerAmount;\n\n const tokensMap = {\n [makerAsset]: {\n // token was sent\n token: makerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [takerAsset]: {\n // token was received\n token: takerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"fillOtcOrder\") {\n const { makerAsset, takerAsset } = result.fill.order;\n\n const fromAmountWei = result.fill.order.takerAmount;\n const toAmountWei = result.fill.order.makerAmount;\n\n const tokensMap = {\n [takerAsset]: {\n // token was sent\n token: takerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [makerAsset]: {\n // token was received\n token: makerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n // result.tradeFlowType === \"marketSwap\" is the one left\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount shown at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedAmount ||\n result.deltaOrder.sentOrder.order.expectedAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"names":["getExpectedTransferAmounts","result","tradeFlowType","srcToken","destToken","deltaOrder","sentOrder","order","fromAmountWei","lastOrderState","srcAmount","toAmountWei","destAmount","tokensMap","token","sentAmount","BigInt","receivedAmount","swapSide","getSwapSideFromDeltaPrice","deltaPrice","isBuy","limitOrder","makerAsset","takerAsset","otcOrder","makerAmount","takerAmount","fill","marketPrice","side","getResultAmounts","fromToken","toToken","undefined","fromAmountUnit","toAmountUnit","rateStr","formatTokenBalanceClean","decimals","rates","calcRate","symbol","address","rateFormatted","toString","getSurplusAmounts","txs","transactions","length","expectedAmount","actualReceived","reduce","acc","tx","diffWei","diffUnit","surplusStr","Number"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWrapEthProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA2B5C,wBAAgB,eAAe,IAAI,YAAY,CAkE9C;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAwDnD;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CA0FjD"}
1
+ {"version":3,"file":"useWrapEthProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA8B5C,wBAAgB,eAAe,IAAI,YAAY,CAoF9C;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAwDnD;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CA0FjD"}
@@ -20,9 +20,12 @@ import { useWrappedNativeToken } from '../../../../hooks/tokens/useNativeToken.j
20
20
  import { useCanBatchTxs } from '../../../../hooks/batch/useCanBatchTxs.js';
21
21
  import { useRequiredAllowanceForOrders } from '../../../../hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js';
22
22
  import { useGenericTokenAllowanceMin } from '../../../../hooks/tokens/allowance/useGenericTokenAllowance.js';
23
+ import { amountAfterSlippage } from '../../../../lib/utils/slippage.js';
24
+ import { useSlippage } from '../../../../hooks/useSlippage.js';
25
+ import { formatEther } from 'viem';
23
26
 
24
27
  function useWrapEthProps() {
25
- const $ = distExports.c(20);
28
+ const $ = distExports.c(21);
26
29
  const {
27
30
  address: account
28
31
  } = useAccount();
@@ -89,39 +92,48 @@ function useWrapEthProps() {
89
92
  const {
90
93
  forCurrentChain: canBatchTxs
91
94
  } = useCanBatchTxs();
92
- const shouldWrap = Number(payInputAmountWei) > 0 && !!account && !!price && isDeltaMode && deltaEnabledOnCurrentChain && tokenFromIsETH && !isBuy && !!tokenTo && !isEthToWethSameChain && !canBatchTxs;
95
+ const shouldWrap = Number(payInputAmountWei) > 0 && !!account && !!price && isDeltaMode && deltaEnabledOnCurrentChain && tokenFromIsETH && !!tokenTo && !isEthToWethSameChain && !canBatchTxs;
93
96
  const canWrap = shouldWrap && !!balance?.value && balance.value > BigInt(payInputAmountWei) && !!price;
94
- let t4;
95
- if ($[7] !== payInputAmount || $[8] !== payInputAmountWei || $[9] !== tokenFromIsETH) {
96
- t4 = tokenFromIsETH ? {
97
- ethAmountWei: payInputAmountWei,
98
- ethAmountUnit: payInputAmount
99
- } : void 0;
100
- $[7] = payInputAmount;
101
- $[8] = payInputAmountWei;
102
- $[9] = tokenFromIsETH;
103
- $[10] = t4;
104
- } else {
105
- t4 = $[10];
97
+ const {
98
+ resolvedSlippage
99
+ } = useSlippage("swap");
100
+ let amounts = void 0;
101
+ if (tokenFromIsETH) {
102
+ if ($[7] !== isBuy || $[8] !== payInputAmount || $[9] !== payInputAmountWei || $[10] !== resolvedSlippage) {
103
+ amounts = {
104
+ ethAmountWei: payInputAmountWei,
105
+ ethAmountUnit: payInputAmount
106
+ };
107
+ if (isBuy) {
108
+ amounts.ethAmountWei = amountAfterSlippage(amounts.ethAmountWei, resolvedSlippage, "BUY").toFixed(0);
109
+ amounts.ethAmountUnit = formatEther(BigInt(amounts.ethAmountWei));
110
+ }
111
+ $[7] = isBuy;
112
+ $[8] = payInputAmount;
113
+ $[9] = payInputAmountWei;
114
+ $[10] = resolvedSlippage;
115
+ $[11] = amounts;
116
+ } else {
117
+ amounts = $[11];
118
+ }
106
119
  }
107
- const amounts = t4;
108
120
  const wrappedNativeToken = useWrappedNativeToken();
109
121
  const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);
110
- let t5;
111
- if ($[11] !== setTokenFrom || $[12] !== wrappedNativeToken) {
112
- t5 = () => {
122
+ let t4;
123
+ if ($[12] !== setTokenFrom || $[13] !== wrappedNativeToken) {
124
+ t4 = () => {
113
125
  setTokenFrom(wrappedNativeToken);
114
126
  };
115
- $[11] = setTokenFrom;
116
- $[12] = wrappedNativeToken;
117
- $[13] = t5;
127
+ $[12] = setTokenFrom;
128
+ $[13] = wrappedNativeToken;
129
+ $[14] = t4;
118
130
  } else {
119
- t5 = $[13];
131
+ t4 = $[14];
120
132
  }
121
- const onSuccess = t5;
122
- let t6;
123
- if ($[14] !== amounts || $[15] !== canWrap || $[16] !== isLoading || $[17] !== onSuccess || $[18] !== shouldWrap) {
124
- t6 = {
133
+ const onSuccess = t4;
134
+ let t5;
135
+ if ($[15] !== amounts || $[16] !== canWrap || $[17] !== isLoading || $[18] !== onSuccess || $[19] !== shouldWrap) {
136
+ t5 = {
125
137
  shouldWrap,
126
138
  canWrap,
127
139
  isLoading,
@@ -129,16 +141,16 @@ function useWrapEthProps() {
129
141
  onSuccess,
130
142
  tradeMode: "swap"
131
143
  };
132
- $[14] = amounts;
133
- $[15] = canWrap;
134
- $[16] = isLoading;
135
- $[17] = onSuccess;
136
- $[18] = shouldWrap;
137
- $[19] = t6;
144
+ $[15] = amounts;
145
+ $[16] = canWrap;
146
+ $[17] = isLoading;
147
+ $[18] = onSuccess;
148
+ $[19] = shouldWrap;
149
+ $[20] = t5;
138
150
  } else {
139
- t6 = $[19];
151
+ t5 = $[20];
140
152
  }
141
- return t6;
153
+ return t5;
142
154
  }
143
155
  function useLimitWrapEthProps() {
144
156
  const $ = distExports.c(17);
@@ -1 +1 @@
1
- {"version":3,"file":"useWrapEthProps.js","sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"sourcesContent":["import { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport type { WrapEthProps } from \"./types\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useNativeBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useSwapSide } from \"../../SwapModeSwitcher/state/swapSideAtom\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\n\nimport { selectSwapTokenFromAtom } from \"@/core/inputs/state/selectedTokenActionsAtom\";\nimport { selectLimitTokenFromAtom } from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport { selectOtcTokenFromAtom } from \"@/core/otc/state/selectedTokenActionsAtom\";\n\nimport { CHAINS_WITH_OTC } from \"@/lib/constants/otc\";\nimport { useWrappedNativeToken } from \"@/hooks/tokens/useNativeToken\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useRequiredAllowanceForOrders } from \"@/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders\";\nimport { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\n\nexport function useWrapEthProps(): WrapEthProps {\n const { address: account } = useAccount();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const tokenFromIsETH = isETH(tokenFrom);\n const tokenToIsWETH = !!tokenTo && isWETH(tokenTo, tokenTo.network);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const payInputAmount = useAtomValue(payInputAmountAtom);\n const payInputAmountWei = useAtomValue(payInputAmountWeiAtom);\n const { isDeltaMode, enabledOnCurrentChain: deltaEnabledOnCurrentChain } =\n useGlobalDeltaEnabled();\n const isBuy = useSwapSide() === \"BUY\";\n const isCrossChain = useIsCrossChain();\n // useSwapPrice will fetch Delta price for WETH-tokenTo, if tokenFrom=ETH\n const { price } = useCurrentSwapPrice({ enabled: false });\n\n const isEthToWethSameChain = tokenFromIsETH && tokenToIsWETH && !isCrossChain;\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n\n const shouldWrap =\n Number(payInputAmountWei) > 0 &&\n !!account &&\n // check if there is price for WETH-tokenTo,\n // for the whole flow to be meaningful and don't have the cases when we wrapped but then can't swap\n !!price &&\n isDeltaMode &&\n deltaEnabledOnCurrentChain &&\n tokenFromIsETH &&\n !isBuy &&\n !!tokenTo &&\n // user want to explicitly swap ETH-WETH, we should stick to market priceMode\n !isEthToWethSameChain &&\n // if can batch txs, WrapETH will be included in the batch (Wrap+Approve+preSignDelta tx)\n !canBatchTxs;\n\n const canWrap =\n shouldWrap &&\n !!balance?.value &&\n balance.value > BigInt(payInputAmountWei) &&\n !!price;\n\n const amounts = tokenFromIsETH\n ? { ethAmountWei: payInputAmountWei, ethAmountUnit: payInputAmount }\n : undefined;\n\n const wrappedNativeToken = useWrappedNativeToken();\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onSuccess = () => {\n setTokenFrom(wrappedNativeToken);\n };\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n onSuccess,\n tradeMode: \"swap\",\n };\n}\n\nexport function useLimitWrapEthProps(): WrapEthProps {\n const { address: account } = useAccount();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"limit\");\n\n const tokenFromIsETH = isETH(tokenFrom);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const payInputAmount = useAtomValue(limitPayInputAmountAtom);\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n const { isDeltaMode, enabledOnCurrentChain: deltaEnabledOnCurrentChain } =\n useGlobalDeltaEnabled();\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n\n const shouldWrap =\n // pay amount entered\n Number(payInputAmountWei) > 0 &&\n // account connected\n !!account &&\n // lorder goes through delta only\n isDeltaMode &&\n // delta available on selected chain\n deltaEnabledOnCurrentChain &&\n // tokenFrom is ETH\n tokenFromIsETH &&\n // tokenTo is selected\n !!tokenTo &&\n // if can batch txs, WrapETH will be included in the batch (Wrap+Approve+preSignDelta tx)\n !canBatchTxs;\n\n const canWrap =\n shouldWrap && !!balance?.value && balance.value > BigInt(payInputAmountWei);\n\n const amounts = tokenFromIsETH\n ? { ethAmountWei: payInputAmountWei, ethAmountUnit: payInputAmount }\n : undefined;\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const wrappedNativeToken = useWrappedNativeToken();\n const onSuccess = () => {\n setTokenFrom(wrappedNativeToken);\n };\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n onSuccess,\n tradeMode: \"limit\",\n };\n}\n\nexport function useOtcWrapEthProps(): WrapEthProps {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"otc\");\n\n const tokenFromIsETH = isETH(tokenFrom);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const payInputAmount = useAtomValue(otcPayInputAmountAtom);\n const payInputAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n\n /**\n * In case the wallet connected is capable of batching txs,\n * and srcToken=ETH (so we will need to wrap it first),\n * and current allowance for AugustusRFQ for WETH is not enough to cover all OTC Orders plus current srcTokenAmount,\n * we can try to batch wrap ETH + approve WETH.\n * After batched tx is mined, we will proceed with signing the OTC order as usual.\n */\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n\n // srcToken=ETH, valid tokenTo is selected and wallet can batch txs\n const canPossiblyBatchWrapAndApprove =\n canBatchTxs && tokenFromIsETH && !!tokenTo;\n // makes sense to check allowance for AugustusRFQ for WETH\n\n const wrappedNativeToken = useWrappedNativeToken(tokenFrom.network);\n\n const spenderContractType = \"AugustusRFQ\"; // for OTC orders need to approve AugustusRFQ\n\n const { combinedAllowance: srcCombinedAllowance } =\n useRequiredAllowanceForOrders({\n // allowance for WETH\n tokenAddress: wrappedNativeToken.address,\n increaseByAmount: payInputAmountWei,\n spenderContractType,\n includeCurrentOrdersAllowance: canPossiblyBatchWrapAndApprove,\n });\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: wrappedNativeToken.address,\n amountToApproveInWei: srcCombinedAllowance,\n spenderContractType,\n chainId,\n });\n\n const canBatchWrapAndApprove =\n canPossiblyBatchWrapAndApprove && allowance.needsApproval;\n\n const shouldWrap =\n // pay amount entered\n Number(payInputAmountWei) > 0 &&\n // account connected\n !!account &&\n // otc available on selected chain\n CHAINS_WITH_OTC.includes(chainId) &&\n // tokenFrom is ETH\n tokenFromIsETH &&\n // tokenTo is selected\n !!tokenTo &&\n // if we can batch wrap and approve, we don't need to wrap ETH as a separate step\n !canBatchWrapAndApprove;\n // @TODO maybe also add check for takerAsset !== ETH\n\n const canWrap =\n shouldWrap && !!balance?.value && balance.value > BigInt(payInputAmountWei);\n\n const amounts = tokenFromIsETH\n ? { ethAmountWei: payInputAmountWei, ethAmountUnit: payInputAmount }\n : undefined;\n\n const setTokenFrom = useSetAtom(selectOtcTokenFromAtom);\n\n const onSuccess = () => {\n setTokenFrom(wrappedNativeToken);\n };\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n onSuccess,\n tradeMode: \"otc\",\n };\n}\n"],"names":["useWrapEthProps","$","_c","address","account","useAccount","tokenFrom","tokenTo","useWidgetTokens","t0","isETH","tokenFromIsETH","t1","isWETH","network","tokenToIsWETH","t2","queryOptions","enabled","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","data","balance","isLoading","useNativeBalance","payInputAmount","useAtomValue","payInputAmountAtom","payInputAmountWei","payInputAmountWeiAtom","isDeltaMode","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","isBuy","useSwapSide","isCrossChain","useIsCrossChain","t3","Symbol","for","price","useCurrentSwapPrice","isEthToWethSameChain","forCurrentChain","canBatchTxs","useCanBatchTxs","shouldWrap","Number","canWrap","value","BigInt","t4","ethAmountWei","ethAmountUnit","undefined","amounts","wrappedNativeToken","useWrappedNativeToken","setTokenFrom","useSetAtom","selectSwapTokenFromAtom","t5","onSuccess","t6","tradeMode","useLimitWrapEthProps","limitPayInputAmountAtom","limitPayInputAmountWeiAtom","selectLimitTokenFromAtom","useOtcWrapEthProps","chainId","useChainId","otcPayInputAmountAtom","otcPayInputAmountWeiAtom","canPossiblyBatchWrapAndApprove","tokenAddress","increaseByAmount","spenderContractType","includeCurrentOrdersAllowance","combinedAllowance","srcCombinedAllowance","useRequiredAllowanceForOrders","amountToApproveInWei","allowance","useGenericTokenAllowanceMin","canBatchWrapAndApprove","needsApproval","CHAINS_WITH_OTC","includes","selectOtcTokenFromAtom","t7"],"mappings":"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"}
1
+ {"version":3,"file":"useWrapEthProps.js","sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"sourcesContent":["import { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport type { WrapEthProps } from \"./types\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useNativeBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useSwapSide } from \"../../SwapModeSwitcher/state/swapSideAtom\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\n\nimport { selectSwapTokenFromAtom } from \"@/core/inputs/state/selectedTokenActionsAtom\";\nimport { selectLimitTokenFromAtom } from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport { selectOtcTokenFromAtom } from \"@/core/otc/state/selectedTokenActionsAtom\";\n\nimport { CHAINS_WITH_OTC } from \"@/lib/constants/otc\";\nimport { useWrappedNativeToken } from \"@/hooks/tokens/useNativeToken\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useRequiredAllowanceForOrders } from \"@/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders\";\nimport { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { formatEther } from \"viem\";\n\nexport function useWrapEthProps(): WrapEthProps {\n const { address: account } = useAccount();\n const tradeMode = \"swap\";\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const tokenFromIsETH = isETH(tokenFrom);\n const tokenToIsWETH = !!tokenTo && isWETH(tokenTo, tokenTo.network);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const payInputAmount = useAtomValue(payInputAmountAtom);\n const payInputAmountWei = useAtomValue(payInputAmountWeiAtom);\n const { isDeltaMode, enabledOnCurrentChain: deltaEnabledOnCurrentChain } =\n useGlobalDeltaEnabled();\n const isBuy = useSwapSide() === \"BUY\";\n const isCrossChain = useIsCrossChain();\n // useSwapPrice will fetch Delta price for WETH-tokenTo, if tokenFrom=ETH\n const { price } = useCurrentSwapPrice({ enabled: false });\n\n const isEthToWethSameChain = tokenFromIsETH && tokenToIsWETH && !isCrossChain;\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n\n const shouldWrap =\n Number(payInputAmountWei) > 0 &&\n !!account &&\n // check if there is price for WETH-tokenTo,\n // for the whole flow to be meaningful and don't have the cases when we wrapped but then can't swap\n !!price &&\n isDeltaMode &&\n deltaEnabledOnCurrentChain &&\n tokenFromIsETH &&\n !!tokenTo &&\n // user want to explicitly swap ETH-WETH, we should stick to market priceMode\n !isEthToWethSameChain &&\n // if can batch txs, WrapETH will be included in the batch (Wrap+Approve+preSignDelta tx)\n !canBatchTxs;\n\n const canWrap =\n shouldWrap &&\n !!balance?.value &&\n balance.value > BigInt(payInputAmountWei) &&\n !!price;\n\n const { resolvedSlippage } = useSlippage(tradeMode);\n\n let amounts:\n | Required<Pick<WrapEthProps, \"ethAmountWei\" | \"ethAmountUnit\">>\n | undefined = undefined;\n if (tokenFromIsETH) {\n amounts = {\n ethAmountWei: payInputAmountWei,\n ethAmountUnit: payInputAmount,\n };\n\n if (isBuy) {\n // for BUY case we need +slippage protection\n amounts.ethAmountWei = amountAfterSlippage(\n amounts.ethAmountWei,\n resolvedSlippage,\n \"BUY\"\n ).toFixed(0);\n amounts.ethAmountUnit = formatEther(BigInt(amounts.ethAmountWei));\n }\n }\n\n const wrappedNativeToken = useWrappedNativeToken();\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onSuccess = () => {\n setTokenFrom(wrappedNativeToken);\n };\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n onSuccess,\n tradeMode,\n };\n}\n\nexport function useLimitWrapEthProps(): WrapEthProps {\n const { address: account } = useAccount();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"limit\");\n\n const tokenFromIsETH = isETH(tokenFrom);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const payInputAmount = useAtomValue(limitPayInputAmountAtom);\n const payInputAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n const { isDeltaMode, enabledOnCurrentChain: deltaEnabledOnCurrentChain } =\n useGlobalDeltaEnabled();\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n\n const shouldWrap =\n // pay amount entered\n Number(payInputAmountWei) > 0 &&\n // account connected\n !!account &&\n // lorder goes through delta only\n isDeltaMode &&\n // delta available on selected chain\n deltaEnabledOnCurrentChain &&\n // tokenFrom is ETH\n tokenFromIsETH &&\n // tokenTo is selected\n !!tokenTo &&\n // if can batch txs, WrapETH will be included in the batch (Wrap+Approve+preSignDelta tx)\n !canBatchTxs;\n\n const canWrap =\n shouldWrap && !!balance?.value && balance.value > BigInt(payInputAmountWei);\n\n const amounts = tokenFromIsETH\n ? { ethAmountWei: payInputAmountWei, ethAmountUnit: payInputAmount }\n : undefined;\n\n const setTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const wrappedNativeToken = useWrappedNativeToken();\n const onSuccess = () => {\n setTokenFrom(wrappedNativeToken);\n };\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n onSuccess,\n tradeMode: \"limit\",\n };\n}\n\nexport function useOtcWrapEthProps(): WrapEthProps {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"otc\");\n\n const tokenFromIsETH = isETH(tokenFrom);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const payInputAmount = useAtomValue(otcPayInputAmountAtom);\n const payInputAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n\n /**\n * In case the wallet connected is capable of batching txs,\n * and srcToken=ETH (so we will need to wrap it first),\n * and current allowance for AugustusRFQ for WETH is not enough to cover all OTC Orders plus current srcTokenAmount,\n * we can try to batch wrap ETH + approve WETH.\n * After batched tx is mined, we will proceed with signing the OTC order as usual.\n */\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n\n // srcToken=ETH, valid tokenTo is selected and wallet can batch txs\n const canPossiblyBatchWrapAndApprove =\n canBatchTxs && tokenFromIsETH && !!tokenTo;\n // makes sense to check allowance for AugustusRFQ for WETH\n\n const wrappedNativeToken = useWrappedNativeToken(tokenFrom.network);\n\n const spenderContractType = \"AugustusRFQ\"; // for OTC orders need to approve AugustusRFQ\n\n const { combinedAllowance: srcCombinedAllowance } =\n useRequiredAllowanceForOrders({\n // allowance for WETH\n tokenAddress: wrappedNativeToken.address,\n increaseByAmount: payInputAmountWei,\n spenderContractType,\n includeCurrentOrdersAllowance: canPossiblyBatchWrapAndApprove,\n });\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: wrappedNativeToken.address,\n amountToApproveInWei: srcCombinedAllowance,\n spenderContractType,\n chainId,\n });\n\n const canBatchWrapAndApprove =\n canPossiblyBatchWrapAndApprove && allowance.needsApproval;\n\n const shouldWrap =\n // pay amount entered\n Number(payInputAmountWei) > 0 &&\n // account connected\n !!account &&\n // otc available on selected chain\n CHAINS_WITH_OTC.includes(chainId) &&\n // tokenFrom is ETH\n tokenFromIsETH &&\n // tokenTo is selected\n !!tokenTo &&\n // if we can batch wrap and approve, we don't need to wrap ETH as a separate step\n !canBatchWrapAndApprove;\n // @TODO maybe also add check for takerAsset !== ETH\n\n const canWrap =\n shouldWrap && !!balance?.value && balance.value > BigInt(payInputAmountWei);\n\n const amounts = tokenFromIsETH\n ? { ethAmountWei: payInputAmountWei, ethAmountUnit: payInputAmount }\n : undefined;\n\n const setTokenFrom = useSetAtom(selectOtcTokenFromAtom);\n\n const onSuccess = () => {\n setTokenFrom(wrappedNativeToken);\n };\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n onSuccess,\n tradeMode: \"otc\",\n };\n}\n"],"names":["useWrapEthProps","$","_c","address","account","useAccount","tokenFrom","tokenTo","useWidgetTokens","t0","isETH","tokenFromIsETH","t1","isWETH","network","tokenToIsWETH","t2","queryOptions","enabled","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","data","balance","isLoading","useNativeBalance","payInputAmount","useAtomValue","payInputAmountAtom","payInputAmountWei","payInputAmountWeiAtom","isDeltaMode","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","isBuy","useSwapSide","isCrossChain","useIsCrossChain","t3","Symbol","for","price","useCurrentSwapPrice","isEthToWethSameChain","forCurrentChain","canBatchTxs","useCanBatchTxs","shouldWrap","Number","canWrap","value","BigInt","resolvedSlippage","useSlippage","amounts","undefined","ethAmountUnit","ethAmountWei","amountAfterSlippage","toFixed","formatEther","wrappedNativeToken","useWrappedNativeToken","setTokenFrom","useSetAtom","selectSwapTokenFromAtom","t4","onSuccess","t5","tradeMode","useLimitWrapEthProps","limitPayInputAmountAtom","limitPayInputAmountWeiAtom","selectLimitTokenFromAtom","useOtcWrapEthProps","chainId","useChainId","otcPayInputAmountAtom","otcPayInputAmountWeiAtom","canPossiblyBatchWrapAndApprove","tokenAddress","increaseByAmount","spenderContractType","includeCurrentOrdersAllowance","combinedAllowance","srcCombinedAllowance","useRequiredAllowanceForOrders","amountToApproveInWei","allowance","useGenericTokenAllowanceMin","canBatchWrapAndApprove","needsApproval","CHAINS_WITH_OTC","includes","selectOtcTokenFromAtom","t6","t7"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/configurator/Configurator.tsx"],"names":[],"mappings":"AAsPA,eAAO,MAAM,YAAY,+CA+RxB,CAAC"}
1
+ {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/configurator/Configurator.tsx"],"names":[],"mappings":"AAsPA,eAAO,MAAM,YAAY,+CAqSxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Updaters.d.ts","sourceRoot":"","sources":["../../src/core/Updaters.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,QAAQ,YAyCpB,CAAC"}
1
+ {"version":3,"file":"Updaters.d.ts","sourceRoot":"","sources":["../../src/core/Updaters.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,QAAQ,YA4CpB,CAAC"}
@@ -13,6 +13,7 @@ import { useActivateEffects as useActivateEffects$2 } from '../transactions/stat
13
13
  import { useActivateEffects } from '../tokens/lists/state/effects.js';
14
14
  import { useActivateFormInputEffects } from './inputs/state/setTokenByAddressAtom.js';
15
15
  import { useActivateConfigEffect } from './state/configEffectAtom.js';
16
+ import { useOnPriceUpdates } from '../events/hooks/useOnPriceUpdates.js';
16
17
 
17
18
  const Updaters = () => {
18
19
  useFetchTokenLists();
@@ -26,6 +27,7 @@ const Updaters = () => {
26
27
  useSafeInfo();
27
28
  useCanBatchTxs();
28
29
  useOnWalletConnected();
30
+ useOnPriceUpdates();
29
31
  useActivateEffects$1();
30
32
  useActivateEffects$2();
31
33
  useActivateFormInputEffects();
@@ -1 +1 @@
1
- {"version":3,"file":"Updaters.js","sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeInfo } from \"@/hooks/useBridgeInfo\";\nimport { useFetchTokenLists } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport { useSafeInfo } from \"@/lib/web3/wagmi/isInsideSafeIframe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useOnWalletConnected } from \"@/events/hooks/useOnWalletConnect\";\nimport { useActivateEffects as useActivateEventEffects } from \"@/events/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTransactionEffects } from \"@/transactions/state/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTokenListEffects } from \"@/tokens/lists/state/effects\";\nimport { useActivateFormInputEffects } from \"./inputs/state/setTokenByAddressAtom\";\nimport { useActivateConfigEffect } from \"./state/configEffectAtom\";\n\nexport const Updaters = () => {\n // fetch tokens from currently enabled lists\n useFetchTokenLists();\n // activate effects for token lists\n useActivateTokenListEffects();\n\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeInfo(); // @TODO: prefetch instead\n useGetContracts(); // @TODO: prefetch instead\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n\n // check ahead of opening ConnectWallets drawer to prevent Safe button appearing\n // if we are not in a non-Safe iframe\n useSafeInfo();\n\n // check if wallet can batch txs\n useCanBatchTxs();\n\n // events when wallet is connected\n useOnWalletConnected();\n\n // activate effects for state atoms\n useActivateEventEffects();\n\n // activate effects for transaction atoms\n useActivateTransactionEffects();\n\n // activate effects for form input atoms\n useActivateFormInputEffects();\n\n // activate widget config effects\n useActivateConfigEffect();\n\n return null;\n};\n"],"names":["Updaters","useFetchTokenLists","useActivateTokenListEffects","usePrefetchTokenBalances","useGetBridgeInfo","useGetContracts","useTokenFromPermitInfo","useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useActivateEventEffects","useActivateTransactionEffects","useActivateFormInputEffects","useActivateConfigEffect"],"mappings":";;;;;;;;;;;;;;;;AAgBO,MAAMA,WAAWA,MAAA;AAEtBC,EAAAA,kBAAAA,EAAmB;AAEnBC,EAAAA,kBAAAA,EAA4B;AAG5BC,EAAAA,wBAAAA,EAAyB;AACzBC,EAAAA,gBAAAA,EAAiB;AACjBC,EAAAA,eAAAA,EAAgB;AAGhBC,EAAAA,sBAAAA,EAAuB;AAEvBC,EAAAA,wBAAAA,EAAyB;AAEzBC,EAAAA,oCAAAA,EAAqC;AAIrCC,EAAAA,WAAAA,EAAY;AAGZC,EAAAA,cAAAA,EAAe;AAGfC,EAAAA,oBAAAA,EAAqB;AAGrBC,EAAAA,oBAAAA,EAAwB;AAGxBC,EAAAA,oBAAAA,EAA8B;AAG9BC,EAAAA,2BAAAA,EAA4B;AAG5BC,EAAAA,uBAAAA,EAAwB;AAAC,EAAA,OAElB,IAAA;AAAI;;;;"}
1
+ {"version":3,"file":"Updaters.js","sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeInfo } from \"@/hooks/useBridgeInfo\";\nimport { useFetchTokenLists } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport { useSafeInfo } from \"@/lib/web3/wagmi/isInsideSafeIframe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useOnWalletConnected } from \"@/events/hooks/useOnWalletConnect\";\nimport { useActivateEffects as useActivateEventEffects } from \"@/events/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTransactionEffects } from \"@/transactions/state/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTokenListEffects } from \"@/tokens/lists/state/effects\";\nimport { useActivateFormInputEffects } from \"./inputs/state/setTokenByAddressAtom\";\nimport { useActivateConfigEffect } from \"./state/configEffectAtom\";\nimport { useOnPriceUpdates } from \"@/events/hooks/useOnPriceUpdates\";\n\nexport const Updaters = () => {\n // fetch tokens from currently enabled lists\n useFetchTokenLists();\n // activate effects for token lists\n useActivateTokenListEffects();\n\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeInfo(); // @TODO: prefetch instead\n useGetContracts(); // @TODO: prefetch instead\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n\n // check ahead of opening ConnectWallets drawer to prevent Safe button appearing\n // if we are not in a non-Safe iframe\n useSafeInfo();\n\n // check if wallet can batch txs\n useCanBatchTxs();\n\n // events when wallet is connected\n useOnWalletConnected();\n\n // events when price state updates\n useOnPriceUpdates();\n\n // activate effects for state atoms\n useActivateEventEffects();\n\n // activate effects for transaction atoms\n useActivateTransactionEffects();\n\n // activate effects for form input atoms\n useActivateFormInputEffects();\n\n // activate widget config effects\n useActivateConfigEffect();\n\n return null;\n};\n"],"names":["Updaters","useFetchTokenLists","useActivateTokenListEffects","usePrefetchTokenBalances","useGetBridgeInfo","useGetContracts","useTokenFromPermitInfo","useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useOnPriceUpdates","useActivateEventEffects","useActivateTransactionEffects","useActivateFormInputEffects","useActivateConfigEffect"],"mappings":";;;;;;;;;;;;;;;;;AAiBO,MAAMA,WAAWA,MAAA;AAEtBC,EAAAA,kBAAAA,EAAmB;AAEnBC,EAAAA,kBAAAA,EAA4B;AAG5BC,EAAAA,wBAAAA,EAAyB;AACzBC,EAAAA,gBAAAA,EAAiB;AACjBC,EAAAA,eAAAA,EAAgB;AAGhBC,EAAAA,sBAAAA,EAAuB;AAEvBC,EAAAA,wBAAAA,EAAyB;AAEzBC,EAAAA,oCAAAA,EAAqC;AAIrCC,EAAAA,WAAAA,EAAY;AAGZC,EAAAA,cAAAA,EAAe;AAGfC,EAAAA,oBAAAA,EAAqB;AAGrBC,EAAAA,iBAAAA,EAAkB;AAGlBC,EAAAA,oBAAAA,EAAwB;AAGxBC,EAAAA,oBAAAA,EAA8B;AAG9BC,EAAAA,2BAAAA,EAA4B;AAG5BC,EAAAA,uBAAAA,EAAwB;AAAC,EAAA,OAElB,IAAA;AAAI;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAkB7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA0R3C,eAAO,MAAM,MAAM,GAAI,qCAAqC,WAAW,4CAatE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAkB7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAqS3C,eAAO,MAAM,MAAM,GAAI,qCAAqC,WAAW,4CAatE,CAAC"}