Skip to content
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
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ interface IProposalValidator is ISemver {

struct ProposalTypeData {
uint256 requiredApprovals;
uint8 proposalTypeConfigurator;
uint8 proposalVotingModule;
}

enum ProposalType {
Expand All @@ -48,7 +48,7 @@ interface IProposalValidator is ISemver {
bytes[] calldatas,
string description,
ProposalType proposalType,
uint8 proposalTypeConfigurator
uint8 proposalVotingModule
);

event ProposalApproved(
Expand All @@ -67,7 +67,7 @@ interface IProposalValidator is ISemver {

event DistributionThresholdSet(uint256 newDistributionThreshold);

event ProposalTypeDataSet(ProposalType proposalType, uint256 requiredApprovals, uint8 proposalTypeConfigurator);
event ProposalTypeDataSet(ProposalType proposalType, uint256 requiredApprovals, uint8 proposalVotingModule);

event VotingCycleDataSet(
uint256 cycleNumber,
Expand Down Expand Up @@ -144,7 +144,7 @@ interface IProposalValidator is ISemver {

function ATTESTATION_SCHEMA_UID() external view returns (bytes32);

function proposalTypesData(ProposalType) external view returns (uint256 requiredApprovals, uint8 proposalTypeConfigurator);
function proposalTypesData(ProposalType) external view returns (uint256 requiredApprovals, uint8 proposalVotingModule);

function votingCycles(uint256) external view returns (
uint256 startingBlock,
Expand Down
10 changes: 5 additions & 5 deletions packages/contracts-bedrock/snapshots/abi/ProposalValidator.json
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@
},
{
"internalType": "uint8",
"name": "proposalTypeConfigurator",
"name": "proposalVotingModule",
"type": "uint8"
}
],
Expand Down Expand Up @@ -259,7 +259,7 @@
},
{
"internalType": "uint8",
"name": "proposalTypeConfigurator",
"name": "proposalVotingModule",
"type": "uint8"
}
],
Expand Down Expand Up @@ -315,7 +315,7 @@
},
{
"internalType": "uint8",
"name": "proposalTypeConfigurator",
"name": "proposalVotingModule",
"type": "uint8"
}
],
Expand Down Expand Up @@ -600,7 +600,7 @@
{
"indexed": false,
"internalType": "uint8",
"name": "proposalTypeConfigurator",
"name": "proposalVotingModule",
"type": "uint8"
}
],
Expand All @@ -625,7 +625,7 @@
{
"indexed": false,
"internalType": "uint8",
"name": "proposalTypeConfigurator",
"name": "proposalVotingModule",
"type": "uint8"
}
],
Expand Down
2 changes: 1 addition & 1 deletion packages/contracts-bedrock/snapshots/semver-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@
},
"src/governance/ProposalValidator.sol:ProposalValidator": {
"initCodeHash": "0x44d71e84d08aeb7abc82993a0293f646952d83e439e95427d2c432568f95524e",
"sourceCodeHash": "0xd7d94a765bec0d80cac4bce4e62270a27a830b103dd554d7a4be540a49f8f4d5"
"sourceCodeHash": "0xddf3e6506f0155d0120e467cb1437c49b1eff28d362b8e7de55101cd91e43427"
},
"src/legacy/DeployerWhitelist.sol:DeployerWhitelist": {
"initCodeHash": "0x53099379ed48b87f027d55712dbdd1da7d7099925426eb0531da9c0012e02c29",
Expand Down
21 changes: 11 additions & 10 deletions packages/contracts-bedrock/src/governance/ProposalValidator.sol
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,12 @@ contract ProposalValidator is OwnableUpgradeable, ReinitializableBase, ISemver {
}

/// @notice Struct for storing explicit data for each proposal type.
/// @param requiredApprovals The number of approvals each proposal type requires in order to be able to move for voting.
/// @param proposalTypeConfigurator The voting module each proposal type must use.
/// @param requiredApprovals The number of approvals each proposal type requires in order to be able to move for
/// voting.
/// @param proposalVotingModule The voting module each proposal type must use.
struct ProposalTypeData {
uint256 requiredApprovals;
uint8 proposalTypeConfigurator;
uint8 proposalVotingModule;
}

/// @notice Struct for storing voting cycle data.
Expand Down Expand Up @@ -113,7 +114,7 @@ contract ProposalValidator is OwnableUpgradeable, ReinitializableBase, ISemver {
/// @param calldatas Function data for proposal calls.
/// @param description Description of the proposal.
/// @param proposalType Type of the proposal.
/// @param proposalTypeConfigurator Configuration value specific to the proposal type.
/// @param proposalVotingModule Voting module specific to the proposal type.
event ProposalSubmitted(
bytes32 indexed proposalHash,
address indexed proposer,
Expand All @@ -122,7 +123,7 @@ contract ProposalValidator is OwnableUpgradeable, ReinitializableBase, ISemver {
bytes[] calldatas,
string description,
ProposalType proposalType,
uint8 proposalTypeConfigurator
uint8 proposalVotingModule
);

/// @notice Emitted when a delegate approves a proposal.
Expand Down Expand Up @@ -155,8 +156,8 @@ contract ProposalValidator is OwnableUpgradeable, ReinitializableBase, ISemver {
/// @notice Emitted when the proposal type data is set.
/// @param proposalType The type of proposal.
/// @param requiredApprovals The required number of approvals.
/// @param proposalTypeConfigurator The proposal type configurator.
event ProposalTypeDataSet(ProposalType proposalType, uint256 requiredApprovals, uint8 proposalTypeConfigurator);
/// @param proposalVotingModule The proposal voting module.
event ProposalTypeDataSet(ProposalType proposalType, uint256 requiredApprovals, uint8 proposalVotingModule);

/// @notice The schema UID for attestations in the Ethereum Attestation Service.
/// @dev Schema format: { approvedProposer: address, proposalType: uint8 }
Expand Down Expand Up @@ -287,7 +288,7 @@ contract ProposalValidator is OwnableUpgradeable, ReinitializableBase, ISemver {
_calldatas,
_description,
_proposalType,
proposalTypeData.proposalTypeConfigurator
proposalTypeData.proposalVotingModule
);
}

Expand Down Expand Up @@ -346,7 +347,7 @@ contract ProposalValidator is OwnableUpgradeable, ReinitializableBase, ISemver {
proposal.inVoting = true;

governorProposalId_ =
GOVERNOR.propose(_targets, _values, _calldatas, _description, proposalTypeData.proposalTypeConfigurator);
GOVERNOR.propose(_targets, _values, _calldatas, _description, proposalTypeData.proposalVotingModule);

emit ProposalMovedToVote(_proposalHash, msg.sender);
}
Expand Down Expand Up @@ -511,7 +512,7 @@ contract ProposalValidator is OwnableUpgradeable, ReinitializableBase, ISemver {
function _setProposalTypeData(ProposalType _proposalType, ProposalTypeData memory _proposalTypeData) private {
proposalTypesData[_proposalType] = _proposalTypeData;
emit ProposalTypeDataSet(
_proposalType, _proposalTypeData.requiredApprovals, _proposalTypeData.proposalTypeConfigurator
_proposalType, _proposalTypeData.requiredApprovals, _proposalTypeData.proposalVotingModule
);
}
}
Loading