1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//! This crate contains all the fundamental building blocks for the Griffin
//! ledger, runtime, and wallet.
//!
//! It was initially based on
//! [tuxedo_core](https://off-narrative-labs.github.io/Tuxedo/tuxedo_core/index.html),
//! and it now includes a clone of six crates from the
//! [Pallas](https://github.com/txpipe/pallas) suite, with modifications in
//! order to be used in a `no-std` setting.
//!
//! The Core main purpose is to bring the Griffin node to life. The node is
//! based on Substrate / Polkadot SDK, and the instructions to make it run can
//! be found
//! [here](https://github.com/txpipe/griffin/tree/main?tab=readme-ov-file#griffin).
extern crate alloc;
use H224;
pub use Executive;
/// The Aura slot duration. When things are working well, this will also be the block time.
pub const MILLI_SECS_PER_SLOT: u32 = 3000;
/// A storage key that will store the slot number of the first block in the chain.
pub const ZERO_SLOT: & = b"zero-slot";
/// A storage key that will store the start POSIX time of ZERO_SLOT, in milliseconds.
pub const ZERO_TIME: & = b"zero-time";
/// A Griffin-specific target for diagnostic node log messages
const LOG_TARGET: &str = "griffin-core";
/// A transient storage key that will hold the partial header while a block is being built.
/// This key is cleared before the end of the block.
const HEADER_KEY: & = b"header";
/// A storage key that will store the block height during and after execution.
/// This allows the block number to be available in the runtime even during off-chain api calls.
pub const HEIGHT_KEY: & = b"height";
/// A transient storage key that will hold the list of extrinsics that have been applied so far.
/// This key is cleared before the end of the block.
pub const EXTRINSIC_KEY: & = b"extrinsics";