UNPKG

@descent-protocol/sdk

Version:

A Typescript library for interacting with the Descent Protocol

621 lines (620 loc) 32.1 kB
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>; }; }