import { BigNumber, ethers } from "ethers"; import { CreditDesk } from "../contract"; import { ICreditDeskClient } from "./definitions"; export type CreditLineWithAssetTokenAndBalance = { creditLine: string; tokenAddress: string; amount: BigNumber; }; export declare class CreditDeskClient implements ICreditDeskClient { readonly creditDeskContract: CreditDesk; readonly signer: ethers.Signer; private iCreditDesk; constructor(signer: ethers.Signer, contractAddress?: string); /** * setUnderwriterGovernanceLimit sets the underwriter's governance limit * @param underWriterAddress Underwriter's address * @param limit Limit to set * @returns * */ setUnderwriterGovernanceLimit(underWriterAddress: string, limit: ethers.BigNumberish, overrides?: ethers.Overrides): Promise; /** * getUnderwriterGovernanceLimit gets the underwriter's governance limit * @param underWriterAddress Underwriter's address * @returns * */ getUnderwriterCreditLines(underwriter: string): Promise; /** * getBorrowerCreditLines gets the borrower's credit lines * @param borrower Borrower's address * @returns * */ getBorrowerCreditLines(borrower: string): Promise; /** * getOverallApr gets the average APR of all borrowers in our system * @param underWriterAddress Underwriter's address * @returns * */ getOverallApr(underWriterAddress?: string): Promise; /** * Gets pool balance supplied by lender and its claimable interest * @param lenderAddress Address of lender * @returns */ getSupplyBalanceAndInterest(lenderAddress: string): Promise<{ supplyAmountLended: number; claimableInterest: number; }>; /** * Gets total pool usage of given underwriter. * @param underwriterAddress Address of underwriter. Default: ZEBEC_CONTRACT_ADDRESS * @returns */ getPoolUsage(underwriterAddress?: string): Promise; /** * Pauses the pool and sweeps any remaining funds to the treasury reserve. * @param underWriterAddress Address of underwriter * @param overrides Overrides for transaction * @returns */ emergencyShutdown(underWriterAddress?: string, overrides?: ethers.Overrides): Promise; /** * Pauses the pool and sweeps any remaining funds to the treasury reserve. * @param underWriterAddress Address of underwriter * @param overrides Overrides for transaction * @returns */ getEmergencyShutdownData(underWriterAddress?: string): string; /** * Gets asset token balance of creditlines * @param creditLines * @param borrower * @returns */ getAsssetTokenBalanceOfCreditLines(creditLines: string[]): Promise; /** * Gets asset token balance of creditlines * @param creditLines * @param borrower * @returns */ getAsssetTokenBalanceOfReserve(creditLines: string[]): Promise; /** * Gets USDC balance of creditlines * @param creditLines * @returns */ getUSDCBalanceOfCreditLines(creditLines: string[]): Promise<{ creditLines: string; balance: BigNumber; }[]>; /** * Gets principal owned * @param creditLineAddress * @returns */ getPrincipalOwed(creditLineAddress: string): Promise; /** * Gets interest owned * @param creditLineAddress * @returns */ getInterestOwed(creditLineAddress: string): Promise; /** * Gets next payment block number * @param creditLineAddress * @returns */ getNextPaymentBlock(creditLineAddress: string): Promise; /** * Get final payment block * @param creditLineAddress * @returns */ getFinalPaymentBlock(creditLineAddress: string): Promise; /** * Gets USDC balance of treasury * @returns */ getTreasuryReserveUsdcBalance(): Promise; grantEmergencyAccess(address: string, overrides?: ethers.Overrides): Promise; }