In contract we have two way to call another action:
- Use 'action'
action(permission_level{get_self(), eosio::name{"active"}},
eosio::name{"eosio"},
eosio::name{"buyrambytes"},
std::make_tuple(get_self(), name, 512)
)
.send();
- Use 'action_wrapper':
eosiosystem::system_contract::buyrambytes_action buyram{"eosio"_n, {get_self(), "active"_n}};
buyram.send(get_self(), name, 512);
Please explain the difference between them.
Thank you!