Skip to content

feat: init structure of charon-cluster#19

Merged
varex83 merged 36 commits into
mainfrom
bohdan/charon-cluster-init
Nov 27, 2025
Merged

feat: init structure of charon-cluster#19
varex83 merged 36 commits into
mainfrom
bohdan/charon-cluster-init

Conversation

@varex83
Copy link
Copy Markdown
Collaborator

@varex83 varex83 commented Oct 23, 2025

This PR initializes structure of charon-cluster, since this module is big, it will be implemented in several PRs.

Part of #16

@varex83 varex83 self-assigned this Oct 23, 2025
- Added `thiserror` dependency for improved error handling.
- Introduced `blsful` module for TBLS implementation.
- Refactored `tbls` module to utilize new types and error handling.
- Created `tblsconv` module for type conversions between byte slices and cryptographic types.
- Removed the old `herumi` implementation and replaced it with the new `blsful` based implementation.
- Added utility functions for key and signature conversions.
- Updated types and error definitions for better clarity and consistency.
- Reformatted comments for better readability.
- Adjusted spacing and alignment in error messages for consistency.
- Ensured clarity in documentation regarding expected byte lengths for key and signature conversions.
…ignatures

- Updated dependencies in Cargo.toml and Cargo.lock to use the blst library.
- Removed blsful module and its associated code, including type conversions and utility functions.
- Introduced a new blst_impl module for the BLST implementation of threshold BLS signatures.
- Refactored tbls module to utilize the new blst implementation.
- Cleaned up error handling and types to align with the new library.
- Added workspace lints and improved documentation throughout the codebase.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 initializes the structure of the charon-cluster crate, establishing the foundational module organization and implementing threshold BLS signature support using the BLST library for Herumi compatibility.

Key Changes:

  • Implemented threshold BLS signatures (TBLS) in charon-crypto with BLST library
  • Added cluster manifest protobuf definitions and module structure
  • Reorganized dependencies and added cryptographic tooling

Reviewed Changes

Copilot reviewed 83 out of 84 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
crates/charon-crypto/src/types.rs Defines error types, constants, and type aliases for cryptographic operations
crates/charon-crypto/src/tbls.rs Declares the TBLS trait interface for threshold BLS signature operations
crates/charon-crypto/src/blst_impl.rs Implements TBLS trait using BLST library with Herumi compatibility
crates/charon-crypto/src/lib.rs Reorganizes module structure to export crypto functionality
crates/charon-cluster/src/lib.rs Establishes module structure for cluster management
crates/charon-cluster/src/manifestpb/* Adds protobuf definitions and generated code for cluster manifests
crates/charon-cluster/build.rs Implements protobuf compilation build script
Cargo.toml Adds workspace dependencies for cryptography and protobuf support

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/charon-crypto/src/tbls.rs Outdated
Comment thread crates/charon-crypto/src/tbls.rs Outdated
Comment thread crates/charon-crypto/src/tbls.rs Outdated
Comment thread crates/charon-crypto/src/tbls.rs Outdated
Comment thread crates/charon-crypto/src/tbls.rs
Comment thread crates/charon-crypto/src/tbls.rs Outdated
Comment thread crates/charon-crypto/src/tbls.rs Outdated
Comment thread crates/charon-crypto/src/tbls.rs Outdated
Comment thread crates/charon-cluster/src/examples/cluster-definition-005.json Outdated
@varex83 varex83 changed the base branch from main to bohdan/charon-crypto November 6, 2025 12:20
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Nov 6, 2025

Coverage (base → head): 88.63% → 88.56% ⬇️ 0.07 pp
Only posts when PR coverage is lower than the base branch's latest push (or freshly computed base).

@varex83
Copy link
Copy Markdown
Collaborator Author

varex83 commented Nov 25, 2025

Closes #32

@varex83 varex83 linked an issue Nov 26, 2025 that may be closed by this pull request
Base automatically changed from bohdan/charon-crypto to main November 26, 2025 20:07
@varex83 varex83 merged commit 9306bab into main Nov 27, 2025
7 checks passed
@varex83 varex83 deleted the bohdan/charon-cluster-init branch November 27, 2025 11:38
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.

Implement cluster/manifestpb

3 participants