• Joshua Gutow's avatar
    op-node: Isolated channel frame serialization (#3125) · 9673eca7
    Joshua Gutow authored
    * op-node: Add channel frame serialization
    
    This creates a struct & serialization & deserialization methods
    for it. This is to replace the current serialization code which
    is embedded in more complex methods.
    
    The reading is done with a reader API instead of a bytes API because
    the frame is variable length & is originally merged together with
    other frames without a clean division. The writing API uses a
    writer for simplicity (but is not required).
    
    This lays the groundwork for easily switching to fixed int sizes.
    
    * op-node: Use channel frame deserialization
    
    This uses the new channel frame object for deserialization. Some
    of the API interaction is a little weird in the channel_bank
    IngestData loop, but the code is not able to be easily tested and
    upgraded.
    
    * op-node: Use channel frame in serialization
    
    This uses the default implementation (through a struct) rather
    than the custom logic. It might make sense to use a slightly
    different API for serialization than deserialization given the
    inputs, but splitting out the logic into it's own function is
    still an improvement.
    Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
    9673eca7
Name
Last commit
Last update
..
backoff Loading commit data...
client Loading commit data...
cmd Loading commit data...
eth Loading commit data...
flags Loading commit data...
l1 Loading commit data...
l2 Loading commit data...
metrics Loading commit data...
node Loading commit data...
p2p Loading commit data...
rollup Loading commit data...
testlog Loading commit data...
testutils Loading commit data...
version Loading commit data...
withdrawals Loading commit data...
.gitignore Loading commit data...
Dockerfile Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
docker.go.work Loading commit data...
go.mod Loading commit data...
go.sum Loading commit data...
service.go Loading commit data...