hermes-v2-sdk
Version:
⚒️ An SDK for building applications on top of Hermes V2
109 lines (108 loc) • 3.09 kB
TypeScript
import { BigintIsh, NativeToken } from 'maia-core-sdk';
import { Pool } from '../entities';
export declare type FullWithdrawOptions = ClaimOptions & WithdrawOptions;
/**
* Represents a unique staking program.
*/
export interface IncentiveKey {
/**
* The token rewarded for participating in the staking program.
*/
rewardToken: NativeToken;
/**
* The pool that the staked positions must provide in.
*/
pool: Pool;
/**
* The time when the incentive program begins.
*/
startTime: BigintIsh;
/**
* The time that the incentive program ends.
*/
endTime: BigintIsh;
/**
* The address which receives any remaining reward tokens at `endTime`.
*/
refundee: string;
}
/**
* Options to specify when claiming rewards.
*/
export interface ClaimOptions {
/**
* The id of the NFT
*/
tokenId: BigintIsh;
/**
* Address to send rewards to.
*/
recipient: string;
/**
* The amount of `rewardToken` to claim. 0 claims all.
*/
amount?: BigintIsh;
}
/**
* Options to specify when withdrawing a position.
*/
export interface WithdrawOptions {
/**
* Set when withdrawing. The position will be sent to `owner` on withdraw.
*/
owner: string;
/**
* Set when withdrawing. `data` is passed to `safeTransferFrom` when transferring the position from contract back to owner.
*/
data?: string;
}
/**
* Contains the parameters for the withdraw token action in UniswapV3Staker.
* @param tokenId the tokenId to withdraw.
* @param to the address to withdraw the token to.
*/
export declare type TWithdrawTokenParams = {
tokenId: BigintIsh;
to: string;
};
/**
* Contains the parameters for the claim all rewards action in UniswapV3Staker.
* @param recipient the recipient of the rewards.
*/
export declare type TClaimAllRewardsParams = {
recipient: string;
};
/**
* Contains the parameters for the claim reward action in UniswapV3Staker.
* @param recipient the recipient of the reward.
* @param amount the amount of the reward to claim.
*/
export declare type TClaimRewardParams = {
recipient: string;
amount: BigintIsh;
};
/**
* Contains the parameters for the create incentive action in UniswapV3Staker.
* @param pool the uniswapV3Pool pool to create the incentive for.
* @param startTime the start time for the incentive.
* @param reward the amount of Hermes rewards for the incentive.
*/
export declare type TCreateIncentiveParams = {
pool: string;
startTime: BigintIsh;
reward: BigintIsh;
};
/**
* Contains the parameters for the stake token action in UniswapV3Staker.
* @param tokenId the tokenId to stake.
*/
export declare type TStakeTokenParams = {
tokenId: BigintIsh;
};
/**
* Contains the parameters for the unstake token action in UniswapV3Staker.
* @param tokenId the tokenId to unstake.
*/
export declare type TUnstakeTokenParams = {
tokenId: BigintIsh;
};