Struct redgold_schema::structs::ContentionKey
source · pub struct ContentionKey {
pub utxo_id: Option<UtxoId>,
pub address: Option<Address>,
pub selector: Option<StateSelector>,
pub transaction_hash: Option<Hash>,
}Expand description
Any value which can cause a conflict or collision among nodes due to disagreements in ordering.
Fields§
§utxo_id: Option<UtxoId>Classical conflict condition associated with double spends, two transactions which share a common parent causing a conflict or contention.
address: Option<Address>Conflict conditions associated with deployed single-address contracts
selector: Option<StateSelector>Combined with above address – imposes a conflict ordering condition among a state subset denoted by a key index
transaction_hash: Option<Hash>Duplicate transaction hash conflict condition – associated with duplicate processing of same data. Primarily used internally for tracking internal contentions.
Implementations§
source§impl ContentionKey
impl ContentionKey
pub fn contract_request( address: &Address, selector: Option<&StateSelector> ) -> ContentionKey
Trait Implementations§
source§impl Clone for ContentionKey
impl Clone for ContentionKey
source§fn clone(&self) -> ContentionKey
fn clone(&self) -> ContentionKey
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for ContentionKey
impl Debug for ContentionKey
source§impl Default for ContentionKey
impl Default for ContentionKey
source§impl<'de> Deserialize<'de> for ContentionKey
impl<'de> Deserialize<'de> for ContentionKey
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>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Hash for ContentionKey
impl Hash for ContentionKey
source§impl HashClear for ContentionKey
impl HashClear for ContentionKey
fn hash_clear(&mut self)
source§impl Message for ContentionKey
impl Message for ContentionKey
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, Self: Sized,
Encodes the message to a buffer. Read more
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where Self: Sized,
Encodes the message to a newly allocated buffer.
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where
B: BufMut,
Self: Sized,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>where B: BufMut, Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
source§fn decode<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode<B>(buf: B) -> Result<Self, DecodeError>where B: Buf, Self: Default,
Decodes an instance of the message from a buffer. Read more
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>where B: Buf, Self: Default,
Decodes a length-delimited instance of the message from the buffer.
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where
B: Buf,
Self: Sized,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>where B: Buf, Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.source§impl PartialEq for ContentionKey
impl PartialEq for ContentionKey
source§fn eq(&self, other: &ContentionKey) -> bool
fn eq(&self, other: &ContentionKey) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl Serialize for ContentionKey
impl Serialize for ContentionKey
impl Eq for ContentionKey
impl StructuralEq for ContentionKey
impl StructuralPartialEq for ContentionKey
Auto Trait Implementations§
impl RefUnwindSafe for ContentionKey
impl Send for ContentionKey
impl Sync for ContentionKey
impl Unpin for ContentionKey
impl UnwindSafe for ContentionKey
Blanket Implementations§
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