@aut-labs/sdk
Version:
The TS/JS SDK package aims to make it easy for frontends/backends to integrate with Aut Smart Contracts
84 lines • 3.05 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AdminsContract = void 0;
const abi_types_1 = require("@aut-labs/abi-types");
const response_1 = require("../models/response");
const base_contract_1 = __importDefault(require("./base.contract"));
const find_event_1 = require("../utils/find-event");
const logger_1 = require("../utils/logger");
const sdkLogger = (0, logger_1.getLogger)();
class AdminsContract extends base_contract_1.default {
async isAdmin(address) {
try {
const isAdmin = await this.functions.isAdmin(address);
sdkLogger.info("isAdmin", isAdmin);
return new response_1.SDKContractGenericResponse({
isSuccess: true,
data: isAdmin
});
}
catch (error) {
sdkLogger.error("isAdmin", error);
return new response_1.SDKContractGenericResponse({
error
});
}
}
async getAdmins() {
try {
const admins = await this.functions.admins();
sdkLogger.info("getAdmins", admins);
return new response_1.SDKContractGenericResponse({
isSuccess: true,
data: admins
});
}
catch (error) {
sdkLogger.error("getAdmins", error);
return new response_1.SDKContractGenericResponse({
error
});
}
}
async addAdmins(addresses) {
try {
sdkLogger.info("addAdmins", addresses);
const tx = await (await this.functions.addAdmins(addresses)).wait();
const event = (0, find_event_1.findLogEvent)(tx, abi_types_1.HubContractEventType.AdminGranted);
sdkLogger.info("addAdmins", event);
return new response_1.SDKContractGenericResponse({
isSuccess: !!event,
event
});
}
catch (error) {
sdkLogger.error("addAdmins", error);
return new response_1.SDKContractGenericResponse({
error
});
}
}
async removeAdmins(addresss) {
try {
sdkLogger.info("removeAdmins", addresss);
const tx = await (await this.functions.removeAdmin(addresss[0])).wait();
const event = (0, find_event_1.findLogEvent)(tx, abi_types_1.HubContractEventType.AdminRenounced);
sdkLogger.info("removeAdmins", event);
return new response_1.SDKContractGenericResponse({
isSuccess: !!event,
event
});
}
catch (error) {
sdkLogger.error("removeAdmins", error);
return new response_1.SDKContractGenericResponse({
error
});
}
}
}
exports.AdminsContract = AdminsContract;
//# sourceMappingURL=admin.contract.js.map