[FIP-27 NFT Signatures] Release Milestone Checklist
The milestone checklist tracks the release management tasks.
Task | Deliverables | Notes |
Security | ย | ย |
Code audit | Code audit of new contract or code | ย |
Vulnerability testing | Penetration, API, and logic vulnerability testing | Penetration testing will be done on Dashboard. N/A for contract. |
Bug bounty | Bug bounty | ย |
Devnet | ย | ย |
Fork test | Devnet fork test (Dev lead) | https://fioprotocol.atlassian.net/browse/BD-2867
|
Performance test | Devnet performance test (Dev lead) | Capping performance for initial release. Eliminating task to speed up release to Testnet. Additional performance testing will be done on NFTs to determine the max size of mappings. |
fio.contract | Run upgrade using set code and set abi (Dev lead) | |
History node testing | Test against node with V1 History and confirm no errors in log file (add results to Dev Spec) | ย |
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 | ย |
Testnet | ย | ย |
Communication | Socialize changes with all BPs on Testnet and the community and marketing Monitor and coordinate the rollout with BPs | ย |
addaction and createfee | msig to set addaction and createfee for new actions Encourage BPs to vote on new endpoint fee Example:
| addaction '{"action":"addnft","contract":"fio.address","actor":"eosio"}'
addaction '{"action":"remnft","contract":"fio.address","actor":"eosio"}'
addaction '{"action":"remallnfts","contract":"fio.address","actor":"eosio"}'
addaction '{"action":"burnnfts","contract":"fio.address","actor":"eosio"}'' ย createfee '{"end_point":"add_nft","type":"0","suf_amount":"300000000"}'
createfee '{"end_point":"rem_nft","type":"0","suf_amount":"100000000"}'
createfee '{"end_point":"rem_all_nfts","type":"0","suf_amount":"100000000"}' |
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 | fio.test release/2.5.x_3.1.x |
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 msig fio.contracts rc release | ย |
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 | |
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 versions of testnet nodes (chain) | ย |
Mainnet | ย | ย |
Mainnet prep | Create upgrade checklist of BPs and integration partners Work with Emily 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 | ย |
addaction and createfee | msig to set addaction and createfee for new actions Encourage BPs to vote on new endpoint fee Example:
| addaction '{"action":"addnft","contract":"fio.address","actor":"eosio"}'
addaction '{"action":"remnft","contract":"fio.address","actor":"eosio"}'
addaction '{"action":"remallnfts","contract":"fio.address","actor":"eosio"}' ย createfee '{"end_point":"add_nft","type":"0","suf_amount":"300000000"}'
createfee '{"end_point":"rem_nft","type":"0","suf_amount":"100000000"}' |
fio.contract | Move pre-release to release (Release - FIO Contracts vx.x.x) Create PR for hashes on fio.mainnet msig fio.contracts release Perform the rollout verification and report findings Post msig links to main FIO Telegram channel so member can track progress | v2.5.0 |
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 | v3.1.0 |
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 | ย |
ย