// Copyright 2024 IOTA Stiftung
// SPDX-License-Identifier: Apache-2.0
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var _a;
// Temp solution for not double parsing JSON
import { plainToInstance, Type } from 'class-transformer';
import { Output, OutputDiscriminator } from '../../block/output';
/**
 * OutputCommitmentProof types.
 */
export var OutputCommitmentProofType;
(function (OutputCommitmentProofType) {
    /** Denotes a HashableNode. */
    OutputCommitmentProofType[OutputCommitmentProofType["HashableNode"] = 0] = "HashableNode";
    /** Denotes a LeafHash. */
    OutputCommitmentProofType[OutputCommitmentProofType["LeafHash"] = 1] = "LeafHash";
    /** Denotes a ValueHash. */
    OutputCommitmentProofType[OutputCommitmentProofType["ValueHash"] = 2] = "ValueHash";
})(OutputCommitmentProofType || (OutputCommitmentProofType = {}));
var OutputCommitmentProof = /** @class */ (function () {
    /**
     * @param type The type of OutputCommitmentProof.
     */
    function OutputCommitmentProof(type) {
        this.type = type;
    }
    /**
     * Parse an OutputCommitmentProof from a plain JSON object.
     */
    OutputCommitmentProof.parse = function (data) {
        if (data.type == OutputCommitmentProofType.HashableNode) {
            return plainToInstance(HashableNode, data);
        }
        else if (data.type == OutputCommitmentProofType.LeafHash) {
            return plainToInstance(LeafHash, data);
        }
        else if (data.type == OutputCommitmentProofType.ValueHash) {
            return plainToInstance(ValueHash, data);
        }
        throw new Error('Invalid JSON');
    };
    return OutputCommitmentProof;
}());
export { OutputCommitmentProof };
/**
 * Contains the hashes of the left and right children of a node in the OutputCommitmentProof tree.
 */
var HashableNode = /** @class */ (function (_super) {
    __extends(HashableNode, _super);
    /**
     * @param l Output commitment proof of the left subtree.
     * @param r Output commitment proof of the right subtree.
     */
    function HashableNode(l, r) {
        var _this = _super.call(this, OutputCommitmentProofType.HashableNode) || this;
        _this.l = l;
        _this.r = r;
        return _this;
    }
    return HashableNode;
}(OutputCommitmentProof));
export { HashableNode };
/**
 * Contains the hash of a leaf in the OutputCommitmentProof tree.
 */
var LeafHash = /** @class */ (function (_super) {
    __extends(LeafHash, _super);
    /**
     * @param hash The hash of the leaf.
     */
    function LeafHash(hash) {
        var _this = _super.call(this, OutputCommitmentProofType.LeafHash) || this;
        _this.hash = hash;
        return _this;
    }
    return LeafHash;
}(OutputCommitmentProof));
export { LeafHash };
/**
 * Contains the hash of the value for which the OutputCommitmentProof is being computed.
 */
var ValueHash = /** @class */ (function (_super) {
    __extends(ValueHash, _super);
    /**
     * @param hash The hash of the value.
     */
    function ValueHash(hash) {
        var _this = _super.call(this, OutputCommitmentProofType.ValueHash) || this;
        _this.hash = hash;
        return _this;
    }
    return ValueHash;
}(OutputCommitmentProof));
export { ValueHash };
/**
 * The proof of the output identifier.
 */
var OutputIdProof = /** @class */ (function () {
    /**
     * @param slot The slot index of the output.
     * @param outputIndex The index of the output within the corresponding transaction.
     * @param transactionCommitment The commitment of the transaction that created the output. Hex-encoded with 0x prefix.
     * @param outputCommitmentProof The proof of the output commitment.
     */
    function OutputIdProof(slot, outputIndex, transactionCommitment, outputCommitmentProof) {
        this.slot = slot;
        this.outputIndex = outputIndex;
        this.transactionCommitment = transactionCommitment;
        this.outputCommitmentProof = outputCommitmentProof;
    }
    return OutputIdProof;
}());
export { OutputIdProof };
/**
 * An output with its output id proof.
 * Response of GET /api/core/v3/outputs/{outputId}.
 */
var OutputResponse = /** @class */ (function () {
    function OutputResponse() {
    }
    __decorate([
        Type(function () { return Output; }, {
            discriminator: OutputDiscriminator
        })
    ], OutputResponse.prototype, "output");
    return OutputResponse;
}());
export { OutputResponse };
/**
 * An output with its output id proof and its metadata.
 * Response of GET /api/core/v3/outputs/{outputId}/full.
 */
var OutputWithMetadataResponse = /** @class */ (function () {
    function OutputWithMetadataResponse() {
    }
    return OutputWithMetadataResponse;
}());
export { OutputWithMetadataResponse };
/**
 * An output and its metadata.
 */
var OutputWithMetadata = /** @class */ (function () {
    function OutputWithMetadata() {
    }
    return OutputWithMetadata;
}());
export { OutputWithMetadata };
/**
 * Reason for transaction failure.
 */
export var TransactionFailureReason;
(function (TransactionFailureReason) {
    TransactionFailureReason[TransactionFailureReason["None"] = 0] = "None";
    TransactionFailureReason[TransactionFailureReason["ConflictRejected"] = 1] = "ConflictRejected";
    TransactionFailureReason[TransactionFailureReason["Orphaned"] = 2] = "Orphaned";
    TransactionFailureReason[TransactionFailureReason["InputAlreadySpent"] = 3] = "InputAlreadySpent";
    TransactionFailureReason[TransactionFailureReason["InputCreationAfterTxCreation"] = 4] = "InputCreationAfterTxCreation";
    TransactionFailureReason[TransactionFailureReason["UnlockSignatureInvalid"] = 5] = "UnlockSignatureInvalid";
    TransactionFailureReason[TransactionFailureReason["ChainAddressUnlockInvalid"] = 6] = "ChainAddressUnlockInvalid";
    TransactionFailureReason[TransactionFailureReason["DirectUnlockableAddressUnlockInvalid"] = 7] = "DirectUnlockableAddressUnlockInvalid";
    TransactionFailureReason[TransactionFailureReason["MultiAddressUnlockInvalid"] = 8] = "MultiAddressUnlockInvalid";
    TransactionFailureReason[TransactionFailureReason["CommitmentInputReferenceInvalid"] = 9] = "CommitmentInputReferenceInvalid";
    TransactionFailureReason[TransactionFailureReason["BicInputReferenceInvalid"] = 10] = "BicInputReferenceInvalid";
    TransactionFailureReason[TransactionFailureReason["RewardInputReferenceInvalid"] = 11] = "RewardInputReferenceInvalid";
    TransactionFailureReason[TransactionFailureReason["StakingRewardCalculationFailure"] = 12] = "StakingRewardCalculationFailure";
    TransactionFailureReason[TransactionFailureReason["DelegationRewardCalculationFailure"] = 13] = "DelegationRewardCalculationFailure";
    TransactionFailureReason[TransactionFailureReason["InputOutputBaseTokenMismatch"] = 14] = "InputOutputBaseTokenMismatch";
    TransactionFailureReason[TransactionFailureReason["ManaOverflow"] = 15] = "ManaOverflow";
    TransactionFailureReason[TransactionFailureReason["InputOutputManaMismatch"] = 16] = "InputOutputManaMismatch";
    TransactionFailureReason[TransactionFailureReason["ManaDecayCreationIndexExceedsTargetIndex"] = 17] = "ManaDecayCreationIndexExceedsTargetIndex";
    TransactionFailureReason[TransactionFailureReason["NativeTokenSumUnbalanced"] = 18] = "NativeTokenSumUnbalanced";
    TransactionFailureReason[TransactionFailureReason["SimpleTokenSchemeMintedMeltedTokenDecrease"] = 19] = "SimpleTokenSchemeMintedMeltedTokenDecrease";
    TransactionFailureReason[TransactionFailureReason["SimpleTokenSchemeMintingInvalid"] = 20] = "SimpleTokenSchemeMintingInvalid";
    TransactionFailureReason[TransactionFailureReason["SimpleTokenSchemeMeltingInvalid"] = 21] = "SimpleTokenSchemeMeltingInvalid";
    TransactionFailureReason[TransactionFailureReason["SimpleTokenSchemeMaximumSupplyChanged"] = 22] = "SimpleTokenSchemeMaximumSupplyChanged";
    TransactionFailureReason[TransactionFailureReason["SimpleTokenSchemeGenesisInvalid"] = 23] = "SimpleTokenSchemeGenesisInvalid";
    TransactionFailureReason[TransactionFailureReason["MultiAddressLengthUnlockLengthMismatch"] = 24] = "MultiAddressLengthUnlockLengthMismatch";
    TransactionFailureReason[TransactionFailureReason["MultiAddressUnlockThresholdNotReached"] = 25] = "MultiAddressUnlockThresholdNotReached";
    TransactionFailureReason[TransactionFailureReason["SenderFeatureNotUnlocked"] = 26] = "SenderFeatureNotUnlocked";
    TransactionFailureReason[TransactionFailureReason["IssuerFeatureNotUnlocked"] = 27] = "IssuerFeatureNotUnlocked";
    TransactionFailureReason[TransactionFailureReason["StakingRewardInputMissing"] = 28] = "StakingRewardInputMissing";
    TransactionFailureReason[TransactionFailureReason["StakingCommitmentInputMissing"] = 29] = "StakingCommitmentInputMissing";
    TransactionFailureReason[TransactionFailureReason["StakingRewardClaimingInvalid"] = 30] = "StakingRewardClaimingInvalid";
    TransactionFailureReason[TransactionFailureReason["StakingFeatureRemovedBeforeUnbonding"] = 31] = "StakingFeatureRemovedBeforeUnbonding";
    TransactionFailureReason[TransactionFailureReason["StakingFeatureModifiedBeforeUnbonding"] = 32] = "StakingFeatureModifiedBeforeUnbonding";
    TransactionFailureReason[TransactionFailureReason["StakingStartEpochInvalid"] = 33] = "StakingStartEpochInvalid";
    TransactionFailureReason[TransactionFailureReason["StakingEndEpochTooEarly"] = 34] = "StakingEndEpochTooEarly";
    TransactionFailureReason[TransactionFailureReason["BlockIssuerCommitmentInputMissing"] = 35] = "BlockIssuerCommitmentInputMissing";
    TransactionFailureReason[TransactionFailureReason["BlockIssuanceCreditInputMissing"] = 36] = "BlockIssuanceCreditInputMissing";
    TransactionFailureReason[TransactionFailureReason["BlockIssuerNotExpired"] = 37] = "BlockIssuerNotExpired";
    TransactionFailureReason[TransactionFailureReason["BlockIssuerExpiryTooEarly"] = 38] = "BlockIssuerExpiryTooEarly";
    TransactionFailureReason[TransactionFailureReason["ManaMovedOffBlockIssuerAccount"] = 39] = "ManaMovedOffBlockIssuerAccount";
    TransactionFailureReason[TransactionFailureReason["AccountLocked"] = 40] = "AccountLocked";
    TransactionFailureReason[TransactionFailureReason["TimelockCommitmentInputMissing"] = 41] = "TimelockCommitmentInputMissing";
    TransactionFailureReason[TransactionFailureReason["TimelockNotExpired"] = 42] = "TimelockNotExpired";
    TransactionFailureReason[TransactionFailureReason["ExpirationCommitmentInputMissing"] = 43] = "ExpirationCommitmentInputMissing";
    TransactionFailureReason[TransactionFailureReason["ExpirationNotUnlockable"] = 44] = "ExpirationNotUnlockable";
    TransactionFailureReason[TransactionFailureReason["ReturnAmountNotFulFilled"] = 45] = "ReturnAmountNotFulFilled";
    TransactionFailureReason[TransactionFailureReason["NewChainOutputHasNonZeroedId"] = 46] = "NewChainOutputHasNonZeroedId";
    TransactionFailureReason[TransactionFailureReason["ChainOutputImmutableFeaturesChanged"] = 47] = "ChainOutputImmutableFeaturesChanged";
    TransactionFailureReason[TransactionFailureReason["ImplicitAccountDestructionDisallowed"] = 48] = "ImplicitAccountDestructionDisallowed";
    TransactionFailureReason[TransactionFailureReason["MultipleImplicitAccountCreationAddresses"] = 49] = "MultipleImplicitAccountCreationAddresses";
    TransactionFailureReason[TransactionFailureReason["AccountInvalidFoundryCounter"] = 50] = "AccountInvalidFoundryCounter";
    TransactionFailureReason[TransactionFailureReason["AnchorInvalidStateTransition"] = 51] = "AnchorInvalidStateTransition";
    TransactionFailureReason[TransactionFailureReason["AnchorInvalidGovernanceTransition"] = 52] = "AnchorInvalidGovernanceTransition";
    TransactionFailureReason[TransactionFailureReason["FoundryTransitionWithoutAccount"] = 53] = "FoundryTransitionWithoutAccount";
    TransactionFailureReason[TransactionFailureReason["FoundrySerialInvalid"] = 54] = "FoundrySerialInvalid";
    TransactionFailureReason[TransactionFailureReason["DelegationCommitmentInputMissing"] = 55] = "DelegationCommitmentInputMissing";
    TransactionFailureReason[TransactionFailureReason["DelegationRewardInputMissing"] = 56] = "DelegationRewardInputMissing";
    TransactionFailureReason[TransactionFailureReason["DelegationRewardsClaimingInvalid"] = 57] = "DelegationRewardsClaimingInvalid";
    TransactionFailureReason[TransactionFailureReason["DelegationOutputTransitionedTwice"] = 58] = "DelegationOutputTransitionedTwice";
    TransactionFailureReason[TransactionFailureReason["DelegationModified"] = 59] = "DelegationModified";
    TransactionFailureReason[TransactionFailureReason["DelegationStartEpochInvalid"] = 60] = "DelegationStartEpochInvalid";
    TransactionFailureReason[TransactionFailureReason["DelegationAmountMismatch"] = 61] = "DelegationAmountMismatch";
    TransactionFailureReason[TransactionFailureReason["DelegationEndEpochNotZero"] = 62] = "DelegationEndEpochNotZero";
    TransactionFailureReason[TransactionFailureReason["DelegationEndEpochInvalid"] = 63] = "DelegationEndEpochInvalid";
    TransactionFailureReason[TransactionFailureReason["CapabilitiesNativeTokenBurningNotAllowed"] = 64] = "CapabilitiesNativeTokenBurningNotAllowed";
    TransactionFailureReason[TransactionFailureReason["CapabilitiesManaBurningNotAllowed"] = 65] = "CapabilitiesManaBurningNotAllowed";
    TransactionFailureReason[TransactionFailureReason["CapabilitiesAccountDestructionNotAllowed"] = 66] = "CapabilitiesAccountDestructionNotAllowed";
    TransactionFailureReason[TransactionFailureReason["CapabilitiesAnchorDestructionNotAllowed"] = 67] = "CapabilitiesAnchorDestructionNotAllowed";
    TransactionFailureReason[TransactionFailureReason["CapabilitiesFoundryDestructionNotAllowed"] = 68] = "CapabilitiesFoundryDestructionNotAllowed";
    TransactionFailureReason[TransactionFailureReason["CapabilitiesNftDestructionNotAllowed"] = 69] = "CapabilitiesNftDestructionNotAllowed";
    TransactionFailureReason[TransactionFailureReason["SemanticValidationFailed"] = 255] = "SemanticValidationFailed";
})(TransactionFailureReason || (TransactionFailureReason = {}));
/**
 * Transaction failure reason strings.
 */
export var TRANSACTION_FAILURE_REASON_STRINGS = (_a = {},
    _a[TransactionFailureReason.None] = 'None.',
    _a[TransactionFailureReason.ConflictRejected] = 'Transaction was conflicting and was rejected.',
    _a[TransactionFailureReason.Orphaned] = 'Transaction was orphaned.',
    _a[TransactionFailureReason.InputAlreadySpent] = 'Input already spent.',
    _a[TransactionFailureReason.InputCreationAfterTxCreation] = 'Input creation slot after tx creation slot.',
    _a[TransactionFailureReason.UnlockSignatureInvalid] = 'Signature in unlock is invalid.',
    _a[TransactionFailureReason.ChainAddressUnlockInvalid] = 'invalid unlock for chain address.',
    _a[TransactionFailureReason.DirectUnlockableAddressUnlockInvalid] = 'invalid unlock for direct unlockable address.',
    _a[TransactionFailureReason.MultiAddressUnlockInvalid] = 'invalid unlock for multi address.',
    _a[TransactionFailureReason.CommitmentInputReferenceInvalid] = 'Commitment input references an invalid or non-existent commitment.',
    _a[TransactionFailureReason.BicInputReferenceInvalid] = 'BIC input reference cannot be loaded.',
    _a[TransactionFailureReason.RewardInputReferenceInvalid] = 'Reward input does not reference a staking account or a delegation output.',
    _a[TransactionFailureReason.StakingRewardCalculationFailure] = 'Staking rewards could not be calculated due to storage issues or overflow.',
    _a[TransactionFailureReason.DelegationRewardCalculationFailure] = 'Delegation rewards could not be calculated due to storage issues or overflow.',
    _a[TransactionFailureReason.InputOutputBaseTokenMismatch] = 'Inputs and outputs do not spend/deposit the same amount of base tokens.',
    _a[TransactionFailureReason.ManaOverflow] = 'Under- or overflow in Mana calculations.',
    _a[TransactionFailureReason.InputOutputManaMismatch] = 'Inputs and outputs do not contain the same amount of Mana.',
    _a[TransactionFailureReason.ManaDecayCreationIndexExceedsTargetIndex] = 'Mana decay creation slot/epoch index exceeds target slot/epoch index.',
    _a[TransactionFailureReason.NativeTokenSumUnbalanced] = 'Native token sums are unbalanced.',
    _a[TransactionFailureReason.SimpleTokenSchemeMintedMeltedTokenDecrease] = "Simple token scheme's minted or melted tokens decreased.",
    _a[TransactionFailureReason.SimpleTokenSchemeMintingInvalid] = "Simple token scheme's minted tokens did not increase by the minted amount or melted tokens changed.",
    _a[TransactionFailureReason.SimpleTokenSchemeMeltingInvalid] = "Simple token scheme's melted tokens did not increase by the melted amount or minted tokens changed.",
    _a[TransactionFailureReason.SimpleTokenSchemeMaximumSupplyChanged] = "Simple token scheme's maximum supply cannot change during transition.",
    _a[TransactionFailureReason.SimpleTokenSchemeGenesisInvalid] = "Newly created simple token scheme's melted tokens are not zero or minted tokens do not equal native token amount in transaction.",
    _a[TransactionFailureReason.MultiAddressLengthUnlockLengthMismatch] = 'Multi address length and multi unlock length do not match.',
    _a[TransactionFailureReason.MultiAddressUnlockThresholdNotReached] = 'Multi address unlock threshold not reached.',
    _a[TransactionFailureReason.SenderFeatureNotUnlocked] = 'Sender feature is not unlocked.',
    _a[TransactionFailureReason.IssuerFeatureNotUnlocked] = 'Issuer feature is not unlocked.',
    _a[TransactionFailureReason.StakingRewardInputMissing] = 'Staking feature removal or resetting requires a reward input.',
    _a[TransactionFailureReason.StakingCommitmentInputMissing] = 'Staking feature validation requires a commitment input.',
    _a[TransactionFailureReason.StakingRewardClaimingInvalid] = 'Staking feature must be removed or reset in order to claim rewards.',
    _a[TransactionFailureReason.StakingFeatureRemovedBeforeUnbonding] = 'Staking feature can only be removed after the unbonding period.',
    _a[TransactionFailureReason.StakingFeatureModifiedBeforeUnbonding] = 'Staking start epoch, fixed cost and staked amount cannot be modified while bonded.',
    _a[TransactionFailureReason.StakingStartEpochInvalid] = 'Staking start epoch must be the epoch of the transaction.',
    _a[TransactionFailureReason.StakingEndEpochTooEarly] = 'Staking end epoch must be set to the transaction epoch plus the unbonding period.',
    _a[TransactionFailureReason.BlockIssuerCommitmentInputMissing] = 'Commitment input missing for block issuer feature.',
    _a[TransactionFailureReason.BlockIssuanceCreditInputMissing] = 'Block issuance credit input missing for account with block issuer feature.',
    _a[TransactionFailureReason.BlockIssuerNotExpired] = 'Block issuer feature has not expired.',
    _a[TransactionFailureReason.BlockIssuerExpiryTooEarly] = 'Block issuer feature expiry set too early.',
    _a[TransactionFailureReason.ManaMovedOffBlockIssuerAccount] = 'Mana cannot be moved off block issuer accounts except with manalocks.',
    _a[TransactionFailureReason.AccountLocked] = 'Account is locked due to negative block issuance credits.',
    _a[TransactionFailureReason.TimelockCommitmentInputMissing] = "Transaction's containing a timelock condition require a commitment input.",
    _a[TransactionFailureReason.TimelockNotExpired] = 'Timelock not expired.',
    _a[TransactionFailureReason.ExpirationCommitmentInputMissing] = "Transaction's containing an expiration condition require a commitment input.",
    _a[TransactionFailureReason.ExpirationNotUnlockable] = 'Expiration unlock condition cannot be unlocked.',
    _a[TransactionFailureReason.ReturnAmountNotFulFilled] = 'Return amount not fulfilled.',
    _a[TransactionFailureReason.NewChainOutputHasNonZeroedId] = 'New chain output has non-zeroed ID.',
    _a[TransactionFailureReason.ChainOutputImmutableFeaturesChanged] = 'Immutable features in chain output modified during transition.',
    _a[TransactionFailureReason.ImplicitAccountDestructionDisallowed] = 'Cannot destroy implicit account; must be transitioned to account.',
    _a[TransactionFailureReason.MultipleImplicitAccountCreationAddresses] = 'Multiple implicit account creation addresses on the input side.',
    _a[TransactionFailureReason.AccountInvalidFoundryCounter] = 'Foundry counter in account decreased or did not increase by the number of new foundries.',
    _a[TransactionFailureReason.AnchorInvalidStateTransition] = 'Invalid anchor state transition.',
    _a[TransactionFailureReason.AnchorInvalidGovernanceTransition] = 'Invalid anchor governance transition.',
    _a[TransactionFailureReason.FoundryTransitionWithoutAccount] = 'Foundry output transitioned without accompanying account on input or output side.',
    _a[TransactionFailureReason.FoundrySerialInvalid] = 'Foundry output serial number is invalid.',
    _a[TransactionFailureReason.DelegationCommitmentInputMissing] = 'Delegation output validation requires a commitment input.',
    _a[TransactionFailureReason.DelegationRewardInputMissing] = 'Delegation output cannot be destroyed without a reward input.',
    _a[TransactionFailureReason.DelegationRewardsClaimingInvalid] = 'Invalid delegation mana rewards claiming.',
    _a[TransactionFailureReason.DelegationOutputTransitionedTwice] = 'Delegation output attempted to be transitioned twice.',
    _a[TransactionFailureReason.DelegationModified] = 'Delegated amount, validator ID and start epoch cannot be modified.',
    _a[TransactionFailureReason.DelegationStartEpochInvalid] = 'Delegation output has invalid start epoch.',
    _a[TransactionFailureReason.DelegationAmountMismatch] = 'Delegated amount does not match amount.',
    _a[TransactionFailureReason.DelegationEndEpochNotZero] = 'End epoch must be set to zero at output genesis.',
    _a[TransactionFailureReason.DelegationEndEpochInvalid] = 'Delegation end epoch does not match current epoch.',
    _a[TransactionFailureReason.CapabilitiesNativeTokenBurningNotAllowed] = 'Native token burning is not allowed by the transaction capabilities.',
    _a[TransactionFailureReason.CapabilitiesManaBurningNotAllowed] = 'Mana burning is not allowed by the transaction capabilities.',
    _a[TransactionFailureReason.CapabilitiesAccountDestructionNotAllowed] = 'Account destruction is not allowed by the transaction capabilities.',
    _a[TransactionFailureReason.CapabilitiesAnchorDestructionNotAllowed] = 'Anchor destruction is not allowed by the transaction capabilities.',
    _a[TransactionFailureReason.CapabilitiesFoundryDestructionNotAllowed] = 'Foundry destruction is not allowed by the transaction capabilities.',
    _a[TransactionFailureReason.CapabilitiesNftDestructionNotAllowed] = 'NFT destruction is not allowed by the transaction capabilities.',
    _a[TransactionFailureReason.SemanticValidationFailed] = 'Semantic validation failed.',
    _a);
//# sourceMappingURL=utxo.js.map