pub trait ChildObjectResolver {
// Required methods
fn read_child_object(
&self,
parent: &ObjectId,
child: &ObjectId,
child_version_upper_bound: Version,
) -> IotaResult<Option<Object>>;
fn get_object_received_at_version(
&self,
owner: &ObjectId,
receiving_object_id: &ObjectId,
receive_object_at_version: Version,
epoch_id: EpochId,
) -> IotaResult<Option<Object>>;
}Expand description
An abstraction of the (possibly distributed) store for objects. This API only allows for the retrieval of objects, not any state changes
Required Methods§
Sourcefn read_child_object(
&self,
parent: &ObjectId,
child: &ObjectId,
child_version_upper_bound: Version,
) -> IotaResult<Option<Object>>
fn read_child_object( &self, parent: &ObjectId, child: &ObjectId, child_version_upper_bound: Version, ) -> IotaResult<Option<Object>>
child must have an Object ownership equal to parent.
Sourcefn get_object_received_at_version(
&self,
owner: &ObjectId,
receiving_object_id: &ObjectId,
receive_object_at_version: Version,
epoch_id: EpochId,
) -> IotaResult<Option<Object>>
fn get_object_received_at_version( &self, owner: &ObjectId, receiving_object_id: &ObjectId, receive_object_at_version: Version, epoch_id: EpochId, ) -> IotaResult<Option<Object>>
receiving_object_id must have an Address ownership equal to
owner. get_object_received_at_version must be the exact version
at which the object will be received, and it cannot have been
previously received at that version. NB: An object not existing at
that version, and not having valid access to the object will be treated
exactly the same and Ok(None) must be returned.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".