import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 } from "./common"; export interface PoolInterface extends utils.Interface { functions: { "DEFAULT_ADMIN_ROLE()": FunctionFragment; "addCollateralEarnedAmount(uint256,address)": FunctionFragment; "assets()": FunctionFragment; "collectInterestAndPrincipal(address,uint256,uint256)": FunctionFragment; "compoundBalance()": FunctionFragment; "config()": FunctionFragment; "deposit(uint256)": FunctionFragment; "distributeLosses(address,int256)": FunctionFragment; "drawdown(address,uint256)": FunctionFragment; "getRoleAdmin(bytes32)": FunctionFragment; "getUSDCAmountFromShares(uint256)": FunctionFragment; "grantRole(bytes32,address)": FunctionFragment; "hasRole(bytes32,address)": FunctionFragment; "initialize(address,address)": FunctionFragment; "pausePool()": FunctionFragment; "paused()": FunctionFragment; "proxiableUUID()": FunctionFragment; "renounceRole(bytes32,address)": FunctionFragment; "revokeRole(bytes32,address)": FunctionFragment; "sharePrice()": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "sweepFromCompound()": FunctionFragment; "sweepToCompound()": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "updatePlutusConfig()": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; "withdraw(uint256)": FunctionFragment; "withdrawInToken(uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "DEFAULT_ADMIN_ROLE" | "addCollateralEarnedAmount" | "assets" | "collectInterestAndPrincipal" | "compoundBalance" | "config" | "deposit" | "distributeLosses" | "drawdown" | "getRoleAdmin" | "getUSDCAmountFromShares" | "grantRole" | "hasRole" | "initialize" | "pausePool" | "paused" | "proxiableUUID" | "renounceRole" | "revokeRole" | "sharePrice" | "supportsInterface" | "sweepFromCompound" | "sweepToCompound" | "transferFrom" | "updatePlutusConfig" | "upgradeTo" | "upgradeToAndCall" | "withdraw" | "withdrawInToken"): FunctionFragment; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "addCollateralEarnedAmount", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "assets", values?: undefined): string; encodeFunctionData(functionFragment: "collectInterestAndPrincipal", values: [string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "compoundBalance", values?: undefined): string; encodeFunctionData(functionFragment: "config", values?: undefined): string; encodeFunctionData(functionFragment: "deposit", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "distributeLosses", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "drawdown", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [BytesLike]): string; encodeFunctionData(functionFragment: "getUSDCAmountFromShares", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "grantRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "hasRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "initialize", values: [string, string]): string; encodeFunctionData(functionFragment: "pausePool", values?: undefined): string; encodeFunctionData(functionFragment: "paused", values?: undefined): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "renounceRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "revokeRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "sharePrice", values?: undefined): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "sweepFromCompound", values?: undefined): string; encodeFunctionData(functionFragment: "sweepToCompound", values?: undefined): string; encodeFunctionData(functionFragment: "transferFrom", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "updatePlutusConfig", values?: undefined): string; encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "withdraw", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "withdrawInToken", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addCollateralEarnedAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "assets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collectInterestAndPrincipal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "compoundBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "config", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "distributeLosses", data: BytesLike): Result; decodeFunctionResult(functionFragment: "drawdown", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUSDCAmountFromShares", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pausePool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sharePrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sweepFromCompound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sweepToCompound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePlutusConfig", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawInToken", data: BytesLike): Result; events: { "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "DepositMade(address,uint256,uint256)": EventFragment; "Initialized(uint8)": EventFragment; "InterestCollected(address,uint256,uint256)": EventFragment; "Paused(address)": EventFragment; "PrincipalCollected(address,uint256)": EventFragment; "PrincipalWrittendown(address,int256)": EventFragment; "RefundedFromCollateral(uint256,address,uint256)": EventFragment; "ReserveFundsCollected(address,uint256)": EventFragment; "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; "RoleGranted(bytes32,address,address)": EventFragment; "RoleRevoked(bytes32,address,address)": EventFragment; "TransferMade(address,address,uint256)": EventFragment; "Unpaused(address)": EventFragment; "Upgraded(address)": EventFragment; "WithdrawalMade(address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "DepositMade"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "InterestCollected"): EventFragment; getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment; getEvent(nameOrSignatureOrTopic: "PrincipalCollected"): EventFragment; getEvent(nameOrSignatureOrTopic: "PrincipalWrittendown"): EventFragment; getEvent(nameOrSignatureOrTopic: "RefundedFromCollateral"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReserveFundsCollected"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransferMade"): EventFragment; getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "WithdrawalMade"): EventFragment; } export interface AdminChangedEventObject { previousAdmin: string; newAdmin: string; } export type AdminChangedEvent = TypedEvent<[ string, string ], AdminChangedEventObject>; export type AdminChangedEventFilter = TypedEventFilter; export interface BeaconUpgradedEventObject { beacon: string; } export type BeaconUpgradedEvent = TypedEvent<[ string ], BeaconUpgradedEventObject>; export type BeaconUpgradedEventFilter = TypedEventFilter; export interface DepositMadeEventObject { capitalProvider: string; amount: BigNumber; shares: BigNumber; } export type DepositMadeEvent = TypedEvent<[ string, BigNumber, BigNumber ], DepositMadeEventObject>; export type DepositMadeEventFilter = TypedEventFilter; export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface InterestCollectedEventObject { payer: string; poolAmount: BigNumber; reserveAmount: BigNumber; } export type InterestCollectedEvent = TypedEvent<[ string, BigNumber, BigNumber ], InterestCollectedEventObject>; export type InterestCollectedEventFilter = TypedEventFilter; export interface PausedEventObject { account: string; } export type PausedEvent = TypedEvent<[string], PausedEventObject>; export type PausedEventFilter = TypedEventFilter; export interface PrincipalCollectedEventObject { payer: string; amount: BigNumber; } export type PrincipalCollectedEvent = TypedEvent<[ string, BigNumber ], PrincipalCollectedEventObject>; export type PrincipalCollectedEventFilter = TypedEventFilter; export interface PrincipalWrittendownEventObject { creditline: string; amount: BigNumber; } export type PrincipalWrittendownEvent = TypedEvent<[ string, BigNumber ], PrincipalWrittendownEventObject>; export type PrincipalWrittendownEventFilter = TypedEventFilter; export interface RefundedFromCollateralEventObject { sharePrice: BigNumber; creditline: string; totalRefundedAmount: BigNumber; } export type RefundedFromCollateralEvent = TypedEvent<[ BigNumber, string, BigNumber ], RefundedFromCollateralEventObject>; export type RefundedFromCollateralEventFilter = TypedEventFilter; export interface ReserveFundsCollectedEventObject { user: string; amount: BigNumber; } export type ReserveFundsCollectedEvent = TypedEvent<[ string, BigNumber ], ReserveFundsCollectedEventObject>; export type ReserveFundsCollectedEventFilter = TypedEventFilter; export interface RoleAdminChangedEventObject { role: string; previousAdminRole: string; newAdminRole: string; } export type RoleAdminChangedEvent = TypedEvent<[ string, string, string ], RoleAdminChangedEventObject>; export type RoleAdminChangedEventFilter = TypedEventFilter; export interface RoleGrantedEventObject { role: string; account: string; sender: string; } export type RoleGrantedEvent = TypedEvent<[ string, string, string ], RoleGrantedEventObject>; export type RoleGrantedEventFilter = TypedEventFilter; export interface RoleRevokedEventObject { role: string; account: string; sender: string; } export type RoleRevokedEvent = TypedEvent<[ string, string, string ], RoleRevokedEventObject>; export type RoleRevokedEventFilter = TypedEventFilter; export interface TransferMadeEventObject { from: string; to: string; amount: BigNumber; } export type TransferMadeEvent = TypedEvent<[ string, string, BigNumber ], TransferMadeEventObject>; export type TransferMadeEventFilter = TypedEventFilter; export interface UnpausedEventObject { account: string; } export type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>; export type UnpausedEventFilter = TypedEventFilter; export interface UpgradedEventObject { implementation: string; } export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; export type UpgradedEventFilter = TypedEventFilter; export interface WithdrawalMadeEventObject { capitalProvider: string; userAmount: BigNumber; reserveAmount: BigNumber; } export type WithdrawalMadeEvent = TypedEvent<[ string, BigNumber, BigNumber ], WithdrawalMadeEventObject>; export type WithdrawalMadeEventFilter = TypedEventFilter; export interface Pool extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: PoolInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; addCollateralEarnedAmount(transferredAmount: BigNumberish, creditlineAddress: string, overrides?: Overrides & { from?: string; }): Promise; assets(overrides?: CallOverrides): Promise<[BigNumber]>; collectInterestAndPrincipal(from: string, interest: BigNumberish, principal: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; compoundBalance(overrides?: CallOverrides): Promise<[BigNumber]>; config(overrides?: CallOverrides): Promise<[string]>; deposit(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; distributeLosses(creditlineAddress: string, writedownDelta: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; drawdown(to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>; getUSDCAmountFromShares(tokenAmount: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<[boolean]>; initialize(owner: string, _config: string, overrides?: Overrides & { from?: string; }): Promise; pausePool(overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise<[boolean]>; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; sharePrice(overrides?: CallOverrides): Promise<[BigNumber]>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; sweepFromCompound(overrides?: Overrides & { from?: string; }): Promise; sweepToCompound(overrides?: Overrides & { from?: string; }): Promise; transferFrom(from: string, to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updatePlutusConfig(overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; withdraw(usdcAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawInToken(tokenAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; addCollateralEarnedAmount(transferredAmount: BigNumberish, creditlineAddress: string, overrides?: Overrides & { from?: string; }): Promise; assets(overrides?: CallOverrides): Promise; collectInterestAndPrincipal(from: string, interest: BigNumberish, principal: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; compoundBalance(overrides?: CallOverrides): Promise; config(overrides?: CallOverrides): Promise; deposit(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; distributeLosses(creditlineAddress: string, writedownDelta: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; drawdown(to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getUSDCAmountFromShares(tokenAmount: BigNumberish, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(owner: string, _config: string, overrides?: Overrides & { from?: string; }): Promise; pausePool(overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; sharePrice(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; sweepFromCompound(overrides?: Overrides & { from?: string; }): Promise; sweepToCompound(overrides?: Overrides & { from?: string; }): Promise; transferFrom(from: string, to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updatePlutusConfig(overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; withdraw(usdcAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawInToken(tokenAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; callStatic: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; addCollateralEarnedAmount(transferredAmount: BigNumberish, creditlineAddress: string, overrides?: CallOverrides): Promise; assets(overrides?: CallOverrides): Promise; collectInterestAndPrincipal(from: string, interest: BigNumberish, principal: BigNumberish, overrides?: CallOverrides): Promise; compoundBalance(overrides?: CallOverrides): Promise; config(overrides?: CallOverrides): Promise; deposit(amount: BigNumberish, overrides?: CallOverrides): Promise; distributeLosses(creditlineAddress: string, writedownDelta: BigNumberish, overrides?: CallOverrides): Promise; drawdown(to: string, amount: BigNumberish, overrides?: CallOverrides): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getUSDCAmountFromShares(tokenAmount: BigNumberish, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(owner: string, _config: string, overrides?: CallOverrides): Promise; pausePool(overrides?: CallOverrides): Promise; paused(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; renounceRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; revokeRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; sharePrice(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; sweepFromCompound(overrides?: CallOverrides): Promise; sweepToCompound(overrides?: CallOverrides): Promise; transferFrom(from: string, to: string, amount: BigNumberish, overrides?: CallOverrides): Promise; updatePlutusConfig(overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise; withdraw(usdcAmount: BigNumberish, overrides?: CallOverrides): Promise; withdrawInToken(tokenAmount: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter; "DepositMade(address,uint256,uint256)"(capitalProvider?: string | null, amount?: null, shares?: null): DepositMadeEventFilter; DepositMade(capitalProvider?: string | null, amount?: null, shares?: null): DepositMadeEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "InterestCollected(address,uint256,uint256)"(payer?: string | null, poolAmount?: null, reserveAmount?: null): InterestCollectedEventFilter; InterestCollected(payer?: string | null, poolAmount?: null, reserveAmount?: null): InterestCollectedEventFilter; "Paused(address)"(account?: null): PausedEventFilter; Paused(account?: null): PausedEventFilter; "PrincipalCollected(address,uint256)"(payer?: string | null, amount?: null): PrincipalCollectedEventFilter; PrincipalCollected(payer?: string | null, amount?: null): PrincipalCollectedEventFilter; "PrincipalWrittendown(address,int256)"(creditline?: string | null, amount?: null): PrincipalWrittendownEventFilter; PrincipalWrittendown(creditline?: string | null, amount?: null): PrincipalWrittendownEventFilter; "RefundedFromCollateral(uint256,address,uint256)"(sharePrice?: null, creditline?: string | null, totalRefundedAmount?: null): RefundedFromCollateralEventFilter; RefundedFromCollateral(sharePrice?: null, creditline?: string | null, totalRefundedAmount?: null): RefundedFromCollateralEventFilter; "ReserveFundsCollected(address,uint256)"(user?: string | null, amount?: null): ReserveFundsCollectedEventFilter; ReserveFundsCollected(user?: string | null, amount?: null): ReserveFundsCollectedEventFilter; "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter; RoleAdminChanged(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter; "RoleGranted(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter; RoleGranted(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter; "RoleRevoked(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter; RoleRevoked(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter; "TransferMade(address,address,uint256)"(from?: string | null, to?: string | null, amount?: null): TransferMadeEventFilter; TransferMade(from?: string | null, to?: string | null, amount?: null): TransferMadeEventFilter; "Unpaused(address)"(account?: null): UnpausedEventFilter; Unpaused(account?: null): UnpausedEventFilter; "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter; Upgraded(implementation?: string | null): UpgradedEventFilter; "WithdrawalMade(address,uint256,uint256)"(capitalProvider?: string | null, userAmount?: null, reserveAmount?: null): WithdrawalMadeEventFilter; WithdrawalMade(capitalProvider?: string | null, userAmount?: null, reserveAmount?: null): WithdrawalMadeEventFilter; }; estimateGas: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; addCollateralEarnedAmount(transferredAmount: BigNumberish, creditlineAddress: string, overrides?: Overrides & { from?: string; }): Promise; assets(overrides?: CallOverrides): Promise; collectInterestAndPrincipal(from: string, interest: BigNumberish, principal: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; compoundBalance(overrides?: CallOverrides): Promise; config(overrides?: CallOverrides): Promise; deposit(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; distributeLosses(creditlineAddress: string, writedownDelta: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; drawdown(to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getUSDCAmountFromShares(tokenAmount: BigNumberish, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(owner: string, _config: string, overrides?: Overrides & { from?: string; }): Promise; pausePool(overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; sharePrice(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; sweepFromCompound(overrides?: Overrides & { from?: string; }): Promise; sweepToCompound(overrides?: Overrides & { from?: string; }): Promise; transferFrom(from: string, to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updatePlutusConfig(overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; withdraw(usdcAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawInToken(tokenAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; addCollateralEarnedAmount(transferredAmount: BigNumberish, creditlineAddress: string, overrides?: Overrides & { from?: string; }): Promise; assets(overrides?: CallOverrides): Promise; collectInterestAndPrincipal(from: string, interest: BigNumberish, principal: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; compoundBalance(overrides?: CallOverrides): Promise; config(overrides?: CallOverrides): Promise; deposit(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; distributeLosses(creditlineAddress: string, writedownDelta: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; drawdown(to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getUSDCAmountFromShares(tokenAmount: BigNumberish, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(owner: string, _config: string, overrides?: Overrides & { from?: string; }): Promise; pausePool(overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; sharePrice(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; sweepFromCompound(overrides?: Overrides & { from?: string; }): Promise; sweepToCompound(overrides?: Overrides & { from?: string; }): Promise; transferFrom(from: string, to: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; updatePlutusConfig(overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; withdraw(usdcAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawInToken(tokenAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; }