pub trait ControlAuthorityProvider {
// Required method
fn observe_control(
&mut self,
request: &ControlObservationRequest<'_>,
) -> Result<ControlObservation, ControlProviderError>;
}Expand description
Integration-owned fresh authenticated controller observation for exact IC mutation bytes.
Implementations qualify complete actual controller data and locked actual context, target, challenge freshness, evidence and prior per-call spending/custody. Missing or unknown controllers must fail; status/read success is not controller evidence. No provider is installed. Results grant no signing, dispatch, same-release safety, snapshot-origin permission, stopped-state proof, application fence or terminal release.
Required Methods§
Sourcefn observe_control(
&mut self,
request: &ControlObservationRequest<'_>,
) -> Result<ControlObservation, ControlProviderError>
fn observe_control( &mut self, request: &ControlObservationRequest<'_>, ) -> Result<ControlObservation, ControlProviderError>
Observe current controllers under exact original request and bounded descriptive ceiling.
§Errors
Unavailable/unsupported reject before effects; indeterminate retains spending/evidence and stops without retry. An absent required provider must fail unavailable.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".