Warden
Search…
Class: WardenBestRate
Warden Best Rate for getting quote and swapping.

Constructors

constructor

new WardenBestRate(provider, networkName, options?)
Create new instance of WardenBestRate
Parameters
Name
Type
Description
provider
Provider
ethersjs' Provider instance
networkName
"bsc" | "arbitrum" | "polygon" | "ethereum" | "avalanche" | "optimism"
Chain name (supported by WardenSwap), arbitrum will be supported soon
options
WardenBestRateOption
Options

Methods

approve

approve(signer, src, allowedAmount?, overrides?): Promise<ContractTransaction>
Set Allowance of a token to be spendable by WardenSwap contract
Parameters
Name
Type
Default value
Description
signer
Signer
undefined
ethers' Signer
src
string
undefined
Token to be approved
allowedAmount
BigNumberish
ethers.constants.MaxUint256
Allowed amount to be spendable by WardenSwap contract
overrides
PayableOverrides
{}
ethers' overrides
Returns
Promise<ContractTransaction>
ethers' contract transaction (no wait)

getDepositAddresses

getDepositAddresses(srcDestRouteTuples, dexManager?): string[]
Get deposit addresses indicating the first hop to be used for starting the trade. This information is required by Wardenswap contract
Parameters
Name
Type
Description
srcDestRouteTuples
{ dest: string ; routeAddress: string ; src: string }[]
tuples of src, dest, and routeAddress
dexManager?
DexManager
-
Returns
string[]
a list of deposit addresses with the same order as the input

getQuote

getQuote(src, dest, amountIn, gasPrice, opts?): Promise<QuoteResult>
Get the best rate of a token pair with given amount
Parameters
Name
Type
Description
src
string
Address of src asset
dest
string
Address of dest asset
amountIn
BigNumberish
Amount of src asset to be traded
gasPrice
BigNumberish
Amount of gas price per unit in native currency (18 decimals) e.g. BSC = BNB, Polygon = MATIC, Ethereum = ETH. For L2 chains, this is Ethereum (L1) gas price.
opts
GetQuoteOption
Options for getting quote
Returns
Promise<QuoteResult>
Trading routes which provide the best rate

swap

swap(signer, src, dest, amountIn, minDestAmount, quoteResult, partnerId?, metaData?, receiver?, overrides?): Promise<ContractTransaction>
Send a swap transaction to WardenSwap based on given quote
Parameters
Name
Type
Default value
Description
signer
Signer
undefined
ethers' Signer
src
string
undefined
Source token
dest
string
undefined
Destination token
amountIn
BigNumberish
undefined
Amount of source token
minDestAmount
BigNumberish
undefined
Minimum amount of destination token
quoteResult
QuoteResult
undefined
Best rate quote got from getQuote method
partnerId
BigNumberish
0
Warden's partner ID
metaData
BigNumberish
0
MetaWarden ID
receiver?
string
undefined
Wallet to receive destination token, default to tx sender
overrides
PayableOverrides
{}
ethers' transaction overrides
Returns
Promise<ContractTransaction>
ethers' contract transaction (no wait)
Copy link
Outline
Constructors
Methods