'use strict';

var chunkZQOIYCGA_cjs = require('../chunk-ZQOIYCGA.cjs');
var chunkTQQZGNOI_cjs = require('../chunk-TQQZGNOI.cjs');
require('../chunk-BL6WXLPV.cjs');
require('../chunk-FSK2ICMB.cjs');
require('../chunk-QJAUUYZU.cjs');
var chunkPK6SKIKE_cjs = require('../chunk-PK6SKIKE.cjs');

// src/constants/domain-separators.ts
function createClaimDomainSeparators(claimType) {
  return {
    MODIFIED_GEN_INDEX: `Claim${claimType} / modifiedGenerationIndex`,
    EXPANDED_GEN_INDEX: `Claim${claimType} / expandedGenerationIndex`
  };
}
chunkPK6SKIKE_cjs.__name(createClaimDomainSeparators, "createClaimDomainSeparators");
var CLAIM_DOMAINS = {
  /** Domain separators for self-claimable UTXO claims into public balance */
  SELF_CLAIMABLE_INTO_PUBLIC_BALANCE: createClaimDomainSeparators(
    "SelfClaimableUtxoIntoPublicBalance"
  ),
  /** Domain separators for self-claimable UTXO claims into encrypted balance */
  SELF_CLAIMABLE_INTO_ENCRYPTED_BALANCE: createClaimDomainSeparators(
    "SelfClaimableUtxoIntoEncryptedBalance"
  ),
  /** Domain separators for receiver-claimable UTXO claims into encrypted balance */
  RECEIVER_CLAIMABLE_INTO_ENCRYPTED_BALANCE: createClaimDomainSeparators(
    "ReceiverClaimableUtxoIntoEncryptedBalance"
  )
};
var LINKER_KEYSTREAM_DOMAINS = {
  /** Self-claimable UTXO claim into public balance */
  SELF_CLAIMABLE_INTO_PUBLIC_BALANCE: "selfClaimableUtxoIntoPublicBalance / linkerKeystreamBlindingFactor",
  /** Receiver-claimable UTXO claim into encrypted balance (also used for self-claimable into encrypted balance) */
  RECEIVER_CLAIMABLE_INTO_ENCRYPTED_BALANCE: "receiverClaimableUtxoIntoEncryptedBalance / linkerKeystreamBlindingFactor"
};
var RANDOM_FACTOR_DOMAINS = {
  /** Self-claimable UTXO claim into public balance */
  SELF_CLAIMABLE_INTO_PUBLIC_BALANCE: "selfClaimableUtxoIntoPublicBalance / randomFactorForPolynomialCommitment",
  /** Receiver-claimable UTXO claim into encrypted balance (also used for self-claimable into encrypted balance) */
  RECEIVER_CLAIMABLE_INTO_ENCRYPTED_BALANCE: "receiverClaimableUtxoIntoEncryptedBalance / randomFactorForPolynomialCommitment"
};
var RESCUE_COMMITMENT_DOMAINS = {
  /** Self-claimable UTXO claim into public balance */
  SELF_CLAIMABLE_INTO_PUBLIC_BALANCE: "selfClaimableUtxoIntoPublicBalance / rescueEncryptionCommitmentBlindingFactor",
  /** Receiver-claimable UTXO claim into encrypted balance (also used for self-claimable into encrypted balance) */
  RECEIVER_CLAIMABLE_INTO_ENCRYPTED_BALANCE: "receiverClaimableUtxoIntoEncryptedBalance / rescueEncryptionCommitmentBlindingFactor"
};

// src/constants/encryption-counts.ts
var LINKER_ENCRYPTIONS_PER_LEAF = {
  /**
   * ATA claims - excludes amount encryption (amounts are public).
   * Encrypts: senderAddressLow, senderAddressHigh, mintAddressLow, mintAddressHigh, leafCommitment
   */
  INTO_ATA: 5,
  /**
   * ETA claims - includes amount encryption.
   * Encrypts: senderAddressLow, senderAddressHigh, amount, mintAddressLow, mintAddressHigh, leafCommitment
   */
  INTO_ETA: 6
};
var RESCUE_ENCRYPTIONS_COUNT = {
  /**
   * ATA claims - no fee encryption (amounts are public).
   * Encrypts: mvkLow, mvkHigh, randomFactorLow, randomFactorHigh
   */
  WITHOUT_FEES: 4,
  /**
   * ETA claims - includes fee encryption.
   * Encrypts: finalAmount, protocolFees, relayerFees, mvkLow, mvkHigh, randomFactorLow, randomFactorHigh
   */
  WITH_FEES: 7
};
var KMAC_512_OUTPUT_LENGTH = 64;
var AGGREGATED_HASH_INPUT_COUNT = {
  /** ATA claims use 45 elements */
  ATA: 45,
  /** ETA claims use 70 elements */
  ETA: 70
};

Object.defineProperty(exports, "ASSOCIATED_TOKEN_PROGRAM_ID", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.ASSOCIATED_TOKEN_PROGRAM_ID; }
});
Object.defineProperty(exports, "DEFAULT_ALGORITHM_VERSION", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.DEFAULT_ALGORITHM_VERSION; }
});
Object.defineProperty(exports, "DEFAULT_NETWORK", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.DEFAULT_NETWORK; }
});
Object.defineProperty(exports, "DEFAULT_PROTOCOL_VERSION", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.DEFAULT_PROTOCOL_VERSION; }
});
Object.defineProperty(exports, "DEFAULT_SCHEME_VERSION", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.DEFAULT_SCHEME_VERSION; }
});
Object.defineProperty(exports, "SPL_TOKEN_PROGRAM_ID", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.SPL_TOKEN_PROGRAM_ID; }
});
Object.defineProperty(exports, "TOKEN_2022_PROGRAM_ID", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.TOKEN_2022_PROGRAM_ID; }
});
Object.defineProperty(exports, "assertNetwork", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.assertNetwork; }
});
Object.defineProperty(exports, "assertValidAlgorithmVersion", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.assertValidAlgorithmVersion; }
});
Object.defineProperty(exports, "assertValidProtocolVersion", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.assertValidProtocolVersion; }
});
Object.defineProperty(exports, "assertValidSchemeVersion", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.assertValidSchemeVersion; }
});
Object.defineProperty(exports, "assertValidVersion", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.assertValidVersion; }
});
Object.defineProperty(exports, "getDefaultAlgorithmVersion", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.getDefaultAlgorithmVersion; }
});
Object.defineProperty(exports, "getDefaultProtocolVersion", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.getDefaultProtocolVersion; }
});
Object.defineProperty(exports, "getDefaultSchemeVersion", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.getDefaultSchemeVersion; }
});
Object.defineProperty(exports, "getNetworkConfig", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.getNetworkConfig; }
});
Object.defineProperty(exports, "getNetworkSpecifier", {
  enumerable: true,
  get: function () { return chunkZQOIYCGA_cjs.getNetworkSpecifier; }
});
Object.defineProperty(exports, "ARCIUM_CLUSTER_SEED", {
  enumerable: true,
  get: function () { return chunkTQQZGNOI_cjs.ARCIUM_CLUSTER_SEED; }
});
Object.defineProperty(exports, "ARCIUM_COMPUTATION_SEED", {
  enumerable: true,
  get: function () { return chunkTQQZGNOI_cjs.ARCIUM_COMPUTATION_SEED; }
});
Object.defineProperty(exports, "ARCIUM_COMP_DEF_SEED", {
  enumerable: true,
  get: function () { return chunkTQQZGNOI_cjs.ARCIUM_COMP_DEF_SEED; }
});
Object.defineProperty(exports, "ARCIUM_EXEC_POOL_SEED", {
  enumerable: true,
  get: function () { return chunkTQQZGNOI_cjs.ARCIUM_EXEC_POOL_SEED; }
});
Object.defineProperty(exports, "ARCIUM_MEMPOOL_SEED", {
  enumerable: true,
  get: function () { return chunkTQQZGNOI_cjs.ARCIUM_MEMPOOL_SEED; }
});
Object.defineProperty(exports, "ARCIUM_MXE_ACCOUNT_SEED", {
  enumerable: true,
  get: function () { return chunkTQQZGNOI_cjs.ARCIUM_MXE_ACCOUNT_SEED; }
});
Object.defineProperty(exports, "ARCIUM_OFFSET_BUFFER_SIZE", {
  enumerable: true,
  get: function () { return chunkTQQZGNOI_cjs.ARCIUM_OFFSET_BUFFER_SIZE; }
});
exports.AGGREGATED_HASH_INPUT_COUNT = AGGREGATED_HASH_INPUT_COUNT;
exports.CLAIM_DOMAINS = CLAIM_DOMAINS;
exports.KMAC_512_OUTPUT_LENGTH = KMAC_512_OUTPUT_LENGTH;
exports.LINKER_ENCRYPTIONS_PER_LEAF = LINKER_ENCRYPTIONS_PER_LEAF;
exports.LINKER_KEYSTREAM_DOMAINS = LINKER_KEYSTREAM_DOMAINS;
exports.RANDOM_FACTOR_DOMAINS = RANDOM_FACTOR_DOMAINS;
exports.RESCUE_COMMITMENT_DOMAINS = RESCUE_COMMITMENT_DOMAINS;
exports.RESCUE_ENCRYPTIONS_COUNT = RESCUE_ENCRYPTIONS_COUNT;
exports.createClaimDomainSeparators = createClaimDomainSeparators;
//# sourceMappingURL=index.cjs.map
//# sourceMappingURL=index.cjs.map