Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
6acb243
feat: init database crate
SoarinSkySagar Jun 27, 2026
19c6afd
chore: pull database as a grandine dep and create storage crate
SoarinSkySagar Jun 27, 2026
57d0438
feat: add leanspec consts for db
SoarinSkySagar Jun 27, 2026
e0233e0
feat: add databases for each KV pair defined in spec
SoarinSkySagar Jun 28, 2026
4376cdd
feat: add Storage impl with builderplate functions from spec
SoarinSkySagar Jun 29, 2026
2a25e9e
feat: storage spec API functions
SoarinSkySagar Jun 30, 2026
efe3e0a
feat: implement libmdbx with custom compression per database instance
SoarinSkySagar Jul 2, 2026
2da086b
chore: tests (all passing)
SoarinSkySagar Jul 2, 2026
25902c6
chore: combine database and storage
SoarinSkySagar Jul 3, 2026
eaffc22
feat: fully spec-compliant storage API
SoarinSkySagar Jul 3, 2026
5f1fdb8
chore: privatized Database and removed DatabaseMode
SoarinSkySagar Jul 3, 2026
fd53cdf
chore: refinement
SoarinSkySagar Jul 8, 2026
e5f57c9
feat: add more storage functions
SoarinSkySagar Jul 8, 2026
6d8ae2f
feat: wiring up storage
SoarinSkySagar Jul 9, 2026
b820af2
Merge pull request #1 from SoarinSkySagar/devnet-5
SoarinSkySagar Jul 9, 2026
4fc8228
feat: new db on wrong network panic
SoarinSkySagar Jul 10, 2026
9ed2d6f
chore: gitignore
SoarinSkySagar Jul 10, 2026
8394e4a
tidying up
SoarinSkySagar Jul 11, 2026
3a4c25c
diffs removed
SoarinSkySagar Jul 21, 2026
630b7a9
db makeover
SoarinSkySagar Jul 21, 2026
3fd2338
changes
SoarinSkySagar Jul 22, 2026
40beffd
Merge branch 'devnet-5' into feature/database
SoarinSkySagar Sep 6, 2026
856eacc
fmt
SoarinSkySagar Sep 6, 2026
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
161 changes: 147 additions & 14 deletions lean_client/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions lean_client/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
members = [
"chain",
"containers",
"database",
"env-config",
"fork_choice",
"http_api",
Expand Down Expand Up @@ -225,6 +226,7 @@ private_intra_doc_links = 'allow'
[workspace.dependencies]
chain = { path = "./chain" }
containers = { path = "./containers" }
database = { path = "./database" }
env-config = { path = "./env-config" }
fork_choice = { path = "./fork_choice" }
http_api = { path = "./http_api" }
Expand All @@ -245,6 +247,7 @@ discv5 = "0.10.2"
enr = { version = "0.13", features = ["k256"] }
eth_ssz = { package = "ethereum_ssz", version = "0.10.0" }
ethereum-types = "0.14"
fs-err = "3"
futures = "0.3"
features = { git = "https://github.com/grandinetech/grandine", rev = "c4b676e3daa0ddcb86d0bcb321b7166d59f920f9" }
git-version = "0.3"
Expand All @@ -257,6 +260,7 @@ rec_aggregation = { git = "https://github.com/leanEthereum/leanVM.git", rev = "e
backend = { git = "https://github.com/leanEthereum/leanVM.git", rev = "e2592df4e30fdddbbf8ae26a333116c68cec7026" }
leansig = { git = "https://github.com/leanEthereum/leanSig", branch = "devnet4" }
leansig_wrapper = { git = "https://github.com/leanEthereum/leanVM.git", rev = "e2592df4e30fdddbbf8ae26a333116c68cec7026" }
libmdbx = { git = "https://github.com/paradigmxyz/reth.git", package = "reth-libmdbx", rev = "6f8e7258f4733279080e4bd8345ce50538a40d6e" }
libp2p = { git = "https://github.com/libp2p/rust-libp2p.git", rev = "91e8931e275bcd1c72791d18b09fea8b77209baf", default-features = false, features = [
'dns',
'gossipsub',
Expand All @@ -270,6 +274,7 @@ libp2p = { git = "https://github.com/libp2p/rust-libp2p.git", rev = "91e8931e275
'yamux'
] }
libp2p-identity = { version = "0.2.13", features = ["secp256k1"] }
lz4_flex = "0.13"
dedicated_executor = { path = "dedicated_executor" }
num-bigint = "0.4"
num-traits = "0.2"
Expand All @@ -293,6 +298,7 @@ snap = "1.1"
ssz = { git = "https://github.com/grandinetech/grandine", package = "ssz", rev = "c4b676e3daa0ddcb86d0bcb321b7166d59f920f9" }
ssz-types = "0.3"
itertools = "0.14"
tempfile = "3"
test-generator = "0.3.1"
thiserror = "2"
tikv-jemallocator = { version = "0.6", features = ["stats", "unprefixed_malloc_on_supported_platforms"] }
Expand All @@ -307,6 +313,7 @@ try_from_iterator = { git = "https://github.com/grandinetech/grandine", package
typenum = "1.19"
yamux = "0.12"
zeroize = "1.8"
zstd = "0.13.3"

[package]
name = "lean_client"
Expand All @@ -319,6 +326,7 @@ bls = { workspace = true }
chain = { workspace = true }
clap = { workspace = true }
containers = { workspace = true }
database = { workspace = true }
dedicated_executor = { workspace = true }
ethereum-types = { workspace = true }
features = { workspace = true }
Expand Down
14 changes: 14 additions & 0 deletions lean_client/database/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[package]
name = "database"
edition = { workspace = true }

[dependencies]
anyhow = { workspace = true }
containers = { workspace = true }
libmdbx = { workspace = true }
lz4_flex = { workspace = true }
ssz = { workspace = true }
zstd = { workspace = true }

[lints]
workspace = true
Loading
Loading