fuel_core_interfaces/
model.rs

1mod block;
2mod block_height;
3mod coin;
4mod da_block_height;
5mod messages;
6mod txpool;
7mod vote;
8
9use crate::common::{
10    fuel_crypto::SecretKey,
11    fuel_types::{
12        Address,
13        Bytes32,
14    },
15};
16pub use block::{
17    BlockId,
18    ConsensusType,
19    Empty,
20    FuelApplicationHeader,
21    FuelBlock,
22    FuelBlockConsensus,
23    FuelBlockDb,
24    FuelBlockHeader,
25    FuelBlockPoAConsensus,
26    FuelConsensusHeader,
27    Genesis,
28    PartialFuelBlock,
29    PartialFuelBlockHeader,
30    SealedFuelBlock,
31    SealedFuelBlockHeader,
32};
33pub use block_height::BlockHeight;
34pub use coin::{
35    Coin,
36    CoinStatus,
37};
38pub use da_block_height::DaBlockHeight;
39use derive_more::{
40    Deref,
41    From,
42};
43pub use messages::*;
44use secrecy::{
45    zeroize,
46    CloneableSecret,
47    DebugSecret,
48};
49pub use txpool::{
50    ArcPoolTx,
51    TxInfo,
52};
53pub use vote::ConsensusVote;
54use zeroize::Zeroize;
55
56/// Validator address used for registration of validator on DA layer
57pub type ValidatorId = Address;
58/// Consensus public key used for Fuel network consensus protocol to
59/// check signatures. ConsensusId is assigned by validator.
60pub type ConsensusId = Bytes32;
61
62/// Wrapper around [`fuel_crypto::SecretKey`] to implement [`secrecy`] marker traits
63#[derive(
64    Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Zeroize, Deref, From,
65)]
66#[repr(transparent)]
67pub struct SecretKeyWrapper(SecretKey);
68
69impl CloneableSecret for SecretKeyWrapper {}
70impl DebugSecret for SecretKeyWrapper {}