@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
594 lines (593 loc) • 39.1 kB
TypeScript
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common";
export interface StakingInterface extends utils.Interface {
functions: {
"DEFAULT_ADMIN_ROLE()": FunctionFragment;
"getAllStakingTiers()": FunctionFragment;
"getAllStreamFee()": FunctionFragment;
"getCorrespondingStreamFee(uint256)": FunctionFragment;
"getRoleAdmin(bytes32)": FunctionFragment;
"getStreamFee(address,address)": FunctionFragment;
"grantRole(bytes32,address)": FunctionFragment;
"hasRole(bytes32,address)": FunctionFragment;
"initialize(address)": FunctionFragment;
"noOfTokenStakedByUser(address)": FunctionFragment;
"owner()": FunctionFragment;
"proxiableUUID()": FunctionFragment;
"renounceOwnership()": FunctionFragment;
"renounceRole(bytes32,address)": FunctionFragment;
"revokeRole(bytes32,address)": FunctionFragment;
"setStreamFeeTiers(uint256[],uint256[])": FunctionFragment;
"stakeTokens(uint256)": FunctionFragment;
"supportsInterface(bytes4)": FunctionFragment;
"tokenAddress()": FunctionFragment;
"totalStakedToken()": FunctionFragment;
"transferOwnership(address)": FunctionFragment;
"unstakeTokens(uint256)": FunctionFragment;
"updateTokenAddress(address)": FunctionFragment;
"upgradeTo(address)": FunctionFragment;
"upgradeToAndCall(address,bytes)": FunctionFragment;
"whitelistAddress(address,address[],uint256[])": FunctionFragment;
"whitelistState(address,address)": FunctionFragment;
"withdrawTokens(address,uint256)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "DEFAULT_ADMIN_ROLE" | "getAllStakingTiers" | "getAllStreamFee" | "getCorrespondingStreamFee" | "getRoleAdmin" | "getStreamFee" | "grantRole" | "hasRole" | "initialize" | "noOfTokenStakedByUser" | "owner" | "proxiableUUID" | "renounceOwnership" | "renounceRole" | "revokeRole" | "setStreamFeeTiers" | "stakeTokens" | "supportsInterface" | "tokenAddress" | "totalStakedToken" | "transferOwnership" | "unstakeTokens" | "updateTokenAddress" | "upgradeTo" | "upgradeToAndCall" | "whitelistAddress" | "whitelistState" | "withdrawTokens"): FunctionFragment;
encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string;
encodeFunctionData(functionFragment: "getAllStakingTiers", values?: undefined): string;
encodeFunctionData(functionFragment: "getAllStreamFee", values?: undefined): string;
encodeFunctionData(functionFragment: "getCorrespondingStreamFee", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getRoleAdmin", values: [PromiseOrValue<BytesLike>]): string;
encodeFunctionData(functionFragment: "getStreamFee", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "grantRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "hasRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "noOfTokenStakedByUser", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string;
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
encodeFunctionData(functionFragment: "renounceRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "revokeRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "setStreamFeeTiers", values: [PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>[]]): string;
encodeFunctionData(functionFragment: "stakeTokens", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "supportsInterface", values: [PromiseOrValue<BytesLike>]): string;
encodeFunctionData(functionFragment: "tokenAddress", values?: undefined): string;
encodeFunctionData(functionFragment: "totalStakedToken", values?: undefined): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "unstakeTokens", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "updateTokenAddress", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "upgradeTo", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "upgradeToAndCall", values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>]): string;
encodeFunctionData(functionFragment: "whitelistAddress", values: [
PromiseOrValue<string>,
PromiseOrValue<string>[],
PromiseOrValue<BigNumberish>[]
]): string;
encodeFunctionData(functionFragment: "whitelistState", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "withdrawTokens", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getAllStakingTiers", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getAllStreamFee", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getCorrespondingStreamFee", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getStreamFee", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "noOfTokenStakedByUser", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setStreamFeeTiers", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "stakeTokens", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "tokenAddress", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "totalStakedToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unstakeTokens", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateTokenAddress", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "whitelistAddress", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "whitelistState", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawTokens", data: BytesLike): Result;
events: {
"AdminChanged(address,address)": EventFragment;
"BeaconUpgraded(address)": EventFragment;
"Initialized(uint8)": EventFragment;
"OwnershipTransferred(address,address)": EventFragment;
"RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
"RoleGranted(bytes32,address,address)": EventFragment;
"RoleRevoked(bytes32,address,address)": EventFragment;
"SetStreamFeeTiers(uint256[],uint256[])": EventFragment;
"StakedToken(address,uint256)": EventFragment;
"StakingTokenUpdated(address)": EventFragment;
"StreamFeeUpdated(uint256)": EventFragment;
"TokenWithdrawn(address,address,uint256)": EventFragment;
"UnstakedToken(address,uint256)": EventFragment;
"Upgraded(address)": EventFragment;
"WhiteListedAddress(address,address,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment;
getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
getEvent(nameOrSignatureOrTopic: "SetStreamFeeTiers"): EventFragment;
getEvent(nameOrSignatureOrTopic: "StakedToken"): EventFragment;
getEvent(nameOrSignatureOrTopic: "StakingTokenUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "StreamFeeUpdated"): EventFragment;
getEvent(nameOrSignatureOrTopic: "TokenWithdrawn"): EventFragment;
getEvent(nameOrSignatureOrTopic: "UnstakedToken"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment;
getEvent(nameOrSignatureOrTopic: "WhiteListedAddress"): EventFragment;
}
export interface AdminChangedEventObject {
previousAdmin: string;
newAdmin: string;
}
export type AdminChangedEvent = TypedEvent<[
string,
string
], AdminChangedEventObject>;
export type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>;
export interface BeaconUpgradedEventObject {
beacon: string;
}
export type BeaconUpgradedEvent = TypedEvent<[
string
], BeaconUpgradedEventObject>;
export type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>;
export interface InitializedEventObject {
version: number;
}
export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface OwnershipTransferredEventObject {
previousOwner: string;
newOwner: string;
}
export type OwnershipTransferredEvent = TypedEvent<[
string,
string
], OwnershipTransferredEventObject>;
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface RoleAdminChangedEventObject {
role: string;
previousAdminRole: string;
newAdminRole: string;
}
export type RoleAdminChangedEvent = TypedEvent<[
string,
string,
string
], RoleAdminChangedEventObject>;
export type RoleAdminChangedEventFilter = TypedEventFilter<RoleAdminChangedEvent>;
export interface RoleGrantedEventObject {
role: string;
account: string;
sender: string;
}
export type RoleGrantedEvent = TypedEvent<[
string,
string,
string
], RoleGrantedEventObject>;
export type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>;
export interface RoleRevokedEventObject {
role: string;
account: string;
sender: string;
}
export type RoleRevokedEvent = TypedEvent<[
string,
string,
string
], RoleRevokedEventObject>;
export type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>;
export interface SetStreamFeeTiersEventObject {
streamFee: BigNumber[];
numberOfTokens: BigNumber[];
}
export type SetStreamFeeTiersEvent = TypedEvent<[
BigNumber[],
BigNumber[]
], SetStreamFeeTiersEventObject>;
export type SetStreamFeeTiersEventFilter = TypedEventFilter<SetStreamFeeTiersEvent>;
export interface StakedTokenEventObject {
staker: string;
amount: BigNumber;
}
export type StakedTokenEvent = TypedEvent<[
string,
BigNumber
], StakedTokenEventObject>;
export type StakedTokenEventFilter = TypedEventFilter<StakedTokenEvent>;
export interface StakingTokenUpdatedEventObject {
newTokenAddress: string;
}
export type StakingTokenUpdatedEvent = TypedEvent<[
string
], StakingTokenUpdatedEventObject>;
export type StakingTokenUpdatedEventFilter = TypedEventFilter<StakingTokenUpdatedEvent>;
export interface StreamFeeUpdatedEventObject {
newStreamFee: BigNumber;
}
export type StreamFeeUpdatedEvent = TypedEvent<[
BigNumber
], StreamFeeUpdatedEventObject>;
export type StreamFeeUpdatedEventFilter = TypedEventFilter<StreamFeeUpdatedEvent>;
export interface TokenWithdrawnEventObject {
tokenAddress: string;
withdrawer: string;
amount: BigNumber;
}
export type TokenWithdrawnEvent = TypedEvent<[
string,
string,
BigNumber
], TokenWithdrawnEventObject>;
export type TokenWithdrawnEventFilter = TypedEventFilter<TokenWithdrawnEvent>;
export interface UnstakedTokenEventObject {
staker: string;
amount: BigNumber;
}
export type UnstakedTokenEvent = TypedEvent<[
string,
BigNumber
], UnstakedTokenEventObject>;
export type UnstakedTokenEventFilter = TypedEventFilter<UnstakedTokenEvent>;
export interface UpgradedEventObject {
implementation: string;
}
export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>;
export type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>;
export interface WhiteListedAddressEventObject {
tokenAddress: string;
walletAddress: string;
streamFee: BigNumber;
}
export type WhiteListedAddressEvent = TypedEvent<[
string,
string,
BigNumber
], WhiteListedAddressEventObject>;
export type WhiteListedAddressEventFilter = TypedEventFilter<WhiteListedAddressEvent>;
export interface Staking extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: StakingInterface;
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
getAllStakingTiers(overrides?: CallOverrides): Promise<[BigNumber[]] & {
_stakingTiers: BigNumber[];
}>;
getAllStreamFee(overrides?: CallOverrides): Promise<[BigNumber[]] & {
_streamFee: BigNumber[];
}>;
getCorrespondingStreamFee(stakingTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber] & {
_streamFee: BigNumber;
}>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
getStreamFee(sender: PromiseOrValue<string>, _tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & {
_streamFee: BigNumber;
}>;
grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
initialize(_tokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
noOfTokenStakedByUser(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
owner(overrides?: CallOverrides): Promise<[string]>;
proxiableUUID(overrides?: CallOverrides): Promise<[string]>;
renounceOwnership(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
setStreamFeeTiers(_streamFee: PromiseOrValue<BigNumberish>[], _numberOfTokens: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
stakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
tokenAddress(overrides?: CallOverrides): Promise<[string]>;
totalStakedToken(overrides?: CallOverrides): Promise<[BigNumber]>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unstakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
updateTokenAddress(newTokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
whitelistAddress(_tokenAddress: PromiseOrValue<string>, walletAddresses: PromiseOrValue<string>[], _streamFee: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
whitelistState(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
boolean,
BigNumber
] & {
isWhitelisted: boolean;
streamFee: BigNumber;
}>;
withdrawTokens(_tokenAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
};
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
getAllStakingTiers(overrides?: CallOverrides): Promise<BigNumber[]>;
getAllStreamFee(overrides?: CallOverrides): Promise<BigNumber[]>;
getCorrespondingStreamFee(stakingTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
getStreamFee(sender: PromiseOrValue<string>, _tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
initialize(_tokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
noOfTokenStakedByUser(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
proxiableUUID(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
setStreamFeeTiers(_streamFee: PromiseOrValue<BigNumberish>[], _numberOfTokens: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
stakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
tokenAddress(overrides?: CallOverrides): Promise<string>;
totalStakedToken(overrides?: CallOverrides): Promise<BigNumber>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unstakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
updateTokenAddress(newTokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
whitelistAddress(_tokenAddress: PromiseOrValue<string>, walletAddresses: PromiseOrValue<string>[], _streamFee: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
whitelistState(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
boolean,
BigNumber
] & {
isWhitelisted: boolean;
streamFee: BigNumber;
}>;
withdrawTokens(_tokenAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
callStatic: {
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
getAllStakingTiers(overrides?: CallOverrides): Promise<BigNumber[]>;
getAllStreamFee(overrides?: CallOverrides): Promise<BigNumber[]>;
getCorrespondingStreamFee(stakingTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
getStreamFee(sender: PromiseOrValue<string>, _tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
initialize(_tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
noOfTokenStakedByUser(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
proxiableUUID(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: CallOverrides): Promise<void>;
renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
setStreamFeeTiers(_streamFee: PromiseOrValue<BigNumberish>[], _numberOfTokens: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
stakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
tokenAddress(overrides?: CallOverrides): Promise<string>;
totalStakedToken(overrides?: CallOverrides): Promise<BigNumber>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
unstakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
updateTokenAddress(newTokenAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
whitelistAddress(_tokenAddress: PromiseOrValue<string>, walletAddresses: PromiseOrValue<string>[], _streamFee: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
whitelistState(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
boolean,
BigNumber
] & {
isWhitelisted: boolean;
streamFee: BigNumber;
}>;
withdrawTokens(_tokenAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
};
filters: {
"AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
"BeaconUpgraded(address)"(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter;
BeaconUpgraded(beacon?: PromiseOrValue<string> | null): BeaconUpgradedEventFilter;
"Initialized(uint8)"(version?: null): InitializedEventFilter;
Initialized(version?: null): InitializedEventFilter;
"OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
"RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
RoleAdminChanged(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
"RoleGranted(bytes32,address,address)"(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
RoleGranted(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
"RoleRevoked(bytes32,address,address)"(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
RoleRevoked(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
"SetStreamFeeTiers(uint256[],uint256[])"(streamFee?: null, numberOfTokens?: null): SetStreamFeeTiersEventFilter;
SetStreamFeeTiers(streamFee?: null, numberOfTokens?: null): SetStreamFeeTiersEventFilter;
"StakedToken(address,uint256)"(staker?: PromiseOrValue<string> | null, amount?: null): StakedTokenEventFilter;
StakedToken(staker?: PromiseOrValue<string> | null, amount?: null): StakedTokenEventFilter;
"StakingTokenUpdated(address)"(newTokenAddress?: null): StakingTokenUpdatedEventFilter;
StakingTokenUpdated(newTokenAddress?: null): StakingTokenUpdatedEventFilter;
"StreamFeeUpdated(uint256)"(newStreamFee?: null): StreamFeeUpdatedEventFilter;
StreamFeeUpdated(newStreamFee?: null): StreamFeeUpdatedEventFilter;
"TokenWithdrawn(address,address,uint256)"(tokenAddress?: null, withdrawer?: null, amount?: null): TokenWithdrawnEventFilter;
TokenWithdrawn(tokenAddress?: null, withdrawer?: null, amount?: null): TokenWithdrawnEventFilter;
"UnstakedToken(address,uint256)"(staker?: PromiseOrValue<string> | null, amount?: null): UnstakedTokenEventFilter;
UnstakedToken(staker?: PromiseOrValue<string> | null, amount?: null): UnstakedTokenEventFilter;
"Upgraded(address)"(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
Upgraded(implementation?: PromiseOrValue<string> | null): UpgradedEventFilter;
"WhiteListedAddress(address,address,uint256)"(tokenAddress?: null, walletAddress?: null, streamFee?: null): WhiteListedAddressEventFilter;
WhiteListedAddress(tokenAddress?: null, walletAddress?: null, streamFee?: null): WhiteListedAddressEventFilter;
};
estimateGas: {
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
getAllStakingTiers(overrides?: CallOverrides): Promise<BigNumber>;
getAllStreamFee(overrides?: CallOverrides): Promise<BigNumber>;
getCorrespondingStreamFee(stakingTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
getStreamFee(sender: PromiseOrValue<string>, _tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
initialize(_tokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
noOfTokenStakedByUser(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<BigNumber>;
proxiableUUID(overrides?: CallOverrides): Promise<BigNumber>;
renounceOwnership(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
setStreamFeeTiers(_streamFee: PromiseOrValue<BigNumberish>[], _numberOfTokens: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
stakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
tokenAddress(overrides?: CallOverrides): Promise<BigNumber>;
totalStakedToken(overrides?: CallOverrides): Promise<BigNumber>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
unstakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
updateTokenAddress(newTokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
whitelistAddress(_tokenAddress: PromiseOrValue<string>, walletAddresses: PromiseOrValue<string>[], _streamFee: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
whitelistState(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
withdrawTokens(_tokenAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
};
populateTransaction: {
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
getAllStakingTiers(overrides?: CallOverrides): Promise<PopulatedTransaction>;
getAllStreamFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
getCorrespondingStreamFee(stakingTierIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getStreamFee(sender: PromiseOrValue<string>, _tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
initialize(_tokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
noOfTokenStakedByUser(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
proxiableUUID(overrides?: CallOverrides): Promise<PopulatedTransaction>;
renounceOwnership(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
setStreamFeeTiers(_streamFee: PromiseOrValue<BigNumberish>[], _numberOfTokens: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
stakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
tokenAddress(overrides?: CallOverrides): Promise<PopulatedTransaction>;
totalStakedToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
unstakeTokens(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
updateTokenAddress(newTokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
upgradeTo(newImplementation: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
upgradeToAndCall(newImplementation: PromiseOrValue<string>, data: PromiseOrValue<BytesLike>, overrides?: PayableOverrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
whitelistAddress(_tokenAddress: PromiseOrValue<string>, walletAddresses: PromiseOrValue<string>[], _streamFee: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
whitelistState(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
withdrawTokens(_tokenAddress: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
};
}