File tree Expand file tree Collapse file tree 2 files changed +25
-3
lines changed
Expand file tree Collapse file tree 2 files changed +25
-3
lines changed Original file line number Diff line number Diff line change @@ -211,6 +211,7 @@ contract BondingManager is ManagerProxyTarget, IBondingManager {
211211 */
212212 function confirmRewardCaller (address _rewardCaller ) external whenSystemNotPaused {
213213 require (rewardCallerToTranscoderProposed[_rewardCaller] == msg .sender , "reward caller was not proposed " );
214+ require (rewardCallerToTranscoderConfirmed[_rewardCaller] == address (0 ), "reward caller is already set " );
214215 rewardCallerToTranscoderProposed[_rewardCaller] = address (0 );
215216 rewardCallerToTranscoderConfirmed[_rewardCaller] = msg .sender ;
216217 emit RewardCallerConfirmed (msg .sender , _rewardCaller);
@@ -222,7 +223,7 @@ contract BondingManager is ManagerProxyTarget, IBondingManager {
222223 * @dev Only callable by the transcoder, when the _rewardCaller was already proposed
223224 */
224225 function removeRewardCaller (address _rewardCaller ) external whenSystemNotPaused {
225- require (rewardCallerToTranscoderConfirmed[_rewardCaller] == msg .sender , "only relevant transcoder can unset " );
226+ require (rewardCallerToTranscoderConfirmed[_rewardCaller] == msg .sender , "only relevant transcoder can remove " );
226227 rewardCallerToTranscoderConfirmed[_rewardCaller] = address (0 );
227228 emit RewardCallerRemoved (msg .sender , _rewardCaller);
228229 }
Original file line number Diff line number Diff line change @@ -5414,12 +5414,14 @@ describe("BondingManager", () => {
54145414
54155415 describe ( "reward" , ( ) => {
54165416 let transcoder
5417+ let transcoder2
54175418 let nonTranscoder
54185419 let currentRound
54195420
54205421 beforeEach ( async ( ) => {
54215422 transcoder = signers [ 0 ]
5422- nonTranscoder = signers [ 1 ]
5423+ transcoder2 = signers [ 1 ]
5424+ nonTranscoder = signers [ 2 ]
54235425 currentRound = 100
54245426
54255427 await fixture . roundsManager . setMockBool (
@@ -6208,7 +6210,26 @@ describe("BondingManager", () => {
62086210 . connect ( nonTranscoder )
62096211 . removeRewardCaller ( nonTranscoder . address )
62106212 await expect ( removeRewardCallerTx ) . to . be . revertedWith (
6211- "only relevant transcoder can unset"
6213+ "only relevant transcoder can remove"
6214+ )
6215+ } )
6216+
6217+ it ( "impossible to confirm RewardCaller for a second transcoder" , async ( ) => {
6218+ await bondingManager
6219+ . connect ( nonTranscoder )
6220+ . proposeTranscoderForRewardCaller ( transcoder . address )
6221+ await bondingManager
6222+ . connect ( transcoder )
6223+ . confirmRewardCaller ( nonTranscoder . address )
6224+ await bondingManager
6225+ . connect ( nonTranscoder )
6226+ . proposeTranscoderForRewardCaller ( transcoder2 . address )
6227+
6228+ const removeRewardCallerTx = bondingManager
6229+ . connect ( transcoder2 )
6230+ . confirmRewardCaller ( nonTranscoder . address )
6231+ await expect ( removeRewardCallerTx ) . to . be . revertedWith (
6232+ "reward caller is already set"
62126233 )
62136234 } )
62146235
You can’t perform that action at this time.
0 commit comments