diff --git a/contracts/capacitors/HashChainCapacitor.sol b/contracts/capacitors/HashChainCapacitor.sol index e06144eba..9e49d39fb 100644 --- a/contracts/capacitors/HashChainCapacitor.sol +++ b/contracts/capacitors/HashChainCapacitor.sol @@ -58,7 +58,7 @@ contract HashChainCapacitor is BaseCapacitor { address owner_, uint256 maxPacketLength_ ) BaseCapacitor(socket_, owner_) { - if (maxPacketLength > MAX_LEN) revert InvalidPacketLength(); + if (maxPacketLength_ > MAX_LEN) revert InvalidPacketLength(); maxPacketLength = maxPacketLength_; } @@ -72,7 +72,7 @@ contract HashChainCapacitor is BaseCapacitor { function updateMaxPacketLength( uint256 maxPacketLength_ ) external onlyOwner { - if (maxPacketLength > MAX_LEN) revert InvalidPacketLength(); + if (maxPacketLength_ > MAX_LEN) revert InvalidPacketLength(); if (maxPacketLength_ < maxPacketLength) { uint64 lastPackedMsgIndex = messagePacked; uint64 packetCount = _nextPacketCount; diff --git a/test/capacitors/HashChainCapacitor.t.sol b/test/capacitors/HashChainCapacitor.t.sol index 9ec8b5916..1eb795f29 100644 --- a/test/capacitors/HashChainCapacitor.t.sol +++ b/test/capacitors/HashChainCapacitor.t.sol @@ -144,6 +144,27 @@ contract HashChainCapacitorTest is Setup { assertEq(nextPacketId, packetId_, "packetId Invalid"); } + function testRevertOversizedConstructorPacketLength() external { + vm.expectRevert(HashChainCapacitor.InvalidPacketLength.selector); + new HashChainCapacitor(_socket, _socketOwner, 11); + } + + function testRevertOversizedUpdatePacketLength() external { + hoax(_socketOwner); + vm.expectRevert(HashChainCapacitor.InvalidPacketLength.selector); + _hcCapacitor.updateMaxPacketLength(11); + } + + function testAcceptBoundaryPacketLength() external { + hoax(_socketOwner); + _hcCapacitor.updateMaxPacketLength(10); + assertEq( + _hcCapacitor.getMaxPacketLength(), + 10, + "Boundary length should be accepted" + ); + } + function _assertPacketById(bytes32 root_, uint64 packetCount_) private { bytes32 root = _hcCapacitor.getRootByCount(packetCount_); bytes32 packedRoot = root_;