CDT  v4.2.0
инструменты разработчика

◆ EOSIO_DISPATCH

#define EOSIO_DISPATCH (   TYPE,
  MEMBERS 
)
Макроопределение:
extern "C" { \
[[eosio::wasm_entry]] \
void apply( uint64_t receiver, uint64_t code, uint64_t action ) { \
if( code == receiver ) { \
switch( action ) { \
EOSIO_DISPATCH_HELPER( TYPE, MEMBERS ) \
} \
/* does not allow destructor of thiscontract to run: eosio_exit(0); */ \
} \
} \
} \

Удобный макрос для создания обработчика apply контракта

Заметки
Чтобы использовать макрос, класс контракта должен наследовать eosio::contract
Аргументы
TYPE— имя класса контракта
MEMBERS— последовательность поддерживаемых действий контракта

Пример:

EOSIO_DISPATCH( eosio::bios, (setpriv)(setalimits)(setglimits)(setprods)(reqauth) )

См. определение в файле dispatcher.hpp строка 120