In exitFarming() function, the key (tuple)
is of type struct IncentiveKey
, that is defined in the IIncentiveKey interface as:
/// @param rewardToken The token being distributed as a reward
/// @param bonusRewardToken The bonus token being distributed as a reward
/// @param pool The Algebra pool
/// @param startTime The time when the incentive program begins
/// @param endTime The time when rewards stop accruing
struct IncentiveKey {
IERC20Minimal rewardToken;
IERC20Minimal bonusRewardToken;
IAlgebraPool pool;
uint256 startTime;
uint256 endTime;
}
In this:
rewardToken
and bonusRewardToken
are the addresses of token contracts.
pool
is the address of the AlgebraPool contract.
startTime
and endTime
are the timestamps.
So, the structure of the tuple to be passed as param would be:
["0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000", 0, 0]
You can replace these zero
placeholders with the actual addresses and timestamp values as per your use case.
You can also take reference from the values being passed in this transaction corresponding to enterFarming()
function, as it's also accepting the same tuple
format, when you decode the corresponding input data: