ethereum / pm

Project Management: Meeting notes and agenda items
Other
1.59k stars 323 forks source link

EOF Implementers Call #27 #891

Closed lightclient closed 10 months ago

lightclient commented 1 year ago

Meeting Info

Agenda

shemnon commented 11 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.

shemnon commented 10 months ago

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.