UNPKG

@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
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>; }; }