"""Beam constants for the consensus"""
from argon2 import Type

BEAM_HASH_SIZE = 12  # B
BEAM_AES_ENCRYPTION_KEY_SIZE = 256  # Bits
DEFAULT_HANDSHAKE_AES_KEY_SIZE = 256  # Bits
DEFAULT_AES_SALT_SIZE = 4  # B
DEFAULT_AES_GCM_NONCE_SIZE = 12  # B
DEFAULT_AES_GCM_TAG_SIZE = 16  # B
DEFAULT_AES_SALT = b"\x85\x00\x01\x08\x86\x03\x04\x09"

USED_ALGORITHM = "AES"

KEY_DERIVE_TIME_COST = 1
KEY_DERIVE_MEM_COST = 8
KEY_DERIVE_PARALLELISM_COST = 1
KEY_DERIVE_ARGON_TYPE = Type.ID

AES_FRAME_SIZE = 4
