Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Summarize changes to fio and fio.contracts

  • FIP-6

  • FIP-21

    • 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 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)

...

  • Note functional updates needed for SDKs

Functional Test plan

...

  • FIP-6

  • FIP-21

    • transfer locked tokens for each specific reward timeframe, note the resulting amounts are correct

    • transfer locked tokens for other timeframes, note no incentives are given (one period, multi period).

    • verify unlocking logic of both incentivized and non incentivized grants.

    • verify the behavior of the total_staking_incentives_granted on a per event basis.

    • verify the behavior of the incentive given when the total_staking_incentives_granted is close to the threshold and less FIO are available than the computed incentive.

    • perform complete parameter testing.

Performance Testing plan

  • List all of the pertinent tests, required setup, and expected resultssend the max number of locking periods (50), do this for 1000 users, verify unlocking occurs without incident for individuals.

Fork Testing plan

  • List all of the pertinent tests, required setup, and expected results.List all pertinent tests pertaining to testing with different versions of the core code.

  • List all pertinent tests pertaining to pre-contracts update and post contracts update

Rollout/Release plan

  • make a comprehensive list of all necessary changes

  • include (new actions, removed actions, MSIGs for all required operations, and step by step instructions.this is not a forking change. the chain code modifications associated with FIP-6 will be released at a later time.

Rollout/Release plan6

  • new actions

  • removed actions

  • MSIGs

Rollout/Release verification plan

  • include step by set instructions for how to verify that the changes are on chain after rollout.

  • Bonus points if you make an automated script performing the verificationsverification of rollout.

    • verify the locktokens table is present.

    • verify the abi for the system and the token contract, verify all new actions are present.

    • verify using get_actions that the new actions are present.