mirror of
https://github.com/logos-blockchain/logos-blockchain-testing.git
synced 2026-01-05 23:03:07 +00:00
Align workflows and configs with latest nomos-node rev
This commit is contained in:
parent
7c3fd6c5ac
commit
ce5f2146ae
@ -14,6 +14,7 @@ ignore = [
|
|||||||
"RUSTSEC-2024-0436", # paste unmaintained; upstream dependency
|
"RUSTSEC-2024-0436", # paste unmaintained; upstream dependency
|
||||||
"RUSTSEC-2025-0012", # backoff unmaintained; upstream workspace still relies on it
|
"RUSTSEC-2025-0012", # backoff unmaintained; upstream workspace still relies on it
|
||||||
"RUSTSEC-2025-0055", # tracing-subscriber ansi escape issue; upstream dependency
|
"RUSTSEC-2025-0055", # tracing-subscriber ansi escape issue; upstream dependency
|
||||||
|
"RUSTSEC-2025-0134", # rustls-pemfile unmaintained; transitive via rustls stack
|
||||||
]
|
]
|
||||||
yanked = "deny"
|
yanked = "deny"
|
||||||
|
|
||||||
|
|||||||
7
.github/workflows/build-binaries.yml
vendored
7
.github/workflows/build-binaries.yml
vendored
@ -5,7 +5,7 @@ on:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
NOMOS_NODE_REV: 2f60a0372c228968c3526c341ebc7e58bbd178dd
|
NOMOS_NODE_REV: d2dd5a5084e1daef4032562c77d41de5e4d495f8
|
||||||
NOMOS_BUNDLE_VERSION: v4
|
NOMOS_BUNDLE_VERSION: v4
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@ -67,17 +67,12 @@ jobs:
|
|||||||
# Work around flate2 1.1.6 ambiguity issues by pinning to a fixed release.
|
# Work around flate2 1.1.6 ambiguity issues by pinning to a fixed release.
|
||||||
cargo +nightly-2025-09-14 update -p flate2 --precise 1.1.5
|
cargo +nightly-2025-09-14 update -p flate2 --precise 1.1.5
|
||||||
cargo +nightly-2025-09-14 build --all-features --bins
|
cargo +nightly-2025-09-14 build --all-features --bins
|
||||||
- name: Build local runner from workspace
|
|
||||||
run: |
|
|
||||||
cd "${GITHUB_WORKSPACE}"
|
|
||||||
cargo +nightly-2025-09-14 build --all-features -p runner-examples --bin local_runner
|
|
||||||
- name: Package binaries
|
- name: Package binaries
|
||||||
run: |
|
run: |
|
||||||
mkdir -p artifacts
|
mkdir -p artifacts
|
||||||
cp "${CARGO_TARGET_DIR}/debug/nomos-node" artifacts/
|
cp "${CARGO_TARGET_DIR}/debug/nomos-node" artifacts/
|
||||||
cp "${CARGO_TARGET_DIR}/debug/nomos-executor" artifacts/
|
cp "${CARGO_TARGET_DIR}/debug/nomos-executor" artifacts/
|
||||||
cp "${CARGO_TARGET_DIR}/debug/nomos-cli" artifacts/
|
cp "${CARGO_TARGET_DIR}/debug/nomos-cli" artifacts/
|
||||||
cp "${CARGO_TARGET_DIR}/debug/local_runner" artifacts/
|
|
||||||
mkdir -p artifacts/circuits
|
mkdir -p artifacts/circuits
|
||||||
rsync -a "$NOMOS_CIRCUITS"/ artifacts/circuits/
|
rsync -a "$NOMOS_CIRCUITS"/ artifacts/circuits/
|
||||||
tar -czf nomos-binaries.tar.gz -C artifacts .
|
tar -czf nomos-binaries.tar.gz -C artifacts .
|
||||||
|
|||||||
2
.github/workflows/lint.yml
vendored
2
.github/workflows/lint.yml
vendored
@ -7,7 +7,7 @@ on:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
NOMOS_NODE_REV: 2f60a0372c228968c3526c341ebc7e58bbd178dd
|
NOMOS_NODE_REV: d2dd5a5084e1daef4032562c77d41de5e4d495f8
|
||||||
NOMOS_BUNDLE_VERSION: v4
|
NOMOS_BUNDLE_VERSION: v4
|
||||||
permissions:
|
permissions:
|
||||||
actions: read
|
actions: read
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -12,6 +12,8 @@ ci-artifacts/
|
|||||||
tests/kzgrs/circuits_bundle/
|
tests/kzgrs/circuits_bundle/
|
||||||
NOMOS_RUST_SOURCES_ONLY.txt
|
NOMOS_RUST_SOURCES_ONLY.txt
|
||||||
dump.zsh
|
dump.zsh
|
||||||
|
testing-framework/assets/stack/bin/
|
||||||
|
testing-framework/assets/stack/kzgrs_test_params/
|
||||||
|
|
||||||
# Local test artifacts (kept when NOMOS_TESTS_KEEP_LOGS=1)
|
# Local test artifacts (kept when NOMOS_TESTS_KEEP_LOGS=1)
|
||||||
tests/workflows/.tmp*
|
tests/workflows/.tmp*
|
||||||
|
|||||||
241
Cargo.lock
generated
241
Cargo.lock
generated
@ -851,7 +851,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "broadcast-service"
|
name = "broadcast-service"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"derivative",
|
"derivative",
|
||||||
@ -990,7 +990,7 @@ dependencies = [
|
|||||||
"clap",
|
"clap",
|
||||||
"groth16",
|
"groth16",
|
||||||
"hex",
|
"hex",
|
||||||
"key-management-system",
|
"key-management-system-service",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-da-network-core",
|
"nomos-da-network-core",
|
||||||
"nomos-executor",
|
"nomos-executor",
|
||||||
@ -1014,7 +1014,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "chain-common"
|
name = "chain-common"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"serde",
|
"serde",
|
||||||
@ -1023,7 +1023,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "chain-leader"
|
name = "chain-leader"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"chain-common",
|
"chain-common",
|
||||||
@ -1051,7 +1051,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "chain-network"
|
name = "chain-network"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"chain-common",
|
"chain-common",
|
||||||
@ -1080,7 +1080,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "chain-service"
|
name = "chain-service"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"broadcast-service",
|
"broadcast-service",
|
||||||
@ -1181,7 +1181,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "circuits-prover"
|
name = "circuits-prover"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"circuits-utils",
|
"circuits-utils",
|
||||||
"tempfile",
|
"tempfile",
|
||||||
@ -1190,7 +1190,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "circuits-utils"
|
name = "circuits-utils"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dirs",
|
"dirs",
|
||||||
]
|
]
|
||||||
@ -1260,7 +1260,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "common-http-client"
|
name = "common-http-client"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"broadcast-service",
|
"broadcast-service",
|
||||||
"futures",
|
"futures",
|
||||||
@ -1447,7 +1447,7 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "cryptarchia-engine"
|
name = "cryptarchia-engine"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg_eval",
|
"cfg_eval",
|
||||||
"nomos-utils",
|
"nomos-utils",
|
||||||
@ -1462,7 +1462,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "cryptarchia-sync"
|
name = "cryptarchia-sync"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"cryptarchia-engine",
|
"cryptarchia-engine",
|
||||||
@ -1966,7 +1966,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "executor-http-client"
|
name = "executor-http-client"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"common-http-client",
|
"common-http-client",
|
||||||
"futures",
|
"futures",
|
||||||
@ -2358,7 +2358,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "groth16"
|
name = "groth16"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ark-bn254 0.4.0",
|
"ark-bn254 0.4.0",
|
||||||
"ark-ec 0.4.2",
|
"ark-ec 0.4.2",
|
||||||
@ -3281,22 +3281,19 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "key-management-system"
|
name = "key-management-system-keys"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bytes",
|
"bytes",
|
||||||
"ed25519-dalek",
|
"ed25519-dalek",
|
||||||
"groth16",
|
"groth16",
|
||||||
"key-management-system-macros",
|
"key-management-system-macros",
|
||||||
"log",
|
"nomos-blend-proofs",
|
||||||
"nomos-blend-message",
|
|
||||||
"nomos-utils",
|
"nomos-utils",
|
||||||
"overwatch",
|
|
||||||
"poq",
|
|
||||||
"poseidon2",
|
|
||||||
"serde",
|
"serde",
|
||||||
|
"subtle",
|
||||||
"thiserror 2.0.17",
|
"thiserror 2.0.17",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing",
|
||||||
@ -3307,13 +3304,28 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "key-management-system-macros"
|
name = "key-management-system-macros"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.111",
|
"syn 2.0.111",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "key-management-system-service"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
|
dependencies = [
|
||||||
|
"async-trait",
|
||||||
|
"key-management-system-keys",
|
||||||
|
"log",
|
||||||
|
"overwatch",
|
||||||
|
"serde",
|
||||||
|
"thiserror 2.0.17",
|
||||||
|
"tokio",
|
||||||
|
"tracing",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "kube"
|
name = "kube"
|
||||||
version = "0.87.2"
|
version = "0.87.2"
|
||||||
@ -3408,7 +3420,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "kzgrs"
|
name = "kzgrs"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ark-bls12-381",
|
"ark-bls12-381",
|
||||||
"ark-ec 0.4.2",
|
"ark-ec 0.4.2",
|
||||||
@ -3427,7 +3439,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "kzgrs-backend"
|
name = "kzgrs-backend"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ark-ff 0.4.2",
|
"ark-ff 0.4.2",
|
||||||
"ark-poly 0.4.2",
|
"ark-poly 0.4.2",
|
||||||
@ -4066,7 +4078,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "mmr"
|
name = "mmr"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ark-ff 0.4.2",
|
"ark-ff 0.4.2",
|
||||||
"groth16",
|
"groth16",
|
||||||
@ -4353,7 +4365,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-api"
|
name = "nomos-api"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"broadcast-service",
|
"broadcast-service",
|
||||||
@ -4383,57 +4395,111 @@ dependencies = [
|
|||||||
"utoipa-swagger-ui",
|
"utoipa-swagger-ui",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nomos-blend"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
|
dependencies = [
|
||||||
|
"nomos-blend-crypto",
|
||||||
|
"nomos-blend-message",
|
||||||
|
"nomos-blend-network",
|
||||||
|
"nomos-blend-proofs",
|
||||||
|
"nomos-blend-scheduling",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nomos-blend-crypto"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
|
dependencies = [
|
||||||
|
"blake2",
|
||||||
|
"ed25519-dalek",
|
||||||
|
"groth16",
|
||||||
|
"nomos-utils",
|
||||||
|
"poq",
|
||||||
|
"poseidon2",
|
||||||
|
"rs-merkle-tree",
|
||||||
|
"serde",
|
||||||
|
"subtle",
|
||||||
|
"thiserror 1.0.69",
|
||||||
|
"x25519-dalek",
|
||||||
|
"zeroize",
|
||||||
|
"zksign",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-blend-message"
|
name = "nomos-blend-message"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"blake2",
|
"blake2",
|
||||||
"derivative",
|
"derivative",
|
||||||
"ed25519-dalek",
|
"ed25519-dalek",
|
||||||
"generic-array 1.3.5",
|
|
||||||
"groth16",
|
"groth16",
|
||||||
|
"hex",
|
||||||
"itertools 0.14.0",
|
"itertools 0.14.0",
|
||||||
|
"key-management-system-keys",
|
||||||
|
"nomos-blend-crypto",
|
||||||
|
"nomos-blend-proofs",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-utils",
|
"nomos-utils",
|
||||||
"num-bigint",
|
|
||||||
"poq",
|
|
||||||
"serde",
|
"serde",
|
||||||
|
"serde-big-array",
|
||||||
"serde_with",
|
"serde_with",
|
||||||
"thiserror 1.0.69",
|
"thiserror 1.0.69",
|
||||||
"tracing",
|
"tracing",
|
||||||
"x25519-dalek",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-blend-network"
|
name = "nomos-blend-network"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"either",
|
"either",
|
||||||
"futures",
|
"futures",
|
||||||
"futures-timer",
|
"futures-timer",
|
||||||
|
"key-management-system-keys",
|
||||||
"libp2p",
|
"libp2p",
|
||||||
|
"nomos-blend-crypto",
|
||||||
"nomos-blend-message",
|
"nomos-blend-message",
|
||||||
|
"nomos-blend-proofs",
|
||||||
"nomos-blend-scheduling",
|
"nomos-blend-scheduling",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-libp2p",
|
"nomos-libp2p",
|
||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nomos-blend-proofs"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
|
dependencies = [
|
||||||
|
"generic-array 1.3.5",
|
||||||
|
"groth16",
|
||||||
|
"nomos-blend-crypto",
|
||||||
|
"num-bigint",
|
||||||
|
"poq",
|
||||||
|
"serde",
|
||||||
|
"thiserror 1.0.69",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-blend-scheduling"
|
name = "nomos-blend-scheduling"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"derivative",
|
"derivative",
|
||||||
"fork_stream",
|
"fork_stream",
|
||||||
"futures",
|
"futures",
|
||||||
"hex",
|
"key-management-system-keys",
|
||||||
"multiaddr",
|
"multiaddr",
|
||||||
|
"nomos-blend-crypto",
|
||||||
"nomos-blend-message",
|
"nomos-blend-message",
|
||||||
|
"nomos-blend-proofs",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
|
"nomos-utils",
|
||||||
"rand 0.8.5",
|
"rand 0.8.5",
|
||||||
"serde",
|
"serde",
|
||||||
"thiserror 1.0.69",
|
"thiserror 1.0.69",
|
||||||
@ -4445,7 +4511,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-blend-service"
|
name = "nomos-blend-service"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"broadcast-service",
|
"broadcast-service",
|
||||||
@ -4454,12 +4520,10 @@ dependencies = [
|
|||||||
"fork_stream",
|
"fork_stream",
|
||||||
"futures",
|
"futures",
|
||||||
"groth16",
|
"groth16",
|
||||||
"key-management-system",
|
"key-management-system-service",
|
||||||
"libp2p",
|
"libp2p",
|
||||||
"libp2p-stream",
|
"libp2p-stream",
|
||||||
"nomos-blend-message",
|
"nomos-blend",
|
||||||
"nomos-blend-network",
|
|
||||||
"nomos-blend-scheduling",
|
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-ledger",
|
"nomos-ledger",
|
||||||
"nomos-libp2p",
|
"nomos-libp2p",
|
||||||
@ -4469,7 +4533,6 @@ dependencies = [
|
|||||||
"overwatch",
|
"overwatch",
|
||||||
"poq",
|
"poq",
|
||||||
"rand 0.8.5",
|
"rand 0.8.5",
|
||||||
"rs-merkle-tree",
|
|
||||||
"serde",
|
"serde",
|
||||||
"serde_with",
|
"serde_with",
|
||||||
"services-utils",
|
"services-utils",
|
||||||
@ -4483,7 +4546,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-core"
|
name = "nomos-core"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ark-ff 0.4.2",
|
"ark-ff 0.4.2",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@ -4500,6 +4563,9 @@ dependencies = [
|
|||||||
"hex",
|
"hex",
|
||||||
"multiaddr",
|
"multiaddr",
|
||||||
"nom 8.0.0",
|
"nom 8.0.0",
|
||||||
|
"nomos-blend-crypto",
|
||||||
|
"nomos-blend-proofs",
|
||||||
|
"nomos-utils",
|
||||||
"num-bigint",
|
"num-bigint",
|
||||||
"pol",
|
"pol",
|
||||||
"poseidon2",
|
"poseidon2",
|
||||||
@ -4514,7 +4580,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-da-dispersal"
|
name = "nomos-da-dispersal"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"broadcast-service",
|
"broadcast-service",
|
||||||
@ -4542,7 +4608,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-da-messages"
|
name = "nomos-da-messages"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"blake2",
|
"blake2",
|
||||||
"futures",
|
"futures",
|
||||||
@ -4555,7 +4621,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-da-network-core"
|
name = "nomos-da-network-core"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cached",
|
"cached",
|
||||||
"either",
|
"either",
|
||||||
@ -4583,7 +4649,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-da-network-service"
|
name = "nomos-da-network-service"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arc-swap",
|
"arc-swap",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@ -4620,7 +4686,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-da-sampling"
|
name = "nomos-da-sampling"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -4648,7 +4714,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-da-verifier"
|
name = "nomos-da-verifier"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"futures",
|
"futures",
|
||||||
@ -4675,7 +4741,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-executor"
|
name = "nomos-executor"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum",
|
"axum",
|
||||||
@ -4715,7 +4781,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-http-api-common"
|
name = "nomos-http-api-common"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"axum",
|
"axum",
|
||||||
"governor",
|
"governor",
|
||||||
@ -4731,12 +4797,15 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-ledger"
|
name = "nomos-ledger"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cryptarchia-engine",
|
"cryptarchia-engine",
|
||||||
"ed25519",
|
"ed25519",
|
||||||
"groth16",
|
"groth16",
|
||||||
"mmr",
|
"mmr",
|
||||||
|
"nomos-blend-crypto",
|
||||||
|
"nomos-blend-message",
|
||||||
|
"nomos-blend-proofs",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-utils",
|
"nomos-utils",
|
||||||
"num-bigint",
|
"num-bigint",
|
||||||
@ -4744,6 +4813,7 @@ dependencies = [
|
|||||||
"rpds",
|
"rpds",
|
||||||
"serde",
|
"serde",
|
||||||
"thiserror 1.0.69",
|
"thiserror 1.0.69",
|
||||||
|
"tracing",
|
||||||
"utxotree",
|
"utxotree",
|
||||||
"zksign",
|
"zksign",
|
||||||
]
|
]
|
||||||
@ -4751,7 +4821,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-libp2p"
|
name = "nomos-libp2p"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"backon",
|
"backon",
|
||||||
@ -4780,7 +4850,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-network"
|
name = "nomos-network"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"cryptarchia-sync",
|
"cryptarchia-sync",
|
||||||
@ -4799,7 +4869,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-node"
|
name = "nomos-node"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"axum",
|
"axum",
|
||||||
@ -4809,16 +4879,16 @@ dependencies = [
|
|||||||
"chain-service",
|
"chain-service",
|
||||||
"clap",
|
"clap",
|
||||||
"color-eyre",
|
"color-eyre",
|
||||||
|
"cryptarchia-engine",
|
||||||
"derivative",
|
"derivative",
|
||||||
"futures",
|
"futures",
|
||||||
"groth16",
|
"groth16",
|
||||||
"hex",
|
"hex",
|
||||||
"http 1.4.0",
|
"http 1.4.0",
|
||||||
"key-management-system",
|
"key-management-system-service",
|
||||||
"kzgrs-backend",
|
"kzgrs-backend",
|
||||||
"nomos-api",
|
"nomos-api",
|
||||||
"nomos-blend-message",
|
"nomos-blend",
|
||||||
"nomos-blend-scheduling",
|
|
||||||
"nomos-blend-service",
|
"nomos-blend-service",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-da-messages",
|
"nomos-da-messages",
|
||||||
@ -4827,6 +4897,7 @@ dependencies = [
|
|||||||
"nomos-da-sampling",
|
"nomos-da-sampling",
|
||||||
"nomos-da-verifier",
|
"nomos-da-verifier",
|
||||||
"nomos-http-api-common",
|
"nomos-http-api-common",
|
||||||
|
"nomos-ledger",
|
||||||
"nomos-libp2p",
|
"nomos-libp2p",
|
||||||
"nomos-network",
|
"nomos-network",
|
||||||
"nomos-sdp",
|
"nomos-sdp",
|
||||||
@ -4862,7 +4933,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-sdp"
|
name = "nomos-sdp"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"ed25519-dalek",
|
"ed25519-dalek",
|
||||||
@ -4881,7 +4952,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-storage"
|
name = "nomos-storage"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -4901,7 +4972,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-system-sig"
|
name = "nomos-system-sig"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-ctrlc",
|
"async-ctrlc",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
@ -4912,7 +4983,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-time"
|
name = "nomos-time"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"cfg_eval",
|
"cfg_eval",
|
||||||
@ -4934,7 +5005,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-tracing"
|
name = "nomos-tracing"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"opentelemetry",
|
"opentelemetry",
|
||||||
"opentelemetry-http",
|
"opentelemetry-http",
|
||||||
@ -4957,7 +5028,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-tracing-service"
|
name = "nomos-tracing-service"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"nomos-tracing",
|
"nomos-tracing",
|
||||||
@ -4971,7 +5042,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-utils"
|
name = "nomos-utils"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"blake2",
|
"blake2",
|
||||||
@ -4988,7 +5059,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "nomos-wallet"
|
name = "nomos-wallet"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"bytes",
|
"bytes",
|
||||||
@ -4996,7 +5067,7 @@ dependencies = [
|
|||||||
"futures",
|
"futures",
|
||||||
"groth16",
|
"groth16",
|
||||||
"hex",
|
"hex",
|
||||||
"key-management-system",
|
"key-management-system-service",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-ledger",
|
"nomos-ledger",
|
||||||
"nomos-storage",
|
"nomos-storage",
|
||||||
@ -5548,7 +5619,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "pol"
|
name = "pol"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"circuits-prover",
|
"circuits-prover",
|
||||||
"circuits-utils",
|
"circuits-utils",
|
||||||
@ -5578,7 +5649,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "poq"
|
name = "poq"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"circuits-prover",
|
"circuits-prover",
|
||||||
"circuits-utils",
|
"circuits-utils",
|
||||||
@ -5600,7 +5671,7 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "poseidon2"
|
name = "poseidon2"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ark-bn254 0.4.0",
|
"ark-bn254 0.4.0",
|
||||||
"ark-ff 0.4.2",
|
"ark-ff 0.4.2",
|
||||||
@ -6595,6 +6666,15 @@ dependencies = [
|
|||||||
"serde_derive",
|
"serde_derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde-big-array"
|
||||||
|
version = "0.5.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde-value"
|
name = "serde-value"
|
||||||
version = "0.7.0"
|
version = "0.7.0"
|
||||||
@ -6729,7 +6809,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "services-utils"
|
name = "services-utils"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"futures",
|
"futures",
|
||||||
@ -6932,7 +7012,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "subnetworks-assignations"
|
name = "subnetworks-assignations"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"counter",
|
"counter",
|
||||||
"libp2p-identity",
|
"libp2p-identity",
|
||||||
@ -7114,9 +7194,8 @@ dependencies = [
|
|||||||
"ed25519-dalek",
|
"ed25519-dalek",
|
||||||
"groth16",
|
"groth16",
|
||||||
"hex",
|
"hex",
|
||||||
"key-management-system",
|
"key-management-system-service",
|
||||||
"nomos-api",
|
"nomos-api",
|
||||||
"nomos-blend-message",
|
|
||||||
"nomos-blend-service",
|
"nomos-blend-service",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-da-dispersal",
|
"nomos-da-dispersal",
|
||||||
@ -7155,7 +7234,7 @@ dependencies = [
|
|||||||
"futures",
|
"futures",
|
||||||
"groth16",
|
"groth16",
|
||||||
"hex",
|
"hex",
|
||||||
"key-management-system",
|
"key-management-system-service",
|
||||||
"kzgrs-backend",
|
"kzgrs-backend",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-da-network-core",
|
"nomos-da-network-core",
|
||||||
@ -7258,7 +7337,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "tests"
|
name = "tests"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"blst",
|
"blst",
|
||||||
@ -7275,10 +7354,10 @@ dependencies = [
|
|||||||
"futures-util",
|
"futures-util",
|
||||||
"groth16",
|
"groth16",
|
||||||
"hex",
|
"hex",
|
||||||
"key-management-system",
|
"key-management-system-service",
|
||||||
"kzgrs-backend",
|
"kzgrs-backend",
|
||||||
"nomos-api",
|
"nomos-api",
|
||||||
"nomos-blend-message",
|
"nomos-blend",
|
||||||
"nomos-blend-service",
|
"nomos-blend-service",
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-da-dispersal",
|
"nomos-da-dispersal",
|
||||||
@ -7288,7 +7367,6 @@ dependencies = [
|
|||||||
"nomos-da-verifier",
|
"nomos-da-verifier",
|
||||||
"nomos-executor",
|
"nomos-executor",
|
||||||
"nomos-http-api-common",
|
"nomos-http-api-common",
|
||||||
"nomos-ledger",
|
|
||||||
"nomos-libp2p",
|
"nomos-libp2p",
|
||||||
"nomos-network",
|
"nomos-network",
|
||||||
"nomos-node",
|
"nomos-node",
|
||||||
@ -7896,7 +7974,7 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "tx-service"
|
name = "tx-service"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"futures",
|
"futures",
|
||||||
@ -8049,7 +8127,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "utxotree"
|
name = "utxotree"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ark-ff 0.4.2",
|
"ark-ff 0.4.2",
|
||||||
"groth16",
|
"groth16",
|
||||||
@ -8102,7 +8180,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "wallet"
|
name = "wallet"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"nomos-core",
|
"nomos-core",
|
||||||
"nomos-ledger",
|
"nomos-ledger",
|
||||||
@ -8676,7 +8754,7 @@ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "witness-generator"
|
name = "witness-generator"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"circuits-utils",
|
"circuits-utils",
|
||||||
"tempfile",
|
"tempfile",
|
||||||
@ -8706,6 +8784,7 @@ dependencies = [
|
|||||||
"curve25519-dalek",
|
"curve25519-dalek",
|
||||||
"rand_core 0.6.4",
|
"rand_core 0.6.4",
|
||||||
"serde",
|
"serde",
|
||||||
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -8885,7 +8964,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "zksign"
|
name = "zksign"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/logos-co/nomos-node.git?rev=2f60a0372c228968c3526c341ebc7e58bbd178dd#2f60a0372c228968c3526c341ebc7e58bbd178dd"
|
source = "git+https://github.com/logos-co/nomos-node.git?rev=d2dd5a5084e1daef4032562c77d41de5e4d495f8#d2dd5a5084e1daef4032562c77d41de5e4d495f8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ark-ff 0.4.2",
|
"ark-ff 0.4.2",
|
||||||
"circuits-prover",
|
"circuits-prover",
|
||||||
|
|||||||
82
Cargo.toml
82
Cargo.toml
@ -37,50 +37,50 @@ testing-framework-runner-local = { default-features = false, path = "testing-f
|
|||||||
testing-framework-workflows = { default-features = false, path = "testing-framework/workflows" }
|
testing-framework-workflows = { default-features = false, path = "testing-framework/workflows" }
|
||||||
|
|
||||||
# Nomos git dependencies (pinned to latest master)
|
# Nomos git dependencies (pinned to latest master)
|
||||||
broadcast-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
broadcast-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
cfgsync = { default-features = false, path = "testing-framework/tools/cfgsync" }
|
cfgsync = { default-features = false, path = "testing-framework/tools/cfgsync" }
|
||||||
chain-leader = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd", features = [
|
chain-leader = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8", features = [
|
||||||
"pol-dev-mode",
|
"pol-dev-mode",
|
||||||
] }
|
] }
|
||||||
chain-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
chain-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
chain-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
chain-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
common-http-client = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
common-http-client = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
cryptarchia-engine = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
cryptarchia-engine = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
cryptarchia-sync = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
cryptarchia-sync = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
executor-http-client = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
executor-http-client = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
groth16 = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
groth16 = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
key-management-system = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
key-management-system-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
kzgrs = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
kzgrs = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
kzgrs-backend = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
kzgrs-backend = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-api = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-api = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-blend-message = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-blend-message = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-blend-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-blend-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-cli = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-cli = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-core = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-core = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-da-dispersal = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-da-dispersal = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-da-network-core = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-da-network-core = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-da-network-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-da-network-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-da-sampling = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-da-sampling = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-da-verifier = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-da-verifier = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-executor = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-executor = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-http-api-common = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-http-api-common = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-ledger = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-ledger = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-libp2p = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-libp2p = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-node = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-node = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-sdp = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-sdp = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-time = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-time = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-tracing = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-tracing = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-tracing-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-tracing-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-utils = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-utils = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
nomos-wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
nomos-wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
poc = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
poc = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
pol = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
pol = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
subnetworks-assignations = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
subnetworks-assignations = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
tests = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
tests = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
tx-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
tx-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
zksign = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "2f60a0372c228968c3526c341ebc7e58bbd178dd" }
|
zksign = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "d2dd5a5084e1daef4032562c77d41de5e4d495f8" }
|
||||||
|
|
||||||
# External crates
|
# External crates
|
||||||
async-trait = { default-features = false, version = "0.1" }
|
async-trait = { default-features = false, version = "0.1" }
|
||||||
|
|||||||
@ -65,8 +65,8 @@ let mut plan = ScenarioBuilder::topology_with(|t| {
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Key API Points:**
|
**Key API Points:**
|
||||||
- Topology uses `.topology().validators(N).executors(M).apply()` pattern (not `with_node_counts`)
|
- Topology uses `.topology_with(|t| { t.validators(N).executors(M) })` closure pattern
|
||||||
- Workloads are configured via extension traits (`ScenarioBuilderExt`, `ChaosBuilderExt`)
|
- Workloads are configured via `_with` closures (`transactions_with`, `da_with`, `chaos_with`)
|
||||||
- Chaos workloads require `.enable_node_control()` and a compatible runner
|
- Chaos workloads require `.enable_node_control()` and a compatible runner
|
||||||
|
|
||||||
## Deployers
|
## Deployers
|
||||||
|
|||||||
@ -52,11 +52,11 @@ ScenarioBuilder::topology_with(|t| {
|
|||||||
```rust
|
```rust
|
||||||
.enable_node_control() // Enable node control capability
|
.enable_node_control() // Enable node control capability
|
||||||
.chaos_with(|c| {
|
.chaos_with(|c| {
|
||||||
c.restart() // Random restart chaos
|
c.restart() // Random restart chaos
|
||||||
.min_delay(Duration::from_secs(30)) // Min time between restarts
|
.min_delay(Duration::from_secs(30)) // Min time between restarts
|
||||||
.max_delay(Duration::from_secs(60)) // Max time between restarts
|
.max_delay(Duration::from_secs(60)) // Max time between restarts
|
||||||
.target_cooldown(Duration::from_secs(45)) // Cooldown after restart
|
.target_cooldown(Duration::from_secs(45)) // Cooldown after restart
|
||||||
.apply()
|
.apply() // Required for chaos configuration
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -24,16 +24,16 @@ async fn load_progression_test() -> Result<(), Box<dyn std::error::Error + Send
|
|||||||
for rate in [5, 10, 20, 30] {
|
for rate in [5, 10, 20, 30] {
|
||||||
println!("Testing with rate: {}", rate);
|
println!("Testing with rate: {}", rate);
|
||||||
|
|
||||||
let mut plan = ScenarioBuilder::topology()
|
let mut plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(3)
|
.validators(3)
|
||||||
.executors(2)
|
.executors(2)
|
||||||
.apply()
|
})
|
||||||
.wallets(50)
|
.wallets(50)
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(rate)
|
txs.rate(rate)
|
||||||
.users(20)
|
.users(20)
|
||||||
.apply()
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.with_run_duration(Duration::from_secs(60))
|
.with_run_duration(Duration::from_secs(60))
|
||||||
.build();
|
.build();
|
||||||
@ -60,20 +60,20 @@ use testing_framework_workflows::ScenarioBuilderExt;
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
async fn sustained_load_test() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
async fn sustained_load_test() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
||||||
let mut plan = ScenarioBuilder::topology()
|
let mut plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(4)
|
.validators(4)
|
||||||
.executors(2)
|
.executors(2)
|
||||||
.apply()
|
})
|
||||||
.wallets(100)
|
.wallets(100)
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(15)
|
txs.rate(15)
|
||||||
.users(50)
|
.users(50)
|
||||||
.apply()
|
})
|
||||||
.da()
|
.da_with(|da| {
|
||||||
.channel_rate(2)
|
da.channel_rate(2)
|
||||||
.blob_rate(3)
|
.blob_rate(3)
|
||||||
.apply()
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.with_run_duration(Duration::from_secs(300))
|
.with_run_duration(Duration::from_secs(300))
|
||||||
.build();
|
.build();
|
||||||
@ -99,23 +99,24 @@ use testing_framework_workflows::{ScenarioBuilderExt, ChaosBuilderExt};
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
async fn aggressive_chaos_test() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
async fn aggressive_chaos_test() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
||||||
let mut plan = ScenarioBuilder::topology()
|
let mut plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(4)
|
.validators(4)
|
||||||
.executors(2)
|
.executors(2)
|
||||||
.apply()
|
})
|
||||||
.enable_node_control()
|
.enable_node_control()
|
||||||
.wallets(50)
|
.wallets(50)
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(10)
|
txs.rate(10)
|
||||||
.users(20)
|
.users(20)
|
||||||
.apply()
|
})
|
||||||
.chaos()
|
.chaos_with(|c| {
|
||||||
.restart()
|
c.restart()
|
||||||
.min_delay(Duration::from_secs(10))
|
.min_delay(Duration::from_secs(10))
|
||||||
.max_delay(Duration::from_secs(20))
|
.max_delay(Duration::from_secs(20))
|
||||||
.target_cooldown(Duration::from_secs(15))
|
.target_cooldown(Duration::from_secs(15))
|
||||||
.apply()
|
.apply()
|
||||||
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.with_run_duration(Duration::from_secs(180))
|
.with_run_duration(Duration::from_secs(180))
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@ -25,11 +25,11 @@ use testing_framework_workflows::ScenarioBuilderExt;
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
async fn simple_consensus() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
async fn simple_consensus() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
||||||
let mut plan = ScenarioBuilder::topology()
|
let mut plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(3)
|
.validators(3)
|
||||||
.executors(0)
|
.executors(0)
|
||||||
.apply()
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.with_run_duration(Duration::from_secs(30))
|
.with_run_duration(Duration::from_secs(30))
|
||||||
.build();
|
.build();
|
||||||
@ -55,16 +55,16 @@ use testing_framework_workflows::ScenarioBuilderExt;
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
async fn transaction_workload() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
async fn transaction_workload() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
||||||
let mut plan = ScenarioBuilder::topology()
|
let mut plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(2)
|
.validators(2)
|
||||||
.executors(0)
|
.executors(0)
|
||||||
.apply()
|
})
|
||||||
.wallets(20)
|
.wallets(20)
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(5)
|
txs.rate(5)
|
||||||
.users(10)
|
.users(10)
|
||||||
.apply()
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.with_run_duration(Duration::from_secs(60))
|
.with_run_duration(Duration::from_secs(60))
|
||||||
.build();
|
.build();
|
||||||
@ -90,20 +90,20 @@ use testing_framework_workflows::ScenarioBuilderExt;
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
async fn da_and_transactions() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
async fn da_and_transactions() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
||||||
let mut plan = ScenarioBuilder::topology()
|
let mut plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(3)
|
.validators(3)
|
||||||
.executors(2)
|
.executors(2)
|
||||||
.apply()
|
})
|
||||||
.wallets(30)
|
.wallets(30)
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(5)
|
txs.rate(5)
|
||||||
.users(15)
|
.users(15)
|
||||||
.apply()
|
})
|
||||||
.da()
|
.da_with(|da| {
|
||||||
.channel_rate(1)
|
da.channel_rate(1)
|
||||||
.blob_rate(2)
|
.blob_rate(2)
|
||||||
.apply()
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.with_run_duration(Duration::from_secs(90))
|
.with_run_duration(Duration::from_secs(90))
|
||||||
.build();
|
.build();
|
||||||
@ -129,23 +129,24 @@ use testing_framework_workflows::{ScenarioBuilderExt, ChaosBuilderExt};
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
async fn chaos_resilience() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
async fn chaos_resilience() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
|
||||||
let mut plan = ScenarioBuilder::topology()
|
let mut plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(4)
|
.validators(4)
|
||||||
.executors(2)
|
.executors(2)
|
||||||
.apply()
|
})
|
||||||
.enable_node_control()
|
.enable_node_control()
|
||||||
.wallets(20)
|
.wallets(20)
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(3)
|
txs.rate(3)
|
||||||
.users(10)
|
.users(10)
|
||||||
.apply()
|
})
|
||||||
.chaos()
|
.chaos_with(|c| {
|
||||||
.restart()
|
c.restart()
|
||||||
.min_delay(Duration::from_secs(20))
|
.min_delay(Duration::from_secs(20))
|
||||||
.max_delay(Duration::from_secs(40))
|
.max_delay(Duration::from_secs(40))
|
||||||
.target_cooldown(Duration::from_secs(30))
|
.target_cooldown(Duration::from_secs(30))
|
||||||
.apply()
|
.apply()
|
||||||
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.with_run_duration(Duration::from_secs(120))
|
.with_run_duration(Duration::from_secs(120))
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@ -57,13 +57,14 @@ High-level roles of the crates that make up the framework:
|
|||||||
|
|
||||||
3. **Use in examples** in `examples/src/bin/your_scenario.rs`:
|
3. **Use in examples** in `examples/src/bin/your_scenario.rs`:
|
||||||
```rust
|
```rust
|
||||||
let mut plan = ScenarioBuilder::topology()
|
let mut plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(3)
|
.validators(3)
|
||||||
.executors(0)
|
.executors(0)
|
||||||
.apply()
|
})
|
||||||
.your_workload() // Your new DSL method
|
.your_workload_with(|w| { // Your new DSL method with closure
|
||||||
.apply()
|
w.some_config()
|
||||||
|
})
|
||||||
.build();
|
.build();
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -91,14 +91,14 @@ Provides funded accounts for transaction submission.
|
|||||||
### 3. Workloads
|
### 3. Workloads
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(5) // 5 transactions per block
|
txs.rate(5) // 5 transactions per block
|
||||||
.users(8) // Use 8 of the 64 wallets
|
.users(8) // Use 8 of the 64 wallets
|
||||||
.apply()
|
})
|
||||||
.da()
|
.da_with(|da| {
|
||||||
.channel_rate(1) // 1 channel operation per block
|
da.channel_rate(1) // 1 channel operation per block
|
||||||
.blob_rate(1) // 1 blob dispersal per block
|
.blob_rate(1) // 1 blob dispersal per block
|
||||||
.apply()
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
Generates both transaction and DA traffic to stress both subsystems.
|
Generates both transaction and DA traffic to stress both subsystems.
|
||||||
|
|||||||
@ -10,14 +10,14 @@ Describe **what** you want to test, not **how** to orchestrate it:
|
|||||||
|
|
||||||
```rust
|
```rust
|
||||||
// Good: declarative
|
// Good: declarative
|
||||||
ScenarioBuilder::topology()
|
ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(2)
|
.validators(2)
|
||||||
.executors(1)
|
.executors(1)
|
||||||
.apply()
|
})
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(5) // 5 transactions per block
|
txs.rate(5) // 5 transactions per block
|
||||||
.apply()
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
@ -40,14 +40,14 @@ Reason in **blocks** and **consensus intervals**, not wall-clock seconds.
|
|||||||
|
|
||||||
```rust
|
```rust
|
||||||
// Good: protocol-oriented thinking
|
// Good: protocol-oriented thinking
|
||||||
let plan = ScenarioBuilder::topology()
|
let plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(2)
|
.validators(2)
|
||||||
.executors(1)
|
.executors(1)
|
||||||
.apply()
|
})
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(5) // 5 transactions per block
|
txs.rate(5) // 5 transactions per block
|
||||||
.apply()
|
})
|
||||||
.with_run_duration(Duration::from_secs(60)) // Let framework calculate expected blocks
|
.with_run_duration(Duration::from_secs(60)) // Let framework calculate expected blocks
|
||||||
.expect_consensus_liveness() // "Did we produce the expected blocks?"
|
.expect_consensus_liveness() // "Did we produce the expected blocks?"
|
||||||
.build();
|
.build();
|
||||||
@ -74,30 +74,34 @@ not "blocks produced in exact wall-clock seconds".
|
|||||||
**Chaos is opt-in:**
|
**Chaos is opt-in:**
|
||||||
```rust
|
```rust
|
||||||
// Separate: functional test (deterministic)
|
// Separate: functional test (deterministic)
|
||||||
let plan = ScenarioBuilder::topology()
|
let plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(2)
|
.validators(2)
|
||||||
.executors(1)
|
.executors(1)
|
||||||
.apply()
|
})
|
||||||
.transactions()
|
.transactions_with(|txs| {
|
||||||
.rate(5) // 5 transactions per block
|
txs.rate(5) // 5 transactions per block
|
||||||
.apply()
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
// Separate: chaos test (introduces randomness)
|
// Separate: chaos test (introduces randomness)
|
||||||
let chaos_plan = ScenarioBuilder::topology()
|
let chaos_plan = ScenarioBuilder::topology_with(|t| {
|
||||||
.network_star()
|
t.network_star()
|
||||||
.validators(3)
|
.validators(3)
|
||||||
.executors(2)
|
.executors(2)
|
||||||
.apply()
|
})
|
||||||
.enable_node_control()
|
.enable_node_control()
|
||||||
.chaos()
|
.chaos_with(|c| {
|
||||||
.restart()
|
c.restart()
|
||||||
.apply()
|
.min_delay(Duration::from_secs(30))
|
||||||
.transactions()
|
.max_delay(Duration::from_secs(60))
|
||||||
.rate(5) // 5 transactions per block
|
.target_cooldown(Duration::from_secs(45))
|
||||||
.apply()
|
.apply()
|
||||||
|
})
|
||||||
|
.transactions_with(|txs| {
|
||||||
|
txs.rate(5) // 5 transactions per block
|
||||||
|
})
|
||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.build();
|
.build();
|
||||||
```
|
```
|
||||||
|
|||||||
@ -65,11 +65,12 @@ async fn run_local_case(
|
|||||||
.expect_consensus_liveness()
|
.expect_consensus_liveness()
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
let deployer = LocalDeployer::default();
|
let deployer = LocalDeployer::default().with_membership_check(true);
|
||||||
info!("deploying local nodes");
|
info!("deploying local nodes");
|
||||||
let runner: Runner = deployer.deploy(&plan).await?;
|
let runner: Runner = deployer.deploy(&plan).await?;
|
||||||
info!("running scenario");
|
info!("running scenario");
|
||||||
runner.run(&mut plan).await.map(|_| ())?;
|
runner.run(&mut plan).await.map(|_| ())?;
|
||||||
|
info!("scenario complete");
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
NOMOS_NODE_REV="${NOMOS_NODE_REV:-2f60a0372c228968c3526c341ebc7e58bbd178dd}"
|
NOMOS_NODE_REV="${NOMOS_NODE_REV:-d2dd5a5084e1daef4032562c77d41de5e4d495f8}"
|
||||||
NOMOS_CIRCUITS_VERSION="${NOMOS_CIRCUITS_VERSION:-v0.3.1}"
|
NOMOS_CIRCUITS_VERSION="${NOMOS_CIRCUITS_VERSION:-v0.3.1}"
|
||||||
NOMOS_BIN_PLATFORM="${NOMOS_BIN_PLATFORM:-linux/amd64}"
|
NOMOS_BIN_PLATFORM="${NOMOS_BIN_PLATFORM:-linux/amd64}"
|
||||||
|
|
||||||
|
|||||||
@ -15,14 +15,14 @@ set -euo pipefail
|
|||||||
# NOMOS_TESTNET_IMAGE - image tag (default nomos-testnet:local)
|
# NOMOS_TESTNET_IMAGE - image tag (default nomos-testnet:local)
|
||||||
# NOMOS_CIRCUITS_PLATFORM - override host platform detection
|
# NOMOS_CIRCUITS_PLATFORM - override host platform detection
|
||||||
# NOMOS_CIRCUITS_REBUILD_RAPIDSNARK - set to 1 to force rapidsnark rebuild
|
# NOMOS_CIRCUITS_REBUILD_RAPIDSNARK - set to 1 to force rapidsnark rebuild
|
||||||
# NOMOS_NODE_REV - nomos-node git rev for local binaries (default 2f60a0372c228968c3526c341ebc7e58bbd178dd)
|
# NOMOS_NODE_REV - nomos-node git rev for local binaries (default d2dd5a5084e1daef4032562c77d41de5e4d495f8)
|
||||||
|
|
||||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||||
MODE="${1:-compose}"
|
MODE="${1:-compose}"
|
||||||
RUN_SECS="${2:-60}"
|
RUN_SECS="${2:-60}"
|
||||||
VERSION="${VERSION:-v0.3.1}"
|
VERSION="${VERSION:-v0.3.1}"
|
||||||
IMAGE="${NOMOS_TESTNET_IMAGE:-nomos-testnet:local}"
|
IMAGE="${NOMOS_TESTNET_IMAGE:-nomos-testnet:local}"
|
||||||
NOMOS_NODE_REV="${NOMOS_NODE_REV:-2f60a0372c228968c3526c341ebc7e58bbd178dd}"
|
NOMOS_NODE_REV="${NOMOS_NODE_REV:-d2dd5a5084e1daef4032562c77d41de5e4d495f8}"
|
||||||
|
|
||||||
case "$MODE" in
|
case "$MODE" in
|
||||||
compose) BIN="compose_runner" ;;
|
compose) BIN="compose_runner" ;;
|
||||||
|
|||||||
@ -20,7 +20,7 @@ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|||||||
VERSION="${1:-v0.3.1}"
|
VERSION="${1:-v0.3.1}"
|
||||||
STACK_DIR="${STACK_DIR:-${ROOT_DIR}/testing-framework/assets/stack/kzgrs_test_params}"
|
STACK_DIR="${STACK_DIR:-${ROOT_DIR}/testing-framework/assets/stack/kzgrs_test_params}"
|
||||||
HOST_DIR="${HOST_DIR:-${ROOT_DIR}/.tmp/nomos-circuits-host}"
|
HOST_DIR="${HOST_DIR:-${ROOT_DIR}/.tmp/nomos-circuits-host}"
|
||||||
NOMOS_NODE_REV="${NOMOS_NODE_REV:-2f60a0372c228968c3526c341ebc7e58bbd178dd}"
|
NOMOS_NODE_REV="${NOMOS_NODE_REV:-d2dd5a5084e1daef4032562c77d41de5e4d495f8}"
|
||||||
|
|
||||||
detect_platform() {
|
detect_platform() {
|
||||||
local os arch
|
local os arch
|
||||||
|
|||||||
@ -211,10 +211,12 @@ main() {
|
|||||||
handle_macos_quarantine
|
handle_macos_quarantine
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$rebuild_required" == "1" || "$platform" == *"aarch64" ]]; then
|
if [[ "$rebuild_required" == "1" ]]; then
|
||||||
echo
|
echo
|
||||||
print_info "Rebuilding rapidsnark prover for ${platform}..."
|
print_info "Rebuilding rapidsnark prover for ${platform}..."
|
||||||
"${SCRIPT_DIR}/build-rapidsnark.sh" "$INSTALL_DIR"
|
"${SCRIPT_DIR}/build-rapidsnark.sh" "$INSTALL_DIR"
|
||||||
|
else
|
||||||
|
print_info "Skipping rapidsnark rebuild (set NOMOS_CIRCUITS_REBUILD_RAPIDSNARK=1 to force)."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
ARG VERSION=v0.3.1
|
ARG VERSION=v0.3.1
|
||||||
ARG CIRCUITS_OVERRIDE
|
ARG CIRCUITS_OVERRIDE
|
||||||
|
ARG NOMOS_NODE_REV=d2dd5a5084e1daef4032562c77d41de5e4d495f8
|
||||||
|
|
||||||
# ===========================
|
# ===========================
|
||||||
# BUILD IMAGE
|
# BUILD IMAGE
|
||||||
@ -13,6 +14,7 @@ FROM rust:1.91.0-slim-bookworm AS builder
|
|||||||
|
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG CIRCUITS_OVERRIDE
|
ARG CIRCUITS_OVERRIDE
|
||||||
|
ARG NOMOS_NODE_REV
|
||||||
|
|
||||||
LABEL maintainer="augustinas@status.im" \
|
LABEL maintainer="augustinas@status.im" \
|
||||||
source="https://github.com/logos-co/nomos-node" \
|
source="https://github.com/logos-co/nomos-node" \
|
||||||
@ -23,6 +25,7 @@ COPY . .
|
|||||||
|
|
||||||
# Reduce debug artifact size.
|
# Reduce debug artifact size.
|
||||||
ENV CARGO_PROFILE_DEV_DEBUG=0
|
ENV CARGO_PROFILE_DEV_DEBUG=0
|
||||||
|
ENV NOMOS_NODE_REV=${NOMOS_NODE_REV}
|
||||||
|
|
||||||
# Install dependencies needed for building RocksDB.
|
# Install dependencies needed for building RocksDB.
|
||||||
RUN apt-get update && apt-get install -yq \
|
RUN apt-get update && apt-get install -yq \
|
||||||
@ -75,11 +78,55 @@ RUN mkdir -p /opt/circuits && \
|
|||||||
|
|
||||||
ENV NOMOS_CIRCUITS=/opt/circuits
|
ENV NOMOS_CIRCUITS=/opt/circuits
|
||||||
|
|
||||||
# Copy prebuilt runtime binaries (provided by CI) into the build context.
|
# Provide runtime binaries. Prefer prebuilt artifacts (when present) for speed; otherwise build from source.
|
||||||
RUN mkdir -p /workspace/artifacts
|
RUN set -eu; \
|
||||||
COPY testing-framework/assets/stack/bin/nomos-node /workspace/artifacts/nomos-node
|
mkdir -p /workspace/artifacts; \
|
||||||
COPY testing-framework/assets/stack/bin/nomos-executor /workspace/artifacts/nomos-executor
|
TARGET_ARCH="$(uname -m)"; \
|
||||||
COPY testing-framework/assets/stack/bin/nomos-cli /workspace/artifacts/nomos-cli
|
expect_arch() { \
|
||||||
|
case "$1" in \
|
||||||
|
x86_64) echo "x86-64" ;; \
|
||||||
|
aarch64|arm64) echo "arm64" ;; \
|
||||||
|
*) echo "$1" ;; \
|
||||||
|
esac; \
|
||||||
|
}; \
|
||||||
|
have_prebuilt() { \
|
||||||
|
[ -f testing-framework/assets/stack/bin/nomos-node ] && \
|
||||||
|
[ -f testing-framework/assets/stack/bin/nomos-executor ] && \
|
||||||
|
[ -f testing-framework/assets/stack/bin/nomos-cli ]; \
|
||||||
|
}; \
|
||||||
|
bin_matches_arch() { \
|
||||||
|
BIN_INFO="$(file -b testing-framework/assets/stack/bin/nomos-node 2>/dev/null || true)"; \
|
||||||
|
case "$TARGET_ARCH" in \
|
||||||
|
x86_64) PATTERN="x86-64|x86_64" ;; \
|
||||||
|
aarch64|arm64) PATTERN="arm64|aarch64" ;; \
|
||||||
|
*) PATTERN="$(expect_arch "$TARGET_ARCH")" ;; \
|
||||||
|
esac; \
|
||||||
|
[ -n "$BIN_INFO" ] && echo "$BIN_INFO" | grep -Eqi "$PATTERN"; \
|
||||||
|
}; \
|
||||||
|
if have_prebuilt; then \
|
||||||
|
if bin_matches_arch; then \
|
||||||
|
echo "Using prebuilt nomos binaries from testing-framework/assets/stack/bin"; \
|
||||||
|
else \
|
||||||
|
echo "Using prebuilt nomos binaries from testing-framework/assets/stack/bin (arch check skipped)"; \
|
||||||
|
fi; \
|
||||||
|
cp testing-framework/assets/stack/bin/nomos-node /workspace/artifacts/nomos-node; \
|
||||||
|
cp testing-framework/assets/stack/bin/nomos-executor /workspace/artifacts/nomos-executor; \
|
||||||
|
cp testing-framework/assets/stack/bin/nomos-cli /workspace/artifacts/nomos-cli; \
|
||||||
|
else \
|
||||||
|
echo "Prebuilt nomos binaries missing or wrong architecture; building from source (rev ${NOMOS_NODE_REV})"; \
|
||||||
|
git clone https://github.com/logos-co/nomos-node.git /tmp/nomos-node && \
|
||||||
|
cd /tmp/nomos-node && \
|
||||||
|
git fetch --depth 1 origin "${NOMOS_NODE_REV}" && \
|
||||||
|
git checkout "${NOMOS_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"' NOMOS_CIRCUITS=/opt/circuits cargo build --features "testing" \
|
||||||
|
-p nomos-node -p nomos-executor -p nomos-cli; \
|
||||||
|
cp /tmp/nomos-node/target/debug/nomos-node /workspace/artifacts/nomos-node; \
|
||||||
|
cp /tmp/nomos-node/target/debug/nomos-executor /workspace/artifacts/nomos-executor; \
|
||||||
|
cp /tmp/nomos-node/target/debug/nomos-cli /workspace/artifacts/nomos-cli; \
|
||||||
|
rm -rf /tmp/nomos-node/target/debug/incremental; \
|
||||||
|
fi
|
||||||
|
|
||||||
# Build cfgsync binaries from this workspace.
|
# Build cfgsync binaries from this workspace.
|
||||||
RUN cargo build --all-features --manifest-path /workspace/testing-framework/tools/cfgsync/Cargo.toml --bins
|
RUN cargo build --all-features --manifest-path /workspace/testing-framework/tools/cfgsync/Cargo.toml --bins
|
||||||
|
|||||||
@ -13,6 +13,7 @@ num_samples: 1
|
|||||||
num_subnets: 2
|
num_subnets: 2
|
||||||
old_blobs_check_interval: "5.0"
|
old_blobs_check_interval: "5.0"
|
||||||
blobs_validity_duration: "60.0"
|
blobs_validity_duration: "60.0"
|
||||||
|
# KZG parameters are mounted into the stack as /kzgrs_test_params.
|
||||||
global_params_path: "/kzgrs_test_params/pol/proving_key.zkey"
|
global_params_path: "/kzgrs_test_params/pol/proving_key.zkey"
|
||||||
min_dispersal_peers: 1
|
min_dispersal_peers: 1
|
||||||
min_replication_peers: 1
|
min_replication_peers: 1
|
||||||
|
|||||||
Binary file not shown.
@ -10,6 +10,7 @@ DOCKERFILE_PATH="${ROOT_DIR}/testing-framework/assets/stack/Dockerfile"
|
|||||||
IMAGE_TAG="${IMAGE_TAG:-nomos-testnet:local}"
|
IMAGE_TAG="${IMAGE_TAG:-nomos-testnet:local}"
|
||||||
VERSION="${VERSION:-v0.3.1}"
|
VERSION="${VERSION:-v0.3.1}"
|
||||||
CIRCUITS_OVERRIDE="${CIRCUITS_OVERRIDE:-testing-framework/assets/stack/kzgrs_test_params}"
|
CIRCUITS_OVERRIDE="${CIRCUITS_OVERRIDE:-testing-framework/assets/stack/kzgrs_test_params}"
|
||||||
|
NOMOS_NODE_REV="${NOMOS_NODE_REV:-d2dd5a5084e1daef4032562c77d41de5e4d495f8}"
|
||||||
|
|
||||||
echo "Workspace root: ${ROOT_DIR}"
|
echo "Workspace root: ${ROOT_DIR}"
|
||||||
echo "Image tag: ${IMAGE_TAG}"
|
echo "Image tag: ${IMAGE_TAG}"
|
||||||
@ -19,6 +20,7 @@ echo "Circuits version (fallback download): ${VERSION}"
|
|||||||
build_args=(
|
build_args=(
|
||||||
-f "${DOCKERFILE_PATH}"
|
-f "${DOCKERFILE_PATH}"
|
||||||
-t "${IMAGE_TAG}"
|
-t "${IMAGE_TAG}"
|
||||||
|
--build-arg "NOMOS_NODE_REV=${NOMOS_NODE_REV}"
|
||||||
"${ROOT_DIR}"
|
"${ROOT_DIR}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -7,6 +7,7 @@ export CFG_FILE_PATH="/config.yaml" \
|
|||||||
CFG_HOST_IP=$(hostname -i) \
|
CFG_HOST_IP=$(hostname -i) \
|
||||||
CFG_HOST_KIND="${CFG_HOST_KIND:-executor}" \
|
CFG_HOST_KIND="${CFG_HOST_KIND:-executor}" \
|
||||||
CFG_HOST_IDENTIFIER="${CFG_HOST_IDENTIFIER:-executor-$(hostname -i)}" \
|
CFG_HOST_IDENTIFIER="${CFG_HOST_IDENTIFIER:-executor-$(hostname -i)}" \
|
||||||
|
NOMOS_KZGRS_PARAMS_PATH="${NOMOS_KZGRS_PARAMS_PATH:-/opt/circuits/pol/proving_key.zkey}" \
|
||||||
LOG_LEVEL="INFO" \
|
LOG_LEVEL="INFO" \
|
||||||
POL_PROOF_DEV_MODE="${POL_PROOF_DEV_MODE:-true}"
|
POL_PROOF_DEV_MODE="${POL_PROOF_DEV_MODE:-true}"
|
||||||
|
|
||||||
|
|||||||
@ -7,6 +7,7 @@ export CFG_FILE_PATH="/config.yaml" \
|
|||||||
CFG_HOST_IP=$(hostname -i) \
|
CFG_HOST_IP=$(hostname -i) \
|
||||||
CFG_HOST_KIND="${CFG_HOST_KIND:-validator}" \
|
CFG_HOST_KIND="${CFG_HOST_KIND:-validator}" \
|
||||||
CFG_HOST_IDENTIFIER="${CFG_HOST_IDENTIFIER:-validator-$(hostname -i)}" \
|
CFG_HOST_IDENTIFIER="${CFG_HOST_IDENTIFIER:-validator-$(hostname -i)}" \
|
||||||
|
NOMOS_KZGRS_PARAMS_PATH="${NOMOS_KZGRS_PARAMS_PATH:-/opt/circuits/pol/proving_key.zkey}" \
|
||||||
LOG_LEVEL="INFO" \
|
LOG_LEVEL="INFO" \
|
||||||
POL_PROOF_DEV_MODE="${POL_PROOF_DEV_MODE:-true}"
|
POL_PROOF_DEV_MODE="${POL_PROOF_DEV_MODE:-true}"
|
||||||
|
|
||||||
|
|||||||
@ -10,42 +10,41 @@ repository.workspace = true
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
blst = "0.3.11"
|
blst = "0.3.11"
|
||||||
chain-leader = { workspace = true }
|
chain-leader = { workspace = true }
|
||||||
chain-network = { workspace = true }
|
chain-network = { workspace = true }
|
||||||
chain-service = { workspace = true }
|
chain-service = { workspace = true }
|
||||||
cryptarchia-engine = { workspace = true, features = ["serde"] }
|
cryptarchia-engine = { workspace = true, features = ["serde"] }
|
||||||
cryptarchia-sync = { workspace = true }
|
cryptarchia-sync = { workspace = true }
|
||||||
ed25519-dalek = { version = "2.2.0", features = ["rand_core", "serde"] }
|
ed25519-dalek = { version = "2.2.0", features = ["rand_core", "serde"] }
|
||||||
groth16 = { workspace = true }
|
groth16 = { workspace = true }
|
||||||
hex = { version = "0.4.3", default-features = false }
|
hex = { version = "0.4.3", default-features = false }
|
||||||
key-management-system = { workspace = true }
|
key-management-system-service = { workspace = true }
|
||||||
nomos-api = { workspace = true }
|
nomos-api = { workspace = true }
|
||||||
nomos-blend-message = { workspace = true }
|
nomos-blend-service = { workspace = true, features = ["libp2p"] }
|
||||||
nomos-blend-service = { workspace = true, features = ["libp2p"] }
|
nomos-core = { workspace = true }
|
||||||
nomos-core = { workspace = true }
|
nomos-da-dispersal = { workspace = true }
|
||||||
nomos-da-dispersal = { workspace = true }
|
nomos-da-network-core = { workspace = true }
|
||||||
nomos-da-network-core = { workspace = true }
|
nomos-da-network-service = { workspace = true }
|
||||||
nomos-da-network-service = { workspace = true }
|
nomos-da-sampling = { workspace = true }
|
||||||
nomos-da-sampling = { workspace = true }
|
nomos-da-verifier = { workspace = true }
|
||||||
nomos-da-verifier = { workspace = true }
|
nomos-executor = { workspace = true, default-features = false, features = ["testing", "tracing"] }
|
||||||
nomos-executor = { workspace = true, default-features = false, features = ["testing", "tracing"] }
|
nomos-ledger = { workspace = true, features = ["serde"] }
|
||||||
nomos-ledger = { workspace = true, features = ["serde"] }
|
nomos-libp2p = { workspace = true }
|
||||||
nomos-libp2p = { workspace = true }
|
nomos-node = { workspace = true, default-features = false, features = ["testing"] }
|
||||||
nomos-node = { workspace = true, default-features = false, features = ["testing"] }
|
nomos-sdp = { workspace = true }
|
||||||
nomos-sdp = { workspace = true }
|
nomos-time = { workspace = true }
|
||||||
nomos-time = { workspace = true }
|
nomos-tracing = { workspace = true }
|
||||||
nomos-tracing = { workspace = true }
|
nomos-tracing-service = { workspace = true }
|
||||||
nomos-tracing-service = { workspace = true }
|
nomos-utils = { workspace = true }
|
||||||
nomos-utils = { workspace = true }
|
nomos-wallet = { workspace = true }
|
||||||
nomos-wallet = { workspace = true }
|
num-bigint = { version = "0.4", default-features = false }
|
||||||
num-bigint = { version = "0.4", default-features = false }
|
rand = { workspace = true }
|
||||||
rand = { workspace = true }
|
serde = { workspace = true, features = ["derive"] }
|
||||||
serde = { workspace = true, features = ["derive"] }
|
subnetworks-assignations = { workspace = true }
|
||||||
subnetworks-assignations = { workspace = true }
|
time = { version = "0.3", default-features = true }
|
||||||
time = { version = "0.3", default-features = true }
|
tracing = { workspace = true }
|
||||||
tracing = { workspace = true }
|
zksign = { workspace = true }
|
||||||
zksign = { workspace = true }
|
|
||||||
|
|
||||||
[lints]
|
[lints]
|
||||||
workspace = true
|
workspace = true
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
use groth16::fr_to_bytes;
|
use groth16::fr_to_bytes;
|
||||||
use key_management_system::{
|
use key_management_system_service::{
|
||||||
backend::preload::KeyId,
|
backend::preload::KeyId,
|
||||||
keys::{Key, secured_key::SecuredKey as _},
|
keys::{Key, secured_key::SecuredKey as _},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -5,11 +5,10 @@ use std::{
|
|||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
|
|
||||||
use chain_leader::LeaderSettings;
|
use chain_leader::LeaderConfig as ChainLeaderConfig;
|
||||||
use chain_network::{ChainNetworkSettings, OrphanConfig, SyncConfig};
|
use chain_network::{BootstrapConfig as ChainBootstrapConfig, OrphanConfig, SyncConfig};
|
||||||
use chain_service::{CryptarchiaSettings, StartingState};
|
use chain_service::StartingState;
|
||||||
use cryptarchia_engine::time::SlotConfig;
|
use key_management_system_service::keys::{Key, ZkKey};
|
||||||
use key_management_system::keys::{Key, ZkKey};
|
|
||||||
use nomos_blend_service::{
|
use nomos_blend_service::{
|
||||||
core::settings::{CoverTrafficSettings, MessageDelayerSettings, SchedulerSettings, ZkSettings},
|
core::settings::{CoverTrafficSettings, MessageDelayerSettings, SchedulerSettings, ZkSettings},
|
||||||
settings::TimingSettings,
|
settings::TimingSettings,
|
||||||
@ -44,16 +43,26 @@ use nomos_node::{
|
|||||||
deployment::{self as blend_deployment},
|
deployment::{self as blend_deployment},
|
||||||
serde as blend_serde,
|
serde as blend_serde,
|
||||||
},
|
},
|
||||||
deployment::{CustomDeployment, Settings as NodeDeploymentSettings},
|
cryptarchia::{
|
||||||
mempool::MempoolConfig,
|
deployment::{
|
||||||
|
SdpConfig as DeploymentSdpConfig, Settings as CryptarchiaDeploymentSettings,
|
||||||
|
},
|
||||||
|
serde::{
|
||||||
|
Config as CryptarchiaConfig, LeaderConfig as CryptarchiaLeaderConfig,
|
||||||
|
NetworkConfig as CryptarchiaNetworkConfig,
|
||||||
|
ServiceConfig as CryptarchiaServiceConfig,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
deployment::DeploymentSettings,
|
||||||
|
mempool::{
|
||||||
|
deployment::Settings as MempoolDeploymentSettings, serde::Config as MempoolConfig,
|
||||||
|
},
|
||||||
network::deployment::Settings as NetworkDeploymentSettings,
|
network::deployment::Settings as NetworkDeploymentSettings,
|
||||||
|
time::{deployment::Settings as TimeDeploymentSettings, serde::Config as TimeConfig},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use nomos_sdp::SdpSettings;
|
use nomos_sdp::SdpSettings;
|
||||||
use nomos_time::{
|
use nomos_time::backends::{NtpTimeBackendSettings, ntp::async_client::NTPClientSettings};
|
||||||
TimeServiceSettings,
|
|
||||||
backends::{NtpTimeBackendSettings, ntp::async_client::NTPClientSettings},
|
|
||||||
};
|
|
||||||
use nomos_utils::math::NonNegativeF64;
|
use nomos_utils::math::NonNegativeF64;
|
||||||
use nomos_wallet::WalletServiceSettings;
|
use nomos_wallet::WalletServiceSettings;
|
||||||
|
|
||||||
@ -68,56 +77,79 @@ use crate::{
|
|||||||
#[must_use]
|
#[must_use]
|
||||||
#[expect(clippy::too_many_lines, reason = "TODO: Address this at some point.")]
|
#[expect(clippy::too_many_lines, reason = "TODO: Address this at some point.")]
|
||||||
pub fn create_executor_config(config: GeneralConfig) -> ExecutorConfig {
|
pub fn create_executor_config(config: GeneralConfig) -> ExecutorConfig {
|
||||||
let (blend_user_config, deployment_settings) = build_blend_service_config(&config.blend_config);
|
let (blend_user_config, blend_deployment, network_deployment) =
|
||||||
|
build_blend_service_config(&config.blend_config);
|
||||||
|
let cryptarchia_deployment = CryptarchiaDeploymentSettings {
|
||||||
|
epoch_config: config.consensus_config.ledger_config.epoch_config,
|
||||||
|
consensus_config: config.consensus_config.ledger_config.consensus_config,
|
||||||
|
sdp_config: DeploymentSdpConfig {
|
||||||
|
service_params: config
|
||||||
|
.consensus_config
|
||||||
|
.ledger_config
|
||||||
|
.sdp_config
|
||||||
|
.service_params
|
||||||
|
.clone(),
|
||||||
|
min_stake: config.consensus_config.ledger_config.sdp_config.min_stake,
|
||||||
|
},
|
||||||
|
gossipsub_protocol: "/cryptarchia/proto".to_owned(),
|
||||||
|
};
|
||||||
|
let time_deployment = TimeDeploymentSettings {
|
||||||
|
slot_duration: config.time_config.slot_duration,
|
||||||
|
};
|
||||||
|
let mempool_deployment = MempoolDeploymentSettings {
|
||||||
|
pubsub_topic: "mantle".to_owned(),
|
||||||
|
};
|
||||||
|
let deployment_settings = DeploymentSettings::new_custom(
|
||||||
|
blend_deployment,
|
||||||
|
network_deployment,
|
||||||
|
cryptarchia_deployment,
|
||||||
|
time_deployment,
|
||||||
|
mempool_deployment,
|
||||||
|
);
|
||||||
ExecutorConfig {
|
ExecutorConfig {
|
||||||
network: config.network_config,
|
network: config.network_config,
|
||||||
blend: blend_user_config,
|
blend: blend_user_config,
|
||||||
deployment: deployment_settings,
|
deployment: deployment_settings,
|
||||||
cryptarchia: CryptarchiaSettings {
|
cryptarchia: CryptarchiaConfig {
|
||||||
config: config.consensus_config.ledger_config.clone(),
|
service: CryptarchiaServiceConfig {
|
||||||
starting_state: StartingState::Genesis {
|
starting_state: StartingState::Genesis {
|
||||||
genesis_tx: config.consensus_config.genesis_tx,
|
genesis_tx: config.consensus_config.genesis_tx,
|
||||||
},
|
},
|
||||||
// Disable on-disk recovery in compose tests to avoid serde errors on
|
// Disable on-disk recovery in compose tests to avoid serde errors on
|
||||||
// non-string keys and keep services alive.
|
// non-string keys and keep services alive.
|
||||||
recovery_file: PathBuf::new(),
|
recovery_file: PathBuf::new(),
|
||||||
bootstrap: chain_service::BootstrapConfig {
|
bootstrap: chain_service::BootstrapConfig {
|
||||||
prolonged_bootstrap_period: config.bootstrapping_config.prolonged_bootstrap_period,
|
prolonged_bootstrap_period: config
|
||||||
force_bootstrap: false,
|
.bootstrapping_config
|
||||||
offline_grace_period: chain_service::OfflineGracePeriodConfig {
|
.prolonged_bootstrap_period,
|
||||||
grace_period: Duration::from_secs(20 * 60),
|
force_bootstrap: false,
|
||||||
state_recording_interval: Duration::from_secs(60),
|
offline_grace_period: chain_service::OfflineGracePeriodConfig {
|
||||||
|
grace_period: Duration::from_secs(20 * 60),
|
||||||
|
state_recording_interval: Duration::from_secs(60),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
network: CryptarchiaNetworkConfig {
|
||||||
chain_network: ChainNetworkSettings {
|
bootstrap: ChainBootstrapConfig {
|
||||||
config: config.consensus_config.ledger_config.clone(),
|
ibd: chain_network::IbdConfig {
|
||||||
network_adapter_settings:
|
peers: HashSet::new(),
|
||||||
chain_network::network::adapters::libp2p::LibP2pAdapterSettings {
|
delay_before_new_download: Duration::from_secs(10),
|
||||||
topic: String::from(nomos_node::CONSENSUS_TOPIC),
|
},
|
||||||
},
|
},
|
||||||
bootstrap: chain_network::BootstrapConfig {
|
sync: SyncConfig {
|
||||||
ibd: chain_network::IbdConfig {
|
orphan: OrphanConfig {
|
||||||
peers: HashSet::new(),
|
max_orphan_cache_size: NonZeroUsize::new(5)
|
||||||
delay_before_new_download: Duration::from_secs(10),
|
.expect("Max orphan cache size must be non-zero"),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
sync: SyncConfig {
|
leader: CryptarchiaLeaderConfig {
|
||||||
orphan: OrphanConfig {
|
leader: ChainLeaderConfig {
|
||||||
max_orphan_cache_size: NonZeroUsize::new(5)
|
pk: config.consensus_config.leader_config.pk,
|
||||||
.expect("Max orphan cache size must be non-zero"),
|
sk: config.consensus_config.leader_config.sk.clone(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
cryptarchia_leader: LeaderSettings {
|
|
||||||
transaction_selector_settings: (),
|
|
||||||
config: config.consensus_config.ledger_config.clone(),
|
|
||||||
leader_config: config.consensus_config.leader_config.clone(),
|
|
||||||
blend_broadcast_settings:
|
|
||||||
nomos_blend_service::core::network::libp2p::Libp2pBroadcastSettings {
|
|
||||||
topic: String::from(nomos_node::CONSENSUS_TOPIC),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
da_network: DaNetworkConfig {
|
da_network: DaNetworkConfig {
|
||||||
backend: DaNetworkExecutorBackendSettings {
|
backend: DaNetworkExecutorBackendSettings {
|
||||||
validator_settings: DaNetworkBackendSettings {
|
validator_settings: DaNetworkBackendSettings {
|
||||||
@ -203,24 +235,19 @@ pub fn create_executor_config(config: GeneralConfig) -> ExecutorConfig {
|
|||||||
retry_limit: 2,
|
retry_limit: 2,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
time: TimeServiceSettings {
|
time: TimeConfig {
|
||||||
backend_settings: NtpTimeBackendSettings {
|
backend: NtpTimeBackendSettings {
|
||||||
ntp_server: config.time_config.ntp_server,
|
ntp_server: config.time_config.ntp_server,
|
||||||
ntp_client_settings: NTPClientSettings {
|
ntp_client_settings: NTPClientSettings {
|
||||||
timeout: config.time_config.timeout,
|
timeout: config.time_config.timeout,
|
||||||
listening_interface: config.time_config.interface,
|
listening_interface: config.time_config.interface,
|
||||||
},
|
},
|
||||||
update_interval: config.time_config.update_interval,
|
update_interval: config.time_config.update_interval,
|
||||||
slot_config: SlotConfig {
|
|
||||||
slot_duration: config.time_config.slot_duration,
|
|
||||||
chain_start_time: config.time_config.chain_start_time,
|
|
||||||
},
|
|
||||||
epoch_config: config.consensus_config.ledger_config.epoch_config,
|
|
||||||
base_period_length: config.consensus_config.ledger_config.base_period_length(),
|
|
||||||
},
|
},
|
||||||
|
chain_start_time: config.time_config.chain_start_time,
|
||||||
},
|
},
|
||||||
mempool: MempoolConfig {
|
mempool: MempoolConfig {
|
||||||
pool_recovery_path: "./recovery/mempool.json".into(),
|
recovery_path: "./recovery/mempool.json".into(),
|
||||||
},
|
},
|
||||||
sdp: SdpSettings { declaration: None },
|
sdp: SdpSettings { declaration: None },
|
||||||
wallet: WalletServiceSettings {
|
wallet: WalletServiceSettings {
|
||||||
@ -252,7 +279,11 @@ pub fn create_executor_config(config: GeneralConfig) -> ExecutorConfig {
|
|||||||
|
|
||||||
fn build_blend_service_config(
|
fn build_blend_service_config(
|
||||||
config: &TopologyBlendConfig,
|
config: &TopologyBlendConfig,
|
||||||
) -> (blend_serde::Config, NodeDeploymentSettings) {
|
) -> (
|
||||||
|
blend_serde::Config,
|
||||||
|
blend_deployment::Settings,
|
||||||
|
NetworkDeploymentSettings,
|
||||||
|
) {
|
||||||
let zk_key_id =
|
let zk_key_id =
|
||||||
key_id_for_preload_backend(&Key::from(ZkKey::new(config.secret_zk_key.clone())));
|
key_id_for_preload_backend(&Key::from(ZkKey::new(config.secret_zk_key.clone())));
|
||||||
|
|
||||||
@ -314,17 +345,14 @@ fn build_blend_service_config(
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let deployment = NodeDeploymentSettings::Custom(CustomDeployment {
|
let network_deployment = NetworkDeploymentSettings {
|
||||||
blend: deployment_settings,
|
identify_protocol_name: nomos_libp2p::protocol_name::StreamProtocol::new(
|
||||||
network: NetworkDeploymentSettings {
|
"/integration/nomos/identify/1.0.0",
|
||||||
identify_protocol_name: nomos_libp2p::protocol_name::StreamProtocol::new(
|
),
|
||||||
"/integration/nomos/identify/1.0.0",
|
kademlia_protocol_name: nomos_libp2p::protocol_name::StreamProtocol::new(
|
||||||
),
|
"/integration/nomos/kad/1.0.0",
|
||||||
kademlia_protocol_name: nomos_libp2p::protocol_name::StreamProtocol::new(
|
),
|
||||||
"/integration/nomos/kad/1.0.0",
|
};
|
||||||
),
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
(user, deployment)
|
(user, deployment_settings, network_deployment)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,11 +5,10 @@ use std::{
|
|||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
|
|
||||||
use chain_leader::LeaderSettings;
|
use chain_leader::LeaderConfig as ChainLeaderConfig;
|
||||||
use chain_network::{ChainNetworkSettings, OrphanConfig, SyncConfig};
|
use chain_network::{BootstrapConfig as ChainBootstrapConfig, OrphanConfig, SyncConfig};
|
||||||
use chain_service::{CryptarchiaSettings, StartingState};
|
use chain_service::StartingState;
|
||||||
use cryptarchia_engine::time::SlotConfig;
|
use key_management_system_service::keys::{Key, ZkKey};
|
||||||
use key_management_system::keys::{Key, ZkKey};
|
|
||||||
use nomos_blend_service::{
|
use nomos_blend_service::{
|
||||||
core::settings::{CoverTrafficSettings, MessageDelayerSettings, SchedulerSettings, ZkSettings},
|
core::settings::{CoverTrafficSettings, MessageDelayerSettings, SchedulerSettings, ZkSettings},
|
||||||
settings::TimingSettings,
|
settings::TimingSettings,
|
||||||
@ -38,16 +37,26 @@ use nomos_node::{
|
|||||||
deployment::{self as blend_deployment},
|
deployment::{self as blend_deployment},
|
||||||
serde as blend_serde,
|
serde as blend_serde,
|
||||||
},
|
},
|
||||||
deployment::{CustomDeployment, Settings as NodeDeploymentSettings},
|
cryptarchia::{
|
||||||
mempool::MempoolConfig,
|
deployment::{
|
||||||
|
SdpConfig as DeploymentSdpConfig, Settings as CryptarchiaDeploymentSettings,
|
||||||
|
},
|
||||||
|
serde::{
|
||||||
|
Config as CryptarchiaConfig, LeaderConfig as CryptarchiaLeaderConfig,
|
||||||
|
NetworkConfig as CryptarchiaNetworkConfig,
|
||||||
|
ServiceConfig as CryptarchiaServiceConfig,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
deployment::DeploymentSettings,
|
||||||
|
mempool::{
|
||||||
|
deployment::Settings as MempoolDeploymentSettings, serde::Config as MempoolConfig,
|
||||||
|
},
|
||||||
network::deployment::Settings as NetworkDeploymentSettings,
|
network::deployment::Settings as NetworkDeploymentSettings,
|
||||||
|
time::{deployment::Settings as TimeDeploymentSettings, serde::Config as TimeConfig},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use nomos_sdp::SdpSettings;
|
use nomos_sdp::SdpSettings;
|
||||||
use nomos_time::{
|
use nomos_time::backends::{NtpTimeBackendSettings, ntp::async_client::NTPClientSettings};
|
||||||
TimeServiceSettings,
|
|
||||||
backends::{NtpTimeBackendSettings, ntp::async_client::NTPClientSettings},
|
|
||||||
};
|
|
||||||
use nomos_utils::math::NonNegativeF64;
|
use nomos_utils::math::NonNegativeF64;
|
||||||
use nomos_wallet::WalletServiceSettings;
|
use nomos_wallet::WalletServiceSettings;
|
||||||
|
|
||||||
@ -66,56 +75,79 @@ use crate::{
|
|||||||
)]
|
)]
|
||||||
pub fn create_validator_config(config: GeneralConfig) -> ValidatorConfig {
|
pub fn create_validator_config(config: GeneralConfig) -> ValidatorConfig {
|
||||||
let da_policy_settings = config.da_config.policy_settings;
|
let da_policy_settings = config.da_config.policy_settings;
|
||||||
let (blend_user_config, deployment_settings) = build_blend_service_config(&config.blend_config);
|
let (blend_user_config, blend_deployment, network_deployment) =
|
||||||
|
build_blend_service_config(&config.blend_config);
|
||||||
|
let cryptarchia_deployment = CryptarchiaDeploymentSettings {
|
||||||
|
epoch_config: config.consensus_config.ledger_config.epoch_config,
|
||||||
|
consensus_config: config.consensus_config.ledger_config.consensus_config,
|
||||||
|
sdp_config: DeploymentSdpConfig {
|
||||||
|
service_params: config
|
||||||
|
.consensus_config
|
||||||
|
.ledger_config
|
||||||
|
.sdp_config
|
||||||
|
.service_params
|
||||||
|
.clone(),
|
||||||
|
min_stake: config.consensus_config.ledger_config.sdp_config.min_stake,
|
||||||
|
},
|
||||||
|
gossipsub_protocol: "/cryptarchia/proto".to_owned(),
|
||||||
|
};
|
||||||
|
let time_deployment = TimeDeploymentSettings {
|
||||||
|
slot_duration: config.time_config.slot_duration,
|
||||||
|
};
|
||||||
|
let mempool_deployment = MempoolDeploymentSettings {
|
||||||
|
pubsub_topic: "mantle".to_owned(),
|
||||||
|
};
|
||||||
|
let deployment_settings = DeploymentSettings::new_custom(
|
||||||
|
blend_deployment,
|
||||||
|
network_deployment,
|
||||||
|
cryptarchia_deployment,
|
||||||
|
time_deployment,
|
||||||
|
mempool_deployment,
|
||||||
|
);
|
||||||
ValidatorConfig {
|
ValidatorConfig {
|
||||||
network: config.network_config,
|
network: config.network_config,
|
||||||
blend: blend_user_config,
|
blend: blend_user_config,
|
||||||
deployment: deployment_settings,
|
deployment: deployment_settings,
|
||||||
cryptarchia: CryptarchiaSettings {
|
cryptarchia: CryptarchiaConfig {
|
||||||
config: config.consensus_config.ledger_config.clone(),
|
service: CryptarchiaServiceConfig {
|
||||||
starting_state: StartingState::Genesis {
|
starting_state: StartingState::Genesis {
|
||||||
genesis_tx: config.consensus_config.genesis_tx,
|
genesis_tx: config.consensus_config.genesis_tx,
|
||||||
},
|
},
|
||||||
// Disable on-disk recovery in compose tests to avoid serde errors on
|
// Disable on-disk recovery in compose tests to avoid serde errors on
|
||||||
// non-string keys and keep services alive.
|
// non-string keys and keep services alive.
|
||||||
recovery_file: PathBuf::new(),
|
recovery_file: PathBuf::new(),
|
||||||
bootstrap: chain_service::BootstrapConfig {
|
bootstrap: chain_service::BootstrapConfig {
|
||||||
prolonged_bootstrap_period: config.bootstrapping_config.prolonged_bootstrap_period,
|
prolonged_bootstrap_period: config
|
||||||
force_bootstrap: false,
|
.bootstrapping_config
|
||||||
offline_grace_period: chain_service::OfflineGracePeriodConfig {
|
.prolonged_bootstrap_period,
|
||||||
grace_period: Duration::from_secs(20 * 60),
|
force_bootstrap: false,
|
||||||
state_recording_interval: Duration::from_secs(60),
|
offline_grace_period: chain_service::OfflineGracePeriodConfig {
|
||||||
|
grace_period: Duration::from_secs(20 * 60),
|
||||||
|
state_recording_interval: Duration::from_secs(60),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
network: CryptarchiaNetworkConfig {
|
||||||
chain_network: ChainNetworkSettings {
|
bootstrap: ChainBootstrapConfig {
|
||||||
config: config.consensus_config.ledger_config.clone(),
|
ibd: chain_network::IbdConfig {
|
||||||
network_adapter_settings:
|
peers: HashSet::new(),
|
||||||
chain_network::network::adapters::libp2p::LibP2pAdapterSettings {
|
delay_before_new_download: Duration::from_secs(10),
|
||||||
topic: String::from(nomos_node::CONSENSUS_TOPIC),
|
},
|
||||||
},
|
},
|
||||||
bootstrap: chain_network::BootstrapConfig {
|
sync: SyncConfig {
|
||||||
ibd: chain_network::IbdConfig {
|
orphan: OrphanConfig {
|
||||||
peers: HashSet::new(),
|
max_orphan_cache_size: NonZeroUsize::new(5)
|
||||||
delay_before_new_download: Duration::from_secs(10),
|
.expect("Max orphan cache size must be non-zero"),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
sync: SyncConfig {
|
leader: CryptarchiaLeaderConfig {
|
||||||
orphan: OrphanConfig {
|
leader: ChainLeaderConfig {
|
||||||
max_orphan_cache_size: NonZeroUsize::new(5)
|
pk: config.consensus_config.leader_config.pk,
|
||||||
.expect("Max orphan cache size must be non-zero"),
|
sk: config.consensus_config.leader_config.sk.clone(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
cryptarchia_leader: LeaderSettings {
|
|
||||||
transaction_selector_settings: (),
|
|
||||||
config: config.consensus_config.ledger_config.clone(),
|
|
||||||
leader_config: config.consensus_config.leader_config.clone(),
|
|
||||||
blend_broadcast_settings:
|
|
||||||
nomos_blend_service::core::network::libp2p::Libp2pBroadcastSettings {
|
|
||||||
topic: String::from(nomos_node::CONSENSUS_TOPIC),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
da_network: DaNetworkConfig {
|
da_network: DaNetworkConfig {
|
||||||
backend: DaNetworkBackendSettings {
|
backend: DaNetworkBackendSettings {
|
||||||
node_key: config.da_config.node_key,
|
node_key: config.da_config.node_key,
|
||||||
@ -193,24 +225,19 @@ pub fn create_validator_config(config: GeneralConfig) -> ValidatorConfig {
|
|||||||
read_only: false,
|
read_only: false,
|
||||||
column_family: Some("blocks".into()),
|
column_family: Some("blocks".into()),
|
||||||
},
|
},
|
||||||
time: TimeServiceSettings {
|
time: TimeConfig {
|
||||||
backend_settings: NtpTimeBackendSettings {
|
backend: NtpTimeBackendSettings {
|
||||||
ntp_server: config.time_config.ntp_server,
|
ntp_server: config.time_config.ntp_server,
|
||||||
ntp_client_settings: NTPClientSettings {
|
ntp_client_settings: NTPClientSettings {
|
||||||
timeout: config.time_config.timeout,
|
timeout: config.time_config.timeout,
|
||||||
listening_interface: config.time_config.interface,
|
listening_interface: config.time_config.interface,
|
||||||
},
|
},
|
||||||
update_interval: config.time_config.update_interval,
|
update_interval: config.time_config.update_interval,
|
||||||
slot_config: SlotConfig {
|
|
||||||
slot_duration: config.time_config.slot_duration,
|
|
||||||
chain_start_time: config.time_config.chain_start_time,
|
|
||||||
},
|
|
||||||
epoch_config: config.consensus_config.ledger_config.epoch_config,
|
|
||||||
base_period_length: config.consensus_config.ledger_config.base_period_length(),
|
|
||||||
},
|
},
|
||||||
|
chain_start_time: config.time_config.chain_start_time,
|
||||||
},
|
},
|
||||||
mempool: MempoolConfig {
|
mempool: MempoolConfig {
|
||||||
pool_recovery_path: "./recovery/mempool.json".into(),
|
recovery_path: "./recovery/mempool.json".into(),
|
||||||
},
|
},
|
||||||
sdp: SdpSettings { declaration: None },
|
sdp: SdpSettings { declaration: None },
|
||||||
wallet: WalletServiceSettings {
|
wallet: WalletServiceSettings {
|
||||||
@ -241,7 +268,11 @@ pub fn create_validator_config(config: GeneralConfig) -> ValidatorConfig {
|
|||||||
|
|
||||||
fn build_blend_service_config(
|
fn build_blend_service_config(
|
||||||
config: &TopologyBlendConfig,
|
config: &TopologyBlendConfig,
|
||||||
) -> (blend_serde::Config, NodeDeploymentSettings) {
|
) -> (
|
||||||
|
blend_serde::Config,
|
||||||
|
blend_deployment::Settings,
|
||||||
|
NetworkDeploymentSettings,
|
||||||
|
) {
|
||||||
let zk_key_id =
|
let zk_key_id =
|
||||||
key_id_for_preload_backend(&Key::from(ZkKey::new(config.secret_zk_key.clone())));
|
key_id_for_preload_backend(&Key::from(ZkKey::new(config.secret_zk_key.clone())));
|
||||||
|
|
||||||
@ -303,17 +334,14 @@ fn build_blend_service_config(
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let deployment = NodeDeploymentSettings::Custom(CustomDeployment {
|
let network_deployment = NetworkDeploymentSettings {
|
||||||
blend: deployment_settings,
|
identify_protocol_name: nomos_libp2p::protocol_name::StreamProtocol::new(
|
||||||
network: NetworkDeploymentSettings {
|
"/integration/nomos/identify/1.0.0",
|
||||||
identify_protocol_name: nomos_libp2p::protocol_name::StreamProtocol::new(
|
),
|
||||||
"/integration/nomos/identify/1.0.0",
|
kademlia_protocol_name: nomos_libp2p::protocol_name::StreamProtocol::new(
|
||||||
),
|
"/integration/nomos/kad/1.0.0",
|
||||||
kademlia_protocol_name: nomos_libp2p::protocol_name::StreamProtocol::new(
|
),
|
||||||
"/integration/nomos/kad/1.0.0",
|
};
|
||||||
),
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
(user, deployment)
|
(user, deployment_settings, network_deployment)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@ use core::time::Duration;
|
|||||||
use std::{num::NonZeroU64, str::FromStr as _};
|
use std::{num::NonZeroU64, str::FromStr as _};
|
||||||
|
|
||||||
use ed25519_dalek::SigningKey;
|
use ed25519_dalek::SigningKey;
|
||||||
use nomos_blend_message::crypto::keys::Ed25519PrivateKey;
|
use key_management_system_service::keys::UnsecuredEd25519Key;
|
||||||
use nomos_blend_service::{
|
use nomos_blend_service::{
|
||||||
core::backends::libp2p::Libp2pBlendBackendSettings as Libp2pCoreBlendBackendSettings,
|
core::backends::libp2p::Libp2pBlendBackendSettings as Libp2pCoreBlendBackendSettings,
|
||||||
edge::backends::libp2p::Libp2pBlendBackendSettings as Libp2pEdgeBlendBackendSettings,
|
edge::backends::libp2p::Libp2pBlendBackendSettings as Libp2pEdgeBlendBackendSettings,
|
||||||
@ -15,7 +15,7 @@ use zksign::SecretKey;
|
|||||||
pub struct GeneralBlendConfig {
|
pub struct GeneralBlendConfig {
|
||||||
pub backend_core: Libp2pCoreBlendBackendSettings,
|
pub backend_core: Libp2pCoreBlendBackendSettings,
|
||||||
pub backend_edge: Libp2pEdgeBlendBackendSettings,
|
pub backend_edge: Libp2pEdgeBlendBackendSettings,
|
||||||
pub private_key: Ed25519PrivateKey,
|
pub private_key: UnsecuredEd25519Key,
|
||||||
pub secret_zk_key: SecretKey,
|
pub secret_zk_key: SecretKey,
|
||||||
pub signer: SigningKey,
|
pub signer: SigningKey,
|
||||||
}
|
}
|
||||||
@ -34,12 +34,13 @@ pub fn create_blend_configs(ids: &[[u8; 32]], ports: &[u16]) -> Vec<GeneralBlend
|
|||||||
.map(|(id, port)| {
|
.map(|(id, port)| {
|
||||||
let signer = SigningKey::from_bytes(id);
|
let signer = SigningKey::from_bytes(id);
|
||||||
|
|
||||||
let private_key = Ed25519PrivateKey::from(*id);
|
let private_key = UnsecuredEd25519Key::from(signer.clone());
|
||||||
// We need unique ZK secret keys, so we just derive them deterministically from
|
// We need unique ZK secret keys, so we just derive them deterministically from
|
||||||
// the generated Ed25519 public keys, which are guaranteed to be unique because
|
// the generated Ed25519 public keys, which are guaranteed to be unique because
|
||||||
// they are in turned derived from node ID.
|
// they are in turned derived from node ID.
|
||||||
let secret_zk_key =
|
let secret_zk_key = SecretKey::from(BigUint::from_bytes_le(
|
||||||
SecretKey::from(BigUint::from_bytes_le(private_key.public_key().as_bytes()));
|
private_key.as_ref().verifying_key().as_bytes(),
|
||||||
|
));
|
||||||
GeneralBlendConfig {
|
GeneralBlendConfig {
|
||||||
backend_core: Libp2pCoreBlendBackendSettings {
|
backend_core: Libp2pCoreBlendBackendSettings {
|
||||||
listening_address: Multiaddr::from_str(&format!(
|
listening_address: Multiaddr::from_str(&format!(
|
||||||
|
|||||||
@ -1,4 +1,7 @@
|
|||||||
use std::{num::NonZero, sync::Arc};
|
use std::{
|
||||||
|
num::{NonZero, NonZeroU64},
|
||||||
|
sync::Arc,
|
||||||
|
};
|
||||||
|
|
||||||
use chain_leader::LeaderConfig;
|
use chain_leader::LeaderConfig;
|
||||||
use cryptarchia_engine::EpochConfig;
|
use cryptarchia_engine::EpochConfig;
|
||||||
@ -17,6 +20,7 @@ use nomos_core::{
|
|||||||
sdp::{DeclarationMessage, Locator, ProviderId, ServiceParameters, ServiceType},
|
sdp::{DeclarationMessage, Locator, ProviderId, ServiceParameters, ServiceType},
|
||||||
};
|
};
|
||||||
use nomos_node::{SignedMantleTx, Transaction as _};
|
use nomos_node::{SignedMantleTx, Transaction as _};
|
||||||
|
use nomos_utils::math::NonNegativeF64;
|
||||||
use num_bigint::BigUint;
|
use num_bigint::BigUint;
|
||||||
use zksign::{PublicKey, SecretKey};
|
use zksign::{PublicKey, SecretKey};
|
||||||
|
|
||||||
@ -175,6 +179,14 @@ pub fn create_consensus_configs(
|
|||||||
threshold: 1,
|
threshold: 1,
|
||||||
timestamp: 0,
|
timestamp: 0,
|
||||||
},
|
},
|
||||||
|
service_rewards_params: nomos_ledger::mantle::sdp::ServiceRewardsParameters {
|
||||||
|
blend: nomos_ledger::mantle::sdp::rewards::blend::RewardsParameters {
|
||||||
|
rounds_per_session: NonZeroU64::new(10).unwrap(),
|
||||||
|
message_frequency_per_round: NonNegativeF64::try_from(1.0).unwrap(),
|
||||||
|
num_blend_layers: NonZeroU64::new(3).unwrap(),
|
||||||
|
minimum_network_size: NonZeroU64::new(1).unwrap(),
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ pub mod wallet;
|
|||||||
use blend::GeneralBlendConfig;
|
use blend::GeneralBlendConfig;
|
||||||
use consensus::{GeneralConsensusConfig, ProviderInfo, create_genesis_tx_with_declarations};
|
use consensus::{GeneralConsensusConfig, ProviderInfo, create_genesis_tx_with_declarations};
|
||||||
use da::GeneralDaConfig;
|
use da::GeneralDaConfig;
|
||||||
use key_management_system::{
|
use key_management_system_service::{
|
||||||
backend::preload::PreloadKMSBackendSettings,
|
backend::preload::PreloadKMSBackendSettings,
|
||||||
keys::{Ed25519Key, Key, ZkKey},
|
keys::{Ed25519Key, Key, ZkKey},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -16,37 +16,37 @@ workspace = true
|
|||||||
default = []
|
default = []
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1"
|
anyhow = "1"
|
||||||
async-trait = "0.1"
|
async-trait = "0.1"
|
||||||
broadcast-service = { workspace = true }
|
broadcast-service = { workspace = true }
|
||||||
chain-service = { workspace = true }
|
chain-service = { workspace = true }
|
||||||
common-http-client = { workspace = true }
|
common-http-client = { workspace = true }
|
||||||
futures = { default-features = false, version = "0.3" }
|
futures = { default-features = false, version = "0.3" }
|
||||||
groth16 = { workspace = true }
|
groth16 = { workspace = true }
|
||||||
hex = { version = "0.4.3", default-features = false }
|
hex = { version = "0.4.3", default-features = false }
|
||||||
key-management-system = { workspace = true }
|
key-management-system-service = { workspace = true }
|
||||||
kzgrs-backend = { workspace = true }
|
kzgrs-backend = { workspace = true }
|
||||||
nomos-core = { workspace = true }
|
nomos-core = { workspace = true }
|
||||||
nomos-da-network-core = { workspace = true }
|
nomos-da-network-core = { workspace = true }
|
||||||
nomos-da-network-service = { workspace = true }
|
nomos-da-network-service = { workspace = true }
|
||||||
nomos-executor = { workspace = true, default-features = false, features = ["testing", "tracing"] }
|
nomos-executor = { workspace = true, default-features = false, features = ["testing", "tracing"] }
|
||||||
nomos-http-api-common = { workspace = true }
|
nomos-http-api-common = { workspace = true }
|
||||||
nomos-libp2p = { workspace = true }
|
nomos-libp2p = { workspace = true }
|
||||||
nomos-network = { workspace = true, features = ["libp2p"] }
|
nomos-network = { workspace = true, features = ["libp2p"] }
|
||||||
nomos-node = { workspace = true, default-features = false, features = ["testing"] }
|
nomos-node = { workspace = true, default-features = false, features = ["testing"] }
|
||||||
nomos-tracing = { workspace = true }
|
nomos-tracing = { workspace = true }
|
||||||
nomos-tracing-service = { workspace = true }
|
nomos-tracing-service = { workspace = true }
|
||||||
nomos-utils = { workspace = true }
|
nomos-utils = { workspace = true }
|
||||||
prometheus-http-query = "0.8"
|
prometheus-http-query = "0.8"
|
||||||
rand = { workspace = true }
|
rand = { workspace = true }
|
||||||
reqwest = { workspace = true, features = ["json"] }
|
reqwest = { workspace = true, features = ["json"] }
|
||||||
serde = { workspace = true }
|
serde = { workspace = true }
|
||||||
serde_json = { workspace = true }
|
serde_json = { workspace = true }
|
||||||
serde_with = { workspace = true }
|
serde_with = { workspace = true }
|
||||||
serde_yaml = { workspace = true }
|
serde_yaml = { workspace = true }
|
||||||
tempfile = { workspace = true }
|
tempfile = { workspace = true }
|
||||||
testing-framework-config = { workspace = true }
|
testing-framework-config = { workspace = true }
|
||||||
thiserror = { workspace = true }
|
thiserror = { workspace = true }
|
||||||
tokio = { workspace = true, features = ["macros", "process", "rt-multi-thread", "time"] }
|
tokio = { workspace = true, features = ["macros", "process", "rt-multi-thread", "time"] }
|
||||||
tracing = { workspace = true }
|
tracing = { workspace = true }
|
||||||
tx-service = { workspace = true, features = ["libp2p", "mock"] }
|
tx-service = { workspace = true, features = ["libp2p", "mock"] }
|
||||||
|
|||||||
@ -85,7 +85,7 @@ fn ensure_network_adapter(cryptarchia: &mut Mapping) {
|
|||||||
let mut network = Mapping::new();
|
let mut network = Mapping::new();
|
||||||
network.insert(
|
network.insert(
|
||||||
Value::String("topic".into()),
|
Value::String("topic".into()),
|
||||||
Value::String(nomos_node::CONSENSUS_TOPIC.into()),
|
Value::String("/cryptarchia/proto".into()),
|
||||||
);
|
);
|
||||||
cryptarchia.insert(
|
cryptarchia.insert(
|
||||||
Value::String("network_adapter_settings".into()),
|
Value::String("network_adapter_settings".into()),
|
||||||
|
|||||||
@ -89,7 +89,7 @@ fn ensure_network_adapter(cryptarchia: &mut Mapping) {
|
|||||||
let mut network = Mapping::new();
|
let mut network = Mapping::new();
|
||||||
network.insert(
|
network.insert(
|
||||||
Value::String("topic".into()),
|
Value::String("topic".into()),
|
||||||
Value::String(nomos_node::CONSENSUS_TOPIC.into()),
|
Value::String("/cryptarchia/proto".into()),
|
||||||
);
|
);
|
||||||
cryptarchia.insert(
|
cryptarchia.insert(
|
||||||
Value::String("network_adapter_settings".into()),
|
Value::String("network_adapter_settings".into()),
|
||||||
|
|||||||
@ -18,7 +18,7 @@ use configs::{
|
|||||||
};
|
};
|
||||||
use futures::future::join_all;
|
use futures::future::join_all;
|
||||||
use groth16::fr_to_bytes;
|
use groth16::fr_to_bytes;
|
||||||
use key_management_system::{
|
use key_management_system_service::{
|
||||||
backend::preload::PreloadKMSBackendSettings,
|
backend::preload::PreloadKMSBackendSettings,
|
||||||
keys::{Ed25519Key, Key, ZkKey},
|
keys::{Ed25519Key, Key, ZkKey},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -123,10 +123,12 @@ async fn wait_for_readiness(
|
|||||||
) -> Result<(), ReadinessError> {
|
) -> Result<(), ReadinessError> {
|
||||||
info!("waiting for local network readiness");
|
info!("waiting for local network readiness");
|
||||||
topology.wait_network_ready().await?;
|
topology.wait_network_ready().await?;
|
||||||
if !skip_membership {
|
if skip_membership {
|
||||||
info!("waiting for membership readiness");
|
// Allow callers to bypass deeper readiness for lightweight demos.
|
||||||
topology.wait_membership_ready().await?;
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
info!("waiting for membership readiness");
|
||||||
|
topology.wait_membership_ready().await?;
|
||||||
info!("waiting for DA balancer readiness");
|
info!("waiting for DA balancer readiness");
|
||||||
topology.wait_da_balancer_ready().await
|
topology.wait_da_balancer_ready().await
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,26 +13,26 @@ version = { workspace = true }
|
|||||||
workspace = true
|
workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
axum = { default-features = false, features = ["http1", "http2", "json", "tokio"], version = "0.7.5" }
|
axum = { default-features = false, features = ["http1", "http2", "json", "tokio"], version = "0.7.5" }
|
||||||
clap = { default-features = false, version = "4" }
|
clap = { default-features = false, version = "4" }
|
||||||
groth16 = { workspace = true }
|
groth16 = { workspace = true }
|
||||||
hex = { workspace = true }
|
hex = { workspace = true }
|
||||||
key-management-system = { workspace = true }
|
key-management-system-service = { workspace = true }
|
||||||
nomos-core = { workspace = true }
|
nomos-core = { workspace = true }
|
||||||
nomos-da-network-core = { workspace = true }
|
nomos-da-network-core = { workspace = true }
|
||||||
nomos-executor = { workspace = true }
|
nomos-executor = { workspace = true }
|
||||||
nomos-libp2p = { workspace = true }
|
nomos-libp2p = { workspace = true }
|
||||||
nomos-node = { workspace = true }
|
nomos-node = { workspace = true }
|
||||||
nomos-tracing-service = { workspace = true }
|
nomos-tracing-service = { workspace = true }
|
||||||
nomos-utils = { workspace = true }
|
nomos-utils = { workspace = true }
|
||||||
rand = { workspace = true }
|
rand = { workspace = true }
|
||||||
reqwest = { workspace = true }
|
reqwest = { workspace = true }
|
||||||
serde = { default-features = false, version = "1" }
|
serde = { default-features = false, version = "1" }
|
||||||
serde_json = { default-features = false, version = "1.0" }
|
serde_json = { default-features = false, version = "1.0" }
|
||||||
serde_path_to_error = "0.1"
|
serde_path_to_error = "0.1"
|
||||||
serde_with = { workspace = true }
|
serde_with = { workspace = true }
|
||||||
serde_yaml = "0.9"
|
serde_yaml = "0.9"
|
||||||
subnetworks-assignations = { workspace = true }
|
subnetworks-assignations = { workspace = true }
|
||||||
testing-framework-config = { workspace = true }
|
testing-framework-config = { workspace = true }
|
||||||
tokio = { default-features = false, features = ["macros", "net", "rt-multi-thread"], version = "1" }
|
tokio = { default-features = false, features = ["macros", "net", "rt-multi-thread"], version = "1" }
|
||||||
tracing = { workspace = true }
|
tracing = { workspace = true }
|
||||||
|
|||||||
@ -2,7 +2,7 @@ use std::{collections::HashMap, net::Ipv4Addr, str::FromStr as _};
|
|||||||
|
|
||||||
use groth16::fr_to_bytes;
|
use groth16::fr_to_bytes;
|
||||||
use hex;
|
use hex;
|
||||||
use key_management_system::{
|
use key_management_system_service::{
|
||||||
backend::preload::PreloadKMSBackendSettings,
|
backend::preload::PreloadKMSBackendSettings,
|
||||||
keys::{Ed25519Key, Key, ZkKey},
|
keys::{Ed25519Key, Key, ZkKey},
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user