Marketplace Dev Net Rollout Verification
Purpose --
The purpose of this document is to capture the activities performed in the validation of the contract rollout procedures associated with the marketplace project.
Local Development Box verification of rollout commands
We will set up a local dev box with the main net versions, then we will execute the marketplace commands to upgrade the contracts as necessary for test net and main net, all issues will be documented and resolved.
Main Net versions
fio.test release/2.6.x_3.2.x
fio.contracts release/2.6.x
fio release/3.2.x-dev
fio.devtools release/2.6.x_3.2.x
Marketplace versions
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
Commands used
Add actions
clio -u http://localhost:8889 push action eosio addaction '{"action":"listdomain","contract":"fio.escrow","actor":"eosio"}' --permission eosio
clio -u http://localhost:8889 push action eosio addaction '{"action":"cxlistdomain","contract":"fio.escrow","actor":"eosio"}' --permission eosio
clio -u http://localhost:8889 push action eosio addaction '{"action":"buydomain","contract":"fio.escrow","actor":"eosio"}' --permission eosio
clio -u http://localhost:8889 push action eosio addaction '{"action":"setmrkplcfg","contract":"fio.escrow","actor":"eosio"}' --permission eosio
clio -u http://localhost:8889 push action eosio addaction '{"action":"cxburned","contract":"fio.escrow","actor":"eosio"}' --permission eosio
clio -u http://localhost:8889 push action eosio addaction '{"action":"xferescrow","contract":"fio.address","actor":"eosio"}' --permission eosio
Fee commands
clio -u http://localhost:8889 push action -f fio.fee createfee '{"end_point":"list_domain","type":"0","suf_amount":"321768535"}' --permission fio.fee@active
clio -u http://localhost:8889 push action -f fio.fee createfee '{"end_point":"cancel_list_domain","type":"0","suf_amount":"162975491"}' --permission fio.fee@active
clio -u http://localhost:8889 push action -f fio.fee createfee '{"end_point":"buy_domain","type":"0","suf_amount":"162975491"}' --permission fio.fee@active
clio -u http://localhost:8889 push action -f fio.fee createfee '{"end_point":"set_marketplace_config","type":"0","suf_amount":"162975491"}' --permission fio.fee@active
Deploy Sys contract
clio -u http://localhost:8889 set contract eosio ~/fio.contracts/build/contracts/fio.system fio.system.wasm fio.system.abi --permission eosio@active
Create escrow contract
clio -u http://localhost:8889 create account eosio fio.escrow FIO7isxEua78KPVbGzKemH4nj2bWE52gqj8Hkac3tc7jKNvpfWzYS FIO7isxEua78KPVbGzKemH4nj2bWE52gqj8Hkac3tc7jKNvpfWzYS -p eosio@active
Set account permissions
clio -u http://localhost:8889 push action fio.token issue '["fio.escrow","10000.000000000 FIO","memo"]' -p eosio@active
clio -u http://localhost:8889 set account permission fio.escrow active '{"threshold": 1,"keys": [{"key": "FIO7isxEua78KPVbGzKemH4nj2bWE52gqj8Hkac3tc7jKNvpfWzYS","weight": 1}],"accounts": [{"permission":{"actor":"fio.escrow","permission":"eosio.code"},"weight":1}]}}' 4000000000 owner -p fio.escrow@owner
clio -u http://localhost:8889 push action eosio setpriv '["fio.escrow",1]' -p eosio@active
clio -u http://localhost:8889 push action eosio setnolimits '{"account":"fio.escrow"}' --permission eosio@active
Set the Escrow contract
clio -u http://localhost:8889 set contract fio.escrow ~/fio.contracts/build/contracts/fio.escrow fio.escrow.wasm fio.escrow.abi --permission fio.escrow@active
Set other marketplace modified contracts
#fio.address
clio -u http://localhost:8889 set contract fio.address ~/fio.contracts/build/contracts/fio.address fio.address.wasm fio.address.abi --permission fio.address@active
#fio.request.obt
clio -u http://localhost:8889 set contract fio.reqobt ~/fio.contracts/build/contracts/fio.request.obt fio.request.obt.wasm fio.request.obt.abi --permission fio.reqobt@active
#fio.token
clio -u http://localhost:8889 set contract fio.token ~/fio.contracts/build/contracts/fio.token fio.token.wasm fio.token.abi --permission fio.token@active
#fio.treasury
../fio/build/bin/clio -u http://localhost:8889 set contract fio.treasury /Users/edr/repos/fio.contractsMKTPLC/build/contracts/fio.treasury fio.treasury.wasm fio.treasury.abi --permission fio.treasury@active
#fio.staking
../fio/build/bin/clio -u http://localhost:8889 set contract fio.staking /Users/edr/repos/fio.contractsMKTPLC/build/contracts/fio.staking fio.staking.wasm fio.staking.abi --permission fio.staking@active
Init the marketplace config
#to satisfy dev net validation, we must create the 5ufabtv13hv4 account!!!!
clio wallet import --private-key 5KePj5qMF7xvXZwY4Tnxy7KbDCdUe7cyZtYv2rsTgaZ7LBuVpUc -n fio
clio -u http://localhost:8879/ create account eosio 5ufabtv13hv4 FIO77rFFByyLycsrbC5tH1CXqddZdgkDuTYDbCc2BoGp5hdnU59f7 FIO77rFFByyLycsrbC5tH1CXqddZdgkDuTYDbCc2BoGp5hdnU59f7
#init the marketplace config
../fio/build/bin/clio -u http://localhost:8889 push action fio.escrow setmrkplcfg '{ "actor":"5ufabtv13hv4", "listing_fee": "5000000000", "commission_fee": 6, "max_fee": "1000000000", "e_break": 0}' -p eosio
Commands were supplied by Thomas. contained in 10 files
Setup for verification
Marketplace versions were built and archived for use during the upgrade.
The local dev box was set up with the following versions and the chain was started.
Then the commands supplied by Thomas were executed to perform the upgrade to the marketplace version of the contracts.
Verification of installed contracts
Smoke tests were run and these passed after discovery of a couple of missing elements in the “load the rest of the affected contracts”.
the smoke tests run were:
test file – testnet-smoketest.js.
test run – “Domain Marketplace: List domain and cancel domain listing
"