Changeset View
Changeset View
Standalone View
Standalone View
src/avalanche/test/proof_tests.cpp
Show First 20 Lines • Show All 303 Lines • ▼ Show 20 Lines | std::vector<TestVector> legacyFormatTestCases{ | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce68065cd42e0e6" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce68065cd42e0e6" | ||||
"9d511ad24ecb3c3af07176bcf890caa7cfc64039dc65e51014dd99d11bd00ffbfbcc1" | "9d511ad24ecb3c3af07176bcf890caa7cfc64039dc65e51014dd99d11bd00ffbfbcc1" | ||||
"9619ca502bfd4dd6dbc0967692ff6d2211b0bd9b9f05e1298", | "9619ca502bfd4dd6dbc0967692ff6d2211b0bd9b9f05e1298", | ||||
ProofId::fromHex("38f7c9696f9c2c07db3f23024d550a6b0b7f851013074280dbe3" | ProofId::fromHex("38f7c9696f9c2c07db3f23024d550a6b0b7f851013074280dbe3" | ||||
"49f42a2a5a00"), | "49f42a2a5a00"), | ||||
0, ProofValidationResult::DUST_THRESOLD}, | 0, ProofValidationResult::DUST_THRESOLD}, | ||||
}; | }; | ||||
// Proof master key: | |||||
// privkey L4J6gEE4wL9ji2EQbzS5dPMTTsw8LRvcMst1Utij4e3X5ccUSdqW | |||||
deadalnix: Don't remove th test for the format that is deployed now. | |||||
FabienAuthorUnsubmitted Done Inline ActionsThey're not removed, they're just above. Both cases (legacy and regular) are tested. Fabien: They're not removed, they're just above. Both cases (legacy and regular) are tested. | |||||
std::vector<TestVector> regularFormatTestCases{ | std::vector<TestVector> regularFormatTestCases{ | ||||
{"Properly signed 1 UTXO proof, P2PK payout script", | {"Properly signed 1 UTXO proof, P2PK payout script", | ||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | "d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | ||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | "c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | ||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | "e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680baa8704cc7" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | ||||
"97482ae7b673f04fec50be1cdcefdffc3863029352aef07b16336d57a6036c0c62782" | "70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | ||||
"780fb12051839ac46328040bffe675bfbcdd15f5f6a5acbda2321023beefdde700a6b" | "5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | ||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac", | "c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | ||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("455f34eb8a00b0799630071c0728481bdb1653035b1484ac33e9" | ProofId::fromHex("455f34eb8a00b0799630071c0728481bdb1653035b1484ac33e9" | ||||
"74aa4ae7db6d"), | "74aa4ae7db6d"), | ||||
444638638, ProofValidationResult::NONE}, | 444638638, ProofValidationResult::NONE}, | ||||
{"Properly signed 1 UTXO proof, P2PKH payout script", | {"Properly signed 1 UTXO proof, P2PKH payout script", | ||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | "d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | ||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | "c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | ||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | "e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802ddcceb12b" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce68095189fd41e" | ||||
"f6fa6f3b5001e0c7a60dd79ae373bb83d52630a11691b62a9c32e43a3003f6c13ca22" | "e3a637f27ae84b45b0c15ba43e674be4692ec91546941295c5d35c101bf657902bc6a" | ||||
"8e33add06fafba4c76ce91bab15171b0c53aef732e824f78b1976a914f8172c51efbf" | "2f64f70bb431f3c9e8d20f0c4081963ca63117df9f471b8991976a914f8172c51efbf" | ||||
"34413a308a030fd4b164c5bfcd8f88ac", | "34413a308a030fd4b164c5bfcd8f88ac2d805b078f5efe022304f8c6ccd0ef5255d80" | ||||
"6a473fc85a5ad1caf1aa94a4e49ef7625b9dc85d263b2829d5822af62226bc50a4a83" | |||||
"76a3a6e1cd0a37ea2fbbf9", | |||||
ProofId::fromHex("8a2fcc5700a89f37a3726cdf3202353bf61f280815a9df744e3c" | ProofId::fromHex("8a2fcc5700a89f37a3726cdf3202353bf61f280815a9df744e3c" | ||||
"9de6215a745a"), | "9de6215a745a"), | ||||
444638638, ProofValidationResult::NONE}, | 444638638, ProofValidationResult::NONE}, | ||||
{"Properly signed 1 UTXO proof, P2SH payout script", | {"Properly signed 1 UTXO proof, P2SH payout script", | ||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | "d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | ||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | "c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | ||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | "e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680091c7780f8" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680c2e8203530" | ||||
"981eb8edbdf98aae9a9072cb2f0af1a87b426c734e79e32704b02878086b5e933ba5d" | "d213ceef91536cb6167a0cfe4deb9561b938ee54791d51692ef665d87eb23b7f7ddc3" | ||||
"3fc6948ab24b14669e1f670ff0ac2965cce03dcd315e9322a17a914da1745e9b549bd" | "6b2d7914ca592bf58f9295ed41015061463315a8ac3bb192b17a914da1745e9b549bd" | ||||
"0bfa1a569971c77eba30cd5a4b87", | "0bfa1a569971c77eba30cd5a4b87fea0a245528a4aadfc1dd5731c0cfe738e276c938" | ||||
"15c69789fe97b15a5fb5b4f75b598ed94096205561e8d16203b8ef21763891d8e79a5" | |||||
"9862bccbbd5bdf3a58", | |||||
ProofId::fromHex("c61ee0416eb9549ea0e09dfd2c6062a11aa5d3ab0adcdf59abcc" | ProofId::fromHex("c61ee0416eb9549ea0e09dfd2c6062a11aa5d3ab0adcdf59abcc" | ||||
"02dd0de401fc"), | "02dd0de401fc"), | ||||
444638638, ProofValidationResult::NONE}, | 444638638, ProofValidationResult::NONE}, | ||||
{"Properly signed 1 UTXO proof, 1-of-1 multisig payout script", | {"Properly signed 1 UTXO proof, 1-of-1 multisig payout script", | ||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | "d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | ||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | "c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | ||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | "e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680e669fa3d48" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680c5eb5fdf05" | ||||
"1cce63ddf4dd4f1bc486f7294f4d3fa06bf3e03185423d614aeba8b8577aaca91b0d6" | "84d9a6e938d41034daf43d6bac05a9d6132ba0711193279e5f5494cb9d59920bdbd96" | ||||
"212a335e4977523c54d701db772ac5a16b352efc085fb0741255121023beefdde700a" | "858162c7226ddfc565dbb3a2e4609a148e67770f09a968582255121023beefdde700a" | ||||
"6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde351ae", | "6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde351ae29eaecb058c9b" | ||||
"b74eef68dbeaa5da8b96aacc00bc89c911095ad016cfbdc53b1eeb10a9f29d6c48a5f" | |||||
"b3a1e6e30d332a05bdc67062f94acffbe6d6c909bb5643", | |||||
ProofId::fromHex("29deedc94713bbc4d4f88fe96fae6801b91c5ae50601f158fa76" | ProofId::fromHex("29deedc94713bbc4d4f88fe96fae6801b91c5ae50601f158fa76" | ||||
"a036e18ea468"), | "a036e18ea468"), | ||||
444638638, ProofValidationResult::NONE}, | 444638638, ProofValidationResult::NONE}, | ||||
{"Properly signed 1 UTXO proof, 2-of-3 multisig payout script", | {"Properly signed 1 UTXO proof, 2-of-3 multisig payout script", | ||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | "d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | ||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | "c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | ||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | "e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6808d8b48717e" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce68072fb150ce9" | ||||
"f23eafb7254c8bdb79cec84b259d023f973c6a086fb6c369671c97c93d2a22c698d17" | "813a3fe876bac7e2f4806a0f1efdadcfb1970c009a29af212cca0a43555eb1e0e0863" | ||||
"5b4c37c30f5b681a6b019106dd1fab54dc6212e8eb12c500f695221023beefdde700a" | "a2361244ad282cc9568d1691a582513d9793c0432cb78339e695221023beefdde700a" | ||||
"6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6" | "6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6" | ||||
"bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6b" | "bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6b" | ||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde353ae", | "c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde353ae34814734c1bd2c4" | ||||
"76fdae6fb1145530c3244878f3c2e0c2e5c05da14f17456aedee6beb80f68f42248fd" | |||||
"89042346be54beaef7da8e549d7d5ff07f9a2cc63c83", | |||||
ProofId::fromHex("c24dc13d98d0e0a80c19346b9590368557a66f0f65c0088c179d" | ProofId::fromHex("c24dc13d98d0e0a80c19346b9590368557a66f0f65c0088c179d" | ||||
"89eca25107c8"), | "89eca25107c8"), | ||||
444638638, ProofValidationResult::NONE}, | 444638638, ProofValidationResult::NONE}, | ||||
{"Properly signed 1 UTXO proof, OP_RETURN payout script", | {"Properly signed 1 UTXO proof, OP_RETURN payout script", | ||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | "d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | ||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | "c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | ||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | "e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680a89393513c" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680c48602d78d" | ||||
"b33ef4c1941f19e25e5cc9d75f648e89b91b748598d9966de35a0781c4e0409765bdf" | "8ee81361082417c97d94c54648adc9ef7f9047df5d03546ad6a13c6e81a15a4888130" | ||||
"896f53f8430b7150077e1952c118d374bdfaab1c37713cdb01b6a19492077616e7420" | "161ae29239a2c4d66df72e4bb73036781d96fab810a39a1d71b6a19492077616e7420" | ||||
"746f206275726e206d792072657761726473", | "746f206275726e206d792072657761726473f42ae2e5fa253a700e5dcb3970a894db4" | ||||
"48b61960b45c84723bf769d4dab0370994d0163e235b688da2fabc8e5b57e24805dce" | |||||
"3baa62e064c32266a723c6adb6", | |||||
ProofId::fromHex("bfc250ca1986177acc779f26eaff80aa8916d23cb3e7e0ce6d35" | ProofId::fromHex("bfc250ca1986177acc779f26eaff80aa8916d23cb3e7e0ce6d35" | ||||
"89c4f5ea364c"), | "89c4f5ea364c"), | ||||
444638638, ProofValidationResult::NONE}, | 444638638, ProofValidationResult::NONE}, | ||||
{"Invalid payout script (OP_FALSE)", | {"Invalid payout script (OP_FALSE)", | ||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | "d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | ||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | "c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | ||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | "e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680176d115007" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6805337be85cb" | ||||
"f81be4be87ae2883fda15d87a7991645f00c8acf79b7f31501ee823604df88d29acfb" | "44712c830d4fbecb59e89e19f6f77fa3b7cc17e8124e76ebd7626b9ba27d641ec97af" | ||||
"4d911c02294d5157191ebcf6657926764757da69dad2897540100", | "9b66bc6b73031e14db10a6e1adae74bf2cdb683eb99475ba50100b71f0e77b4ad5d73" | ||||
"d5a872ab43699309b5c194f72be5ee0812236c1a46a5b2c22ddd71d909cf52143f487" | |||||
"54a61dfe0c6566342fa50b7d62c40fb44d1ff5abed3", | |||||
ProofId::fromHex("046e75fa2d7f0868dcfa683bbdf657fc6a49b8f8b0d5c2dfdf90" | ProofId::fromHex("046e75fa2d7f0868dcfa683bbdf657fc6a49b8f8b0d5c2dfdf90" | ||||
"736ded26b076"), | "736ded26b076"), | ||||
444638638, ProofValidationResult::INVALID_PAYOUT_SCRIPT}, | 444638638, ProofValidationResult::INVALID_PAYOUT_SCRIPT}, | ||||
{"Invalid payout script (1-of-5 multisig)", | {"Invalid payout script (1-of-5 multisig)", | ||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | "d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | ||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | "c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | ||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | "e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680a90f09c643" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6805cada44f47" | ||||
"edc82a5babbd25c446fe22df502eba5c9eff4dee2c471fb8c9cc8e5142d71583ac970" | "acd1bc0d679f2448f03b56fdf20170add0c44b1cdcb7cc47d388269cdb7d452c0a9b4" | ||||
"d5dc717f5cd4969a1089f9b74ac558afe94398022422fce0cad5121023beefdde700a" | "06ea6de32e6a672ad125c8b54d0511768aa60b0212fbce1b2ad5121023beefdde700a" | ||||
"6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6" | "6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6" | ||||
"bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6b" | "bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6b" | ||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6bc" | "c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6bc" | ||||
"02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6bc0" | "02036335b4df141c8bc67bb05a971f5ac2745fd683797dde321023beefdde700a6bc0" | ||||
"2036335b4df141c8bc67bb05a971f5ac2745fd683797dde355ae", | "2036335b4df141c8bc67bb05a971f5ac2745fd683797dde355ae005dfe80b01bc99f9" | ||||
"3ae1d1c2d7176f7ea54a7f7c76b6eabb1aec5d31de170b0690282f624d01070fb2700" | |||||
"18694aea6a73ac5b7a96e30ed69df9b7684298b986", | |||||
ProofId::fromHex("e66b0ab11de5e2f358d2e1f65b1ebe608e4a1f10a9f5d42f1173" | ProofId::fromHex("e66b0ab11de5e2f358d2e1f65b1ebe608e4a1f10a9f5d42f1173" | ||||
"b262e1a218a6"), | "b262e1a218a6"), | ||||
444638638, ProofValidationResult::INVALID_PAYOUT_SCRIPT}, | 444638638, ProofValidationResult::INVALID_PAYOUT_SCRIPT}, | ||||
{"Changing the payout address changes the ProofId (P2PK)", | {"Changing the payout address changes the proof signature (P2PK)", | ||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | "d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | ||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | "c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | ||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | "e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | ||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce680baa8704cc7" | "5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | ||||
"97482ae7b673f04fec50be1cdcefdffc3863029352aef07b16336d57a6036c0c62782" | "70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | ||||
"780fb12051839ac46328040bffe675bfbcdd15f5f6a5acbda2321023beefdde700a6b" | "5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | ||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde4ac", | "c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde4ac7b0b7865200f63052" | ||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("ce2812a1decdef0267e0266c68ab53c5ecad292f7b7d0fbd3db9" | ProofId::fromHex("ce2812a1decdef0267e0266c68ab53c5ecad292f7b7d0fbd3db9" | ||||
"285a08ccd2a1"), | "285a08ccd2a1"), | ||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
// The following tests are based on the valid 1 UTXO proof (P2PK script) | |||||
{"Changing the sequence changes the proof signature", | |||||
"da7587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("37a08e004f35d6410b24a5724b8351b41d4e3ac04f285cd76d73" | |||||
"a023b2ae5519"), | |||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
{"Changing the expiration time changes the proof signature", | |||||
"d97587e6c882615797011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("1312eff53594f63e61f044c36b2cf2d3e7e44c706f17bfabcf49" | |||||
"954741380bbc"), | |||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
{"Changing the master pubkey does NOT change the proof signature (but " | |||||
"signature verification obviously fails)", | |||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde40169a79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("de837b44ae2df5408f89dc42039ae53a61ea508a15e214e69a50" | |||||
"d940b72e7713"), | |||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
{"Changing the TxId changes the proof signature", | |||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde3016aa79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("2c90b8359740d675952b570cca76ffb7c1a225984b8c7f47bc27" | |||||
"607c58a613b5"), | |||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
{"Changing the outpoint index changes the proof signature", | |||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91df00cf21804712806594010038e168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("289c082f835c2edd24b95e1aee7dbb353dff30cdcaab02d5dc2a" | |||||
"c44c57181468"), | |||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
{"Changing the amount changes the proof signature", | |||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91de00cf21814712806594010038e168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("8d97d3ed1884462122976da4706778593fc4b5eaafb859bec0b4" | |||||
"5f590219f5ba"), | |||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
{"Changing the height changes the proof signature", | |||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91de00cf2180471280659401003ae168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("690cb3d74b5add1cfb7d4cf186426d41117586c57d59da330cc9" | |||||
"50e2d18d613c"), | |||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
{"Changing the coinbase flag changes the proof signature", | |||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010039e168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("f713dec5d2f798360748914face171d5a45706b9c5f0bc4d561f" | |||||
"6e80e098beef"), | |||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
{"Changing the stake pubkey changes the proof signature", | |||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6812249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029272321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("df84548b3a085e29d58ba5e83ad2fd1c9ecbe8595d4240f3f588" | |||||
"e52af84cc65b"), | |||||
444638638, ProofValidationResult::INVALID_PROOF_SIGNATURE}, | |||||
{"Changing the stake signature does NOT change the proof signature", | |||||
"d97587e6c882615796011ec8f9a7b1c621023beefdde700a6bc02036335b4df141c8b" | |||||
"c67bb05a971f5ac2745fd683797dde30169a79ff23e1d58c64afad42ad81cffe53967" | |||||
"e16beb692fc5776bb442c79c5d91de00cf21804712806594010038e168a32102449fb" | |||||
"5237efe8f647d32e8b64f06c22d1d40368eaca2a71ffc6a13ecc8bce6802249784cdf" | |||||
"70222cafa65d71a80d6f588cda6fd7183b67b2e5a9097dd49e3be7ddc24a54ccb393e" | |||||
"5c9e51ce3f7e788ff93d19b5954fb61215875a14b34f029282321023beefdde700a6b" | |||||
"c02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3ac7b0b7865200f63052" | |||||
"ff980b93f965f398dda04917d411dd46e3c009a5fef35661fac28779b6a22760c0000" | |||||
"4f5ddf7d9865c7fead7e4a840b947939590261640f", | |||||
ProofId::fromHex("455f34eb8a00b0799630071c0728481bdb1653035b1484ac33e9" | |||||
"74aa4ae7db6d"), | |||||
444638638, ProofValidationResult::INVALID_STAKE_SIGNATURE}, | 444638638, ProofValidationResult::INVALID_STAKE_SIGNATURE}, | ||||
}; | }; | ||||
auto checkCases = [&](const std::vector<TestVector> &testcases) { | auto checkCases = [&](const std::vector<TestVector> &testcases) { | ||||
for (auto &c : testcases) { | for (auto &c : testcases) { | ||||
CDataStream stream(ParseHex(c.hex), SER_NETWORK, 0); | CDataStream stream(ParseHex(c.hex), SER_NETWORK, 0); | ||||
Proof p; | Proof p; | ||||
stream >> p; | stream >> p; | ||||
▲ Show 20 Lines • Show All 189 Lines • Show Last 20 Lines |
Don't remove th test for the format that is deployed now.