@ardier16/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
42 lines • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AccountAliasesInstance = void 0;
const SystemContractInstance_1 = require("../SystemContractInstance");
const types_1 = require("../../types");
class AccountAliasesInstance extends SystemContractInstance_1.SystemContractInstance {
constructor(web3, address) {
super(web3, 'AccountAliases.json', address);
}
async setAlias(alias, purpose, txOptions) {
return this.submitTransaction(this.instance.methods.setAlias(alias, purpose), txOptions);
}
async reserve(owner, txOptions) {
return this.submitTransaction(this.instance.methods.reserve(owner), txOptions);
}
async resolve(address, purpose) {
return this.instance.methods.resolve(address, purpose).call();
}
async resolveReverse(address, purpose) {
return this.instance.methods.resolveReverse(address, purpose).call();
}
async resolveBatch(address, purpose) {
return this.instance.methods.resolveBatch(address, purpose).call();
}
async resolveReverseBatch(address, purpose) {
return this.instance.methods.resolveBatchReverse(address, purpose).call();
}
async getAliasOwner(alias) {
return this.instance.methods.reverseAliases(alias).call();
}
async getAliases(owner) {
const aliases = [];
for (const purpose in types_1.AliasPurpose) {
const alias = await this.resolve(owner, types_1.AliasPurpose[purpose]);
aliases.push({ purpose: types_1.AliasPurpose[purpose], address: alias });
}
return aliases;
}
}
exports.AccountAliasesInstance = AccountAliasesInstance;
AccountAliasesInstance.registryKey = 'governance.accountAliases';
//# sourceMappingURL=AccountAliases.js.map