pub trait Portal<T>where
T: Config,{
Show 23 methods
// Required methods
fn get_latest_heartbeat(
gateway_id: &[u8; 4]
) -> Result<LightClientHeartbeat<T>, DispatchError>;
fn get_latest_heartbeat_by_vendor(
vendor: GatewayVendor
) -> LightClientHeartbeat<T>;
fn get_latest_finalized_header(
gateway_id: [u8; 4]
) -> Result<HeaderResult, DispatchError>;
fn get_finalized_height(
gateway_id: [u8; 4]
) -> Result<HeightResult<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, DispatchError>;
fn get_rational_height(
gateway_id: [u8; 4]
) -> Result<HeightResult<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, DispatchError>;
fn get_fast_height(
gateway_id: [u8; 4]
) -> Result<HeightResult<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, DispatchError>;
fn get_latest_finalized_header_precompile(
gateway_id: [u8; 4]
) -> Vec<u8, Global> ⓘ;
fn get_finalized_height_precompile(
gateway_id: [u8; 4]
) -> <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number;
fn get_rational_height_precompile(
gateway_id: [u8; 4]
) -> <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number;
fn get_fast_height_precompile(
gateway_id: [u8; 4]
) -> <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number;
fn verify_event_inclusion(
gateway_id: [u8; 4],
speed_mode: SpeedMode,
source: Option<[u8; 32]>,
message: Vec<u8, Global>
) -> Result<InclusionReceipt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, DispatchError>;
fn verify_state_inclusion(
gateway_id: [u8; 4],
speed_mode: SpeedMode,
message: Vec<u8, Global>
) -> Result<InclusionReceipt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, DispatchError>;
fn verify_tx_inclusion(
gateway_id: [u8; 4],
speed_mode: SpeedMode,
message: Vec<u8, Global>
) -> Result<InclusionReceipt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, DispatchError>;
fn verify_event_inclusion_precompile(
gateway_id: [u8; 4],
speed_mode: SpeedMode,
source: [u8; 32],
message: Vec<u8, Global>
) -> Result<Vec<u8, Global>, DispatchError>;
fn verify_state_inclusion_precompile(
gateway_id: [u8; 4],
speed_mode: SpeedMode,
message: Vec<u8, Global>
) -> Result<Vec<u8, Global>, DispatchError>;
fn verify_tx_inclusion_precompile(
gateway_id: [u8; 4],
speed_mode: SpeedMode,
message: Vec<u8, Global>
) -> Result<Vec<u8, Global>, DispatchError>;
fn verify_state_inclusion_and_recode(
gateway_id: [u8; 4],
speed_mode: SpeedMode,
message: Vec<u8, Global>,
abi_descriptor: Vec<u8, Global>,
out_codec: Codec
) -> Result<InclusionReceipt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, DispatchError>;
fn verify_tx_inclusion_and_recode(
gateway_id: [u8; 4],
speed_mode: SpeedMode,
message: Vec<u8, Global>,
abi_descriptor: Vec<u8, Global>,
out_codec: Codec
) -> Result<InclusionReceipt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, DispatchError>;
fn verify_event_inclusion_and_recode(
gateway_id: [u8; 4],
speed_mode: SpeedMode,
source: [u8; 32],
message: Vec<u8, Global>,
abi_descriptor: Vec<u8, Global>,
out_codec: Codec
) -> Result<InclusionReceipt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number>, DispatchError>;
fn initialize(
origin: <T as Config>::RuntimeOrigin,
gateway_id: [u8; 4],
encoded_registration_data: Vec<u8, Global>
) -> Result<(), DispatchError>;
fn submit_encoded_headers(
gateway_id: [u8; 4],
encoded_header_data: Vec<u8, Global>
) -> Result<(), DispatchError>;
fn turn_on(
origin: <T as Config>::RuntimeOrigin,
gateway_id: [u8; 4]
) -> Result<bool, DispatchError>;
fn turn_off(
origin: <T as Config>::RuntimeOrigin,
gateway_id: [u8; 4]
) -> Result<bool, DispatchError>;
}