@hifi/amm
Version:
Dedicated AMM for market-making hTokens
554 lines • 34.3 kB
TypeScript
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../common";
import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
export interface HifiPoolInterface extends utils.Interface {
functions: {
"DOMAIN_SEPARATOR()": FunctionFragment;
"PERMIT_TYPEHASH()": FunctionFragment;
"allowance(address,address)": FunctionFragment;
"approve(address,uint256)": FunctionFragment;
"balanceOf(address)": FunctionFragment;
"burn(uint256)": FunctionFragment;
"buyHToken(address,uint256)": FunctionFragment;
"buyUnderlying(address,uint256)": FunctionFragment;
"decimals()": FunctionFragment;
"decreaseAllowance(address,uint256)": FunctionFragment;
"getBurnOutputs(uint256)": FunctionFragment;
"getMintInputs(uint256)": FunctionFragment;
"getNormalizedUnderlyingReserves()": FunctionFragment;
"getQuoteForBuyingHToken(uint256)": FunctionFragment;
"getQuoteForBuyingUnderlying(uint256)": FunctionFragment;
"getQuoteForSellingHToken(uint256)": FunctionFragment;
"getQuoteForSellingUnderlying(uint256)": FunctionFragment;
"getVirtualHTokenReserves()": FunctionFragment;
"hToken()": FunctionFragment;
"increaseAllowance(address,uint256)": FunctionFragment;
"maturity()": FunctionFragment;
"mint(uint256)": FunctionFragment;
"name()": FunctionFragment;
"nonces(address)": FunctionFragment;
"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment;
"sellHToken(address,uint256)": FunctionFragment;
"sellUnderlying(address,uint256)": FunctionFragment;
"symbol()": FunctionFragment;
"totalSupply()": FunctionFragment;
"transfer(address,uint256)": FunctionFragment;
"transferFrom(address,address,uint256)": FunctionFragment;
"underlying()": FunctionFragment;
"underlyingPrecisionScalar()": FunctionFragment;
"version()": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "DOMAIN_SEPARATOR" | "PERMIT_TYPEHASH" | "allowance" | "approve" | "balanceOf" | "burn" | "buyHToken" | "buyUnderlying" | "decimals" | "decreaseAllowance" | "getBurnOutputs" | "getMintInputs" | "getNormalizedUnderlyingReserves" | "getQuoteForBuyingHToken" | "getQuoteForBuyingUnderlying" | "getQuoteForSellingHToken" | "getQuoteForSellingUnderlying" | "getVirtualHTokenReserves" | "hToken" | "increaseAllowance" | "maturity" | "mint" | "name" | "nonces" | "permit" | "sellHToken" | "sellUnderlying" | "symbol" | "totalSupply" | "transfer" | "transferFrom" | "underlying" | "underlyingPrecisionScalar" | "version"): FunctionFragment;
encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string;
encodeFunctionData(functionFragment: "PERMIT_TYPEHASH", values?: undefined): string;
encodeFunctionData(functionFragment: "allowance", values: [string, string]): string;
encodeFunctionData(functionFragment: "approve", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "balanceOf", values: [string]): string;
encodeFunctionData(functionFragment: "burn", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "buyHToken", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "buyUnderlying", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "decimals", values?: undefined): string;
encodeFunctionData(functionFragment: "decreaseAllowance", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "getBurnOutputs", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getMintInputs", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getNormalizedUnderlyingReserves", values?: undefined): string;
encodeFunctionData(functionFragment: "getQuoteForBuyingHToken", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getQuoteForBuyingUnderlying", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getQuoteForSellingHToken", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getQuoteForSellingUnderlying", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getVirtualHTokenReserves", values?: undefined): string;
encodeFunctionData(functionFragment: "hToken", values?: undefined): string;
encodeFunctionData(functionFragment: "increaseAllowance", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "maturity", values?: undefined): string;
encodeFunctionData(functionFragment: "mint", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "name", values?: undefined): string;
encodeFunctionData(functionFragment: "nonces", values: [string]): string;
encodeFunctionData(functionFragment: "permit", values: [
string,
string,
BigNumberish,
BigNumberish,
BigNumberish,
BytesLike,
BytesLike
]): string;
encodeFunctionData(functionFragment: "sellHToken", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "sellUnderlying", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
encodeFunctionData(functionFragment: "transfer", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "transferFrom", values: [string, string, BigNumberish]): string;
encodeFunctionData(functionFragment: "underlying", values?: undefined): string;
encodeFunctionData(functionFragment: "underlyingPrecisionScalar", values?: undefined): string;
encodeFunctionData(functionFragment: "version", values?: undefined): string;
decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "PERMIT_TYPEHASH", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "buyHToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "buyUnderlying", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getBurnOutputs", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getMintInputs", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getNormalizedUnderlyingReserves", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getQuoteForBuyingHToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getQuoteForBuyingUnderlying", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getQuoteForSellingHToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getQuoteForSellingUnderlying", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getVirtualHTokenReserves", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "maturity", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "sellHToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "sellUnderlying", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "underlying", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "underlyingPrecisionScalar", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "version", data: BytesLike): Result;
events: {
"AddLiquidity(uint256,address,uint256,uint256,uint256)": EventFragment;
"Approval(address,address,uint256)": EventFragment;
"RemoveLiquidity(uint256,address,uint256,uint256,uint256)": EventFragment;
"Trade(uint256,address,address,int256,int256)": EventFragment;
"Transfer(address,address,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "AddLiquidity"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RemoveLiquidity"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Trade"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment;
}
export interface AddLiquidityEventObject {
maturity: BigNumber;
provider: string;
underlyingAmount: BigNumber;
hTokenAmount: BigNumber;
poolTokenAmount: BigNumber;
}
export declare type AddLiquidityEvent = TypedEvent<[
BigNumber,
string,
BigNumber,
BigNumber,
BigNumber
], AddLiquidityEventObject>;
export declare type AddLiquidityEventFilter = TypedEventFilter<AddLiquidityEvent>;
export interface ApprovalEventObject {
owner: string;
spender: string;
amount: BigNumber;
}
export declare type ApprovalEvent = TypedEvent<[
string,
string,
BigNumber
], ApprovalEventObject>;
export declare type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
export interface RemoveLiquidityEventObject {
maturity: BigNumber;
provider: string;
underlyingAmount: BigNumber;
hTokenAmount: BigNumber;
poolTokenAmount: BigNumber;
}
export declare type RemoveLiquidityEvent = TypedEvent<[
BigNumber,
string,
BigNumber,
BigNumber,
BigNumber
], RemoveLiquidityEventObject>;
export declare type RemoveLiquidityEventFilter = TypedEventFilter<RemoveLiquidityEvent>;
export interface TradeEventObject {
maturity: BigNumber;
from: string;
to: string;
underlyingAmount: BigNumber;
hTokenAmount: BigNumber;
}
export declare type TradeEvent = TypedEvent<[
BigNumber,
string,
string,
BigNumber,
BigNumber
], TradeEventObject>;
export declare type TradeEventFilter = TypedEventFilter<TradeEvent>;
export interface TransferEventObject {
from: string;
to: string;
amount: BigNumber;
}
export declare type TransferEvent = TypedEvent<[
string,
string,
BigNumber
], TransferEventObject>;
export declare type TransferEventFilter = TypedEventFilter<TransferEvent>;
export interface HifiPool extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: HifiPoolInterface;
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: {
DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>;
PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>;
allowance(owner: string, spender: string, overrides?: CallOverrides): Promise<[BigNumber]>;
approve(spender: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
balanceOf(account: string, overrides?: CallOverrides): Promise<[BigNumber]>;
burn(poolTokensBurned: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
buyHToken(to: string, hTokenOut: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
buyUnderlying(to: string, underlyingOut: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
decimals(overrides?: CallOverrides): Promise<[number]>;
decreaseAllowance(spender: string, subtractedAmount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
getBurnOutputs(poolTokensBurned: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber
] & {
underlyingReturned: BigNumber;
hTokenReturned: BigNumber;
}>;
getMintInputs(underlyingOffered: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber
] & {
hTokenRequired: BigNumber;
poolTokensMinted: BigNumber;
}>;
getNormalizedUnderlyingReserves(overrides?: CallOverrides): Promise<[BigNumber] & {
normalizedUnderlyingReserves: BigNumber;
}>;
getQuoteForBuyingHToken(hTokenOut: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & {
underlyingIn: BigNumber;
}>;
getQuoteForBuyingUnderlying(underlyingOut: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & {
hTokenIn: BigNumber;
}>;
getQuoteForSellingHToken(hTokenIn: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & {
underlyingOut: BigNumber;
}>;
getQuoteForSellingUnderlying(underlyingIn: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & {
hTokenOut: BigNumber;
}>;
getVirtualHTokenReserves(overrides?: CallOverrides): Promise<[BigNumber] & {
virtualHTokenReserves: BigNumber;
}>;
hToken(overrides?: CallOverrides): Promise<[string]>;
increaseAllowance(spender: string, addedAmount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
maturity(overrides?: CallOverrides): Promise<[BigNumber]>;
mint(underlyingOffered: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
name(overrides?: CallOverrides): Promise<[string]>;
nonces(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>;
permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
sellHToken(to: string, hTokenIn: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
sellUnderlying(to: string, underlyingIn: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
symbol(overrides?: CallOverrides): Promise<[string]>;
totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
transfer(recipient: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
transferFrom(sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
underlying(overrides?: CallOverrides): Promise<[string]>;
underlyingPrecisionScalar(overrides?: CallOverrides): Promise<[BigNumber]>;
version(overrides?: CallOverrides): Promise<[string]>;
};
DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>;
PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>;
allowance(owner: string, spender: string, overrides?: CallOverrides): Promise<BigNumber>;
approve(spender: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
burn(poolTokensBurned: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
buyHToken(to: string, hTokenOut: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
buyUnderlying(to: string, underlyingOut: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
decimals(overrides?: CallOverrides): Promise<number>;
decreaseAllowance(spender: string, subtractedAmount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
getBurnOutputs(poolTokensBurned: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber
] & {
underlyingReturned: BigNumber;
hTokenReturned: BigNumber;
}>;
getMintInputs(underlyingOffered: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber
] & {
hTokenRequired: BigNumber;
poolTokensMinted: BigNumber;
}>;
getNormalizedUnderlyingReserves(overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForBuyingHToken(hTokenOut: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForBuyingUnderlying(underlyingOut: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForSellingHToken(hTokenIn: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForSellingUnderlying(underlyingIn: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getVirtualHTokenReserves(overrides?: CallOverrides): Promise<BigNumber>;
hToken(overrides?: CallOverrides): Promise<string>;
increaseAllowance(spender: string, addedAmount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
maturity(overrides?: CallOverrides): Promise<BigNumber>;
mint(underlyingOffered: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
name(overrides?: CallOverrides): Promise<string>;
nonces(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
sellHToken(to: string, hTokenIn: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
sellUnderlying(to: string, underlyingIn: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
symbol(overrides?: CallOverrides): Promise<string>;
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
transfer(recipient: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
transferFrom(sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<ContractTransaction>;
underlying(overrides?: CallOverrides): Promise<string>;
underlyingPrecisionScalar(overrides?: CallOverrides): Promise<BigNumber>;
version(overrides?: CallOverrides): Promise<string>;
callStatic: {
DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>;
PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<string>;
allowance(owner: string, spender: string, overrides?: CallOverrides): Promise<BigNumber>;
approve(spender: string, amount: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
burn(poolTokensBurned: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber
] & {
underlyingReturned: BigNumber;
hTokenReturned: BigNumber;
}>;
buyHToken(to: string, hTokenOut: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
buyUnderlying(to: string, underlyingOut: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
decimals(overrides?: CallOverrides): Promise<number>;
decreaseAllowance(spender: string, subtractedAmount: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
getBurnOutputs(poolTokensBurned: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber
] & {
underlyingReturned: BigNumber;
hTokenReturned: BigNumber;
}>;
getMintInputs(underlyingOffered: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
BigNumber
] & {
hTokenRequired: BigNumber;
poolTokensMinted: BigNumber;
}>;
getNormalizedUnderlyingReserves(overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForBuyingHToken(hTokenOut: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForBuyingUnderlying(underlyingOut: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForSellingHToken(hTokenIn: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForSellingUnderlying(underlyingIn: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getVirtualHTokenReserves(overrides?: CallOverrides): Promise<BigNumber>;
hToken(overrides?: CallOverrides): Promise<string>;
increaseAllowance(spender: string, addedAmount: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
maturity(overrides?: CallOverrides): Promise<BigNumber>;
mint(underlyingOffered: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
name(overrides?: CallOverrides): Promise<string>;
nonces(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides): Promise<void>;
sellHToken(to: string, hTokenIn: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
sellUnderlying(to: string, underlyingIn: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
symbol(overrides?: CallOverrides): Promise<string>;
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
transfer(recipient: string, amount: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
transferFrom(sender: string, recipient: string, amount: BigNumberish, overrides?: CallOverrides): Promise<boolean>;
underlying(overrides?: CallOverrides): Promise<string>;
underlyingPrecisionScalar(overrides?: CallOverrides): Promise<BigNumber>;
version(overrides?: CallOverrides): Promise<string>;
};
filters: {
"AddLiquidity(uint256,address,uint256,uint256,uint256)"(maturity?: null, provider?: string | null, underlyingAmount?: null, hTokenAmount?: null, poolTokenAmount?: null): AddLiquidityEventFilter;
AddLiquidity(maturity?: null, provider?: string | null, underlyingAmount?: null, hTokenAmount?: null, poolTokenAmount?: null): AddLiquidityEventFilter;
"Approval(address,address,uint256)"(owner?: string | null, spender?: string | null, amount?: null): ApprovalEventFilter;
Approval(owner?: string | null, spender?: string | null, amount?: null): ApprovalEventFilter;
"RemoveLiquidity(uint256,address,uint256,uint256,uint256)"(maturity?: null, provider?: string | null, underlyingAmount?: null, hTokenAmount?: null, poolTokenAmount?: null): RemoveLiquidityEventFilter;
RemoveLiquidity(maturity?: null, provider?: string | null, underlyingAmount?: null, hTokenAmount?: null, poolTokenAmount?: null): RemoveLiquidityEventFilter;
"Trade(uint256,address,address,int256,int256)"(maturity?: null, from?: string | null, to?: string | null, underlyingAmount?: null, hTokenAmount?: null): TradeEventFilter;
Trade(maturity?: null, from?: string | null, to?: string | null, underlyingAmount?: null, hTokenAmount?: null): TradeEventFilter;
"Transfer(address,address,uint256)"(from?: string | null, to?: string | null, amount?: null): TransferEventFilter;
Transfer(from?: string | null, to?: string | null, amount?: null): TransferEventFilter;
};
estimateGas: {
DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<BigNumber>;
PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<BigNumber>;
allowance(owner: string, spender: string, overrides?: CallOverrides): Promise<BigNumber>;
approve(spender: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
balanceOf(account: string, overrides?: CallOverrides): Promise<BigNumber>;
burn(poolTokensBurned: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
buyHToken(to: string, hTokenOut: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
buyUnderlying(to: string, underlyingOut: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
decimals(overrides?: CallOverrides): Promise<BigNumber>;
decreaseAllowance(spender: string, subtractedAmount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
getBurnOutputs(poolTokensBurned: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getMintInputs(underlyingOffered: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getNormalizedUnderlyingReserves(overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForBuyingHToken(hTokenOut: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForBuyingUnderlying(underlyingOut: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForSellingHToken(hTokenIn: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getQuoteForSellingUnderlying(underlyingIn: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getVirtualHTokenReserves(overrides?: CallOverrides): Promise<BigNumber>;
hToken(overrides?: CallOverrides): Promise<BigNumber>;
increaseAllowance(spender: string, addedAmount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
maturity(overrides?: CallOverrides): Promise<BigNumber>;
mint(underlyingOffered: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
name(overrides?: CallOverrides): Promise<BigNumber>;
nonces(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
sellHToken(to: string, hTokenIn: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
sellUnderlying(to: string, underlyingIn: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
symbol(overrides?: CallOverrides): Promise<BigNumber>;
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
transfer(recipient: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
transferFrom(sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<BigNumber>;
underlying(overrides?: CallOverrides): Promise<BigNumber>;
underlyingPrecisionScalar(overrides?: CallOverrides): Promise<BigNumber>;
version(overrides?: CallOverrides): Promise<BigNumber>;
};
populateTransaction: {
DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
allowance(owner: string, spender: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
approve(spender: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
balanceOf(account: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
burn(poolTokensBurned: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
buyHToken(to: string, hTokenOut: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
buyUnderlying(to: string, underlyingOut: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
decreaseAllowance(spender: string, subtractedAmount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
getBurnOutputs(poolTokensBurned: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getMintInputs(underlyingOffered: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getNormalizedUnderlyingReserves(overrides?: CallOverrides): Promise<PopulatedTransaction>;
getQuoteForBuyingHToken(hTokenOut: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getQuoteForBuyingUnderlying(underlyingOut: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getQuoteForSellingHToken(hTokenIn: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getQuoteForSellingUnderlying(underlyingIn: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getVirtualHTokenReserves(overrides?: CallOverrides): Promise<PopulatedTransaction>;
hToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
increaseAllowance(spender: string, addedAmount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
maturity(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mint(underlyingOffered: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
nonces(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
sellHToken(to: string, hTokenIn: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
sellUnderlying(to: string, underlyingIn: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
transfer(recipient: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
transferFrom(sender: string, recipient: string, amount: BigNumberish, overrides?: Overrides & {
from?: string | Promise<string>;
}): Promise<PopulatedTransaction>;
underlying(overrides?: CallOverrides): Promise<PopulatedTransaction>;
underlyingPrecisionScalar(overrides?: CallOverrides): Promise<PopulatedTransaction>;
version(overrides?: CallOverrides): Promise<PopulatedTransaction>;
};
}
//# sourceMappingURL=HifiPool.d.ts.map