use lazy_static::lazy_static;
use sp_io::hashing::twox_128;
pub const PALLET_STARKNET_SCHEMA: &[u8] = b":starknet_schema";
pub const PALLET_SYSTEM: &[u8] = b"System";
pub const SYSTEM_EVENTS: &[u8] = b"Events";
pub const PALLET_STARKNET: &[u8] = b"Starknet";
pub const STARKNET_CURRENT_BLOCK: &[u8] = b"CurrentBlock";
pub const STARKNET_CONTRACT_CLASS_HASH: &[u8] = b"ContractClassHashes";
pub const STARKNET_CONTRACT_CLASS: &[u8] = b"ContractClasses";
pub const STARKNET_NONCE: &[u8] = b"Nonces";
pub const STARKNET_STORAGE: &[u8] = b"StorageView";
pub const STARKNET_COMPILED_CLASS_HASH: &[u8] = b"CompiledClassHashes";
pub const STARKNET_TX_EVENTS: &[u8] = b"TxEvents";
lazy_static! {
pub static ref SN_NONCE_PREFIX: Vec<u8> = [twox_128(PALLET_STARKNET), twox_128(STARKNET_NONCE)].concat();
pub static ref SN_CONTRACT_CLASS_HASH_PREFIX: Vec<u8> =
[twox_128(PALLET_STARKNET), twox_128(STARKNET_CONTRACT_CLASS_HASH)].concat();
pub static ref SN_STORAGE_PREFIX: Vec<u8> = [twox_128(PALLET_STARKNET), twox_128(STARKNET_STORAGE)].concat();
pub static ref SN_COMPILED_CLASS_HASH_PREFIX: Vec<u8> =
[twox_128(PALLET_STARKNET), twox_128(STARKNET_COMPILED_CLASS_HASH)].concat();
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "parity-scale-codec", derive(parity_scale_codec::Decode, parity_scale_codec::Encode))]
pub enum StarknetStorageSchemaVersion {
Undefined,
V1,
}
impl Default for StarknetStorageSchemaVersion {
fn default() -> Self {
Self::Undefined
}
}