UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

102 lines (101 loc) 5.14 kB
import type { ContractTransaction } from 'ethers'; import { BorrowingCore } from '../../ethers-contracts/BorrowingCore'; import { SystemContractInstance } from '../SystemContractInstance'; import { BorrowingTotals, QNonPayableTx, Vault, VaultStats, SignerOrProvider } from '../../types'; import { CompoundRateKeeperInstance } from '../common/CompoundRateKeeperInstance'; /** * Borrowing core instance to interact with Borrowing core contract. * See [onchain documentation](@system-contracts-repo/@network/BorrowingCore/) for more details. * An instance of this class for a deployed network can be obtained via {@link ContractRegistryInstance.borrowingCore} */ export declare class BorrowingCoreInstance extends SystemContractInstance<BorrowingCore> { constructor(signerOrProvider: SignerOrProvider, address: string); /** @deprecated use getCompoundRateKeeper */ compoundRateKeeper(colKey: string): Promise<string>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#getcompoundratekeeper) */ getCompoundRateKeeper(colKey: string): Promise<CompoundRateKeeperInstance>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#totalstcbackedbycol) */ totalStcBackedByCol(colKey: string): Promise<string>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#updatecompoundrate) */ updateCompoundRate(col: string, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#uservaults) */ userVaults(address: string, vaultId: number | string): Promise<Vault>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#uservaultscount) */ userVaultsCount(address: string): Promise<string>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#createvault) */ createVault(colKey: string, txOPtions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#depositcol) */ depositCol(vaultId: string | number, amount: string | number, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#generatestc) */ generateStc(vaultId: string | number, stcAmount: string | number, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#clearvault) */ clearVault(user: string, vaultId: number | string, amount: number | string, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#liquidate) */ liquidate(user: string, vaultId: number | string, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#transfercol) */ transferCol(user: string, vaultId: number | string, recipient: string, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#paybackstc) */ payBackStc(vaultId: string | number, amount: string | number, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#withdrawcol) */ withdrawCol(vaultId: string | number, amount: string | number, txOptions?: QNonPayableTx): Promise<ContractTransaction>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#getaggregatedtotals) */ getAggregatedTotals(): Promise<BorrowingTotals>; /** * Retrieve all user vaults * @param address account * @returns user vaults */ getAllUserVaults(address: string): Promise<Vault[]>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#uservaults) */ getUserVault(address: string, vaultId: string | number): Promise<Vault>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#userVaultsCount) */ getUserVaultsCount(address: string): Promise<string>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#getvaultstats) */ getVaultStats(address: string, vaultId: string | number): Promise<VaultStats>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#getfulldebt) */ getFullDebt(address: string, vaultId: string | number): Promise<string>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#getcurrentcolratio) */ getCurrentColRatio(address: string, vaultId: string | number): Promise<string>; /** * [External documentation](@system-contracts-repo/@network/BorrowingCore/#totalStcBackedByCol) */ getTotalStcBackedByCol(colKey: string): Promise<string>; }