Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade Sonic and Carmen version #1146

Merged
merged 5 commits into from
Aug 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion carmen
Submodule carmen updated 75 files
+54 −37 Jenkinsfile
+2 −2 go/backend/archive/archive_test.go
+2 −1 go/backend/archive/sqlite/archive.go
+220 −25 go/backend/stock/file/file.go
+616 −9 go/backend/stock/file/file_test.go
+2 −1 go/backend/stock/file/stack.go
+125 −22 go/backend/stock/memory/memory.go
+29 −0 go/backend/stock/shadow/shadow.go
+8 −1 go/backend/stock/stock.go
+57 −0 go/backend/stock/stock_mocks.go
+298 −0 go/backend/stock/stock_test_utils.go
+25 −0 go/backend/stock/synced/synced.go
+224 −0 go/backend/utils/checkpoint/checkpoint.go
+185 −0 go/backend/utils/checkpoint/checkpoint_mocks.go
+368 −0 go/backend/utils/checkpoint/checkpoint_test.go
+39 −0 go/backend/utils/json_file_io.go
+117 −0 go/backend/utils/json_file_io_test.go
+19 −1 go/carmen/block.go
+11 −0 go/carmen/carmen.go
+18 −6 go/carmen/database.go
+233 −1 go/carmen/database_test.go
+163 −1 go/carmen/example_test.go
+44 −3 go/carmen/proof.go
+16 −11 go/carmen/proof_test.go
+9 −0 go/carmen/property.go
+31 −0 go/common/immutable/bytes.go
+62 −0 go/common/immutable/bytes_test.go
+19 −1 go/common/witness/proof.go
+378 −27 go/database/mpt/archive_trie.go
+1 −1 go/database/mpt/archive_trie_fuzzing_test.go
+1,628 −111 go/database/mpt/archive_trie_test.go
+352 −0 go/database/mpt/codes.go
+906 −0 go/database/mpt/codes_test.go
+11 −0 go/database/mpt/directory_lock.go
+54 −0 go/database/mpt/directory_lock_test.go
+2 −2 go/database/mpt/dirty_directory_mark.go
+10 −0 go/database/mpt/dirty_directory_mark_test.go
+15 −4 go/database/mpt/forest.go
+27 −20 go/database/mpt/io/archive.go
+29 −11 go/database/mpt/io/archive_test.go
+14 −5 go/database/mpt/io/interrupt_test.go
+109 −22 go/database/mpt/io/live.go
+111 −14 go/database/mpt/io/live_test.go
+78 −0 go/database/mpt/io/log.go
+57 −0 go/database/mpt/io/log_test.go
+68 −43 go/database/mpt/proof.go
+247 −24 go/database/mpt/proof_test.go
+11 −137 go/database/mpt/state.go
+2 −3 go/database/mpt/state_mocks.go
+8 −104 go/database/mpt/state_test.go
+1 −62 go/database/mpt/tool/benchmark.go
+2 −13 go/database/mpt/tool/block.go
+2 −15 go/database/mpt/tool/check.go
+22 −29 go/database/mpt/tool/export.go
+8 −28 go/database/mpt/tool/import.go
+17 −4 go/database/mpt/tool/info.go
+3 −2 go/database/mpt/tool/init_archive.go
+105 −2 go/database/mpt/tool/main.go
+82 −0 go/database/mpt/tool/reset.go
+1 −1 go/database/mpt/tool/stress.go
+1 −14 go/database/mpt/tool/verify.go
+2 −2 go/database/mpt/verification.go
+2 −2 go/database/mpt/visitor_test.go
+18 −10 go/state/configurations.go
+8 −1 go/state/cppstate/cpp_state.go
+24 −0 go/state/gostate/archive_state.go
+133 −0 go/state/gostate/archive_state_test.go
+8 −2 go/state/gostate/configurations.go
+7 −1 go/state/gostate/go_state.go
+7 −0 go/state/state.go
+10 −0 go/state/state_db.go
+21 −0 go/state/state_db_mock.go
+23 −0 go/state/state_db_test.go
+17 −0 go/state/state_mock.go
+10 −1 go/state/synced_state.go
6 changes: 6 additions & 0 deletions executor/extension/profiler/operation_profiler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,8 @@ func getStateDbFuncs(db state.StateDB) []func() {
func() { db.EndSyncPeriod() },
func() { db.AddLog(nil) },
func() { db.GetLogs(mockHash, uint64(0), mockHash) },
func() { db.PointCache() },
func() { db.Witness() },
func() { db.AddPreimage(mockHash, []byte{0}) },
func() { db.SetTxContext(mockHash, 0) },
func() { db.Finalise(false) },
Expand Down Expand Up @@ -402,6 +404,8 @@ func prepareMockStateDb(m *state.MockStateDB) {
m.EXPECT().EndSyncPeriod().AnyTimes()
m.EXPECT().AddLog(gomock.Any()).AnyTimes()
m.EXPECT().GetLogs(gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes()
m.EXPECT().PointCache().AnyTimes()
m.EXPECT().Witness().AnyTimes()
m.EXPECT().AddPreimage(gomock.Any(), gomock.Any()).AnyTimes()
m.EXPECT().SetTxContext(gomock.Any(), gomock.Any()).AnyTimes()
m.EXPECT().Finalise(gomock.Any()).AnyTimes()
Expand Down Expand Up @@ -453,6 +457,8 @@ func prepareMockStateDbOnce(m *state.MockStateDB) {
m.EXPECT().EndSyncPeriod()
m.EXPECT().AddLog(gomock.Any())
m.EXPECT().GetLogs(gomock.Any(), gomock.Any(), gomock.Any())
m.EXPECT().PointCache()
m.EXPECT().Witness()
m.EXPECT().AddPreimage(gomock.Any(), gomock.Any())
m.EXPECT().SetTxContext(gomock.Any(), gomock.Any())
m.EXPECT().Finalise(gomock.Any())
Expand Down
67 changes: 34 additions & 33 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@ go 1.22
toolchain go1.22.0

require (
github.com/Fantom-foundation/Carmen/go v0.0.0-20240720214637-e2e21d535f38
github.com/Fantom-foundation/Carmen/go v0.0.0-20240828120238-9cdf6b117fcf
github.com/Fantom-foundation/Norma v0.0.0-20240422103552-42e37352b2f4
github.com/Fantom-foundation/Substate v0.0.0-20240823083426-23958ddac462
github.com/Fantom-foundation/Tosca v0.0.0-20230527064715-aa1fc97baebe
github.com/Fantom-foundation/go-opera v1.1.1-rc.2
github.com/Fantom-foundation/lachesis-base v0.0.0-20240116072301-a75735c4ef00
github.com/dsnet/compress v0.0.1
github.com/ethereum/go-ethereum v1.14.3
github.com/ethereum/go-ethereum v1.14.8
github.com/go-echarts/go-echarts/v2 v2.2.5
github.com/goccy/go-graphviz v0.1.0
github.com/gogo/protobuf v1.3.2
github.com/google/martian v2.1.0+incompatible
github.com/holiman/uint256 v1.2.4
github.com/holiman/uint256 v1.3.1
github.com/jedib0t/go-pretty/v6 v6.4.9
github.com/jmoiron/sqlx v1.3.5
github.com/klauspost/compress v1.17.8
github.com/klauspost/compress v1.17.9
github.com/mattn/go-sqlite3 v1.14.22
github.com/onsi/gomega v1.19.0
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7
Expand All @@ -29,89 +29,90 @@ require (
github.com/status-im/keycard-go v0.3.2
github.com/stretchr/testify v1.9.0
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7
github.com/urfave/cli/v2 v2.27.2
github.com/urfave/cli/v2 v2.27.4
go.uber.org/mock v0.4.0
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842
golang.org/x/exp v0.0.0-20240823005443-9b4947da3948
gonum.org/v1/gonum v0.12.0
)

require (
github.com/DataDog/zstd v1.5.5 // indirect
github.com/DataDog/zstd v1.5.6 // indirect
github.com/FactomProject/basen v0.0.0-20150613233007-fe3947df716e // indirect
github.com/FactomProject/btcutilecc v0.0.0-20130527213604-d3a63a5752ec // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/VictoriaMetrics/fastcache v1.12.2 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bits-and-blooms/bitset v1.13.0 // indirect
github.com/btcsuite/btcd v0.22.0-beta // indirect
github.com/btcsuite/btcd/btcec/v2 v2.3.3 // indirect
github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/cockroachdb/errors v1.11.1 // indirect
github.com/cockroachdb/errors v1.11.3 // indirect
github.com/cockroachdb/fifo v0.0.0-20240816210425-c5d0cb0b6fc0 // indirect
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
github.com/cockroachdb/pebble v1.1.0 // indirect
github.com/cockroachdb/pebble v1.1.1 // indirect
github.com/cockroachdb/redact v1.1.5 // indirect
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
github.com/consensys/bavard v0.1.13 // indirect
github.com/consensys/gnark-crypto v0.12.1 // indirect
github.com/consensys/gnark-crypto v0.13.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 // indirect
github.com/crate-crypto/go-kzg-4844 v1.0.0 // indirect
github.com/crate-crypto/go-ipa v0.0.0-20240724233137-53bbb0ceb27a // indirect
github.com/crate-crypto/go-kzg-4844 v1.1.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/deckarep/golang-set/v2 v2.6.0 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect
github.com/distribution/reference v0.6.0 // indirect
github.com/ethereum/c-kzg-4844 v1.0.2 // indirect
github.com/ethereum/c-kzg-4844 v1.0.3 // indirect
github.com/ethereum/evmc/v11 v11.0.0 // indirect
github.com/ethereum/go-verkle v0.1.1-0.20240306133620-7d920df305f0 // indirect
github.com/fogleman/gg v1.3.0 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 // indirect
github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46 // indirect
github.com/getsentry/sentry-go v0.27.0 // indirect
github.com/getsentry/sentry-go v0.28.1 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
github.com/gofrs/flock v0.8.1 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
github.com/golang/mock v1.6.0 // indirect
github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/websocket v1.5.1 // indirect
github.com/gorilla/websocket v1.5.3 // indirect
github.com/hashicorp/golang-lru v1.0.2 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
github.com/huin/goupnp v1.3.0 // indirect
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/mattn/go-runewidth v0.0.15 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mmcloughlin/addchain v0.4.0 // indirect
github.com/moby/docker-image-spec v1.3.1 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/prometheus/client_golang v1.19.1 // indirect
github.com/prometheus/client_golang v1.20.1 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.53.0 // indirect
github.com/prometheus/procfs v0.15.0 // indirect
github.com/prometheus/common v0.55.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/shirou/gopsutil v3.21.11+incompatible // indirect
github.com/supranational/blst v0.3.11 // indirect
github.com/supranational/blst v0.3.13 // indirect
github.com/tklauser/go-sysconf v0.3.14 // indirect
github.com/tklauser/numcpus v0.8.0 // indirect
github.com/tyler-smith/go-bip32 v1.0.0 // indirect
github.com/tyler-smith/go-bip39 v1.1.0 // indirect
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 // indirect
go.opentelemetry.io/otel/trace v1.27.0 // indirect
golang.org/x/crypto v0.23.0 // indirect
golang.org/x/crypto v0.26.0 // indirect
golang.org/x/image v0.11.0 // indirect
golang.org/x/net v0.25.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/sys v0.20.0 // indirect
golang.org/x/text v0.15.0 // indirect
google.golang.org/protobuf v1.34.1 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sys v0.24.0 // indirect
golang.org/x/text v0.17.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
pgregory.net/rand v1.0.2 // indirect
rsc.io/tmplfunc v0.0.3 // indirect
Expand All @@ -127,8 +128,8 @@ replace github.com/Fantom-foundation/Tosca => ./tosca

replace github.com/ethereum/evmc/v11 => ./tosca/third_party/evmc

replace github.com/ethereum/go-ethereum => github.com/Fantom-foundation/go-ethereum-sonic v0.0.0-20240529085303-2400937cc3b1
replace github.com/ethereum/go-ethereum => github.com/Fantom-foundation/go-ethereum-sonic v0.0.0-20240821150740-8b61095b9134

replace github.com/Fantom-foundation/lachesis-base => github.com/Fantom-foundation/lachesis-base-sonic v0.0.0-20240320160249-81827a18147c
replace github.com/Fantom-foundation/lachesis-base => github.com/Fantom-foundation/lachesis-base-sonic v0.0.0-20240823114058-cda038e6d40b

replace github.com/Fantom-foundation/go-opera => github.com/Fantom-foundation/sonic v1.2.1-b.0.20240721092233-b6139029b290
replace github.com/Fantom-foundation/go-opera => github.com/Fantom-foundation/sonic v1.2.1-b.0.20240828122258-bbb93a43ceb5
Loading
Loading