diff --git a/Cargo.lock b/Cargo.lock index f076976109..ef635603ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1315,10 +1315,10 @@ dependencies = [ "hotshot-orchestrator", "hotshot-stake-table", "hotshot-state-prover", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "jf-signature", "libp2p", - "libp2p-networking 0.5.78 (git+https://github.com/EspressoSystems//HotShot.git?tag=0.5.78-patch5)", + "libp2p-networking", "marketplace-builder-shared", "portpicker", "rand 0.8.5", @@ -2975,7 +2975,7 @@ dependencies = [ "hotshot-orchestrator", "hotshot-query-service", "hotshot-testing", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "itertools 0.12.1", "jf-merkle-tree", "jf-utils", @@ -4112,8 +4112,8 @@ dependencies = [ [[package]] name = "hotshot" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "anyhow", "async-broadcast", @@ -4137,10 +4137,10 @@ dependencies = [ "futures", "hotshot-task", "hotshot-task-impls", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "jf-signature", "libp2p-identity", - "libp2p-networking 0.5.78 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "libp2p-networking", "lru 0.12.5", "num_enum", "parking_lot", @@ -4154,20 +4154,21 @@ dependencies = [ "tokio", "tracing", "url", + "utils", "vbs", ] [[package]] name = "hotshot-builder-api" version = "0.1.7" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "async-trait", "clap", "committable", "derive_more 1.0.0", "futures", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "serde", "tagged-base64", "thiserror", @@ -4179,7 +4180,7 @@ dependencies = [ [[package]] name = "hotshot-builder-core" version = "0.1.51" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core?tag=0.1.53#2922d96b85c4b71abd516f1aaf9f4c522cec8b07" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core?tag=0.1.54#efdf2ccab5b8b943f4ce192c4143d616857f1412" dependencies = [ "anyhow", "async-broadcast", @@ -4196,7 +4197,7 @@ dependencies = [ "hotshot", "hotshot-builder-api", "hotshot-events-service", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "lru 0.12.5", "marketplace-builder-shared", "serde", @@ -4225,7 +4226,7 @@ dependencies = [ "contract-bindings", "diff-test-bn254", "ethers", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "jf-pcs", "jf-plonk", "jf-utils", @@ -4236,7 +4237,7 @@ dependencies = [ [[package]] name = "hotshot-events-service" version = "0.1.49" -source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?tag=0.1.51#8d4092ef01a5a6c9151df4a29fa3218726f91016" +source = "git+https://github.com/EspressoSystems/hotshot-events-service.git?tag=0.1.52#95ef82a7f5ffeab18df34a697bef35f2319971d0" dependencies = [ "async-broadcast", "async-compatibility-layer", @@ -4248,7 +4249,7 @@ dependencies = [ "derive_more 0.99.18", "either", "futures", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "rand 0.8.5", "serde", "snafu 0.8.4", @@ -4261,8 +4262,8 @@ dependencies = [ [[package]] name = "hotshot-example-types" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "anyhow", "async-broadcast", @@ -4276,9 +4277,10 @@ dependencies = [ "ethereum-types", "futures", "hotshot", + "hotshot-builder-api", "hotshot-task", "hotshot-task-impls", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "rand 0.8.5", "reqwest 0.12.8", "serde", @@ -4294,8 +4296,8 @@ dependencies = [ [[package]] name = "hotshot-fakeapi" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "anyhow", "async-compatibility-layer", @@ -4303,7 +4305,7 @@ dependencies = [ "async-trait", "futures", "hotshot-example-types", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "rand 0.8.5", "serde", "tide-disco", @@ -4314,19 +4316,8 @@ dependencies = [ [[package]] name = "hotshot-macros" -version = "0.5.78" -source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.78-patch4#e8abb17d990560d6c92489522d218b99d2089db3" -dependencies = [ - "derive_builder", - "proc-macro2", - "quote", - "syn 2.0.77", -] - -[[package]] -name = "hotshot-macros" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "derive_builder", "proc-macro2", @@ -4336,8 +4327,8 @@ dependencies = [ [[package]] name = "hotshot-orchestrator" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "anyhow", "async-compatibility-layer", @@ -4348,7 +4339,7 @@ dependencies = [ "clap", "csv", "futures", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "libp2p", "multiaddr", "serde", @@ -4366,7 +4357,7 @@ dependencies = [ [[package]] name = "hotshot-query-service" version = "0.1.62" -source = "git+https://github.com/EspressoSystems/hotshot-query-service?tag=0.1.66#ff01ee1f804e2e211f5ee17b7b374861220ac984" +source = "git+https://github.com/EspressoSystems/hotshot-query-service?tag=0.1.68#bf491a14f708840bf0cdb40b85157de920d88f01" dependencies = [ "anyhow", "ark-serialize", @@ -4387,11 +4378,12 @@ dependencies = [ "hotshot", "hotshot-example-types", "hotshot-testing", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "include_dir", "itertools 0.12.1", "jf-merkle-tree", "jf-vid", + "log", "portpicker", "prometheus", "rand 0.8.5", @@ -4418,8 +4410,8 @@ dependencies = [ [[package]] name = "hotshot-stake-table" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "ark-bn254", "ark-ed-on-bn254", @@ -4428,7 +4420,7 @@ dependencies = [ "ark-std", "digest 0.10.7", "ethereum-types", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "jf-crhf", "jf-rescue", "jf-signature", @@ -4457,7 +4449,7 @@ dependencies = [ "futures", "hotshot-contract-adapter", "hotshot-stake-table", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "itertools 0.12.1", "jf-crhf", "jf-pcs", @@ -4480,8 +4472,8 @@ dependencies = [ [[package]] name = "hotshot-task" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "anyhow", "async-broadcast", @@ -4491,12 +4483,13 @@ dependencies = [ "futures", "tokio", "tracing", + "utils", ] [[package]] name = "hotshot-task-impls" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "anyhow", "async-broadcast", @@ -4513,7 +4506,7 @@ dependencies = [ "futures", "hotshot-builder-api", "hotshot-task", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "jf-signature", "jf-vid", "rand 0.8.5", @@ -4526,14 +4519,15 @@ dependencies = [ "tokio", "tracing", "url", + "utils", "vbs", "vec1", ] [[package]] name = "hotshot-testing" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "anyhow", "async-broadcast", @@ -4551,11 +4545,11 @@ dependencies = [ "hotshot-builder-api", "hotshot-example-types", "hotshot-fakeapi", - "hotshot-macros 0.5.78 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-macros", "hotshot-orchestrator", "hotshot-task", "hotshot-task-impls", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "itertools 0.13.0", "jf-signature", "jf-vid", @@ -4579,66 +4573,7 @@ dependencies = [ [[package]] name = "hotshot-types" version = "0.1.11" -source = "git+https://github.com/EspressoSystems//HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" -dependencies = [ - "anyhow", - "ark-bn254", - "ark-ed-on-bn254", - "ark-ff", - "ark-serialize", - "ark-srs", - "ark-std", - "async-compatibility-layer", - "async-lock 2.8.0", - "async-std", - "async-trait", - "bincode", - "bitvec", - "blake3", - "cdn-proto 0.4.0 (git+https://github.com/EspressoSystems/Push-CDN?tag=0.4.7)", - "clap", - "committable", - "custom_debug 0.5.1", - "derivative", - "digest 0.10.7", - "displaydoc", - "dyn-clone 1.0.17 (git+https://github.com/dtolnay/dyn-clone?tag=1.0.17)", - "either", - "espresso-systems-common 0.4.1", - "ethereum-types", - "futures", - "jf-pcs", - "jf-signature", - "jf-utils", - "jf-vid", - "lazy_static", - "libp2p", - "memoize", - "rand 0.8.5", - "rand_chacha 0.3.1", - "reqwest 0.12.8", - "serde", - "serde-inline-default", - "serde_bytes", - "serde_json", - "sha2 0.10.8", - "surf-disco", - "tagged-base64", - "thiserror", - "time 0.3.36", - "tokio", - "toml", - "tracing", - "typenum", - "url", - "vbs", - "vec1", -] - -[[package]] -name = "hotshot-types" -version = "0.1.11" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "anyhow", "ark-bn254", @@ -4690,6 +4625,7 @@ dependencies = [ "tracing", "typenum", "url", + "utils", "vbs", "vec1", ] @@ -5898,43 +5834,8 @@ dependencies = [ [[package]] name = "libp2p-networking" -version = "0.5.78" -source = "git+https://github.com/EspressoSystems//HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" -dependencies = [ - "anyhow", - "async-compatibility-layer", - "async-lock 2.8.0", - "async-std", - "async-trait", - "bincode", - "blake3", - "custom_debug 0.5.1", - "delegate", - "derive_builder", - "either", - "futures", - "hotshot-types 0.1.11 (git+https://github.com/EspressoSystems//HotShot.git?tag=0.5.78-patch5)", - "lazy_static", - "libp2p", - "libp2p-identity", - "libp2p-swarm-derive", - "pin-project", - "portpicker", - "rand 0.8.5", - "serde", - "serde_bytes", - "serde_json", - "thiserror", - "tokio", - "tokio-stream", - "tracing", - "void", -] - -[[package]] -name = "libp2p-networking" -version = "0.5.78" -source = "git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5#a9453cea6019b27e50ccf27bebc28bcb8f6d8268" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" dependencies = [ "anyhow", "async-compatibility-layer", @@ -5948,7 +5849,7 @@ dependencies = [ "derive_builder", "either", "futures", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "lazy_static", "libp2p", "libp2p-identity", @@ -6302,7 +6203,7 @@ dependencies = [ "hotshot-orchestrator", "hotshot-query-service", "hotshot-stake-table", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "jf-merkle-tree", "jf-signature", "marketplace-builder-core", @@ -6323,7 +6224,7 @@ dependencies = [ [[package]] name = "marketplace-builder-core" version = "0.1.51" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core?tag=0.1.53#2922d96b85c4b71abd516f1aaf9f4c522cec8b07" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core?tag=0.1.54#efdf2ccab5b8b943f4ce192c4143d616857f1412" dependencies = [ "anyhow", "async-broadcast", @@ -6340,10 +6241,10 @@ dependencies = [ "hotshot", "hotshot-builder-api", "hotshot-events-service", - "hotshot-macros 0.5.78 (git+https://github.com/EspressoSystems/hotshot?tag=0.5.78-patch4)", + "hotshot-macros", "hotshot-task-impls", "hotshot-testing", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "lru 0.12.5", "marketplace-builder-shared", "multimap", @@ -6365,7 +6266,7 @@ dependencies = [ [[package]] name = "marketplace-builder-shared" version = "0.1.51" -source = "git+https://github.com/EspressoSystems/marketplace-builder-core?tag=0.1.53#2922d96b85c4b71abd516f1aaf9f4c522cec8b07" +source = "git+https://github.com/EspressoSystems/marketplace-builder-core?tag=0.1.54#efdf2ccab5b8b943f4ce192c4143d616857f1412" dependencies = [ "anyhow", "async-broadcast", @@ -6384,7 +6285,7 @@ dependencies = [ "hotshot-example-types", "hotshot-task-impls", "hotshot-testing", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "rand 0.8.5", "serde", "surf-disco", @@ -6412,7 +6313,7 @@ dependencies = [ "hotshot", "hotshot-events-service", "hotshot-query-service", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "jf-signature", "portpicker", "rand 0.8.5", @@ -6795,7 +6696,7 @@ dependencies = [ "hotshot", "hotshot-query-service", "hotshot-stake-table", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "prometheus-parse", "reqwest 0.12.8", "serde", @@ -8806,7 +8707,7 @@ dependencies = [ "hotshot-stake-table", "hotshot-state-prover", "hotshot-testing", - "hotshot-types 0.1.11 (git+https://www.github.com/EspressoSystems/HotShot.git?tag=0.5.78-patch5)", + "hotshot-types", "include_dir", "itertools 0.12.1", "jf-crhf", @@ -8815,7 +8716,7 @@ dependencies = [ "jf-signature", "jf-vid", "libp2p", - "libp2p-networking 0.5.78 (git+https://github.com/EspressoSystems//HotShot.git?tag=0.5.78-patch5)", + "libp2p-networking", "marketplace-builder-core", "marketplace-builder-shared", "marketplace-solver", @@ -9270,7 +9171,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38d1e02fca405f6280643174a50c942219f0bbf4dbf7d480f1dd864d6f211ae5" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.77", @@ -10840,6 +10741,14 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +[[package]] +name = "utils" +version = "0.5.79" +source = "git+https://github.com/EspressoSystems/hotshot?tag=0.5.79#f942200b8ae31038d55cc1a45d2f780bc13de458" +dependencies = [ + "tracing", +] + [[package]] name = "uuid" version = "0.8.2" diff --git a/Cargo.toml b/Cargo.toml index fa5ed74e1e..2d16abaa44 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,24 +57,24 @@ dyn-clone = "1.0" ethers = { version = "2.0", features = ["solc"] } futures = "0.3" -hotshot = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.78-patch4" } +hotshot = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.79" } # Hotshot imports -hotshot-builder-api = { git = "https://github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch4" } -hotshot-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core", tag = "0.1.53" } -marketplace-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core", tag = "0.1.53" } -marketplace-builder-shared = { git = "https://github.com/EspressoSystems/marketplace-builder-core", tag = "0.1.53" } -hotshot-events-service = { git = "https://github.com/EspressoSystems/hotshot-events-service.git", tag = "0.1.51" } -hotshot-orchestrator = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.78-patch4" } -hotshot-query-service = { git = "https://github.com/EspressoSystems/hotshot-query-service", tag = "0.1.66" } -hotshot-stake-table = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.78-patch4" } +hotshot-builder-api = { git = "https://github.com/EspressoSystems/HotShot.git", tag = "0.5.79" } +hotshot-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core", tag = "0.1.54" } +marketplace-builder-core = { git = "https://github.com/EspressoSystems/marketplace-builder-core", tag = "0.1.54" } +marketplace-builder-shared = { git = "https://github.com/EspressoSystems/marketplace-builder-core", tag = "0.1.54" } +hotshot-events-service = { git = "https://github.com/EspressoSystems/hotshot-events-service.git", tag = "0.1.52" } +hotshot-orchestrator = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.79" } +hotshot-query-service = { git = "https://github.com/EspressoSystems/hotshot-query-service", tag = "0.1.68" } +hotshot-stake-table = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.79" } hotshot-state-prover = { version = "0.1.0", path = "hotshot-state-prover" } -hotshot-task = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.78-patch4" } -hotshot-testing = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.78-patch4" } -hotshot-types = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.78-patch4" } -libp2p-networking = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.78-patch4" } +hotshot-task = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.79" } +hotshot-testing = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.79" } +hotshot-types = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.79" } +libp2p-networking = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.79" } hotshot-contract-adapter = { version = "0.1.0", path = "contracts/rust/adapter" } # Temporary, used to pull in the mock auction results provider -hotshot-example-types = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.78-patch4" } +hotshot-example-types = { git = "https://github.com/EspressoSystems/hotshot", tag = "0.5.79" } # Push CDN imports cdn-broker = { git = "https://github.com/EspressoSystems/Push-CDN", features = [ @@ -155,15 +155,3 @@ debug = false strip = "debuginfo" [profile.dev.package."*"] opt-level = 3 - -[patch."https://github.com/EspressoSystems/HotShot.git"] -hotshot = { git = "https://www.github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch5" } -hotshot-builder-api = { git = "https://www.github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch5" } -hotshot-orchestrator = { git = "https://www.github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch5" } -hotshot-stake-table = { git = "https://www.github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch5" } -hotshot-task ={ git = "https://www.github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch5" } -hotshot-task-impls ={ git = "https://www.github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch5" } -hotshot-testing ={ git = "https://www.github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch5" } -hotshot-types = { git = "https://www.github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch5" } -libp2p-networking = { git = "https://github.com/EspressoSystems//HotShot.git", tag = "0.5.78-patch5" } -hotshot-example-types = { git = "https://www.github.com/EspressoSystems/HotShot.git", tag = "0.5.78-patch5" } diff --git a/builder/src/lib.rs b/builder/src/lib.rs index 85ab53a6c7..c13e024875 100755 --- a/builder/src/lib.rs +++ b/builder/src/lib.rs @@ -73,7 +73,7 @@ pub mod testing { node_implementation::{ConsensusTime, NodeType, Versions}, signature_key::BuilderSignatureKey as _, }, - ExecutionType, HotShotConfig, PeerConfig, ValidatorConfig, + HotShotConfig, PeerConfig, ValidatorConfig, }; use sequencer::{context::Consensus, network, SequencerApiVersion}; use std::{ @@ -110,28 +110,16 @@ pub mod testing { let ( priv_keys_non_staking_nodes, non_staking_nodes_state_key_pairs, - known_nodes_without_stake, + _known_nodes_without_stake, ) = generate_stake_table_entries(num_nodes_without_stake as u64, 0); - // get the pub key out of the stake table entry for the non-staking nodes - // Only pass the pub keys to the hotshot config - let known_nodes_without_stake_pub_keys = known_nodes_without_stake - .iter() - .map(|x| ::public_key(&x.stake_table_entry)) - .collect::>(); - let builder_url = hotshot_builder_url(); let config: HotShotConfig = HotShotConfig { - execution_type: ExecutionType::Continuous, num_nodes_with_stake: NonZeroUsize::new(num_nodes_with_stake).unwrap(), known_da_nodes: known_nodes_with_stake.clone(), known_nodes_with_stake: known_nodes_with_stake.clone(), - known_nodes_without_stake: known_nodes_without_stake_pub_keys, next_view_timeout: Duration::from_secs(5).as_millis() as u64, - timeout_ratio: (10, 11), - round_start_delay: Duration::from_millis(1).as_millis() as u64, - start_delay: Duration::from_millis(1).as_millis() as u64, num_bootstrap: 1usize, da_staked_committee_size: num_nodes_with_stake, my_own_validator_config: Default::default(), @@ -233,7 +221,9 @@ pub mod testing { } } else { ValidatorConfig { - public_key: self.config.known_nodes_without_stake[i], + public_key: self.config.known_nodes_with_stake[i] + .stake_table_entry + .stake_key, private_key: self.priv_keys_non_staking_nodes[i].clone(), stake_value: 0, state_key_pair: self.non_staking_nodes_state_key_pairs[i].clone(), diff --git a/sequencer/src/api/data_source.rs b/sequencer/src/api/data_source.rs index 7e16e4c9d4..c42bc0d678 100644 --- a/sequencer/src/api/data_source.rs +++ b/sequencer/src/api/data_source.rs @@ -24,7 +24,7 @@ use hotshot_types::{ light_client::StateSignatureRequestBody, network::NetworkConfig, traits::{network::ConnectedNetwork, node_implementation::Versions}, - ExecutionType, HotShotConfig, PeerConfig, ValidatorConfig, + HotShotConfig, PeerConfig, ValidatorConfig, }; use serde::{Deserialize, Serialize}; use tide_disco::Url; @@ -212,20 +212,15 @@ impl From> for PublicValidatorConfig { /// Hotshot config has sensitive information like private keys and such fields are excluded from this struct. #[derive(Clone, Debug, Deserialize, Serialize)] pub struct PublicHotShotConfig { - execution_type: ExecutionType, start_threshold: (u64, u64), num_nodes_with_stake: NonZeroUsize, known_nodes_with_stake: Vec>, known_da_nodes: Vec>, - known_nodes_without_stake: Vec, my_own_validator_config: PublicValidatorConfig, da_staked_committee_size: usize, fixed_leader_for_gpuvid: usize, next_view_timeout: u64, view_sync_timeout: Duration, - timeout_ratio: (u64, u64), - round_start_delay: u64, - start_delay: u64, num_bootstrap: usize, builder_timeout: Duration, data_request_delay: Duration, @@ -247,20 +242,15 @@ impl From> for PublicHotShotConfig { // if new fields are added to HotShotConfig. This makes sure that we handle // all fields appropriately and do not miss any updates. let HotShotConfig:: { - execution_type, start_threshold, num_nodes_with_stake, known_nodes_with_stake, known_da_nodes, - known_nodes_without_stake, my_own_validator_config, da_staked_committee_size, fixed_leader_for_gpuvid, next_view_timeout, view_sync_timeout, - timeout_ratio, - round_start_delay, - start_delay, num_bootstrap, builder_timeout, data_request_delay, @@ -277,20 +267,15 @@ impl From> for PublicHotShotConfig { } = v; Self { - execution_type, start_threshold, num_nodes_with_stake, known_nodes_with_stake, known_da_nodes, - known_nodes_without_stake, my_own_validator_config: my_own_validator_config.into(), da_staked_committee_size, fixed_leader_for_gpuvid, next_view_timeout, view_sync_timeout, - timeout_ratio, - round_start_delay, - start_delay, num_bootstrap, builder_timeout, data_request_delay, @@ -314,20 +299,15 @@ impl PublicHotShotConfig { my_own_validator_config: ValidatorConfig, ) -> HotShotConfig { HotShotConfig { - execution_type: self.execution_type, start_threshold: self.start_threshold, num_nodes_with_stake: self.num_nodes_with_stake, known_nodes_with_stake: self.known_nodes_with_stake, known_da_nodes: self.known_da_nodes, - known_nodes_without_stake: self.known_nodes_without_stake, my_own_validator_config, da_staked_committee_size: self.da_staked_committee_size, fixed_leader_for_gpuvid: self.fixed_leader_for_gpuvid, next_view_timeout: self.next_view_timeout, view_sync_timeout: self.view_sync_timeout, - timeout_ratio: self.timeout_ratio, - round_start_delay: self.round_start_delay, - start_delay: self.start_delay, num_bootstrap: self.num_bootstrap, builder_timeout: self.builder_timeout, data_request_delay: self.data_request_delay, @@ -359,7 +339,6 @@ pub struct PublicNetworkConfig { node_index: u64, seed: [u8; 32], transaction_size: usize, - start_delay_seconds: u64, key_type_name: String, libp2p_config: Option, config: PublicHotShotConfig, @@ -385,7 +364,6 @@ impl From> for PublicNetworkConfig { node_index: cfg.node_index, seed: cfg.seed, transaction_size: cfg.transaction_size, - start_delay_seconds: cfg.start_delay_seconds, key_type_name: cfg.key_type_name, libp2p_config: cfg.libp2p_config, config: cfg.config.into(), @@ -426,7 +404,6 @@ impl PublicNetworkConfig { node_index, seed: self.seed, transaction_size: self.transaction_size, - start_delay_seconds: self.start_delay_seconds, key_type_name: self.key_type_name, libp2p_config: self.libp2p_config, config: self.config.into_hotshot_config(my_own_validator_config), diff --git a/sequencer/src/bin/orchestrator.rs b/sequencer/src/bin/orchestrator.rs index aebe45bab2..3483d967a9 100644 --- a/sequencer/src/bin/orchestrator.rs +++ b/sequencer/src/bin/orchestrator.rs @@ -118,7 +118,6 @@ async fn main() { args.logging.init(); let mut config = NetworkConfig:: { - start_delay_seconds: args.start_delay.as_secs(), manual_start_password: args.manual_start_password, indexed_da: false, ..Default::default() @@ -132,13 +131,9 @@ async fn main() { config.config.num_nodes_with_stake = args.num_nodes; config.config.known_nodes_with_stake = vec![Default::default(); args.num_nodes.get()]; config.config.known_da_nodes = Vec::new(); - config.config.known_nodes_without_stake = vec![]; config.config.next_view_timeout = args.next_view_timeout.as_millis() as u64; config.libp2p_config = Some(libp2p_config); - config.config.timeout_ratio = args.timeout_ratio.into(); config.config.start_threshold = args.start_threshold.into(); - config.config.round_start_delay = args.round_start_delay.as_millis() as u64; - config.config.start_delay = args.start_delay.as_millis() as u64; config.config.da_staked_committee_size = args.num_nodes.get(); config.config.builder_urls = Vec1::try_from_vec(args.builder_urls).unwrap(); config.config.builder_timeout = args.builder_timeout; diff --git a/sequencer/src/block/full_payload/payload.rs b/sequencer/src/block/full_payload/payload.rs index 52c45abe46..bc1101887e 100644 --- a/sequencer/src/block/full_payload/payload.rs +++ b/sequencer/src/block/full_payload/payload.rs @@ -102,13 +102,8 @@ impl Payload { // add each tx to its namespace let mut ns_builders = BTreeMap::::new(); for tx in transactions.into_iter() { - // accounting for block byte length limit - block_byte_len += tx.payload().len() + NsPayloadBuilder::tx_table_entry_byte_len(); - if !ns_builders.contains_key(&tx.namespace()) { - // each new namespace adds overhead - block_byte_len += - NsTableBuilder::entry_byte_len() + NsPayloadBuilder::tx_table_header_byte_len(); - } + // accounting for block byte length limit + block_byte_len += tx.size_in_block(!ns_builders.contains_key(&tx.namespace())); if block_byte_len > max_block_byte_len { tracing::warn!("transactions truncated to fit in maximum block byte length {max_block_byte_len}"); break; diff --git a/sequencer/src/lib.rs b/sequencer/src/lib.rs index 9cf254cd6b..dc01c5e199 100644 --- a/sequencer/src/lib.rs +++ b/sequencer/src/lib.rs @@ -563,7 +563,7 @@ pub mod testing { node_implementation::ConsensusTime, stake_table::StakeTableScheme, }, - ExecutionType, HotShotConfig, PeerConfig, + HotShotConfig, PeerConfig, }; use marketplace_builder_core::{ builder_state::BuilderState, @@ -798,15 +798,10 @@ pub mod testing { let config: HotShotConfig = HotShotConfig { fixed_leader_for_gpuvid: 0, - execution_type: ExecutionType::Continuous, num_nodes_with_stake: num_nodes.try_into().unwrap(), known_da_nodes: known_nodes_with_stake.clone(), known_nodes_with_stake: known_nodes_with_stake.clone(), - known_nodes_without_stake: vec![], next_view_timeout: Duration::from_secs(5).as_millis() as u64, - timeout_ratio: (10, 11), - round_start_delay: Duration::from_millis(1).as_millis() as u64, - start_delay: Duration::from_millis(1).as_millis() as u64, num_bootstrap: 1usize, da_staked_committee_size: num_nodes, my_own_validator_config: Default::default(), diff --git a/sequencer/src/persistence/sql.rs b/sequencer/src/persistence/sql.rs index ff0d9d04c5..f018fea6e5 100644 --- a/sequencer/src/persistence/sql.rs +++ b/sequencer/src/persistence/sql.rs @@ -28,7 +28,6 @@ use hotshot_types::{ utils::View, vote::HasViewNumber, }; -use sqlx::Postgres; use sqlx::Row; use sqlx::{query, Executor}; use std::{collections::BTreeMap, time::Duration}; @@ -119,7 +118,7 @@ pub struct Options { pub(crate) archive: bool, } -impl TryFrom for Config { +impl TryFrom for Config { type Error = anyhow::Error; fn try_from(opt: Options) -> Result { diff --git a/sequencer/src/restart_tests.rs b/sequencer/src/restart_tests.rs index 82bca2aea7..fec4034326 100644 --- a/sequencer/src/restart_tests.rs +++ b/sequencer/src/restart_tests.rs @@ -816,7 +816,6 @@ fn start_orchestrator(port: u16, nodes: &[NodeParams], builder_port: u16) -> Joi config.config.da_staked_committee_size = num_nodes; config.config.known_nodes_with_stake = vec![]; config.config.known_da_nodes = vec![]; - config.config.known_nodes_without_stake = vec![]; config.config.next_view_timeout = view_timeout.as_millis() as u64; config.config.builder_timeout = builder_timeout; config.config.builder_urls = vec1![format!("http://localhost:{builder_port}").parse().unwrap()]; diff --git a/types/src/v0/impls/block/full_payload/payload.rs b/types/src/v0/impls/block/full_payload/payload.rs index d40be7d4ed..5948467837 100644 --- a/types/src/v0/impls/block/full_payload/payload.rs +++ b/types/src/v0/impls/block/full_payload/payload.rs @@ -13,11 +13,12 @@ use jf_vid::VidScheme; use sha2::Digest; use thiserror::Error; +use crate::Transaction; use crate::{ v0::impls::{NodeState, ValidatedState}, v0_1::ChainConfig, Index, Iter, NamespaceId, NsIndex, NsPayload, NsPayloadBuilder, NsPayloadRange, NsTable, - NsTableBuilder, Payload, PayloadByteLen, SeqTypes, Transaction, TxProof, + NsTableBuilder, Payload, PayloadByteLen, SeqTypes, TxProof, }; #[derive(serde::Deserialize, serde::Serialize, Error, Debug, Eq, PartialEq)] @@ -79,23 +80,16 @@ impl Payload { >::Error, > { // accounting for block byte length limit - let max_block_byte_len: usize = u64::from(chain_config.max_block_size) - .try_into() - .expect("too large max block size for architecture"); - let mut block_byte_len = NsTableBuilder::header_byte_len(); + let max_block_byte_len = u64::from(chain_config.max_block_size); + let mut block_byte_len = NsTableBuilder::header_byte_len() as u64; // add each tx to its namespace let mut ns_builders = BTreeMap::::new(); for tx in transactions.into_iter() { - let mut tx_size = tx.payload().len() + NsPayloadBuilder::tx_table_entry_byte_len(); - if !ns_builders.contains_key(&tx.namespace()) { - // each new namespace adds overhead - tx_size += - NsTableBuilder::entry_byte_len() + NsPayloadBuilder::tx_table_header_byte_len(); - } + let tx_size = tx.size_in_block(!ns_builders.contains_key(&tx.namespace())); if tx_size > max_block_byte_len { - // skip this transaction since it excceds the block size limit + // skip this transaction since it exceeds the block size limit tracing::warn!( "skip the transaction to fit in maximum block byte length {max_block_byte_len}, transaction size {tx_size}" ); diff --git a/types/src/v0/impls/transaction.rs b/types/src/v0/impls/transaction.rs index 32c2cc0c0d..663c0365c6 100644 --- a/types/src/v0/impls/transaction.rs +++ b/types/src/v0/impls/transaction.rs @@ -5,6 +5,8 @@ use serde::{de::Error, Deserialize, Deserializer}; use crate::{NamespaceId, Transaction}; +use super::{NsPayloadBuilder, NsTableBuilder}; + impl From for NamespaceId { fn from(value: u32) -> Self { Self(value as u64) @@ -60,6 +62,16 @@ impl Transaction { self.payload } + pub fn size_in_block(&self, new_ns: bool) -> u64 { + if new_ns { + // each new namespace adds overhead + // here self.minimum_block_size() = `self.payload().len() + NsPayloadBuilder::tx_table_entry_byte_len() + NsTableBuilder::entry_byte_len() + NsPayloadBuilder::tx_table_header_byte_len()` + self.minimum_block_size() + } else { + (self.payload().len() + NsPayloadBuilder::tx_table_entry_byte_len()) as u64 + } + } + #[cfg(any(test, feature = "testing"))] pub fn random(rng: &mut dyn rand::RngCore) -> Self { use rand::Rng; @@ -79,7 +91,15 @@ impl Transaction { } } -impl HotShotTransaction for Transaction {} +impl HotShotTransaction for Transaction { + fn minimum_block_size(&self) -> u64 { + let len = self.payload().len() + + NsPayloadBuilder::tx_table_entry_byte_len() + + NsTableBuilder::entry_byte_len() + + NsPayloadBuilder::tx_table_header_byte_len(); + len as u64 + } +} impl Committable for Transaction { fn commit(&self) -> Commitment {