Skip to content

sdk%refac: consolidate corpus logic, JSON and hex helpers to dash-dev, define BlsScheme trait to supersede old layout - #21

Merged
kwvg merged 15 commits into
dashpay:developfrom
kwvg:bls_p2
Jul 28, 2026
Merged

sdk%refac: consolidate corpus logic, JSON and hex helpers to dash-dev, define BlsScheme trait to supersede old layout#21
kwvg merged 15 commits into
dashpay:developfrom
kwvg:bls_p2

Conversation

@kwvg

@kwvg kwvg commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Additional Information

  • {pk_to_g1,g1_to_pk} and {sig_to_g2,g2_to_sig} exist so the group arithmetic can be lifted without dragging serialization along with it
    • There is uneven cost to these operations due to the underlying scheme logic.
      • Chia's inner types are already affine points so its hooks are trivial.
      • IETF must round-trip through compress/uncompress because blst's key types are opaque. To sidestep this, secure_agg_point is a separate hook purely so IETF can skip re-validating keys it has already validated.
  • split_sk takes an into_share builder closure rather than returning a shared share type, because each facade owns its own and unifying them would leak scheme-specific types across the boundary.
  • A CodeQL rule (through base-sdk/trait-rules) now enforces mutual exclusion for BlsScheme to prevent a per-scheme override would silently shadow the shared implementation, forcing either code to be commonly defined or defined per-impl but not both simultaneously.

Breaking Changes

  • BlsScheme::recover_sig_shares now returns InsufficientShares when ids.len() != sigs.len(), where previously only sigs.len() < 2 was checked. The two slices are paired, so a mismatch would desync interpolation and could index out of bounds in interpolate_g2.

  • Test-support hex decoding now enforces length during the decode rather than after the fact, so odd-length input yields a hex error instead of a slice-index panic.

Superseded

  • dash-pkc's full feature now implies tests. Consumers building tests against full need no change; feature enumeration may need to be updated.

How Has This Been Tested?

cargo fmt --check
cargo test --features full
cargo clippy --features full --tests --benches
./contrib/lint_all.py --exclude lint_codeql
./contrib/lint/lint_codeql.py --with-suite rust-security-and-quality

Checklist

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional tests
  • I have made corresponding changes to the documentation (note: N/A)
  • I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

@kwvg kwvg added this to the 0.1 milestone Jul 28, 2026
@kwvg kwvg self-assigned this Jul 28, 2026
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a9d65109-7c0d-4e15-bba6-2c1e68673468

📥 Commits

Reviewing files that changed from the base of the PR and between d66be90 and 71ba3db.

📒 Files selected for processing (27)
  • contrib/codeql/lib/policy.qll
  • contrib/codeql/lib/traits.qll
  • contrib/codeql/trait.ql
  • pkgs/pkc/src/bls/blst_ffi.rs
  • pkgs/pkc/src/bls/chia_h2c.rs
  • pkgs/pkc/src/bls/scheme_chia.rs
  • pkgs/pkc/src/bls/scheme_ietf.rs
  • pkgs/pkc/src/bls/scheme_ops.rs
  • pkgs/pkc/src/bls_chia/agg.rs
  • pkgs/pkc/src/bls_chia/sk.rs
  • pkgs/pkc/src/bls_chia/threshold.rs
  • pkgs/pkc/src/bls_ietf/agg.rs
  • pkgs/pkc/src/bls_ietf/sk.rs
  • pkgs/pkc/src/bls_ietf/threshold.rs
  • pkgs/pkc/tests/bls_chia_aggregate.rs
  • pkgs/pkc/tests/bls_chia_dh.rs
  • pkgs/pkc/tests/bls_chia_keygen.rs
  • pkgs/pkc/tests/bls_chia_llmq.rs
  • pkgs/pkc/tests/bls_chia_ser.rs
  • pkgs/pkc/tests/bls_chia_sign.rs
  • pkgs/pkc/tests/bls_ietf_aggregate.rs
  • pkgs/pkc/tests/bls_ietf_dh.rs
  • pkgs/pkc/tests/bls_ietf_keygen.rs
  • pkgs/pkc/tests/bls_ietf_llmq.rs
  • pkgs/pkc/tests/bls_ietf_sign.rs
  • pkgs/pkc/tests/k256_keygen.rs
  • pkgs/pkc/tests/k256_sign.rs
💤 Files with no reviewable changes (1)
  • pkgs/pkc/src/bls/blst_ffi.rs
🚧 Files skipped from review as they are similar to previous changes (24)
  • contrib/codeql/lib/traits.qll
  • contrib/codeql/trait.ql
  • contrib/codeql/lib/policy.qll
  • pkgs/pkc/src/bls/chia_h2c.rs
  • pkgs/pkc/tests/bls_ietf_keygen.rs
  • pkgs/pkc/tests/k256_sign.rs
  • pkgs/pkc/src/bls_ietf/threshold.rs
  • pkgs/pkc/tests/bls_chia_keygen.rs
  • pkgs/pkc/tests/k256_keygen.rs
  • pkgs/pkc/src/bls_ietf/sk.rs
  • pkgs/pkc/tests/bls_ietf_aggregate.rs
  • pkgs/pkc/src/bls_chia/agg.rs
  • pkgs/pkc/src/bls_ietf/agg.rs
  • pkgs/pkc/src/bls_chia/sk.rs
  • pkgs/pkc/src/bls_chia/threshold.rs
  • pkgs/pkc/tests/bls_ietf_llmq.rs
  • pkgs/pkc/tests/bls_ietf_dh.rs
  • pkgs/pkc/tests/bls_chia_ser.rs
  • pkgs/pkc/tests/bls_chia_dh.rs
  • pkgs/pkc/tests/bls_chia_aggregate.rs
  • pkgs/pkc/src/bls/scheme_chia.rs
  • pkgs/pkc/src/bls/scheme_ietf.rs
  • pkgs/pkc/tests/bls_chia_llmq.rs
  • pkgs/pkc/src/bls/scheme_ops.rs

📝 Walkthrough

Walkthrough

This change centralizes Chia and IETF BLS operations behind a shared scheme trait, adds reusable corpus, JSON, and hex test helpers, migrates dependent tests and benchmarks, updates feature wiring, and introduces CodeQL and Semgrep policy checks.

Changes

Static analysis policy checks

Layer / File(s) Summary
CodeQL and Semgrep rules
contrib/codeql/..., contrib/semgrep/cargo.yml
Adds marker-type and trait-override predicates, a BLS trait rule query, and a Cargo dependency restriction rule.

Shared development test infrastructure

Layer / File(s) Summary
Corpus, JSON, and hex helpers
pkgs/dev/src/*, pkgs/dev/Cargo.toml
Adds typed corpus loading, JSON round-trip utilities, and fixed-size or variable-length hexadecimal decoding, with updated exports and dependencies.
Migrated test consumers
pkgs/num/*, pkgs/p2p_core/*, pkgs/primitives/*, pkgs/pow/*, pkgs/types/*
Replaces local corpus and JSON parsing flows with shared dash_dev APIs and updates related development dependencies and lint settings.

Centralized BLS implementation

Layer / File(s) Summary
Scheme contract and implementations
pkgs/pkc/src/bls/*
Defines the shared BlsScheme contract, aggregation and threshold helpers, and concrete Chia and IETF cryptographic implementations.
Public API delegation
pkgs/pkc/src/bls_chia/*, pkgs/pkc/src/bls_ietf/*
Routes key, signature, aggregation, DH, and threshold operations through the centralized scheme implementations.
Fixtures and feature wiring
pkgs/pkc/Cargo.toml, pkgs/pkc/src/prelude.rs, pkgs/pkc/src/bls/tests.rs, pkgs/pkc/bench/*
Adds test-feature dependencies and shared BLS fixtures, updates benchmark imports, and removes obsolete threshold helper wiring.
BLS validation suites
pkgs/pkc/tests/*
Migrates KAT, corpus, serde, aggregation, DH, signing, threshold, and LLMQ tests to shared fixtures and helper APIs.

Sequence Diagram(s)

sequenceDiagram
  participant BLSAPI
  participant BlsScheme
  participant ChiaOrIETF
  participant CurveMath
  participant CorpusTests
  BLSAPI->>BlsScheme: invoke key, signature, DH, aggregation, or threshold operation
  BlsScheme->>ChiaOrIETF: select scheme implementation
  ChiaOrIETF->>CurveMath: encode, decode, hash, multiply, or interpolate
  CurveMath-->>ChiaOrIETF: cryptographic result
  ChiaOrIETF-->>BlsScheme: scheme result
  CorpusTests->>BLSAPI: compare result with corpus vector
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly reflects the main changes: dash-dev consolidation and the new BlsScheme trait replacing the old layout.
Description check ✅ Passed The description is directly related to the changeset and summarizes the BLS refactor, helper consolidation, and breaking changes.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

Warning

This pull request may have conflicts, please coordinate with the authors of these pull requests.

Potential conflicts

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
pkgs/pkc/src/bls_chia/agg.rs (1)

16-63: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Document errors consistently across the legacy Chia BLS API. These delegated public methods return Result without # Errors documentation.

  • pkgs/pkc/src/bls_chia/agg.rs#L16-L63: document delegated aggregation and verification failure conditions.
  • pkgs/pkc/src/bls_chia/sig.rs#L28-L41: document decoding and verification failure conditions.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkgs/pkc/src/bls_chia/agg.rs` around lines 16 - 63, Add Rustdoc # Errors
sections to every Result-returning public method in pkgs/pkc/src/bls_chia/agg.rs
lines 16-63—aggregate_pk, aggregate_sig, verify_aggregates,
fast_verify_aggregates, secure_verify_aggregates, and aggregate_sk—describing
delegated aggregation or verification failures. Also document decoding and
verification failure conditions for the Result-returning methods in
pkgs/pkc/src/bls_chia/sig.rs lines 28-41, keeping the descriptions consistent
across the legacy Chia BLS API.

Source: Coding guidelines

🧹 Nitpick comments (5)
pkgs/pkc/src/bls_chia/sk.rs (1)

16-18: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Prefer a pub(super) fn from_inner over a pub(super) secret field.

PublicKey and Signature in this crate already expose from_inner (used at Lines 50 and 56 here, and in pkgs/pkc/src/bls_ietf/pk.rs:28), while SecretKey instead widens the raw scalar field so pkgs/pkc/src/bls_chia/threshold.rs:103 can build SecretKey(inner). A constructor keeps the secret scalar encapsulated and matches the surrounding pattern.

♻️ Proposed change
-pub struct SecretKey(pub(super) blst::blst_scalar);
+pub struct SecretKey(blst::blst_scalar);

Add alongside the other constructors:

pub(super) fn from_inner(inner: blst::blst_scalar) -> Self {
  Self(inner)
}

Then in pkgs/pkc/src/bls_chia/threshold.rs and pkgs/pkc/src/bls_ietf/threshold.rs, replace SecretKey(inner) with SecretKey::from_inner(inner).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkgs/pkc/src/bls_chia/sk.rs` around lines 16 - 18, Encapsulate SecretKey’s
raw scalar by making its tuple field private and adding a pub(super)
SecretKey::from_inner constructor, matching the existing PublicKey and Signature
patterns. Update threshold construction in the bls_chia and bls_ietf modules to
call SecretKey::from_inner instead of SecretKey(inner).
pkgs/pkc/src/bls/scheme_ops.rs (3)

342-358: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Prefer a typed error over Result<_, ()> for generate_shares.

The only failure path is key_gen_v3, and the caller blindly maps () to InvalidSecretKey. Returning BlsError directly removes the map_err(|()| ...) dance and keeps the failure reason intact.

♻️ Proposed signature change
-) -> Result<Vec<RawShare>, ()> {
+) -> Result<Vec<RawShare>, BlsError> {
-    let rand_sk = blst::min_pk::SecretKey::key_gen_v3(ikm.as_ref(), &[]).map_err(|_| ())?;
+    let rand_sk = blst::min_pk::SecretKey::key_gen_v3(ikm.as_ref(), &[]).map_err(|_| BlsError::InvalidSecretKey)?;

Then at the call site (Line 242):

-    let raw = generate_shares(&sk_bytes, threshold, ids, rng).map_err(|()| BlsError::InvalidSecretKey)?;
+    let raw = generate_shares(&sk_bytes, threshold, ids, rng)?;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkgs/pkc/src/bls/scheme_ops.rs` around lines 342 - 358, Update
generate_shares to return Result<Vec<RawShare>, BlsError> instead of
Result<Vec<RawShare>, ()>, propagate the BlsError from SecretKey::key_gen_v3
without mapping it to (), and adjust its caller to propagate or handle the typed
error directly rather than converting it to InvalidSecretKey.

220-234: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

ThresholdTooLarge conflates three distinct input errors.

threshold < 2, empty ids, and threshold > ids.len() all surface as ThresholdTooLarge, so a caller passing threshold == 1 or an empty id list gets a misleading diagnostic. Consider distinct variants (e.g. ThresholdTooSmall, NoShareIds) so the error text matches the actual fault.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkgs/pkc/src/bls/scheme_ops.rs` around lines 220 - 234, Update split_sk to
distinguish invalid threshold and share-ID inputs: return a dedicated
small-threshold error for threshold < 2, a no-share-IDs error for empty ids, and
retain ThresholdTooLarge only when threshold exceeds ids.len(). Add the
corresponding BlsError variants and ensure their displayed diagnostics identify
the actual fault.

169-199: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Verify the 256-bit width on the weight multiply is intentional.

Line 194 passes a literal 256 to mul_scalar while every other call in this file uses blst_ffi::FR_BITS. The SHA-256 weight is unreduced, so a full 256-bit width is presumably required for reference compatibility, but the literal is easy to misread as a mistake. Consider a named constant (e.g. WEIGHT_BITS) with a one-line rationale.

#!/bin/bash
# Confirm FR_BITS value and other mul_scalar widths used in the crate.
rg -nP --type=rust 'FR_BITS' pkgs/pkc/src
rg -nP --type=rust 'mul_scalar\s*\(' pkgs/pkc/src
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkgs/pkc/src/bls/scheme_ops.rs` around lines 169 - 199, Clarify the
intentional 256-bit width in secure_verify_aggregates by replacing the literal
passed to mul_scalar with a named constant such as WEIGHT_BITS, set to 256, and
add a brief rationale that the unreduced SHA-256 weight requires the full width
for compatibility. Leave the surrounding aggregation and verification logic
unchanged.
pkgs/pkc/src/bls/scheme_chia.rs (1)

307-318: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

sig_ietf is never exercised against the implementation.

The test decodes and re-encodes only sig_legacy; the sole use of sig_ietf is an assert_ne! against the legacy hex, which would pass even if the vector held arbitrary garbage. Consider asserting the decoded signature's IETF compression equals v.sig_ietf so the cross-format mapping is actually covered.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkgs/pkc/src/bls/scheme_chia.rs` around lines 307 - 318, Update
signature_serialization_matches_vectors to also assert that the decoded
signature’s IETF serialization matches v.sig_ietf, using the appropriate
BlsScChia serialization method. Keep the existing legacy round-trip assertion,
and replace the insufficient inequality-only check with validation of the
expected IETF encoding.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkgs/dev/src/corpus.rs`:
- Around line 111-117: Wrap the overlong expressions in the corpus-loading code
to keep every Rust line within 120 characters, including the serde_json
deserialization panic expression and the hex decoding expressions near the
result-building logic. Preserve the existing behavior and messages while
formatting the chained calls and closures across multiple lines.

In `@pkgs/dev/src/lib.rs`:
- Around line 18-19: Replace the #[allow] attribute on the prelude module with
#[expect], preserving the existing unused-imports lint and reason so the
suppression is reported when no longer needed.

In `@pkgs/pkc/Cargo.toml`:
- Around line 38-45: Replace the `tests` feature with the reserved `_internal`
feature in the `pkc` feature configuration, keeping `rstest` and `std`
dependencies under `_internal` as appropriate. Remove the test feature from
`full`, and update the `cfg` gates in `chia_h2c.rs` and `scheme_chia.rs` plus
all related `required-features` entries to reference `_internal`.

In `@pkgs/pkc/src/bls/scheme_chia.rs`:
- Around line 75-92: Update pk_from_bytes to reject non-canonical legacy
encodings with stray bits 5-6, matching the sig_from_bytes/G2 validation
behavior and preventing non-round-trippable keys. Validate the original first
byte before normalizing it, while preserving the intended handling of the
compression and sign bits; use the existing BlsError::InvalidPublicKey path.

In `@pkgs/pkc/tests/bls_ietf_llmq.rs`:
- Around line 36-43: Restore the per-contributor assertion in the test around
vvec so vvec[0] is verified to match that contributor’s public key, not merely a
valid G1 point. Keep the existing length and parseability checks, and use the
contributor key already available in the surrounding test context.

---

Outside diff comments:
In `@pkgs/pkc/src/bls_chia/agg.rs`:
- Around line 16-63: Add Rustdoc # Errors sections to every Result-returning
public method in pkgs/pkc/src/bls_chia/agg.rs lines 16-63—aggregate_pk,
aggregate_sig, verify_aggregates, fast_verify_aggregates,
secure_verify_aggregates, and aggregate_sk—describing delegated aggregation or
verification failures. Also document decoding and verification failure
conditions for the Result-returning methods in pkgs/pkc/src/bls_chia/sig.rs
lines 28-41, keeping the descriptions consistent across the legacy Chia BLS API.

---

Nitpick comments:
In `@pkgs/pkc/src/bls_chia/sk.rs`:
- Around line 16-18: Encapsulate SecretKey’s raw scalar by making its tuple
field private and adding a pub(super) SecretKey::from_inner constructor,
matching the existing PublicKey and Signature patterns. Update threshold
construction in the bls_chia and bls_ietf modules to call SecretKey::from_inner
instead of SecretKey(inner).

In `@pkgs/pkc/src/bls/scheme_chia.rs`:
- Around line 307-318: Update signature_serialization_matches_vectors to also
assert that the decoded signature’s IETF serialization matches v.sig_ietf, using
the appropriate BlsScChia serialization method. Keep the existing legacy
round-trip assertion, and replace the insufficient inequality-only check with
validation of the expected IETF encoding.

In `@pkgs/pkc/src/bls/scheme_ops.rs`:
- Around line 342-358: Update generate_shares to return Result<Vec<RawShare>,
BlsError> instead of Result<Vec<RawShare>, ()>, propagate the BlsError from
SecretKey::key_gen_v3 without mapping it to (), and adjust its caller to
propagate or handle the typed error directly rather than converting it to
InvalidSecretKey.
- Around line 220-234: Update split_sk to distinguish invalid threshold and
share-ID inputs: return a dedicated small-threshold error for threshold < 2, a
no-share-IDs error for empty ids, and retain ThresholdTooLarge only when
threshold exceeds ids.len(). Add the corresponding BlsError variants and ensure
their displayed diagnostics identify the actual fault.
- Around line 169-199: Clarify the intentional 256-bit width in
secure_verify_aggregates by replacing the literal passed to mul_scalar with a
named constant such as WEIGHT_BITS, set to 256, and add a brief rationale that
the unreduced SHA-256 weight requires the full width for compatibility. Leave
the surrounding aggregation and verification logic unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e9e12aa0-2be8-4c73-aabf-12f90cc5167f

📥 Commits

Reviewing files that changed from the base of the PR and between 5cda3c5 and d66be90.

⛔ Files ignored due to path filters (42)
  • Cargo.lock is excluded by !**/*.lock, !**/*.lock
  • pkgs/pkc/corpus/bls_aggregate.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_chia_aggregate.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_chia_dh.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_chia_hash_internals.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_chia_keygen.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_chia_llmq_100.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_chia_secure_aggregate.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_chia_ser_internals.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_chia_sign.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_chia_threshold.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_ietf_aggregate.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_ietf_dh.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_ietf_keygen.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_ietf_llmq_100.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_ietf_secure_aggregate.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_ietf_sign.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/bls_ietf_threshold.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/k256_keygen.json5 is excluded by !**/*.json5
  • pkgs/pkc/corpus/k256_sign.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/blake.json is excluded by !**/*.json
  • pkgs/pow/corpus/blake.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/bmw.json is excluded by !**/*.json
  • pkgs/pow/corpus/bmw.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/cubehash.json is excluded by !**/*.json
  • pkgs/pow/corpus/cubehash.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/echo.json is excluded by !**/*.json
  • pkgs/pow/corpus/echo.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/groestl.json is excluded by !**/*.json
  • pkgs/pow/corpus/groestl.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/jh.json is excluded by !**/*.json
  • pkgs/pow/corpus/jh.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/keccak.json is excluded by !**/*.json
  • pkgs/pow/corpus/keccak.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/luffa.json is excluded by !**/*.json
  • pkgs/pow/corpus/luffa.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/shavite.json is excluded by !**/*.json
  • pkgs/pow/corpus/shavite.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/simd.json is excluded by !**/*.json
  • pkgs/pow/corpus/simd.json5 is excluded by !**/*.json5
  • pkgs/pow/corpus/skein.json is excluded by !**/*.json
  • pkgs/pow/corpus/skein.json5 is excluded by !**/*.json5
📒 Files selected for processing (88)
  • contrib/codeql/lib/policy.qll
  • contrib/codeql/lib/traits.qll
  • contrib/codeql/trait.ql
  • contrib/semgrep/cargo.yml
  • pkgs/dev/Cargo.toml
  • pkgs/dev/src/corpus.rs
  • pkgs/dev/src/encode.rs
  • pkgs/dev/src/json.rs
  • pkgs/dev/src/lib.rs
  • pkgs/num/Cargo.toml
  • pkgs/num/tests/serde.rs
  • pkgs/p2p_core/src/msg/headers2.rs
  • pkgs/p2p_core/src/msg/inv.rs
  • pkgs/p2p_core/src/msg/ping.rs
  • pkgs/p2p_core/src/msg/version.rs
  • pkgs/p2p_core/src/primitives/mn_list.rs
  • pkgs/pkc/Cargo.toml
  • pkgs/pkc/bench/bls_chia.rs
  • pkgs/pkc/bench/bls_ietf.rs
  • pkgs/pkc/bench/main.rs
  • pkgs/pkc/src/bls/blst_ffi.rs
  • pkgs/pkc/src/bls/chia_h2c.rs
  • pkgs/pkc/src/bls/mod.rs
  • pkgs/pkc/src/bls/scheme_chia.rs
  • pkgs/pkc/src/bls/scheme_ietf.rs
  • pkgs/pkc/src/bls/scheme_ops.rs
  • pkgs/pkc/src/bls/schemes.rs
  • pkgs/pkc/src/bls/tests.rs
  • pkgs/pkc/src/bls_chia/agg.rs
  • pkgs/pkc/src/bls_chia/mod.rs
  • pkgs/pkc/src/bls_chia/pk.rs
  • pkgs/pkc/src/bls_chia/ser.rs
  • pkgs/pkc/src/bls_chia/sig.rs
  • pkgs/pkc/src/bls_chia/sk.rs
  • pkgs/pkc/src/bls_chia/threshold.rs
  • pkgs/pkc/src/bls_ietf/agg.rs
  • pkgs/pkc/src/bls_ietf/mod.rs
  • pkgs/pkc/src/bls_ietf/pk.rs
  • pkgs/pkc/src/bls_ietf/sig.rs
  • pkgs/pkc/src/bls_ietf/sk.rs
  • pkgs/pkc/src/bls_ietf/threshold.rs
  • pkgs/pkc/src/common/bls/mod.rs
  • pkgs/pkc/src/common/bls/threshold.rs
  • pkgs/pkc/src/prelude.rs
  • pkgs/pkc/tests/bls_chia_aggregate.rs
  • pkgs/pkc/tests/bls_chia_dh.rs
  • pkgs/pkc/tests/bls_chia_keygen.rs
  • pkgs/pkc/tests/bls_chia_llmq.rs
  • pkgs/pkc/tests/bls_chia_ser.rs
  • pkgs/pkc/tests/bls_chia_sign.rs
  • pkgs/pkc/tests/bls_chia_threshold.rs
  • pkgs/pkc/tests/bls_ietf_aggregate.rs
  • pkgs/pkc/tests/bls_ietf_dh.rs
  • pkgs/pkc/tests/bls_ietf_keygen.rs
  • pkgs/pkc/tests/bls_ietf_llmq.rs
  • pkgs/pkc/tests/bls_ietf_pop.rs
  • pkgs/pkc/tests/bls_ietf_sign.rs
  • pkgs/pkc/tests/bls_ietf_threshold.rs
  • pkgs/pkc/tests/common/mod.rs
  • pkgs/pkc/tests/k256_keygen.rs
  • pkgs/pkc/tests/k256_sign.rs
  • pkgs/pow/Cargo.toml
  • pkgs/pow/tests/blake.rs
  • pkgs/pow/tests/bmw.rs
  • pkgs/pow/tests/common/mod.rs
  • pkgs/pow/tests/cubehash.rs
  • pkgs/pow/tests/echo.rs
  • pkgs/pow/tests/groestl.rs
  • pkgs/pow/tests/jh.rs
  • pkgs/pow/tests/keccak.rs
  • pkgs/pow/tests/luffa.rs
  • pkgs/pow/tests/shavite.rs
  • pkgs/pow/tests/simd_hash.rs
  • pkgs/pow/tests/skein.rs
  • pkgs/primitives/Cargo.toml
  • pkgs/primitives/src/block.rs
  • pkgs/primitives/src/gov.rs
  • pkgs/primitives/src/payload/assetlock.rs
  • pkgs/primitives/src/payload/assetunlock.rs
  • pkgs/primitives/src/payload/cbtx.rs
  • pkgs/primitives/src/payload/mnhftx.rs
  • pkgs/primitives/src/payload/proregtx.rs
  • pkgs/primitives/src/payload/proupregtx.rs
  • pkgs/primitives/src/payload/prouprevtx.rs
  • pkgs/primitives/src/payload/proupservtx.rs
  • pkgs/primitives/src/payload/quorum.rs
  • pkgs/primitives/src/transaction.rs
  • pkgs/types/Cargo.toml
💤 Files with no reviewable changes (19)
  • pkgs/pow/tests/bmw.rs
  • pkgs/pow/tests/groestl.rs
  • pkgs/pow/tests/simd_hash.rs
  • pkgs/pkc/src/bls_chia/ser.rs
  • pkgs/pkc/bench/main.rs
  • pkgs/pow/tests/echo.rs
  • pkgs/pow/tests/cubehash.rs
  • pkgs/pkc/src/common/bls/threshold.rs
  • pkgs/pow/tests/skein.rs
  • pkgs/pow/tests/keccak.rs
  • pkgs/pow/tests/blake.rs
  • pkgs/pow/tests/jh.rs
  • pkgs/pkc/src/bls_chia/mod.rs
  • pkgs/pow/tests/shavite.rs
  • pkgs/pkc/src/bls/blst_ffi.rs
  • pkgs/pow/tests/luffa.rs
  • pkgs/types/Cargo.toml
  • pkgs/primitives/Cargo.toml
  • pkgs/pkc/src/common/bls/mod.rs

Comment thread pkgs/dev/src/corpus.rs
Comment thread pkgs/dev/src/lib.rs
Comment thread pkgs/pkc/Cargo.toml
Comment thread pkgs/pkc/src/bls/scheme_chia.rs
Comment thread pkgs/pkc/tests/bls_ietf_llmq.rs
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.

1 participant