pub struct Module<Accounts: API> { /* private fields */ }

Trait Implementations§

source§

impl<Accounts: API> BlockHandler for Module<Accounts>

source§

fn end_block<C: Context>(ctx: &C)

Perform any common actions at the end of the block (after all transactions have been executed).
source§

fn begin_block<C: Context>(_ctx: &C)

Perform any common actions at the start of the block (before any transactions have been executed).
source§

impl<Accounts: API> InvariantHandler for Module<Accounts>

source§

fn check_invariants<C: Context>(_ctx: &C) -> Result<(), Error>

Check invariants.
source§

impl<Accounts: API> MethodHandler for Module<Accounts>

source§

fn dispatch_query<C: Context>( ctx: &C, method: &str, args: Value ) -> DispatchResult<Value, Result<Value, RuntimeError>>

Dispatch a query.
source§

fn prefetch( _prefixes: &mut BTreeSet<Prefix>, _method: &str, body: Value, _auth_info: &AuthInfo ) -> DispatchResult<Value, Result<(), RuntimeError>>

Add storage prefixes to prefetch.
source§

fn dispatch_call<C: Context>( _ctx: &C, _method: &str, body: Value ) -> DispatchResult<Value, CallResult>

Dispatch a call.
source§

fn dispatch_message_result<C: Context>( _ctx: &C, _handler_name: &str, result: MessageResult ) -> DispatchResult<MessageResult, ()>

Dispatch a message result.
source§

fn supported_methods() -> Vec<MethodHandlerInfo>

Lists the names of all RPC methods exposed by this module. The result is informational only. An empty return vector means that the implementor does not care to list the methods, or the implementor is a tuple of modules.
source§

fn is_expensive_query(_method: &str) -> bool

Checks whether the given query method is tagged as expensive.
source§

fn is_allowed_private_km_query(_method: &str) -> bool

Checks whether the given query is allowed to access private key manager state.
source§

fn is_allowed_interactive_call(_method: &str) -> bool

Checks whether the given call is allowed to be called interactively via read-only transactions.
source§

impl<Accounts: API> MigrationHandler for Module<Accounts>

§

type Genesis = Genesis

Genesis state type. Read more
source§

fn init_or_migrate<C: Context>( _ctx: &C, meta: &mut Metadata, genesis: Self::Genesis ) -> bool

Initialize state from genesis or perform a migration. Read more
source§

impl<Accounts: API> Module for Module<Accounts>

source§

const NAME: &'static str = MODULE_NAME

Module name.
source§

const VERSION: u32 = 2u32

Module version.
§

type Error = Error

Module error type.
§

type Event = ()

Module event type.
§

type Parameters = Parameters

Module parameters.
source§

fn params() -> Self::Parameters

Return the module’s parameters.
source§

fn set_params(params: Self::Parameters)

Set the module’s parameters.
source§

impl<Accounts: API> TransactionHandler for Module<Accounts>

source§

fn approve_raw_tx<C: Context>(_ctx: &C, _tx: &[u8]) -> Result<(), Error>

Judge if a raw transaction is good enough to undergo decoding. This takes place before even decoding the transaction.
source§

fn approve_unverified_tx<C: Context>( _ctx: &C, _utx: &UnverifiedTransaction ) -> Result<(), Error>

Judge if an unverified transaction is good enough to undergo verification. This takes place before even verifying signatures.
source§

fn decode_tx<C: Context>( _ctx: &C, _scheme: &str, _body: &[u8] ) -> Result<Option<Transaction>, Error>

Decode a transaction that was sent with module-controlled decoding and verify any signatures. Read more
source§

fn authenticate_tx<C: Context>(_ctx: &C, _tx: &Transaction) -> Result<(), Error>

Authenticate a transaction. Read more
source§

fn before_handle_call<C: Context>(_ctx: &C, _call: &Call) -> Result<(), Error>

Perform any action after authentication, within the transaction context. Read more
source§

fn after_handle_call<C: Context>( _ctx: &C, result: CallResult ) -> Result<CallResult, Error>

Perform any action after call, within the transaction context. Read more
source§

fn after_dispatch_tx<C: Context>( _ctx: &C, _tx_auth_info: &AuthInfo, _result: &CallResult )

Perform any action after dispatching the transaction, in batch context.

Auto Trait Implementations§

§

impl<Accounts> RefUnwindSafe for Module<Accounts>
where Accounts: RefUnwindSafe,

§

impl<Accounts> Send for Module<Accounts>
where Accounts: Send,

§

impl<Accounts> Sync for Module<Accounts>
where Accounts: Sync,

§

impl<Accounts> Unpin for Module<Accounts>
where Accounts: Unpin,

§

impl<Accounts> UnwindSafe for Module<Accounts>
where Accounts: 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
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self, E>

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<M> ModuleInfoHandler for M
where M: Module + MethodHandler,

source§

fn module_info<C>(_ctx: &C) -> BTreeMap<String, ModuleInfo>
where C: Context,

Reports info about the module (or modules, if Self is a tuple).
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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

§

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> SendSyncUnwindSafe for T
where T: Send + Sync + UnwindSafe + ?Sized,