Skip to content

Commit 1731dad

Browse files
authored
Merge pull request #1630 from mars-protocol/develop
v2.11.3
2 parents 61b97ed + e5a895f commit 1731dad

File tree

12 files changed

+26
-8
lines changed

12 files changed

+26
-8
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mars-v2-frontend",
3-
"version": "2.11.2",
3+
"version": "2.11.3",
44
"homepage": "./",
55
"private": false,
66
"license": "SEE LICENSE IN LICENSE FILE",

src/api/swap/getAstroportRouteInfo.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@ export default async function getRouteInfo(
1616
const resp = await fetchWithTimeout(astroportUrl, FETCH_TIMEOUT)
1717
const route = (await resp.json())[0] as AstroportRouteResponse
1818

19+
let amountOut = BN(route.amount_out)
20+
if (!amountOut.gt(0))
21+
amountOut = amountOut.times(1 - chainConfig.swapFee).integerValue(BigNumber.ROUND_FLOOR)
22+
1923
return {
20-
amountOut: BN(route.amount_out),
24+
amountOut,
2125
priceImpact: BN(route.price_impact),
2226
fee: BN(0), // TODO: Fees are not implemented yet on Astroport endpoint
2327
description: [

src/api/swap/getNeutronRouteInfo.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,11 @@ async function getNeutronRouteInfoInternal(
185185

186186
const routeInfo = buildSwapRouteInfo(skipRouteResponse, route, description, isReverse)
187187

188+
if (!routeInfo.amountOut.gt(0))
189+
routeInfo.amountOut = routeInfo.amountOut
190+
.times(1 - chainConfig.swapFee)
191+
.integerValue(BigNumber.ROUND_FLOOR)
192+
188193
return routeInfo
189194
} catch (error) {
190195
if (shouldFallbackToAstroport && !isReverse) {

src/api/swap/getOsmosisRouteInfo.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,18 @@ export default async function getOsmosisRouteInfo(
77
url: string,
88
denomIn: string,
99
assets: Asset[],
10+
chainConfig: ChainConfig,
1011
): Promise<SwapRouteInfo | null> {
1112
try {
1213
const resp = await fetchWithTimeout(url, FETCH_TIMEOUT)
1314
const route = (await resp.json()) as OsmosisRouteResponse
1415

16+
let amountOut = BN(route.amount_out)
17+
if (!amountOut.gt(0))
18+
amountOut = amountOut.times(1 - chainConfig.swapFee).integerValue(BigNumber.ROUND_FLOOR)
19+
1520
return {
16-
amountOut: BN(route.amount_out),
21+
amountOut,
1722
priceImpact: BN(route.price_impact).times(100),
1823
fee: BN(route.effective_fee),
1924
description: [

src/chains/neutron/neutron-1.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ const Neutron1: ChainConfig = {
187187
evmAssetSupport: true,
188188
slinky: true,
189189
managedVaults: true,
190+
swapFee: 0.005,
190191
}
191192

192193
export default Neutron1

src/chains/neutron/pion-1.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ const Pion1: ChainConfig = {
7070
evmAssetSupport: true,
7171
slinky: true,
7272
managedVaults: true,
73+
swapFee: 0.005,
7374
}
7475

7576
export default Pion1

src/chains/osmosis/osmosis-1.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ const Osmosis1: ChainConfig = {
139139
evmAssetSupport: true,
140140
slinky: false,
141141
managedVaults: false,
142+
swapFee: 0,
142143
}
143144

144145
export default Osmosis1

src/hooks/swap/useSwapRoute.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export default function useSwapRoute(
6464

6565
try {
6666
const routeInfo = isOsmosis
67-
? await getOsmosisRouteInfo(osmosisUrl, fromDenom, assets)
67+
? await getOsmosisRouteInfo(osmosisUrl, fromDenom, assets, chainConfig)
6868
: await getNeutronRouteInfo(fromDenom, toDenom, amount, assets, chainConfig)
6969

7070
if (routeInfo) {

src/hooks/trade/useRouteInfo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export default function useRouteInfo(denomIn: string, denomOut: string, amount:
2626
isOsmosis && debouncedAmount !== '0' && osmosisUrl
2727
? ['route', denomIn, denomOut, debouncedAmount, chainConfig.id]
2828
: null,
29-
async () => getOsmosisRouteInfo(osmosisUrl, denomIn, assets),
29+
async () => getOsmosisRouteInfo(osmosisUrl, denomIn, assets, chainConfig),
3030
)
3131

3232
return isOsmosis ? osmosisRoute : neutronRoute

src/store/slices/broadcast.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ export default function createBroadcastSlice(
697697

698698
const osmosisUrl = `${chainConfig.endpoints.routes}/quote?tokenIn=${amount}${options.swapFromDenom}&tokenOutDenom=${options.debtDenom}`
699699
const routeInfo = isOsmosis
700-
? await getOsmosisRouteInfo(osmosisUrl, options.swapFromDenom, get().assets)
700+
? await getOsmosisRouteInfo(osmosisUrl, options.swapFromDenom, get().assets, chainConfig)
701701
: await getNeutronRouteInfo(
702702
options.swapFromDenom,
703703
options.debtDenom,

0 commit comments

Comments
 (0)