diff --git a/v2/contracts/evm/GatewayEVM.sol b/v2/contracts/evm/GatewayEVM.sol index c690aaf2..51e53279 100644 --- a/v2/contracts/evm/GatewayEVM.sol +++ b/v2/contracts/evm/GatewayEVM.sol @@ -42,8 +42,8 @@ contract GatewayEVM is bytes32 public constant ASSET_HANDLER_ROLE = keccak256("ASSET_HANDLER_ROLE"); /// @notice New role identifier for pauser role. bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); - /// @notice Max payload size. - uint256 public constant MAX_PAYLOAD_SIZE = 512; + /// @notice Max size of payload + revertOptions revert message. + uint256 public constant MAX_PAYLOAD_SIZE = 1024; /// @custom:oz-upgrades-unsafe-allow constructor constructor() { diff --git a/v2/contracts/zevm/GatewayZEVM.sol b/v2/contracts/zevm/GatewayZEVM.sol index 035c26e5..dc00d328 100644 --- a/v2/contracts/zevm/GatewayZEVM.sol +++ b/v2/contracts/zevm/GatewayZEVM.sol @@ -36,8 +36,8 @@ contract GatewayZEVM is /// @notice New role identifier for pauser role. bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); - /// @notice Max message size. - uint256 public constant MAX_MESSAGE_SIZE = 512; + /// @notice Max size of message + revertOptions revert message. + uint256 public constant MAX_MESSAGE_SIZE = 1024; /// @dev Only protocol address allowed modifier. modifier onlyProtocol() { diff --git a/v2/test/GatewayEVM.t.sol b/v2/test/GatewayEVM.t.sol index 60b02ffa..fdd5ebe9 100644 --- a/v2/test/GatewayEVM.t.sol +++ b/v2/test/GatewayEVM.t.sol @@ -509,8 +509,8 @@ contract GatewayEVMInboundTest is Test, IGatewayEVMErrors, IGatewayEVMEvents, IR function testDepositERC20ToCustodyWithPayloadFailsIfPayloadSizeExceeded() public { uint256 amount = 100_000; - bytes memory payload = new bytes(256); - revertOptions.revertMessage = new bytes(256); + bytes memory payload = new bytes(512); + revertOptions.revertMessage = new bytes(512); token.approve(address(gateway), amount); @@ -571,8 +571,8 @@ contract GatewayEVMInboundTest is Test, IGatewayEVMErrors, IGatewayEVMEvents, IR function testDepositEthToTssWithPayloadFailsIfPayloadSizeExceeded() public { uint256 amount = 100_000; - bytes memory payload = new bytes(256); - revertOptions.revertMessage = new bytes(256); + bytes memory payload = new bytes(512); + revertOptions.revertMessage = new bytes(512); vm.expectRevert(PayloadSizeExceeded.selector); gateway.depositAndCall{ value: amount }(destination, payload, revertOptions); @@ -603,8 +603,8 @@ contract GatewayEVMInboundTest is Test, IGatewayEVMErrors, IGatewayEVMEvents, IR } function testCallWithPayloadFailsIfPayloadSizeExceeded() public { - bytes memory payload = new bytes(256); - revertOptions.revertMessage = new bytes(256); + bytes memory payload = new bytes(512); + revertOptions.revertMessage = new bytes(512); vm.expectRevert(PayloadSizeExceeded.selector); gateway.call(destination, payload, revertOptions); diff --git a/v2/test/GatewayZEVM.t.sol b/v2/test/GatewayZEVM.t.sol index d2b153f1..0016d004 100644 --- a/v2/test/GatewayZEVM.t.sol +++ b/v2/test/GatewayZEVM.t.sol @@ -153,8 +153,8 @@ contract GatewayZEVMInboundTest is Test, IGatewayZEVMEvents, IGatewayZEVMErrors } function testWithdrawAndCallZRC20FailsIfMessageSizeExceeded() public { - bytes memory message = new bytes(256); - revertOptions.revertMessage = new bytes(256); + bytes memory message = new bytes(512); + revertOptions.revertMessage = new bytes(512); vm.expectRevert(MessageSizeExceeded.selector); gateway.withdrawAndCall(abi.encodePacked(addr1), 1, address(zrc20), message, 1, revertOptions); @@ -222,8 +222,8 @@ contract GatewayZEVMInboundTest is Test, IGatewayZEVMEvents, IGatewayZEVMErrors } function testWithdrawAndCallZRC20WithCallOptsFailsIfMessageSizeExceeded() public { - bytes memory message = new bytes(256); - revertOptions.revertMessage = new bytes(256); + bytes memory message = new bytes(512); + revertOptions.revertMessage = new bytes(512); vm.expectRevert(MessageSizeExceeded.selector); gateway.withdrawAndCall(abi.encodePacked(addr1), 1, address(zrc20), message, callOptions, revertOptions); } @@ -301,8 +301,8 @@ contract GatewayZEVMInboundTest is Test, IGatewayZEVMEvents, IGatewayZEVMErrors } function testWithdrawAndCallZETAFailsIfMessageSizeExceeded() public { - bytes memory message = new bytes(256); - revertOptions.revertMessage = new bytes(256); + bytes memory message = new bytes(512); + revertOptions.revertMessage = new bytes(512); vm.expectRevert(MessageSizeExceeded.selector); gateway.withdrawAndCall(abi.encodePacked(addr1), 1, 1, message, revertOptions); } @@ -320,8 +320,8 @@ contract GatewayZEVMInboundTest is Test, IGatewayZEVMEvents, IGatewayZEVMErrors } function testWithdrawAndCallZETAWithCallOptsFailsIfMessageSizeExceeded() public { - bytes memory message = new bytes(256); - revertOptions.revertMessage = new bytes(256); + bytes memory message = new bytes(512); + revertOptions.revertMessage = new bytes(512); vm.expectRevert(MessageSizeExceeded.selector); gateway.withdrawAndCall(abi.encodePacked(addr1), 1, 1, message, callOptions, revertOptions); } @@ -538,8 +538,8 @@ contract GatewayZEVMInboundTest is Test, IGatewayZEVMEvents, IGatewayZEVMErrors } function testCallFailsIfMessageSizeExceeded() public { - bytes memory message = new bytes(256); - revertOptions.revertMessage = new bytes(256); + bytes memory message = new bytes(512); + revertOptions.revertMessage = new bytes(512); vm.expectRevert(MessageSizeExceeded.selector); gateway.call(abi.encodePacked(addr1), address(zrc20), message, 1, revertOptions); } @@ -565,8 +565,8 @@ contract GatewayZEVMInboundTest is Test, IGatewayZEVMEvents, IGatewayZEVMErrors } function testCallWithCallOptsFailsIfMessageSizeExceeded() public { - bytes memory message = new bytes(256); - revertOptions.revertMessage = new bytes(256); + bytes memory message = new bytes(512); + revertOptions.revertMessage = new bytes(512); vm.expectRevert(MessageSizeExceeded.selector); gateway.call(abi.encodePacked(addr1), address(zrc20), message, callOptions, revertOptions); }