diff --git a/Cargo.lock b/Cargo.lock index 171dfe4a..515d2597 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -943,6 +943,29 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +[[package]] +name = "bytecheck" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c8f430744b23b54ad15161fcbc22d82a29b73eacbe425fea23ec822600bc6f" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "rancor", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523363cbe1df49b68215efdf500b103ac3b0fb4836aed6d15689a076eadb8fff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "byteorder" version = "1.5.0" @@ -1763,6 +1786,7 @@ dependencies = [ "op-alloy-genesis", "op-alloy-protocol", "op-alloy-rpc-types-engine", + "tracing", ] [[package]] @@ -2152,7 +2176,7 @@ dependencies = [ [[package]] name = "kona-client" version = "0.1.0" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "alloy-consensus", "alloy-eips", @@ -2185,7 +2209,7 @@ dependencies = [ [[package]] name = "kona-derive" version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "alloy-consensus", "alloy-eips", @@ -2204,7 +2228,7 @@ dependencies = [ [[package]] name = "kona-driver" version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -2222,7 +2246,7 @@ dependencies = [ [[package]] name = "kona-executor" version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "alloy-consensus", "alloy-eips", @@ -2240,7 +2264,7 @@ dependencies = [ [[package]] name = "kona-host" version = "0.1.0" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "alloy-consensus", "alloy-eips", @@ -2277,7 +2301,7 @@ dependencies = [ [[package]] name = "kona-mpt" version = "0.1.1" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -2288,11 +2312,12 @@ dependencies = [ [[package]] name = "kona-preimage" version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "alloy-primitives", "async-channel", "async-trait", + "rkyv", "thiserror", "tracing", ] @@ -2300,7 +2325,7 @@ dependencies = [ [[package]] name = "kona-proof" version = "0.2.0" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "alloy-consensus", "alloy-eips", @@ -2329,7 +2354,7 @@ dependencies = [ [[package]] name = "kona-std-fpvm" version = "0.1.1" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "async-trait", "cfg-if", @@ -2341,7 +2366,7 @@ dependencies = [ [[package]] name = "kona-std-fpvm-proc" version = "0.1.1" -source = "git+https://github.com/anton-rs/kona?rev=8f21eff5d48f2a7e72380c15e24a927799dd8175#8f21eff5d48f2a7e72380c15e24a927799dd8175" +source = "git+https://github.com/hashcashier/kona?branch=main#9c01213a65729859c032b4999876c56a8c385dd1" dependencies = [ "anyhow", "cfg-if", @@ -2491,6 +2516,26 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "munge" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64142d38c84badf60abf06ff9bd80ad2174306a5b11bd4706535090a30a419df" +dependencies = [ + "munge_macro", +] + +[[package]] +name = "munge_macro" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bb5c1d8184f13f7d0ccbeeca0def2f9a181bce2624302793005f5ca8aa62e5e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "native-tls" version = "0.2.12" @@ -2665,9 +2710,9 @@ checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "op-alloy-consensus" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848b3567a9a469ab0c9c712fca0fd6bbce13a9a0b723c94cb81214f53507cf07" +checksum = "534e21b77059390e2b93e04c7f912865623c6a8eb7c4aef48c469bf6920926ef" dependencies = [ "alloy-consensus", "alloy-eips", @@ -2681,9 +2726,9 @@ dependencies = [ [[package]] name = "op-alloy-genesis" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cd04d0e24b3538e2bc9c024da1c08e0a97822c63b341c4491a6b29e86740641" +checksum = "3ae4912c15ce3971338fa03be316850364a2c1354c21e96b19c535ed70316ed0" dependencies = [ "alloy-consensus", "alloy-eips", @@ -2696,9 +2741,9 @@ dependencies = [ [[package]] name = "op-alloy-protocol" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0d72853e704a067ad6229dd3a753d1662fa02c4ea85783e25a887d7aadd150" +checksum = "2b9e5978b53b864204efd2a802b9bd93a4ab24df083bcfecfa73d6a140f23f2e" dependencies = [ "alloc-no-stdlib", "alloy-consensus", @@ -2720,9 +2765,9 @@ dependencies = [ [[package]] name = "op-alloy-registry" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8ff5dd6b9f087de68a2324c777fc4757b2512dd88aca899fe4ea5a0cd6e4a1" +checksum = "ee932e4de1e1f2dacd04a4ab6d3cc3ff3c8d9b69dfa06235fa22465304917cd2" dependencies = [ "alloy-primitives", "lazy_static", @@ -2733,9 +2778,9 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types-engine" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16779322cc84d57f68afaef4cdabc150a5f8b53f345982f1aea010fe4d790267" +checksum = "abf8bccdb49c5e1c4bded85e395065adfeb10b776119bfbb7ae395fb4f377689" dependencies = [ "alloy-eips", "alloy-primitives", @@ -3032,6 +3077,26 @@ dependencies = [ "unarray", ] +[[package]] +name = "ptr_meta" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9e76f66d3f9606f44e45598d155cb13ecf09f4a28199e48daf8c8fc937ea90" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca414edb151b4c8d125c12566ab0d74dc9cdba36fb80eb7b848c15f495fd32d1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -3053,6 +3118,15 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +[[package]] +name = "rancor" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caf5f7161924b9d1cea0e4cabc97c372cea92b5f927fc13c6bca67157a0ad947" +dependencies = [ + "ptr_meta", +] + [[package]] name = "rand" version = "0.8.5" @@ -3131,6 +3205,15 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +[[package]] +name = "rend" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a35e8a6bf28cd121053a66aa2e6a2e3eaffad4a60012179f0e864aa5ffeff215" +dependencies = [ + "bytecheck", +] + [[package]] name = "reqwest" version = "0.12.9" @@ -3273,6 +3356,36 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "rkyv" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b11a153aec4a6ab60795f8ebe2923c597b16b05bb1504377451e705ef1a45323" +dependencies = [ + "bytecheck", + "bytes", + "hashbrown 0.15.2", + "indexmap", + "munge", + "ptr_meta", + "rancor", + "rend", + "rkyv_derive", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "beb382a4d9f53bd5c0be86b10d8179c3f8a14c30bf774ff77096ed6581e35981" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "rlp" version = "0.5.2" @@ -3696,6 +3809,12 @@ dependencies = [ "rand_core", ] +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + [[package]] name = "slab" version = "0.4.9" @@ -3982,6 +4101,21 @@ dependencies = [ "zerovec", ] +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + [[package]] name = "tokio" version = "1.42.0" @@ -4245,6 +4379,12 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +[[package]] +name = "uuid" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" + [[package]] name = "valuable" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 130a1386..b17667c0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,21 +12,38 @@ hokulea-proof = { path = "crates/proof", version = "0.1.0", default-features = f # We use git dependencies instead of version dependencies because Kona is moving very fast right now # but publish infrequently (last was 2 weeks ago). We want to make sure to use the latest code # while we're still figuring out how to integrate with it. -kona-mpt = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } -kona-derive = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } -kona-driver = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } -kona-executor = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } -kona-proof = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } -kona-std-fpvm = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } -kona-preimage = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } -kona-std-fpvm-proc = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } +# kona-mpt = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } +# kona-derive = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } +# kona-driver = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } +# kona-executor = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } +# kona-proof = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } +# kona-std-fpvm = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } +# kona-preimage = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } +# kona-std-fpvm-proc = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } # These two kona crates aren't published to crates.io, so we need to use git dependencies. # TODO: Given that Hokulea is just meant to be a library crate to extend kona with eigenda understanding, # we prob want to move these to dev-dependencies since we only need them for testing? -kona-client = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } -kona-host = { git = "https://github.com/anton-rs/kona", rev = "8f21eff5d48f2a7e72380c15e24a927799dd8175", default-features = false } +# kona-client = { git = "https://github.com/anton-rs/kona", rev = "cb39d1bbb3183464159d822841b0b3f93db7a55a", default-features = false } +# kona-host = { git = "https://github.com/anton-rs/kona", rev = "cb39d1bbb3183464159d822841b0b3f93db7a55a", default-features = false } +# We use https://github.com/hashcashier/kona until https://github.com/anton-rs/kona/pull/867 is merged +# TODO: Once that issue is merged, we can switch back to the anton-rs repo and get rid of this `kailua-compatible` branch +kona-client = { git = "https://github.com/hashcashier/kona", branch = "main", default-features = false } +kona-derive = { git = "https://github.com/hashcashier/kona", branch = "main", default-features = false, features = [ + "serde", +] } +kona-driver = { git = "https://github.com/hashcashier/kona", branch = "main" } +kona-executor = { git = "https://github.com/hashcashier/kona", branch = "main" } +kona-host = { git = "https://github.com/hashcashier/kona", branch = "main" } +kona-mpt = { git = "https://github.com/hashcashier/kona", branch = "main", features = [ + "serde", +] } +kona-preimage = { git = "https://github.com/hashcashier/kona", branch = "main", features = [ + "rkyv", +] } +kona-proof = { git = "https://github.com/hashcashier/kona", branch = "main" } +kona-std-fpvm = { git = "https://github.com/hashcashier/kona", branch = "main" } # Alloy alloy-rlp = { version = "0.3.9", default-features = false } diff --git a/crates/proof/Cargo.toml b/crates/proof/Cargo.toml index b03c361a..cd90d48c 100644 --- a/crates/proof/Cargo.toml +++ b/crates/proof/Cargo.toml @@ -22,3 +22,4 @@ op-alloy-genesis = { workspace = true, features = ["serde"] } # General async-trait.workspace = true +tracing.workspace = true diff --git a/crates/proof/src/eigenda_provider.rs b/crates/proof/src/eigenda_provider.rs index 10e01e3b..abb0f2dc 100644 --- a/crates/proof/src/eigenda_provider.rs +++ b/crates/proof/src/eigenda_provider.rs @@ -28,6 +28,7 @@ impl EigenDABlobProvider for OracleEigenDAProvider type Error = OracleProviderError; async fn get_blob(&mut self, cert: &Bytes) -> Result { + info!("Getting blob for cert: {:?}", cert); self.oracle .write(&ExtendedHintType::EigenDACommitment.encode_with(&[cert])) .await diff --git a/crates/proof/src/lib.rs b/crates/proof/src/lib.rs index 6b6084fc..5367317e 100644 --- a/crates/proof/src/lib.rs +++ b/crates/proof/src/lib.rs @@ -1,5 +1,8 @@ extern crate alloc; +#[macro_use] +extern crate tracing; + pub mod hint; pub mod pipeline;