import { ethers } from "ethers"; import { ZebecConsensus } from "../contract"; import { IZebecConsensusClient } from "./definitions"; export declare class ZebecConsesusClient implements IZebecConsensusClient { readonly signer: ethers.Signer; readonly zebecConsensusContract: ZebecConsensus; constructor(signer: ethers.Signer, zebeConsensusContractAddress: string); /** * tokenization creates a new tokenized asset token and also creates sets Credit line for the borrower * @param name Name of the tokenized asset token * @param borrower The borrower for whom the CreditLine will be created * @param loanLimit The maximum amount a borrower can drawdown from this CreditLine * @param interestApr The interest amount, on an annualized basis (APR, so non-compounding), expressed as an integer. * We assume 8 digits of precision. For example, to submit 15.34%, you would pass up 15340000, * and 5.34% would be 5340000 * @param paymentPeriodInDays How many days in each payment period. * ie. the frequency with which they need to make payments. * @param termInDays Number of days in the credit term. It is used to set the `termEndBlock` upon first drawdown. * ie. The credit line should be fully paid off {_termIndays} days after the first drawdown. * @param lateFeeApr The additional interest you will pay if you are late. For example, if this is 3%, and your * normal rate is 15%, then you will pay 18% while you are late. * @returns **/ tokenization(name: string, symbol: string, borrower: string, loanLimit: bigint, interestApr: number, paymentPeriodInDays: number, termInDays: number, lateFeeApr: number, overrides?: ethers.Overrides): Promise; /** * parseTokenizationEvent parses the tokenization event (This is only for ethers package version 6) * @param receipt Receipt of the tokenization transaction * @returns assetTokenAddress and creditLineAddress **/ parseTokenizationEventV6(receipt: ethers.ContractReceipt): { assetTokenAddress: string; creditLineAddress: string; }; /** * deTokenization destroys the tokenized asset token * @param assetTokenAddress Address of the tokenized asset token * @param creditLineAddress Address of the credit line * @returns **/ deTokenization(assetTokenAddress: string, creditLineAddress: string, overrides?: ethers.Overrides): Promise; /** * grantRole grants a role to an address * @param role Role to be granted * @param address Address to which the role will be granted * @returns * * Can Be used by contract owner only **/ grantRole(role: string, address: string, overrides?: ethers.Overrides): Promise; }