Wire Sysio Wire Sysion 1.0.0
|
#include <sysio.wrap.hpp>
Public Types | |
using | exec_action = sysio::action_wrapper<"exec"_n, &wrap::exec> |
Public Member Functions | |
void | exec (ignore< name > executer, ignore< transaction > trx) |
The sysio.wrap
system contract allows block producers to bypass authorization checks or run privileged actions with 15/21 producer approval and thus simplifies block producers superuser actions. It also makes these actions easier to audit.
It does not give block producers any additional powers or privileges that do not already exist within the EOSIO based blockchains. As it is implemented, in an EOSIO based blockchain, 15/21 block producers can change an account's permissions or modify an account's contract code if they decided it is beneficial for the blockchain and community. However, the current method is opaque and leaves undesirable side effects on specific system accounts, and thus the sysio.wrap
contract solves this matter by providing an easier method of executing important governance actions.
The only action implemented by the sysio.wrap
system contract is the exec
action. This action allows for execution of a transaction, which is passed to the exec
method in the form of a packed transaction in json format via the 'trx' parameter and the executer
account that executes the transaction. The same executer
account will also be used to pay the RAM and CPU fees needed to execute the transaction.
Definition at line 15 of file sysio.wrap.hpp.
using sysio::wrap::exec_action = sysio::action_wrapper<"exec"_n, &wrap::exec> |
Definition at line 36 of file sysio.wrap.hpp.
void sysio::wrap::exec | ( | ignore< name > | executer, |
ignore< transaction > | trx ) |
Execute action.
Execute a transaction while bypassing regular authorization checks.
Preconditions:
Postconditions:
executer | - account executing the transaction, |
trx | - the transaction to be executed. |
Definition at line 5 of file sysio.wrap.cpp.