FIP-41 Deployment and rollout guide

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

 

Branches used in rollout testing

  • fio - release/3.3.x-dev

  • fio.contracts - release/2.7.x

  • fio.test - release/2.7.x_3.3.x

  • fio.devtools - release/2.7.x_3.3.x

  • fiosdk_typescript - release/1.6.x

 

Actions added

clrgenlocked eosio (fio.system)

This document will be expanded to contain comprehensive deployment and rollout instructions including instructions for BPs to rollout FIP-41.

 

 

Contracts for deployment

 

 

fio.address

fio.request.obt

fio.system

fio.token

fio.treasury

fio.staking

 

Hashes from local dev env

 

Choose(#):2
eosio.bios - Local WASM:
f891bfbce1d2bedd1c5ccdc58b5cabf3310ca725f3fbe101cb4dbeb72a3063ad
eosio.bios - Local ABI:
a9b0dabcb9b88c5e27329a2d9654cdc9582e4bcb7bc4a22778afb1621809a269
eosio.msig - Local WASM:
2013d5305edb1abd2bfedfa275bc331cdbba40e6276b40983a10578ac741a39a
eosio.bios - Local ABI:
09cf5914d9401fe5f409c0fed277ce19be01e45af1c5cf5a76da28bbf89590ff
Local
code hash: 2013d5305edb1abd2bfedfa275bc331cdbba40e6276b40983a10578ac741a39a
saving abi to bin/msig.abi
ABI:
9bcdcbf8112af710992abfc04928dc8edd84217a28ef07e6c3981c6f245979cd
Testnet
code hash: 2013d5305edb1abd2bfedfa275bc331cdbba40e6276b40983a10578ac741a39a
saving abi to bin/msig.abi
ABI:
9bcdcbf8112af710992abfc04928dc8edd84217a28ef07e6c3981c6f245979cd
Mainnet
code hash: 2013d5305edb1abd2bfedfa275bc331cdbba40e6276b40983a10578ac741a39a
saving abi to bin/msig.abi
ABI:
9bcdcbf8112af710992abfc04928dc8edd84217a28ef07e6c3981c6f245979cd
eosio.wrap - Local WASM:
4d9b06f62cb3f7666844883bf461535b7c04015f5fb28ad604a0bb0e952fd27d
eosio.wrap - Local ABI:
b4fd88829ba5a8e431ac0efd45d196e42de883d3cf96a45cecdc73cd2922c925
Local
code hash: 4d9b06f62cb3f7666844883bf461535b7c04015f5fb28ad604a0bb0e952fd27d
saving abi to bin/wrap.abi
ABI:
e3ef1e1e0f6d92dcddbb3093e9dde228c97cbc3ceb89d9359da23a6c9cc91b25
Testnet
code hash: 4d9b06f62cb3f7666844883bf461535b7c04015f5fb28ad604a0bb0e952fd27d
saving abi to bin/wrap.abi
ABI:
e3ef1e1e0f6d92dcddbb3093e9dde228c97cbc3ceb89d9359da23a6c9cc91b25
Mainnet
code hash: 4d9b06f62cb3f7666844883bf461535b7c04015f5fb28ad604a0bb0e952fd27d
saving abi to bin/wrap.abi
ABI:
e3ef1e1e0f6d92dcddbb3093e9dde228c97cbc3ceb89d9359da23a6c9cc91b25
fio.address - Local WASM:
945f4d075303f0e7a1505bb5a361396c811c2e83972e269b236d3ccea0ce2b35
fio.address - Local ABI:
a632386b4f7f1104e8a918b4374fa4d1954fa4d8093b75b958feca7d1b2b42dc
Local
code hash: 945f4d075303f0e7a1505bb5a361396c811c2e83972e269b236d3ccea0ce2b35
saving abi to bin/address.abi
ABI:
6f8cd49cf37c316e4046bc5861b6433b1d384e17e40dea87c9cadf9c8d41cad9
Testnet
code hash: aa1077380460fe73cb58ad9d108b09d4fb80aba7fe388ea9f1a88eae8b9ff3cf
saving abi to bin/address.abi
ABI:
c476382ddb376a0a10e71b3f5cefa1c2ad16a737bea662ea1ec040f3034b5d5b
Mainnet
code hash: aa1077380460fe73cb58ad9d108b09d4fb80aba7fe388ea9f1a88eae8b9ff3cf
saving abi to bin/address.abi
ABI:
c476382ddb376a0a10e71b3f5cefa1c2ad16a737bea662ea1ec040f3034b5d5b
fio.fee - Local WASM:
078282d69cbb956849d6c068f7a019643f45d09e54e927e97669875838a93ef8
fio.fee - Local ABI:
2c92dd648757f0780b24c5d9a0bac5d747c3188735f1edd68d3aa4be103b3ce3
Local
code hash: 078282d69cbb956849d6c068f7a019643f45d09e54e927e97669875838a93ef8
saving abi to bin/fee.abi
ABI:
a43f7c54b059c1c45038577c2a25b7ea144f97d6588424db04f36885b5e6186e
Testnet
code hash: 078282d69cbb956849d6c068f7a019643f45d09e54e927e97669875838a93ef8
saving abi to bin/fee.abi
ABI:
a43f7c54b059c1c45038577c2a25b7ea144f97d6588424db04f36885b5e6186e
Mainnet
code hash: 078282d69cbb956849d6c068f7a019643f45d09e54e927e97669875838a93ef8
saving abi to bin/fee.abi
ABI:
a43f7c54b059c1c45038577c2a25b7ea144f97d6588424db04f36885b5e6186e
fio.request.obt - Local WASM:
0c08ce68d28c896653ea71af481af2161e581be0073d6ee9222d679d998c915a
fio.request.obt - Local ABI:
14e3fdc7f97307ee719e53ab5ade3e322ec3df9a5b3293905929a07ffdaacac4
Local
code hash: 0c08ce68d28c896653ea71af481af2161e581be0073d6ee9222d679d998c915a
saving abi to bin/reqobt.abi
ABI:
b560d0517c42ca37f8f261435dbf69ec6801fed774238886da39136831a9e70d
Testnet
code hash: c6ccb6b541d738ff7d111eb5cd59304c84b584c65695d6d591d3e5340bfa2dea
saving abi to bin/reqobt.abi
ABI:
b560d0517c42ca37f8f261435dbf69ec6801fed774238886da39136831a9e70d
Mainnet
code hash: c6ccb6b541d738ff7d111eb5cd59304c84b584c65695d6d591d3e5340bfa2dea
saving abi to bin/reqobt.abi
ABI:
b560d0517c42ca37f8f261435dbf69ec6801fed774238886da39136831a9e70d
fio.system - Local WASM:
608a1a55eb519df83fe8c153c65c9fb678aed08ae63efa859e98651f3210ded4
fio.system - Local ABI:
971d440302c5fcf4e56c72afe62a868821faf6458e2a79343f3b78bf83e2fc21
Local
code hash: 608a1a55eb519df83fe8c153c65c9fb678aed08ae63efa859e98651f3210ded4
saving abi to bin/system.abi
ABI:
6255963bc37688b4418423850d19927e753d61e1e04aaabc5629127ea77e7fe4
Testnet
code hash: b8b6a0287a3df4c758a5ac2b5203ed14841bb232e8ae658979b458bbac60ac7c
saving abi to bin/system.abi
ABI:
a1a3e65c23a16a54bba5b67dc2ef4fce24fe44ae22e6a7cbbba6d3d8d2110b98
Mainnet
code hash: b8b6a0287a3df4c758a5ac2b5203ed14841bb232e8ae658979b458bbac60ac7c
saving abi to bin/system.abi
ABI:
a1a3e65c23a16a54bba5b67dc2ef4fce24fe44ae22e6a7cbbba6d3d8d2110b98
fio.token - Local WASM:
ce9c104d5d4e6e8929a55081f9e42a161dbeb8674c71acc3cce1bf12871ab074
fio.token - Local ABI:
3f48e5a83acc744a9efae9aa36cedf1c470408fc3870a2626fdf9a26e721c56e
Local
code hash: ce9c104d5d4e6e8929a55081f9e42a161dbeb8674c71acc3cce1bf12871ab074
saving abi to bin/token.abi
ABI:
33dfa02152f2dd3c332222c6e9cd4125777a6fc11d7eb99719d986d1fd12a867
Testnet
code hash: 894a23edc27760fc2ce66932aad8edfde0b4593b935d22adcbdf21c0b9d2685e
saving abi to bin/token.abi
ABI:
33dfa02152f2dd3c332222c6e9cd4125777a6fc11d7eb99719d986d1fd12a867
Mainnet
code hash: 894a23edc27760fc2ce66932aad8edfde0b4593b935d22adcbdf21c0b9d2685e
saving abi to bin/token.abi
ABI:
33dfa02152f2dd3c332222c6e9cd4125777a6fc11d7eb99719d986d1fd12a867
fio.tpid - Local WASM:
c5daf656ce601b79ba7f9c6c45fc4b4a7d7617ad38f75e2e68b574bce88d9cee
fio.tpid - Local ABI:
f9bfa79ef969423a270ad59059fd080574b8eabce6f9672e473262a64f8ebc2f
Local
code hash: c5daf656ce601b79ba7f9c6c45fc4b4a7d7617ad38f75e2e68b574bce88d9cee
saving abi to bin/tpid.abi
ABI:
633619e8ceab681c0a8b77e581894cb620a456b1f780770d47c8318a9687f6a1
Testnet
code hash: c5daf656ce601b79ba7f9c6c45fc4b4a7d7617ad38f75e2e68b574bce88d9cee
saving abi to bin/tpid.abi
ABI:
633619e8ceab681c0a8b77e581894cb620a456b1f780770d47c8318a9687f6a1
Mainnet
code hash: c5daf656ce601b79ba7f9c6c45fc4b4a7d7617ad38f75e2e68b574bce88d9cee
saving abi to bin/tpid.abi
ABI:
633619e8ceab681c0a8b77e581894cb620a456b1f780770d47c8318a9687f6a1
fio.treasury - Local WASM:
32d7df68a2fe460c159a91fc3ad49e55a82e1d9cffb23317b8534d14df7e1792
fio.tresury - Local ABI:
b02d2664e51f864abcc9554f298bb95090a334ccbbac712ffb2ad7f2657eaa93
Local
code hash: 32d7df68a2fe460c159a91fc3ad49e55a82e1d9cffb23317b8534d14df7e1792
saving abi to bin/treasury.abi
ABI:
6ffd52c70b6d3b1d5d6fab4f0d33eea8de1220d29d3c23c7d045d03784bca631
Testnet
code hash: f1ef3aa0f73d5e9f7a04fee1c5830075f8f8d497b1d96dbcab204c4474f5592e
saving abi to bin/treasury.abi
ABI:
6ffd52c70b6d3b1d5d6fab4f0d33eea8de1220d29d3c23c7d045d03784bca631
Mainnet
code hash: f1ef3aa0f73d5e9f7a04fee1c5830075f8f8d497b1d96dbcab204c4474f5592e
saving abi to bin/treasury.abi
ABI:
6ffd52c70b6d3b1d5d6fab4f0d33eea8de1220d29d3c23c7d045d03784bca631
fio.staking - Local WASM:
259fed47d8becca955ca793311883baee5b8e3b7d3a4aff832451d10d7f36f89
fio.staking - Local ABI:
0b1f1b0d7be35102945c5ab8db9891535c816a633093c048f13dc9efccf348c8
Local
code hash: 259fed47d8becca955ca793311883baee5b8e3b7d3a4aff832451d10d7f36f89
saving abi to bin/staking.abi
ABI:
b27aeb1eb8da5f0b7b1d9152a72f8b73a76101c62594a849487f64e2314ac8f8
Testnet
code hash: bb5e50708888a4fa0f04fb1ef2089435a478198bf7c92889d757a4cb68cb04ba
saving abi to bin/staking.abi
ABI:
b27aeb1eb8da5f0b7b1d9152a72f8b73a76101c62594a849487f64e2314ac8f8
Mainnet
code hash: bb5e50708888a4fa0f04fb1ef2089435a478198bf7c92889d757a4cb68cb04ba
saving abi to bin/staking.abi
ABI:
b27aeb1eb8da5f0b7b1d9152a72f8b73a76101c62594a849487f64e2314ac8f8

 

 

Instructions for contract rollout

FIP-41 contracts were built, then hashes compared, then the build image was copied to another location.

main net contracts were built. Then commands were run to deploy the FIP-41 changes onto the main net version.

 

 

First add the new action for clrgenlocked.

../fio/build/bin/clio -u http://localhost:8889 push action eosio addaction '{"action":"clrgenlocked","contract":"eosio","actor":"eosio"}' --permission eosio@active

 

Fee Analysis

No fees are changed or added for this project (explain why!!)

 

 

deploy necessary contracts

../fio/build/bin/clio -u http://localhost:8889 set contract -j eosio ../fio.contracts.fip41/build/contracts/fio.system fio.system.wasm fio.system.abi --permission eosio@active

../fio/build/bin/clio -u http://localhost:8889 set contract -j fio.address ../fio.contracts.fip41/build/contracts/fio.address fio.address.wasm fio.address.abi --permission fio.address@active

../fio/build/bin/clio -u http://localhost:8889 set contract -j fio.reqobt ../fio.contracts.fip41/build/contracts/fio.request.obt fio.request.obt.wasm fio.request.obt.abi --permission fio.reqobt@active

../fio/build/bin/clio -u http://localhost:8889 set contract -j fio.token ../fio.contracts.fip41/build/contracts/fio.token fio.token.wasm fio.token.abi --permission fio.token@active

../fio/build/bin/clio -u http://localhost:8889 set contract -j fio.treasury ../fio.contracts.fip41/build/contracts/fio.treasury fio.treasury.wasm fio.treasury.abi --permission fio.treasury@active

../fio/build/bin/clio -u http://localhost:8889 set contract -j fio.staking ../fio.contracts.fip41/build/contracts/fio.staking fio.staking.wasm fio.staking.abi --permission fio.staking@active

 

Contracts analysis

Summary of changes to each contract, and a statement of what changes MUST be achieved together.

 

Release manage TODO – (how do we roll back when a deployment goes bad!!!!)