pub trait GlobalStateHashStore:
ObjectStore
+ Send
+ Sync {
// Required methods
fn get_object_ref_prior_to_key_deprecated(
&self,
object_id: &ObjectID,
version: VersionNumber,
) -> SuiResult<Option<ObjectRef>>;
fn get_root_state_hash_for_epoch(
&self,
epoch: EpochId,
) -> SuiResult<Option<(CheckpointSequenceNumber, GlobalStateHash)>>;
fn insert_state_hash_for_epoch(
&self,
epoch: EpochId,
checkpoint_seq_num: &CheckpointSequenceNumber,
acc: &GlobalStateHash,
) -> SuiResult;
fn iter_live_object_set(
&self,
include_wrapped_tombstone: bool,
) -> Box<dyn Iterator<Item = LiveObject> + '_>;
// Provided method
fn iter_cached_live_object_set_for_testing(
&self,
include_wrapped_tombstone: bool,
) -> Box<dyn Iterator<Item = LiveObject> + '_> { ... }
}Required Methods§
Sourcefn get_object_ref_prior_to_key_deprecated(
&self,
object_id: &ObjectID,
version: VersionNumber,
) -> SuiResult<Option<ObjectRef>>
fn get_object_ref_prior_to_key_deprecated( &self, object_id: &ObjectID, version: VersionNumber, ) -> SuiResult<Option<ObjectRef>>
This function is only called in older protocol versions, and should no longer be used. It creates an explicit dependency to tombstones which is not desired.
fn get_root_state_hash_for_epoch( &self, epoch: EpochId, ) -> SuiResult<Option<(CheckpointSequenceNumber, GlobalStateHash)>>
fn insert_state_hash_for_epoch( &self, epoch: EpochId, checkpoint_seq_num: &CheckpointSequenceNumber, acc: &GlobalStateHash, ) -> SuiResult
fn iter_live_object_set( &self, include_wrapped_tombstone: bool, ) -> Box<dyn Iterator<Item = LiveObject> + '_>
Provided Methods§
fn iter_cached_live_object_set_for_testing( &self, include_wrapped_tombstone: bool, ) -> Box<dyn Iterator<Item = LiveObject> + '_>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".