@@ -5,11 +5,19 @@ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
5
5
import "@openzeppelin-upgrades/contracts/proxy/ClonesUpgradeable.sol " ;
6
6
import "@openzeppelin-upgrades/contracts/proxy/utils/Initializable.sol " ;
7
7
import "@openzeppelin-upgrades/contracts/access/OwnableUpgradeable.sol " ;
8
+ import "@openzeppelin-upgrades/contracts/security/ReentrancyGuardUpgradeable.sol " ;
8
9
import "../permissions/Pausable.sol " ;
9
10
import "../mixins/SemVerMixin.sol " ;
10
11
import "./SlashEscrowFactoryStorage.sol " ;
11
12
12
- contract SlashEscrowFactory is Initializable , SlashEscrowFactoryStorage , OwnableUpgradeable , Pausable , SemVerMixin {
13
+ contract SlashEscrowFactory is
14
+ Initializable ,
15
+ SlashEscrowFactoryStorage ,
16
+ OwnableUpgradeable ,
17
+ ReentrancyGuardUpgradeable ,
18
+ Pausable ,
19
+ SemVerMixin
20
+ {
13
21
using SafeERC20 for IERC20 ;
14
22
using OperatorSetLib for * ;
15
23
using EnumerableSet for * ;
@@ -101,7 +109,7 @@ contract SlashEscrowFactory is Initializable, SlashEscrowFactoryStorage, Ownable
101
109
function releaseSlashEscrow (
102
110
OperatorSet calldata operatorSet ,
103
111
uint256 slashId
104
- ) external onlyWhenNotPaused (PAUSED_RELEASE_ESCROW) {
112
+ ) external onlyWhenNotPaused (PAUSED_RELEASE_ESCROW) nonReentrant {
105
113
address redistributionRecipient = allocationManager.getRedistributionRecipient (operatorSet);
106
114
107
115
_checkReleaseSlashEscrow (operatorSet, slashId, redistributionRecipient);
@@ -133,7 +141,7 @@ contract SlashEscrowFactory is Initializable, SlashEscrowFactoryStorage, Ownable
133
141
OperatorSet calldata operatorSet ,
134
142
uint256 slashId ,
135
143
IStrategy strategy
136
- ) external virtual onlyWhenNotPaused (PAUSED_RELEASE_ESCROW) {
144
+ ) external virtual onlyWhenNotPaused (PAUSED_RELEASE_ESCROW) nonReentrant {
137
145
address redistributionRecipient = allocationManager.getRedistributionRecipient (operatorSet);
138
146
139
147
_checkReleaseSlashEscrow (operatorSet, slashId, redistributionRecipient);
0 commit comments