Skip to content

feat(integration): wrappers, adapters, bench, tests, docs - #5

Merged
cherninkiy merged 12 commits into
mainfrom
dev
Apr 11, 2026
Merged

feat(integration): wrappers, adapters, bench, tests, docs#5
cherninkiy merged 12 commits into
mainfrom
dev

Conversation

@cherninkiy

@cherninkiy cherninkiy commented Apr 7, 2026

Copy link
Copy Markdown
Owner
  • Integrated Merkle batch signing core and adapter glue.
  • Removed obsolete external Merkle dependency and aligned CI/tests.
  • Added Merkle, batch-signing, and Streebog coverage.
  • Synced EN/RU docs with current implementation.

- 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

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_tree submodule and related third-party build/test wiring.
  • Added src/merkle/* and src/batch_signing* (+ adapters) and a new batch_signing_core library 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.

Comment thread src/batch_signing.c Outdated
Comment thread src/batch_signing.c
Comment thread src/batch_signing.c Outdated
Comment thread src/merkle/merkle.c Outdated
Comment thread .github/workflows/ci.yml Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/batch_signing.c
Comment thread src/batch_signing.c Outdated
Comment thread src/batch_signing.c
Comment thread src/batch_signing.c
Comment thread src/batch_signing.c
Comment thread tests/test_batch_signing.c
Comment thread src/merkle/merkle.h
Comment thread src/CMakeLists.txt

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/batch_signing.c
Comment thread src/merkle/merkle.h
Comment thread src/merkle/merkle.h
Comment thread src/batch_signing.c
@cherninkiy
cherninkiy merged commit b904dac into main Apr 11, 2026
7 checks passed
@cherninkiy
cherninkiy deleted the dev branch April 11, 2026 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants