diff --git a/Cargo.lock b/Cargo.lock index 942da1a..bc6326b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -801,9 +801,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" dependencies = [ "serde", ] @@ -1254,7 +1254,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" dependencies = [ "data-encoding", - "syn 2.0.114", + "syn 1.0.109", ] [[package]] @@ -3389,7 +3389,7 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "logos-blockchain-api-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "bytes", @@ -3415,7 +3415,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "logos-blockchain-blend-crypto", "logos-blockchain-blend-message", @@ -3427,7 +3427,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-crypto" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "blake2", "logos-blockchain-groth16", @@ -3441,7 +3441,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-message" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "blake2", "derivative", @@ -3463,7 +3463,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-network" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "either", "futures", @@ -3481,7 +3481,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-proofs" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "ed25519-dalek", "generic-array 1.3.5", @@ -3496,7 +3496,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-scheduling" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "derivative", @@ -3519,7 +3519,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "fork_stream", @@ -3554,7 +3554,7 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-broadcast-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "derivative", @@ -3570,16 +3570,17 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-leader-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "futures", "logos-blockchain-blend-service", + "logos-blockchain-chain-network-service", "logos-blockchain-chain-service", "logos-blockchain-chain-service-common", "logos-blockchain-core", "logos-blockchain-cryptarchia-engine", - "logos-blockchain-key-management-system-keys", + "logos-blockchain-key-management-system-service", "logos-blockchain-ledger", "logos-blockchain-services-utils", "logos-blockchain-time-service", @@ -3597,7 +3598,7 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-network-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "futures", @@ -3625,7 +3626,7 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "bytes", @@ -3655,7 +3656,7 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-service-common" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "logos-blockchain-core", "serde", @@ -3664,7 +3665,7 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-prover" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "logos-blockchain-circuits-utils", "tempfile", @@ -3673,7 +3674,7 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-utils" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "dirs", ] @@ -3681,7 +3682,7 @@ dependencies = [ [[package]] name = "logos-blockchain-common-http-client" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "futures", "logos-blockchain-chain-broadcast-service", @@ -3698,7 +3699,7 @@ dependencies = [ [[package]] name = "logos-blockchain-core" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "ark-ff 0.4.2", "bincode", @@ -3706,15 +3707,16 @@ dependencies = [ "bytes", "const-hex", "futures", - "generic-array 1.3.5", "hex", "logos-blockchain-blend-proofs", "logos-blockchain-cryptarchia-engine", "logos-blockchain-groth16", "logos-blockchain-key-management-system-keys", + "logos-blockchain-poc", "logos-blockchain-pol", "logos-blockchain-poseidon2", "logos-blockchain-utils", + "logos-blockchain-utxotree", "multiaddr", "nom 8.0.0", "num-bigint", @@ -3727,7 +3729,7 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-engine" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "cfg_eval", "logos-blockchain-utils", @@ -3742,7 +3744,7 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-sync" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "bytes", "futures", @@ -3761,7 +3763,7 @@ dependencies = [ [[package]] name = "logos-blockchain-groth16" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "ark-bn254 0.4.0", "ark-ec 0.4.2", @@ -3779,7 +3781,7 @@ dependencies = [ [[package]] name = "logos-blockchain-http-api-common" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "axum", "governor", @@ -3794,13 +3796,12 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-keys" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "bytes", "ed25519-dalek", "generic-array 1.3.5", - "logos-blockchain-blend-proofs", "logos-blockchain-groth16", "logos-blockchain-key-management-system-macros", "logos-blockchain-poseidon2", @@ -3820,21 +3821,38 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-macros" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "proc-macro2", "quote", "syn 2.0.114", ] +[[package]] +name = "logos-blockchain-key-management-system-operators" +version = "0.1.0" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" +dependencies = [ + "async-trait", + "logos-blockchain-blend-proofs", + "logos-blockchain-core", + "logos-blockchain-groth16", + "logos-blockchain-key-management-system-keys", + "logos-blockchain-poseidon2", + "logos-blockchain-utxotree", + "tokio", + "tracing", +] + [[package]] name = "logos-blockchain-key-management-system-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "log", "logos-blockchain-key-management-system-keys", + "logos-blockchain-key-management-system-operators", "overwatch", "serde", "thiserror 2.0.18", @@ -3845,7 +3863,7 @@ dependencies = [ [[package]] name = "logos-blockchain-ledger" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "derivative", "logos-blockchain-blend-crypto", @@ -3855,7 +3873,7 @@ dependencies = [ "logos-blockchain-cryptarchia-engine", "logos-blockchain-groth16", "logos-blockchain-key-management-system-keys", - "logos-blockchain-mmr", + "logos-blockchain-pol", "logos-blockchain-utils", "logos-blockchain-utxotree", "num-bigint", @@ -3869,7 +3887,7 @@ dependencies = [ [[package]] name = "logos-blockchain-libp2p" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "backon", @@ -3895,22 +3913,10 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "logos-blockchain-mmr" -version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" -dependencies = [ - "ark-ff 0.4.2", - "logos-blockchain-groth16", - "logos-blockchain-poseidon2", - "rpds", - "serde", -] - [[package]] name = "logos-blockchain-network-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "futures", @@ -3929,7 +3935,7 @@ dependencies = [ [[package]] name = "logos-blockchain-node" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "axum", @@ -3965,7 +3971,6 @@ dependencies = [ "logos-blockchain-tx-service", "logos-blockchain-utils", "logos-blockchain-wallet-service", - "num-bigint", "overwatch", "serde", "serde_ignored", @@ -3983,10 +3988,25 @@ dependencies = [ "utoipa-swagger-ui", ] +[[package]] +name = "logos-blockchain-poc" +version = "0.1.0" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" +dependencies = [ + "logos-blockchain-circuits-prover", + "logos-blockchain-circuits-utils", + "logos-blockchain-groth16", + "logos-blockchain-witness-generator", + "num-bigint", + "serde", + "serde_json", + "thiserror 2.0.18", +] + [[package]] name = "logos-blockchain-pol" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "logos-blockchain-circuits-prover", "logos-blockchain-circuits-utils", @@ -4002,7 +4022,7 @@ dependencies = [ [[package]] name = "logos-blockchain-poq" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "logos-blockchain-circuits-prover", "logos-blockchain-circuits-utils", @@ -4018,7 +4038,7 @@ dependencies = [ [[package]] name = "logos-blockchain-poseidon2" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "ark-bn254 0.4.0", "ark-ff 0.4.2", @@ -4029,7 +4049,7 @@ dependencies = [ [[package]] name = "logos-blockchain-sdp-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "futures", @@ -4045,7 +4065,7 @@ dependencies = [ [[package]] name = "logos-blockchain-services-utils" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "futures", @@ -4060,7 +4080,7 @@ dependencies = [ [[package]] name = "logos-blockchain-storage-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "bytes", @@ -4078,7 +4098,7 @@ dependencies = [ [[package]] name = "logos-blockchain-system-sig-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-ctrlc", "async-trait", @@ -4089,7 +4109,7 @@ dependencies = [ [[package]] name = "logos-blockchain-time-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "cfg_eval", @@ -4111,7 +4131,7 @@ dependencies = [ [[package]] name = "logos-blockchain-tracing" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "opentelemetry", "opentelemetry-http", @@ -4134,7 +4154,7 @@ dependencies = [ [[package]] name = "logos-blockchain-tracing-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "logos-blockchain-tracing", @@ -4148,7 +4168,7 @@ dependencies = [ [[package]] name = "logos-blockchain-tx-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "futures", @@ -4170,7 +4190,7 @@ dependencies = [ [[package]] name = "logos-blockchain-utils" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "blake2", @@ -4187,10 +4207,9 @@ dependencies = [ [[package]] name = "logos-blockchain-utxotree" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "ark-ff 0.4.2", - "logos-blockchain-core", "logos-blockchain-groth16", "logos-blockchain-poseidon2", "num-bigint", @@ -4202,13 +4221,14 @@ dependencies = [ [[package]] name = "logos-blockchain-wallet" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "logos-blockchain-core", "logos-blockchain-key-management-system-keys", "logos-blockchain-ledger", "num-bigint", "rpds", + "serde", "thiserror 2.0.18", "tracing", ] @@ -4216,7 +4236,7 @@ dependencies = [ [[package]] name = "logos-blockchain-wallet-service" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "async-trait", "bytes", @@ -4229,6 +4249,7 @@ dependencies = [ "logos-blockchain-ledger", "logos-blockchain-services-utils", "logos-blockchain-storage-service", + "logos-blockchain-utxotree", "logos-blockchain-wallet", "overwatch", "serde", @@ -4240,7 +4261,7 @@ dependencies = [ [[package]] name = "logos-blockchain-witness-generator" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "tempfile", ] @@ -4248,7 +4269,7 @@ dependencies = [ [[package]] name = "logos-blockchain-zksign" version = "0.1.0" -source = "git+https://github.com/logos-co/nomos-node.git?rev=3f15894f8b4df377e8d3cd9d92ddee9f648046dc#3f15894f8b4df377e8d3cd9d92ddee9f648046dc" +source = "git+https://github.com/logos-co/nomos-node.git?rev=d40db90e8b1649735e4c981ec4cd84063d0d0bfe#d40db90e8b1649735e4c981ec4cd84063d0d0bfe" dependencies = [ "logos-blockchain-circuits-prover", "logos-blockchain-circuits-utils", @@ -6437,7 +6458,6 @@ dependencies = [ "hex", "logos-blockchain-api-service", "logos-blockchain-blend-service", - "logos-blockchain-chain-leader-service", "logos-blockchain-chain-network-service", "logos-blockchain-chain-service", "logos-blockchain-core", diff --git a/Cargo.toml b/Cargo.toml index e2d0c85..bfd699b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,39 +40,37 @@ testing-framework-runner-local = { default-features = false, path = "testing-f testing-framework-workflows = { default-features = false, path = "testing-framework/workflows" } # Logos git dependencies (pinned to latest master) -broadcast-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-chain-broadcast-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -cfgsync_tf = { default-features = false, path = "testing-framework/tools/cfgsync_tf" } -chain-leader = { default-features = false, features = [ - "pol-dev-mode", -], git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-chain-leader-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -chain-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-chain-network-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -chain-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-chain-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -common-http-client = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-common-http-client", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -cryptarchia-engine = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-cryptarchia-engine", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -cryptarchia-sync = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-cryptarchia-sync", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -groth16 = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-groth16", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -key-management-system-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-key-management-system-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-api = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-api-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-blend-message = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-blend-message", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-blend-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-blend-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-core = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-core", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-http-api-common = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-http-api-common", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-ledger = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-ledger", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-libp2p = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-libp2p", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-network-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-node = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-node", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-sdp = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-sdp-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-time = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-time-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-tracing = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-tracing", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-tracing-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-tracing-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-utils = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-utils", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -nomos-wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-wallet-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -poc = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-poc", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -pol = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-pol", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -tests = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-tests", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -tx-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-tx-service", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-wallet", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } -zksign = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-zksign", rev = "3f15894f8b4df377e8d3cd9d92ddee9f648046dc" } +broadcast-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-chain-broadcast-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +cfgsync_tf = { default-features = false, path = "testing-framework/tools/cfgsync_tf" } +chain-leader = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-chain-leader-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +chain-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-chain-network-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +chain-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-chain-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +common-http-client = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-common-http-client", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +cryptarchia-engine = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-cryptarchia-engine", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +cryptarchia-sync = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-cryptarchia-sync", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +groth16 = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-groth16", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +key-management-system-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-key-management-system-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-api = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-api-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-blend-message = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-blend-message", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-blend-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-blend-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-core = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-core", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-http-api-common = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-http-api-common", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-ledger = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-ledger", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-libp2p = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-libp2p", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-network-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-node = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-node", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-sdp = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-sdp-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-time = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-time-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-tracing = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-tracing", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-tracing-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-tracing-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-utils = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-utils", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +nomos-wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-wallet-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +poc = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-poc", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +pol = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-pol", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +tests = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-tests", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +tx-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-tx-service", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-wallet", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } +zksign = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", package = "logos-blockchain-zksign", rev = "d40db90e8b1649735e4c981ec4cd84063d0d0bfe" } # External crates async-trait = { default-features = false, version = "0.1" } diff --git a/scripts/build/build-bundle.sh b/scripts/build/build-bundle.sh index 87d25a7..6e0125a 100755 --- a/scripts/build/build-bundle.sh +++ b/scripts/build/build-bundle.sh @@ -309,7 +309,7 @@ build_bundle::prepare_circuits() { } build_bundle::build_binaries() { - BUILD_FEATURES_LABEL="all,pol-dev-mode,verification-keys" + BUILD_FEATURES_LABEL="all,high-active-slot-coefficient,verification-keys" echo "==> Building binaries (platform=${PLATFORM})" mkdir -p "${NODE_SRC}" ( @@ -330,14 +330,14 @@ build_bundle::build_binaries() { fi if [ -n "${BUNDLE_RUSTUP_TOOLCHAIN}" ]; then - RUSTFLAGS='--cfg feature="pol-dev-mode" --cfg feature="build-verification-key"' \ + RUSTFLAGS='--cfg feature="high-active-slot-coefficient" --cfg feature="build-verification-key"' \ CARGO_FEATURE_BUILD_VERIFICATION_KEY=1 \ RUSTUP_TOOLCHAIN="${BUNDLE_RUSTUP_TOOLCHAIN}" \ cargo build --all-features \ -p logos-blockchain-node \ --target-dir "${NODE_TARGET}" else - RUSTFLAGS='--cfg feature="pol-dev-mode" --cfg feature="build-verification-key"' \ + RUSTFLAGS='--cfg feature="high-active-slot-coefficient" --cfg feature="build-verification-key"' \ CARGO_FEATURE_BUILD_VERIFICATION_KEY=1 \ cargo build --all-features \ -p logos-blockchain-node \ diff --git a/scripts/run/run-examples.sh b/scripts/run/run-examples.sh index f34af21..8c7d2e4 100755 --- a/scripts/run/run-examples.sh +++ b/scripts/run/run-examples.sh @@ -302,7 +302,7 @@ run_examples::bundle_matches_expected() { local tar_path="$1" [ -f "${tar_path}" ] || return 1 [ -z "${LOGOS_BLOCKCHAIN_NODE_REV:-}" ] && return 0 - local expected_features="${RUN_EXAMPLES_EXPECTED_BUNDLE_FEATURES:-all,pol-dev-mode,verification-keys}" + local expected_features="${RUN_EXAMPLES_EXPECTED_BUNDLE_FEATURES:-all,high-active-slot-coefficient,verification-keys}" local meta tar_rev tar_head tar_features meta="$(tar -xOzf "${tar_path}" artifacts/nomos-bundle-meta.env 2>/dev/null || true)" diff --git a/testing-framework/assets/stack/scripts/docker/build_cfgsync.sh b/testing-framework/assets/stack/scripts/docker/build_cfgsync.sh index c539582..aada5eb 100755 --- a/testing-framework/assets/stack/scripts/docker/build_cfgsync.sh +++ b/testing-framework/assets/stack/scripts/docker/build_cfgsync.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -RUSTFLAGS='--cfg feature="pol-dev-mode"' \ +RUSTFLAGS='--cfg feature="high-active-slot-coefficient"' \ cargo build --all-features --manifest-path /workspace/testing-framework/tools/cfgsync_tf/Cargo.toml --bins cp /workspace/target/debug/cfgsync-server /workspace/artifacts/cfgsync-server diff --git a/testing-framework/assets/stack/scripts/docker/prepare_binaries.sh b/testing-framework/assets/stack/scripts/docker/prepare_binaries.sh index 90a0b8c..03f61cf 100755 --- a/testing-framework/assets/stack/scripts/docker/prepare_binaries.sh +++ b/testing-framework/assets/stack/scripts/docker/prepare_binaries.sh @@ -50,8 +50,8 @@ git checkout "${LOGOS_BLOCKCHAIN_NODE_REV}" git reset --hard git clean -fdx -# Enable pol-dev-mode via cfg to let POL_PROOF_DEV_MODE short-circuit proofs in tests. -RUSTFLAGS='--cfg feature="pol-dev-mode"' \ +# Enable high-active-slot-coefficient via cfg to keep test blocks frequent. +RUSTFLAGS='--cfg feature="high-active-slot-coefficient"' \ cargo build --features "testing" -p logos-blockchain-node cp /tmp/nomos-node/target/debug/logos-blockchain-node /workspace/artifacts/logos-blockchain-node diff --git a/testing-framework/configs/Cargo.toml b/testing-framework/configs/Cargo.toml index 50d4634..5030d6d 100644 --- a/testing-framework/configs/Cargo.toml +++ b/testing-framework/configs/Cargo.toml @@ -10,7 +10,6 @@ repository.workspace = true version = "0.1.0" [dependencies] -chain-leader = { workspace = true } chain-network = { workspace = true } chain-service = { workspace = true } cryptarchia-engine = { features = ["serde"], workspace = true } diff --git a/testing-framework/configs/src/nodes/blend.rs b/testing-framework/configs/src/nodes/blend.rs index c6d73bb..1f8dbd8 100644 --- a/testing-framework/configs/src/nodes/blend.rs +++ b/testing-framework/configs/src/nodes/blend.rs @@ -32,6 +32,7 @@ const EPOCH_TRANSITION_SLOTS: u64 = 2_600; const SAFETY_BUFFER_INTERVALS: u64 = 100; const MESSAGE_FREQUENCY_PER_ROUND: f64 = 1.0; const MAX_RELEASE_DELAY_ROUNDS: u64 = 3; +const DATA_REPLICATION_FACTOR: u64 = 0; pub(crate) fn build_blend_service_config( config: &TopologyBlendConfig, @@ -106,6 +107,7 @@ fn build_blend_deployment_settings( common: blend_deployment::CommonSettings { num_blend_layers: unsafe { NonZeroU64::new_unchecked(BLEND_LAYERS_COUNT) }, minimum_network_size: unsafe { NonZeroU64::new_unchecked(MINIMUM_NETWORK_SIZE) }, + data_replication_factor: DATA_REPLICATION_FACTOR, timing: TimingSettings { round_duration: Duration::from_secs(ROUND_DURATION_SECS), rounds_per_interval: unsafe { NonZeroU64::new_unchecked(ROUNDS_PER_INTERVAL) }, diff --git a/testing-framework/configs/src/nodes/common.rs b/testing-framework/configs/src/nodes/common.rs index 20e921d..4fe836c 100644 --- a/testing-framework/configs/src/nodes/common.rs +++ b/testing-framework/configs/src/nodes/common.rs @@ -1,8 +1,13 @@ -use std::{collections::HashSet, num::NonZeroUsize, path::PathBuf, time::Duration}; +use std::{ + collections::{HashMap, HashSet}, + num::NonZeroUsize, + path::PathBuf, + time::Duration, +}; -use chain_leader::LeaderConfig as ChainLeaderConfig; use chain_network::{BootstrapConfig as ChainBootstrapConfig, OrphanConfig, SyncConfig}; use chain_service::StartingState; +use key_management_system_service::keys::Key; use nomos_api::ApiServiceSettings; use nomos_node::{ api::backend::AxumBackendSettings as NodeAxumBackendSettings, @@ -22,7 +27,7 @@ use nomos_node::{ }; use nomos_wallet::WalletServiceSettings; -use crate::{timeouts, topology::configs::GeneralConfig}; +use crate::{nodes::kms::key_id_for_preload_backend, timeouts, topology::configs::GeneralConfig}; // Configuration constants const CRYPTARCHIA_GOSSIPSUB_PROTOCOL: &str = "/cryptarchia/proto"; @@ -37,7 +42,11 @@ const API_MAX_CONCURRENT_REQUESTS: usize = 1000; pub(crate) fn cryptarchia_deployment(config: &GeneralConfig) -> CryptarchiaDeploymentSettings { CryptarchiaDeploymentSettings { epoch_config: config.consensus_config.ledger_config.epoch_config, - consensus_config: config.consensus_config.ledger_config.consensus_config, + security_param: config + .consensus_config + .ledger_config + .consensus_config + .security_param(), sdp_config: DeploymentSdpConfig { service_params: config .consensus_config @@ -69,9 +78,7 @@ pub(crate) fn cryptarchia_config(config: &GeneralConfig) -> CryptarchiaConfig { starting_state: StartingState::Genesis { genesis_tx: config.consensus_config.genesis_tx.clone(), }, - // Disable on-disk recovery in compose tests to avoid serde errors on - // non-string keys and keep services alive. - recovery_file: PathBuf::new(), + recovery_file: PathBuf::from("recovery/cryptarchia.json"), bootstrap: chain_service::BootstrapConfig { prolonged_bootstrap_period: config.bootstrapping_config.prolonged_bootstrap_period, force_bootstrap: false, @@ -94,10 +101,6 @@ pub(crate) fn cryptarchia_config(config: &GeneralConfig) -> CryptarchiaConfig { }, }, }, - leader: ChainLeaderConfig { - pk: config.consensus_config.leader_config.pk, - sk: config.consensus_config.leader_config.sk.clone(), - }, } } @@ -117,8 +120,7 @@ pub(crate) fn time_config(config: &GeneralConfig) -> TimeConfig { pub(crate) fn mempool_config() -> nomos_node::config::mempool::serde::Config { nomos_node::config::mempool::serde::Config { - // Disable mempool recovery for hermetic tests. - recovery_path: PathBuf::new(), + recovery_path: PathBuf::from("recovery/mempool.json"), } } @@ -160,19 +162,30 @@ fn wallet_settings_with_leader( config: &GeneralConfig, include_leader: bool, ) -> WalletServiceSettings { - let mut keys = HashSet::new(); + let mut keys = HashMap::new(); if include_leader { - keys.insert(config.consensus_config.leader_config.pk); + let leader_key = Key::Zk(config.consensus_config.leader_sk.clone().into()); + let leader_key_id = key_id_for_preload_backend(&leader_key); + keys.insert(leader_key_id, config.consensus_config.leader_pk); } - keys.extend( - config - .consensus_config - .wallet_accounts - .iter() - .map(crate::topology::configs::wallet::WalletAccount::public_key), + let funding_key = Key::Zk(config.consensus_config.funding_sk.clone()); + let funding_key_id = key_id_for_preload_backend(&funding_key); + keys.insert( + funding_key_id, + config.consensus_config.funding_sk.to_public_key(), ); - WalletServiceSettings { known_keys: keys } + // Note: wallet accounts are used by the transaction workload directly and + // don't need to be registered for leader eligibility. + + let voucher_master_key_id = + key_id_for_preload_backend(&Key::Zk(config.consensus_config.leader_sk.clone().into())); + + WalletServiceSettings { + known_keys: keys, + voucher_master_key_id, + recovery_path: PathBuf::from("recovery/wallet.json"), + } } diff --git a/testing-framework/configs/src/topology/configs/consensus.rs b/testing-framework/configs/src/topology/configs/consensus.rs index bed29a0..eca32ac 100644 --- a/testing-framework/configs/src/topology/configs/consensus.rs +++ b/testing-framework/configs/src/topology/configs/consensus.rs @@ -5,7 +5,6 @@ use std::{ sync::Arc, }; -use chain_leader::LeaderConfig; use cryptarchia_engine::EpochConfig; use groth16::CompressedGroth16Proof; use key_management_system_service::keys::{ @@ -49,7 +48,7 @@ pub struct ConsensusParams { } impl ConsensusParams { - const DEFAULT_ACTIVE_SLOT_COEFF: f64 = 0.9; + const DEFAULT_ACTIVE_SLOT_COEFF: f64 = 1.0; const CONSENSUS_ACTIVE_SLOT_COEFF_VAR: &str = "CONSENSUS_ACTIVE_SLOT_COEFF"; #[must_use] @@ -98,7 +97,8 @@ impl ProviderInfo { /// be converted into a specific service or services configuration. #[derive(Clone)] pub struct GeneralConsensusConfig { - pub leader_config: LeaderConfig, + pub leader_pk: ZkPublicKey, + pub leader_sk: UnsecuredZkKey, pub ledger_config: nomos_ledger::Config, pub genesis_tx: GenesisTx, pub utxos: Vec, @@ -115,7 +115,7 @@ pub struct ServiceNote { pub output_index: usize, } -fn create_genesis_tx(utxos: &[Utxo]) -> Result { +fn create_genesis_tx(utxos: &mut [Utxo]) -> Result { // Create a genesis inscription op (similar to config.yaml) let inscription = InscriptionOp { channel_id: ChannelId::from([0; 32]), @@ -131,6 +131,12 @@ fn create_genesis_tx(utxos: &[Utxo]) -> Result // Create ledger transaction with the utxos as outputs let outputs: Vec = utxos.iter().map(|u| u.note).collect(); let ledger_tx = LedgerTx::new(vec![], outputs); + let ledger_tx_hash = ledger_tx.hash(); + + // Ensure utxo IDs match the ledger tx hash used at genesis. + for utxo in utxos { + utxo.tx_hash = ledger_tx_hash; + } // Create the mantle transaction let mantle_tx = MantleTx { @@ -160,10 +166,10 @@ fn build_ledger_config( epoch_period_nonce_buffer: unsafe { NonZero::new_unchecked(3) }, epoch_period_nonce_stabilization: unsafe { NonZero::new_unchecked(4) }, }, - consensus_config: cryptarchia_engine::Config { - security_param: consensus_params.security_param, - active_slot_coeff: consensus_params.active_slot_coeff, - }, + consensus_config: cryptarchia_engine::Config::new( + consensus_params.security_param, + consensus_params.active_slot_coeff, + ), sdp_config: nomos_ledger::mantle::sdp::Config { service_params: Arc::new( [( @@ -192,6 +198,7 @@ fn build_ledger_config( })?, num_blend_layers: unsafe { NonZeroU64::new_unchecked(3) }, minimum_network_size: unsafe { NonZeroU64::new_unchecked(1) }, + data_replication_factor: 0, }, }, }, @@ -214,15 +221,16 @@ pub fn create_consensus_configs( &mut blend_notes, &mut sdp_notes, ); - let utxos = append_wallet_utxos(utxos, wallet); - let genesis_tx = create_genesis_tx(&utxos)?; + let mut utxos = append_wallet_utxos(utxos, wallet); + let genesis_tx = create_genesis_tx(&mut utxos)?; let ledger_config = build_ledger_config(consensus_params)?; Ok(leader_keys .into_iter() .enumerate() .map(|(i, (pk, sk))| GeneralConsensusConfig { - leader_config: LeaderConfig { pk, sk }, + leader_pk: pk, + leader_sk: sk, ledger_config: ledger_config.clone(), genesis_tx: genesis_tx.clone(), utxos: utxos.clone(), @@ -241,10 +249,8 @@ fn create_utxos_for_leader_and_services( ) -> Vec { let mut utxos = Vec::new(); - // Assume output index which will be set by the ledger tx. - let mut output_index = 0; - // Create notes for leader, Blend and DA declarations. + let mut output_index = 0; for &id in ids { output_index = push_leader_utxo(id, leader_keys, &mut utxos, output_index); output_index = push_service_note(b"bn", id, blend_notes, &mut utxos, output_index); @@ -276,9 +282,9 @@ fn push_leader_utxo( let pk = sk.to_public_key(); leader_keys.push((pk, sk)); utxos.push(Utxo { - note: Note::new(1_000, pk), + note: Note::new(100_000, pk), tx_hash: BigUint::from(0u8).into(), - output_index: 0, + output_index, }); output_index + 1 } @@ -303,17 +309,18 @@ fn push_service_note( utxos.push(Utxo { note, tx_hash: BigUint::from(0u8).into(), - output_index: 0, + output_index, }); output_index + 1 } fn append_wallet_utxos(mut utxos: Vec, wallet: &WalletConfig) -> Vec { for account in &wallet.accounts { + let output_index = utxos.len(); utxos.push(Utxo { note: Note::new(account.value, account.public_key()), tx_hash: BigUint::from(0u8).into(), - output_index: 0, + output_index, }); } diff --git a/testing-framework/configs/src/topology/configs/runtime.rs b/testing-framework/configs/src/topology/configs/runtime.rs index 7468ac7..62fd17f 100644 --- a/testing-framework/configs/src/topology/configs/runtime.rs +++ b/testing-framework/configs/src/topology/configs/runtime.rs @@ -52,7 +52,7 @@ pub fn build_general_config_for_node( .next() .ok_or(GeneralConfigError::EmptyParticipants)?; - let kms_config = build_kms_config_for_node(&blend_config, wallet_config); + let kms_config = build_kms_config_for_node(&blend_config, wallet_config, &consensus_config); Ok(GeneralConfig { consensus_config, @@ -105,6 +105,7 @@ pub fn build_initial_peers(network_params: &NetworkParams, peer_ports: &[u16]) - fn build_kms_config_for_node( blend_config: &blend::GeneralBlendConfig, wallet_config: &WalletConfig, + consensus_config: &GeneralConsensusConfig, ) -> PreloadKMSBackendSettings { let mut keys = HashMap::from([ ( @@ -115,6 +116,14 @@ fn build_kms_config_for_node( key_id_for_preload_backend(&Key::Zk(blend_config.secret_zk_key.clone())), Key::Zk(blend_config.secret_zk_key.clone()), ), + ( + key_id_for_preload_backend(&Key::Zk(consensus_config.leader_sk.clone().into())), + Key::Zk(consensus_config.leader_sk.clone().into()), + ), + ( + key_id_for_preload_backend(&Key::Zk(consensus_config.funding_sk.clone())), + Key::Zk(consensus_config.funding_sk.clone()), + ), ]); for account in &wallet_config.accounts { diff --git a/testing-framework/configs/src/topology/configs/time.rs b/testing-framework/configs/src/topology/configs/time.rs index fda61bc..fe6a528 100644 --- a/testing-framework/configs/src/topology/configs/time.rs +++ b/testing-framework/configs/src/topology/configs/time.rs @@ -6,7 +6,7 @@ use std::{ use time::OffsetDateTime; -const DEFAULT_SLOT_TIME: u64 = 2; +const DEFAULT_SLOT_TIME: u64 = 1; const CONSENSUS_SLOT_TIME_VAR: &str = "CONSENSUS_SLOT_TIME"; const DEFAULT_NTP_SERVER: &str = "pool.ntp.org"; const DEFAULT_NTP_TIMEOUT: Duration = Duration::from_secs(5); diff --git a/testing-framework/core/src/nodes/common/config/paths.rs b/testing-framework/core/src/nodes/common/config/paths.rs index 74b39c9..01a499d 100644 --- a/testing-framework/core/src/nodes/common/config/paths.rs +++ b/testing-framework/core/src/nodes/common/config/paths.rs @@ -11,6 +11,16 @@ pub fn ensure_recovery_paths(base_dir: &Path) -> io::Result<()> { fs::write(&mempool_path, "{}")?; } + let cryptarchia_path = recovery_dir.join("cryptarchia.json"); + if !cryptarchia_path.exists() { + fs::write(&cryptarchia_path, "{}")?; + } + + let wallet_path = recovery_dir.join("wallet.json"); + if !wallet_path.exists() { + fs::write(&wallet_path, "{}")?; + } + let blend_core_path = recovery_dir.join("blend").join("core.json"); if let Some(parent) = blend_core_path.parent() { fs::create_dir_all(parent)?; diff --git a/testing-framework/core/src/topology/config.rs b/testing-framework/core/src/topology/config.rs index 9a57720..4bc017f 100644 --- a/testing-framework/core/src/topology/config.rs +++ b/testing-framework/core/src/topology/config.rs @@ -220,7 +220,11 @@ impl TopologyBuilder { let genesis_tx = create_consensus_genesis_tx(first_consensus, providers)?; apply_consensus_genesis_tx(&mut consensus_configs, &genesis_tx); - let kms_configs = create_kms_configs(&blend_configs, &config.wallet_config.accounts); + let kms_configs = create_kms_configs( + &blend_configs, + &consensus_configs, + &config.wallet_config.accounts, + ); let nodes = build_node_descriptors( &config, diff --git a/testing-framework/core/src/topology/utils.rs b/testing-framework/core/src/topology/utils.rs index 01b7236..a9e6038 100644 --- a/testing-framework/core/src/topology/utils.rs +++ b/testing-framework/core/src/topology/utils.rs @@ -6,17 +6,21 @@ use nomos_utils::net::get_available_udp_port; use rand::{Rng, thread_rng}; use thiserror::Error; -use crate::topology::configs::{blend::GeneralBlendConfig, wallet::WalletAccount}; +use crate::topology::configs::{ + blend::GeneralBlendConfig, consensus::GeneralConsensusConfig, wallet::WalletAccount, +}; #[must_use] /// Build preload KMS configs for blend/DA and wallet keys for every node. pub fn create_kms_configs( blend_configs: &[GeneralBlendConfig], + consensus_configs: &[GeneralConsensusConfig], wallet_accounts: &[WalletAccount], ) -> Vec { blend_configs .iter() - .map(|blend_conf| { + .zip(consensus_configs.iter()) + .map(|(blend_conf, consensus_conf)| { let mut keys = HashMap::from([ ( hex::encode(blend_conf.signer.public_key().to_bytes()), @@ -28,6 +32,18 @@ pub fn create_kms_configs( )), Key::Zk(blend_conf.secret_zk_key.clone()), ), + ( + hex::encode(fr_to_bytes( + consensus_conf.leader_sk.to_public_key().as_fr(), + )), + Key::Zk(consensus_conf.leader_sk.clone().into()), + ), + ( + hex::encode(fr_to_bytes( + consensus_conf.funding_sk.to_public_key().as_fr(), + )), + Key::Zk(consensus_conf.funding_sk.clone()), + ), ]); for account in wallet_accounts { diff --git a/versions.env b/versions.env index 18afbc0..4ce9df3 100644 --- a/versions.env +++ b/versions.env @@ -1,7 +1,7 @@ VERSION=v0.3.2 LOGOS_BLOCKCHAIN_BUNDLE_VERSION=v4 # Pinned logos-blockchain-node revision used for CI builds and binary bundles. -LOGOS_BLOCKCHAIN_NODE_REV=3f15894f8b4df377e8d3cd9d92ddee9f648046dc +LOGOS_BLOCKCHAIN_NODE_REV=d40db90e8b1649735e4c981ec4cd84063d0d0bfe # Optional: local logos-blockchain-node checkout override (do not commit absolute paths). # LOGOS_BLOCKCHAIN_NODE_PATH=