Roy Crihfield
b8fec4b571
Adds a method to perform full-state snapshots by diffing against an empty state trie. This replicates the functionality of `ipld-eth-state-snapshot`, so that code can use this as a library; see: cerc-io/ipld-eth-state-snapshot#1 Note that due to how incremental diffs are processed (updates are processed after the trie has been traversed) the iterator state doesn't fully capture the progress of the diff, so it's not currently feasible to state diffs this way. Full snapshots don't have to worry about updated accounts, so we can support them. Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com> Reviewed-on: #15
132 lines
6.3 KiB
Modula-2
132 lines
6.3 KiB
Modula-2
module github.com/cerc-io/plugeth-statediff
|
|
|
|
go 1.19
|
|
|
|
require (
|
|
github.com/cerc-io/eth-iterator-utils v0.1.1
|
|
github.com/cerc-io/eth-testing v0.2.1
|
|
github.com/ethereum/go-ethereum v1.11.6
|
|
github.com/georgysavva/scany v0.2.9
|
|
github.com/golang/mock v1.6.0
|
|
github.com/inconshreveable/log15 v2.16.0+incompatible
|
|
github.com/ipfs/go-cid v0.2.0
|
|
github.com/jackc/pgconn v1.10.0
|
|
github.com/jackc/pgtype v1.8.1
|
|
github.com/jackc/pgx/v4 v4.13.0
|
|
github.com/jmoiron/sqlx v1.2.0
|
|
github.com/lib/pq v1.10.6
|
|
github.com/multiformats/go-multihash v0.1.0
|
|
github.com/openrelayxyz/plugeth-utils v1.2.0
|
|
github.com/pganalyze/pg_query_go/v4 v4.2.1
|
|
github.com/shopspring/decimal v1.2.0
|
|
github.com/stretchr/testify v1.8.2
|
|
github.com/thoas/go-funk v0.9.3
|
|
golang.org/x/sync v0.1.0
|
|
)
|
|
|
|
require (
|
|
github.com/DataDog/zstd v1.5.2 // indirect
|
|
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect
|
|
github.com/VictoriaMetrics/fastcache v1.6.0 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/btcsuite/btcd/btcec/v2 v2.2.0 // indirect
|
|
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
|
github.com/cockroachdb/errors v1.9.1 // indirect
|
|
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
|
|
github.com/cockroachdb/pebble v0.0.0-20230209160836-829675f94811 // indirect
|
|
github.com/cockroachdb/redact v1.1.3 // indirect
|
|
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
github.com/deckarep/golang-set/v2 v2.1.0 // indirect
|
|
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
|
|
github.com/deepmap/oapi-codegen v1.8.2 // indirect
|
|
github.com/edsrzf/mmap-go v1.0.0 // indirect
|
|
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 // indirect
|
|
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
|
github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff // indirect
|
|
github.com/getsentry/sentry-go v0.18.0 // indirect
|
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
|
github.com/go-stack/stack v1.8.1 // indirect
|
|
github.com/gofrs/flock v0.8.1 // indirect
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
|
github.com/golang-jwt/jwt/v4 v4.3.0 // indirect
|
|
github.com/golang/protobuf v1.5.2 // indirect
|
|
github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
|
|
github.com/google/uuid v1.3.0 // indirect
|
|
github.com/gorilla/websocket v1.4.2 // indirect
|
|
github.com/graph-gophers/graphql-go v1.3.0 // indirect
|
|
github.com/hashicorp/go-bexpr v0.1.10 // indirect
|
|
github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
|
|
github.com/holiman/uint256 v1.2.2-0.20230321075855-87b91420868c // indirect
|
|
github.com/huin/goupnp v1.0.3 // indirect
|
|
github.com/influxdata/influxdb-client-go/v2 v2.4.0 // indirect
|
|
github.com/influxdata/influxdb1-client v0.0.0-20220302092344-a9ab5670611c // indirect
|
|
github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 // indirect
|
|
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
|
|
github.com/jackc/pgio v1.0.0 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgproto3/v2 v2.1.1 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect
|
|
github.com/jackc/puddle v1.1.3 // indirect
|
|
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
|
|
github.com/klauspost/compress v1.15.15 // indirect
|
|
github.com/klauspost/cpuid/v2 v2.0.9 // indirect
|
|
github.com/kr/pretty v0.3.1 // indirect
|
|
github.com/kr/text v0.2.0 // indirect
|
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
|
github.com/mattn/go-isatty v0.0.16 // indirect
|
|
github.com/mattn/go-runewidth v0.0.9 // indirect
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
|
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect
|
|
github.com/minio/sha256-simd v1.0.0 // indirect
|
|
github.com/mitchellh/mapstructure v1.4.1 // indirect
|
|
github.com/mitchellh/pointerstructure v1.2.0 // indirect
|
|
github.com/mr-tron/base58 v1.2.0 // indirect
|
|
github.com/multiformats/go-base32 v0.0.3 // indirect
|
|
github.com/multiformats/go-base36 v0.1.0 // indirect
|
|
github.com/multiformats/go-multibase v0.0.3 // indirect
|
|
github.com/multiformats/go-varint v0.0.6 // indirect
|
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
|
github.com/opentracing/opentracing-go v1.1.0 // indirect
|
|
github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/prometheus/client_golang v1.14.0 // indirect
|
|
github.com/prometheus/client_model v0.3.0 // indirect
|
|
github.com/prometheus/common v0.39.0 // indirect
|
|
github.com/prometheus/procfs v0.9.0 // indirect
|
|
github.com/rogpeppe/go-internal v1.9.0 // indirect
|
|
github.com/rs/cors v1.7.0 // indirect
|
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
|
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
|
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
|
github.com/status-im/keycard-go v0.2.0 // indirect
|
|
github.com/stretchr/objx v0.5.0 // indirect
|
|
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect
|
|
github.com/tklauser/go-sysconf v0.3.5 // indirect
|
|
github.com/tklauser/numcpus v0.2.2 // indirect
|
|
github.com/tyler-smith/go-bip39 v1.1.0 // indirect
|
|
github.com/urfave/cli/v2 v2.17.2-0.20221006022127-8f469abc00aa // indirect
|
|
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
|
|
golang.org/x/crypto v0.1.0 // indirect
|
|
golang.org/x/exp v0.0.0-20230206171751-46f607a40771 // indirect
|
|
golang.org/x/net v0.8.0 // indirect
|
|
golang.org/x/sys v0.6.0 // indirect
|
|
golang.org/x/term v0.6.0 // indirect
|
|
golang.org/x/text v0.8.0 // indirect
|
|
golang.org/x/time v0.0.0-20220922220347-f3bd1da661af // indirect
|
|
google.golang.org/protobuf v1.28.1 // indirect
|
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
|
|
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
lukechampine.com/blake3 v1.1.6 // indirect
|
|
)
|
|
|
|
replace (
|
|
github.com/cerc-io/eth-iterator-utils => git.vdb.to/cerc-io/eth-iterator-utils v0.1.2
|
|
github.com/cerc-io/eth-testing => git.vdb.to/cerc-io/eth-testing v0.3.1
|
|
github.com/ethereum/go-ethereum => git.vdb.to/cerc-io/plugeth v0.0.0-20230808125822-691dc334fab1
|
|
github.com/openrelayxyz/plugeth-utils => git.vdb.to/cerc-io/plugeth-utils v0.0.0-20230706160122-cd41de354c46
|
|
)
|