mirror of
https://github.com/aljazceru/dlcspecs.git
synced 2025-12-17 06:14:23 +01:00
Introduces happy-path static test vectors (#100)
* Added test vectors deleted from #81 * Fixed dlc_test redeemscript and added new dlc message parsing tests * Fixed chain_hash endianness * Added Schnorr signature point computation test vectors * Restructured contract info json * Restructured signature TLVs dlc_message_test.json * UInt16 prefixed scripts and added hash pre-images to test vectors * Added Nicolas' tests for NFC normalization and hashing * Added dlc fee computation tests * Added clarification to redeemscript in funding_input_v0 wrt fee computation * Added basic tx building tests * Updated test vectors to use 107 witness bytes for P2WPKH * Updated test vectors to include non-p2wpkh inputs as well as dummy scripts to be used in fee tests for less modular APIs * Added maxWitnessLen to inputs explicitly * Fixed order and serialization of signatures * Fixed backward stack funding signatures
This commit is contained in:
11
Messaging.md
11
Messaging.md
@@ -75,7 +75,6 @@ The following convenience types are also defined:
|
||||
* `x_point`: a 32-byte x-only public key with implicit y-coordinate being even as in [BIP 340](https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki#design)
|
||||
* `point`: a 33-byte Elliptic Curve point (compressed encoding as per [SEC 1 standard](http://www.secg.org/sec1-v2.pdf#subsubsection.2.3.3))
|
||||
* `spk`: A bitcoin script public key encoded as ASM prefixed with a `u16` value indicating its length.
|
||||
* `script_sig`: A bitcoin script signature encoded as ASM prefixed a `u16` value indicating its length.
|
||||
* `short_contract_id`: an 8 byte value identifying a contract funding transaction on-chain (see [BOLT #7](https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md#definition-of-short-channel-id))
|
||||
* `bigsize`: a variable-length, unsigned integer similar to Bitcoin's CompactSize encoding, but big-endian. Described in [BigSize](https://github.com/lightningnetwork/lightning-rfc/blob/master/01-messaging.md#appendix-a-bigsize-test-vectors).
|
||||
* `string`: a UTF-8 encoded string using [NFC for normalization](https://github.com/discreetlogcontracts/dlcspecs/issues/89)
|
||||
@@ -126,7 +125,7 @@ This type contains information about a specific input to be used in a funding tr
|
||||
* [`u32`:`prevtx_vout`]
|
||||
* [`u32`:`sequence`]
|
||||
* [`u16`:`max_witness_len`]
|
||||
* [`script_sig`:`redeemscript`]
|
||||
* [`spk`:`redeemscript`]
|
||||
|
||||
`prevtx_tx` is the serialized transaction whose `prevtx_vout` output is being spent.
|
||||
The transaction is used to validate this spent output's value and to validate that it is a SegWit output.
|
||||
@@ -134,8 +133,12 @@ The transaction is used to validate this spent output's value and to validate th
|
||||
`max_witness_len` is the total serialized length of the witness data that will be supplied
|
||||
(e.g. sizeof(varint) + sizeof(witness) for each) in `funding_signatures`.
|
||||
|
||||
`redeemscript` is the script signature field for the input. Only applicable for P2SH-wrapped inputs.
|
||||
In all native Segwit inputs, `redeemscript` will be a `0` byte (from the `script_sig` size prefix).
|
||||
`redeemscript` the witness script public key to be revealed for P2SH spending.
|
||||
Only applicable for P2SH-wrapped inputs.
|
||||
In all native Segwit inputs, `redeemscript` will be a `u16` zero (from the `spk` size prefix).
|
||||
Note that when doing fee computation, `script_sig_len` is either zero in the case that
|
||||
`redeemscript` is empty or else it is equal to `1 + len(redeemscript)` where the added
|
||||
byte is for pushing `redeemscript` onto the stack in the script signature.
|
||||
|
||||
### The `cet_adaptor_signatures` Type
|
||||
|
||||
|
||||
@@ -149,7 +149,7 @@ Note that if a CET occurs in which one party's output is below the dust limit of
|
||||
|
||||
### Computation of `max_witness_len`
|
||||
|
||||
The `max_witness_len` should be computed to be an upper bound on the byte size of all elements on the witness stack (and no other data). For example, a P2WPKH funding input should have a `max_witness_len` of `108`:
|
||||
The `max_witness_len` should be computed to be an upper bound on the byte size of all elements on the witness stack (and no other data). For example, a P2WPKH funding input should have a `max_witness_len` of `107` or `108` depending on if you use low-R signing (which takes a byte off the sig), below is the computation for non-low-R where wallets implementing low-R can use `sig: 71 bytes` below to save a byte:
|
||||
|
||||
```
|
||||
p2wpkh witness: 108 bytes
|
||||
|
||||
9861
test/dlc_fee_test.json
Normal file
9861
test/dlc_fee_test.json
Normal file
File diff suppressed because it is too large
Load Diff
45
test/dlc_fee_test_scripts.json
Normal file
45
test/dlc_fee_test_scripts.json
Normal file
@@ -0,0 +1,45 @@
|
||||
[ {
|
||||
"byteLen" : 0,
|
||||
"script" : "",
|
||||
"description" : "empty"
|
||||
}, {
|
||||
"byteLen" : 22,
|
||||
"script" : "00146f47307cd1d7e61b89a6fe24e660714d31e4aca6",
|
||||
"description" : "p2wpkh spk"
|
||||
}, {
|
||||
"byteLen" : 25,
|
||||
"script" : "76a914a5745456754abf104d8d1a8852f9ef4cbb0af3ee88ac",
|
||||
"description" : "p2pkh spk"
|
||||
}, {
|
||||
"byteLen" : 34,
|
||||
"script" : "0020e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"description" : "p2wsh spk"
|
||||
}, {
|
||||
"byteLen" : 35,
|
||||
"script" : "21022a5c418a642d70ab3f21029f510931a5af44617d58fcc50195acc136ec90b75cac",
|
||||
"description" : "p2pk spk"
|
||||
}, {
|
||||
"byteLen" : 71,
|
||||
"script" : "522102a48558c126c5e3eda2188e743ab31cf9b3e956bb5cc6b9a9eeceb17c69ccffc42103f9be793aa26af2acb555ced3702e360e3c65b8c040c0fc0cf85844bce904cf7452ae",
|
||||
"description" : "2-of-2 multisig spk"
|
||||
}, {
|
||||
"byteLen" : 173,
|
||||
"script" : "532103828103a5eb0a8663fffd122ccc52ab7705197686cb09abc8a3d25bdae7426a7a2102fdfc0fbf0148587cb076bbeea390fad9f110ef4b5f5c916b68f0b846ccd8892d2102ab454385715ca02c7cc3aad97b202fd84375906612798b88d386e1c9a7e5bb5421020af3417e4c0a9ddd5a0adbbf460ca05301a9a13d61dcd7ac8bf43b49f06d4d2c21034f5385fdeaaaa725231983765e7fe4c1dbab5c54c051b02b1d4b68c57b8eb67555ae",
|
||||
"description" : "3-of-5 multisig spk"
|
||||
}, {
|
||||
"byteLen" : 107,
|
||||
"script" : "02473045022100dc049370a3e1e2f1c30976f97b503ce00e840b10603cf7da86cbbb7a3362501302206104618664922452bfbf40951deb1cccba49f659e3a082761e360d1e1f6abff921029a5276b84f01538373a67033942bb9c4078d8ee2cb72b6dd148fc25e075109cf",
|
||||
"description" : "p2wpkh (low R) witness"
|
||||
}, {
|
||||
"byteLen" : 108,
|
||||
"script" : "024830460221009efb9e799b6ddbad4040bf6ae214e3320064e68ccba81dc5a19c516eb0cb8148022100dc049370a3e1e2f1c30976f97b503ce00e840b10603cf7da86cbbb7a336250132103b000bc3cae94b64f26375a8f5d5700f320beeeeb19f82cbb1494cd22f9bf6325",
|
||||
"description" : "p2wpkh (high R) witness"
|
||||
}, {
|
||||
"byteLen" : 133,
|
||||
"script" : "03473045022100dc049370a3e1e2f1c30976f97b503ce00e840b10603cf7da86cbbb7a3362501302206104618664922452bfbf40951deb1cccba49f659e3a082761e360d1e1f6abff92102d96d94954612b0ca242247baa8f09ebc4a98f9d4fe335e1b2d1efcecc4ec2f351976a9141969d7b6c106a848d1330652290cd128705d28da88ac",
|
||||
"description" : "p2wsh(p2pkh) witness"
|
||||
}, {
|
||||
"byteLen" : 218,
|
||||
"script" : "0400473045022100dc049370a3e1e2f1c30976f97b503ce00e840b10603cf7da86cbbb7a3362501302206104618664922452bfbf40951deb1cccba49f659e3a082761e360d1e1f6abff94730450221009efb9e799b6ddbad4040bf6ae214e3320064e68ccba81dc5a19c516eb0cb8148022023fb6c8f5c1e1d0e3cf6890684afc31eac2ad1d64f0ba8613906a3129cd3f12e47522102a48558c126c5e3eda2188e743ab31cf9b3e956bb5cc6b9a9eeceb17c69ccffc42103f9be793aa26af2acb555ced3702e360e3c65b8c040c0fc0cf85844bce904cf7452ae",
|
||||
"description" : "p2wsh(2-of-2 multsig) witness"
|
||||
} ]
|
||||
38
test/dlc_hash_test.json
Normal file
38
test/dlc_hash_test.json
Normal file
@@ -0,0 +1,38 @@
|
||||
[
|
||||
{
|
||||
"Description": "Singleton",
|
||||
"Variants": [ "\u00c5", "\u212b", "\u0041\u030a" ],
|
||||
"Expected": "c385",
|
||||
"SHA256": "0a94dc9d420d1142d6b71de60f9bf7e2f345a4d62c9f141b091539769ddf3075"
|
||||
},
|
||||
{
|
||||
"Description": "Canonical Composites",
|
||||
"Variants": [ "\u00f4", "\u006f\u0302" ],
|
||||
"Expected": "c3b4",
|
||||
"SHA256": "cc912dbca598fd80ca7f5d98ece5d846b447f4a9ae3f73c352e2687eb293eef5"
|
||||
},
|
||||
{
|
||||
"Description": "Multiple Combining Marks",
|
||||
"Variants": [ "\u1e69", "\u0073\u0323\u0307" ],
|
||||
"Expected": "e1b9a9",
|
||||
"SHA256": "ceca1ea456e95ee498463622915209bb08a018e8ee9741b46b64ef1a08fb56ab"
|
||||
},
|
||||
{
|
||||
"Description": "Compatibility Composites",
|
||||
"Variants": [ "\ufb01" ],
|
||||
"Expected": "efac81",
|
||||
"SHA256": "b6554cce8a93f1c8818280e2a768116a79216ad5501a85357d233409db87d340"
|
||||
},
|
||||
{
|
||||
"Description": "Non Composites",
|
||||
"Variants": [ "fi" ],
|
||||
"Expected": "6669",
|
||||
"SHA256": "b4bdc848109722a383d0a972c6eb859f2abd29565b8c4cc7199e7c9eb708f1b7"
|
||||
},
|
||||
{
|
||||
"Description": "Accent string",
|
||||
"Variants": [ "éléphant" ],
|
||||
"Expected": "c3a96cc3a97068616e74",
|
||||
"SHA256": "c941ae685f62cbe7bb47d0791af7154788fd9e873e5c57fd2449d1454ed5b16f"
|
||||
}
|
||||
]
|
||||
124
test/dlc_message_test.json
Normal file
124
test/dlc_message_test.json
Normal file
@@ -0,0 +1,124 @@
|
||||
[ {
|
||||
"tpeName" : "contract_info_v0",
|
||||
"input" : "fda71078c5a7affd51901bc7a51829b320d588dc7af0ad1f3d56f20a1d3c60c9ba7c67220000000000000000adf1c23fbeed6611efa5caa0e9ed4c440c450a18bc010a6c867e05873ac08ead00000000092363a36922250552ad6bb10ab3ddd6981b530aa9a6fd05725bf85b59e3e51163905288000000000bebc200",
|
||||
"fields" : {
|
||||
"tpe" : "fda710",
|
||||
"length" : "78",
|
||||
"outcomes" : [ {
|
||||
"outcome" : "c5a7affd51901bc7a51829b320d588dc7af0ad1f3d56f20a1d3c60c9ba7c6722",
|
||||
"localPayout" : "0000000000000000"
|
||||
}, {
|
||||
"outcome" : "adf1c23fbeed6611efa5caa0e9ed4c440c450a18bc010a6c867e05873ac08ead",
|
||||
"localPayout" : "00000000092363a3"
|
||||
}, {
|
||||
"outcome" : "6922250552ad6bb10ab3ddd6981b530aa9a6fd05725bf85b59e3e51163905288",
|
||||
"localPayout" : "000000000bebc200"
|
||||
} ]
|
||||
}
|
||||
}, {
|
||||
"tpeName" : "oracle_info_v0",
|
||||
"input" : "fda71240e43990c4aba847f02ea618e227a85e788cea7d2d975e3afe02efff3c507844ed9e7eaeb2624a93bba2f132da687862f73038c2e5769c812c7b0ba4b654a3e856",
|
||||
"fields" : {
|
||||
"tpe" : "fda712",
|
||||
"length" : "40",
|
||||
"pubKey" : "e43990c4aba847f02ea618e227a85e788cea7d2d975e3afe02efff3c507844ed",
|
||||
"rValue" : "9e7eaeb2624a93bba2f132da687862f73038c2e5769c812c7b0ba4b654a3e856"
|
||||
}
|
||||
}, {
|
||||
"tpeName" : "funding_input_v0",
|
||||
"input" : "fda71437002902000000000100c2eb0b00000000160014781c327deed64538720dc4c857a0712111020c740000000000000000ffffffff006b0000",
|
||||
"fields" : {
|
||||
"tpe" : "fda714",
|
||||
"length" : "37",
|
||||
"prevTxLen" : "0029",
|
||||
"prevTx" : "02000000000100c2eb0b00000000160014781c327deed64538720dc4c857a0712111020c7400000000",
|
||||
"prevTxVout" : "00000000",
|
||||
"sequence" : "ffffffff",
|
||||
"maxWitnessLen" : "006b",
|
||||
"redeemScriptLen" : "0000",
|
||||
"redeemScript" : ""
|
||||
}
|
||||
}, {
|
||||
"tpeName" : "cet_adaptor_signatures_v0",
|
||||
"input" : "fda716fd01e601bf2bd1e2d783c60b15af8430da73d34734ec3e4549d9a794080d5084667f244dc3b6cb7de7dd8874c661f46d0419e0fb0b842fb9fcb7684ce1f34f8c797812df01fa55f4b67c36c5427cd049561b146ab9078b10b57819bafea7e1245777443ab886d12d4e55478834e7f05441573b2bc674b738931f1554b505577ed872395ae94d1b4efce3be6f4605751b7f8a8bdad42818e39d8c05c2b1f7a4400e64285ea3001ff491f70ed67f59952d4ff2c0f7486c2b0450c5b665b121662bdca915df0d95b145e2fc0897565c0c8f590def0138633dfe8e7a33861c817b3924c77c96dde60064021902a889eeb6ed57adb6d22641985d4c7b0820157c52b7cd3ecfd8700b4f18c1803c9b4e86b4f33f25b51477f16a6de2e9dd7802f91216fe67dae96798d073aa7e9f3bc461a5b5a5af9255fd25f3687aa0bc0ed840e8ea7cd9cd0417809101690626b7480ea2c11a4d0d258ac96d39447e97537bae2b6a489ff587072972de72928cda847f26aeefba613647d21d97f267c355b1ff544f858d9b8d39fff2e000098184f4320c0b1d587ebb77ee804d511dc9ae69b99ca44cbd21ce1c56204af42c54a9c9164d8ca2a2f6e453e6a68848505a9a926f21086cd6286f32c424ab40b87a6a0a52dd880bfe7d0adf1a06746140e357dc276c1071dadaa7e371d5ddc0",
|
||||
"fields" : {
|
||||
"tpe" : "fda716",
|
||||
"length" : "fd01e6",
|
||||
"sigs" : [ {
|
||||
"encryptedSig" : "01bf2bd1e2d783c60b15af8430da73d34734ec3e4549d9a794080d5084667f244dc3b6cb7de7dd8874c661f46d0419e0fb0b842fb9fcb7684ce1f34f8c797812df",
|
||||
"dleqProof" : "01fa55f4b67c36c5427cd049561b146ab9078b10b57819bafea7e1245777443ab886d12d4e55478834e7f05441573b2bc674b738931f1554b505577ed872395ae94d1b4efce3be6f4605751b7f8a8bdad42818e39d8c05c2b1f7a4400e64285ea3"
|
||||
}, {
|
||||
"encryptedSig" : "001ff491f70ed67f59952d4ff2c0f7486c2b0450c5b665b121662bdca915df0d95b145e2fc0897565c0c8f590def0138633dfe8e7a33861c817b3924c77c96dde6",
|
||||
"dleqProof" : "0064021902a889eeb6ed57adb6d22641985d4c7b0820157c52b7cd3ecfd8700b4f18c1803c9b4e86b4f33f25b51477f16a6de2e9dd7802f91216fe67dae96798d073aa7e9f3bc461a5b5a5af9255fd25f3687aa0bc0ed840e8ea7cd9cd04178091"
|
||||
}, {
|
||||
"encryptedSig" : "01690626b7480ea2c11a4d0d258ac96d39447e97537bae2b6a489ff587072972de72928cda847f26aeefba613647d21d97f267c355b1ff544f858d9b8d39fff2e0",
|
||||
"dleqProof" : "00098184f4320c0b1d587ebb77ee804d511dc9ae69b99ca44cbd21ce1c56204af42c54a9c9164d8ca2a2f6e453e6a68848505a9a926f21086cd6286f32c424ab40b87a6a0a52dd880bfe7d0adf1a06746140e357dc276c1071dadaa7e371d5ddc0"
|
||||
} ]
|
||||
}
|
||||
}, {
|
||||
"tpeName" : "funding_signatures_v0",
|
||||
"input" : "fda718710001000200210350d893343a456d62436aabdba1478a8423b5ec256e1b97d666ff3d62eab794e600483045022100a0da64f0a64c2c35ccb8e9b6903e5241d480804302b31dd2d4932d6c88edcf79022049e26f654d826b8ea53a516f7b32b7bc9c58ca5900493019c3f698168b27894201",
|
||||
"fields" : {
|
||||
"tpe" : "fda718",
|
||||
"length" : "71",
|
||||
"numWitnesses" : "0001",
|
||||
"witnesses" : [ {
|
||||
"stackLen" : "0002",
|
||||
"stack" : [ {
|
||||
"stackElementLen" : "0021",
|
||||
"stackElement" : "0350d893343a456d62436aabdba1478a8423b5ec256e1b97d666ff3d62eab794e6"
|
||||
}, {
|
||||
"stackElementLen" : "0048",
|
||||
"stackElement" : "3045022100a0da64f0a64c2c35ccb8e9b6903e5241d480804302b31dd2d4932d6c88edcf79022049e26f654d826b8ea53a516f7b32b7bc9c58ca5900493019c3f698168b27894201"
|
||||
} ]
|
||||
} ]
|
||||
}
|
||||
}, {
|
||||
"tpeName" : "offer_dlc_v0",
|
||||
"input" : "a71a0006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910ffda71078cc044982f56eef2f32a808ec7fbd2ccbfc973103eec64f8934e8bae5f1a0cee0000000000bebc2003aae8b4b27e6897a3121ae1ae5838aacc9c39cfabf5815982f5f4ad929766dfa000000000000000045d292797398a855b30c0dd8ed040ab29880a84f4205f0c1bfbf05515eaf25360000000005ed27b9fda71240f6adb1365680a9d53f852e59df0b89f902bd9b344fa2dfdd566a0e1400195e4635de198696d14ea011ae0979978adea057714cad88f92c22b634de282d414ec402da4df82668290f24a5b1d2d66d373995bb981e29b3c30eb070bedd08122d8ac500160014750b6ce4200e7b23b139d71857c1be1087756b9e0000000005f5e1000001fda71437002902000000000100c2eb0b0000000016001480f7b0308626f498021d8faef16d9147f95c0c920000000000000000ffffffff006b000000160014e629089b1e317daede966a8e03a64ac0a8a2462f000000000000000100000064000000c8",
|
||||
"fields" : {
|
||||
"tpe" : "a71a",
|
||||
"contractFlags" : "00",
|
||||
"chainHash" : "06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f",
|
||||
"contractInfo" : "fda71078cc044982f56eef2f32a808ec7fbd2ccbfc973103eec64f8934e8bae5f1a0cee0000000000bebc2003aae8b4b27e6897a3121ae1ae5838aacc9c39cfabf5815982f5f4ad929766dfa000000000000000045d292797398a855b30c0dd8ed040ab29880a84f4205f0c1bfbf05515eaf25360000000005ed27b9",
|
||||
"oracleInfo" : "fda71240f6adb1365680a9d53f852e59df0b89f902bd9b344fa2dfdd566a0e1400195e4635de198696d14ea011ae0979978adea057714cad88f92c22b634de282d414ec4",
|
||||
"fundingPubKey" : "02da4df82668290f24a5b1d2d66d373995bb981e29b3c30eb070bedd08122d8ac5",
|
||||
"payoutSPKLen" : "0016",
|
||||
"payoutSPK" : "0014750b6ce4200e7b23b139d71857c1be1087756b9e",
|
||||
"totalCollateralSatoshis" : "0000000005f5e100",
|
||||
"fundingInputsLen" : "0001",
|
||||
"fundingInputs" : [ "fda71437002902000000000100c2eb0b0000000016001480f7b0308626f498021d8faef16d9147f95c0c920000000000000000ffffffff006b0000" ],
|
||||
"changeSPKLen" : "0016",
|
||||
"changeSPK" : "0014e629089b1e317daede966a8e03a64ac0a8a2462f",
|
||||
"feeRate" : "0000000000000001",
|
||||
"contractMaturityBound" : "00000064",
|
||||
"contractTimeout" : "000000c8"
|
||||
}
|
||||
}, {
|
||||
"tpeName" : "accept_dlc_v0",
|
||||
"input" : "a71c09a1060b3a8524317d285405bc6fefd78c9fe3b7c2fc74cb7e9a5d49de06b9d80000000005f5e10003ef1dda2ca6d81f32109ce2445a8033fce749fe4f9667bd91fd9412d3514f485b001600147035025533994c34fabe21ae6ec1ed011a952d000001fda71437002902000000000100c2eb0b00000000160014ef6df2d49da2c738267cf3e79ac029aa28bea4be0000000000000000ffffffff006b000000160014462743b9ca6c09fa3e63677cea6bff72a8680ba8fda716fd01e601e1aed775f3e6afb87ebd736e9fbc281a5dc9cbf2f4daf22aa2950a337dcfd71d2f5e0672e0f1375ef72479a578c1639c83c9beab7ca0b9b34371e5e93ffcc9b10040816d3ff7ec77a9166925bda9095feb7d0579fce71cf2fe7b2d967b808617367a787d2bdd9cef802e55dcdf15d29a8fbcaa4f7f1bfaffe02b4c8448528cf61bcf6631fb696f7f515f0f4d3d54c0e517e0e0ab8e6926033765b3f256a60266f9004fa432c6b30f28446eef6388984f82da542b2ddadcf252a30e1bcec9c5804101ab6d16587ca2dbf2a5c4723ffcec10ffe1e687fb0fb1d987e91ce5c51ccf2135014e8c1f8ee71546d259656a740d9a68c4e29018d0da592ff6c609a15e43e399a46a61708eb9008790f236ce77e3e11bcf8680e5cf810dd5391088a09c32ecf1d3b66625aab47893a0fc4c2253a8f37228685247a316a2e8aa5fb7e9e561676209008b578db57c32dea8f26a300d171ae5ee45a725bd36bd129126cd59ecc04aa3cfe7e907be2c6f16561ed7fdb3bd4656666a426a8c397349b8618f1b642992856001a6aad8fa6b67653dd79434f1d06fd55985b4ff8a24930e31d1741d4393c6eb4c7f7ff4db03b67466312aaad195dac15e7f14eebac5c3a9c95f4e4226695b76f21dbcf55f7de6d959cbccd2d8ca0d59aabb60889429e2f08585e6e8f2af7f338cec410b8da808977034c85654829e78f922156da36fa7385eb3d1b9ce7d2bfd8443ef3eeda31f56b877ad1fd2dc3224b96135068290851ca27403b6e1fa7cbc75",
|
||||
"fields" : {
|
||||
"tpe" : "a71c",
|
||||
"tempContractId" : "09a1060b3a8524317d285405bc6fefd78c9fe3b7c2fc74cb7e9a5d49de06b9d8",
|
||||
"totalCollateralSatoshis" : "0000000005f5e100",
|
||||
"fundingPubKey" : "03ef1dda2ca6d81f32109ce2445a8033fce749fe4f9667bd91fd9412d3514f485b",
|
||||
"payoutSPKLen" : "0016",
|
||||
"payoutSPK" : "00147035025533994c34fabe21ae6ec1ed011a952d00",
|
||||
"fundingInputsLen" : "0001",
|
||||
"fundingInputs" : [ "fda71437002902000000000100c2eb0b00000000160014ef6df2d49da2c738267cf3e79ac029aa28bea4be0000000000000000ffffffff006b0000" ],
|
||||
"changeSPKLen" : "0016",
|
||||
"changeSPK" : "0014462743b9ca6c09fa3e63677cea6bff72a8680ba8",
|
||||
"cetSignatures" : "fda716fd01e601e1aed775f3e6afb87ebd736e9fbc281a5dc9cbf2f4daf22aa2950a337dcfd71d2f5e0672e0f1375ef72479a578c1639c83c9beab7ca0b9b34371e5e93ffcc9b10040816d3ff7ec77a9166925bda9095feb7d0579fce71cf2fe7b2d967b808617367a787d2bdd9cef802e55dcdf15d29a8fbcaa4f7f1bfaffe02b4c8448528cf61bcf6631fb696f7f515f0f4d3d54c0e517e0e0ab8e6926033765b3f256a60266f9004fa432c6b30f28446eef6388984f82da542b2ddadcf252a30e1bcec9c5804101ab6d16587ca2dbf2a5c4723ffcec10ffe1e687fb0fb1d987e91ce5c51ccf2135014e8c1f8ee71546d259656a740d9a68c4e29018d0da592ff6c609a15e43e399a46a61708eb9008790f236ce77e3e11bcf8680e5cf810dd5391088a09c32ecf1d3b66625aab47893a0fc4c2253a8f37228685247a316a2e8aa5fb7e9e561676209008b578db57c32dea8f26a300d171ae5ee45a725bd36bd129126cd59ecc04aa3cfe7e907be2c6f16561ed7fdb3bd4656666a426a8c397349b8618f1b642992856001a6aad8fa6b67653dd79434f1d06fd55985b4ff8a24930e31d1741d4393c6eb4c7f7ff4db03b67466312aaad195dac15e7f14eebac5c3a9c95f4e4226695b76f21dbcf55f7de6d959cbccd2d8ca0d59aabb60889429e2f08585e6e8f2af7f338c",
|
||||
"refundSignature" : "ec410b8da808977034c85654829e78f922156da36fa7385eb3d1b9ce7d2bfd8443ef3eeda31f56b877ad1fd2dc3224b96135068290851ca27403b6e1fa7cbc75"
|
||||
}
|
||||
}, {
|
||||
"tpeName" : "sign_dlc_v0",
|
||||
"input" : "a71e352bf020e22a9406badf06eaaa328e3035e5f3b38c869a45d0b57e79b9505db4fda716fd01e601ce398ad03bd354d01e2e4a6753cf09d06e733ea1d4def50aebfd8cb499ada7a77b6b839e314235ff958eebd595aec06788332f1582d18afd02ad4a2d1f77a85c017c0977702927b4347a303eefb7dd9104425f0940ae355e2d49fdbb84b04ac8b035079f171168690ff16b3454250bc812618ba8d1bdb0b298b6ca6ad009a55cdab01657895585d12fc3f3c9cd08970ad231d8ce1075d7d53bb4de6e71573ef40e01c0673dac424c4b5454a5bf98b915012d92de68c2fabeef7e6fda47f43793fb6a34e456f303c96977080403cd4cfbbb833dad64394d0ced8e1afec9b5ac0445af00aaa1733babca097d3548b9df448b0ef9deb75322857b246f2b0fcf0b9258e796df29aac9b7a49776de9ff540e6f637e8b14ffd0424edb5af7d91d7300f55b15f15223f858dca6179e7de5296a3eaf8d032a7a0fdafee2f37a734dc1b0130927c0099858cca05cefe9e281a53365e881edfe745a7332a87c02a6e0f37ce3bac6aef003c0fd8d0d56c22d58f7a151d28ac6d1a186387987f05eb85282be19e02fe1001a17bcf16ee867b27d8da69c7072e2fb47c9e694b1e0a16d238b2afc2368683edb38314f87fe55c2d54b99903473de3a39f4a9871cc2e1b61ababbb4014535489167383ead5a7322dd04707cc6c84c80c311e25cc2154ffaac1154f0c4e184387ebdda88661b28825b933f1179434eb2e8dff87f07bbe63e472ea9c852c6e6aace576d55b2541069d736d4c85f4deb4cdb38e4f3dcb557226271a420e2a4dba26fda71870000100020021033451f439908d3964e590b7cf33e79ae622e0ffe7c98a7e303ea08c80892334780047304402204ae257e249f79bdf239b8a42e2a742a2f5a70ea6d62904db741229a9f8cc967e0220231e7a2a5cee25903d7ea290bbd28e208192dab1762fe7bacb50d6911fa5064401",
|
||||
"fields" : {
|
||||
"tpe" : "a71e",
|
||||
"contractId" : "352bf020e22a9406badf06eaaa328e3035e5f3b38c869a45d0b57e79b9505db4",
|
||||
"cetSignatures" : "fda716fd01e601ce398ad03bd354d01e2e4a6753cf09d06e733ea1d4def50aebfd8cb499ada7a77b6b839e314235ff958eebd595aec06788332f1582d18afd02ad4a2d1f77a85c017c0977702927b4347a303eefb7dd9104425f0940ae355e2d49fdbb84b04ac8b035079f171168690ff16b3454250bc812618ba8d1bdb0b298b6ca6ad009a55cdab01657895585d12fc3f3c9cd08970ad231d8ce1075d7d53bb4de6e71573ef40e01c0673dac424c4b5454a5bf98b915012d92de68c2fabeef7e6fda47f43793fb6a34e456f303c96977080403cd4cfbbb833dad64394d0ced8e1afec9b5ac0445af00aaa1733babca097d3548b9df448b0ef9deb75322857b246f2b0fcf0b9258e796df29aac9b7a49776de9ff540e6f637e8b14ffd0424edb5af7d91d7300f55b15f15223f858dca6179e7de5296a3eaf8d032a7a0fdafee2f37a734dc1b0130927c0099858cca05cefe9e281a53365e881edfe745a7332a87c02a6e0f37ce3bac6aef003c0fd8d0d56c22d58f7a151d28ac6d1a186387987f05eb85282be19e02fe1001a17bcf16ee867b27d8da69c7072e2fb47c9e694b1e0a16d238b2afc2368683edb38314f87fe55c2d54b99903473de3a39f4a9871cc2e1b61ababbb4014535489167383ead5a7322dd04707cc6c84c80c311e25cc2154ffaac1154f0c4e184387",
|
||||
"refundSignature" : "ebdda88661b28825b933f1179434eb2e8dff87f07bbe63e472ea9c852c6e6aace576d55b2541069d736d4c85f4deb4cdb38e4f3dcb557226271a420e2a4dba26",
|
||||
"fundingSignatures" : "fda71870000100020021033451f439908d3964e590b7cf33e79ae622e0ffe7c98a7e303ea08c80892334780047304402204ae257e249f79bdf239b8a42e2a742a2f5a70ea6d62904db741229a9f8cc967e0220231e7a2a5cee25903d7ea290bbd28e208192dab1762fe7bacb50d6911fa5064401"
|
||||
}
|
||||
} ]
|
||||
51
test/dlc_schnorr_test.json
Normal file
51
test/dlc_schnorr_test.json
Normal file
@@ -0,0 +1,51 @@
|
||||
[ {
|
||||
"inputs" : {
|
||||
"privKey" : "5376a94490ff9b07387511351fdf9fb56d0f704effaa9e55218ac82f712f8a26",
|
||||
"privNonce" : "f32827363379a82bedd1724197ebbae0b0e58719d3014dacc353f0c45109830e",
|
||||
"msgHash" : "b27019d1912cb97b679eee4c01f9203e00da8443767173df076a529a66e707cf"
|
||||
},
|
||||
"pubKey" : "ce9a3088688eecd98db77c90637c25e6801fc56b0436e7e0103cee82ec63d508",
|
||||
"pubNonce" : "0273ebfee82296afd16b9a6c7cf2485ef83b0cba1b6b66dc7edfbfb1071e8317",
|
||||
"signature" : "0273ebfee82296afd16b9a6c7cf2485ef83b0cba1b6b66dc7edfbfb1071e8317ee2b16e43e08393bcbe087c792b30c902ff136775323877fc832f64bf5935781",
|
||||
"sigPoint" : "020dddc643adbc3c8d745f6e9c028bf4abf22cfc97568b60e4c3419cbb72502690"
|
||||
}, {
|
||||
"inputs" : {
|
||||
"privKey" : "b339569c68f2de370ba4774203c2d01cfbe2af1a23958accaaa227e64cae4e5f",
|
||||
"privNonce" : "467a0383c6116b9c65ddc8aa2d3577a0f597027b07163f5ea9e891d068c9545a",
|
||||
"msgHash" : "ecc549855e17ce7dbce3759ff9ffd224ba34e40befe3df69d6b7a5450c82fc07"
|
||||
},
|
||||
"pubKey" : "639fd0e002f476a1ba3dd3bb40d007544cf9e09ff1a23bd8c66d1cb8980fed8c",
|
||||
"pubNonce" : "1e90814df446c16b854494aac8b1f05771611228b52ddd6b1eb1dd29dab973b7",
|
||||
"signature" : "1e90814df446c16b854494aac8b1f05771611228b52ddd6b1eb1dd29dab973b7cfadd5b1004918214713cc052b84821f675eccd12388008b25dc18b6596aa132",
|
||||
"sigPoint" : "02987faf504b29c90ffa0e83f9c9c9919d7c56ad5564c0b7eaa63d92b7cf3e51ca"
|
||||
}, {
|
||||
"inputs" : {
|
||||
"privKey" : "a6080050e59f3b7ebbd14a3d058f44978ece37bb896543c789b89ca86dabc74d",
|
||||
"privNonce" : "84e9e4edfcd67a92f326f4d96f48d311793e96c2b542e96e5738fe987820d5e4",
|
||||
"msgHash" : "6744b92461c47f4a7f7b785c6bb38daa40b7c1d9e532b5480e5b73c6c0096011"
|
||||
},
|
||||
"pubKey" : "4c2a9fd1473302f23d28c398d54e4bef5f3d6d01341387bac5872796b89a0ef9",
|
||||
"pubNonce" : "7fa3a59374116c93b1ea0d2c9408b40768e99e43562f9bd7205986e567e961b5",
|
||||
"signature" : "7fa3a59374116c93b1ea0d2c9408b40768e99e43562f9bd7205986e567e961b59dd00ba70a497851153afc5faf774f8ed3f8b6b2b421c94121f7c85dab3d6225",
|
||||
"sigPoint" : "03b6e6aee8ef20a761bc9bbb227d0a49c1eea80a0e6df62a79c576b5f08ad88ec5"
|
||||
}, {
|
||||
"inputs" : {
|
||||
"privKey" : "cfe7c7ed47b0ce4885838a53cb6b102ae09b37b2705147607d886e62988190be",
|
||||
"privNonce" : "a0d084b608e5d1b218901212ed3fa15a8692de99c37c6cae6648285156a5feda",
|
||||
"msgHash" : "143bc33b165b4f7e66a2d997e1f20e4d880416be6d7aaa0d8d385d1ab9482470"
|
||||
},
|
||||
"pubKey" : "43766d34751895463a0a9a3979b8ebc300132c3117ef20de0a209ffc1e5d06cb",
|
||||
"pubNonce" : "53c53d2f7eae94c4766ec322c018be27f65fb65478212f4983b08b8f40765018",
|
||||
"signature" : "53c53d2f7eae94c4766ec322c018be27f65fb65478212f4983b08b8f407650188a01c30884bcd27157191fa4046944c6fc035a69765fd09dccd7a02816143a84",
|
||||
"sigPoint" : "035041aedc6a8fb0c911507af5cdfe5393761361a28e88d5f4f4197f39a495b6ab"
|
||||
}, {
|
||||
"inputs" : {
|
||||
"privKey" : "7582012d1fa17f723754927109828c71c5d7dd3fadcc8f20d6a79dde27fc985f",
|
||||
"privNonce" : "dd1d13c185e27172e83fd615f6ace25b89e7360ca74888b15b7ac4b639d9edb8",
|
||||
"msgHash" : "1c2aedbbbd3d8a425fc688730a00c8da2e5b0f0be90eee1f90a2099cac5edb50"
|
||||
},
|
||||
"pubKey" : "d0816bd521ce59ae060eb43cd6e8d0fc8047f338a23f0038a986b92f77a038fe",
|
||||
"pubNonce" : "dae00f16a8c375fb8f0848e96ddfb77ea57b2c6c6f499ffbe6534ba53d6193ae",
|
||||
"signature" : "dae00f16a8c375fb8f0848e96ddfb77ea57b2c6c6f499ffbe6534ba53d6193aef8c6936867b1addd66517eaf933e92fb5f6299975ffcf09901439a012ad2ad83",
|
||||
"sigPoint" : "020ddbf600b1cef6cb9f9cdabdb1951c42f1a6b7fa7dee0ef9fb3bdda258e5b2c6"
|
||||
} ]
|
||||
2004
test/dlc_test.json
Normal file
2004
test/dlc_test.json
Normal file
File diff suppressed because one or more lines are too long
2110
test/dlc_tx_test.json
Normal file
2110
test/dlc_tx_test.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user