@q-dev/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
102 lines (101 loc) • 5.14 kB
TypeScript
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>;
}