Skip to content

Commit 9667a81

Browse files
authored
Merge pull request #33 from randa-mu/fix/randomness-sender-bug-fix
Use non upgradeable reentrancy lib
2 parents 1897779 + b4393b4 commit 9667a81

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"publishConfig": {
66
"access": "public"
77
},
8-
"version": "0.0.9",
8+
"version": "0.0.10",
99
"directories": {
1010
"lib": "lib",
1111
"test": "test"

src/signature-requests/SignatureSender.sol

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {AccessControlEnumerableUpgradeable} from
66
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
77
import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
88
import {ContextUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol";
9-
import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol";
9+
import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
1010
import {EnumerableSet} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
1111

1212
import {TypesLib} from "../libraries/TypesLib.sol";
@@ -30,7 +30,7 @@ contract SignatureSender is
3030
Initializable,
3131
UUPSUpgradeable,
3232
AccessControlEnumerableUpgradeable,
33-
ReentrancyGuardUpgradeable
33+
ReentrancyGuard
3434
{
3535
using BytesLib for bytes;
3636
using EnumerableSet for EnumerableSet.UintSet;
@@ -94,7 +94,6 @@ contract SignatureSender is
9494
function initialize(address owner, address _signatureSchemeAddressProvider) public initializer {
9595
__UUPSUpgradeable_init();
9696
__AccessControlEnumerable_init();
97-
__ReentrancyGuard_init();
9897

9998
require(_grantRole(ADMIN_ROLE, owner), "Grant role failed");
10099
require(_grantRole(DEFAULT_ADMIN_ROLE, owner), "Grant role reverts");
@@ -166,13 +165,14 @@ contract SignatureSender is
166165

167166
require(sigScheme.verifySignature(request.messageHash, signature), "Signature verification failed");
168167

168+
// Apply CEI pattern: Update state before external interaction
169+
requests[requestID].isFulfilled = true;
170+
unfulfilledRequestIds.remove(requestID);
171+
169172
(bool success,) = request.callback.call(
170173
abi.encodeWithSelector(ISignatureReceiver.receiveSignature.selector, requestID, signature)
171174
);
172175

173-
requests[requestID].isFulfilled = true;
174-
unfulfilledRequestIds.remove(requestID);
175-
176176
if (!success) {
177177
erroredRequestIds.add(requestID);
178178
emit SignatureCallbackFailed(requestID);

0 commit comments

Comments
 (0)