pub trait StateTransitionSignerAwareActionTransformer {
// Required method
fn transform_into_action_for_signer<C: CoreRPCLike>(
&self,
platform: &PlatformRef<'_, C>,
block_info: &BlockInfo,
remaining_address_input_balances: &Option<BTreeMap<PlatformAddress, (AddressNonce, Credits)>>,
signer_identity: Option<&PartialIdentity>,
validation_mode: ValidationMode,
execution_context: &mut StateTransitionExecutionContext,
tx: TransactionArg<'_, '_>,
) -> Result<ConsensusValidationResult<StateTransitionAction>, Error>;
}Expand description
Transforms a state transition into its action when the translation depends on who signed it.
The action is the state-based translation of the transition, and part of that state can hang
on the signing key: a batch signed by an AUTHENTICATION key bound to a contract group needs
the group memberships of the contracts it touches, and no other batch does. This trait hands
the transformer the signer’s already loaded identity, so that state is read only when it is
needed. StateTransitionActionTransformer stays as it is, per its versioning note; every
transition other than a batch is transformed through it.
Required Methods§
Sourcefn transform_into_action_for_signer<C: CoreRPCLike>(
&self,
platform: &PlatformRef<'_, C>,
block_info: &BlockInfo,
remaining_address_input_balances: &Option<BTreeMap<PlatformAddress, (AddressNonce, Credits)>>,
signer_identity: Option<&PartialIdentity>,
validation_mode: ValidationMode,
execution_context: &mut StateTransitionExecutionContext,
tx: TransactionArg<'_, '_>,
) -> Result<ConsensusValidationResult<StateTransitionAction>, Error>
fn transform_into_action_for_signer<C: CoreRPCLike>( &self, platform: &PlatformRef<'_, C>, block_info: &BlockInfo, remaining_address_input_balances: &Option<BTreeMap<PlatformAddress, (AddressNonce, Credits)>>, signer_identity: Option<&PartialIdentity>, validation_mode: ValidationMode, execution_context: &mut StateTransitionExecutionContext, tx: TransactionArg<'_, '_>, ) -> Result<ConsensusValidationResult<StateTransitionAction>, Error>
Like StateTransitionActionTransformer::transform_into_action, with the identity the
signature was validated against, when the caller holds one.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".