Skip to content

☂ [Feature]: Simplify the WSTS library #179

@djordon

Description

@djordon

Feature - Simplify the WSTS library

1. Description

With some small changes, we can remove a lot of code here while maintaining the same functionality. Doing so would reduce the amount of code that we need to maintain, potentially eliminate some vulnerabilities, and allow us to more easily improve on the library's API.

This ticket proposes three main simplifications:

  1. Remove the FROST coordinator. Once [Feature]: Allow FIRE coordinator to set the participation threshold for signing rounds #174 is implemented we should be close to being able to remove the FROST coordinator from this library, since the FIRE coordinator could be configured to have the same functionality as the FROST coordinator.
  2. Remove the coordinator trait. This would be possible since the only coordinator would be the FIRE one. It's not clear whether maintaining the trait would serve much of it's original purpose.
  3. Remove the v1 signer object and the signer trait. I think we can replace the v1 signer object with the v2 signer object already, however I'm not entirely sure.

I'm less confident that the need to remove the traits, since it may be useful during tests or something. However, I don't think we implement our tests in such a way were we cannot just use the types themselves once the FROST coordinator has been removed.

2. Technical Details:

This ticket is an umbrella issue containing the reasoning for the high level goal. We'll open more tickets for each of the pieces of work necessary to simplify the library.

2.1 Acceptance Criteria:

  • We no longer have a FROST coordinator, but have one coordinator that can be configured to adhere to the FROST protocol.
  • We only have one lower level signer object.
  • We no longer have the coordinator and signer traits.

3. Related Issues and Pull Requests (optional):

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions