Trait sp_consensus_babe::BabeApi
source · pub trait BabeApi<Block: BlockT>: Core<Block> {
Show 14 methods
// Provided methods
fn configuration(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<BabeConfiguration, ApiError> { ... }
fn configuration_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<BabeConfiguration, ApiError> { ... }
fn configuration_before_version_2(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<BabeConfigurationV1, ApiError> { ... }
fn configuration_before_version_2_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<BabeConfigurationV1, ApiError> { ... }
fn current_epoch_start(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<Slot, ApiError> { ... }
fn current_epoch_start_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<Slot, ApiError> { ... }
fn current_epoch(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<Epoch, ApiError> { ... }
fn current_epoch_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<Epoch, ApiError> { ... }
fn next_epoch(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<Epoch, ApiError> { ... }
fn next_epoch_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<Epoch, ApiError> { ... }
fn generate_key_ownership_proof(
&self,
__runtime_api_at_param__: &BlockId<Block>,
slot: Slot,
authority_id: AuthorityId
) -> Result<Option<OpaqueKeyOwnershipProof>, ApiError> { ... }
fn generate_key_ownership_proof_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
slot: Slot,
authority_id: AuthorityId
) -> Result<Option<OpaqueKeyOwnershipProof>, ApiError> { ... }
fn submit_report_equivocation_unsigned_extrinsic(
&self,
__runtime_api_at_param__: &BlockId<Block>,
equivocation_proof: EquivocationProof<Block::Header>,
key_owner_proof: OpaqueKeyOwnershipProof
) -> Result<Option<()>, ApiError> { ... }
fn submit_report_equivocation_unsigned_extrinsic_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
equivocation_proof: EquivocationProof<Block::Header>,
key_owner_proof: OpaqueKeyOwnershipProof
) -> Result<Option<()>, ApiError> { ... }
}
Expand description
API necessary for block authorship with BABE.
Provided Methods§
sourcefn configuration(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<BabeConfiguration, ApiError>
fn configuration( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<BabeConfiguration, ApiError>
Return the configuration for BABE.
sourcefn configuration_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<BabeConfiguration, ApiError>
fn configuration_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<BabeConfiguration, ApiError>
Return the configuration for BABE.
sourcefn configuration_before_version_2(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<BabeConfigurationV1, ApiError>
fn configuration_before_version_2( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<BabeConfigurationV1, ApiError>
Return the configuration for BABE. Version 1.
sourcefn configuration_before_version_2_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<BabeConfigurationV1, ApiError>
fn configuration_before_version_2_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<BabeConfigurationV1, ApiError>
Return the configuration for BABE. Version 1.
sourcefn current_epoch_start(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<Slot, ApiError>
fn current_epoch_start( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Slot, ApiError>
Returns the slot that started the current epoch.
sourcefn current_epoch_start_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<Slot, ApiError>
fn current_epoch_start_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Slot, ApiError>
Returns the slot that started the current epoch.
sourcefn current_epoch(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<Epoch, ApiError>
fn current_epoch( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Epoch, ApiError>
Returns information regarding the current epoch.
sourcefn current_epoch_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<Epoch, ApiError>
fn current_epoch_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Epoch, ApiError>
Returns information regarding the current epoch.
sourcefn next_epoch(
&self,
__runtime_api_at_param__: &BlockId<Block>
) -> Result<Epoch, ApiError>
fn next_epoch( &self, __runtime_api_at_param__: &BlockId<Block> ) -> Result<Epoch, ApiError>
Returns information regarding the next epoch (which was already previously announced).
sourcefn next_epoch_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext
) -> Result<Epoch, ApiError>
fn next_epoch_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext ) -> Result<Epoch, ApiError>
Returns information regarding the next epoch (which was already previously announced).
sourcefn generate_key_ownership_proof(
&self,
__runtime_api_at_param__: &BlockId<Block>,
slot: Slot,
authority_id: AuthorityId
) -> Result<Option<OpaqueKeyOwnershipProof>, ApiError>
fn generate_key_ownership_proof( &self, __runtime_api_at_param__: &BlockId<Block>, slot: Slot, authority_id: AuthorityId ) -> Result<Option<OpaqueKeyOwnershipProof>, ApiError>
Generates a proof of key ownership for the given authority in the
current epoch. An example usage of this module is coupled with the
session historical module to prove that a given authority key is
tied to a given staking identity during a specific session. Proofs
of key ownership are necessary for submitting equivocation reports.
NOTE: even though the API takes a slot
as parameter the current
implementations ignores this parameter and instead relies on this
method being called at the correct block height, i.e. any point at
which the epoch for the given slot is live on-chain. Future
implementations will instead use indexed data through an offchain
worker, not requiring older states to be available.
sourcefn generate_key_ownership_proof_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
slot: Slot,
authority_id: AuthorityId
) -> Result<Option<OpaqueKeyOwnershipProof>, ApiError>
fn generate_key_ownership_proof_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, slot: Slot, authority_id: AuthorityId ) -> Result<Option<OpaqueKeyOwnershipProof>, ApiError>
Generates a proof of key ownership for the given authority in the
current epoch. An example usage of this module is coupled with the
session historical module to prove that a given authority key is
tied to a given staking identity during a specific session. Proofs
of key ownership are necessary for submitting equivocation reports.
NOTE: even though the API takes a slot
as parameter the current
implementations ignores this parameter and instead relies on this
method being called at the correct block height, i.e. any point at
which the epoch for the given slot is live on-chain. Future
implementations will instead use indexed data through an offchain
worker, not requiring older states to be available.
sourcefn submit_report_equivocation_unsigned_extrinsic(
&self,
__runtime_api_at_param__: &BlockId<Block>,
equivocation_proof: EquivocationProof<Block::Header>,
key_owner_proof: OpaqueKeyOwnershipProof
) -> Result<Option<()>, ApiError>
fn submit_report_equivocation_unsigned_extrinsic( &self, __runtime_api_at_param__: &BlockId<Block>, equivocation_proof: EquivocationProof<Block::Header>, key_owner_proof: OpaqueKeyOwnershipProof ) -> Result<Option<()>, ApiError>
Submits an unsigned extrinsic to report an equivocation. The caller
must provide the equivocation proof and a key ownership proof
(should be obtained using generate_key_ownership_proof
). The
extrinsic will be unsigned and should only be accepted for local
authorship (not to be broadcast to the network). This method returns
None
when creation of the extrinsic fails, e.g. if equivocation
reporting is disabled for the given runtime (i.e. this method is
hardcoded to return None
). Only useful in an offchain context.
sourcefn submit_report_equivocation_unsigned_extrinsic_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
equivocation_proof: EquivocationProof<Block::Header>,
key_owner_proof: OpaqueKeyOwnershipProof
) -> Result<Option<()>, ApiError>
fn submit_report_equivocation_unsigned_extrinsic_with_context( &self, __runtime_api_at_param__: &BlockId<Block>, context: ExecutionContext, equivocation_proof: EquivocationProof<Block::Header>, key_owner_proof: OpaqueKeyOwnershipProof ) -> Result<Option<()>, ApiError>
Submits an unsigned extrinsic to report an equivocation. The caller
must provide the equivocation proof and a key ownership proof
(should be obtained using generate_key_ownership_proof
). The
extrinsic will be unsigned and should only be accepted for local
authorship (not to be broadcast to the network). This method returns
None
when creation of the extrinsic fails, e.g. if equivocation
reporting is disabled for the given runtime (i.e. this method is
hardcoded to return None
). Only useful in an offchain context.