euint8 | euint16 | euint32 | euint64 | euint128. Both operands must be the same type.
add
sub
mul
div
rem
Remainder by zero does not revert.
rem returns the dividend unchanged, so 63 % 0 yields 63. The mock contracts behind the Hardhat and Foundry plugins differ here: they revert with a Solidity division panic. A local test of rem by zero therefore fails while the same call succeeds on a live network.