@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.
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +7 -7
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/widget/DexesList/DexItem.d.ts.map +1 -1
- package/dist/components/widget/DexesList/DexItem.js +57 -62
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +6 -6
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +4 -2
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +46 -34
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +2 -0
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +101 -93
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +25 -16
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +9 -12
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +2 -2
- package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +34 -25
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.d.ts +2 -2
- package/dist/core/inputs/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.js +9 -2
- package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/inputs/state/types.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +3 -1
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/state/configActionsAtom.d.ts.map +1 -1
- package/dist/core/state/configActionsAtom.js +3 -1
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.d.ts +4 -2
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.js +7 -3
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +4 -4
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.d.ts +11 -0
- package/dist/core/swapDetails/maxToPay.d.ts.map +1 -0
- package/dist/core/swapDetails/maxToPay.js +41 -0
- package/dist/core/swapDetails/maxToPay.js.map +1 -0
- package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +9 -2
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.d.ts.map +1 -1
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/core/types.d.ts +6 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/events/effects/price.js +3 -3
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js +2 -2
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.d.ts +2 -0
- package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -0
- package/dist/events/hooks/useOnPriceUpdates.js +104 -0
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -0
- package/dist/events/types/priceChange.d.ts +12 -4
- package/dist/events/types/priceChange.d.ts.map +1 -1
- package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
- package/dist/hooks/gas/useGasPrices.js +2 -2
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +33 -4
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +98 -29
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/utils.js +9 -0
- package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -0
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +35 -2
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +102 -98
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +8 -0
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +234 -99
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +13 -20
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
- package/dist/hooks/tokens/prices/queries.js +2 -2
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/tokens/useTokenTaxFee.js +2 -2
- package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.d.ts.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.js +2 -2
- package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
- package/dist/hooks/useCachedQueryError.d.ts +3 -0
- package/dist/hooks/useCachedQueryError.d.ts.map +1 -0
- package/dist/hooks/useCachedQueryError.js +11 -0
- package/dist/hooks/useCachedQueryError.js.map +1 -0
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +11 -11
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/constants/index.d.ts +0 -2
- package/dist/lib/constants/index.d.ts.map +1 -1
- package/dist/lib/constants/index.js +1 -4
- package/dist/lib/constants/index.js.map +1 -1
- package/dist/lib/constants/urls.d.ts +4 -0
- package/dist/lib/constants/urls.d.ts.map +1 -0
- package/dist/lib/constants/urls.js +30 -0
- package/dist/lib/constants/urls.js.map +1 -0
- package/dist/lib/utils/explorer.d.ts.map +1 -1
- package/dist/lib/utils/explorer.js +3 -3
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens/overrides.d.ts +13 -2
- package/dist/tokens/overrides.d.ts.map +1 -1
- package/dist/tokens/overrides.js +71 -3
- package/dist/tokens/overrides.js.map +1 -1
- package/dist/tokens/types.d.ts +4 -0
- package/dist/tokens/types.d.ts.map +1 -1
- 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;
|
|
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(
|
|
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 &&
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
|
111
|
-
if ($[
|
|
112
|
-
|
|
122
|
+
let t4;
|
|
123
|
+
if ($[12] !== setTokenFrom || $[13] !== wrappedNativeToken) {
|
|
124
|
+
t4 = () => {
|
|
113
125
|
setTokenFrom(wrappedNativeToken);
|
|
114
126
|
};
|
|
115
|
-
$[
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
127
|
+
$[12] = setTokenFrom;
|
|
128
|
+
$[13] = wrappedNativeToken;
|
|
129
|
+
$[14] = t4;
|
|
118
130
|
} else {
|
|
119
|
-
|
|
131
|
+
t4 = $[14];
|
|
120
132
|
}
|
|
121
|
-
const onSuccess =
|
|
122
|
-
let
|
|
123
|
-
if ($[
|
|
124
|
-
|
|
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
|
-
$[
|
|
133
|
-
$[
|
|
134
|
-
$[
|
|
135
|
-
$[
|
|
136
|
-
$[
|
|
137
|
-
$[
|
|
144
|
+
$[15] = amounts;
|
|
145
|
+
$[16] = canWrap;
|
|
146
|
+
$[17] = isLoading;
|
|
147
|
+
$[18] = onSuccess;
|
|
148
|
+
$[19] = shouldWrap;
|
|
149
|
+
$[20] = t5;
|
|
138
150
|
} else {
|
|
139
|
-
|
|
151
|
+
t5 = $[20];
|
|
140
152
|
}
|
|
141
|
-
return
|
|
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,+
|
|
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":"
|
|
1
|
+
{"version":3,"file":"Updaters.d.ts","sourceRoot":"","sources":["../../src/core/Updaters.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,QAAQ,YA4CpB,CAAC"}
|
package/dist/core/Updaters.js
CHANGED
|
@@ -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":"
|
|
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;;;;"}
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|