UNPKG

@aut-labs/sdk

Version:

The TS/JS SDK package aims to make it easy for frontends/backends to integrate with Aut Smart Contracts

180 lines 6.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AutIDContract = void 0; const response_1 = require("../models/response"); const base_contract_1 = __importDefault(require("./base.contract")); const abi_types_1 = require("@aut-labs/abi-types"); const find_event_1 = require("../utils/find-event"); const logger_1 = require("../utils/logger"); const sdkLogger = (0, logger_1.getLogger)(); class AutIDContract extends base_contract_1.default { constructor(address, multiSigner, biconomyWrapper) { super(address, multiSigner, biconomyWrapper, abi_types_1.Web3AutIDProvider); } async getTokenIdForUserName(username) { try { const tokenId = await this.functions.tokenIdForUsername(username); return new response_1.SDKContractGenericResponse({ isSuccess: true, data: tokenId }); } catch (error) { return new response_1.SDKContractGenericResponse({ error }); } } async listUserHubs(holder) { try { const daos = await this.functions.getUserHubs(holder); return new response_1.SDKContractGenericResponse({ isSuccess: true, data: daos }); } catch (error) { return new response_1.SDKContractGenericResponse({ error }); } } async ownerOf(tokenID) { try { const owner = await this.functions.ownerOf(Number(tokenID)); return new response_1.SDKContractGenericResponse({ isSuccess: true, data: owner }); } catch (error) { return new response_1.SDKContractGenericResponse({ error }); } } async balanceOf(owner) { try { const balance = await this.functions.balanceOf(owner); return new response_1.SDKContractGenericResponse({ isSuccess: true, data: balance }); } catch (error) { return new response_1.SDKContractGenericResponse({ error }); } } async getNextTokenID() { try { // const nextTokenID = await this.functions.nextTokenId(); // create random generator for token id const nextTokenID = Math.floor(Math.random() * 1000000); return new response_1.SDKContractGenericResponse({ isSuccess: true, data: nextTokenID.toString() }); } catch (error) { return new response_1.SDKContractGenericResponse({ error }); } } async mintAndJoin(username, url, role, commitment, hubAddress, overrides) { try { sdkLogger.info("mintAndJoin", { username, url, role, commitment, hubAddress }); const tx = await (await this.functions.createRecordAndJoinHub(role, commitment, hubAddress, username, url, overrides)).wait(); const event = (0, find_event_1.findLogEvent)(tx, abi_types_1.AutIDContractEventType.RecordCreated); sdkLogger.info("mintAndJoin", event); return new response_1.SDKContractGenericResponse({ isSuccess: !!event, event, data: event?.args[0]?.toString() }); } catch (error) { sdkLogger.error("mintAndJoin", error); return new response_1.SDKContractGenericResponse({ error }); } } async joinHub(role, commitment, hubAddress) { const address = await this.contract.getAddress(); if (this.canSendEIP712Transaction(address)) { try { const { data } = await this.contract.populateTransaction.joinHub(role, commitment, hubAddress); await this.sendEIP712Transaction(data); return new response_1.SDKContractGenericResponse({ isSuccess: true }); } catch (error) { return new response_1.SDKContractGenericResponse({ error }); } } else { try { const tx = await (await this.functions.joinHub(role, commitment, hubAddress)).wait(); const event = (0, find_event_1.findLogEvent)(tx, abi_types_1.AutIDContractEventType.HubJoined); return new response_1.SDKContractGenericResponse({ isSuccess: !!event, event }); } catch (error) { return new response_1.SDKContractGenericResponse({ error }); } } } async withdraw(hubAddress) { try { // @ts-ignore const tx = await (await this.functions.withdraw(hubAddress)).wait(); // @ts-ignore const event = (0, find_event_1.findLogEvent)(tx, abi_types_1.AutIDContractEventType.HubWithdrawn); return new response_1.SDKContractGenericResponse({ isSuccess: !!event, event }); } catch (error) { return new response_1.SDKContractGenericResponse({ error }); } } async setMetadataUri(metadataUri) { try { const tx = await (await this.functions.setTokenURI(metadataUri)).wait(); const event = (0, find_event_1.findLogEvent)(tx, abi_types_1.AutIDContractEventType.TokenMetadataUpdated); return new response_1.SDKContractGenericResponse({ isSuccess: !!event, event }); } catch (error) { return new response_1.SDKContractGenericResponse({ error }); } } } exports.AutIDContract = AutIDContract; //# sourceMappingURL=autID.contract.js.map