Skip to content

Commit

Permalink
fix: native token unwrap
Browse files Browse the repository at this point in the history
  • Loading branch information
krboktv committed May 9, 2024
1 parent d4d097d commit 8a799de
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 3 deletions.
10 changes: 8 additions & 2 deletions src/api/quoter/quote/quote.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {Preset} from '../preset'
import {AuctionWhitelistItem, FusionOrder} from '../../../fusion-order'
import {QuoterRequest} from '../quoter.request'
import {bpsToRatioFormat} from '../../../sdk'
import {CHAIN_TO_WRAPPER} from '../../../fusion-order/constants'

export class Quote {
/**
Expand Down Expand Up @@ -69,7 +70,8 @@ export class Quote {
receiver: paramsData?.receiver,
permit: this.params.permit,
isPermit2: this.params.isPermit2,
nonce: paramsData?.nonce
nonce: paramsData?.nonce,
network: paramsData.network
})

const preset = this.getPreset(params.preset)
Expand All @@ -88,11 +90,15 @@ export class Quote {
? params.nonce ?? randBigInt(UINT_40_MAX)
: params.nonce

const takerAsset = this.params.toTokenAddress.isNative()
? CHAIN_TO_WRAPPER[paramsData.network]
: this.params.toTokenAddress

return FusionOrder.new(
this.settlementAddress,
{
makerAsset: this.params.fromTokenAddress,
takerAsset: this.params.toTokenAddress,
takerAsset: takerAsset,
makingAmount: this.fromTokenAmount,
takingAmount: preset.auctionEndAmount,
maker: this.params.walletAddress,
Expand Down
2 changes: 2 additions & 0 deletions src/api/quoter/quote/types.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import {Address} from '@1inch/limit-order-sdk'
import {PresetEnum} from '../types'
import {NetworkEnum} from '../../../constants'

export type FusionOrderParamsData = {
network: NetworkEnum
preset?: PresetEnum
receiver?: Address
nonce?: bigint
Expand Down
32 changes: 32 additions & 0 deletions src/fusion-order/constants.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import {Address} from '@1inch/limit-order-sdk'
import {NetworkEnum} from '../constants'

export const CHAIN_TO_WRAPPER = {
[NetworkEnum.ETHEREUM]: new Address(
'0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'
),
[NetworkEnum.BINANCE]: new Address(
'0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c'
),
[NetworkEnum.POLYGON]: new Address(
'0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270'
),
[NetworkEnum.ARBITRUM]: new Address(
'0x82af49447d8a07e3bd95bd0d56f35241523fbab1'
),
[NetworkEnum.AVALANCHE]: new Address(
'0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7'
),
[NetworkEnum.GNOSIS]: new Address(
'0xe91d153e0b41518a2ce8dd3d7944fa863463a97d'
),
[NetworkEnum.COINBASE]: new Address(
'0x4200000000000000000000000000000000000006'
),
[NetworkEnum.OPTIMISM]: new Address(
'0x4200000000000000000000000000000000000006'
),
[NetworkEnum.FANTOM]: new Address(
'0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83'
)
}
3 changes: 2 additions & 1 deletion src/sdk/sdk.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,8 @@ export class FusionSDK {
nonce: params.nonce,
takingFeeReceiver: params.fee?.takingFeeReceiver,
allowPartialFills: params.allowPartialFills,
allowMultipleFills: params.allowMultipleFills
allowMultipleFills: params.allowMultipleFills,
network: this.config.network
})

const hash = order.getOrderHash(this.config.network)
Expand Down

0 comments on commit 8a799de

Please sign in to comment.