UNPKG

nomadex-client

Version:

Client library to programmatically interact with https://voi.nomadex.app

96 lines (95 loc) 3.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MySmartAsset = void 0; const algosdk_1 = require("algosdk"); const SmartAssetClient_1 = require("./SmartAssetClient"); class MySmartAsset { constructor(id, nodeClient, signer) { this.assetClient = new SmartAssetClient_1.SmartAssetClient({ id: id, resolveBy: 'id', sender: signer ?? { addr: 'DYX2V5XF4IKOHE55Z63XAHVBJTMYM723HK5WJZ72BDZ5AFEFKJ5YP4DOQQ', signer: (0, algosdk_1.makeEmptyTransactionSigner)() }, }, nodeClient); } static from(id, nodeClient) { return new MySmartAsset(id, nodeClient); } async arc200Symbol() { const composer = this.assetClient.compose(); const { methodResults: [result] } = await composer.arc200Symbol({}).simulate({ allowMoreLogging: true, allowEmptySignatures: true, allowUnnamedResources: true }); const symbolBuffer = result.rawReturnValue; return Buffer.from(symbolBuffer).toString().replace(/\u0000/g, ''); } async arc200Name() { const composer = this.assetClient.compose(); const { methodResults: [result] } = await composer.arc200Name({}).simulate({ allowMoreLogging: true, allowEmptySignatures: true, allowUnnamedResources: true }); const nameBuffer = result.rawReturnValue; return Buffer.from(nameBuffer).toString().replace(/\u0000/g, ''); } async arc200Decimals() { const composer = this.assetClient.compose(); const { returns: [decimals] } = await composer.arc200Decimals({}).simulate({ allowMoreLogging: true, allowEmptySignatures: true, allowUnnamedResources: true }); return decimals; } async arc200TotalSupply() { const composer = this.assetClient.compose(); const { returns: [supply] } = await composer.arc200TotalSupply({}).simulate({ allowMoreLogging: true, allowEmptySignatures: true, allowUnnamedResources: true }); return supply; } async manager() { const composer = this.assetClient.compose(); const { returns: [manager] } = await composer.manager({}).simulate({ allowMoreLogging: true, allowEmptySignatures: true, allowUnnamedResources: true }); return manager; } async arc200BalanceOf(address) { const composer = this.assetClient.compose(); const { returns: [balance] } = await composer.arc200BalanceOf({ owner: address }).simulate({ allowMoreLogging: true, allowEmptySignatures: true, allowUnnamedResources: true }); return balance; } async arc200Allowance(owner, spender) { const composer = this.assetClient.compose(); const { returns: [allowance] } = await composer.arc200Allowance({ owner, spender }).simulate({ allowMoreLogging: true, allowEmptySignatures: true, allowUnnamedResources: true }); return allowance; } async hasBox(owner, spender = (0, algosdk_1.encodeAddress)(new Uint8Array(32))) { const composer = this.assetClient.compose(); const ret = await composer.hasBox({ owner, spender }).simulate({ allowMoreLogging: true, allowEmptySignatures: true, allowUnnamedResources: true }); return ret.returns[0]; } } exports.MySmartAsset = MySmartAsset;