@q-dev/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
41 lines • 1.77 kB
JavaScript
;
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