diff --git a/Cargo.lock b/Cargo.lock index 6ce584a9..352a5011 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5289,7 +5289,7 @@ checksum = "113b30b4cd05f7c06868fdb2854f66a7b9fece9a48425351cd532e810d74024f" [[package]] name = "logos-blockchain-blend-crypto" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "blake2", "logos-blockchain-groth16", @@ -5303,7 +5303,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-message" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "blake2", "derivative", @@ -5327,7 +5327,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-proofs" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "ed25519-dalek", "generic-array 1.4.3", @@ -5347,7 +5347,7 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-broadcast-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "derivative", @@ -5361,7 +5361,7 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "bytes", @@ -5442,7 +5442,7 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-prover" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "rust-rapidsnark", ] @@ -5469,7 +5469,7 @@ dependencies = [ [[package]] name = "logos-blockchain-common-http-client" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "futures", "hex", @@ -5492,7 +5492,7 @@ dependencies = [ [[package]] name = "logos-blockchain-core" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "ark-ff", "bincode", @@ -5526,7 +5526,7 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-engine" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-pol", "logos-blockchain-utils", @@ -5541,7 +5541,7 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-sync" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "bytes", "futures", @@ -5560,7 +5560,7 @@ dependencies = [ [[package]] name = "logos-blockchain-groth16" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "ark-bn254", "ark-ec", @@ -5578,7 +5578,7 @@ dependencies = [ [[package]] name = "logos-blockchain-http-api-common" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "axum 0.7.9", "logos-blockchain-core", @@ -5599,7 +5599,7 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-keys" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "bytes", @@ -5626,7 +5626,7 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-macros" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "proc-macro2", "quote", @@ -5636,7 +5636,7 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-operators" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "logos-blockchain-blend-proofs", @@ -5653,7 +5653,7 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "logos-blockchain-key-management-system-keys", @@ -5670,7 +5670,7 @@ dependencies = [ [[package]] name = "logos-blockchain-ledger" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "derivative", "logos-blockchain-blend-crypto", @@ -5696,7 +5696,7 @@ dependencies = [ [[package]] name = "logos-blockchain-libp2p" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "backon", @@ -5725,7 +5725,7 @@ dependencies = [ [[package]] name = "logos-blockchain-log-targets" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-log-targets-macros", ] @@ -5733,7 +5733,7 @@ dependencies = [ [[package]] name = "logos-blockchain-log-targets-macros" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "proc-macro2", "quote", @@ -5743,7 +5743,7 @@ dependencies = [ [[package]] name = "logos-blockchain-mmr" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "ark-ff", "logos-blockchain-groth16", @@ -5756,7 +5756,7 @@ dependencies = [ [[package]] name = "logos-blockchain-network-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", @@ -5777,7 +5777,7 @@ dependencies = [ [[package]] name = "logos-blockchain-poc" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-poc-sys", "logos-blockchain-circuits-prover", @@ -5794,7 +5794,7 @@ dependencies = [ [[package]] name = "logos-blockchain-pol" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "astro-float", "logos-blockchain-circuits-pol-sys", @@ -5814,7 +5814,7 @@ dependencies = [ [[package]] name = "logos-blockchain-poq" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-poq-sys", "logos-blockchain-circuits-prover", @@ -5833,7 +5833,7 @@ dependencies = [ [[package]] name = "logos-blockchain-poseidon2" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "ark-bn254", "ark-ff", @@ -5844,7 +5844,7 @@ dependencies = [ [[package]] name = "logos-blockchain-proofs-error" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-types", "logos-blockchain-groth16", @@ -5855,7 +5855,7 @@ dependencies = [ [[package]] name = "logos-blockchain-services-utils" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", @@ -5871,7 +5871,7 @@ dependencies = [ [[package]] name = "logos-blockchain-storage-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "bytes", @@ -5890,7 +5890,7 @@ dependencies = [ [[package]] name = "logos-blockchain-time-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", @@ -5913,7 +5913,7 @@ dependencies = [ [[package]] name = "logos-blockchain-tracing" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "flate2", "logos-blockchain-log-targets", @@ -5939,7 +5939,7 @@ dependencies = [ [[package]] name = "logos-blockchain-utils" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "blake2", @@ -5961,7 +5961,7 @@ dependencies = [ [[package]] name = "logos-blockchain-utxotree" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "ark-ff", "logos-blockchain-groth16", @@ -5975,7 +5975,7 @@ dependencies = [ [[package]] name = "logos-blockchain-zksign" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-prover", "logos-blockchain-circuits-signature-sys", @@ -5994,7 +5994,7 @@ dependencies = [ [[package]] name = "logos-blockchain-zone-sdk" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=263eeb91b3decf83c35aead80d68fdc4d0e6e869#263eeb91b3decf83c35aead80d68fdc4d0e6e869" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", diff --git a/Cargo.toml b/Cargo.toml index f1ed2fbb..def9d5f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -138,13 +138,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 = "263eeb91b3decf83c35aead80d68fdc4d0e6e869" } -logos-blockchain-key-management-system-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "263eeb91b3decf83c35aead80d68fdc4d0e6e869" } -logos-blockchain-core = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "263eeb91b3decf83c35aead80d68fdc4d0e6e869" } -logos-blockchain-chain-broadcast-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "263eeb91b3decf83c35aead80d68fdc4d0e6e869" } -logos-blockchain-chain-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "263eeb91b3decf83c35aead80d68fdc4d0e6e869" } -logos-blockchain-zone-sdk = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "263eeb91b3decf83c35aead80d68fdc4d0e6e869" } -logos-blockchain-http-api-common = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "263eeb91b3decf83c35aead80d68fdc4d0e6e869" } +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" } rocksdb = { version = "0.24.0", default-features = false, features = [ "snappy", diff --git a/bedrock/deployment-settings.yaml b/bedrock/deployment-settings.yaml index de58f12a..9c21ee28 100644 --- a/bedrock/deployment-settings.yaml +++ b/bedrock/deployment-settings.yaml @@ -8,7 +8,6 @@ blend: scheduler: cover: message_frequency_per_round: 1.0 - intervals_for_safety_buffer: 100 delayer: maximum_release_delay_in_rounds: 3 minimum_messages_coefficient: 1 @@ -31,10 +30,9 @@ cryptarchia: sdp_config: service_params: BN: - lock_period: 10 inactivity_period: 1 retention_period: 1 - timestamp: 0 + epoch: 0 min_stake: threshold: 1 timestamp: 0 @@ -72,13 +70,10 @@ cryptarchia: inscription: '0c000000000000006c6f676f732d6465766e65742c046269000000000000000000000000000000000000000000000000000000000000000000000000' parent: '0000000000000000000000000000000000000000000000000000000000000000' signer: '0000000000000000000000000000000000000000000000000000000000000000' - execution_gas_price: 0 - storage_gas_price: 0 ops_proofs: - !Ed25519Sig '00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' - !Ed25519Sig '00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' time: slot_duration: '1.0' - chain_start_time: PLACEHOLDER_CHAIN_START_TIME mempool: pubsub_topic: mantle_e2e_tests diff --git a/bedrock/docker-compose.yml b/bedrock/docker-compose.yml index 356c6df8..a7a0d7f6 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:f160cfbf898a06554451cc066d84cfd0f8ab62d59bd3e62d9cde3bd5582c12ab + image: ghcr.io/logos-blockchain/logos-blockchain@sha256:91d6c5bf07e07fcfba5e7cf07d21ee686a6bc4b9f6210f2d28bffbcad9a3729f ports: - "${PORT:-8080}:18080/tcp" volumes: diff --git a/lez/sequencer/core/src/block_publisher.rs b/lez/sequencer/core/src/block_publisher.rs index 48736447..6c1eb2bf 100644 --- a/lez/sequencer/core/src/block_publisher.rs +++ b/lez/sequencer/core/src/block_publisher.rs @@ -1,9 +1,10 @@ use std::{pin::Pin, sync::Arc, time::Duration}; -use anyhow::{Context as _, Result}; +use anyhow::{Context as _, Result, anyhow}; use common::block::Block; use log::warn; pub use logos_blockchain_core::mantle::ops::channel::MsgId; +use logos_blockchain_core::mantle::ops::channel::inscribe::Inscription; pub use logos_blockchain_key_management_system_service::keys::Ed25519Key; pub use logos_blockchain_zone_sdk::sequencer::SequencerCheckpoint; use logos_blockchain_zone_sdk::{ @@ -14,7 +15,7 @@ use logos_blockchain_zone_sdk::{ SequencerConfig as ZoneSdkSequencerConfig, ZoneSequencer, }, }; -use tokio::{sync::Mutex, task::JoinHandle}; +use tokio::{sync::mpsc, task::JoinHandle}; use crate::config::BedrockConfig; @@ -31,8 +32,13 @@ pub type FinalizedBlockSink = Box; pub type OnDepositEventSink = Box Pin + Send>> + Send + 'static>; +/// Channel capacity for the publish inbox. One publish per produced block, drained +/// in microseconds by the drive task — 32 is huge headroom and just provides +/// backpressure if the drive task stalls (reconnect, long backfill). +const PUBLISH_INBOX_CAPACITY: usize = 32; + #[expect(async_fn_in_trait, reason = "We don't care about Send/Sync here")] -pub trait BlockPublisherTrait: Sized { +pub trait BlockPublisherTrait: Clone { async fn new( config: &BedrockConfig, bedrock_signing_key: Ed25519Key, @@ -45,15 +51,20 @@ pub trait BlockPublisherTrait: Sized { /// Fire-and-forget publish. Zone-sdk drives the actual submission and /// retries internally; this just hands the payload off. - async fn publish_block(&mut self, block: &Block) -> Result<()>; - - async fn wait_ready(&self); + async fn publish_block(&self, block: &Block) -> Result<()>; } /// Real block publisher backed by zone-sdk's `ZoneSequencer`. -//#[derive(Clone)] +/// +/// The sequencer is owned exclusively by the drive task — the new zone-sdk +/// `SequencerHandle` is a `&mut self` borrow, so any out-of-task access +/// requires routing requests through a channel. We send serialized +/// inscriptions over a bounded mpsc; the drive task `tokio::select!`s +/// between `next_event()` and the inbox, calling `sequencer.handle().publish(...)` +/// inline. +#[derive(Clone)] pub struct ZoneSdkPublisher { - sequencer: Arc>>, + publish_tx: mpsc::Sender, // Aborts the drive task when the last clone is dropped. _drive_task: Arc, } @@ -84,89 +95,88 @@ impl BlockPublisherTrait for ZoneSdkPublisher { ..ZoneSdkSequencerConfig::default() }; - let sequencer = Arc::new(Mutex::new(ZoneSequencer::init_with_config( + let mut sequencer = ZoneSequencer::init_with_config( config.channel_id, bedrock_signing_key, node, zone_sdk_config, initial_checkpoint, - ))); + ); - let drive_sequencer = sequencer.clone(); + // Grab readiness receiver before moving the sequencer into the drive + // task so we can await cold-start completion below. + let mut ready_rx = sequencer.subscribe_ready(); + + let (publish_tx, mut publish_rx) = mpsc::channel::(PUBLISH_INBOX_CAPACITY); let drive_task = tokio::spawn(async move { loop { - let event = { - let mut event_guard = drive_sequencer.lock().await; - - let Some(event) = event_guard.next_event().await else { - continue; - }; - event - }; - - match event { - Event::BlocksProcessed { - checkpoint, - channel_update: _, - finalized, - } => { - on_checkpoint(checkpoint); - for op in finalized.into_iter().flat_map(|item| item.ops) { - match op { - FinalizedOp::Inscription(inscription) => { - if let Some(block_id) = block_id_from_inscription(&inscription) - { - on_finalized_block(block_id); - } - } - FinalizedOp::Deposit(deposit) => { - on_deposit_event(deposit).await; - } - FinalizedOp::Withdraw(_) => {} - } + tokio::select! { + // Drain external publish requests by calling the borrowing + // handle — `&mut sequencer` is only available here. + Some(data) = publish_rx.recv() => { + if let Err(e) = sequencer.handle().publish(data) { + warn!("zone-sdk publish failed: {e:?}"); + } + } + event = sequencer.next_event() => { + let Some(event) = event else { continue }; + match event { + Event::BlocksProcessed { + checkpoint, + channel_update: _, + finalized, + } => { + on_checkpoint(checkpoint); + for op in finalized.into_iter().flat_map(|item| item.ops) { + match op { + FinalizedOp::Inscription(inscription) => { + if let Some(block_id) = + block_id_from_inscription(&inscription) + { + on_finalized_block(block_id); + } + } + FinalizedOp::Deposit(deposit) => { + on_deposit_event(deposit).await; + } + FinalizedOp::Withdraw(_) => {} + } + } + } + Event::Ready | Event::TurnNotification { .. } => {} } } - Event::Ready | Event::TurnNotification { .. } => {} } } }); + // Wait for cold-start backfill to complete before returning so callers + // can publish immediately (e.g. genesis block) without racing readiness. + ready_rx + .wait_for(|v| *v) + .await + .context("Zone-sdk readiness channel closed before becoming ready")?; + Ok(Self { - sequencer, + publish_tx, _drive_task: Arc::new(DriveTaskGuard(drive_task)), }) } - async fn publish_block(&mut self, block: &Block) -> Result<()> { + async fn publish_block(&self, block: &Block) -> Result<()> { let data = borsh::to_vec(block).context("Failed to serialize block")?; let data_bounded = data .try_into() .context("Block data exceeds maximum allowed size")?; - { - let mut handle_guard = self.sequencer.lock().await; - - let _res = handle_guard - .handle() - .publish(data_bounded) - .context("Failed to publish block")?; - } + self.publish_tx + .send(data_bounded) + .await + .map_err(|_| anyhow!("Drive task is no longer running"))?; Ok(()) } - - async fn wait_ready(&self) { - { - let ready_guard = self.sequencer.lock().await; - - ready_guard - .subscribe_ready() - .wait_for(|val| *val) - .await - .expect("Channel should be alive"); - } - } } /// Deserialize inscription payload as a `Block` and return it's`block_id`. diff --git a/lez/sequencer/core/src/lib.rs b/lez/sequencer/core/src/lib.rs index 26bab96d..953d46ab 100644 --- a/lez/sequencer/core/src/lib.rs +++ b/lez/sequencer/core/src/lib.rs @@ -225,7 +225,7 @@ impl SequencerCore { }) }); - let mut block_publisher = BP::new( + let block_publisher = BP::new( &config.bedrock_config, bedrock_signing_key, config.retry_pending_blocks_timeout, @@ -242,10 +242,6 @@ impl SequencerCore { // first publish, zone-sdk's checkpoint persistence covers further // restarts. if is_fresh_start { - log::info!("Waiting while BP is ready"); - - block_publisher.wait_ready().await; - block_publisher .publish_block(&genesis_block) .await @@ -477,8 +473,8 @@ impl SequencerCore { .collect()) } - pub fn block_publisher(&self) -> &BP { - &self.block_publisher + pub fn block_publisher(&self) -> BP { + self.block_publisher.clone() } fn next_block_id(&self) -> u64 {