use cid::Cid;
use fvm_ipld_encoding::tuple::*;
use fvm_shared::address::Address;
use lazy_static::lazy_static;
use crate::eam::EthAddress;
define_singleton!(SYSTEM { id: 0, code_id: 1 });
lazy_static! {
pub static ref SYSTEM_ACTOR_ETH_ADDR: Address = EthAddress::default().into();
}
pub fn is_system_addr(addr: &Address) -> bool {
*addr == SYSTEM_ACTOR_ADDR || *addr == *SYSTEM_ACTOR_ETH_ADDR
}
#[derive(Default, Deserialize_tuple, Serialize_tuple, Debug, Clone)]
pub struct State {
pub builtin_actors: Cid,
}