Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/swap route #2579

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
temp
  • Loading branch information
viet-nv committed Jan 13, 2025
commit ec2f17ff40c14af12816ec05bdfde4db5c007b14
13 changes: 13 additions & 0 deletions src/components/TradeRouting/RouteRowV3.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { SwapRouteV3 } from 'utils/aggregationRouting'

export const RouteRowV3 = ({ tradeComposition }: { tradeComposition: SwapRouteV3[] }) => {
const firstSwaps = tradeComposition.filter(item => item.depth === 1)

return (
<>
{firstSwaps.map((swap, index) => {
return <div>{swap.exchange}</div>
})}
</>
)
}
33 changes: 21 additions & 12 deletions src/components/TradeRouting/index.tsx
Original file line number Diff line number Diff line change
@@ -28,7 +28,9 @@ import { useActiveWeb3React } from 'hooks'
import { useCurrencyV2 } from 'hooks/Tokens'
import { useAllDexes } from 'state/customizeDexes/hooks'
import { getEtherscanLink, isAddress } from 'utils'
import { SwapRouteV2 } from 'utils/aggregationRouting'
import { SwapRouteV2, SwapRouteV3 } from 'utils/aggregationRouting'

import { RouteRowV3 } from './RouteRowV3'

interface RouteRowProps {
route: SwapRouteV2
@@ -117,7 +119,7 @@ const RouteRow = ({ route, chainId, backgroundColor }: RouteRowProps) => {
interface RoutingProps {
maxHeight?: string

tradeComposition: SwapRouteV2[] | undefined
tradeComposition: SwapRouteV2[] | SwapRouteV3[] | undefined
currencyIn: Currency | undefined
currencyOut: Currency | undefined
inputAmount: CurrencyAmount<Currency> | undefined
@@ -171,6 +173,7 @@ const Routing = ({
useEffect(() => {
handleScroll()
}, [tradeComposition, maxHeight, handleScroll])
const isSwapRouteV3 = tradeComposition?.every(item => 'pool' in item)

return (
<Shadow ref={shadowRef}>
@@ -187,16 +190,22 @@ const Routing = ({
<StyledRoutes>
<StyledDot />
<StyledDot out />
{tradeComposition.map(route => (
<StyledRoute key={route.id}>
<StyledPercent>{getSwapPercent(route.swapPercentage, tradeComposition.length)}</StyledPercent>
<StyledRouteLine />
<RouteRow route={route} chainId={chainId} />
<StyledHopChevronWrapper style={{ marginRight: '2px' }}>
<StyledHopChevronRight />
</StyledHopChevronWrapper>
</StyledRoute>
))}
{isSwapRouteV3 ? (
<RouteRowV3 tradeComposition={tradeComposition as SwapRouteV3[]} />
) : (
(tradeComposition as SwapRouteV2[]).map(route => {
return (
<StyledRoute key={route.id}>
<StyledPercent>{getSwapPercent(route.swapPercentage, tradeComposition.length)}</StyledPercent>
<StyledRouteLine />
<RouteRow route={route} chainId={chainId} />
<StyledHopChevronWrapper style={{ marginRight: '2px' }}>
<StyledHopChevronRight />
</StyledHopChevronWrapper>
</StyledRoute>
)
})
)}
</StyledRoutes>
</div>
) : null}
3 changes: 0 additions & 3 deletions src/pages/Earns/useLiquidityWidget.tsx
Original file line number Diff line number Diff line change
@@ -199,10 +199,7 @@ const useLiquidityWidget = () => {
onOpenZapMigration: handleOpenZapMigrationWidget,
onSubmitTx: async (txData: { from: string; to: string; data: string; value: string; gasLimit: string }) => {
try {
console.log('txData', txData)
if (!library) throw new Error('Library is not ready!')
const gas = await library.estimateGas(txData)
console.log(gas)
const res = await library?.getSigner().sendTransaction(txData)
if (!res) throw new Error('Transaction failed')
return res.hash
9 changes: 8 additions & 1 deletion src/pages/SwapV3/index.tsx
Original file line number Diff line number Diff line change
@@ -153,7 +153,14 @@ export default function Swap() {
}, [tabFromUrl, searchParams, setSearchParams])

const tradeRouteComposition = useMemo(() => {
return getTradeComposition(chainId, routeSummary?.parsedAmountIn, undefined, routeSummary?.route, defaultTokens)
return getTradeComposition(
chainId,
routeSummary?.parsedAmountIn,
undefined,
routeSummary?.route,
defaultTokens,
routeSummary?.tokenOut || '',
)
}, [chainId, defaultTokens, routeSummary])

const onBackToSwapTab = () => setActiveTab(getDefaultTab())
Loading