tradeByTargetAmount()
Function tradeByTargetAmount()
This function will trade to receive the exact amount of indicated target tokens for as few source tokens as possible.
function tradeByTargetAmount(
Token sourceToken,
Token targetToken,
TradeAction[] calldata tradeActions,
uint256 deadline,
uint128 maxInput
) external payable nonReentrant whenNotPaused onlyProxyDelegate returns (uint128)
Function Arguments
sourceToken
Token
The source token address
targetToken
Token
The target token address
tradeActions
list
This is a list of TradeAction objects, each of which contain the strategyId and amount of target tokens to receive from the strategy.
deadline
uint256
Unix timestamp after which the transaction will revert
maxInput
uint128
The maximum amount of source tokens you are willing to spend (use) for the transaction to result in the requested targetToken amount and not revert
tradeAction amount
need to follow the relevant token decimal.
tradeByTargetAmount, follows the targetToken decimals
Example
tradeByTargetAmount(
0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, //source token
0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C, //target token
[{59, 1600000000000000000}, {72, 3140000000000000000}], //array of tradeActions [{strategyId, amount},{strategyId, amount}...]
1675680190, //deadline
5320000000000000000 //maxInput
)
While all required data is available on chain, it is recommended to use the Carbon DeFi SDK.
Last updated