Struct oasis_runtime_sdk::modules::consensus::Module

source ·
pub struct Module;

Implementations§

source§

impl Module

source

pub fn init(genesis: Genesis)

Trait Implementations§

source§

impl API for Module

source§

fn transfer<C: Context>( ctx: &C, to: Address, amount: &BaseUnits, hook: MessageEventHookInvocation, ) -> Result<(), Error>

Transfer an amount from the runtime account.
source§

fn withdraw<C: Context>( ctx: &C, from: Address, amount: &BaseUnits, hook: MessageEventHookInvocation, ) -> Result<(), Error>

Withdraw an amount into the runtime account.
source§

fn escrow<C: Context>( ctx: &C, to: Address, amount: &BaseUnits, hook: MessageEventHookInvocation, ) -> Result<(), Error>

Escrow an amount of the runtime account funds.
source§

fn reclaim_escrow<C: Context>( ctx: &C, from: Address, shares: u128, hook: MessageEventHookInvocation, ) -> Result<(), Error>

Reclaim an amount of runtime staked shares.
source§

fn consensus_denomination() -> Result<Denomination, Error>

Returns consensus token denomination.
source§

fn ensure_compatible_tx_signer() -> Result<(), Error>

Ensures transaction signer is consensus compatible.
source§

fn account<C: Context>( ctx: &C, addr: Address, ) -> Result<ConsensusAccount, Error>

Query consensus account info.
source§

fn delegation<C: Context>( ctx: &C, delegator_addr: Address, escrow_addr: Address, ) -> Result<ConsensusDelegation, Error>

Query consensus delegation info.
source§

fn amount_from_consensus<C: Context>( _ctx: &C, amount: u128, ) -> Result<u128, Error>

Convert runtime amount to consensus amount, scaling as needed.
source§

fn amount_to_consensus<C: Context>( _ctx: &C, amount: u128, ) -> Result<u128, Error>

Convert consensus amount to runtime amount, scaling as needed.
source§

fn height_for_epoch<C: Context>(ctx: &C, epoch: EpochTime) -> Result<u64, Error>

Determine consensus height corresponding to the given epoch transition. This query may be expensive in case the epoch is far back.
source§

fn round_roots<C: Context>( ctx: &C, runtime_id: Namespace, round: u64, ) -> Result<Option<RoundRoots>, Error>

Round roots return the round roots for the given runtime ID and round.
source§

impl BlockHandler for Module

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§

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

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

impl InvariantHandler for Module

source§

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

Check invariants.
source§

impl MethodHandler for Module

source§

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

Dispatch a call.
source§

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

Dispatch a query.
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 prefetch( _prefixes: &mut BTreeSet<Prefix>, _method: &str, body: Value, _auth_info: &AuthInfo, ) -> DispatchResult<Value, Result<(), RuntimeError>>

Add storage prefixes to prefetch.
source§

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

Dispatch a message result.
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 MigrationHandler for Module

§

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 Module for Module

source§

const NAME: &'static str = MODULE_NAME

Module name.
source§

const VERSION: u32 = 1u32

Module version.
§

type Error = Error

Module error type.
§

type Event = 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 TransactionHandler for Module

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<AuthDecision, 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 before_authorized_call_dispatch<C: Context>( _ctx: &C, _call: &Call, ) -> Result<(), Error>

Perform any action after authentication and decoding, 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 Freeze for Module

§

impl RefUnwindSafe for Module

§

impl Send for Module

§

impl Sync for Module

§

impl Unpin for Module

§

impl UnwindSafe for Module

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,