ethereum / go-verkle

A go implementation of Verkle trees
The Unlicense
210 stars 64 forks source link

[wip] SSZ-optimize proof (type 2) #443

Open gballet opened 3 months ago

gballet commented 3 months ago

This is the first suggestion by Péter, it replaces the proposed suffix diff format with:

type StemStateDiff struct {
    Stem [StemSize]byte `json:"stem"`
    UpdatedSuffixes []byte   `json:"updatedsuffixes"`
    UpdatedCurrent  [][]byte `json:"updatedcurrent"`
    UpdatedNew      [][]byte `json:"updatednew"`
    ReadSuffixes []byte   `json:"readsuffixes"`
    ReadCurrent  [][]byte `json:"readcurrent"`

    InsertedSuffixes []byte   `json:"insertedsuffixes"`
    InsertedNew      [][]byte `json:"insertednew"`

    UntouchedSuffixes []byte `json:"untouchedsuffixes"`
}

The goal is to not use any Optional/null at all.