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.

...

  • Batch #2 msigs can only be created 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 using g

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

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

...