UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

70 lines 2.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SystemBalanceInstance = void 0; const SystemContractInstance_1 = require("../SystemContractInstance"); /** * [System balance contract instance](@system-contracts-repo/@network/SystemBalance/) * An instance of this class for a deployed network can be obtained via {@link ContractRegistryInstance.systemBalance} */ /** * System balance instance to interact with System balance contract. * See [onchain documentation](@system-contracts-repo/@network/SystemBalance/) for more details. * An instance of this class for a deployed network can be obtained via {@link ContractRegistryInstance.systemBalance} */ class SystemBalanceInstance extends SystemContractInstance_1.SystemContractInstance { constructor(signerOrProvider, address) { super(signerOrProvider, 'SystemBalance.json', address); } /** * [External documentation](@system-contracts-repo/@network/SystemBalance/#getdebt) */ async getDebt() { return (await this.instance.getDebt()).toString(); } /** * [External documentation](@system-contracts-repo/@network/SystemBalance/#getbalance) */ async getBalance() { return (await this.instance.getBalance()).toString(); } /** * [External documentation](@system-contracts-repo/@network/SystemBalance/#getsurplus) */ async getSurplus() { return (await this.instance.getSurplus()).toString(); } /** * [External documentation](@system-contracts-repo/@network/SystemBalance/#getbalancedetails) */ async getBalanceDetails() { const balanceDetails = await this.instance.getBalanceDetails(); return { isDebtAuctionPossible: balanceDetails.isDebtAuctionPossible, isSurplusAuctionPossible: balanceDetails.isSurplusAuctionPossible, currentDebt: balanceDetails.currentDebt.toString(), debtThreshold: balanceDetails.debtThreshold.toString(), currentSurplus: balanceDetails.currentSurplus.toString(), surplusThreshold: balanceDetails.surplusThreshold.toString(), }; } /** * [External documentation](@system-contracts-repo/@network/SystemBalance/#setdebt) */ async setDebt(debt, txOptions) { return this.submitTransaction('setDebt', [debt], txOptions); } /** * [External documentation](@system-contracts-repo/@network/SystemBalance/#increasedebt) */ async increaseDebt(debtAmount, txOptions) { return this.submitTransaction('increaseDebt', [debtAmount], txOptions); } /** * [External documentation](@system-contracts-repo/@network/SystemBalance/#performnetting) */ async performNetting(txOptions) { return this.submitTransaction('performNetting', [], txOptions); } } exports.SystemBalanceInstance = SystemBalanceInstance; //# sourceMappingURL=SystemBalanceInstance.js.map