FIP-38 Deployment and rollout guide

This document will contain the working instructions for deploying FIP 38 onto the main net version of the FIO core and FIO contracts. Any issues discovered will be included here.

 

 

FIP-38 – there are new fees for this FIP. as well as a new ram bump.

Fee : the Fee for this new action will be set identically to the transfer_fio_pub_key call.

2 FIO will be used for dev and rollout. the present fee for transfer pub key is 1.76xxxx FIO, this value should be fine to use for rollout (bps will vote on the fee quickly)….

RAM Bump : the RAM bump will be 0. since we are making an account other than ourselves state use is none. a ram bump value of 0 and standard FIO ram bump logic will be added to permit easy adaptation should a ram bump be needed in the future for any reason for this call.

 

Branches used in rollout testing

 

fio repo new getter and endoint added, branch name is indicated in dev spec

FIPs 36-40 Development Spec

 

Actions added

newfioacc in fio.system.

./clio -u http://$host push action eosio addaction '{"action":"newfioacc","contract":"eosio","actor":"eosio"}' --permission eosio

 

Fees added

new_fio_chain_account

set this same as transfer_fio_pub_key

./clio -u http://localhost:8879 push action -f fio.fee createfee '{"end_point":"new_fio_chain_account","type":"0","suf_amount":"2000000000"}' --permission fio.fee@active

Contracts for deployment

fio.system –

fio.token --

changes to other contracts my be evident as a result of the changes to fio.common.

 

 

Instructions for contract rollout

test net

run smoke tests (which should include the newfioacc action).

main net

verify that the newfioacc action is present in the get_actions for the main net

verify that the fee for new_fio_chain_account is present on chain.

verify that the token and system contracts contain the new code (or that they match test net if this is appropriate).

OR

call the newfioacc action on main net and verify the created account and the fees (QA smoke tests may be used to this.)

also call the new core endpoint and verify the function of the new endpoint on several API nodes.