Conduct contract release 1
See original GitHub issueThis issue is tracking Celo’s first smart contract upgrade release. While executing upon this release according to the process laid out in https://docs.celo.org/community/release-process/smart-contracts, we are simultaneously going to improve it as we go and reference those changes here as well
Process Checklist:
- Merge all changes that should go into release 1
- Cut release branch and submit branch to auditors
- Receive Audit report
- Address issues found in audit
- Submit audit fixes to auditors @emaG3m @yorhodes
- Receive final audit report
- Write up release/governance proposal notes @alecps
- Make release on Github and add @alecps’s release notes draft @nambrot
- (Sep 29) Propose GasLimit increase on Baklava @alecps
- (Oct 6) Propose GasLimit increase on Alfajores @aslawson @emaG3m
- (Oct 13) Propose GasLimit increase on Mainnet @aslawson
- Deploy contracts on Baklava @yorhodes
- Verify Deploy on Baklava (i.e. test downtime slasher) @yorhodes
- Propose contract upgrade on Baklava
- Deploy contracts on Alfajores
- Propose contract upgrade on Alfajores
- Verify Deploy on Alfajores (i.e. test downtime slasher)
- Deploy contracts on Mainnet
- Propose contract upgrade on Mainnet
Blockers:
To-Dos:
- Review @m-chrzan’s verify-bytecode PR @emaG3m @yorhodes
- Update docs with an overview of deployment/verification tooling @yorhodes
- Script to verify currently deployed contracts bytecode @yorhodes
- Script to verify proposal is well formed and matched commit @yorhodes
- Enumerate relevant PRs for release notes
- Setup comms plan with community @cla-bel
- Update promotion process with comms action items @cla-bel
- Update release process docs @emaG3m
- Add branching process to docs @nambrot
- Write CGP for GasLimit Increase @nambrot
- Write announcement context post in time for baklava gasLimit increase proposal @cla-bel
- Fix master CI version check @emaG3m
- Update docs that accomodates right reference for CI version check @emaG3m
- Update docs with a process to handle initialize data
- Remove release 1 specific tooling after release 1
- Update docs with process for cutting release branch and updating reference of CI checks for master @emaG3m
- Properly tag what’s currently deployed on the networks @nambrot
- Merge release branch back into master @nambrot
- give auditors next release commit
- verify-bytecodes should output positive messaging @m-chrzan
- verify proposal should check initialize data
- Suppress script output in verification scripts @nambrot
- Always use canonical build version of scripts of user commit @m-chrzan
- Add
--dryrun
to make-release script and reconcile build args @nambrot easy - Add
SlasherUtil
/UsingPrecompiles
hack since it addedgetVersionNumber
@yorhodes -
getVersionNumber
only on proxied contracts - All proxied contracts have
getVersionNumber
-
make-release
only releases contracts with proxies - Have logic to determine which contracts should actually be deployed (fix Regex exclusion) @yorhodes
- Remove
MetaTransactionWallet
from check version @yorhodes - Write CGP13 @nambrot
- Write Incident Response and recommend scientific notation in CLI governance:propose/view @nambrot
- Remove
getVersionNumber
from wrong files @nambrot - Verify that txs in a proposal are actually valid
- Fix CLI decoding of governance transactions (currently, getting
Contract
instead ofContractProxy
when decoding a contract upgrade governance proposal, which breaksverify-release
) - Publish CLI with
--jsonProposals
option togovernance:show
-
verify-release
should check Proxy bytecodes and owners - Call Proxy initializers via Governance in
make-release
, check that new Proxies have empty bytecode inverify-release
- Allow truffle overrides in
make-release
- Update gasLimit in Truffle config given CGP 12
Issue Analytics
- State:
- Created 3 years ago
- Comments:24 (23 by maintainers)
Top Results From Across the Web
Contract Release: Everything You Need to Know - UpCounsel
A contract release is an agreement in which one party agrees it has no claims against the party that's named in the release....
Read more >§ 1-303. Course of Performance, Course of Dealing, and ...
(a) A "course of performance" is a sequence of conduct between the parties to a particular transaction that exists if: (1) the agreement...
Read more >Conduct agreement Definition | Law Insider
Conduct agreement means an agreement that must be signed by all registrants, agreeing to the disclosure of bidding information and other conduct rules....
Read more >University Student Housing Contract - Montana State University
If a student wishes to cancel the application and contract for the 2022-2023 academic year and does so before 11:59pm on March 1,...
Read more >CONTRACTS: BASIC PRINCIPLES
Contract : An agreement between two or more parties to perform or to ... Implied-in-Fact Contract: A contract formed in whole or in...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
The release process documentation is up to date with the internal and community tooling. https://docs.celo.org/community/release-process/smart-contracts#release-process
The cLabs team asked OpenZeppelin to review and audit the recent changes in the smart contracts from their protocol.
We examined the code, and here we publish our findings in Phase 3. 👇 The relevant commits are specified in the report. https://blog.openzeppelin.com/celo-contracts-audit