fio 3.3 / fio.contracts 2.7 [FIPs-22,26] Release Milestone Checklist

fio 3.3 / fio.contracts 2.7 [FIPs-22,26] Release Milestone Checklist

Task

Deliverables

Notes

Security

 

 

Code audit

Code audit of new contract or code

FIP-26 - Discussed audit with Marketplace team and they decided they would not be doing one.

Vulnerability testing

Penetration, API, and logic vulnerability testing

FIP-26 - Pen testing of marketplace site is at the discretion of Blocksmith team.

Bug bounty

Bug bounty

FIP-26 - Bounty testing of marketplace site is at the discretion of Blocksmith team.

SDKs

 

 

SDKs

Stories created for any needed SDK updates (new getters or actions)
SDK dev complete
All SDK unit tests run cleanly
fiosdk_typescript
fiosdk_kotlin

FIP-26 - New marketplace getters will not be included in FIO SDKs.

Add fio.escrow contract to SDK: https://fioprotocol.atlassian.net/browse/BD-3134

Other FIPs - Only has modified actions.

SDK and Wallet Testing

Run Typescript SDK regression tests against latest build, confirm new actions and getters are included in the tests
Run Kotlin SDK regression tests against latest build, confirm new actions and getters are included in the tests
Run GO SDK regression tests against latest build, confirm new actions and getters are included in the tests

https://fioprotocol.atlassian.net/browse/BD-3135

Devnet

 

 

Devnet local testing and script creation

Create release script detailing all addaction, createfee, and new and existing contract updates

Example: https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/471040008/New+contract+deployment

Perform local testing to validate release script

See: https://developers.fioprotocol.io/docs/developers/devnet

 https://fioprotocol.atlassian.net/browse/BD-3049

Devnet contract testing

Full devnet contract testing

See: https://developers.fioprotocol.io/docs/developers/devnet

 https://fioprotocol.atlassian.net/browse/BD-3049

Devnet fork testing

Full devnet fio fork testing testing

See: https://developers.fioprotocol.io/docs/developers/devnet

 https://fioprotocol.atlassian.net/browse/BD-3049

Devnet performance testing

Perform scalability and performance tests on Devnet (add results to Dev Spec)

 

QA regression tests

fio.test regression tests completed and run cleanly on Devnet

 https://fioprotocol.atlassian.net/browse/BD-3049

Testnet

 

 

fio.test

Make sure there is a release/n.n.x_m.m.x branch for current production release
Create release/n.n.x_m.m.x branch from develop, confirm it runs against new release

https://fioprotocol.atlassian.net/browse/BD-3137

fio.contract

Create pre-release (Testnet Release Candidate - FIO Contracts vx.x.x-rc1)
Update release notes
Create PR for hashes on fio.mainnet > releases-testnet.md

https://fioprotocol.atlassian.net/browse/BD-3138

addaction and createfee

BP to create msig to set addaction and createfee for new actions
Encourage BPs to vote on new endpoint fee

Example:

createfee '{"end_point":"transfer_tokens_fio_add","type":"1","suf_amount":"958695652"}'

addaction '{"action":"trnsloctoks","contract":"fio.token","actor":"eosio"}'

https://fioprotocol.atlassian.net/browse/BD-3136

Contract msigs

BP to create msigs for updated and new contracts
Review msigs
BP to post msigs to Testnet

https://fioprotocol.atlassian.net/browse/BD-3139

Communication

Socialize changes with all BPs on Testnet and the community and marketing
Monitor and coordinate the rollout with BPs

https://fioprotocol.atlassian.net/browse/BD-3341

fio (chain)

Create pre-release (Testnet Release Candidate - FIO vx.x.x-rc1)
Update release notes
Replay test by BP
Track chain upgrade of BPs

https://fioprotocol.atlassian.net/browse/BD-3140

https://fioprotocol.atlassian.net/browse/BD-3324

https://fioprotocol.atlassian.net/browse/BD-3340

SDK and Wallet Testing

Typescript Wallet: Build Edge Demo Testnet build and go through Wallet checklist
Kotlin Wallet: Can we get a regular build of a Testnet wallet? Mycelium?

TBD: need to create Edge wallet test checklist

Testnet validation

Run fio.test Testnet smoketest, confirm FIO Request getters still work
Confirm hashes of testnet
Confirm ABIs deployed correctly (using ./clio get abi)
Confirm createfee added fees with correct endpoint and type
Confirm addaction added correct actions with correct contracts

Story to track development of fio.devtools so it automatically checks some of these: https://fioprotocol.atlassian.net/browse/BD-3056

https://fioprotocol.atlassian.net/browse/BD-3142

https://fioprotocol.atlassian.net/browse/BD-3346

Mainnet

 

https://fioprotocol.atlassian.net/browse/BD-3077

Mainnet prep

Socialize release changes with all BPs and the community and marketing

https://fioprotocol.atlassian.net/browse/BD-3491

fio.devtools

Update base contracts to current mainnet contracts
Update readme to show new version changes on fio
Merge to master and cut a new tag/release

https://fioprotocol.atlassian.net/browse/BD-3488

fio.contract

Merge to master branch
Move pre-release to release (Release - FIO Contracts vx.x.x)
Create PR for hashes on fio.mainnet
Perform the rollout verification and report findings
Post msig links to main FIO Telegram channel so member can track progress

https://fioprotocol.atlassian.net/browse/BD-3486

addaction and createfee msigs

msig to set addaction and createfee for new actions
Encourage BPs to vote on new endpoint fee

Example:

createfee '{"end_point":"transfer_tokens_fio_add","type":"1","suf_amount":"958695652"}'

addaction '{"action":"trnsloctoks","contract":"fio.token","actor":"eosio"}'

https://fioprotocol.atlassian.net/browse/BD-3489

Contract msigs

BP to create msigs for updated and new contracts
Review msigs
Post msig links to main FIO Telegram channel so member can track progress

https://fioprotocol.atlassian.net/browse/BD-3485

https://fioprotocol.atlassian.net/browse/BD-3482

 

fio chain

Merge to master branch
Move pre-release to release (Release - FIO vx.x.x)
Generate .deb and .tgz build files using fio.package
Upload .deb and .tgz build files to AWS > S3 > fioprotocol > Mainnet for use with fio-docker

https://fioprotocol.atlassian.net/browse/BD-3459

https://fioprotocol.atlassian.net/browse/BD-3483

fio.test

Merge release/n.n.x_m.m.x branch to master, create vn.n.n_m.m.m tag
Run test tag against new release

https://fioprotocol.atlassian.net/browse/BD-3487

Mainnet validation - contracts

Confirm hashes of mainnet
Confirm ABIs deployed correctly
Confirm createfee added fees with correct endpoint and type
Confirm addaction added correct actions with correct contracts

https://fioprotocol.atlassian.net/browse/BD-3484

Post-deployment

 

https://fioprotocol.atlassian.net/browse/BD-3356

Post release

Encourage BPs to vote on new endpoint fee

https://fioprotocol.atlassian.net/browse/BD-3492

Mainnet validation - fio chain

Confirm versions of mainnet nodes (chain)
Create tracking spreadsheet
Confirm BP upgrade: https://health.fioprotocol.io

https://fioprotocol.atlassian.net/browse/BD-3490

General

Move FIP status to Final and include release links; update master README index

https://fioprotocol.atlassian.net/browse/BD-3493

Partner upgrades

Create upgrade blog post and send to Account Management team to manage upgrades
Work with Account Management to coordinate Mainnet rollout plan with the BP, wallet, and exchange community, watch over the execution and help to ensure rollout is completed in full.

https://fioprotocol.atlassian.net/browse/BD-3679

Update FIO Hosted API Nodes

Upgrade Registration site API nodes (2 load balanced nodes)
Upgrade Analytics API node (single State History node)

https://fioprotocol.atlassian.net/browse/BD-3494

SDK

 

https://fioprotocol.atlassian.net/browse/BD-3037

Typescript SDK Release

Create fiosdk_typescript release candidate tag from develop
QA: Test SDK release tag version against latest production releases (master branches) of fio, fio.contracts, fio.devtools, fio.test (If updates to test are needed, confirm fixes are put into the fio.test release/vn.n.n release branch and the develop branch (i.e., merge fixes from release branch))
Merge develop to master and create production release tag from master
Typescript: Publish new SDK release on NPM
QA: Test published SDK release tag version against latest production releases (master branches) of fio, fio.contracts, fio.devtools, fio.test

https://fioprotocol.atlassian.net/browse/BD-3655

https://fioprotocol.atlassian.net/browse/BD-3656

https://fioprotocol.atlassian.net/browse/BD-3536

https://fioprotocol.atlassian.net/browse/BD-3535