...
Summarize changes to fio and fio.contracts
System contract.
fio.system.hpp –
add the global4 table which will hold int32 total_staking_incentives_granted initialized to 0.
fio.system.cpp --
add new action to update staking incentives granted (updstkincgrn), special note, auth check that its the fio.token contract calling it.
Token Contract
fio.token.cpp --
modify trnsloctoks to implement the incentives logic, incentive computations, minting and transfer of new tokens, update of total staking incentives granted.
for minting, call issue of fio to the grant holder account for the specified amount of incentive.
call updstkincgrn to update incentive rewards accounting in global state.
New contract actions
trnsloctoks
addgenlocked
updstkincgrn
Note changes to structs and ABIs
new global4 table in system.
new actions trnsloctoks in token contract.
addgenlocked
, updstkincgrn in token system contract.
Detail any table updates or migrations
no table migrations are necessary.
Summary of risks, impacts and logistics analysis
performance testing of the trnsloctoks should be performed on dev box to ensure this new logic has time to run, if it succeeds on a dev box it should then be fine on other deployments.
functional testing will test this perf concern in all environments (dev local, dev net, test net)
...