[FIP-40] Deployment and rollout guide
This document will contain the working instructions for deploying FIP 40 onto the main net version of the FIO core and FIO contracts. Any issues discovered will be included here.
Branches used in rollout testing
branch names are indicated in dev specie the links section
fio.devtools PR (contains all required updates).
https://github.com/fioprotocol/fio.devtools/pull/72
Contracts and accounts added
fio.perms account and contract added.
./clio -u <URL> create account eosio fio.perms <Key> <Key>
Permissions
./clio -u http://localhost:8879 push action eosio setpriv '["fio.perms",1]' -p eosio@active
Privileges
./clio -u http://localhost:8879 push action eosio setpriv '["fio.perms",1]' -p eosio@active
Actions added
clearperm
fio.perms contract
addperm
fio.perms contract
remperm
fio.perms contract.
./clio -u <URL> push action eosio addaction '{"action":"addperm","contract":"fio.perms","actor":"eosio"}' --permission eosio
./clio -u <URL> push action eosio addaction '{"action":"remperm","contract":"fio.perms","actor":"eosio"}' --permission eosio
./clio -u <URL> push action eosio addaction '{"action":"clearperm","contract":"fio.perms","actor":"eosio"}' --permission eosio
Fees added
SEE pr for fio.devtools.
for add perm the fee will be type 0, and 3 FIO
for remove perm the fee will be type 0 and 1 FIO.
we know the BPs will modify this with voting, but we completed analysis on main net fees of similar scale to get the 3 and 1.
Contracts for deployment
NOTE – hash comparison does not work on OS X at this time, please pull and build and compare hashes to verify this list. It may not be accurate at this time.
eosio.msig
fio.address
fio.perms
fio.staking
fio.system
fio.token
fio.tpid
fio.treasury
./clio -u <URL> set contract -j fio.perms $fio_perms_name_path fio.perms.wasm fio.perms.abi --permission fio.perms@active
FIO Core Endpoints added
getters and action endpoints have been added, please see FIO repo PR and FIP
https://github.com/fioprotocol/fips/blob/master/fip-0040.md
PR for fio repository is in development (should be published by April 21 to GitHub).
there are no forking changes.
Documentation (this must be addressed as part of release with the release)
FIO permissions – description of permissions and process of adding new ones.
emphasizing the 100 grantee limit chosen and why.
document the new permission in FIO, and how to use it for users.
SDK (there are no sdk impacts of this FIP)
Instructions for contract rollout
test using FIP-40 tests in fio.test. combined with regression testing of chain.
the General tests should be run and these tests should include the FIP-40 dev tests (which are QA level tests for the fip).