From 78f831139f65d9614322d6059534ae4e9f3a255c Mon Sep 17 00:00:00 2001 From: Tom Trevethan Date: Thu, 8 Jan 2026 13:17:52 +0000 Subject: [PATCH] updated keypath spend test vectors for elements and re-enabled equility checks (cherry picked from commit 4142ceabbe46b7ac68840d1a100fc0c6adfa86a0) --- src/test/data/bip341_wallet_vectors.json | 60 ++++++++++++------------ src/test/script_tests.cpp | 13 ++--- 2 files changed, 34 insertions(+), 39 deletions(-) diff --git a/src/test/data/bip341_wallet_vectors.json b/src/test/data/bip341_wallet_vectors.json index 11261b00ba..213810780c 100644 --- a/src/test/data/bip341_wallet_vectors.json +++ b/src/test/data/bip341_wallet_vectors.json @@ -8,7 +8,7 @@ }, "intermediary": { "merkleRoot": null, - "tweak": "b86e7be8f39bab32a6f2c0443abbc210f0edac0e2c53d501b36b64437d9c6c70", + "tweak": "a42a817e8bb316e03e9d36f5f2a69452da4699e1222a35e21e71b945664625e7", "tweakedPubkey": "53a1f6e454df1aa2776a2814a721372d6258050de330b3c6d10ee8f4e0dda343" }, "expected": { @@ -30,7 +30,7 @@ "5b75adecf53548f3ec6ad7d78383bf84cc57b55a3127c72b9a2481752dd88b21" ], "merkleRoot": "5b75adecf53548f3ec6ad7d78383bf84cc57b55a3127c72b9a2481752dd88b21", - "tweak": "cbd8679ba636c1110ea247542cfbd964131a6be84f873f7f3b62a777528ed001", + "tweak": "5f5e36b2e18ae08a97db2a03b32d801b904f1f2542f899e979f200fda2196381", "tweakedPubkey": "147c9c57132f6e7ecddba9800bb0c4449251c92a1e60371ee77557b6620f3ea3" }, "expected": { @@ -55,7 +55,7 @@ "c525714a7f49c28aedbbba78c005931a81c234b2f6c99a73e4d06082adc8bf2b" ], "merkleRoot": "c525714a7f49c28aedbbba78c005931a81c234b2f6c99a73e4d06082adc8bf2b", - "tweak": "6af9e28dbf9d6aaf027696e2598a5b3d056f5fd2355a7fd5a37a0e5008132d30", + "tweak": "8cf2fff1ba36ff47f606937f9080571ea63dbb054ffdc999388dcc7b81e66f4c", "tweakedPubkey": "e4d810fd50586274face62b8a807eb9719cef49c04177cc6b76a9a4251d5450e" }, "expected": { @@ -88,7 +88,7 @@ "f224a923cd0021ab202ab139cc56802ddb92dcfc172b9212261a539df79a112a" ], "merkleRoot": "6c2dc106ab816b73f9d07e3cd1ef2c8c1256f519748e0813e4edd2405d277bef", - "tweak": "9e0517edc8259bb3359255400b23ca9507f2a91cd1e4250ba068b4eafceba4a9", + "tweak": "7ccb26ae99af5270df35d470b3cfa177c14c315c5acde3c0cb74db50fa876ad1", "tweakedPubkey": "712447206d7a5238acc7ff53fbe94a3b64539ad291c7cdbc490b7577e4b17df5" }, "expected": { @@ -122,7 +122,7 @@ "2cb2b90daa543b544161530c925f285b06196940d6085ca9474d41dc3822c5cb" ], "merkleRoot": "ab179431c28d3b68fb798957faf5497d69c883c6fb1e1cd9f81483d87bac90cc", - "tweak": "639f0281b7ac49e742cd25b7f188657626da1ad169209078e2761cefd91fd65e", + "tweak": "66d835a48bf3d9695466bca5ec45434b27c37a908215323f7f82ba61cff6227e", "tweakedPubkey": "77e30a5522dd9f894c3f8b8bd4c4b2cf82ca7da8a3ea6a239655c39c050ab220" }, "expected": { @@ -164,7 +164,7 @@ "9e31407bffa15fefbf5090b149d53959ecdf3f62b1246780238c24501d5ceaf6" ], "merkleRoot": "ccbd66c6f7e8fdab47b3a486f59d28262be857f30d4773f2d5ea47f7761ce0e2", - "tweak": "b57bfa183d28eeb6ad688ddaabb265b4a41fbf68e5fed2c72c74de70d5a786f4", + "tweak": "0a03a4bd78ab9f5b28ac9a0636e6cd36b490f54fe43781b2726743f9ce414e26", "tweakedPubkey": "91b64d5324723a985170e4dc5a0f84c041804f2cd12660fa5dec09fc21783605" }, "expected": { @@ -207,7 +207,7 @@ "d7485025fceb78b9ed667db36ed8b8dc7b1f0b307ac167fa516fe4352b9f4ef7" ], "merkleRoot": "2f6b2c5397b6d68ca18e09a3f05161668ffe93a988582d55c6f07bd5b3329def", - "tweak": "6579138e7976dc13b6a92f7bfd5a2fc7684f5ea42419d43368301470f3b74ed9", + "tweak": "6cbcbb5533034f3ac2223e2df10f09a0e559c001f8b0a27eae87cdaa3855c265", "tweakedPubkey": "75169f4001aa68f15bbed28b218df1d0a62cbbcf1188c6665110c293c907b831" }, "expected": { @@ -265,7 +265,7 @@ ] }, "intermediary": { - "hashAmounts": "58a6964a4f5f8f0b642ded0a8a553be7622a719da71d1f5befcefcdee8e0fde6", + "hashAmounts": "ab17db734dbeabc2b4edbc7d56306591c2b9c9918ee7b83db26df27b0a6cfec3", "hashOutputs": "a2e6dab7c1f0dcd297c8d61647fd17d821541ea69c3cc37dcbad7f90d4eb4bc5", "hashPrevouts": "e3b33bb4ef3a52ad1fffb555c0d82828eb22737036eaeb02a235d82b909c4c3f", "hashScriptPubkeys": "23ad0f61ad2bca5ba6a7693f50fce988e17c3780bf2b1e720cfbb38fbdd52e21", @@ -281,7 +281,7 @@ }, "intermediary": { "internalPubkey": "d6889cb081036e0faefa3a35157ad71086b123b2b144b649798b494c300a961d", - "tweak": "b86e7be8f39bab32a6f2c0443abbc210f0edac0e2c53d501b36b64437d9c6c70", + "tweak": "a42a817e8bb316e03e9d36f5f2a69452da4699e1222a35e21e71b945664625e7", "tweakedPrivkey": "2405b971772ad26915c8dcdf10f238753a9b837e5f8e6a86fd7c0cce5b7296d9", "sigMsg": "0003020000000065cd1de3b33bb4ef3a52ad1fffb555c0d82828eb22737036eaeb02a235d82b909c4c3f58a6964a4f5f8f0b642ded0a8a553be7622a719da71d1f5befcefcdee8e0fde623ad0f61ad2bca5ba6a7693f50fce988e17c3780bf2b1e720cfbb38fbdd52e2118959c7221ab5ce9e26c3cd67b22c24f8baa54bac281d8e6b05e400e6c3a957e0000000000d0418f0e9a36245b9a50ec87f8bf5be5bcae434337b87139c3a5b1f56e33cba0", "precomputedUsed": [ @@ -290,11 +290,11 @@ "hashScriptPubkeys", "hashSequences" ], - "sigHash": "2514a6272f85cfa0f45eb907fcb0d121b808ed37c6ea160a5a9046ed5526d555" + "sigHash": "f9e913cda7c8347bfa6c9004b0cd09e5337f89d192ab1974cb4e097102642124" }, "expected": { "witness": [ - "ed7c1647cb97379e76892be0cacff57ec4a7102aa24296ca39af7541246d8ff14d38958d4cc1e2e478e4d4a764bbfd835b16d4e314b72937b29833060b87276c03" + "b7b7822d70e24ccee384fc2452fdfd1b02283219793cdf65304605c5bd9e51a2d01672cc19b9cee8dc6f632974e0c74d068cebe9f1f73097afff417b67c75df203" ] } }, @@ -307,15 +307,15 @@ }, "intermediary": { "internalPubkey": "187791b6f712a8ea41c8ecdd0ee77fab3e85263b37e1ec18a3651926b3a6cf27", - "tweak": "cbd8679ba636c1110ea247542cfbd964131a6be84f873f7f3b62a777528ed001", + "tweak": "5f5e36b2e18ae08a97db2a03b32d801b904f1f2542f899e979f200fda2196381", "tweakedPrivkey": "ea260c3b10e60f6de018455cd0278f2f5b7e454be1999572789e6a9565d26080", "sigMsg": "0083020000000065cd1d00d7b7cab57b1393ace2d064f4d4a2cb8af6def61273e127517d44759b6dafdd9900000000808f891b00000000225120147c9c57132f6e7ecddba9800bb0c4449251c92a1e60371ee77557b6620f3ea3ffffffffffcef8fb4ca7efc5433f591ecfc57391811ce1e186a3793024def5c884cba51d", "precomputedUsed": [], - "sigHash": "325a644af47e8a5a2591cda0ab0723978537318f10e6a63d4eed783b96a71a4d" + "sigHash": "2feb842bff931238369d192874200976e6e4e521d1b686755e7721c1f29c3dda" }, "expected": { "witness": [ - "052aedffc554b41f52b521071793a6b88d6dbca9dba94cf34c83696de0c1ec35ca9c5ed4ab28059bd606a4f3a657eec0bb96661d42921b5f50a95ad33675b54f83" + "b888d32769dc256356912ad8b2d7e278494c8cd52c41bcc95a58f6b15fdcdef2875129105d654220e1962e9eeb49c6ae18ea49541daba3b7caf9b21d8d27d49383" ] } }, @@ -328,7 +328,7 @@ }, "intermediary": { "internalPubkey": "93478e9488f956df2396be2ce6c5cced75f900dfa18e7dabd2428aae78451820", - "tweak": "6af9e28dbf9d6aaf027696e2598a5b3d056f5fd2355a7fd5a37a0e5008132d30", + "tweak": "8cf2fff1ba36ff47f606937f9080571ea63dbb054ffdc999388dcc7b81e66f4c", "tweakedPrivkey": "97323385e57015b75b0339a549c56a948eb961555973f0951f555ae6039ef00d", "sigMsg": "0001020000000065cd1de3b33bb4ef3a52ad1fffb555c0d82828eb22737036eaeb02a235d82b909c4c3f58a6964a4f5f8f0b642ded0a8a553be7622a719da71d1f5befcefcdee8e0fde623ad0f61ad2bca5ba6a7693f50fce988e17c3780bf2b1e720cfbb38fbdd52e2118959c7221ab5ce9e26c3cd67b22c24f8baa54bac281d8e6b05e400e6c3a957ea2e6dab7c1f0dcd297c8d61647fd17d821541ea69c3cc37dcbad7f90d4eb4bc50003000000", "precomputedUsed": [ @@ -338,11 +338,11 @@ "hashScriptPubkeys", "hashSequences" ], - "sigHash": "bf013ea93474aa67815b1b6cc441d23b64fa310911d991e713cd34c7f5d46669" + "sigHash": "6cbf8101f3028feb8b29731e6f5df268dc21d54caaee33952a1695f4c951ac83" }, "expected": { "witness": [ - "ff45f742a876139946a149ab4d9185574b98dc919d2eb6754f8abaa59d18b025637a3aa043b91817739554f4ed2026cf8022dbd83e351ce1fabc272841d2510a01" + "49c420fcd9ff573940f2b3d4e50a2304e644682b7090eda2ae7a64860ec2b05b6671cd4a6c3a508f166096392d994ac8e024fdce8ee6ada91c3454bb56e1edfb01" ] } }, @@ -355,7 +355,7 @@ }, "intermediary": { "internalPubkey": "e0dfe2300b0dd746a3f8674dfd4525623639042569d829c7f0eed9602d263e6f", - "tweak": "b57bfa183d28eeb6ad688ddaabb265b4a41fbf68e5fed2c72c74de70d5a786f4", + "tweak": "0a03a4bd78ab9f5b28ac9a0636e6cd36b490f54fe43781b2726743f9ce414e26", "tweakedPrivkey": "a8e7aa924f0d58854185a490e6c41f6efb7b675c0f3331b7f14b549400b4d501", "sigMsg": "0000020000000065cd1de3b33bb4ef3a52ad1fffb555c0d82828eb22737036eaeb02a235d82b909c4c3f58a6964a4f5f8f0b642ded0a8a553be7622a719da71d1f5befcefcdee8e0fde623ad0f61ad2bca5ba6a7693f50fce988e17c3780bf2b1e720cfbb38fbdd52e2118959c7221ab5ce9e26c3cd67b22c24f8baa54bac281d8e6b05e400e6c3a957ea2e6dab7c1f0dcd297c8d61647fd17d821541ea69c3cc37dcbad7f90d4eb4bc50004000000", "precomputedUsed": [ @@ -365,11 +365,11 @@ "hashScriptPubkeys", "hashSequences" ], - "sigHash": "4f900a0bae3f1446fd48490c2958b5a023228f01661cda3496a11da502a7f7ef" + "sigHash": "f82af191f0e0cd95f222a2105cf60ce76d65d452b64714c9984bf2edc527e31c" }, "expected": { "witness": [ - "b4010dd48a617db09926f729e79c33ae0b4e94b79f04a1ae93ede6315eb3669de185a17d2b0ac9ee09fd4c64b678a0b61a0a86fa888a273c8511be83bfd6810f" + "b8dd382f79a2882106e148e8e1dbc7cc2d7b0605d97fe7f61df95a923f5673fd774859071818d6bff4063e81b83a4f6914aff1d03aa10ee3885fa78a422cb5ce" ] } }, @@ -382,7 +382,7 @@ }, "intermediary": { "internalPubkey": "55adf4e8967fbd2e29f20ac896e60c3b0f1d5b0efa9d34941b5958c7b0a0312d", - "tweak": "6579138e7976dc13b6a92f7bfd5a2fc7684f5ea42419d43368301470f3b74ed9", + "tweak": "6cbcbb5533034f3ac2223e2df10f09a0e559c001f8b0a27eae87cdaa3855c265", "tweakedPrivkey": "241c14f2639d0d7139282aa6abde28dd8a067baa9d633e4e7230287ec2d02901", "sigMsg": "0002020000000065cd1de3b33bb4ef3a52ad1fffb555c0d82828eb22737036eaeb02a235d82b909c4c3f58a6964a4f5f8f0b642ded0a8a553be7622a719da71d1f5befcefcdee8e0fde623ad0f61ad2bca5ba6a7693f50fce988e17c3780bf2b1e720cfbb38fbdd52e2118959c7221ab5ce9e26c3cd67b22c24f8baa54bac281d8e6b05e400e6c3a957e0006000000", "precomputedUsed": [ @@ -391,11 +391,11 @@ "hashScriptPubkeys", "hashSequences" ], - "sigHash": "15f25c298eb5cdc7eb1d638dd2d45c97c4c59dcaec6679cfc16ad84f30876b85" + "sigHash": "1be0c13e88f9600b94ce73911b26908b985732dc24e86ff7568710050fc9124e" }, "expected": { "witness": [ - "a3785919a2ce3c4ce26f298c3d51619bc474ae24014bcdd31328cd8cfbab2eff3395fa0a16fe5f486d12f22a9cedded5ae74feb4bbe5351346508c5405bcfee002" + "98513973553d412e99fbeb7cd5187ac10bbc1cc02099d5882f8e6f0c49e68f2028a76d9e06bed4f363e8d9466dd0306a4e68705db129bdbeec6d57626436ab7f02" ] } }, @@ -408,15 +408,15 @@ }, "intermediary": { "internalPubkey": "ee4fe085983462a184015d1f782d6a5f8b9c2b60130aff050ce221ecf3786592", - "tweak": "9e0517edc8259bb3359255400b23ca9507f2a91cd1e4250ba068b4eafceba4a9", + "tweak": "7ccb26ae99af5270df35d470b3cfa177c14c315c5acde3c0cb74db50fa876ad1", "tweakedPrivkey": "65b6000cd2bfa6b7cf736767a8955760e62b6649058cbc970b7c0871d786346b", "sigMsg": "0082020000000065cd1d00e9aa6b8e6c9de67619e6a3924ae25696bb7b694bb677a632a74ef7eadfd4eabf00000000804c8b2000000000225120712447206d7a5238acc7ff53fbe94a3b64539ad291c7cdbc490b7577e4b17df5ffffffff", "precomputedUsed": [], - "sigHash": "cd292de50313804dabe4685e83f923d2969577191a3e1d2882220dca88cbeb10" + "sigHash": "1e0fe34aa2d40da283299310d9c4e266396bd33352266443bb424fab9afd77e7" }, "expected": { "witness": [ - "ea0c6ba90763c2d3a296ad82ba45881abb4f426b3f87af162dd24d5109edc1cdd11915095ba47c3a9963dc1e6c432939872bc49212fe34c632cd3ab9fed429c482" + "2c16846e08fd429de59baa00fe7d7445f47a3a15602a588fa367c75ae7f6386214a898ddc04b15b42c323752a32db22ddcdf893f841c2fb26619d0302e500f5782" ] } }, @@ -429,23 +429,23 @@ }, "intermediary": { "internalPubkey": "f9f400803e683727b14f463836e1e78e1c64417638aa066919291a225f0e8dd8", - "tweak": "639f0281b7ac49e742cd25b7f188657626da1ad169209078e2761cefd91fd65e", + "tweak": "66d835a48bf3d9695466bca5ec45434b27c37a908215323f7f82ba61cff6227e", "tweakedPrivkey": "ec18ce6af99f43815db543f47b8af5ff5df3b2cb7315c955aa4a86e8143d2bf5", "sigMsg": "0081020000000065cd1da2e6dab7c1f0dcd297c8d61647fd17d821541ea69c3cc37dcbad7f90d4eb4bc500a778eb6a263dc090464cd125c466b5a99667720b1c110468831d058aa1b82af101000000002b0c230000000022512077e30a5522dd9f894c3f8b8bd4c4b2cf82ca7da8a3ea6a239655c39c050ab220ffffffff", "precomputedUsed": [ "hashOutputs" ], - "sigHash": "cccb739eca6c13a8a89e6e5cd317ffe55669bbda23f2fd37b0f18755e008edd2" + "sigHash": "d666cb3c8adb76f6d672dcaf6b2f0bb6bea66fb376fffa782f8c4f41b3e45cfb" }, "expected": { "witness": [ - "bbc9584a11074e83bc8c6759ec55401f0ae7b03ef290c3139814f545b58a9f8127258000874f44bc46db7646322107d4d86aec8e73b8719a61fff761d75b5dd981" + "3a47f387217ce15f3b2877ff074fc58e1f1fc9a66adb27b4a07c1875cc41a13c8e51c981970ec6b5a0ca1f7ab8e3f6124d8672dea4fb03bed67a0e23369b5cc481" ] } } ], "auxiliary": { - "fullySignedTx": "020000000001097de20cbff686da83a54981d2b9bab3586f4ca7e48f57f5b55963115f3b334e9c010000000000000000d7b7cab57b1393ace2d064f4d4a2cb8af6def61273e127517d44759b6dafdd990000000000fffffffff8e1f583384333689228c5d28eac13366be082dc57441760d957275419a41842000000006b4830450221008f3b8f8f0537c420654d2283673a761b7ee2ea3c130753103e08ce79201cf32a022079e7ab904a1980ef1c5890b648c8783f4d10103dd62f740d13daa79e298d50c201210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798fffffffff0689180aa63b30cb162a73c6d2a38b7eeda2a83ece74310fda0843ad604853b0100000000feffffffaa5202bdf6d8ccd2ee0f0202afbbb7461d9264a25e5bfd3c5a52ee1239e0ba6c0000000000feffffff956149bdc66faa968eb2be2d2faa29718acbfe3941215893a2a3446d32acd050000000000000000000e664b9773b88c09c32cb70a2a3e4da0ced63b7ba3b22f848531bbb1d5d5f4c94010000000000000000e9aa6b8e6c9de67619e6a3924ae25696bb7b694bb677a632a74ef7eadfd4eabf0000000000ffffffffa778eb6a263dc090464cd125c466b5a99667720b1c110468831d058aa1b82af10100000000ffffffff0200ca9a3b000000001976a91406afd46bcdfd22ef94ac122aa11f241244a37ecc88ac807840cb0000000020ac9a87f5594be208f8532db38cff670c450ed2fea8fcdefcc9a663f78bab962b0141ed7c1647cb97379e76892be0cacff57ec4a7102aa24296ca39af7541246d8ff14d38958d4cc1e2e478e4d4a764bbfd835b16d4e314b72937b29833060b87276c030141052aedffc554b41f52b521071793a6b88d6dbca9dba94cf34c83696de0c1ec35ca9c5ed4ab28059bd606a4f3a657eec0bb96661d42921b5f50a95ad33675b54f83000141ff45f742a876139946a149ab4d9185574b98dc919d2eb6754f8abaa59d18b025637a3aa043b91817739554f4ed2026cf8022dbd83e351ce1fabc272841d2510a010140b4010dd48a617db09926f729e79c33ae0b4e94b79f04a1ae93ede6315eb3669de185a17d2b0ac9ee09fd4c64b678a0b61a0a86fa888a273c8511be83bfd6810f0247304402202b795e4de72646d76eab3f0ab27dfa30b810e856ff3a46c9a702df53bb0d8cc302203ccc4d822edab5f35caddb10af1be93583526ccfbade4b4ead350781e2f8adcd012102f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f90141a3785919a2ce3c4ce26f298c3d51619bc474ae24014bcdd31328cd8cfbab2eff3395fa0a16fe5f486d12f22a9cedded5ae74feb4bbe5351346508c5405bcfee0020141ea0c6ba90763c2d3a296ad82ba45881abb4f426b3f87af162dd24d5109edc1cdd11915095ba47c3a9963dc1e6c432939872bc49212fe34c632cd3ab9fed429c4820141bbc9584a11074e83bc8c6759ec55401f0ae7b03ef290c3139814f545b58a9f8127258000874f44bc46db7646322107d4d86aec8e73b8719a61fff761d75b5dd9810065cd1d" + "fullySignedTx": "020000000001097de20cbff686da83a54981d2b9bab3586f4ca7e48f57f5b55963115f3b334e9c010000000000000000d7b7cab57b1393ace2d064f4d4a2cb8af6def61273e127517d44759b6dafdd990000000000fffffffff8e1f583384333689228c5d28eac13366be082dc57441760d957275419a41842000000006b4830450221008f3b8f8f0537c420654d2283673a761b7ee2ea3c130753103e08ce79201cf32a022079e7ab904a1980ef1c5890b648c8783f4d10103dd62f740d13daa79e298d50c201210279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798fffffffff0689180aa63b30cb162a73c6d2a38b7eeda2a83ece74310fda0843ad604853b0100000000feffffffaa5202bdf6d8ccd2ee0f0202afbbb7461d9264a25e5bfd3c5a52ee1239e0ba6c0000000000feffffff956149bdc66faa968eb2be2d2faa29718acbfe3941215893a2a3446d32acd050000000000000000000e664b9773b88c09c32cb70a2a3e4da0ced63b7ba3b22f848531bbb1d5d5f4c94010000000000000000e9aa6b8e6c9de67619e6a3924ae25696bb7b694bb677a632a74ef7eadfd4eabf0000000000ffffffffa778eb6a263dc090464cd125c466b5a99667720b1c110468831d058aa1b82af10100000000ffffffff0200ca9a3b000000001976a91406afd46bcdfd22ef94ac122aa11f241244a37ecc88ac807840cb0000000020ac9a87f5594be208f8532db38cff670c450ed2fea8fcdefcc9a663f78bab962b0141b7b7822d70e24ccee384fc2452fdfd1b02283219793cdf65304605c5bd9e51a2d01672cc19b9cee8dc6f632974e0c74d068cebe9f1f73097afff417b67c75df2030141b888d32769dc256356912ad8b2d7e278494c8cd52c41bcc95a58f6b15fdcdef2875129105d654220e1962e9eeb49c6ae18ea49541daba3b7caf9b21d8d27d4938300014149c420fcd9ff573940f2b3d4e50a2304e644682b7090eda2ae7a64860ec2b05b6671cd4a6c3a508f166096392d994ac8e024fdce8ee6ada91c3454bb56e1edfb010140b8dd382f79a2882106e148e8e1dbc7cc2d7b0605d97fe7f61df95a923f5673fd774859071818d6bff4063e81b83a4f6914aff1d03aa10ee3885fa78a422cb5ce0247304402202b795e4de72646d76eab3f0ab27dfa30b810e856ff3a46c9a702df53bb0d8cc302203ccc4d822edab5f35caddb10af1be93583526ccfbade4b4ead350781e2f8adcd012102f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9014198513973553d412e99fbeb7cd5187ac10bbc1cc02099d5882f8e6f0c49e68f2028a76d9e06bed4f363e8d9466dd0306a4e68705db129bdbeec6d57626436ab7f0201412c16846e08fd429de59baa00fe7d7445f47a3a15602a588fa367c75ae7f6386214a898ddc04b15b42c323752a32db22ddcdf893f841c2fb26619d0302e500f578201413a47f387217ce15f3b2877ff074fc58e1f1fc9a66adb27b4a07c1875cc41a13c8e51c981970ec6b5a0ca1f7ab8e3f6124d8672dea4fb03bed67a0e23369b5cc4810065cd1d" } } ] diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp index 58c4710df4..9253e8280e 100644 --- a/src/test/script_tests.cpp +++ b/src/test/script_tests.cpp @@ -1875,7 +1875,6 @@ BOOST_AUTO_TEST_CASE(script_assets_test) file.close(); } -// ELEMENTS FIXME: Some of these test vectors need updating BOOST_AUTO_TEST_CASE(bip341_keypath_test_vectors) { UniValue tests; @@ -1903,8 +1902,7 @@ BOOST_AUTO_TEST_CASE(bip341_keypath_test_vectors) } BOOST_CHECK(txdata.m_bip341_taproot_ready); - // ELEMENTS: FIXME - //BOOST_CHECK_EQUAL(HexStr(txdata.m_spent_amounts_single_hash), vec["intermediary"]["hashAmounts"].get_str()); + BOOST_CHECK_EQUAL(HexStr(txdata.m_spent_asset_amounts_single_hash), vec["intermediary"]["hashAmounts"].get_str()); BOOST_CHECK_EQUAL(HexStr(txdata.m_outputs_single_hash), vec["intermediary"]["hashOutputs"].get_str()); BOOST_CHECK_EQUAL(HexStr(txdata.m_prevouts_single_hash), vec["intermediary"]["hashPrevouts"].get_str()); BOOST_CHECK_EQUAL(HexStr(txdata.m_spent_scripts_single_hash), vec["intermediary"]["hashScriptPubkeys"].get_str()); @@ -1935,12 +1933,10 @@ BOOST_AUTO_TEST_CASE(bip341_keypath_test_vectors) MutableTransactionSignatureCreator creator(tx, txinpos, utxos[txinpos].nValue, &txdata, hashtype); std::vector signature; BOOST_CHECK(creator.CreateSchnorrSig(provider, signature, pubkey, nullptr, &merkle_root, SigVersion::TAPROOT)); - // ELEMENTS: FIXME - //BOOST_CHECK_EQUAL(HexStr(signature), input["expected"]["witness"][0].get_str()); + BOOST_CHECK_EQUAL(HexStr(signature), input["expected"]["witness"][0].get_str()); // We can't observe the tweak used inside the signing logic, so verify by recomputing it. - // ELEMENTS: FIXME - //BOOST_CHECK_EQUAL(HexStr(pubkey.ComputeTapTweakHash(merkle_root.IsNull() ? nullptr : &merkle_root)), input["intermediary"]["tweak"].get_str()); + BOOST_CHECK_EQUAL(HexStr(pubkey.ComputeTapTweakHash(merkle_root.IsNull() ? nullptr : &merkle_root)), input["intermediary"]["tweak"].get_str()); // We can't observe the sighash used inside the signing logic, so verify by recomputing it. ScriptExecutionData sed; @@ -1951,8 +1947,7 @@ BOOST_AUTO_TEST_CASE(bip341_keypath_test_vectors) // BOOST_CHECK_EQUAL(HexStr(sighash), input["intermediary"]["sigHash"].get_str()); // To verify the sigmsg, hash the expected sigmsg, and compare it with the (expected) sighash. - // ELEMENTS: FIXME - // BOOST_CHECK_EQUAL(HexStr((HashWriter{HASHER_TAPSIGHASH_ELEMENTS} << Span{ParseHex(input["intermediary"]["sigMsg"].get_str())}).GetSHA256()), input["intermediary"]["sigHash"].get_str()); + BOOST_CHECK_EQUAL(HexStr((HashWriter{HASHER_TAPSIGHASH_ELEMENTS} << Span{ParseHex(input["intermediary"]["sigMsg"].get_str())}).GetSHA256()), input["intermediary"]["sigHash"].get_str()); } }