From b9a0ebef6c0c7daa19fe57389ad9c60be5911a83 Mon Sep 17 00:00:00 2001 From: Daniil Polyakov Date: Thu, 30 Jul 2026 18:33:06 +0300 Subject: [PATCH] feat(zone_sdk): update to a new bedrock & zone sdk --- Cargo.lock | 255 +++++++++++------- Cargo.toml | 14 +- bedrock/docker-compose.yml | 2 +- lez/sequencer/core/src/block_publisher.rs | 34 +-- lez/sequencer/core/src/tests.rs | 12 +- .../service/src/bin/configure_channel.rs | 6 +- 6 files changed, 197 insertions(+), 126 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dcda1132..144dc032 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -499,7 +499,7 @@ dependencies = [ "asn1-rs-derive", "asn1-rs-impl", "displaydoc", - "nom 7.1.3", + "nom", "num-traits", "rusticata-macros", "thiserror 2.0.18", @@ -1405,7 +1405,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ - "nom 7.1.3", + "nom", ] [[package]] @@ -2315,7 +2315,7 @@ checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" dependencies = [ "asn1-rs", "displaydoc", - "nom 7.1.3", + "nom", "num-bigint 0.4.6", "num-traits", "rusticata-macros", @@ -5671,10 +5671,20 @@ version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "113b30b4cd05f7c06868fdb2854f66a7b9fece9a48425351cd532e810d74024f" +[[package]] +name = "logos-blockchain-blake2btree" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" +dependencies = [ + "blake2", + "logos-blockchain-dynamic-merkle", + "logos-blockchain-merkle-tree", +] + [[package]] name = "logos-blockchain-blend-crypto" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "blake2", "logos-blockchain-groth16", @@ -5687,8 +5697,8 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-message" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "blake2", "derivative", @@ -5696,6 +5706,7 @@ dependencies = [ "itertools 0.14.0", "logos-blockchain-blend-crypto", "logos-blockchain-blend-proofs", + "logos-blockchain-codec", "logos-blockchain-core", "logos-blockchain-cryptarchia-engine", "logos-blockchain-groth16", @@ -5711,13 +5722,14 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-proofs" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "ed25519-dalek", "generic-array 1.4.3", "hex", "logos-blockchain-blend-crypto", + "logos-blockchain-codec", "logos-blockchain-groth16", "logos-blockchain-pol", "logos-blockchain-poq", @@ -5731,8 +5743,8 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-broadcast-service" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "derivative", @@ -5745,8 +5757,8 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-service" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "bytes", @@ -5826,8 +5838,8 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-prover" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "rust-rapidsnark", ] @@ -5851,10 +5863,33 @@ dependencies = [ "libc", ] +[[package]] +name = "logos-blockchain-codec" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" +dependencies = [ + "hex", + "logos-blockchain-codec-macros", + "logos-blockchain-groth16", + "logos-blockchain-utils", + "thiserror 2.0.18", +] + +[[package]] +name = "logos-blockchain-codec-macros" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" +dependencies = [ + "hex", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "logos-blockchain-common-http-client" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "futures", "hex", @@ -5876,17 +5911,18 @@ dependencies = [ [[package]] name = "logos-blockchain-core" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "ark-ff", "bincode", "blake2", "bytes", "const-hex", - "futures", "hex", + "logos-blockchain-blake2btree", "logos-blockchain-blend-proofs", + "logos-blockchain-codec", "logos-blockchain-cryptarchia-engine", "logos-blockchain-groth16", "logos-blockchain-key-management-system-keys", @@ -5898,9 +5934,7 @@ dependencies = [ "logos-blockchain-utils", "logos-blockchain-utxotree", "multiaddr", - "nom 8.0.0", "num-bigint 0.4.6", - "rpds", "serde", "strum", "thiserror 2.0.18", @@ -5910,11 +5944,13 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-engine" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ + "logos-blockchain-codec", "logos-blockchain-pol", "logos-blockchain-utils", + "rpds", "serde", "serde_with", "thiserror 2.0.18", @@ -5925,8 +5961,8 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-sync" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "bytes", "futures", @@ -5942,10 +5978,19 @@ dependencies = [ "tracing", ] +[[package]] +name = "logos-blockchain-dynamic-merkle" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" +dependencies = [ + "rpds", + "serde", +] + [[package]] name = "logos-blockchain-groth16" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "ark-bn254", "ark-ec", @@ -5955,6 +6000,7 @@ dependencies = [ "generic-array 1.4.3", "hex", "num-bigint 0.4.6", + "rand 0.8.6", "serde", "serde_json", "thiserror 2.0.18", @@ -5962,8 +6008,8 @@ dependencies = [ [[package]] name = "logos-blockchain-http-api-common" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "axum 0.7.9", "logos-blockchain-core", @@ -5983,14 +6029,15 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-keys" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "bytes", "ed25519-dalek", "generic-array 1.4.3", "hex", + "logos-blockchain-codec", "logos-blockchain-groth16", "logos-blockchain-key-management-system-macros", "logos-blockchain-log-targets", @@ -6010,8 +6057,8 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-macros" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "proc-macro2", "quote", @@ -6020,8 +6067,8 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-operators" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "logos-blockchain-blend-proofs", @@ -6030,6 +6077,7 @@ dependencies = [ "logos-blockchain-key-management-system-keys", "logos-blockchain-log-targets", "logos-blockchain-poseidon2", + "logos-blockchain-utils", "logos-blockchain-utxotree", "tokio", "tracing", @@ -6037,8 +6085,8 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-service" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "logos-blockchain-key-management-system-keys", @@ -6054,8 +6102,8 @@ dependencies = [ [[package]] name = "logos-blockchain-ledger" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "derivative", "logos-blockchain-blend-crypto", @@ -6080,8 +6128,8 @@ dependencies = [ [[package]] name = "logos-blockchain-libp2p" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "backon", @@ -6109,30 +6157,42 @@ dependencies = [ [[package]] name = "logos-blockchain-log-targets" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "logos-blockchain-log-targets-macros", ] [[package]] name = "logos-blockchain-log-targets-macros" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] +[[package]] +name = "logos-blockchain-merkle-tree" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" +dependencies = [ + "logos-blockchain-dynamic-merkle", + "rpds", + "serde", + "thiserror 2.0.18", +] + [[package]] name = "logos-blockchain-mmr" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "ark-ff", "logos-blockchain-groth16", "logos-blockchain-poseidon2", + "logos-blockchain-utils", "rpds", "serde", "thiserror 2.0.18", @@ -6140,8 +6200,8 @@ dependencies = [ [[package]] name = "logos-blockchain-network-service" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "futures", @@ -6150,6 +6210,7 @@ dependencies = [ "logos-blockchain-libp2p", "logos-blockchain-log-targets", "logos-blockchain-tracing", + "logos-blockchain-utils", "overwatch", "rand 0.8.6", "rand_chacha 0.3.1", @@ -6161,8 +6222,8 @@ dependencies = [ [[package]] name = "logos-blockchain-poc" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "logos-blockchain-circuits-poc-sys", "logos-blockchain-circuits-prover", @@ -6178,8 +6239,8 @@ dependencies = [ [[package]] name = "logos-blockchain-pol" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "astro-float", "logos-blockchain-circuits-pol-sys", @@ -6198,8 +6259,8 @@ dependencies = [ [[package]] name = "logos-blockchain-poq" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "logos-blockchain-circuits-poq-sys", "logos-blockchain-circuits-prover", @@ -6217,8 +6278,8 @@ dependencies = [ [[package]] name = "logos-blockchain-poseidon2" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "ark-bn254", "ark-ff", @@ -6228,8 +6289,8 @@ dependencies = [ [[package]] name = "logos-blockchain-proofs-error" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "logos-blockchain-circuits-types", "logos-blockchain-groth16", @@ -6239,24 +6300,24 @@ dependencies = [ [[package]] name = "logos-blockchain-services-utils" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", + "bytes", "futures", "log", "logos-blockchain-log-targets", "overwatch", "serde", - "serde_json", "thiserror 2.0.18", "tracing", ] [[package]] name = "logos-blockchain-storage-service" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "bytes", @@ -6264,7 +6325,9 @@ dependencies = [ "logos-blockchain-core", "logos-blockchain-cryptarchia-engine", "logos-blockchain-log-targets", + "logos-blockchain-services-utils", "logos-blockchain-tracing", + "logos-blockchain-utils", "overwatch", "serde", "thiserror 2.0.18", @@ -6274,8 +6337,8 @@ dependencies = [ [[package]] name = "logos-blockchain-time-service" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "futures", @@ -6297,8 +6360,8 @@ dependencies = [ [[package]] name = "logos-blockchain-tracing" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "flate2", "logos-blockchain-log-targets", @@ -6323,15 +6386,17 @@ dependencies = [ [[package]] name = "logos-blockchain-utils" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "blake2", "cipher 0.4.4", "const-hex", + "futures", "humantime", "logos-blockchain-log-targets", + "multiaddr", "overwatch", "rand 0.8.6", "serde", @@ -6340,27 +6405,27 @@ dependencies = [ "serde_yaml", "thiserror 2.0.18", "time", + "tokio", "tracing", ] [[package]] name = "logos-blockchain-utxotree" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "ark-ff", - "logos-blockchain-groth16", + "logos-blockchain-dynamic-merkle", + "logos-blockchain-merkle-tree", "logos-blockchain-poseidon2", - "num-bigint 0.4.6", "rpds", "serde", - "thiserror 2.0.18", ] [[package]] name = "logos-blockchain-zksign" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "logos-blockchain-circuits-prover", "logos-blockchain-circuits-signature-sys", @@ -6371,6 +6436,7 @@ dependencies = [ "logos-blockchain-proofs-error", "num-bigint 0.4.6", "serde", + "serde-big-array", "serde_json", "thiserror 2.0.18", "tracing", @@ -6378,8 +6444,8 @@ dependencies = [ [[package]] name = "logos-blockchain-zone-sdk" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" +version = "0.0.0" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=0dc34e2c5a6e2ff772140378659489a602ee06bc#0dc34e2c5a6e2ff772140378659489a602ee06bc" dependencies = [ "async-trait", "futures", @@ -6955,15 +7021,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "nom" -version = "8.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" -dependencies = [ - "memchr", -] - [[package]] name = "nu-ansi-term" version = "0.50.3" @@ -7345,7 +7402,7 @@ checksum = "8c04f5d74368e4d0dfe06c45c8627c81bd7c317d52762d118fb9b3076f6420fd" [[package]] name = "overwatch" version = "0.1.0" -source = "git+https://github.com/logos-co/Overwatch?rev=448c192#448c192895b8311c742b1726a1bb12ee314ad95c" +source = "git+https://github.com/logos-co/Overwatch?rev=ae887f41f5a626c341179026ad7f03953ff2072e#ae887f41f5a626c341179026ad7f03953ff2072e" dependencies = [ "async-trait", "futures", @@ -7360,10 +7417,10 @@ dependencies = [ [[package]] name = "overwatch-derive" version = "0.1.0" -source = "git+https://github.com/logos-co/Overwatch?rev=448c192#448c192895b8311c742b1726a1bb12ee314ad95c" +source = "git+https://github.com/logos-co/Overwatch?rev=ae887f41f5a626c341179026ad7f03953ff2072e#ae887f41f5a626c341179026ad7f03953ff2072e" dependencies = [ "convert_case 0.8.0", - "proc-macro-error2", + "manyhow", "proc-macro2", "quote", "syn 2.0.117", @@ -8385,6 +8442,7 @@ dependencies = [ "base64 0.22.1", "bytes", "encoding_rs", + "futures-channel", "futures-core", "futures-util", "h2", @@ -8997,7 +9055,7 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" dependencies = [ - "nom 7.1.3", + "nom", ] [[package]] @@ -9378,6 +9436,15 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde-big-array" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" +dependencies = [ + "serde", +] + [[package]] name = "serde_arrays" version = "0.2.0" @@ -12058,7 +12125,7 @@ dependencies = [ "data-encoding", "der-parser", "lazy_static", - "nom 7.1.3", + "nom", "oid-registry", "rusticata-macros", "thiserror 2.0.18", diff --git a/Cargo.toml b/Cargo.toml index 0b4964d2..99dd67b8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -172,13 +172,13 @@ tokio-retry = "0.3.0" schemars = "1.2" async-stream = "0.3.6" -logos-blockchain-common-http-client = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "d8711bbc3d43d3ef9755ef9b73af32fd0f703160" } -logos-blockchain-key-management-system-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "d8711bbc3d43d3ef9755ef9b73af32fd0f703160" } -logos-blockchain-core = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "d8711bbc3d43d3ef9755ef9b73af32fd0f703160" } -logos-blockchain-chain-broadcast-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "d8711bbc3d43d3ef9755ef9b73af32fd0f703160" } -logos-blockchain-chain-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "d8711bbc3d43d3ef9755ef9b73af32fd0f703160" } -logos-blockchain-zone-sdk = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "d8711bbc3d43d3ef9755ef9b73af32fd0f703160" } -logos-blockchain-http-api-common = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "d8711bbc3d43d3ef9755ef9b73af32fd0f703160" } +logos-blockchain-common-http-client = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "0dc34e2c5a6e2ff772140378659489a602ee06bc" } +logos-blockchain-key-management-system-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "0dc34e2c5a6e2ff772140378659489a602ee06bc" } +logos-blockchain-core = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "0dc34e2c5a6e2ff772140378659489a602ee06bc" } +logos-blockchain-chain-broadcast-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "0dc34e2c5a6e2ff772140378659489a602ee06bc" } +logos-blockchain-chain-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "0dc34e2c5a6e2ff772140378659489a602ee06bc" } +logos-blockchain-zone-sdk = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "0dc34e2c5a6e2ff772140378659489a602ee06bc" } +logos-blockchain-http-api-common = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "0dc34e2c5a6e2ff772140378659489a602ee06bc" } keycard-rs = { git = "https://github.com/keycard-tech/keycard-rs", rev = "9535a657ba04b1e6916de51777e22b4837c1a84d" } diff --git a/bedrock/docker-compose.yml b/bedrock/docker-compose.yml index e476a8ef..5b3e9168 100644 --- a/bedrock/docker-compose.yml +++ b/bedrock/docker-compose.yml @@ -1,7 +1,7 @@ services: logos-blockchain-node-0: - image: ghcr.io/logos-blockchain/logos-blockchain@sha256:91d6c5bf07e07fcfba5e7cf07d21ee686a6bc4b9f6210f2d28bffbcad9a3729f + image: ghcr.io/logos-blockchain/logos-blockchain:0.2.1-lssa ports: - "${PORT:-18080}:18080/tcp" volumes: diff --git a/lez/sequencer/core/src/block_publisher.rs b/lez/sequencer/core/src/block_publisher.rs index e2b8610e..918fad8e 100644 --- a/lez/sequencer/core/src/block_publisher.rs +++ b/lez/sequencer/core/src/block_publisher.rs @@ -7,7 +7,7 @@ use log::{info, warn}; pub use logos_blockchain_core::mantle::ops::channel::{Ed25519PublicKey, MsgId}; use logos_blockchain_core::{ mantle::{ - MantleTx, SignedMantleTx, Transaction as _, + MantleTx, SignedMantleTx, channel::{SlotTimeframe, SlotTimeout}, ops::{ Op, OpProof, @@ -17,6 +17,7 @@ use logos_blockchain_core::{ inscribe::Inscription, }, }, + traits::Hashable as _, }, proofs::channel_multi_sig_proof::{ChannelMultiSigProof, IndexedSignature}, }; @@ -29,7 +30,7 @@ use logos_blockchain_zone_sdk::{ adapter::{Node as _, NodeHttpClient}, indexer::ZoneIndexer, sequencer::{ - DepositInfo, Event, FinalizedOp, InscriptionInfo, OrphanedTx, + ChannelUpdateTx, DepositInfo, Event, FinalizedOp, InscriptionInfo, SequencerConfig as ZoneSdkSequencerConfig, TurnNotification, WithdrawArg, WithdrawInfo, ZoneSequencer, }, @@ -209,10 +210,12 @@ impl BlockPublisherTrait for ZoneSdkPublisher { let published = if withdrawals.is_empty() { sequencer.handle() .publish(data_bounded) + .await .context("Failed to publish block") } else { sequencer.handle() .publish_atomic_withdraw(data_bounded, withdrawals) + .await .context("Failed to publish block with withdrawals") }; @@ -233,9 +236,6 @@ impl BlockPublisherTrait for ZoneSdkPublisher { } }, event = sequencer.next_event() => { - let Some(event) = event else { - continue; - }; match event { Event::BlocksProcessed { checkpoint, @@ -245,12 +245,13 @@ impl BlockPublisherTrait for ZoneSdkPublisher { let adopted = channel_update .adopted .iter() + .filter_map(channel_update_inscription) .filter_map(block_from_inscription) .collect(); let orphaned = channel_update .orphaned .iter() - .map(orphan_inscription) + .filter_map(channel_update_inscription) .filter_map(block_from_inscription) .collect(); @@ -295,6 +296,7 @@ impl BlockPublisherTrait for ZoneSdkPublisher { notification.ends_at_slot ); } + Event::MempoolPending(_tx_hash) => {} } } } @@ -395,10 +397,11 @@ fn block_from_inscription(inscription: &InscriptionInfo) -> Option<(MsgId, Block } /// The inscription carried by an orphaned tx (plain or atomic-withdraw bundle). -const fn orphan_inscription(orphan: &OrphanedTx) -> &InscriptionInfo { +const fn channel_update_inscription(orphan: &ChannelUpdateTx) -> Option<&InscriptionInfo> { match orphan { - OrphanedTx::Inscription(info) => info, - OrphanedTx::AtomicWithdraw(bundle) => &bundle.inscription, + ChannelUpdateTx::Inscription(info) => Some(info), + ChannelUpdateTx::AtomicWithdraw(bundle) => Some(&bundle.inscription), + ChannelUpdateTx::Custom(_signed_mantle_tx) => None, } } @@ -416,12 +419,12 @@ pub async fn post_channel_config( posting_timeframe: u32, posting_timeout: u32, configuration_threshold: u16, - withdraw_threshold: u16, + transfer_threshold: u16, ) -> Result<()> { ensure!(!keys.is_empty(), "Channel key list must not be empty"); for (name, threshold) in [ ("configuration_threshold", configuration_threshold), - ("withdraw_threshold", withdraw_threshold), + ("transfer_threshold", transfer_threshold), ] { ensure!( threshold >= 1 && usize::from(threshold) <= keys.len(), @@ -442,7 +445,7 @@ pub async fn post_channel_config( posting_timeframe: SlotTimeframe::from(posting_timeframe), posting_timeout: SlotTimeout::from(posting_timeout), configuration_threshold, - withdraw_threshold, + transfer_threshold, }; let mantle_tx = MantleTx([Op::ChannelConfig(config_op)].into()); @@ -452,12 +455,9 @@ pub async fn post_channel_config( 0, signing_key.sign_payload(tx_hash.as_signing_bytes().as_ref()), ); - let proof = ChannelMultiSigProof::new(vec![signature]) + let proof = ChannelMultiSigProof::try_new(signature.into()) .map_err(|err| anyhow!("Failed to assemble channel multi-sig proof: {err:?}"))?; - let signed_tx = SignedMantleTx { - ops_proofs: vec![OpProof::ChannelMultiSigProof(proof)], - mantle_tx, - }; + let signed_tx = SignedMantleTx::new(mantle_tx, OpProof::ChannelMultiSigProof(proof).into()); let node = NodeHttpClient::new( CommonHttpClient::new(config.auth.clone().map(Into::into)), diff --git a/lez/sequencer/core/src/tests.rs b/lez/sequencer/core/src/tests.rs index a7df9bad..465a84a9 100644 --- a/lez/sequencer/core/src/tests.rs +++ b/lez/sequencer/core/src/tests.rs @@ -22,10 +22,13 @@ use lee_core::{ account::{AccountWithMetadata, Nonce}, program::PdaSeed, }; -use logos_blockchain_core::mantle::{ - ledger::Inputs, - ops::channel::{ChannelId, MsgId, deposit::Metadata}, - tx::TxHash, +use logos_blockchain_core::{ + events::DepositRecreatedNotes, + mantle::{ + TxHash, + ledger::Inputs, + ops::channel::{ChannelId, MsgId, deposit::Metadata}, + }, }; use logos_blockchain_zone_sdk::sequencer::DepositInfo; use mempool::MemPoolHandle; @@ -2022,6 +2025,7 @@ async fn follow_update_records_deposits_for_the_production_drain() { inputs: Inputs::empty(), amount: 5, metadata: Metadata::try_from(metadata).expect("deposit metadata fits"), + notes: DepositRecreatedNotes::default(), }; apply_follow_update( diff --git a/lez/sequencer/service/src/bin/configure_channel.rs b/lez/sequencer/service/src/bin/configure_channel.rs index 023e32b0..01109d37 100644 --- a/lez/sequencer/service/src/bin/configure_channel.rs +++ b/lez/sequencer/service/src/bin/configure_channel.rs @@ -31,9 +31,9 @@ struct Args { /// Signatures required for future config changes. #[clap(long, default_value_t = 1)] configuration_threshold: u16, - /// Signatures required for channel withdrawals. + /// Signatures required for channel transfers. #[clap(long, default_value_t = 1)] - withdraw_threshold: u16, + transfer_threshold: u16, } #[tokio::main] @@ -58,7 +58,7 @@ async fn main() -> Result<()> { args.posting_timeframe, args.posting_timeout, args.configuration_threshold, - args.withdraw_threshold, + args.transfer_threshold, ) .await }