Versions Compared

Key

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

...

:
  • Install Current Release (fio and fio.contracts) on Devnet

  • Update 6 nodes (1 cluster) to new release and ensure no forking occurs

  • Update 12 more nodes (remaining 2 clusters) to new release and ensure no forking occurs

  • Do NOT update remaining nodes to fio Bahamas

  • Update fio.contracts to new release using setcode and setabi

  • Run fio.test and ensure it runs cleanly (need to hit upgraded API node)

https://fioprotocol.atlassian.net/browse/BD-3138
  •  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
  •  Move pre-release to release (Release - FIO Contracts vx.x.x)
  •  Create PR for hashes on fio.mainnet
  •  Encourage BPs to vote on new endpoint fee
  •  msig fio.contracts release
  •  Perform the rollout verification and report findings
Mainnet validation

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/

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3135

Devnet

Devnet local testing and script creation

  •  Create release script detailing all addaction, createfee, and new and existing contract updates
  •  addaction and createfee for new actions in fio.devtools
  •  Devnet fork test (Dev lead)
  •  fio.contract - Run upgrade using set code and set abi (Dev lead)
  •  Devnet performance test (Dev lead)

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

Devnet

Devnet testing

wiki/spaces/FD/pages/471040008/New+contract+deployment

  •  Perform local testing to validate release script

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

 

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3049

Devnet contract testing

  •  Full devnet contract testing

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

 

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3049

Devnet fork testing

  •  Full devnet fio fork testing testing

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

 

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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
Devnet fork test and

 

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3049

Testnet

fio.test

Testnet

Communication

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

  •  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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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

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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3136

Contract msigs

  •  BP to create msigs for updated and new contracts
  •  Review msigs
  •  BP to post msigs to Mainnet

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

  • Testnet

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3139

Communication

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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3341

fio (chain)

  •  Create pre-release (Testnet Release Candidate - FIO vx.x.x-rc1)
  •  Update release notes
  •  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
  • Replay test by BP
  •  Track chain upgrade of BPs

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

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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3140

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3324

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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

Mainnet

Mainnet prep

  •  Create upgrade checklist of BPs and integration partners
  •  Work with Brit 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.
 

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3056

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3142

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3346

Mainnet

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3077

Mainnet prep

  •  Socialize release changes with all BPs and the community and marketing
  •  Perform Testnet rollout verification and report findings

fio.test

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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"}'

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3489

Contract msigs

  •  BP to create msigs for updated and new contracts
  •  Review msigs BP to post msigs to Mainnet

fio.contract

  •  Post msig links to main FIO Telegram channel so member can track progress

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3485

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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
  •  BP mainnet node upgrade checklist is complete (BP spreadsheet, or create one in Jira)
  •  Perform the rollout verification and report findings
  •  Confirm BP upgrade: https://health.fioprotocol.io

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3459

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3487

Mainnet validation - contracts

  •  Confirm hashes of mainnet
  •  Confirm versions of mainnet nodes (chain)
  •  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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3484

Post-deployment

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3356

Post release

  •  Encourage BPs to vote on new endpoint fee

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3492

Mainnet validation - fio chain

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3490

General

  •  Move FIP status to Final and include release links; update master README index
  •  Update Initiative and Epic status
FIO

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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.

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3679

Update FIO Hosted API Nodes

  •  Upgrade Registration site API nodes (2 load balanced nodes)
  •  Upgrade Analytics API node (single State History node)
  •  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

Jira Legacy
server

SDK and Wallet Testing

System JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3494

SDK

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-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

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3655

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3656

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3536

Jira Legacy
serverSystem JIRA
serverId5f0d8161-d4cf-3d17-96b1-53b2b2b5013d
keyBD-3535