Merge branch 'master' into typo-fixes
This commit is contained in:
@ -218,7 +218,7 @@ abstract contract MultiSignerERC7913 is AbstractSigner {
|
||||
|
||||
/**
|
||||
* @dev Validates the signatures using the signers and their corresponding signatures.
|
||||
* Returns whether whether the signers are authorized and the signatures are valid for the given hash.
|
||||
* Returns whether the signers are authorized and the signatures are valid for the given hash.
|
||||
*
|
||||
* IMPORTANT: Sorting the signers by their `keccak256` hash will improve the gas efficiency of this function.
|
||||
* See {SignatureChecker-areValidSignaturesNow-bytes32-bytes[]-bytes[]} for more details.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
pragma solidity ^0.8.27;
|
||||
pragma solidity ^0.8.26;
|
||||
|
||||
import {SafeCast} from "../../math/SafeCast.sol";
|
||||
import {MultiSignerERC7913} from "./MultiSignerERC7913.sol";
|
||||
@ -104,18 +104,22 @@ abstract contract MultiSignerERC7913Weighted is MultiSignerERC7913 {
|
||||
uint256 extraWeightRemoved = 0;
|
||||
for (uint256 i = 0; i < signers.length; ++i) {
|
||||
bytes memory signer = signers[i];
|
||||
uint64 weight = weights[i];
|
||||
|
||||
require(isSigner(signer), MultiSignerERC7913NonexistentSigner(signer));
|
||||
|
||||
uint64 weight = weights[i];
|
||||
require(weight > 0, MultiSignerERC7913WeightedInvalidWeight(signer, weight));
|
||||
|
||||
unchecked {
|
||||
// Overflow impossible: weight values are bounded by uint64 and economic constraints
|
||||
extraWeightRemoved += _extraWeights[signer];
|
||||
extraWeightAdded += _extraWeights[signer] = weight - 1;
|
||||
}
|
||||
uint64 oldExtraWeight = _extraWeights[signer];
|
||||
uint64 newExtraWeight = weight - 1;
|
||||
|
||||
emit ERC7913SignerWeightChanged(signer, weight);
|
||||
if (oldExtraWeight != newExtraWeight) {
|
||||
// Overflow impossible: weight values are bounded by uint64 and economic constraints
|
||||
extraWeightRemoved += oldExtraWeight;
|
||||
extraWeightAdded += _extraWeights[signer] = newExtraWeight;
|
||||
emit ERC7913SignerWeightChanged(signer, weight);
|
||||
}
|
||||
}
|
||||
}
|
||||
unchecked {
|
||||
// Safe from underflow: `extraWeightRemoved` is bounded by `_totalExtraWeight` by construction
|
||||
|
||||
Reference in New Issue
Block a user