Skip to content

Think about to interpreter API design for checksigfromstack #6

@sanket1729

Description

@sanket1729

So, to handle the existing checksigs we have the user pass in a closure. There were two reasons for this

  • To check normal signatures you need to compute a sighash, which is hard to do from the interpreter
  • I wanted to be able to interpret miniscripts without checking the signatrues, since this is really expensive and doesn't give you much value if you're checking things that are in the chain anyway

I have a couple thoughts about how we could handle this here

  • Not check the signature and offer no way to do so (this seems like a bad idea)
  • Make the user pass a second closure in for this (ughh)
  • Adapt the existing closure to take a message hash (ugly, doesn't really match the existing closure signature)
  • Replace the existing closure with an optional secp context argument (but then how can we compute the sighash for normal checksigs?)
  • Require our signatures to have R = P = 1, and then we can verify the signature with :P

None of these are really clean, but I'm leaning toward adding a second closure to the API.

Originally posted by @apoelstra in https://github.com/sanket1729/elements-miniscript/pull/4#discussion_r584986887

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