Skip to content

Context tracking meta-issue (2025) #813

Open
@apoelstra

Description

@apoelstra

Right now we have a lot of issues about the context object, several of which have many dozens of comments. This issue is to track them all to help me close them all.

There are several steps to fixing the context object:

  1. Introducing a global context object context: introduce new global context API with rerandomization #806 which supports rerandomization. (We should open a followup issue to improve this rerandomization in cases where we don't have a rng.)
  2. Making sure that things work properly on wasm.
  3. Rewriting the API so all the signing functions hang off secret key types, and all the verification functions hang off public key types (I think this is the approach we want); musig has its own Session type and ECDH already doesn't use context objects.
  4. Removing the existing Secp256k1 object, including all the marker types and the prealocated API and the AlignedType type.
    Bringing in the global context object I believe will resolve Context randomization tracking issue #388, Context overhaul tracking issue #538, Rethink context objects #637; for wasm we have Wasm, Contexts, and Entropy #346.

Then rewriting the API to eliminate context objects from signing/verification will fix #343 and #514.

Eliminating Secp256k1 through AlignedType will close #128 (our oldest open issue), #351, #545, #655, #707, and #713.

Once we're done with the context object we should make sure that every issue linked in this one is closed. Then we can close this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions