Struct Issue

Source
pub struct Issue {
    pub version: ReservedBytes<1>,
    pub meta: ContractMeta,
    pub codex: Codex,
    pub genesis: Genesis,
}
Expand description

Information on the issue of the contract.

Fields§

§version: ReservedBytes<1>

Version of the contract issue data structure.

This version defines an overall contract version. Operations and Genesis have independent versioning. Correspondence between these versions will be defined by the future consensus rules.

§Future use

For now, the only supported version is one; thus, a ReservedBytes is used.

In the future, with more versions coming, this should be replaced with an enum, where the first byte will encode (with standard strict encoding) a version number as an enum variant. For instance,

pub enum Issue {
    V0(IssueV0),
    V1(IssueV1)
}
pub struct IssueV0 { /*...*/ }
pub struct IssueV1 { /*...*/ }
§meta: ContractMeta

Contract metadata.

§codex: Codex

The codex under which the contract is issued and against which it must be validated.

§genesis: Genesis

Genesis operation.

Implementations§

Source§

impl Issue

Source

pub fn contract_id(&self) -> ContractId

Computes contract id.

Contract id is a commitment to the contract issue information, which includes contract metadata, codex, and genesis operation.

Source

pub fn codex_id(&self) -> CodexId

Compute codex id.

Shorthand for [Self::issue::codex_id()].

Source

pub fn genesis_opid(&self) -> Opid

Computes the operation id of the genesis operation.

Equals to the Genesis::opid called with Self::contract_id as an argument.

Trait Implementations§

Source§

impl Clone for Issue

Source§

fn clone(&self) -> Issue

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CommitEncode for Issue

Source§

type CommitmentId = ContractId

Type of the resulting commitment.
Source§

fn commit_encode(&self, e: &mut CommitEngine)

Encodes the data for the commitment by writing them directly into a std::io::Write writer instance
Source§

impl Debug for Issue

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Issue

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<Issue, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Issue

Source§

fn eq(&self, other: &Issue) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Issue

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StrictDecode for Issue

Source§

impl StrictDumb for Issue

Source§

impl StrictEncode for Issue

Source§

fn strict_encode<W>(&self, writer: W) -> Result<W, Error>
where W: TypedWrite,

Source§

fn strict_write(&self, writer: impl WriteRaw) -> Result<(), Error>

Source§

impl StrictStruct for Issue

Source§

impl StrictType for Issue

Source§

const STRICT_LIB_NAME: &'static str = LIB_NAME_ULTRASONIC

Source§

fn strict_name() -> Option<TypeName>

Source§

impl Eq for Issue

Source§

impl StrictProduct for Issue

Auto Trait Implementations§

§

impl Freeze for Issue

§

impl RefUnwindSafe for Issue

§

impl Send for Issue

§

impl Sync for Issue

§

impl Unpin for Issue

§

impl UnwindSafe for Issue

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> CommitId for T
where T: CommitEncode,

Source§

fn commit(&self) -> CommitEngine

Source§

fn commit_id(&self) -> <T as CommitEncode>::CommitmentId

Performs commitment to client-side-validated data
Source§

impl<T> CommitmentLayout for T

Source§

fn commitment_layout() -> CommitLayout

Generate a descriptive commitment layout, which includes a description of each encoded field and the used hashing strategies.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> VerifyEq for T
where T: Eq,

Source§

fn verify_eq(&self, other: &T) -> bool

Verifies commit-equivalence of two instances of the same type.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,