Closed lightclient closed 10 months ago
Can we get an issue for #28? One topic to add for spec updates
We may also want to consider another renumbering to account for EXCHANGE, and possibly leave room for 1,2,and 3 byte exchanges, and 4 byte CALLF.
Also I think we should consider variable length encoding for immediates. (a) it could create smaller contracts for smaller values, such as jumps within 64 bytes. (b) it will keep EOF from hitting a 64KiB limit.
For (a) I compiled Uniswaps Universal Router based off of solidity's shanghai EOF fork (the one without any optimizations). I estimate 1k of bytes could be eliminated based on 5d00[1234] and b000[1234] patterns showing up. that's ~4%.
One encoding scheme is protobuf's zigzag. Another one would be to use the continuation bit pattern like UTF-8 and just use the highest bit for sign when it's signed. The zigzag has the advantage of pre-fuzzed implementations.
Meeting Info
Agenda