Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: DKG verification pre-key-rotation #1301

Merged
merged 98 commits into from
Feb 7, 2025
Merged

feat: DKG verification pre-key-rotation #1301

merged 98 commits into from
Feb 7, 2025

Conversation

cylewitruk
Copy link
Member

@cylewitruk cylewitruk commented Feb 4, 2025

Description

Closes: #1300 (Alternative 3), closes #1313.

Followup to PR's #1287 and #1285 (both are now merged).

I'm still actively working on this but feel free to comment

Changes

Testing Information

Checklist:

  • I have performed a self-review of my code
  • My changes generate no new warnings
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@cylewitruk cylewitruk changed the base branch from feat/require-all-signatures-for-rotate-keys to main February 6, 2025 16:23
cylewitruk and others added 18 commits February 7, 2025 02:38
commit 2168f58
Author: Cyle Witruk <[email protected]>
Date:   Thu Feb 6 16:08:22 2025 +0100

    feat: consensus on successful DKG prior to rotate-keys submission (#1285)

    * update for wsts 11

    * use wsts 11.0.0 from crates

    * fix rebase

    * use wsts-12.0.0 from crates

    * add FrostCoordinator to wsts_state_machine so we can run signing rounds where all signers must participate

    * wip

    * run a dkg signing before deploying contracts

    * new wsts commit

    * wip

    * seems to work

    * working version

    * remove dead code

    * minor wsts logging tweaks

    * rename wstsmessageid variant

    * it works, now need to clean up

    * downgrade wsts

    * proto backwards compatability fixes

    * some wsts cleanup/refactor

    * think that's it

    * add message support for a specific dkg wstsmessageid

    * add a dkg wstsmessageid variant

    * use block hash instead of random data

    * fmt

    * remove 100% requirement for stacks signing of rotate keys

    * bump p256k1 to 7.2.2

    * fix merge artifacts

    * tracing fields

    * storage mut

    * lovely cascading changes

    * remove wstsmessage.txid infavor of id

    * remove save and prefer trait default impls

    * remove unused trait methods

    * logging stuff

    * rename message ids

    * use tracing constants

    * remove stale comment

    * remove box from some types

    * missed dkg_begin_pause

    * leftover dbg!()

    * refactor some validation

    * various pr comments

    * mut thing

    * remove unneeded allow(deprecated)

    * confused merge tool

    ---------

    Co-authored-by: Joey Yandle <[email protected]>
Lots of small follow-up modifications
match the new column
queries and simplify the validation check. Also add a test.
the started_at from the state machine Id
with the postgres implementation
@cylewitruk cylewitruk marked this pull request as ready for review February 7, 2025 09:13
signer/src/bitcoin/utxo.rs Outdated Show resolved Hide resolved
signer/src/error.rs Outdated Show resolved Hide resolved
signer/src/error.rs Outdated Show resolved Hide resolved
signer/tests/integration/transaction_signer.rs Outdated Show resolved Hide resolved
signer/tests/integration/postgres.rs Outdated Show resolved Hide resolved
signer/src/transaction_signer.rs Outdated Show resolved Hide resolved
signer/src/transaction_signer.rs Outdated Show resolved Hide resolved
signer/src/transaction_signer.rs Outdated Show resolved Hide resolved
Copy link
Collaborator

@aldur aldur left a comment

Choose a reason for hiding this comment

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

all nits, feel free to ignore.

Basically, I have read this, it makes sense, but I'll it to the experts.

signer/src/bitcoin/utxo.rs Show resolved Hide resolved
signer/src/bitcoin/utxo.rs Show resolved Hide resolved
signer/src/storage/in_memory.rs Show resolved Hide resolved
signer/src/storage/mod.rs Show resolved Hide resolved
signer/src/storage/postgres.rs Show resolved Hide resolved
Copy link
Collaborator

@djordon djordon left a comment

Choose a reason for hiding this comment

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

Looks good 🚀

@cylewitruk cylewitruk merged commit dc241cf into main Feb 7, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-protocol Breaking protocol changes key rotation The functionality to rotate a private key for a signer in sBTC-v1. sbtc signer binary The sBTC Bootstrap Signer. signer coordination The actions executed by the signer coordinator.
Projects
Status: Done
6 participants