feat(integration): wrappers, adapters, bench, tests, docs - #5
Conversation
- Remove iaik_merkle_tree target from third_party CMake\n- Drop cppunit install and test_merkletree from CI checks\n- Remove iaik_merkle_tree submodule from tracked config
- Rename adapters_smoke.c to test_adapters_smoke.c\n- Update tests CMake source reference for smoke target\n- Keep test target name unchanged for CI compatibility
- Rewrite Merkle comments in English for codebase consistency\n- Reuse hash buffers to avoid per-node allocations\n- Allow proof verification with zero-length proof input
- Add test_streebog for one-shot and streaming consistency\n- Verify 256-bit and 512-bit digest modes\n- Register test target locally and in CI ctest filter
- Add batch_signing API with robust serialization format\n- Add adapter callbacks for bb_algorithm sign and verify\n- Add batch_signing_core target and wire it in src CMake
- Add deterministic Merkle proof tests including tamper checks\n- Add batch signing roundtrip and deserialize verification checks\n- Add adapter-integrated batch sign and verify coverage
- Add explicit batch_bench.h entry in src tree\n- Replace wildcard batch_signing entry with concrete files\n- Keep EN and RU structure sections synchronized
- Rename batch_signing_adapters files to batch_adapters\n- Update include guards and header includes\n- Update CMake target sources and batch signing test include
- Replace batch_signing_adapters entries with batch_adapters - Add short descriptions for batch_adapters files in EN and RU - Keep repository structure sections synchronized
- Replace stale SHA-256 fallback note in prerequisites - Clarify libssl-dev is used for Kryzhovnik build - Keep EN and RU prerequisites aligned
There was a problem hiding this comment.
Pull request overview
This PR integrates an in-repo Merkle tree and a Merkle-based batch-signing core, removing the previous external Merkle submodule and updating build/test/docs accordingly.
Changes:
- Removed the
iaik_merkle_treesubmodule and related third-party build/test wiring. - Added
src/merkle/*andsrc/batch_signing*(+ adapters) and a newbatch_signing_corelibrary target. - Added new CTest executables for Merkle, batch signing, and Streebog; updated EN/RU READMEs.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| third_party/CMakeLists.txt | Removes manual build/test integration for the old external Merkle tree dependency. |
| .gitmodules | Drops the third_party/iaik_merkle_tree submodule entry. |
| src/CMakeLists.txt | Introduces batch_signing_core static library composed of Merkle + batch-signing + adapters. |
| src/merkle/merkle.h / src/merkle/merkle.c | Adds an internal Merkle tree implementation (build, root, proofs, verification). |
| src/batch_signing.h / src/batch_signing.c | Adds batch signer, signature format, serialization/deserialization, and verification. |
| src/batch_adapters.h / src/batch_adapters.c | Adds adapter callbacks to connect batch signing to the existing bb_algorithm API. |
| tests/CMakeLists.txt | Adds new test executables (test_merkle, test_batch_signing, test_streebog) and fixes adapters smoke test filename. |
| tests/test_merkle.c | Adds Merkle tree proof/verification tests. |
| tests/test_batch_signing.c | Adds batch signing/serialization roundtrip and adapter integration tests. |
| tests/test_streebog.c | Adds a Streebog consistency smoke test. |
| tests/test_adapters_smoke.c | Adds/renames adapters smoke test source. |
| .github/workflows/ci.yml | Updates dependencies and test selection regex (but currently omits some new tests). |
| README.md / README_ru.md | Updates docs to reflect the integrated Merkle/batch-signing implementation and new tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 18 changed files in this pull request and generated 8 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 18 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.