creationCodeFor has been changed to use PUSH2 instead of PUSH4 since there is a max contract size limit of 24576 bytes which is less than 2^16 = 65536 (uint16). Also PUSH1 0 instructions have been changed to RETURNDATASIZE.
codeAt has been changed so that only one subtraction is used to calculate size and also an extra addition in the assembly block has been removed to replace 0x20 + 0x1f with 0x3f.
Changes to
contracts/utils/Bytecode.sol
:creationCodeFor
has been changed to usePUSH2
instead ofPUSH4
since there is a max contract size limit of24576 bytes
which is less than2^16 = 65536 (uint16)
. AlsoPUSH1 0
instructions have been changed toRETURNDATASIZE
.codeAt
has been changed so that only one subtraction is used to calculatesize
and also an extra addition in theassembly
block has been removed to replace0x20 + 0x1f
with0x3f
.All tests are passing.