I want to create an EOSIO token with additional functionality. For example, I want users to be able to claim() an additional token per day (since e.g. account creation date).
Should I create a new contract (e.g. ubi.cpp/ubi.hpp) and use the eosio.token source code as a template (i.e. derive my token class from contract, just like the eosio.token class does), or should I try to have e.g. an "ubi" class that subclasses "eosio.token" instead of "contract?"
I want the custom token to be compatible with all wallets and such, and work everywhere a vanilla eosio.token is expected.
I can't seem to find any tutorial on custom tokens that support additional actions. All token creation tutorials I can find are based on just using the standard eosio.token contract and invoking create/issue/etc to manipulate table entries.