pub struct ObjectReference { /* private fields */ }Expand description
Reference to an object
Contains sufficient information to uniquely identify a specific object.
§BCS
The BCS serialized form for this type is defined by the following ABNF:
object-ref = address u64 digestImplementations§
Source§impl ObjectReference
impl ObjectReference
Sourcepub fn new(object_id: Address, version: Version, digest: Digest) -> Self
pub fn new(object_id: Address, version: Version, digest: Digest) -> Self
Creates a new object reference from the object’s id, version, and digest.
Sourcepub fn object_id(&self) -> &Address
pub fn object_id(&self) -> &Address
Returns a reference to the object id that this ObjectReference is referring to.
Sourcepub fn version(&self) -> Version
pub fn version(&self) -> Version
Returns the version of the object that this ObjectReference is referring to.
Sourcepub fn digest(&self) -> &Digest
pub fn digest(&self) -> &Digest
Returns the digest of the object that this ObjectReference is referring to.
Sourcepub fn coin_reservation(
coin_type: &StructTag,
balance: u64,
epoch: u64,
chain_id: Digest,
owner: Address,
) -> Self
Available on crate features hash and serde only.
pub fn coin_reservation( coin_type: &StructTag, balance: u64, epoch: u64, chain_id: Digest, owner: Address, ) -> Self
hash and serde only.Construct a synthetic coin reservation reference.
The reservation ref encodes an address-balance reservation for coin
usage so that the server can reserve the specified balance of the
sender’s address balance and transparently create a Coin<T> without
requiring actual coin objects.
See the coin reservation protocol for the full specification.
Sourcepub fn into_parts(self) -> (Address, Version, Digest)
pub fn into_parts(self) -> (Address, Version, Digest)
Returns a 3-tuple containing the object id, version, and digest.
Trait Implementations§
Source§impl Arbitrary for ObjectReference
impl Arbitrary for ObjectReference
Source§type Parameters = ()
type Parameters = ()
arbitrary_with accepts for configuration
of the generated Strategy. Parameters must implement Default.Source§type Strategy = BoxedStrategy<ObjectReference>
type Strategy = BoxedStrategy<ObjectReference>
Strategy used to generate values of type Self.Source§fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
Source§impl Clone for ObjectReference
impl Clone for ObjectReference
Source§fn clone(&self) -> ObjectReference
fn clone(&self) -> ObjectReference
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ObjectReference
impl Debug for ObjectReference
Source§impl<'de> Deserialize<'de> for ObjectReference
impl<'de> Deserialize<'de> for ObjectReference
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ObjectReference
impl PartialEq for ObjectReference
Source§impl Serialize for ObjectReference
impl Serialize for ObjectReference
impl Eq for ObjectReference
impl StructuralPartialEq for ObjectReference
Auto Trait Implementations§
impl Freeze for ObjectReference
impl RefUnwindSafe for ObjectReference
impl Send for ObjectReference
impl Sync for ObjectReference
impl Unpin for ObjectReference
impl UnwindSafe for ObjectReference
Blanket Implementations§
§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>,
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 moreSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'de, T> FromBcs for Twhere
T: Deserialize<'de>,
impl<'de, T> FromBcs for Twhere
T: Deserialize<'de>,
Source§fn from_bcs<'de>(bytes: &'de [u8]) -> Result<Self, Error>where
Self: Deserialize<'de>,
fn from_bcs<'de>(bytes: &'de [u8]) -> Result<Self, Error>where
Self: Deserialize<'de>,
serde only.Source§fn from_bcs_base64(base64: &str) -> Result<Self, Error>where
Self: DeserializeOwned,
fn from_bcs_base64(base64: &str) -> Result<Self, Error>where
Self: DeserializeOwned,
serde only.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>
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>
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