• 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
.changeset Loading commit data...
.circleci Loading commit data...
.github Loading commit data...
.husky Loading commit data...
.vscode Loading commit data...
.yarn/releases Loading commit data...
batch-submitter Loading commit data...
bss-core Loading commit data...
gas-oracle Loading commit data...
indexer Loading commit data...
infra/op-replica Loading commit data...
integration-tests Loading commit data...
l2geth Loading commit data...
l2geth-exporter Loading commit data...
op-batcher Loading commit data...
op-bindings Loading commit data...
op-e2e Loading commit data...
op-exporter Loading commit data...
op-node Loading commit data...
op-proposer Loading commit data...
ops Loading commit data...
ops-bedrock Loading commit data...
packages Loading commit data...
patches Loading commit data...
proxyd Loading commit data...
specs Loading commit data...
state-surgery Loading commit data...
technical-documents Loading commit data...
teleportr Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.eslintrc.js Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.markdownlint.json Loading commit data...
.nvmrc Loading commit data...
.prettierrc.js Loading commit data...
.semgrepignore Loading commit data...
.yarnrc Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
SECURITY.md Loading commit data...
cloudbuild.yaml Loading commit data...
go.work Loading commit data...
go.work.sum Loading commit data...
lerna.json Loading commit data...
package.json Loading commit data...
tsconfig.json Loading commit data...
yarn.lock Loading commit data...