Struct Issuer

Source
pub struct Issuer { /* private fields */ }
Expand description

An issuer contains information required for the creation of a contract and interaction with an existing contract.

§Invariance

The structure provides the following invariance guarantees:

  • all the API codex matches the codex under which the contract was issued;
  • all the API ids are unique;
  • all custom APIs have unique names.

Implementations§

Source§

impl Issuer

Source

pub fn load<E>( path: impl AsRef<Path>, sig_validator: impl FnOnce(StrictHash, &Identity, &SigBlob) -> Result<(), E>, ) -> Result<Self, DeserializeError>

Available on crate feature binfile only.
Source

pub fn save(&self, path: impl AsRef<Path>) -> Result<()>

Available on crate feature binfile only.
Source§

impl Issuer

Source

pub fn new(codex: Codex, semantics: Semantics) -> Result<Self, SemanticError>

Construct issuer from a codex and its semantics.

Source

pub fn with<E>( codex: Codex, semantics: Semantics, sig: SigBlob, sig_validator: impl FnOnce(StrictHash, &Identity, &SigBlob) -> Result<(), E>, ) -> Result<Self, SemanticError>

Construct issuer from a codex and signed semantics.

Source

pub fn dismember(self) -> (Codex, Semantics)

Source

pub fn issuer_id(&self) -> IssuerId

Compute an issuer id, which includes information about the codex id, API version and checksum.

Source

pub fn codex_id(&self) -> CodexId

Compute a codex id.

Source

pub fn codex(&self) -> &Codex

Get a reference to the underlying codex.

Source

pub fn codex_name(&self) -> &TinyString

Get the name of the underlying codex.

Source

pub fn semantics(&self) -> &Semantics

Get a reference to the contract semantic.

Source

pub fn default_api(&self) -> &Api

Get a reference to the default API.

Source

pub fn custom_apis(&self) -> impl Iterator<Item = (&TypeName, &Api)>

Get an iterator over the custom APIs.

Source

pub fn types(&self) -> &TypeSystem

Get a reference to the type system.

Source

pub fn apis(&self) -> impl Iterator<Item = &Api>

Iterates over all APIs, including the default and the named ones.

Source

pub fn codex_libs(&self) -> impl Iterator<Item = &Lib>

Iterates over all codex libraries.

Source

pub fn is_signed(&self) -> bool

Detect whether the issuer is signed.

Source

pub fn call_id(&self, method: impl Into<MethodName>) -> CallId

Get a CallId for a method from the default API.

§Panics

If the method name is not known.

Source§

impl Issuer

Source

pub fn start_issue( self, method: impl Into<MethodName>, consensus: Consensus, testnet: bool, ) -> IssueBuilder

Source

pub fn start_issue_mainnet( self, method: impl Into<MethodName>, consensus: Consensus, ) -> IssueBuilder

Source

pub fn start_issue_testnet( self, method: impl Into<MethodName>, consensus: Consensus, ) -> IssueBuilder

Source

pub fn issue(self, params: IssueParams) -> Articles

Trait Implementations§

Source§

impl Clone for Issuer

Source§

fn clone(&self) -> Issuer

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 Debug for Issuer

Source§

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

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

impl LibRepo for Issuer

Source§

fn get_lib(&self, lib_id: LibId) -> Option<&Lib>

Get a specific library with the provided id. Read more
Source§

impl PartialEq for Issuer

Source§

fn eq(&self, other: &Issuer) -> 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 StrictDumb for Issuer

Source§

fn strict_dumb() -> Self

Source§

impl StrictEncode for Issuer

Source§

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

Source§

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

Source§

impl StrictStruct for Issuer

Source§

impl StrictType for Issuer

Source§

const STRICT_LIB_NAME: &'static str = LIB_NAME_SONIC

Source§

fn strict_name() -> Option<TypeName>

Source§

impl Eq for Issuer

Source§

impl StrictProduct for Issuer

Source§

impl StructuralPartialEq for Issuer

Auto Trait Implementations§

§

impl Freeze for Issuer

§

impl RefUnwindSafe for Issuer

§

impl Send for Issuer

§

impl Sync for Issuer

§

impl Unpin for Issuer

§

impl UnwindSafe for Issuer

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<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.