Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(contracts): added version numbers to plugin implementations and setups #524

Merged
merged 2 commits into from
Jan 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions DEPLOYMENT_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@ This checklist is seen as a guide to deploy the stack to a new chain.

- [ ] Verify that the deployers wallet has enough funds.
- [ ] Check that the subgraph hoster supports the network OSx is deployed to.
- [ ] Make sure you are using Node v16
- [ ] Make sure you are using the intended `@aragon/osx-commons-contracts` package version.
- [ ] Make sure that the OSx protocol version in `@aragon/osx-commons-contracts/src/utils/versioning/ProtocolVersion.sol` is bumped correctly.
- [ ] Make sure that the semver number in `osx/packages/contracts/src/package.json` matches with that of `@aragon/osx-commons-contracts`. The pre-release suffix is allowed to differ.
- [ ] Check that you are using Node v16
- [ ] Check that you are using the intended `@aragon/osx-commons-contracts` package version.
- [ ] Check that the OSx protocol version in `@aragon/osx-commons-contracts/src/utils/versioning/ProtocolVersion.sol` is bumped correctly.
- [ ] Check that the semver number in `osx/packages/contracts/src/package.json` matches with that of `@aragon/osx-commons-contracts`. The pre-release suffix is allowed to differ.
- [ ] Check that the version tags in the `/// @dev vX.Y (Release X, Build Y)` NatSpec comments of the plugin implementation and setup contracts are correct.
- [ ] Check that version tags are set correctly in the plugin repo deploy scripts `packages/contracts/deploy/new/30_plugins/10_plugin-repos` to ensure synchronized version numbers across all supported networks.
- [ ] Choose an ENS domain for DAOs
- [ ] Choose an ENS domain for plugins
Expand Down
8 changes: 5 additions & 3 deletions UPDATE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ This checklist is seen as a guide to update the existing deployment.
## Pre-Update

- [ ] Make sure you are using Node v16
- [ ] Make sure you are using the intended `@aragon/osx-commons-contracts` package version.
- [ ] Make sure that the OSx protocol version in `@aragon/osx-commons-contracts/src/utils/versioning/ProtocolVersion.sol` is bumped correctly.
- [ ] Make sure that the semver number in `osx/packages/contracts/src/package.json` matches with that of `@aragon/osx-commons-contracts`. The pre-release suffix is allowed to differ.
- [ ] Check that you are using the intended `@aragon/osx-commons-contracts` package version.
- [ ] Check that the OSx protocol version in `@aragon/osx-commons-contracts/src/utils/versioning/ProtocolVersion.sol` is bumped correctly.
- [ ] Check that the semver number in `osx/packages/contracts/src/package.json` matches with that of `@aragon/osx-commons-contracts`. The pre-release suffix is allowed to differ.
- [ ] Check that the version tags in the `/// @dev vX.Y (Release X, Build Y)` NatSpec comments of the plugin implementation and setup contracts are correct.
- [ ] Check that version tags are set correctly in the plugin repo deploy scripts `packages/contracts/deploy/new/30_plugins/10_plugin-repos` to ensure synchronized version numbers across all supported networks.
- [ ] Verify that all changes of this update are reflected in [contracts/CHANGELOG.md](packages/contracts/CHANGELOG.md) by comparing the diff with the previous release commit.
- [ ] Check that storage corruption tests using OZ's `hardhat-upgrades` package (e.g., by using the methods in [uups-upgradeable.ts](packages/contracts/test/test-utils/uups-upgradeable.ts)) exist for every upgradeable contract and test the upgrade from all prior versions to the current version.
- [ ] Check that all contracts that undergo an upgrade and
Expand Down
1 change: 1 addition & 0 deletions packages/contracts/src/plugins/governance/admin/Admin.sol
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {IDAO} from "@aragon/osx-commons-contracts/src/dao/IDAO.sol";
/// @title Admin
/// @author Aragon Association - 2022-2023
/// @notice The admin governance plugin giving execution permission on the DAO to a single address.
/// @dev v1.1 (Release 1, Build 1)
/// @custom:security-contact sirt@aragon.org
contract Admin is IMembership, PluginCloneable, ProposalUpgradeable {
using SafeCastUpgradeable for uint256;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {Admin} from "./Admin.sol";
/// @title AdminAddressSetup
/// @author Aragon Association - 2022-2023
/// @notice The setup contract of the `Admin` plugin.
/// @dev v1.1 (Release 1, Build 1)
/// @custom:security-contact sirt@aragon.org
contract AdminSetup is PluginSetup {
using Clones for address;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {IMajorityVoting} from "../IMajorityVoting.sol";
/// @title AddresslistVoting
/// @author Aragon Association - 2021-2023.
/// @notice The majority voting implementation using a list of member addresses.
/// @dev This contract inherits from `MajorityVotingBase` and implements the `IMajorityVoting` interface.
/// @dev v1.2 (Release 1, Build 2)
/// @custom:security-contact sirt@aragon.org
contract AddresslistVoting is IMembership, Addresslist, MajorityVotingBase {
using SafeCastUpgradeable for uint256;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {AddresslistVoting} from "./AddresslistVoting.sol";
/// @title AddresslistVotingSetup
/// @author Aragon Association - 2022-2023
/// @notice The setup contract of the `AddresslistVoting` plugin.
/// @dev v1.2 (Release 1, Build 2)
/// @custom:security-contact sirt@aragon.org
contract AddresslistVotingSetup is PluginSetup {
/// @notice The address of `AddresslistVoting` plugin logic contract to be used in creating proxy contracts.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {IMajorityVoting} from "../IMajorityVoting.sol";
/// @title TokenVoting
/// @author Aragon Association - 2021-2023
/// @notice The majority voting implementation using an [OpenZeppelin `Votes`](https://docs.openzeppelin.com/contracts/4.x/api/governance#Votes) compatible governance token.
/// @dev This contract inherits from `MajorityVotingBase` and implements the `IMajorityVoting` interface.
/// @dev v1.2 (Release 1, Build 2)
/// @custom:security-contact sirt@aragon.org
contract TokenVoting is IMembership, MajorityVotingBase {
using SafeCastUpgradeable for uint256;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import {TokenVoting} from "./TokenVoting.sol";
/// @title TokenVotingSetup
/// @author Aragon Association - 2022-2023
/// @notice The setup contract of the `TokenVoting` plugin.
/// @dev v1.2 (Release 1, Build 2)
/// @custom:security-contact sirt@aragon.org
contract TokenVotingSetup is PluginSetup {
using Address for address;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ import {IDAO} from "@aragon/osx-commons-contracts/src/dao/IDAO.sol";

import {IMultisig} from "./IMultisig.sol";

/// @title Multisig - Release 1, Build 2
/// @title Multisig
/// @author Aragon Association - 2022-2023
/// @notice The on-chain multisig governance plugin in which a proposal passes if X out of Y approvals are met.
/// @dev v1.2 (Release 1, Build 2)
/// @custom:security-contact sirt@aragon.org
contract Multisig is
IMultisig,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ import {IDAO} from "@aragon/osx-commons-contracts/src/dao/IDAO.sol";
import {DAO} from "../../../core/dao/DAO.sol";
import {Multisig} from "./Multisig.sol";

/// @title MultisigSetup - Release 1, Build 2
/// @title MultisigSetup
/// @author Aragon Association - 2022-2023
/// @notice The setup contract of the `Multisig` plugin.
/// @dev v1.2 (Release 1, Build 2)
/// @custom:security-contact sirt@aragon.org
contract MultisigSetup is PluginSetup {
/// @notice The address of `Multisig` plugin logic contract to be used in creating proxy contracts.
Expand Down
Loading