@@ -26,7 +26,6 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
26
26
}
27
27
28
28
struct ProposalDetails {
29
- address proposer;
30
29
address [] targets;
31
30
uint256 [] values;
32
31
string [] signatures;
@@ -56,7 +55,7 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
56
55
string memory description
57
56
) public virtual override (IGovernor, Governor) returns (uint256 ) {
58
57
// 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);
60
59
return super .propose (targets, values, calldatas, description);
61
60
}
62
61
@@ -75,7 +74,7 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
75
74
// after the full proposal is stored, so the store operation included in the fallback will be skipped. Here we
76
75
// call `propose` and not `super.propose` to make sure if a child contract override `propose`, whatever code
77
76
// 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);
79
78
return propose (targets, values, _encodeCalldata (signatures, calldatas), description);
80
79
}
81
80
@@ -132,7 +131,7 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
132
131
bytes32 descriptionHash
133
132
) public virtual override (IGovernor, Governor) returns (uint256 ) {
134
133
uint256 proposalId = hashProposal (targets, values, calldatas, descriptionHash);
135
- address proposer = _proposalDetails[ proposalId].proposer ;
134
+ address proposer = proposalProposer ( proposalId) ;
136
135
137
136
require (
138
137
_msgSender () == proposer || getVotes (proposer, clock () - 1 ) < proposalThreshold (),
@@ -182,7 +181,6 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
182
181
* @dev Store proposal metadata (if not already present) for later lookup.
183
182
*/
184
183
function _storeProposal (
185
- address proposer ,
186
184
address [] memory targets ,
187
185
uint256 [] memory values ,
188
186
string [] memory signatures ,
@@ -194,7 +192,6 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
194
192
195
193
ProposalDetails storage details = _proposalDetails[proposalId];
196
194
if (details.descriptionHash == bytes32 (0 )) {
197
- details.proposer = proposer;
198
195
details.targets = targets;
199
196
details.values = values;
200
197
details.signatures = signatures;
@@ -228,12 +225,12 @@ abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorComp
228
225
)
229
226
{
230
227
id = proposalId;
228
+ proposer = proposalProposer (proposalId);
231
229
eta = proposalEta (proposalId);
232
230
startBlock = proposalSnapshot (proposalId);
233
231
endBlock = proposalDeadline (proposalId);
234
232
235
233
ProposalDetails storage details = _proposalDetails[proposalId];
236
- proposer = details.proposer;
237
234
forVotes = details.forVotes;
238
235
againstVotes = details.againstVotes;
239
236
abstainVotes = details.abstainVotes;
0 commit comments