Versions Compared

Key

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

Overview

This document covers the upgrade to the FIO Protocol release of Fio 3.5 (core) and Fio.Contracts 2.9.

Guidance

For this release, the BPs will execute the MSIGs mSigs will be executed in 3 parts, as noted by in the section headings: Batch #1, and Batch #2, and Batch #3.

  • Batch #2 msigs can may only be created executed after Batch #1 msigs are executed since they need the fio.perms account to exist in order to set the privilege and RAM limits.

...

[FIP-47] Deployment and rollout guide : Fio Contracts Update (use regproducer to update info)

Add new actions (Batch #1)

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

...

Validation (Postman): Verify new actions exist

Create new fees (Batch #1)

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

...

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

Validation:

Create account and set permissions (Batch #1)

(This must be done before Batch #2 msigs are created)

First, create a file called “payload.json” with the following permissions:

...

./clio -u http://localhost:8889 push action -j -s -d eosio newaccount payload.json -p eosio@active

Validation:

  • View account Insert Account Creation mSig here and compare to FIO System account (specifically permissions)

  • System account may be retrieved via Postman at https://fiotestnet.greymass.com/v1/chain/get_account

Add additional new action [See BD-4580] (Batch #2)

./clio -u http://localhost:8889 push action eosio addaction '{"action":"burndomain","contract":"fio.address","actor":"eosio"}' --permission eosio

Create account to be privileged and set RAM limits. (Batch #2)

Set the account to be privileged.

./clio -u http://localhost:8889 push action eosio setpriv '["fio.perms",1]' -p eosio@active

Validation:

  • Postman

    • https://fiotestnet.greymass.com/v1/chain/get_account

      • account = fio.perms

      • Expected Result: "privileged": true

...

./clio -u http://localhost:8889 push action eosio setnolimits '{"account":"fio.perms"}' --permission eosio@active

Validation:

Deploy EOSIO system contract (Batch #3)

./clio -u http://localhost:8889 set contract -j eosio /opt/FIO/bin/Contracts/last/fio.system fio.system.wasm fio.system.abi -p eosio@active

Deploy any new system contracts and set each contract on the new account (Batch #3)

./clio -u http://localhost:8889 set contract -j fio.perms /opt/FIO/bin/Contracts/last/fio.perms -p fio.perms@active

...

Set all other contracts (Batch #3)

./clio -u http://localhost:8889 set contract -j eosio.msig /opt/FIO/bin/Contracts/last/eosio.msig eosio.msig.wasm eosio.msig.abi -p eosio.msig@active

...

TESTNET: ./clio.sh push action fio.escrow setmrkplcfg '{"actor":"p325sqluvj4u", "listing_fee": "5000000000", "commission_fee": 3, "max_fee": "1000000000", "e_break": 0}' -p eosio@active

MAINNET: ./clio.sh push action fio.escrow setmrkplcfg '{"actor":"q3k31xlj413z", "listing_fee": "5000000000", "commission_fee": 3, "max_fee": "1000000000", "e_break": 0}' -p eosio@active

Validation: check fio.escrow mrkplconfigs table to confirm account was added

Testnet example:https://fio-test.bloks.io/msig/bsbdk2lectan/setmrkplcfg

TODO: Remove once script is finalized.

Examples

Fee: Testnet example: https://fio-test.bloks.io/msig/gws1hlwlqhq1/fiocreatefee

New Account: Testnet example: https://fio-test.bloks.io/msig/bsbdk2lectan/crtfioescrow2

Privileges: Testnet example: https://fio-test.bloks.io/msig/un3emex141fp/setpriv.a

Contract Update: Testnet example: https://fio-test.bloks.io/msig/bsbdk2lectan/updfiosys

Set contract on Account: Testnet example: https://fio-test.bloks.io/msig/bsbdk2lectan/crtfioesc

Marketplace Account: Testnet example: https://fio-test.bloks.io/msig/bsbdk2lectan/setmrkplcfg

...