@cartesi/staking-pool
Version:
PoS Staking Pools
334 lines (333 loc) • 18.8 kB
TypeScript
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 StakingPoolUserImplInterface extends utils.Interface {
functions: {
"amount()": FunctionFragment;
"amountToShares(uint256)": FunctionFragment;
"deposit(uint256)": FunctionFragment;
"getWithdrawBalance()": FunctionFragment;
"lockTime()": FunctionFragment;
"owner()": FunctionFragment;
"paused()": FunctionFragment;
"pos()": FunctionFragment;
"renounceOwnership()": FunctionFragment;
"requiredLiquidity()": FunctionFragment;
"shares()": FunctionFragment;
"sharesToAmount(uint256)": FunctionFragment;
"stake(uint256)": FunctionFragment;
"transferOwnership(address)": FunctionFragment;
"unstake(uint256)": FunctionFragment;
"userBalance(address)": FunctionFragment;
"withdraw(uint256)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "amount" | "amountToShares" | "deposit" | "getWithdrawBalance" | "lockTime" | "owner" | "paused" | "pos" | "renounceOwnership" | "requiredLiquidity" | "shares" | "sharesToAmount" | "stake" | "transferOwnership" | "unstake" | "userBalance" | "withdraw"): FunctionFragment;
encodeFunctionData(functionFragment: "amount", values?: undefined): string;
encodeFunctionData(functionFragment: "amountToShares", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "deposit", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "getWithdrawBalance", values?: undefined): string;
encodeFunctionData(functionFragment: "lockTime", values?: undefined): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "paused", values?: undefined): string;
encodeFunctionData(functionFragment: "pos", values?: undefined): string;
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
encodeFunctionData(functionFragment: "requiredLiquidity", values?: undefined): string;
encodeFunctionData(functionFragment: "shares", values?: undefined): string;
encodeFunctionData(functionFragment: "sharesToAmount", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "stake", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "unstake", values: [PromiseOrValue<BigNumberish>]): string;
encodeFunctionData(functionFragment: "userBalance", values: [PromiseOrValue<string>]): string;
encodeFunctionData(functionFragment: "withdraw", values: [PromiseOrValue<BigNumberish>]): string;
decodeFunctionResult(functionFragment: "amount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "amountToShares", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getWithdrawBalance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "lockTime", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "pos", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "requiredLiquidity", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "shares", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "sharesToAmount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unstake", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "userBalance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
events: {
"Deposit(address,uint256,uint256)": EventFragment;
"OwnershipTransferred(address,address)": EventFragment;
"Paused(address)": EventFragment;
"Stake(address,uint256,uint256)": EventFragment;
"Unpaused(address)": EventFragment;
"Unstake(address,uint256,uint256)": EventFragment;
"Withdraw(address,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Stake"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Unstake"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment;
}
export interface DepositEventObject {
user: string;
amount: BigNumber;
stakeTimestamp: BigNumber;
}
export type DepositEvent = TypedEvent<[
string,
BigNumber,
BigNumber
], DepositEventObject>;
export type DepositEventFilter = TypedEventFilter<DepositEvent>;
export interface OwnershipTransferredEventObject {
previousOwner: string;
newOwner: string;
}
export type OwnershipTransferredEvent = TypedEvent<[
string,
string
], OwnershipTransferredEventObject>;
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface PausedEventObject {
account: string;
}
export type PausedEvent = TypedEvent<[string], PausedEventObject>;
export type PausedEventFilter = TypedEventFilter<PausedEvent>;
export interface StakeEventObject {
user: string;
amount: BigNumber;
shares: BigNumber;
}
export type StakeEvent = TypedEvent<[
string,
BigNumber,
BigNumber
], StakeEventObject>;
export type StakeEventFilter = TypedEventFilter<StakeEvent>;
export interface UnpausedEventObject {
account: string;
}
export type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>;
export type UnpausedEventFilter = TypedEventFilter<UnpausedEvent>;
export interface UnstakeEventObject {
user: string;
amount: BigNumber;
shares: BigNumber;
}
export type UnstakeEvent = TypedEvent<[
string,
BigNumber,
BigNumber
], UnstakeEventObject>;
export type UnstakeEventFilter = TypedEventFilter<UnstakeEvent>;
export interface WithdrawEventObject {
user: string;
amount: BigNumber;
}
export type WithdrawEvent = TypedEvent<[
string,
BigNumber
], WithdrawEventObject>;
export type WithdrawEventFilter = TypedEventFilter<WithdrawEvent>;
export interface StakingPoolUserImpl extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: StakingPoolUserImplInterface;
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: {
amount(overrides?: CallOverrides): Promise<[BigNumber]>;
amountToShares(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
deposit(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getWithdrawBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
lockTime(overrides?: CallOverrides): Promise<[BigNumber]>;
owner(overrides?: CallOverrides): Promise<[string]>;
paused(overrides?: CallOverrides): Promise<[boolean]>;
pos(overrides?: CallOverrides): Promise<[string]>;
renounceOwnership(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
requiredLiquidity(overrides?: CallOverrides): Promise<[BigNumber]>;
shares(overrides?: CallOverrides): Promise<[BigNumber]>;
sharesToAmount(_shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
stake(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unstake(_shares: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
userBalance(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber,
BigNumber
] & {
balance: BigNumber;
shares: BigNumber;
depositTimestamp: BigNumber;
}>;
withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
};
amount(overrides?: CallOverrides): Promise<BigNumber>;
amountToShares(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
deposit(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
getWithdrawBalance(overrides?: CallOverrides): Promise<BigNumber>;
lockTime(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
paused(overrides?: CallOverrides): Promise<boolean>;
pos(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
requiredLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
shares(overrides?: CallOverrides): Promise<BigNumber>;
sharesToAmount(_shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
stake(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
unstake(_shares: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
userBalance(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber,
BigNumber
] & {
balance: BigNumber;
shares: BigNumber;
depositTimestamp: BigNumber;
}>;
withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
callStatic: {
amount(overrides?: CallOverrides): Promise<BigNumber>;
amountToShares(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
deposit(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
getWithdrawBalance(overrides?: CallOverrides): Promise<BigNumber>;
lockTime(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<string>;
paused(overrides?: CallOverrides): Promise<boolean>;
pos(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: CallOverrides): Promise<void>;
requiredLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
shares(overrides?: CallOverrides): Promise<BigNumber>;
sharesToAmount(_shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
stake(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
unstake(_shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
userBalance(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber,
BigNumber
] & {
balance: BigNumber;
shares: BigNumber;
depositTimestamp: BigNumber;
}>;
withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
};
filters: {
"Deposit(address,uint256,uint256)"(user?: PromiseOrValue<string> | null, amount?: null, stakeTimestamp?: null): DepositEventFilter;
Deposit(user?: PromiseOrValue<string> | null, amount?: null, stakeTimestamp?: null): DepositEventFilter;
"OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
"Paused(address)"(account?: null): PausedEventFilter;
Paused(account?: null): PausedEventFilter;
"Stake(address,uint256,uint256)"(user?: PromiseOrValue<string> | null, amount?: null, shares?: null): StakeEventFilter;
Stake(user?: PromiseOrValue<string> | null, amount?: null, shares?: null): StakeEventFilter;
"Unpaused(address)"(account?: null): UnpausedEventFilter;
Unpaused(account?: null): UnpausedEventFilter;
"Unstake(address,uint256,uint256)"(user?: PromiseOrValue<string> | null, amount?: null, shares?: null): UnstakeEventFilter;
Unstake(user?: PromiseOrValue<string> | null, amount?: null, shares?: null): UnstakeEventFilter;
"Withdraw(address,uint256)"(user?: PromiseOrValue<string> | null, amount?: null): WithdrawEventFilter;
Withdraw(user?: PromiseOrValue<string> | null, amount?: null): WithdrawEventFilter;
};
estimateGas: {
amount(overrides?: CallOverrides): Promise<BigNumber>;
amountToShares(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
deposit(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
getWithdrawBalance(overrides?: CallOverrides): Promise<BigNumber>;
lockTime(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<BigNumber>;
paused(overrides?: CallOverrides): Promise<BigNumber>;
pos(overrides?: CallOverrides): Promise<BigNumber>;
renounceOwnership(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
requiredLiquidity(overrides?: CallOverrides): Promise<BigNumber>;
shares(overrides?: CallOverrides): Promise<BigNumber>;
sharesToAmount(_shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
stake(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
unstake(_shares: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
userBalance(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
};
populateTransaction: {
amount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
amountToShares(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
deposit(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
getWithdrawBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
lockTime(overrides?: CallOverrides): Promise<PopulatedTransaction>;
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
paused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
pos(overrides?: CallOverrides): Promise<PopulatedTransaction>;
renounceOwnership(overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
requiredLiquidity(overrides?: CallOverrides): Promise<PopulatedTransaction>;
shares(overrides?: CallOverrides): Promise<PopulatedTransaction>;
sharesToAmount(_shares: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
stake(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
unstake(_shares: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
userBalance(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
withdraw(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
};
}