Skip to content

Conversation

@titouantanguy
Copy link
Contributor

@titouantanguy titouantanguy commented Nov 25, 2025

Description of changes

Generalize the reshare of the private keyset to work with both same set and two sets reshare (using trait).

Add a trait system to try and make the use of reshare dumb proof as the functions are used by parties in different sets which are expected to provide different inputs.

Add the usual protocol trait system to reshare to be able to compose with various implementations of broadcast and robust open (will be useful for testing malicious strategies).

Issue ticket number and link

PR Checklist

I attest that all checked items are satisfied. Any deviation is clearly justified above.

  • Title follows conventional commits (e.g. chore: ...).
  • Tests added for every new pub item and test coverage has not decreased.
  • Public APIs and non-obvious logic documented; unfinished work marked as TODO(#issue).
  • unwrap/expect/panic only in tests or for invariant bugs (documented if present).
  • No dependency version changes OR (if changed) only minimal required fixes.
  • No architectural protocol changes OR linked spec PR/issue provided.
  • No breaking deployment config changes OR devops label + infra notified + infra-team reviewer assigned.
  • No breaking gRPC / serialized data changes OR commit marked with ! and affected teams notified.
  • No modifications to existing versionized structs OR backward compatibility tests updated.
  • No critical business logic / crypto changes OR ≥2 reviewers assigned.
  • No new sensitive data fields added OR Zeroize + ZeroizeOnDrop implemented.
  • No new public storage data OR data is verifiable (signature / digest).
  • No unsafe; if unavoidable: minimal, justified, documented, and test/fuzz covered.
  • Strongly typed boundaries: typed inputs validated at the edge; no untyped values or errors cross modules.
  • Self-review completed.

Dependency Update Questionnaire (only if deps changed or added)

Answer in the Cargo.toml next to the dependency (or here if updating):

  1. Ownership changes or suspicious concentration?
  2. Low popularity?
  3. Unusual version jump?
  4. Lacking documentation?
  5. Missing CI?
  6. No security / disclosure policy?
  7. Significant size increase?

More details and explanations for the checklist and dependency updates can be found in CONTRIBUTING.md

@cla-bot cla-bot bot added the cla-signed The CLA has been signed. label Nov 25, 2025
@titouantanguy titouantanguy force-pushed the titouan/chore/159/reshare-extensive-testing branch from 01c6981 to 283b8db Compare November 25, 2025 14:15
@github-actions
Copy link

github-actions bot commented Nov 25, 2025

Consolidated Tests Results 2025-11-27 - 16:40:58

Test Results

passed 16 passed

Details

tests 16 tests
clock not captured
tool junit-to-ctrf
build main arrow-right test-reporter link #1522
pull-request chore: Reshare secret keys 2 sets + trait revamp link #292

test-reporter: Run #1522

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
16 16 0 0 0 0 0 not captured

🎉 All tests passed!

Tests

View All Tests
Test Name Status Flaky Duration
test_threshold_concurrent_crs 14m 27s
test_threshold_concurrent_preproc_keygen 14m 30s
test_threshold_custodian_backup 6m 52s
test_threshold_insecure 16m 38s
test_threshold_mpc_context_init 13m 12s
test_threshold_mpc_context_switch 6m 45s
test_threshold_mpc_context_switch_6 13m 4s
test_threshold_restore_from_backup 6m 44s
test_threshold_concurrent_crs 14m 27s
test_threshold_concurrent_preproc_keygen 14m 30s
test_threshold_custodian_backup 6m 52s
test_threshold_insecure 16m 38s
test_threshold_mpc_context_init 13m 12s
test_threshold_mpc_context_switch 6m 45s
test_threshold_mpc_context_switch_6 13m 4s
test_threshold_restore_from_backup 6m 44s

🍂 No flaky tests in this run.

Github Test Reporter by CTRF 💚

🔄 This comment has been updated

@titouantanguy titouantanguy changed the title Titouan/chore/159/reshare extensive testing chore: Reshare secret keys 2 sets + trait revamp Nov 27, 2025
@titouantanguy titouantanguy marked this pull request as ready for review November 27, 2025 14:00
@titouantanguy titouantanguy requested a review from a team as a code owner November 27, 2025 14:00
Copy link
Contributor

@kc1212 kc1212 left a comment

Choose a reason for hiding this comment

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

Comments are mostly around visibility, otherwise LGTM!

@titouantanguy
Copy link
Contributor Author

titouantanguy commented Nov 27, 2025

BTW, was wondering should we return a R::MaybeExpectedOutput<T> in Reshare as for the inputs ? Any opinion ?

@kc1212
Copy link
Contributor

kc1212 commented Nov 28, 2025

BTW, was wondering should we return a R::MaybeExpectedOutput<T> in Reshare as for the inputs ? Any opinion ?

No strong opinion here, but since we're using these MaybeExpected associat types for inputs, we might as well extend it to outputs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants