Merge 9dc5c32354b05c45c22ec92eb4cc4fe72f795882 into 7a29b45cf49d1f52df5ac7367c2179400d4a592c

This commit is contained in:
Petar Radovic 2026-04-11 15:35:21 +03:00 committed by GitHub
commit c9b563be70
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 480 additions and 132 deletions

View File

@ -160,35 +160,33 @@ jobs:
RUST_LOG: "info"
run: cargo nextest run -p integration_tests -- --skip tps_test --skip indexer
# # TODO: Bring this back once we find the source of the errors.
# #
# integration-tests-indexer:
# runs-on: ubuntu-latest
# timeout-minutes: 60
# steps:
# - uses: actions/checkout@v5
# with:
# ref: ${{ github.event.pull_request.head.sha || github.head_ref }}
integration-tests-indexer:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha || github.head_ref }}
# - uses: ./.github/actions/install-system-deps
- uses: ./.github/actions/install-system-deps
# - uses: ./.github/actions/install-risc0
- uses: ./.github/actions/install-risc0
# - uses: ./.github/actions/install-logos-blockchain-circuits
# with:
# github-token: ${{ secrets.GITHUB_TOKEN }}
- uses: ./.github/actions/install-logos-blockchain-circuits
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
# - name: Install active toolchain
# run: rustup install
- name: Install active toolchain
run: rustup install
# - name: Install nextest
# run: cargo install --locked cargo-nextest
- name: Install nextest
run: cargo install --locked cargo-nextest
# - name: Run tests
# env:
# RISC0_DEV_MODE: "1"
# RUST_LOG: "info"
# run: cargo nextest run -p integration_tests indexer -- --skip tps_test
- name: Run tests
env:
RISC0_DEV_MODE: "1"
RUST_LOG: "info"
run: cargo nextest run -p integration_tests indexer -- --skip tps_test
valid-proof-test:
runs-on: ubuntu-latest

392
Cargo.lock generated
View File

@ -503,7 +503,7 @@ dependencies = [
"ark-ff 0.4.2",
"ark-std 0.4.0",
"tracing",
"tracing-subscriber",
"tracing-subscriber 0.2.25",
]
[[package]]
@ -515,7 +515,7 @@ dependencies = [
"ark-ff 0.5.0",
"ark-std 0.5.0",
"tracing",
"tracing-subscriber",
"tracing-subscriber 0.2.25",
]
[[package]]
@ -1137,7 +1137,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85a885520bf6249ab931a764ffdb87b0ceef48e6e7d807cfdb21b751e086e1ad"
dependencies = [
"prost 0.14.3",
"prost-types",
"prost-types 0.14.3",
"tonic",
"tonic-prost",
"ureq",
@ -1766,6 +1766,15 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b"
[[package]]
name = "crossbeam-channel"
version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2"
dependencies = [
"crossbeam-utils",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.6"
@ -3073,6 +3082,17 @@ dependencies = [
"windows-sys 0.61.2",
]
[[package]]
name = "hostname"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
dependencies = [
"libc",
"match_cfg",
"winapi",
]
[[package]]
name = "html-escape"
version = "0.2.13"
@ -4379,7 +4399,7 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
[[package]]
name = "logos-blockchain-blend-crypto"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"blake2",
"logos-blockchain-groth16",
@ -4393,10 +4413,11 @@ dependencies = [
[[package]]
name = "logos-blockchain-blend-message"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"blake2",
"derivative",
"hex",
"itertools 0.14.0",
"logos-blockchain-blend-crypto",
"logos-blockchain-blend-proofs",
@ -4415,7 +4436,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-blend-proofs"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"ed25519-dalek",
"generic-array 1.3.5",
@ -4428,12 +4449,13 @@ dependencies = [
"num-bigint 0.4.6",
"serde",
"thiserror 1.0.69",
"zeroize",
]
[[package]]
name = "logos-blockchain-chain-broadcast-service"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"derivative",
@ -4449,7 +4471,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-chain-service"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"bytes",
@ -4464,6 +4486,7 @@ dependencies = [
"logos-blockchain-services-utils",
"logos-blockchain-storage-service",
"logos-blockchain-time-service",
"logos-blockchain-tracing",
"logos-blockchain-utils",
"num-bigint 0.4.6",
"overwatch",
@ -4479,7 +4502,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-circuits-prover"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"logos-blockchain-circuits-utils",
"tempfile",
@ -4488,7 +4511,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-circuits-utils"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"dirs",
]
@ -4496,7 +4519,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-common-http-client"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"futures",
"hex",
@ -4516,7 +4539,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-core"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"ark-ff 0.4.2",
"bincode",
@ -4546,7 +4569,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-cryptarchia-engine"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"cfg_eval",
"logos-blockchain-pol",
@ -4562,7 +4585,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-cryptarchia-sync"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"bytes",
"futures",
@ -4579,7 +4602,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-groth16"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"ark-bn254 0.4.0",
"ark-ec 0.4.2",
@ -4597,11 +4620,12 @@ dependencies = [
[[package]]
name = "logos-blockchain-http-api-common"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"axum 0.7.9",
"logos-blockchain-core",
"logos-blockchain-key-management-system-keys",
"logos-blockchain-tracing",
"serde",
"serde_json",
"serde_with",
@ -4611,7 +4635,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-key-management-system-keys"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"bytes",
@ -4637,7 +4661,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-key-management-system-macros"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"proc-macro2",
"quote",
@ -4647,7 +4671,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-key-management-system-operators"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"logos-blockchain-blend-proofs",
@ -4663,12 +4687,13 @@ dependencies = [
[[package]]
name = "logos-blockchain-key-management-system-service"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"log",
"logos-blockchain-key-management-system-keys",
"logos-blockchain-key-management-system-operators",
"logos-blockchain-tracing",
"overwatch",
"serde",
"thiserror 2.0.18",
@ -4679,7 +4704,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-ledger"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"derivative",
"logos-blockchain-blend-crypto",
@ -4696,6 +4721,7 @@ dependencies = [
"rand 0.8.5",
"rpds",
"serde",
"serde_arrays",
"thiserror 1.0.69",
"tracing",
]
@ -4703,12 +4729,13 @@ dependencies = [
[[package]]
name = "logos-blockchain-network-service"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"futures",
"logos-blockchain-core",
"logos-blockchain-cryptarchia-sync",
"logos-blockchain-tracing",
"overwatch",
"serde",
"tokio",
@ -4719,7 +4746,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-poc"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"logos-blockchain-circuits-prover",
"logos-blockchain-circuits-utils",
@ -4735,7 +4762,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-pol"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"astro-float",
"logos-blockchain-circuits-prover",
@ -4754,7 +4781,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-poq"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"logos-blockchain-circuits-prover",
"logos-blockchain-circuits-utils",
@ -4771,7 +4798,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-poseidon2"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"ark-bn254 0.4.0",
"ark-ff 0.4.2",
@ -4782,7 +4809,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-services-utils"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"futures",
@ -4797,13 +4824,14 @@ dependencies = [
[[package]]
name = "logos-blockchain-storage-service"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"bytes",
"futures",
"logos-blockchain-core",
"logos-blockchain-cryptarchia-engine",
"logos-blockchain-tracing",
"overwatch",
"serde",
"thiserror 1.0.69",
@ -4814,12 +4842,13 @@ dependencies = [
[[package]]
name = "logos-blockchain-time-service"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"futures",
"log",
"logos-blockchain-cryptarchia-engine",
"logos-blockchain-tracing",
"overwatch",
"sntpc",
"thiserror 2.0.18",
@ -4829,10 +4858,33 @@ dependencies = [
"tracing",
]
[[package]]
name = "logos-blockchain-tracing"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"opentelemetry",
"opentelemetry-appender-tracing",
"opentelemetry-http",
"opentelemetry-otlp",
"opentelemetry-semantic-conventions",
"opentelemetry_sdk",
"rand 0.8.5",
"serde",
"tokio",
"tracing",
"tracing-appender",
"tracing-gelf",
"tracing-loki",
"tracing-opentelemetry",
"tracing-subscriber 0.3.23",
"url",
]
[[package]]
name = "logos-blockchain-utils"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"async-trait",
"blake2",
@ -4849,7 +4901,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-utxotree"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"ark-ff 0.4.2",
"logos-blockchain-groth16",
@ -4863,7 +4915,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-witness-generator"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"tempfile",
]
@ -4871,7 +4923,7 @@ dependencies = [
[[package]]
name = "logos-blockchain-zksign"
version = "0.2.1"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git#81dbb4517aa466358ed425d92fad7d45a0c419fd"
source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=44c9513a1525372b725ba1010169d04ab00768b5#44c9513a1525372b725ba1010169d04ab00768b5"
dependencies = [
"logos-blockchain-circuits-prover",
"logos-blockchain-circuits-utils",
@ -4885,6 +4937,16 @@ dependencies = [
"tracing",
]
[[package]]
name = "loki-api"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bdc38a304f59a03e6efa3876766a48c70a766a93f88341c3fff4212834b8e327"
dependencies = [
"prost 0.13.5",
"prost-types 0.13.5",
]
[[package]]
name = "lru-slab"
version = "0.1.2"
@ -4998,6 +5060,21 @@ dependencies = [
"syn 2.0.117",
]
[[package]]
name = "match_cfg"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
[[package]]
name = "matchers"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
dependencies = [
"regex-automata",
]
[[package]]
name = "matchit"
version = "0.7.3"
@ -5305,6 +5382,15 @@ dependencies = [
"thiserror 2.0.18",
]
[[package]]
name = "nu-ansi-term"
version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
dependencies = [
"windows-sys 0.59.0",
]
[[package]]
name = "num"
version = "0.4.3"
@ -5545,6 +5631,98 @@ dependencies = [
"vcpkg",
]
[[package]]
name = "opentelemetry"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0"
dependencies = [
"futures-core",
"futures-sink",
"js-sys",
"pin-project-lite",
"thiserror 2.0.18",
]
[[package]]
name = "opentelemetry-appender-tracing"
version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef6a1ac5ca3accf562b8c306fa8483c85f4390f768185ab775f242f7fe8fdcc2"
dependencies = [
"opentelemetry",
"tracing",
"tracing-core",
"tracing-subscriber 0.3.23",
]
[[package]]
name = "opentelemetry-http"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d"
dependencies = [
"async-trait",
"bytes",
"http",
"opentelemetry",
"reqwest",
]
[[package]]
name = "opentelemetry-otlp"
version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f69cd6acbb9af919df949cd1ec9e5e7fdc2ef15d234b6b795aaa525cc02f71f"
dependencies = [
"http",
"opentelemetry",
"opentelemetry-http",
"opentelemetry-proto",
"opentelemetry_sdk",
"prost 0.14.3",
"reqwest",
"thiserror 2.0.18",
"tokio",
"tonic",
]
[[package]]
name = "opentelemetry-proto"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7175df06de5eaee9909d4805a3d07e28bb752c34cab57fa9cff549da596b30f"
dependencies = [
"opentelemetry",
"opentelemetry_sdk",
"prost 0.14.3",
"tonic",
"tonic-prost",
]
[[package]]
name = "opentelemetry-semantic-conventions"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e62e29dfe041afb8ed2a6c9737ab57db4907285d999ef8ad3a59092a36bdc846"
[[package]]
name = "opentelemetry_sdk"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e14ae4f5991976fd48df6d843de219ca6d31b01daaab2dad5af2badeded372bd"
dependencies = [
"futures-channel",
"futures-executor",
"futures-util",
"opentelemetry",
"percent-encoding",
"rand 0.9.2",
"thiserror 2.0.18",
"tokio",
"tokio-stream",
]
[[package]]
name = "optfield"
version = "0.4.0"
@ -5975,6 +6153,15 @@ dependencies = [
"syn 2.0.117",
]
[[package]]
name = "prost-types"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16"
dependencies = [
"prost 0.13.5",
]
[[package]]
name = "prost-types"
version = "0.14.3"
@ -7227,6 +7414,15 @@ dependencies = [
"serde",
]
[[package]]
name = "serde_arrays"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94a16b99c5ea4fe3daccd14853ad260ec00ea043b2708d1fd1da3106dcd8d9df"
dependencies = [
"serde",
]
[[package]]
name = "serde_core"
version = "1.0.228"
@ -7475,6 +7671,15 @@ dependencies = [
"digest",
]
[[package]]
name = "sharded-slab"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
dependencies = [
"lazy_static",
]
[[package]]
name = "shlex"
version = "1.3.0"
@ -7528,6 +7733,12 @@ version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
[[package]]
name = "snap"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b"
[[package]]
name = "sntpc"
version = "0.5.2"
@ -7933,6 +8144,15 @@ dependencies = [
"syn 2.0.117",
]
[[package]]
name = "thread_local"
version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
dependencies = [
"cfg-if",
]
[[package]]
name = "throw_error"
version = "0.3.1"
@ -8333,6 +8553,18 @@ dependencies = [
"tracing-core",
]
[[package]]
name = "tracing-appender"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf"
dependencies = [
"crossbeam-channel",
"thiserror 2.0.18",
"time",
"tracing-subscriber 0.3.23",
]
[[package]]
name = "tracing-attributes"
version = "0.1.31"
@ -8364,6 +8596,82 @@ dependencies = [
"tracing",
]
[[package]]
name = "tracing-gelf"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7c0170f1bf67b749d4377c2da1d99d6e722600051ee53870cfb6f618611e29e"
dependencies = [
"bytes",
"futures-channel",
"futures-util",
"hostname",
"serde_json",
"thiserror 1.0.69",
"tokio",
"tokio-util",
"tracing-core",
"tracing-futures",
"tracing-subscriber 0.3.23",
]
[[package]]
name = "tracing-log"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]]
name = "tracing-loki"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba3beec919fbdf99d719de8eda6adae3281f8a5b71ae40431f44dc7423053d34"
dependencies = [
"loki-api",
"reqwest",
"serde",
"serde_json",
"snap",
"tokio",
"tokio-stream",
"tracing",
"tracing-core",
"tracing-log",
"tracing-serde",
"tracing-subscriber 0.3.23",
"url",
]
[[package]]
name = "tracing-opentelemetry"
version = "0.32.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ac28f2d093c6c477eaa76b23525478f38de514fa9aeb1285738d4b97a9552fc"
dependencies = [
"js-sys",
"opentelemetry",
"smallvec",
"tracing",
"tracing-core",
"tracing-subscriber 0.3.23",
"web-time",
]
[[package]]
name = "tracing-serde"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1"
dependencies = [
"serde",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.2.25"
@ -8373,6 +8681,24 @@ dependencies = [
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319"
dependencies = [
"matchers",
"nu-ansi-term",
"once_cell",
"regex-automata",
"sharded-slab",
"smallvec",
"thread_local",
"tracing",
"tracing-core",
"tracing-log",
]
[[package]]
name = "triomphe"
version = "0.1.15"

View File

@ -120,11 +120,11 @@ tokio-retry = "0.3.0"
schemars = "1.2"
async-stream = "0.3.6"
logos-blockchain-common-http-client = { git = "https://github.com/logos-blockchain/logos-blockchain.git" }
logos-blockchain-key-management-system-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git" }
logos-blockchain-core = { git = "https://github.com/logos-blockchain/logos-blockchain.git" }
logos-blockchain-chain-broadcast-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git" }
logos-blockchain-chain-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git" }
logos-blockchain-common-http-client = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "44c9513a1525372b725ba1010169d04ab00768b5" }
logos-blockchain-key-management-system-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "44c9513a1525372b725ba1010169d04ab00768b5" }
logos-blockchain-core = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "44c9513a1525372b725ba1010169d04ab00768b5" }
logos-blockchain-chain-broadcast-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "44c9513a1525372b725ba1010169d04ab00768b5" }
logos-blockchain-chain-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "44c9513a1525372b725ba1010169d04ab00768b5" }
rocksdb = { version = "0.24.0", default-features = false, features = [
"snappy",

View File

@ -1,12 +1,23 @@
port: 4400
n_hosts: 4
n_hosts: 1
timeout: 10
faucet_settings:
enabled: false
deployment_settings_storage_path: deployment-settings.yaml
entropy_file: /etc/logos-blockchain/test_entropy
mode: Setup
# Tracing
tracing_settings:
logger: Stdout
logger:
stdout: true
stderr: true
tracing: None
filter: None
metrics: None
console: None
level: DEBUG
level: Debug

View File

@ -1,14 +1,15 @@
services:
cfgsync:
image: ghcr.io/logos-blockchain/logos-blockchain@sha256:000982e751dfd346ca5346b8025c685fc3abc585079c59cde3bde7fd63100657
image: ghcr.io/logos-blockchain/logos-blockchain@sha256:093d0319a366a5b7b7db1a29fd54510dea37336f24accbda6d5d1b94d15fb64b
volumes:
- ./scripts:/etc/logos-blockchain/scripts
- ./cfgsync.yaml:/etc/logos-blockchain/cfgsync.yaml:z
- ./test_entropy:/etc/logos-blockchain/test_entropy:z
entrypoint: /etc/logos-blockchain/scripts/run_cfgsync.sh
logos-blockchain-node-0:
image: ghcr.io/logos-blockchain/logos-blockchain@sha256:000982e751dfd346ca5346b8025c685fc3abc585079c59cde3bde7fd63100657
image: ghcr.io/logos-blockchain/logos-blockchain@sha256:093d0319a366a5b7b7db1a29fd54510dea37336f24accbda6d5d1b94d15fb64b
ports:
- "${PORT:-8080}:18080/tcp"
volumes:
@ -18,29 +19,3 @@ services:
- cfgsync
entrypoint: /etc/logos-blockchain/scripts/run_logos_blockchain_node.sh
logos-blockchain-node-1:
image: ghcr.io/logos-blockchain/logos-blockchain@sha256:000982e751dfd346ca5346b8025c685fc3abc585079c59cde3bde7fd63100657
volumes:
- ./scripts:/etc/logos-blockchain/scripts
- ./kzgrs_test_params:/kzgrs_test_params:z
depends_on:
- cfgsync
entrypoint: /etc/logos-blockchain/scripts/run_logos_blockchain_node.sh
logos-blockchain-node-2:
image: ghcr.io/logos-blockchain/logos-blockchain@sha256:000982e751dfd346ca5346b8025c685fc3abc585079c59cde3bde7fd63100657
volumes:
- ./scripts:/etc/logos-blockchain/scripts
- ./kzgrs_test_params:/kzgrs_test_params:z
depends_on:
- cfgsync
entrypoint: /etc/logos-blockchain/scripts/run_logos_blockchain_node.sh
logos-blockchain-node-3:
image: ghcr.io/logos-blockchain/logos-blockchain@sha256:000982e751dfd346ca5346b8025c685fc3abc585079c59cde3bde7fd63100657
volumes:
- ./scripts:/etc/logos-blockchain/scripts
- ./kzgrs_test_params:/kzgrs_test_params:z
depends_on:
- cfgsync
entrypoint: /etc/logos-blockchain/scripts/run_logos_blockchain_node.sh

View File

@ -9,5 +9,21 @@ export CFG_FILE_PATH="/config.yaml" \
LOG_LEVEL="INFO" \
POL_PROOF_DEV_MODE=true
/usr/bin/logos-blockchain-cfgsync-client && \
exec /usr/bin/logos-blockchain-node /config.yaml
/usr/bin/logos-blockchain-cfgsync-client
# Download deployment settings generated by cfgsync
curl -sf "${CFG_SERVER_ADDR}/deployment-settings" -o /deployment-settings.yaml
# Single-node test setup: bump slot_activation_coeff from 1/10 to 1/2 so blocks
# (and LIB) advance ~5x faster, keeping the indexer integration test within budget.
# Safe with 1 node since there are no reorgs.
# Range-based sed: within the 4 lines after `slot_activation_coeff:`, rewrite any
# `denominator: <num>` to `denominator: 2` regardless of field order or spacing.
sed -i '/slot_activation_coeff:/,+4 s/denominator: [0-9]\+/denominator: 2/' /deployment-settings.yaml
# Lower security_param so finalization (LIB) lag is shorter — the indexer only
# sees finalized blocks, so a smaller security_param makes inscriptions visible
# to the indexer much sooner.
sed -i 's/security_param: [0-9]\+/security_param: 10/' /deployment-settings.yaml
exec /usr/bin/logos-blockchain-node /config.yaml --deployment /deployment-settings.yaml

1
bedrock/test_entropy Normal file
View File

@ -0,0 +1 @@
deterministic-lez-test-entropy-seed-do-not-use-in-production

View File

@ -144,7 +144,22 @@ impl IndexerCore {
info!("Parsed {} L2 blocks with ids {:?}", l2_block_vec.len(), l2_blocks_parsed_ids);
for l2_block in l2_block_vec {
self.store.put_block(l2_block.clone(), l1_header).await?;
// TODO: proper fix is to make the sequencer's genesis include a
// trailing `clock_invocation(0)` (and have the indexer's
// `open_db_with_genesis` not pre-apply state transitions) so the
// inscribed genesis can flow through `put_block` like any other
// block. For now we skip re-applying it.
//
// The channel-start (block_id == 1) is the sequencer's genesis
// inscription that we re-discover during initial search. The
// indexer already has its own locally-constructed genesis in
// the store from `open_db_with_genesis`, so re-applying the
// inscribed copy is both redundant and would fail the strict
// block validation in `put_block` (the inscribed genesis lacks
// the trailing clock invocation).
if l2_block.header.block_id != 1 {
self.store.put_block(l2_block.clone(), l1_header).await?;
}
yield Ok(l2_block);
}

View File

@ -211,7 +211,7 @@ pub fn sequencer_config(
max_block_size,
mempool_max_size,
block_create_timeout,
retry_pending_blocks_timeout: Duration::from_mins(2),
retry_pending_blocks_timeout: Duration::from_secs(5),
initial_public_accounts: Some(initial_data.sequencer_initial_public_accounts()),
initial_private_accounts: Some(initial_data.sequencer_initial_private_accounts()),
signing_key: [37; 32],

View File

@ -17,27 +17,52 @@ use nssa::AccountId;
use tokio::test;
use wallet::cli::{Command, programs::native_token_transfer::AuthTransferSubcommand};
/// Timeout in milliseconds to reliably await for block finalization.
const L2_TO_L1_TIMEOUT_MILLIS: u64 = 600_000;
/// Maximum time to wait for the indexer to catch up to the sequencer.
const L2_TO_L1_TIMEOUT_MILLIS: u64 = 180_000;
/// Poll the indexer until its last finalized block id reaches the sequencer's
/// current last block id (and at least the genesis block has been advanced past),
/// or until [`L2_TO_L1_TIMEOUT_MILLIS`] elapses. Returns the last indexer block
/// id observed.
async fn wait_for_indexer_to_catch_up(ctx: &TestContext) -> u64 {
let timeout = Duration::from_millis(L2_TO_L1_TIMEOUT_MILLIS);
let mut last_ind: u64 = 1;
let inner = async {
loop {
let seq = sequencer_service_rpc::RpcClient::get_last_block_id(ctx.sequencer_client())
.await
.unwrap_or(0);
let ind = ctx
.indexer_client()
.get_last_finalized_block_id()
.await
.unwrap_or(1);
last_ind = ind;
if ind >= seq && ind > 1 {
info!("Indexer caught up: seq={seq}, ind={ind}");
return ind;
}
tokio::time::sleep(Duration::from_secs(2)).await;
}
};
tokio::time::timeout(timeout, inner)
.await
.unwrap_or_else(|_| {
info!("Indexer catch-up timed out: ind={last_ind}");
last_ind
})
}
#[test]
async fn indexer_test_run() -> Result<()> {
let ctx = TestContext::new().await?;
// RUN OBSERVATION
tokio::time::sleep(std::time::Duration::from_millis(L2_TO_L1_TIMEOUT_MILLIS)).await;
let last_block_indexer = wait_for_indexer_to_catch_up(&ctx).await;
let last_block_seq =
sequencer_service_rpc::RpcClient::get_last_block_id(ctx.sequencer_client()).await?;
info!("Last block on seq now is {last_block_seq}");
let last_block_indexer = ctx
.indexer_client()
.get_last_finalized_block_id()
.await
.unwrap();
info!("Last block on ind now is {last_block_indexer}");
assert!(last_block_indexer > 1);
@ -49,15 +74,8 @@ async fn indexer_test_run() -> Result<()> {
async fn indexer_block_batching() -> Result<()> {
let ctx = TestContext::new().await?;
// WAIT
info!("Waiting for indexer to parse blocks");
tokio::time::sleep(std::time::Duration::from_millis(L2_TO_L1_TIMEOUT_MILLIS)).await;
let last_block_indexer = ctx
.indexer_client()
.get_last_finalized_block_id()
.await
.unwrap();
let last_block_indexer = wait_for_indexer_to_catch_up(&ctx).await;
info!("Last block on ind now is {last_block_indexer}");
@ -152,9 +170,8 @@ async fn indexer_state_consistency() -> Result<()> {
info!("Successfully transferred privately to owned account");
// WAIT
info!("Waiting for indexer to parse blocks");
tokio::time::sleep(std::time::Duration::from_millis(L2_TO_L1_TIMEOUT_MILLIS)).await;
wait_for_indexer_to_catch_up(&ctx).await;
let acc1_ind_state = ctx
.indexer_client()
@ -240,7 +257,7 @@ async fn indexer_state_consistency_with_labels() -> Result<()> {
assert_eq!(acc_2_balance, 20100);
info!("Waiting for indexer to parse blocks");
tokio::time::sleep(std::time::Duration::from_millis(L2_TO_L1_TIMEOUT_MILLIS)).await;
wait_for_indexer_to_catch_up(&ctx).await;
let acc1_ind_state = ctx
.indexer_client()

View File

@ -3,7 +3,7 @@ use bedrock_client::BedrockClient;
pub use common::block::Block;
pub use logos_blockchain_core::mantle::{MantleTx, SignedMantleTx, ops::channel::MsgId};
use logos_blockchain_core::mantle::{
Op, OpProof, Transaction as _, TxHash, ledger,
Op, OpProof, Transaction as _,
ops::channel::{ChannelId, inscribe::InscriptionOp},
};
pub use logos_blockchain_key_management_system_service::keys::Ed25519Key;
@ -45,14 +45,11 @@ pub trait BlockSettlementClientTrait: Clone {
};
let inscribe_op_id = inscribe_op.id();
let ledger_tx = ledger::Tx::new(vec![], vec![]);
let inscribe_tx = MantleTx {
ops: vec![Op::ChannelInscribe(inscribe_op)],
ledger_tx,
// Altruistic test config
storage_gas_price: 0,
execution_gas_price: 0,
storage_gas_price: 0.into(),
execution_gas_price: 0.into(),
};
let tx_hash = inscribe_tx.hash();
@ -67,7 +64,6 @@ pub trait BlockSettlementClientTrait: Clone {
let signed_mantle_tx = SignedMantleTx {
ops_proofs: vec![OpProof::Ed25519Sig(signature)],
ledger_tx_proof: empty_ledger_signature(&tx_hash),
mantle_tx: inscribe_tx,
};
Ok((signed_mantle_tx, inscribe_op_id))
@ -118,10 +114,3 @@ impl BlockSettlementClientTrait for BlockSettlementClient {
&self.signing_key
}
}
fn empty_ledger_signature(
tx_hash: &TxHash,
) -> logos_blockchain_key_management_system_service::keys::ZkSignature {
logos_blockchain_key_management_system_service::keys::ZkKey::multi_sign(&[], tx_hash.as_ref())
.expect("multi-sign with empty key set works")
}