@@ -26,7 +26,6 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
2626 }
2727
2828 struct ProposalDetails {
29- address proposer;
3029 address [] targets;
3130 uint256 [] values;
3231 string [] signatures;
@@ -56,7 +55,7 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
5655 string memory description
5756 ) public virtual override (IGovernor, Governor) returns (uint256 ) {
5857 // Stores the proposal details (if not already present) and executes the propose logic from the core.
59- _storeProposal (_msgSender (), targets, values, new string [](calldatas.length ), calldatas, description);
58+ _storeProposal (targets, values, new string [](calldatas.length ), calldatas, description);
6059 return super .propose (targets, values, calldatas, description);
6160 }
6261
@@ -75,7 +74,7 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
7574 // after the full proposal is stored, so the store operation included in the fallback will be skipped. Here we
7675 // call `propose` and not `super.propose` to make sure if a child contract override `propose`, whatever code
7776 // is added there is also executed when calling this alternative interface.
78- _storeProposal (_msgSender (), targets, values, signatures, calldatas, description);
77+ _storeProposal (targets, values, signatures, calldatas, description);
7978 return propose (targets, values, _encodeCalldata (signatures, calldatas), description);
8079 }
8180
@@ -132,7 +131,7 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
132131 bytes32 descriptionHash
133132 ) public virtual override (IGovernor, Governor) returns (uint256 ) {
134133 uint256 proposalId = hashProposal (targets, values, calldatas, descriptionHash);
135- address proposer = _proposalDetails[ proposalId].proposer ;
134+ address proposer = proposalProposer ( proposalId) ;
136135
137136 require (
138137 _msgSender () == proposer || getVotes (proposer, clock () - 1 ) < proposalThreshold (),
@@ -182,7 +181,6 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
182181 * @dev Store proposal metadata (if not already present) for later lookup.
183182 */
184183 function _storeProposal (
185- address proposer ,
186184 address [] memory targets ,
187185 uint256 [] memory values ,
188186 string [] memory signatures ,
@@ -194,7 +192,6 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
194192
195193 ProposalDetails storage details = _proposalDetails[proposalId];
196194 if (details.descriptionHash == bytes32 (0 )) {
197- details.proposer = proposer;
198195 details.targets = targets;
199196 details.values = values;
200197 details.signatures = signatures;
@@ -228,12 +225,12 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
228225 )
229226 {
230227 id = proposalId;
228+ proposer = proposalProposer (proposalId);
231229 eta = proposalEta (proposalId);
232230 startBlock = proposalSnapshot (proposalId);
233231 endBlock = proposalDeadline (proposalId);
234232
235233 ProposalDetails storage details = _proposalDetails[proposalId];
236- proposer = details.proposer;
237234 forVotes = details.forVotes;
238235 againstVotes = details.againstVotes;
239236 abstainVotes = details.abstainVotes;
0 commit comments