use crate::{MessageHeader, MESSAGE_VERSION_PREFIX};
mod cached;
mod config;
mod error;
mod message;
use solana_hash::Hash;
pub use {cached::*, config::*, error::*, message::*};
pub type InstructionHeader = (u8, u8, [u8; 2]);
pub const V1_PREFIX: u8 = MESSAGE_VERSION_PREFIX | 1;
pub const MAX_TRANSACTION_SIZE: usize = 4096;
pub const MAX_ADDRESSES: u8 = 64;
pub const MAX_INSTRUCTIONS: u8 = 64;
pub const MAX_SIGNATURES: u8 = 12;
pub const DEFAULT_HEAP_SIZE: u32 = 32_768;
pub const FIXED_HEADER_SIZE: usize = size_of::<MessageHeader>() + size_of::<TransactionConfigMask>() + size_of::<Hash>() + size_of::<u8>() + size_of::<u8>();
pub const SIGNATURE_SIZE: usize = 64;