discreetlogcontracts / dlcspecs

Specification for Discreet Log Contracts
Creative Commons Attribution 4.0 International
236 stars 36 forks source link

Transaction Building/Signing/Verifying Test Vector Brainstorm #47

Open nkohen opened 4 years ago

nkohen commented 4 years ago

I now have a working implementation of adpator-based DLCs. I would like to begin brainstorming a list of cases we want to make sure are included in the transaction building test vectors I will be generating.

Things that come immediately to my mind:

Please add to this list and/or critique it!

Christewart commented 4 years ago

Closing #30 as this supersedes it

benthecarman commented 4 years ago
nkohen commented 4 years ago
* Negative outcome values

* Incorrect fee rate

* party did not fund the correct amount

* invalid change address

These I like

* invalid change amount

* CET has extra inputs

* CET has missing/no inputs

* CET has extra outputs

* CET has missing/no outputs

* funding tx has extra inputs

* funding tx has missing/no inputs

* funding tx has extra outputs

* funding tx has missing/no outputs

* wrong nLocktimes

* wrong sequence

* wrong keys in funding output script

* funding output has wrong script

These I'm a little unsure about as transactions are not actually communicated between parties so these cases will just result in invalid signatures right?

benthecarman commented 4 years ago

These I'm a little unsure about as transactions are not actually communicated between parties so these cases will just result in invalid signatures right?

Yeah, I guess these are more things to that people should testing with the test vectors

nkohen commented 4 years ago

Good point, I guess I could generate a bunch of invalid signatures in this way with error messages about how they were generated to make life easier for people when debugging

nkohen commented 4 years ago

Funding transactions with different kinds of exotic change output SPKs

nkohen commented 4 years ago

Funding transactions with various numbers of inputs from each party