Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
sysio::chain::action_base Struct Reference

#include <action.hpp>

Inheritance diagram for sysio::chain::action_base:
Collaboration diagram for sysio::chain::action_base:

Public Member Functions

 action_base ()=default
 
 action_base (account_name acnt, action_name act, const vector< permission_level > &auth)
 
 action_base (account_name acnt, action_name act, vector< permission_level > &&auth)
 

Public Attributes

account_name account
 
action_name name
 
vector< permission_levelauthorization
 

Detailed Description

An action is performed by an actor, aka an account. It may be created explicitly and authorized by signatures or might be generated implicitly by executing application code.

This follows the design pattern of React Flux where actions are named and then dispatched to one or more action handlers (aka stores). In the context of sysio, every action is dispatched to the handler defined by account 'scope' and function 'name', but the default handler may also forward the action to any number of additional handlers. Any application can write a handler for "scope::name" that will get executed if and only if this action is forwarded to that application.

Each action may require the permission of specific actors. Actors can define any number of permission levels. The actors and their respective permission levels are declared on the action and validated independently of the executing application code. An application code will check to see if the required authorization were properly declared when it executes.

Definition at line 56 of file action.hpp.

Constructor & Destructor Documentation

◆ action_base() [1/3]

sysio::chain::action_base::action_base ( )
default

◆ action_base() [2/3]

sysio::chain::action_base::action_base ( account_name acnt,
action_name act,
const vector< permission_level > & auth )
inline

Definition at line 63 of file action.hpp.

64 : account(acnt), name(act), authorization(auth) {}
vector< permission_level > authorization
Definition action.hpp:59

◆ action_base() [3/3]

sysio::chain::action_base::action_base ( account_name acnt,
action_name act,
vector< permission_level > && auth )
inline

Definition at line 65 of file action.hpp.

66 : account(acnt), name(act), authorization(std::move(auth)) {}

Member Data Documentation

◆ account

account_name sysio::chain::action_base::account

Definition at line 57 of file action.hpp.

◆ authorization

vector<permission_level> sysio::chain::action_base::authorization

Definition at line 59 of file action.hpp.

◆ name

action_name sysio::chain::action_base::name

Definition at line 58 of file action.hpp.


The documentation for this struct was generated from the following file: