Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

Notes on rollout:

  • The msigs must be executed in the order specified below

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

  • Batch #2 and #3 msigs can be created at the same time, but require a specific order of execution.

MSIGs - Batch #1

New Actions

./clio.sh push action eosio addaction '{"action":"wraptokens","contract":"fio.oracle","actor":"eosio"}' -p eosio

./clio.sh push action eosio addaction '{"action":"unwraptokens","contract":"fio.oracle","actor":"eosio"}' -p eosio

./clio.sh push action eosio addaction '{"action":"regoracle","contract":"fio.oracle","actor":"eosio"}' -p eosio

./clio.sh push action eosio addaction '{"action":"unregoracle","contract":"fio.oracle","actor":"eosio"}' -p eosio

./clio.sh push action eosio addaction '{"action":"setoraclefee","contract":"fio.oracle","actor":"eosio"}' -p eosio

./clio.sh push action eosio addaction '{"action":"wrapdomain","contract":"fio.oracle","actor":"eosio"}' -p eosio

./clio.sh push action eosio addaction '{"action":"unwrapdomain","contract":"fio.oracle","actor":"eosio"}' -p eosio

Validation: run get_actions to confirm new actions

New Fees

./clio.sh push action fio.fee createfee '{"end_point":"wrap_fio_tokens","type":"0","suf_amount":"390000000"}' -p fio.fee

./clio.sh push action fio.fee createfee '{"end_point":"wrap_fio_domain","type":"0","suf_amount":"390000000"}' -p fio.fee

Validation: look at fio.fee fiofees table to confirm new fees

Create account with permissions

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

{
   "creator": "eosio",
   "name": "fio.oracle",
   "owner": {
      "threshold": 1,
      "keys": [],
      "accounts": [{
         "permission": {"actor": "eosio", "permission": "active"},
         "weight": 1
      }],
      "waits": []
   },
   "active": {
      "threshold": 1,
      "keys": [],
      "accounts": [{
         "permission": {"actor": "eosio", "permission": "active"},
         "weight": 1
      },
      {
         "permission": {"actor": "fio.oracle", "permission": "eosio.code"},
         "weight": 1
      }],
      "waits": []
   }
}

Next create a new account with those permissions.

./clio.sh push action -j -s -d eosio newaccount newaccount_payload.json -p eosio@active

./clio.sh push action -j -s -d eosio fio.oracle payload.json -p eosio@active

Validation: compare account permissions on http://bloks.io to existing system account

MSIGs - Batch #2

Set the account to be privileged.

./clio.sh eosio setpriv '["fio.oracle",1]' -p eosio@active

Validation: get_account for fio.oracle should return: "privileged": true

Remove RAM limits on the new account

This may be called by eosio, and fio.system only!

./clio.sh push action eosio setnolimits '{"account":"fio.oracle"}' --permission eosio@active

Validation: get_account for fio.oracle should return: ”ram_quota": -1

MSIGs - Batch #3

Deploy EOSIO system contract

./clio.sh set contract eosio /opt/FIO/bin/Contracts/last/fio.system/ -p eosio

Validation: run fio.devtools “Contract Hashes” query to confirm ABI and contract hashes match.

Set the contract on the new fio.oracle account

./clio.sh set contract fio.oracle /opt/FIO/bin/Contracts/last/fio.oracle/ -p fio.oracle

Validation: run fio.devtools “Contract Hashes” query to confirm ABI and contract hashes match.

Set all other contracts that have changed for the release

  • No labels