[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

[FIP-40] Development - Spec

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