@q-dev/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
42 lines • 1.71 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(signerOrProvider, address) {
super(signerOrProvider, 'AccountAliases.json', address);
}
async setAlias(alias, purpose, txOptions) {
return this.submitTransaction('setAlias', [alias, purpose], txOptions);
}
async reserve(owner, txOptions) {
return this.submitTransaction('reserve', [owner], txOptions);
}
async resolve(address, purpose) {
return this.instance.resolve(address, purpose);
}
async resolveReverse(address, purpose) {
return this.instance.resolveReverse(address, purpose);
}
async resolveBatch(address, purpose) {
return this.instance.resolveBatch(address, purpose);
}
async resolveReverseBatch(address, purpose) {
return this.instance.resolveBatchReverse(address, purpose);
}
async getAliasOwner(alias) {
return this.instance.reverseAliases(alias);
}
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