UNPKG

@protokol/nft-base-crypto

Version:

Transaction Builders For Base NFT Transaction Types

84 lines 2.63 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.NFTBurnTransaction = void 0; const crypto_1 = require("@arkecosystem/crypto"); const core_nft_crypto_1 = require("@protokol/core-nft-crypto"); const utils_1 = require("@protokol/utils"); const bytebuffer_1 = __importDefault(require("bytebuffer")); const enums_1 = require("../enums"); class NFTBurnTransaction extends core_nft_crypto_1.AbstractNFTTransaction { static getAssetSchema() { return { type: "object", required: ["nftBurn"], properties: { nftBurn: { type: "object", required: ["nftId"], properties: { nftId: { $ref: "transactionId", }, }, }, }, }; } serialize() { var _a; const { data } = this; utils_1.Asserts.assert.defined((_a = data.asset) === null || _a === void 0 ? void 0 : _a.nftBurn); const nftBurnAsset = data.asset.nftBurn; const buffer = new bytebuffer_1.default(32, true); buffer.append(nftBurnAsset.nftId, "hex"); return buffer; } deserialize(buf) { const { data } = this; const nftId = buf.readBytes(32).toString("hex"); const nftBurn = { nftId, }; data.asset = { nftBurn, }; } hasVendorField() { return true; } } exports.NFTBurnTransaction = NFTBurnTransaction; Object.defineProperty(NFTBurnTransaction, "typeGroup", { enumerable: true, configurable: true, writable: true, value: enums_1.NFTBaseTransactionGroup }); Object.defineProperty(NFTBurnTransaction, "type", { enumerable: true, configurable: true, writable: true, value: enums_1.NFTBaseTransactionTypes.NFTBurn }); Object.defineProperty(NFTBurnTransaction, "key", { enumerable: true, configurable: true, writable: true, value: "NFTBurn" }); Object.defineProperty(NFTBurnTransaction, "version", { enumerable: true, configurable: true, writable: true, value: enums_1.NFTBaseTransactionVersion }); Object.defineProperty(NFTBurnTransaction, "defaultStaticFee", { enumerable: true, configurable: true, writable: true, value: crypto_1.Utils.BigNumber.make(enums_1.NFTBaseStaticFees.NFTBurn) }); //# sourceMappingURL=nft-burn.js.map