diff --git a/etherlink/kernel_latest/kernel/src/chains.rs b/etherlink/kernel_latest/kernel/src/chains.rs index af3c88ef4dfaee207ae0a3d0ee5288f838dd1796..7182493d59d6288f462b087b87cdc417462d83b8 100644 --- a/etherlink/kernel_latest/kernel/src/chains.rs +++ b/etherlink/kernel_latest/kernel/src/chains.rs @@ -29,9 +29,11 @@ use std::fmt::{Debug, Display}; use tezos_evm_logging::{log, Level::*}; use tezos_evm_runtime::runtime::Runtime; use tezos_smart_rollup::{outbox::OutboxQueue, types::Timestamp}; -use tezos_smart_rollup_host::path::Path; +use tezos_smart_rollup_host::path::{Path, RefPath}; use tezos_tezlink::block::TezBlock; +pub const TEZLINK_SAFE_STORAGE_ROOT_PATH: RefPath = RefPath::assert_from(b"/tezlink"); + #[derive(Clone, Copy, Debug)] pub enum ChainFamily { Evm, diff --git a/etherlink/kernel_latest/kernel/src/lib.rs b/etherlink/kernel_latest/kernel/src/lib.rs index 1b96f4c94436c745828c6269fa32fcac49005125..e168fd981efaff26017dd2ca2a2d6162c8b2c866 100644 --- a/etherlink/kernel_latest/kernel/src/lib.rs +++ b/etherlink/kernel_latest/kernel/src/lib.rs @@ -368,6 +368,21 @@ pub fn kernel_loop(host: &mut H .unwrap(); } + let tezlink_subkeys = host + .host + .store_count_subkeys(&chains::TEZLINK_SAFE_STORAGE_ROOT_PATH) + .expect("The kernel failed to read the number of /tezlink subkeys"); + + if tezlink_subkeys == 0 { + host.host + .store_write( + &chains::TEZLINK_SAFE_STORAGE_ROOT_PATH, + b"Un carnaval de foncteur", + 0, + ) + .unwrap(); + } + if is_revealed_storage(&host) { reveal_storage( &mut host,