UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

41 lines 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TimeLockHelperInstance = void 0; const SystemContractInstance_1 = require("./SystemContractInstance"); /** * Abstract Timelock instance to interact with QVault, Saving, RootNodes and Validators contracts. * See [onchain documentation](@system-contracts-repo/@network/ATimeLockBase/) for more details. */ class TimeLockHelperInstance extends SystemContractInstance_1.SystemContractInstance { /** * [External documentation](@system-contracts-repo/@network/ATimeLockBase/#depositonbehalfof) */ async depositOnBehalfOf(account, start, end, txOptions) { return this.submitTransaction('depositOnBehalfOf', [account, start, end], txOptions); } /** * [External documentation](@system-contracts-repo/@network/ATimeLockBase/#gettimelocks) */ async getTimeLocks(account) { const timelocks = await this.instance.getTimeLocks(account); return timelocks.map(i => ({ amount: i.amount.toString(), releaseStart: i.releaseStart.toString(), releaseEnd: i.releaseEnd.toString() })); } /** * [External documentation](@system-contracts-repo/@network/ATimeLockBase/#getminimumbalance) */ async getMinimumBalance(account, timestamp) { return (await this.instance.getMinimumBalance(account, timestamp)).toString(); } /** * [External documentation](@system-contracts-repo/@network/ATimeLockBase/#purgetimelocks) */ async purgeTimeLocks(account, txOptions) { return this.submitTransaction('purgeTimeLocks', [account], txOptions); } } exports.TimeLockHelperInstance = TimeLockHelperInstance; //# sourceMappingURL=TimeLockHelperInstance.js.map