@crestfi/crest-bnb-sdk
Version:
1. [StreamClient](#crestfistreamclient) 1. [Installation](#installation) 2. [Environment Setup](#environment-setup) 3. [Run tests](#run-tests) 4. [Contracts](#contracts) 5. [Usage](#usage) 1. [Getting Signer Address](#getting-si
65 lines (64 loc) • 2.23 kB
TypeScript
import { BigNumber, ContractReceipt, ethers } from "ethers";
export interface ICrestFiStaking {
/**
* Stake Token
* @param staker staker address
* @param tokenAddress token address
* @param amount amount to stake
* @throws error if contract call fails
* */
stakeToken(tokenAddress: string, amount: string, overrides?: ethers.Overrides): Promise<ContractReceipt>;
/**
* Unstake Token
* @param staker staker address
* @param tokenAddress token address
* @param amount amount to unstake
* @throws error if contract call fails
* */
unStakeToken(staker: string, tokenAddress: string, amount: string, overrides?: ethers.Overrides): Promise<ContractReceipt>;
/**
* Sets stream fee for whitelisted wallet addresses for given token address
* @param token token address to whitelist
* @param walletAddresses wallet addresses with its corresponding stream fee
*/
whitelistAddress(token: string, walletAddresses: {
address: string;
streamFee: string;
}[]): Promise<ContractReceipt>;
/**
* Get Stream Fee for given token
* @param staker staker address
* @returns stream fee
* @throws error if contract call fails
* */
getStreamFee(staker: string, token: string): Promise<BigNumber>;
/**
* Get number of token staked
* @param staker staker address
* @returns
*/
getStakedAmount(staker: string): Promise<BigNumber>;
/**
* Set Stream Fee Tiers
* @param staker staker address
* @param fee fee to set
* @throws error if contract call fails
* */
setStreamFeeTiers(feesAndTokenAmounts: {
fee: string;
amount: string;
token: string;
}[], overrides?: ethers.Overrides): Promise<ContractReceipt>;
/**
* Gets all staking fees with its corresponding stream fee
*/
getAllStreamFeeTier(): Promise<{
streamFee: BigNumber;
stakingTier: BigNumber;
}[]>;
/**
* Gets stream fee at given index
* @param index index of stream fee
*/
getCorrespondingStreamFee(index: number): Promise<BigNumber>;
}