@ohgeez/fsushi
Version:
fSUSHI is a protocol built on top of [FlashStake](http://flashstake.io/) and [SushiSwap](https://sushi.com) that enables stakers to get instant, upfront yield without waiting for it to accrue.
700 lines (590 loc) • 20.6 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
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 FSushiBarInterface extends utils.Interface {
functions: {
"asset()": FunctionFragment;
"balanceOf(address)": FunctionFragment;
"checkpoint()": FunctionFragment;
"checkpointedTotalAssets()": FunctionFragment;
"checkpointedTotalAssetsDuring(uint256)": FunctionFragment;
"decimals()": FunctionFragment;
"deposit(uint256,uint256,address)": FunctionFragment;
"depositSigned(uint256,uint256,address,uint256,uint8,bytes32,bytes32)": FunctionFragment;
"lastCheckpoint()": FunctionFragment;
"name()": FunctionFragment;
"previewDeposit(uint256,uint256)": FunctionFragment;
"previewWithdraw(address)": FunctionFragment;
"startWeek()": FunctionFragment;
"symbol()": FunctionFragment;
"totalAssets()": FunctionFragment;
"totalAssetsDuring(uint256)": FunctionFragment;
"totalSupply()": FunctionFragment;
"withdraw(address)": FunctionFragment;
};
getFunction(
nameOrSignatureOrTopic:
| "asset"
| "balanceOf"
| "checkpoint"
| "checkpointedTotalAssets"
| "checkpointedTotalAssetsDuring"
| "decimals"
| "deposit"
| "depositSigned"
| "lastCheckpoint"
| "name"
| "previewDeposit"
| "previewWithdraw"
| "startWeek"
| "symbol"
| "totalAssets"
| "totalAssetsDuring"
| "totalSupply"
| "withdraw"
): FunctionFragment;
encodeFunctionData(functionFragment: "asset", values?: undefined): string;
encodeFunctionData(
functionFragment: "balanceOf",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "checkpoint",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "checkpointedTotalAssets",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "checkpointedTotalAssetsDuring",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
encodeFunctionData(
functionFragment: "deposit",
values: [
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<string>
]
): string;
encodeFunctionData(
functionFragment: "depositSigned",
values: [
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BytesLike>,
PromiseOrValue<BytesLike>
]
): string;
encodeFunctionData(
functionFragment: "lastCheckpoint",
values?: undefined
): string;
encodeFunctionData(functionFragment: "name", values?: undefined): string;
encodeFunctionData(
functionFragment: "previewDeposit",
values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "previewWithdraw",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(functionFragment: "startWeek", values?: undefined): string;
encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
encodeFunctionData(
functionFragment: "totalAssets",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "totalAssetsDuring",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "totalSupply",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "withdraw",
values: [PromiseOrValue<string>]
): string;
decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "checkpoint", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "checkpointedTotalAssets",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "checkpointedTotalAssetsDuring",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "depositSigned",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "lastCheckpoint",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "previewDeposit",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "previewWithdraw",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "startWeek", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "totalAssets",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "totalAssetsDuring",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "totalSupply",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
events: {
"Deposit(address,address,uint256,uint256)": EventFragment;
"Transfer(address,address,uint256)": EventFragment;
"Withdraw(address,address,uint256,uint256,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment;
}
export interface DepositEventObject {
sender: string;
beneficiary: string;
shares: BigNumber;
assets: BigNumber;
}
export type DepositEvent = TypedEvent<
[string, string, BigNumber, BigNumber],
DepositEventObject
>;
export type DepositEventFilter = TypedEventFilter<DepositEvent>;
export interface TransferEventObject {
from: string;
to: string;
value: BigNumber;
}
export type TransferEvent = TypedEvent<
[string, string, BigNumber],
TransferEventObject
>;
export type TransferEventFilter = TypedEventFilter<TransferEvent>;
export interface WithdrawEventObject {
owner: string;
beneficiary: string;
shares: BigNumber;
assets: BigNumber;
yield: BigNumber;
}
export type WithdrawEvent = TypedEvent<
[string, string, BigNumber, BigNumber, BigNumber],
WithdrawEventObject
>;
export type WithdrawEventFilter = TypedEventFilter<WithdrawEvent>;
export interface FSushiBar extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: FSushiBarInterface;
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: {
asset(overrides?: CallOverrides): Promise<[string]>;
balanceOf(
arg0: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<[BigNumber]>;
checkpoint(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
checkpointedTotalAssets(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
checkpointedTotalAssetsDuring(
week: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
decimals(overrides?: CallOverrides): Promise<[number]>;
deposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
depositSigned(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
deadline: PromiseOrValue<BigNumberish>,
v: PromiseOrValue<BigNumberish>,
r: PromiseOrValue<BytesLike>,
s: PromiseOrValue<BytesLike>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
lastCheckpoint(overrides?: CallOverrides): Promise<[BigNumber]>;
name(overrides?: CallOverrides): Promise<[string]>;
previewDeposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[BigNumber] & { shares: BigNumber }>;
previewWithdraw(
owner: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<
[BigNumber, BigNumber, BigNumber] & {
shares: BigNumber;
assets: BigNumber;
yield: BigNumber;
}
>;
startWeek(overrides?: CallOverrides): Promise<[BigNumber]>;
symbol(overrides?: CallOverrides): Promise<[string]>;
totalAssets(overrides?: CallOverrides): Promise<[BigNumber]>;
totalAssetsDuring(
arg0: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[BigNumber]>;
totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
withdraw(
beneficiary: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
};
asset(overrides?: CallOverrides): Promise<string>;
balanceOf(
arg0: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
checkpoint(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
checkpointedTotalAssets(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
checkpointedTotalAssetsDuring(
week: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
decimals(overrides?: CallOverrides): Promise<number>;
deposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
depositSigned(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
deadline: PromiseOrValue<BigNumberish>,
v: PromiseOrValue<BigNumberish>,
r: PromiseOrValue<BytesLike>,
s: PromiseOrValue<BytesLike>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
lastCheckpoint(overrides?: CallOverrides): Promise<BigNumber>;
name(overrides?: CallOverrides): Promise<string>;
previewDeposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
previewWithdraw(
owner: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<
[BigNumber, BigNumber, BigNumber] & {
shares: BigNumber;
assets: BigNumber;
yield: BigNumber;
}
>;
startWeek(overrides?: CallOverrides): Promise<BigNumber>;
symbol(overrides?: CallOverrides): Promise<string>;
totalAssets(overrides?: CallOverrides): Promise<BigNumber>;
totalAssetsDuring(
arg0: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
withdraw(
beneficiary: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
callStatic: {
asset(overrides?: CallOverrides): Promise<string>;
balanceOf(
arg0: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
checkpoint(overrides?: CallOverrides): Promise<void>;
checkpointedTotalAssets(overrides?: CallOverrides): Promise<BigNumber>;
checkpointedTotalAssetsDuring(
week: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
decimals(overrides?: CallOverrides): Promise<number>;
deposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
depositSigned(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
deadline: PromiseOrValue<BigNumberish>,
v: PromiseOrValue<BigNumberish>,
r: PromiseOrValue<BytesLike>,
s: PromiseOrValue<BytesLike>,
overrides?: CallOverrides
): Promise<BigNumber>;
lastCheckpoint(overrides?: CallOverrides): Promise<BigNumber>;
name(overrides?: CallOverrides): Promise<string>;
previewDeposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
previewWithdraw(
owner: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<
[BigNumber, BigNumber, BigNumber] & {
shares: BigNumber;
assets: BigNumber;
yield: BigNumber;
}
>;
startWeek(overrides?: CallOverrides): Promise<BigNumber>;
symbol(overrides?: CallOverrides): Promise<string>;
totalAssets(overrides?: CallOverrides): Promise<BigNumber>;
totalAssetsDuring(
arg0: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
withdraw(
beneficiary: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<
[BigNumber, BigNumber, BigNumber] & {
shares: BigNumber;
assets: BigNumber;
yield: BigNumber;
}
>;
};
filters: {
"Deposit(address,address,uint256,uint256)"(
sender?: PromiseOrValue<string> | null,
beneficiary?: PromiseOrValue<string> | null,
shares?: null,
assets?: null
): DepositEventFilter;
Deposit(
sender?: PromiseOrValue<string> | null,
beneficiary?: PromiseOrValue<string> | null,
shares?: null,
assets?: null
): DepositEventFilter;
"Transfer(address,address,uint256)"(
from?: PromiseOrValue<string> | null,
to?: PromiseOrValue<string> | null,
value?: null
): TransferEventFilter;
Transfer(
from?: PromiseOrValue<string> | null,
to?: PromiseOrValue<string> | null,
value?: null
): TransferEventFilter;
"Withdraw(address,address,uint256,uint256,uint256)"(
owner?: PromiseOrValue<string> | null,
beneficiary?: PromiseOrValue<string> | null,
shares?: null,
assets?: null,
_yield?: null
): WithdrawEventFilter;
Withdraw(
owner?: PromiseOrValue<string> | null,
beneficiary?: PromiseOrValue<string> | null,
shares?: null,
assets?: null,
_yield?: null
): WithdrawEventFilter;
};
estimateGas: {
asset(overrides?: CallOverrides): Promise<BigNumber>;
balanceOf(
arg0: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
checkpoint(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
checkpointedTotalAssets(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
checkpointedTotalAssetsDuring(
week: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
decimals(overrides?: CallOverrides): Promise<BigNumber>;
deposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
depositSigned(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
deadline: PromiseOrValue<BigNumberish>,
v: PromiseOrValue<BigNumberish>,
r: PromiseOrValue<BytesLike>,
s: PromiseOrValue<BytesLike>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
lastCheckpoint(overrides?: CallOverrides): Promise<BigNumber>;
name(overrides?: CallOverrides): Promise<BigNumber>;
previewDeposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
previewWithdraw(
owner: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
startWeek(overrides?: CallOverrides): Promise<BigNumber>;
symbol(overrides?: CallOverrides): Promise<BigNumber>;
totalAssets(overrides?: CallOverrides): Promise<BigNumber>;
totalAssetsDuring(
arg0: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
withdraw(
beneficiary: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
};
populateTransaction: {
asset(overrides?: CallOverrides): Promise<PopulatedTransaction>;
balanceOf(
arg0: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
checkpoint(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
checkpointedTotalAssets(
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
checkpointedTotalAssetsDuring(
week: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
deposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
depositSigned(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
beneficiary: PromiseOrValue<string>,
deadline: PromiseOrValue<BigNumberish>,
v: PromiseOrValue<BigNumberish>,
r: PromiseOrValue<BytesLike>,
s: PromiseOrValue<BytesLike>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
lastCheckpoint(overrides?: CallOverrides): Promise<PopulatedTransaction>;
name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
previewDeposit(
assets: PromiseOrValue<BigNumberish>,
_weeks: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
previewWithdraw(
owner: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
startWeek(overrides?: CallOverrides): Promise<PopulatedTransaction>;
symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
totalAssets(overrides?: CallOverrides): Promise<PopulatedTransaction>;
totalAssetsDuring(
arg0: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
withdraw(
beneficiary: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
};
}