pub struct Covenant {
pub covenant_type: CovenantType,
pub covenant_data: CovenantData,
}
Expand description
A Covenant is a part of a Handshake UTXO that restricts how the UTXO may be spent over the period of multiple spends. It is able to maintain data over time.
Fields
covenant_type: CovenantType
The CovenantType restricts spending to other CovenantTypes that have a defined spending path. State machines can be constructed this way that enable the auction system.
covenant_data: CovenantData
The CovenantData represents Covenant specific data that is attached to the UTXO. This data must be updated correctly as the UTXO is spent from one CovenantType to the next CovenantType.
Implementations
Trait Implementations
sourceimpl ByteFormat for Covenant
impl ByteFormat for Covenant
sourcefn serialized_length(&self) -> usize
fn serialized_length(&self) -> usize
Returns the byte-length of the serialized data structure.
sourcefn read_from<R>(reader: &mut R) -> SerResult<Self> where
R: Read,
Self: Sized,
fn read_from<R>(reader: &mut R) -> SerResult<Self> where
R: Read,
Self: Sized,
Deserializes an instance of Self
from a std::io::Read
.
The limit
argument is used only when deserializing collections, and specifies a maximum
number of instances of the underlying type to read. Read more
sourcefn write_to<W>(&self, writer: &mut W) -> SerResult<usize> where
W: Write,
fn write_to<W>(&self, writer: &mut W) -> SerResult<usize> where
W: Write,
Serializes self
to a std::io::Write
. Following Write
trait conventions, its Ok
type must be a usize
denoting the number of bytes written. Read more
sourcefn read_seq_from<R>(
reader: &mut R,
mode: ReadSeqMode
) -> Result<Vec<Self, Global>, Self::Error> where
R: Read,
fn read_seq_from<R>(
reader: &mut R,
mode: ReadSeqMode
) -> Result<Vec<Self, Global>, Self::Error> where
R: Read,
Read a sequence of exactly limit
objects from the reader.
sourcefn write_seq_to<'a, W, E, Iter, Item>(
writer: &mut W,
iter: Iter
) -> Result<usize, Self::Error> where
W: Write,
E: Into<Self::Error> + From<SerError> + From<Error> + Error,
Item: 'a + ByteFormat<Error = E>,
Iter: IntoIterator<Item = &'a Item>,
fn write_seq_to<'a, W, E, Iter, Item>(
writer: &mut W,
iter: Iter
) -> Result<usize, Self::Error> where
W: Write,
E: Into<Self::Error> + From<SerError> + From<Error> + Error,
Item: 'a + ByteFormat<Error = E>,
Iter: IntoIterator<Item = &'a Item>,
Write a sequence of ByteFormat
objects to a writer. The iter
argument may be any object that implements
IntoIterator<Item = &Item>
. This means we can seamlessly use vectors,
slices, etc. Read more
sourcefn deserialize_hex(s: &str) -> Result<Self, Self::Error>
fn deserialize_hex(s: &str) -> Result<Self, Self::Error>
Decodes a hex string to a Vec<u8>
, deserializes an instance of Self
from that vector.
sourcefn deserialize_base64(s: &str) -> Result<Self, Self::Error>
fn deserialize_base64(s: &str) -> Result<Self, Self::Error>
Serialize self
to a base64 string, using standard RFC4648 non-url safe characters
sourcefn serialize_hex(&self) -> String
fn serialize_hex(&self) -> String
Serializes self
to a vector, returns the hex-encoded vector
sourcefn serialize_base64(&self) -> String
fn serialize_base64(&self) -> String
Serialize self
to a base64 string, using standard RFC4648 non-url safe characters
sourceimpl<'de> Deserialize<'de> for Covenant
impl<'de> Deserialize<'de> for Covenant
sourcefn 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
impl Eq for Covenant
impl StructuralEq for Covenant
impl StructuralPartialEq for Covenant
Auto Trait Implementations
impl RefUnwindSafe for Covenant
impl Send for Covenant
impl Sync for Covenant
impl Unpin for Covenant
impl UnwindSafe for Covenant
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more