@descent-protocol/sdk
Version:
A Typescript library for interacting with the Descent Protocol
621 lines (620 loc) • 32.1 kB
TypeScript
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common";
export declare namespace IVault {
type RateInfoStruct = {
rate: BigNumberish;
accumulatedRate: BigNumberish;
lastUpdateTime: BigNumberish;
};
type RateInfoStructOutput = [
rate: bigint,
accumulatedRate: bigint,
lastUpdateTime: bigint
] & {
rate: bigint;
accumulatedRate: bigint;
lastUpdateTime: bigint;
};
}
export interface VaultInterface extends Interface {
getFunction(nameOrSignature: "CURRENCY_TOKEN" | "baseRateInfo" | "burnCurrency" | "cancelOwnershipHandover" | "collateralMapping" | "completeOwnershipHandover" | "createCollateralType" | "debt" | "debtCeiling" | "deny" | "depositCollateral" | "feedModule" | "liquidate" | "mintCurrency" | "owner" | "ownershipHandoverExpiresAt" | "paidFees" | "pause" | "rateModule" | "recoverToken" | "rely" | "relyMapping" | "renounceOwnership" | "requestOwnershipHandover" | "stabilityModule" | "status" | "transferOwnership" | "unpause" | "updateBaseRate" | "updateCollateralData" | "updateDebtCeiling" | "updateFeedModule" | "updatePrice" | "updateRateModule" | "updateStabilityModule" | "vaultMapping" | "withdrawCollateral" | "withdrawFees"): FunctionFragment;
getEvent(nameOrSignatureOrTopic: "CollateralDeposited" | "CollateralTypeAdded" | "CollateralWithdrawn" | "CurrencyBurned" | "CurrencyMinted" | "FeesPaid" | "Liquidated" | "OwnershipHandoverCanceled" | "OwnershipHandoverRequested" | "OwnershipTransferred"): EventFragment;
encodeFunctionData(functionFragment: "CURRENCY_TOKEN", values?: undefined): string;
encodeFunctionData(functionFragment: "baseRateInfo", values?: undefined): string;
encodeFunctionData(functionFragment: "burnCurrency", values: [AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "cancelOwnershipHandover", values?: undefined): string;
encodeFunctionData(functionFragment: "collateralMapping", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "completeOwnershipHandover", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "createCollateralType", values: [
AddressLike,
BigNumberish,
BigNumberish,
BigNumberish,
BigNumberish,
BigNumberish
]): string;
encodeFunctionData(functionFragment: "debt", values?: undefined): string;
encodeFunctionData(functionFragment: "debtCeiling", values?: undefined): string;
encodeFunctionData(functionFragment: "deny", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "depositCollateral", values: [AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "feedModule", values?: undefined): string;
encodeFunctionData(functionFragment: "liquidate", values: [AddressLike, AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "mintCurrency", values: [AddressLike, AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "ownershipHandoverExpiresAt", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "paidFees", values?: undefined): string;
encodeFunctionData(functionFragment: "pause", values?: undefined): string;
encodeFunctionData(functionFragment: "rateModule", values?: undefined): string;
encodeFunctionData(functionFragment: "recoverToken", values: [AddressLike, AddressLike]): string;
encodeFunctionData(functionFragment: "rely", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "relyMapping", values: [AddressLike, AddressLike]): string;
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
encodeFunctionData(functionFragment: "requestOwnershipHandover", values?: undefined): string;
encodeFunctionData(functionFragment: "stabilityModule", values?: undefined): string;
encodeFunctionData(functionFragment: "status", values?: undefined): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "unpause", values?: undefined): string;
encodeFunctionData(functionFragment: "updateBaseRate", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "updateCollateralData", values: [AddressLike, BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "updateDebtCeiling", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "updateFeedModule", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "updatePrice", values: [AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "updateRateModule", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "updateStabilityModule", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "vaultMapping", values: [AddressLike, AddressLike]): string;
encodeFunctionData(functionFragment: "withdrawCollateral", values: [AddressLike, AddressLike, AddressLike, BigNumberish]): string;
encodeFunctionData(functionFragment: "withdrawFees", values?: undefined): string;
decodeFunctionResult(functionFragment: "CURRENCY_TOKEN", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "baseRateInfo", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "burnCurrency", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "cancelOwnershipHandover", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "collateralMapping", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "completeOwnershipHandover", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "createCollateralType", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "debt", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "debtCeiling", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deny", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "depositCollateral", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "feedModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "mintCurrency", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "ownershipHandoverExpiresAt", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "paidFees", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "rateModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "recoverToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "rely", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "relyMapping", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "requestOwnershipHandover", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "stabilityModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "status", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateBaseRate", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateCollateralData", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateDebtCeiling", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateFeedModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updatePrice", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateRateModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "updateStabilityModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "vaultMapping", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawCollateral", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "withdrawFees", data: BytesLike): Result;
}
export declare namespace CollateralDepositedEvent {
type InputTuple = [owner: AddressLike, amount: BigNumberish];
type OutputTuple = [owner: string, amount: bigint];
interface OutputObject {
owner: string;
amount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace CollateralTypeAddedEvent {
type InputTuple = [collateralAddress: AddressLike];
type OutputTuple = [collateralAddress: string];
interface OutputObject {
collateralAddress: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace CollateralWithdrawnEvent {
type InputTuple = [
owner: AddressLike,
to: AddressLike,
amount: BigNumberish
];
type OutputTuple = [owner: string, to: string, amount: bigint];
interface OutputObject {
owner: string;
to: string;
amount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace CurrencyBurnedEvent {
type InputTuple = [owner: AddressLike, amount: BigNumberish];
type OutputTuple = [owner: string, amount: bigint];
interface OutputObject {
owner: string;
amount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace CurrencyMintedEvent {
type InputTuple = [owner: AddressLike, amount: BigNumberish];
type OutputTuple = [owner: string, amount: bigint];
interface OutputObject {
owner: string;
amount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace FeesPaidEvent {
type InputTuple = [owner: AddressLike, amount: BigNumberish];
type OutputTuple = [owner: string, amount: bigint];
interface OutputObject {
owner: string;
amount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace LiquidatedEvent {
type InputTuple = [
owner: AddressLike,
liquidator: AddressLike,
currencyAmountPaid: BigNumberish,
collateralAmountCovered: BigNumberish
];
type OutputTuple = [
owner: string,
liquidator: string,
currencyAmountPaid: bigint,
collateralAmountCovered: bigint
];
interface OutputObject {
owner: string;
liquidator: string;
currencyAmountPaid: bigint;
collateralAmountCovered: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipHandoverCanceledEvent {
type InputTuple = [pendingOwner: AddressLike];
type OutputTuple = [pendingOwner: string];
interface OutputObject {
pendingOwner: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipHandoverRequestedEvent {
type InputTuple = [pendingOwner: AddressLike];
type OutputTuple = [pendingOwner: string];
interface OutputObject {
pendingOwner: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferredEvent {
type InputTuple = [oldOwner: AddressLike, newOwner: AddressLike];
type OutputTuple = [oldOwner: string, newOwner: string];
interface OutputObject {
oldOwner: string;
newOwner: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export interface Vault extends BaseContract {
connect(runner?: ContractRunner | null): Vault;
waitForDeployment(): Promise<this>;
interface: VaultInterface;
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
CURRENCY_TOKEN: TypedContractMethod<[], [string], "view">;
baseRateInfo: TypedContractMethod<[
], [
[
bigint,
bigint,
bigint
] & {
rate: bigint;
accumulatedRate: bigint;
lastUpdateTime: bigint;
}
], "view">;
burnCurrency: TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_amount: BigNumberish
], [
void
], "nonpayable">;
cancelOwnershipHandover: TypedContractMethod<[], [void], "payable">;
collateralMapping: TypedContractMethod<[
arg0: AddressLike
], [
[
bigint,
bigint,
bigint,
bigint,
IVault.RateInfoStructOutput,
bigint,
bigint,
bigint,
bigint
] & {
totalDepositedCollateral: bigint;
totalBorrowedAmount: bigint;
liquidationThreshold: bigint;
liquidationBonus: bigint;
rateInfo: IVault.RateInfoStructOutput;
price: bigint;
debtCeiling: bigint;
collateralFloorPerPosition: bigint;
additionalCollateralPrecision: bigint;
}
], "view">;
completeOwnershipHandover: TypedContractMethod<[
pendingOwner: AddressLike
], [
void
], "payable">;
createCollateralType: TypedContractMethod<[
_collateralToken: AddressLike,
_rate: BigNumberish,
_liquidationThreshold: BigNumberish,
_liquidationBonus: BigNumberish,
_debtCeiling: BigNumberish,
_collateralFloorPerPosition: BigNumberish
], [
void
], "nonpayable">;
debt: TypedContractMethod<[], [bigint], "view">;
debtCeiling: TypedContractMethod<[], [bigint], "view">;
deny: TypedContractMethod<[_reliedUpon: AddressLike], [void], "nonpayable">;
depositCollateral: TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_amount: BigNumberish
], [
void
], "nonpayable">;
feedModule: TypedContractMethod<[], [string], "view">;
liquidate: TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_to: AddressLike,
_currencyAmountToPay: BigNumberish
], [
void
], "nonpayable">;
mintCurrency: TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_to: AddressLike,
_amount: BigNumberish
], [
void
], "nonpayable">;
owner: TypedContractMethod<[], [string], "view">;
ownershipHandoverExpiresAt: TypedContractMethod<[
pendingOwner: AddressLike
], [
bigint
], "view">;
paidFees: TypedContractMethod<[], [bigint], "view">;
pause: TypedContractMethod<[], [void], "nonpayable">;
rateModule: TypedContractMethod<[], [string], "view">;
recoverToken: TypedContractMethod<[
_tokenAddress: AddressLike,
_to: AddressLike
], [
void
], "nonpayable">;
rely: TypedContractMethod<[_relyUpon: AddressLike], [void], "nonpayable">;
relyMapping: TypedContractMethod<[
arg0: AddressLike,
arg1: AddressLike
], [
boolean
], "view">;
renounceOwnership: TypedContractMethod<[], [void], "payable">;
requestOwnershipHandover: TypedContractMethod<[], [void], "payable">;
stabilityModule: TypedContractMethod<[], [string], "view">;
status: TypedContractMethod<[], [bigint], "view">;
transferOwnership: TypedContractMethod<[
newOwner: AddressLike
], [
void
], "payable">;
unpause: TypedContractMethod<[], [void], "nonpayable">;
updateBaseRate: TypedContractMethod<[
_baseRate: BigNumberish
], [
void
], "nonpayable">;
updateCollateralData: TypedContractMethod<[
_collateralToken: AddressLike,
_param: BigNumberish,
_data: BigNumberish
], [
void
], "nonpayable">;
updateDebtCeiling: TypedContractMethod<[
_debtCeiling: BigNumberish
], [
void
], "nonpayable">;
updateFeedModule: TypedContractMethod<[
_feedModule: AddressLike
], [
void
], "nonpayable">;
updatePrice: TypedContractMethod<[
_collateralAddress: AddressLike,
_price: BigNumberish
], [
void
], "nonpayable">;
updateRateModule: TypedContractMethod<[
_rateModule: AddressLike
], [
void
], "nonpayable">;
updateStabilityModule: TypedContractMethod<[
_stabilityModule: AddressLike
], [
void
], "nonpayable">;
vaultMapping: TypedContractMethod<[
arg0: AddressLike,
arg1: AddressLike
], [
[
bigint,
bigint,
bigint,
bigint
] & {
depositedCollateral: bigint;
borrowedAmount: bigint;
accruedFees: bigint;
lastTotalAccumulatedRate: bigint;
}
], "view">;
withdrawCollateral: TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_to: AddressLike,
_amount: BigNumberish
], [
void
], "nonpayable">;
withdrawFees: TypedContractMethod<[], [void], "nonpayable">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "CURRENCY_TOKEN"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "baseRateInfo"): TypedContractMethod<[
], [
[
bigint,
bigint,
bigint
] & {
rate: bigint;
accumulatedRate: bigint;
lastUpdateTime: bigint;
}
], "view">;
getFunction(nameOrSignature: "burnCurrency"): TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "cancelOwnershipHandover"): TypedContractMethod<[], [void], "payable">;
getFunction(nameOrSignature: "collateralMapping"): TypedContractMethod<[
arg0: AddressLike
], [
[
bigint,
bigint,
bigint,
bigint,
IVault.RateInfoStructOutput,
bigint,
bigint,
bigint,
bigint
] & {
totalDepositedCollateral: bigint;
totalBorrowedAmount: bigint;
liquidationThreshold: bigint;
liquidationBonus: bigint;
rateInfo: IVault.RateInfoStructOutput;
price: bigint;
debtCeiling: bigint;
collateralFloorPerPosition: bigint;
additionalCollateralPrecision: bigint;
}
], "view">;
getFunction(nameOrSignature: "completeOwnershipHandover"): TypedContractMethod<[pendingOwner: AddressLike], [void], "payable">;
getFunction(nameOrSignature: "createCollateralType"): TypedContractMethod<[
_collateralToken: AddressLike,
_rate: BigNumberish,
_liquidationThreshold: BigNumberish,
_liquidationBonus: BigNumberish,
_debtCeiling: BigNumberish,
_collateralFloorPerPosition: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "debt"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "debtCeiling"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "deny"): TypedContractMethod<[_reliedUpon: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "depositCollateral"): TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "feedModule"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "liquidate"): TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_to: AddressLike,
_currencyAmountToPay: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "mintCurrency"): TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_to: AddressLike,
_amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "ownershipHandoverExpiresAt"): TypedContractMethod<[pendingOwner: AddressLike], [bigint], "view">;
getFunction(nameOrSignature: "paidFees"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "pause"): TypedContractMethod<[], [void], "nonpayable">;
getFunction(nameOrSignature: "rateModule"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "recoverToken"): TypedContractMethod<[
_tokenAddress: AddressLike,
_to: AddressLike
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "rely"): TypedContractMethod<[_relyUpon: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "relyMapping"): TypedContractMethod<[
arg0: AddressLike,
arg1: AddressLike
], [
boolean
], "view">;
getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "payable">;
getFunction(nameOrSignature: "requestOwnershipHandover"): TypedContractMethod<[], [void], "payable">;
getFunction(nameOrSignature: "stabilityModule"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "status"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "payable">;
getFunction(nameOrSignature: "unpause"): TypedContractMethod<[], [void], "nonpayable">;
getFunction(nameOrSignature: "updateBaseRate"): TypedContractMethod<[_baseRate: BigNumberish], [void], "nonpayable">;
getFunction(nameOrSignature: "updateCollateralData"): TypedContractMethod<[
_collateralToken: AddressLike,
_param: BigNumberish,
_data: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "updateDebtCeiling"): TypedContractMethod<[_debtCeiling: BigNumberish], [void], "nonpayable">;
getFunction(nameOrSignature: "updateFeedModule"): TypedContractMethod<[_feedModule: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "updatePrice"): TypedContractMethod<[
_collateralAddress: AddressLike,
_price: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "updateRateModule"): TypedContractMethod<[_rateModule: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "updateStabilityModule"): TypedContractMethod<[_stabilityModule: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "vaultMapping"): TypedContractMethod<[
arg0: AddressLike,
arg1: AddressLike
], [
[
bigint,
bigint,
bigint,
bigint
] & {
depositedCollateral: bigint;
borrowedAmount: bigint;
accruedFees: bigint;
lastTotalAccumulatedRate: bigint;
}
], "view">;
getFunction(nameOrSignature: "withdrawCollateral"): TypedContractMethod<[
_collateralToken: AddressLike,
_owner: AddressLike,
_to: AddressLike,
_amount: BigNumberish
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "withdrawFees"): TypedContractMethod<[], [void], "nonpayable">;
getEvent(key: "CollateralDeposited"): TypedContractEvent<CollateralDepositedEvent.InputTuple, CollateralDepositedEvent.OutputTuple, CollateralDepositedEvent.OutputObject>;
getEvent(key: "CollateralTypeAdded"): TypedContractEvent<CollateralTypeAddedEvent.InputTuple, CollateralTypeAddedEvent.OutputTuple, CollateralTypeAddedEvent.OutputObject>;
getEvent(key: "CollateralWithdrawn"): TypedContractEvent<CollateralWithdrawnEvent.InputTuple, CollateralWithdrawnEvent.OutputTuple, CollateralWithdrawnEvent.OutputObject>;
getEvent(key: "CurrencyBurned"): TypedContractEvent<CurrencyBurnedEvent.InputTuple, CurrencyBurnedEvent.OutputTuple, CurrencyBurnedEvent.OutputObject>;
getEvent(key: "CurrencyMinted"): TypedContractEvent<CurrencyMintedEvent.InputTuple, CurrencyMintedEvent.OutputTuple, CurrencyMintedEvent.OutputObject>;
getEvent(key: "FeesPaid"): TypedContractEvent<FeesPaidEvent.InputTuple, FeesPaidEvent.OutputTuple, FeesPaidEvent.OutputObject>;
getEvent(key: "Liquidated"): TypedContractEvent<LiquidatedEvent.InputTuple, LiquidatedEvent.OutputTuple, LiquidatedEvent.OutputObject>;
getEvent(key: "OwnershipHandoverCanceled"): TypedContractEvent<OwnershipHandoverCanceledEvent.InputTuple, OwnershipHandoverCanceledEvent.OutputTuple, OwnershipHandoverCanceledEvent.OutputObject>;
getEvent(key: "OwnershipHandoverRequested"): TypedContractEvent<OwnershipHandoverRequestedEvent.InputTuple, OwnershipHandoverRequestedEvent.OutputTuple, OwnershipHandoverRequestedEvent.OutputObject>;
getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
filters: {
"CollateralDeposited(address,uint256)": TypedContractEvent<CollateralDepositedEvent.InputTuple, CollateralDepositedEvent.OutputTuple, CollateralDepositedEvent.OutputObject>;
CollateralDeposited: TypedContractEvent<CollateralDepositedEvent.InputTuple, CollateralDepositedEvent.OutputTuple, CollateralDepositedEvent.OutputObject>;
"CollateralTypeAdded(address)": TypedContractEvent<CollateralTypeAddedEvent.InputTuple, CollateralTypeAddedEvent.OutputTuple, CollateralTypeAddedEvent.OutputObject>;
CollateralTypeAdded: TypedContractEvent<CollateralTypeAddedEvent.InputTuple, CollateralTypeAddedEvent.OutputTuple, CollateralTypeAddedEvent.OutputObject>;
"CollateralWithdrawn(address,address,uint256)": TypedContractEvent<CollateralWithdrawnEvent.InputTuple, CollateralWithdrawnEvent.OutputTuple, CollateralWithdrawnEvent.OutputObject>;
CollateralWithdrawn: TypedContractEvent<CollateralWithdrawnEvent.InputTuple, CollateralWithdrawnEvent.OutputTuple, CollateralWithdrawnEvent.OutputObject>;
"CurrencyBurned(address,uint256)": TypedContractEvent<CurrencyBurnedEvent.InputTuple, CurrencyBurnedEvent.OutputTuple, CurrencyBurnedEvent.OutputObject>;
CurrencyBurned: TypedContractEvent<CurrencyBurnedEvent.InputTuple, CurrencyBurnedEvent.OutputTuple, CurrencyBurnedEvent.OutputObject>;
"CurrencyMinted(address,uint256)": TypedContractEvent<CurrencyMintedEvent.InputTuple, CurrencyMintedEvent.OutputTuple, CurrencyMintedEvent.OutputObject>;
CurrencyMinted: TypedContractEvent<CurrencyMintedEvent.InputTuple, CurrencyMintedEvent.OutputTuple, CurrencyMintedEvent.OutputObject>;
"FeesPaid(address,uint256)": TypedContractEvent<FeesPaidEvent.InputTuple, FeesPaidEvent.OutputTuple, FeesPaidEvent.OutputObject>;
FeesPaid: TypedContractEvent<FeesPaidEvent.InputTuple, FeesPaidEvent.OutputTuple, FeesPaidEvent.OutputObject>;
"Liquidated(address,address,uint256,uint256)": TypedContractEvent<LiquidatedEvent.InputTuple, LiquidatedEvent.OutputTuple, LiquidatedEvent.OutputObject>;
Liquidated: TypedContractEvent<LiquidatedEvent.InputTuple, LiquidatedEvent.OutputTuple, LiquidatedEvent.OutputObject>;
"OwnershipHandoverCanceled(address)": TypedContractEvent<OwnershipHandoverCanceledEvent.InputTuple, OwnershipHandoverCanceledEvent.OutputTuple, OwnershipHandoverCanceledEvent.OutputObject>;
OwnershipHandoverCanceled: TypedContractEvent<OwnershipHandoverCanceledEvent.InputTuple, OwnershipHandoverCanceledEvent.OutputTuple, OwnershipHandoverCanceledEvent.OutputObject>;
"OwnershipHandoverRequested(address)": TypedContractEvent<OwnershipHandoverRequestedEvent.InputTuple, OwnershipHandoverRequestedEvent.OutputTuple, OwnershipHandoverRequestedEvent.OutputObject>;
OwnershipHandoverRequested: TypedContractEvent<OwnershipHandoverRequestedEvent.InputTuple, OwnershipHandoverRequestedEvent.OutputTuple, OwnershipHandoverRequestedEvent.OutputObject>;
"OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
};
}