System
Defines wrappers over eosio_assert. More...
Functions
Detailed Description
Defines time related functions and eosio_exit. Defines API for interacting with system level intrinsics.
Functions Documentation
function eosio_assert
void eosio_assert(
uint32_t test,
const char * msg
)
Aborts processing of this action and unwinds all pending changes if the test condition is true
Parameters:
- test - 0 to abort, 1 to ignore
Example:
eosio_assert(1 == 2, "One is not equal to two.");
eosio_assert(1 == 1, "One is not equal to one.");
Parameters:
- msg - a null terminated string explaining the reason for failure
function eosio_assert_message
void eosio_assert_message(
uint32_t test,
const char * msg,
uint32_t msg_len
)
Aborts processing of this action and unwinds all pending changes if the test condition is true
Parameters:
- test - 0 to abort, 1 to ignore
- msg - a pointer to the start of string explaining the reason for failure
- msg_len - length of the string
function eosio_assert_code
void eosio_assert_code(
uint32_t test,
uint64_t code
)
Aborts processing of this action and unwinds all pending changes.
Aborts processing of this action and unwinds all pending changes if the test condition is true
Parameters:
- test - 0 to abort, 1 to ignore
- code - the error code
function eosio_exit
void eosio_exit(
int32_t code
)
This method will abort execution of wasm without failing the contract. This is used to bypass all cleanup / destructors that would normally be called.
Parameters:
- code - the exit code Example:
eosio_exit(0);
eosio_exit(1);
eosio_exit(2);
eosio_exit(3);
This method will abort execution of wasm without failing the contract. This is used to bypass all cleanup / destructors that would normally be called.
** WARNING: this method will immediately abort execution of wasm code that is on the stack and would be executed as the method normally returned. Problems can occur with write-caches, RAII, reference counting when this method aborts execution of wasm code immediately. **Parameters:
- code - the exit code Example:
eosio_exit(0);
eosio_exit(1);
eosio_exit(2);
eosio_exit(3);
function current_time
uint64_t current_time(
void
)
Returns the time in microseconds from 1970 of the current block
Returns:
time in microseconds from 1970 of the current block
function is_feature_activated
bool is_feature_activated(
const struct capi_checksum256 * feature_digest
)
Check if specified protocol feature has been activated
Parameters:
- feature_digest - digest of the protocol feature
Returns:
true if the specified protocol feature has been activated, false otherwise
function get_sender
capi_name get_sender(
void
)
Return name of account that sent current inline action
Returns:
name of account that sent the current inline action (empty name if not called from inline action)
function eosio_exit
void eosio::eosio_exit(
int32_t code
)
This method will abort execution of wasm without failing the contract. This is used to bypass all cleanup / destructors that would normally be called.
** WARNING: this method will immediately abort execution of wasm code that is on the stack and would be executed as the method normally returned. Problems can occur with write-caches, RAII, reference counting when this method aborts execution of wasm code immediately. **Parameters:
- code - the exit code Example:
eosio_exit(0);
eosio_exit(1);
eosio_exit(2);
eosio_exit(3);
function current_time_point
time_point eosio::current_time_point()
Returns the time in microseconds from 1970 of the current block as a time_point
Returns:
time in microseconds from 1970 of the current block as a time_point
function current_block_time
block_timestamp eosio::current_block_time()
Returns the time in microseconds from 1970 of the current block as a block_timestamp
Returns:
time in microseconds from 1970 of the current block as a block_timestamp
function is_feature_activated
bool eosio::is_feature_activated(
const checksum256 & feature_digest
)
Check if specified protocol feature has been activated
Parameters:
- feature_digest - digest of the protocol feature
Returns:
true if the specified protocol feature has been activated, false otherwise
function get_sender
name eosio::get_sender()
Return name of account that sent current inline action
Returns:
name of account that sent the current inline action (empty name if not called from inline action)
function check
void eosio::check(
bool pred,
std::string_view msg
)
Assert if the predicate fails and use the supplied message. Example:
eosio::check(a == b, "a does not equal b");
function check
void eosio::check(
bool pred,
const char * msg
)
Assert if the predicate fails and use the supplied message. Example:
eosio::check(a == b, "a does not equal b");
function check
void eosio::check(
bool pred,
const std::string & msg
)
Assert if the predicate fails and use the supplied message. Example:
eosio::check(a == b, "a does not equal b");
function check
void eosio::check(
bool pred,
std::string && msg
)
Assert if the predicate fails and use the supplied message. Example:
eosio::check(a == b, "a does not equal b");
function check
void eosio::check(
bool pred,
const char * msg,
size_t n
)
Assert if the predicate fails and use a subset of the supplied message. Example:
const char* msg = "a does not equal b b does not equal a";
eosio::check(a == b, "a does not equal b", 18);
function check
void eosio::check(
bool pred,
const std::string & msg,
size_t n
)
Assert if the predicate fails and use a subset of the supplied message. Example:
std::string msg = "a does not equal b b does not equal a";
eosio::check(a == b, msg, 18);
function check
void eosio::check(
bool pred,
uint64_t code
)
Assert if the predicate fails and use the supplied error code. Example:
eosio::check(a == b, 13);