MessageSpec

Struct MessageSpec 

Source
pub struct MessageSpec<F: Form = MetaForm> { /* private fields */ }
Expand description

Describes a contract message.

Implementations§

Source§

impl MessageSpec

Source

pub fn from_name( name: &'static str, ) -> MessageSpecBuilder<Missing<Selector>, Missing<Mutates>, Missing<IsPayable>, Missing<Returns>>

Creates a new message spec builder.

Source

pub fn from_trait_and_name( trait_name: &'static str, message_name: &'static str, ) -> MessageSpecBuilder<Missing<Selector>, Missing<Mutates>, Missing<IsPayable>, Missing<Returns>>

Creates a new message spec builder for a trait provided message.

Source§

impl<F> MessageSpec<F>
where F: Form,

Source

pub fn name(&self) -> &[F::String]

Returns the name of the message and some optional prefixes.

In case of trait provided messages and constructors the prefix by convention in pro! is the name of the trait.

Source

pub fn selector(&self) -> &Selector

Returns the selector hash of the message.

Source

pub fn mutates(&self) -> bool

Returns true if the message is allowed to mutate the contract state.

Source

pub fn payable(&self) -> bool

Returns true if the message is payable by the caller.

Source

pub fn args(&self) -> &[MessageParamSpec<F>]

Returns the parameters of the message.

Source

pub fn return_type(&self) -> &ReturnTypeSpec<F>

Returns the return type of the message.

Source

pub fn docs(&self) -> &[F::String]

Returns the message documentation.

Trait Implementations§

Source§

impl<F: Debug + Form> Debug for MessageSpec<F>
where F::String: Debug,

Source§

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

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

impl<'de, F: Form> Deserialize<'de> for MessageSpec<F>

Source§

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 IntoPortable for MessageSpec

Source§

type Output = MessageSpec<PortableForm>

The portable version of Self.
Source§

fn into_portable(self, registry: &mut Registry) -> Self::Output

Convert self to the portable form by using the registry for caching.
Source§

impl<F: PartialEq + Form> PartialEq for MessageSpec<F>
where F::String: PartialEq,

Source§

fn eq(&self, other: &MessageSpec<F>) -> 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<F: Form> Serialize for MessageSpec<F>
where F::Type: Serialize, F::String: Serialize,

Source§

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

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

impl<F: Eq + Form> Eq for MessageSpec<F>
where F::String: Eq,

Source§

impl<F: Form> StructuralPartialEq for MessageSpec<F>

Auto Trait Implementations§

§

impl<F> Freeze for MessageSpec<F>
where <F as Form>::Type: Freeze,

§

impl<F> RefUnwindSafe for MessageSpec<F>
where <F as Form>::String: RefUnwindSafe, <F as Form>::Type: RefUnwindSafe,

§

impl<F> Send for MessageSpec<F>
where <F as Form>::String: Send, <F as Form>::Type: Send,

§

impl<F> Sync for MessageSpec<F>
where <F as Form>::String: Sync, <F as Form>::Type: Sync,

§

impl<F> Unpin for MessageSpec<F>
where <F as Form>::String: Unpin, <F as Form>::Type: Unpin,

§

impl<F> UnwindSafe for MessageSpec<F>
where <F as Form>::String: UnwindSafe, <F as Form>::Type: UnwindSafe,

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> 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, 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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,