pub struct InMemoryStore { /* private fields */ }Implementations§
Source§impl InMemoryStore
impl InMemoryStore
pub fn new(genesis: &Genesis) -> Self
pub fn get_checkpoint_by_sequence_number( &self, sequence_number: CheckpointSequenceNumber, ) -> Option<&VerifiedCheckpoint>
pub fn get_checkpoint_by_digest( &self, digest: &CheckpointDigest, ) -> Option<&VerifiedCheckpoint>
pub fn get_highest_checkpint(&self) -> Option<&VerifiedCheckpoint>
pub fn get_checkpoint_contents( &self, digest: &CheckpointContentsDigest, ) -> Option<&CheckpointContents>
pub fn get_committee_by_epoch(&self, epoch: EpochId) -> Option<&Committee>
pub fn get_transaction( &self, digest: &TransactionDigest, ) -> Option<&VerifiedTransaction>
pub fn get_transaction_effects( &self, digest: &TransactionDigest, ) -> Option<&TransactionEffects>
pub fn get_transaction_events( &self, digest: &TransactionDigest, ) -> Option<&TransactionEvents>
pub fn get_object(&self, id: &ObjectID) -> Option<&Object>
pub fn get_object_at_version( &self, id: &ObjectID, version: SequenceNumber, ) -> Option<&Object>
pub fn get_system_state(&self) -> SuiSystemState
pub fn get_clock(&self) -> Clock
pub fn owned_objects(&self, owner: SuiAddress) -> impl Iterator<Item = &Object>
Source§impl InMemoryStore
impl InMemoryStore
pub fn insert_checkpoint(&mut self, checkpoint: VerifiedCheckpoint)
pub fn insert_checkpoint_contents(&mut self, contents: CheckpointContents)
pub fn insert_committee(&mut self, committee: Committee)
pub fn insert_executed_transaction( &mut self, transaction: VerifiedTransaction, effects: TransactionEffects, events: TransactionEvents, written_objects: BTreeMap<ObjectID, Object>, )
pub fn insert_transaction(&mut self, transaction: VerifiedTransaction)
pub fn insert_transaction_effects(&mut self, effects: TransactionEffects)
pub fn insert_events( &mut self, tx_digest: &TransactionDigest, events: TransactionEvents, )
pub fn update_objects( &mut self, written_objects: BTreeMap<ObjectID, Object>, deleted_objects: Vec<(ObjectID, SequenceNumber, ObjectDigest)>, )
Trait Implementations§
Source§impl BackingPackageStore for InMemoryStore
impl BackingPackageStore for InMemoryStore
fn get_package_object( &self, package_id: &ObjectID, ) -> SuiResult<Option<PackageObject>>
Source§impl ChildObjectResolver for InMemoryStore
impl ChildObjectResolver for InMemoryStore
Source§fn read_child_object(
&self,
parent: &ObjectID,
child: &ObjectID,
child_version_upper_bound: SequenceNumber,
) -> SuiResult<Option<Object>>
fn read_child_object( &self, parent: &ObjectID, child: &ObjectID, child_version_upper_bound: SequenceNumber, ) -> SuiResult<Option<Object>>
child must have an ObjectOwner ownership equal to owner.Source§fn get_object_received_at_version(
&self,
owner: &ObjectID,
receiving_object_id: &ObjectID,
receive_object_at_version: SequenceNumber,
_epoch_id: EpochId,
) -> SuiResult<Option<Object>>
fn get_object_received_at_version( &self, owner: &ObjectID, receiving_object_id: &ObjectID, receive_object_at_version: SequenceNumber, _epoch_id: EpochId, ) -> SuiResult<Option<Object>>
receiving_object_id must have an AddressOwner 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.Source§impl Debug for InMemoryStore
impl Debug for InMemoryStore
Source§impl Default for InMemoryStore
impl Default for InMemoryStore
Source§fn default() -> InMemoryStore
fn default() -> InMemoryStore
Returns the “default value” for a type. Read more
Source§impl GetModule for InMemoryStore
impl GetModule for InMemoryStore
Source§impl ModuleResolver for InMemoryStore
impl ModuleResolver for InMemoryStore
Source§impl ObjectStore for InMemoryStore
impl ObjectStore for InMemoryStore
fn get_object(&self, object_id: &ObjectID) -> Option<Object>
fn get_object_by_key( &self, object_id: &ObjectID, version: VersionNumber, ) -> Option<Object>
fn multi_get_objects(&self, object_ids: &[ObjectID]) -> Vec<Option<Object>>
fn multi_get_objects_by_key( &self, object_keys: &[ObjectKey], ) -> Vec<Option<Object>>
Source§impl ParentSync for InMemoryStore
impl ParentSync for InMemoryStore
Source§impl SimulatorStore for InMemoryStore
impl SimulatorStore for InMemoryStore
fn get_checkpoint_by_sequence_number( &self, sequence_number: CheckpointSequenceNumber, ) -> Option<VerifiedCheckpoint>
fn get_checkpoint_by_digest( &self, digest: &CheckpointDigest, ) -> Option<VerifiedCheckpoint>
fn get_highest_checkpint(&self) -> Option<VerifiedCheckpoint>
fn get_checkpoint_contents( &self, digest: &CheckpointContentsDigest, ) -> Option<CheckpointContents>
fn get_committee_by_epoch(&self, epoch: EpochId) -> Option<Committee>
fn get_transaction( &self, digest: &TransactionDigest, ) -> Option<VerifiedTransaction>
fn get_transaction_effects( &self, digest: &TransactionDigest, ) -> Option<TransactionEffects>
fn get_transaction_events( &self, digest: &TransactionDigest, ) -> Option<TransactionEvents>
fn get_object(&self, id: &ObjectID) -> Option<Object>
fn get_object_at_version( &self, id: &ObjectID, version: SequenceNumber, ) -> Option<Object>
fn get_system_state(&self) -> SuiSystemState
fn get_clock(&self) -> Clock
fn owned_objects( &self, owner: SuiAddress, ) -> Box<dyn Iterator<Item = Object> + '_>
fn insert_checkpoint(&mut self, checkpoint: VerifiedCheckpoint)
fn insert_checkpoint_contents(&mut self, contents: CheckpointContents)
fn insert_committee(&mut self, committee: Committee)
fn insert_executed_transaction( &mut self, transaction: VerifiedTransaction, effects: TransactionEffects, events: TransactionEvents, written_objects: BTreeMap<ObjectID, Object>, )
fn insert_transaction(&mut self, transaction: VerifiedTransaction)
fn insert_transaction_effects(&mut self, effects: TransactionEffects)
fn insert_events( &mut self, tx_digest: &TransactionDigest, events: TransactionEvents, )
fn update_objects( &mut self, written_objects: BTreeMap<ObjectID, Object>, deleted_objects: Vec<(ObjectID, SequenceNumber, ObjectDigest)>, )
fn backing_store(&self) -> &dyn BackingStore
fn init_with_genesis(&mut self, genesis: &Genesis)
fn read_objects_for_synchronous_execution( &self, _tx_digest: &TransactionDigest, input_object_kinds: &[InputObjectKind], receiving_object_refs: &[ObjectRef], ) -> SuiResult<(InputObjects, ReceivingObjects)>
Auto Trait Implementations§
impl Freeze for InMemoryStore
impl RefUnwindSafe for InMemoryStore
impl Send for InMemoryStore
impl Sync for InMemoryStore
impl Unpin for InMemoryStore
impl UnwindSafe for InMemoryStore
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BackingStore for T
impl<T> BackingStore for T
fn as_object_store(&self) -> &dyn ObjectStore
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a Request§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SuiResolver for Twhere
T: BackingPackageStore,
impl<T> SuiResolver for Twhere
T: BackingPackageStore,
fn as_backing_package_store(&self) -> &dyn BackingPackageStore
Source§impl<T> SuiResolver for Twhere
T: BackingPackageStore,
impl<T> SuiResolver for Twhere
T: BackingPackageStore,
fn as_backing_package_store(&self) -> &dyn BackingPackageStore
Source§impl<T> SuiResolver for Twhere
T: BackingPackageStore,
impl<T> SuiResolver for Twhere
T: BackingPackageStore,
fn as_backing_package_store(&self) -> &dyn BackingPackageStore
Source§impl<T> SuiResolver for Twhere
T: BackingPackageStore,
impl<T> SuiResolver for Twhere
T: BackingPackageStore,
fn as_backing_package_store(&self) -> &dyn BackingPackageStore
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.