Versions Compared

Key

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

...

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 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)
  • 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

Devnet fork test and fio.test:

  • 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)

     

    Testnet

    Communication

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

    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

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

    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

    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
    •  Track chain upgrade of BPs

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

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

    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.
    •  Socialize release changes with all BPs and the community and marketing
    •  Perform Testnet rollout verification and report findings

    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

    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

    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"}'

    Contract msigs

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

    fio.contract

    •  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
    •  Post msig links to main FIO Telegram channel so member can track progress

    fio chain

    •  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

    Mainnet validation

    •  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

    General

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

    FIO API Nodes

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

    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

    ...