anton-rs / cannon-rs

An alternative implementation of the OP Stack's Cannon, a MIPS emulator for the EVM.
MIT License
59 stars 6 forks source link

feat: Binary Serialization #29

Open clabby opened 11 months ago

clabby commented 11 months ago

Overview

https://github.com/ethereum-optimism/optimism/pull/7559 defines a new binary serialization format for the State and Memory structs, specifically for the snapshots. This should alleviate some of the pain in the Go <> Rust JSON interoperability (context: https://github.com/golang/go/issues/37711 - tl;dr golang does not marshal nil slices as [] in JSON by default.)

Move the serialization of State and Memory over to this format once (or if) this PR is merged.