diff --git a/src/avalanche/proof.cpp b/src/avalanche/proof.cpp --- a/src/avalanche/proof.cpp +++ b/src/avalanche/proof.cpp @@ -51,14 +51,17 @@ CHashWriter ss(SER_GETHASH, 0); ss << sequence; ss << expirationTime; - ss << master; WriteCompactSize(ss, stakes.size()); for (const SignedStake &s : stakes) { ss << s.getStake(); } - return ProofId(ss.GetHash()); + CHashWriter ss2(SER_GETHASH, 0); + ss2 << ss.GetHash(); + ss2 << master; + + return ProofId(ss2.GetHash()); } uint32_t Proof::getScore() const { diff --git a/src/avalanche/proofbuilder.cpp b/src/avalanche/proofbuilder.cpp --- a/src/avalanche/proofbuilder.cpp +++ b/src/avalanche/proofbuilder.cpp @@ -50,14 +50,17 @@ CHashWriter ss(SER_GETHASH, 0); ss << sequence; ss << expirationTime; - ss << master; WriteCompactSize(ss, stakes.size()); for (const auto &s : stakes) { ss << s.stake; } - return ProofId(ss.GetHash()); + CHashWriter ss2(SER_GETHASH, 0); + ss2 << ss.GetHash(); + ss2 << master; + + return ProofId(ss2.GetHash()); } Proof ProofBuilder::buildRandom(uint32_t score) { diff --git a/src/avalanche/test/delegation_tests.cpp b/src/avalanche/test/delegation_tests.cpp --- a/src/avalanche/test/delegation_tests.cpp +++ b/src/avalanche/test/delegation_tests.cpp @@ -61,21 +61,34 @@ CheckDelegation(dgb.build(), p, l2key.GetPubKey()); } +// Proof master priv: +// L4J6gEE4wL9ji2EQbzS5dPMTTsw8LRvcMst1Utij4e3X5ccUSdqW +// Proof master pub: +// 023beefdde700a6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3 +// Level 1 priv: +// KzzLLtiYiyFcTXPWUzywt2yEKk5FxkGbMfKhWgBd4oZdt8t8kk77 +// Level 1 pub: +// 03e49f9df52de2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef +// Level 2 priv: +// KwM6hV6hxZt3Kt4NHMtWQGH5T2SwhpyswodUQC2zmSjg6KWFWkQU +// Level 2 pub: +// 03aac52f4cfca700e7e9824298e0184755112e32f359c832f5f6ad2ef62a2c024a + static Proof getProof() { Proof p; CDataStream stream( ParseHex( - "0000000000000000ffffffff000000002103717ba63ac0a84495aca04d0cbffea2" - "684d2306ec53f3b90c064989f9d0e8761701bee72758084395310b5a7ccc98a836" - "11dff786f0a469d1d66626ba286b0423870000000000108dbe1c000000a4090000" - "21021a766cd1dc8bd54252a61592c9c3b1c06495f2f6965ad950dbe9f8b1890670" - "bdb68872cb4bea3a981986a6a6b5d84636d4adc8f8c0e956392dd114b2241ec8df" - "a79ff1580d8b4fd6bfdecea98a164ee2fd23157a97f31624cc740063a7b69b4f"), + "0000000000000000fff053650000000021023beefdde700a6bc02036335b4df141" + "c8bc67bb05a971f5ac2745fd683797dde3019827d7a4cce275adf8a8e4ea5ee1ab" + "1bdecafae1acff1eeeffc0e10dec1defbe0000000000a082711f0100005abd0100" + "210243a0ea97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c" + "964e85fcdb90a7ae7bc8009a1511e8364b0620efd6538fc5db0224f34e49a29ac0" + "9d5d9274cbc7150c6caa91236bd9fbb511ef23e1fefe0c26e7701b2eb85d1c46"), SER_NETWORK, 0); stream >> p; BOOST_CHECK_EQUAL(p.getId(), - ProofId::fromHex("004caaf05fb28c2e12fbf930b7f941baf06d2e3" - "db210d8e55b22a4cd11d41d71")); + ProofId::fromHex("513d677ac91d5baa2be4e257f945f3091aa9779" + "ac4d5be5a2ae607a63745f0fb")); return p; } @@ -92,70 +105,70 @@ std::vector testcases{ {"Empty delegation", - "711dd411cda4225be5d810b23d2e6df0ba41f9b730f9fb122e8cb25ff0aa4c0000", - "004caaf05fb28c2e12fbf930b7f941baf06d2e3db210d8e55b22a4cd11d41d71", - "03717ba63ac0a84495aca04d0cbffea2684d2306ec53f3b90c064989f9d0e87617", + "fbf04537a607e62a5abed5c49a77a91a09f345f957e2e42baa5b1dc97a673d5100", + "513d677ac91d5baa2be4e257f945f3091aa9779ac4d5be5a2ae607a63745f0fb", + "023beefdde700a6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3", DelegationResult::NONE}, {"One delegation", - "711dd411cda4225be5d810b23d2e6df0ba41f9b730f9fb122e8cb25ff0aa4c0001210" - "3e1f0e1af2f5cd09bb0b37be8c4e100788dda36b2aa8c9b45fac54728177aaaab0347" - "5811c001c4c7cccccc38bb3308917c116187cd2becd4a0158072a5b8f3b64fcd8667c" - "cb06beed29b48dd4cd113570779136e1dba6892343c104832675c78", - "70aa515da27335d39db7a7a721d14a3dce07bc5d919982e2082d2fa6c5cc4652", - "03e1f0e1af2f5cd09bb0b37be8c4e100788dda36b2aa8c9b45fac54728177aaaab", + "fbf04537a607e62a5abed5c49a77a91a09f345f957e2e42baa5b1dc97a673d5101210" + "3e49f9df52de2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef0a79" + "23b4a34f369fe06d9578aef732179db29406fab5ae75c14a884442c5076f133a7fd5b" + "189fe11b2841defb68c71542a61160c65f35828f44f508c0b1d4390", + "32ec3ccd53af5f3fa86103ee702dfff7712102bab1bbf255e4e2f15b57585604", + "03e49f9df52de2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef", DelegationResult::NONE}, {"Two delegation", - "711dd411cda4225be5d810b23d2e6df0ba41f9b730f9fb122e8cb25ff0aa4c0002210" - "3e1f0e1af2f5cd09bb0b37be8c4e100788dda36b2aa8c9b45fac54728177aaaab0347" - "5811c001c4c7cccccc38bb3308917c116187cd2becd4a0158072a5b8f3b64fcd8667c" - "cb06beed29b48dd4cd113570779136e1dba6892343c104832675c782103068e41c1a9" - "4a095cc0fcda08cf2add169e00d39f126d9dfa0c6f4bdfb397819f3a8ebb3ef304147" - "087f7fa3b2ae60921a241a503bcbd844bf63cf88f75380aebeae9ef0592fab2c66730" - "bc64d09387d97ac7019171b83a3cac43c3350c85d61a", - "232cb4c5c9261ba92b885ba1af63212c0b9b9d1e0e0bc68c80e22b05a7a48887", - "03068e41c1a94a095cc0fcda08cf2add169e00d39f126d9dfa0c6f4bdfb397819f", + "fbf04537a607e62a5abed5c49a77a91a09f345f957e2e42baa5b1dc97a673d5102210" + "3e49f9df52de2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef0a79" + "23b4a34f369fe06d9578aef732179db29406fab5ae75c14a884442c5076f133a7fd5b" + "189fe11b2841defb68c71542a61160c65f35828f44f508c0b1d43902103aac52f4cfc" + "a700e7e9824298e0184755112e32f359c832f5f6ad2ef62a2c024ac0966f430943721" + "f008a8c9a4dc7ab8ebe078c9f3b43f7b2946a72287b2b89da21de2b294359ea24ba83" + "f05e435bd5c61d0f2867dd621612757f02238b51d4f5", + "1b2d9fe9ecb20c3c0fed1a3301ec194aa6e0ec8a9a0f7b0449049ecdeae4d3df", + "03aac52f4cfca700e7e9824298e0184755112e32f359c832f5f6ad2ef62a2c024a", DelegationResult::NONE}, {"Incorrect proof", "721dd411cda4225be5d810b23d2e6df0ba41f9b730f9fb122e8cb25ff0aa4c0000", "004caaf05fb28c2e12fbf930b7f941baf06d2e3db210d8e55b22a4cd11d41d72", "", DelegationResult::INCORRECT_PROOF}, {"Invalid pubkey", - "711dd411cda4225be5d810b23d2e6df0ba41f9b730f9fb122e8cb25ff0aa4c0001210" - "3e1f0e1af3f5cd09bb0b37be8c4e100788dda36b2aa8c9b45fac54728177aaaab0347" - "5811c001c4c7cccccc38bb3308917c116187cd2becd4a0158072a5b8f3b64fcd8667c" - "cb06beed29b48dd4cd113570779136e1dba6892343c104832675c78", - "101319ff1c4153492a0b14d4e2539396b2da92452756bbf8069f28690cbdba4e", - "03717ba63ac0a84495aca04d0cbffea2684d2306ec53f3b90c064989f9d0e87617", + "fbf04537a607e62a5abed5c49a77a91a09f345f957e2e42baa5b1dc97a673d5101210" + "3e49f9df52df2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef0a79" + "23b4a34f369fe06d9578aef732179db29406fab5ae75c14a884442c5076f133a7fd5b" + "189fe11b2841defb68c71542a61160c65f35828f44f508c0b1d4390", + "d91be19d94a3764f019648a7c1d1c9b4914773b77eabd6d0e7ceb7558876e00c", + "023beefdde700a6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3", DelegationResult::INVALID_SIGNATURE}, {"Invalid signature", - "711dd411cda4225be5d810b23d2e6df0ba41f9b730f9fb122e8cb25ff0aa4c0001210" - "3e1f0e1af2f5cd09bb0b37be8c4e100788dda36b2aa8c9b45fac54728177aaaab0347" - "5811c001c4c7ccccccc8bb3308917c116187cd2becd4a0158072a5b8f3b64fcd8667c" - "cb06beed29b48dd4cd113570779136e1dba6892343c104832675c78", - "70aa515da27335d39db7a7a721d14a3dce07bc5d919982e2082d2fa6c5cc4652", - "03717ba63ac0a84495aca04d0cbffea2684d2306ec53f3b90c064989f9d0e87617", + "fbf04537a607e62a5abed5c49a77a91a09f345f957e2e42baa5b1dc97a673d5101210" + "3e49f9df52de2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef0a79" + "23b4a34f369fe06d9588aef732179db29406fab5ae75c14a884442c5076f133a7fd5b" + "189fe11b2841defb68c71542a61160c65f35828f44f508c0b1d4390", + "32ec3ccd53af5f3fa86103ee702dfff7712102bab1bbf255e4e2f15b57585604", + "023beefdde700a6bc02036335b4df141c8bc67bb05a971f5ac2745fd683797dde3", DelegationResult::INVALID_SIGNATURE}, {"Second invalid key", - "711dd411cda4225be5d810b23d2e6df0ba41f9b730f9fb122e8cb25ff0aa4c0002210" - "3e1f0e1af2f5cd09bb0b37be8c4e100788dda36b2aa8c9b45fac54728177aaaab0347" - "5811c001c4c7cccccc38bb3308917c116187cd2becd4a0158072a5b8f3b64fcd8667c" - "cb06beed29b48dd4cd113570779136e1dba6892343c104832675c782103068e41c2a9" - "4a095cc0fcda08cf2add169e00d39f126d9dfa0c6f4bdfb397819f3a8ebb3ef304147" - "087f7fa3b2ae60921a241a503bcbd844bf63cf88f75380aebeae9ef0592fab2c66730" - "bc64d09387d97ac7019171b83a3cac43c3350c85d61a", - "78c9222e1031fd85f0efe619de1f58c78ad4497a23693bc38c3fd20466215b1a", - "03e1f0e1af2f5cd09bb0b37be8c4e100788dda36b2aa8c9b45fac54728177aaaab", + "fbf04537a607e62a5abed5c49a77a91a09f345f957e2e42baa5b1dc97a673d5102210" + "3e49f9df52de2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef0a79" + "23b4a34f369fe06d9578aef732179db29406fab5ae75c14a884442c5076f133a7fd5b" + "189fe11b2841defb68c71542a61160c65f35828f44f508c0b1d43902103aac52f4dfc" + "a700e7e9824298e0184755112e32f359c832f5f6ad2ef62a2c024ac0966f430943721" + "f008a8c9a4dc7ab8ebe078c9f3b43f7b2946a72287b2b89da21de2b294359ea24ba83" + "f05e435bd5c61d0f2867dd621612757f02238b51d4f5", + "43915c04f406d7e1064d5c60498282294f5456d7bb25da42e4306d723fc74b93", + "03e49f9df52de2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef", DelegationResult::INVALID_SIGNATURE}, {"Second invalid signature", - "711dd411cda4225be5d810b23d2e6df0ba41f9b730f9fb122e8cb25ff0aa4c0002210" - "3e1f0e1af2f5cd09bb0b37be8c4e100788dda36b2aa8c9b45fac54728177aaaab0347" - "5811c001c4c7cccccc38bb3308917c116187cd2becd4a0158072a5b8f3b64fcd8667c" - "cb06beed29b48dd4cd113570779136e1dba6892343c104832675c782103068e41c1a9" - "4a095cc0fcda08cf2add169e00d39f126d9dfa0c6f4bdfb397819f3a8ebb3ef304147" - "087f7fa3b2ae60921a241a504bcbd844bf63cf88f75380aebeae9ef0592fab2c66730" - "bc64d09387d97ac7019171b83a3cac43c3350c85d61a", - "232cb4c5c9261ba92b885ba1af63212c0b9b9d1e0e0bc68c80e22b05a7a48887", - "03e1f0e1af2f5cd09bb0b37be8c4e100788dda36b2aa8c9b45fac54728177aaaab", + "fbf04537a607e62a5abed5c49a77a91a09f345f957e2e42baa5b1dc97a673d5102210" + "3e49f9df52de2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef0a79" + "23b4a34f369fe06d9578aef732179db29406fab5ae75c14a884442c5076f133a7fd5b" + "189fe11b2841defb68c71542a61160c65f35828f44f508c0b1d43902103aac52f4cfc" + "a700e7e9824298e0184755112e32f359c832f5f6ad2ef62a2c024ac0966f430943721" + "f008a8c9a4dc7ab8ebe078c9f4b43f7b2946a72287b2b89da21de2b294359ea24ba83" + "f05e435bd5c61d0f2867dd621612757f02238b51d4f5", + "1b2d9fe9ecb20c3c0fed1a3301ec194aa6e0ec8a9a0f7b0449049ecdeae4d3df", + "03e49f9df52de2dea81cf7838b82521b69f2ea360f1c4eed9e6c89b7d0f9e645ef", DelegationResult::INVALID_SIGNATURE}, }; diff --git a/src/avalanche/test/proof_tests.cpp b/src/avalanche/test/proof_tests.cpp --- a/src/avalanche/test/proof_tests.cpp +++ b/src/avalanche/test/proof_tests.cpp @@ -81,8 +81,8 @@ {"No utxo staked", "96527eae083f1f24625f049d9e54bb9a2102a93d98bf42ab90cfc0bf9e7c634ed76a7" "3e95b02cacfd357b64e4fb6c92e92dd00", - ProofId::fromHex("df721b6e2a857ce8abac63d8d5eca35f3bdb0293b6e8295942c7" - "6274c5418c0c"), + ProofId::fromHex("19f6631738a5a0196bf6152dcdb40de4675954567b444631cdec" + "52d4c39b5316"), 0, ProofValidationResult::NO_STAKE}, {"1 utxo staked", "a6d66db9fe9378fdd37a0ad2c01c2acd2103648144bb6a0c1d09b0f04d0df6d55f914" @@ -92,8 +92,8 @@ "97ca2bec6e0dd4acf50a66204bde1ebb5d6c551684cff2f939920f7fbb2efd860d6d5" "926bf425eb47b78bf6979cdcd67eb705e2c9a4d45a0930ba25463178a3fb99cb28c8b" "77d8fcf68c54ebfadf08b9a446c251a0088301c50d53", - ProofId::fromHex("048235ee870030f11c287d898dd3ec184f9b38cf4fb274334966" - "c6aad83b769d"), + ProofId::fromHex("82754c0d4170521b19360c6862483ad435b7b95f078aedf781d6" + "9a6c5b89a916"), 7584312, ProofValidationResult::INVALID_SIGNATURE}, {"2 utxo staked", "872379ab64f55b4166ca0e79639999ec4104a66861de557a54eefc0375264cc17c3a3" @@ -107,8 +107,8 @@ "912102ebfcea8e1864c1273c41e0d7c1e9097be5c491bbbf5fe31161d8e5589b9d6b5" "b12f3b963c7fc7614d56d83af907e5cb18ac2f4c3e70a8c4253995f6bc002ec5e3504" "91c965cba4dbc11c210979217f1ac3ece7a748f5b2fcf5cced40a5d4c40e", - ProofId::fromHex("7319126f0d4efc188440dd50105ea30d792687b65e9cdde6c4d6" - "08ed226cba00"), + ProofId::fromHex("ba5aba9be72c9c2c52f857b81245e1ec85c879bbc8e111008673" + "d78c26610b05"), 15610172, ProofValidationResult::INVALID_SIGNATURE}, {"3 utxo staked", "525e2aa04af0e2457c66ac9e7f66257f210252db8e3ceea6fca44a7696e82f7b77e5a" @@ -127,8 +127,8 @@ "b24f0b0ea1cbfc4030bec095a8d3e9c2a233778535dc1fcc07755149b23ea8c17931a" "37e9377eaa2f45bafb8d0bb9ba1700aab88fd6a53ea3e83d95ad2d84e7abe828f5570" "91b185e", - ProofId::fromHex("3b3204993240ab338324310ecadc5f234da1dac0627029cef63e" - "1169a049d18f"), + ProofId::fromHex("9ea64e9760f2c7832f1c9840923947915361acb22dcc0bae4404" + "94be0d51842d"), 29026903, ProofValidationResult::INVALID_SIGNATURE}, {"4 utxo staked", "eef33172651f752ac255c85a4e1374992102c12b37ff6139157865fc4c3a9d7ad999b" @@ -151,175 +151,151 @@ "6af5395780a2d3c42505146c095bc861fab15238fb8aa1fb82c7ad28b0ee5d1335348" "76dc7887490c7c6e61103b2cd221f1991826a73fecf08e0b5a0a7d357a5431eee032d" "14a348c80ca1833d68b3d7b", - ProofId::fromHex("62f256d73411fe69bf0db6083248e4efb75be9788850851468ac" - "c913c5c14360"), + ProofId::fromHex("ae60f62b336c6a948f95af123bc25574b0c5f423d1cab8f795d3" + "bf8f895457f3"), 44059793, ProofValidationResult::INVALID_SIGNATURE}, {"Properly signed 1 UTXO proof", - "d97587e6c882615796011ec8f9a7b1c64104e556ba887297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b195870169a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91de00cf21804712806594010038e168a34104d9d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23e", - ProofId::fromHex("17717dbf1cee175925be12321bb04eda7bc861a28b04d764c2d5" - "5eabf01cabd0"), - 444638638, ProofValidationResult::NONE}, + "deadbeef00000000facade000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde3019827d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecaca0000808231be1c0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530674", + ProofId::fromHex("09547fda032d285f98bb293d239360e83767aa203d78b7d73f7c" + "b4f6f2b4cb2f"), + 123450, ProofValidationResult::NONE}, {"Duplicated UTXO", - "60f8332a3ff3430a4f3c9010160cc63e2102f2df6361a5744521d16753f9efb5ace68" - "d43121e90ff67290540b54341cbab0e02d1e26c2287948bc6ab2b55945c591b8ba3ff" - "a237f5d9164d30a4f10145a61f788e639b1480731e2aead30500bf84628721029ed70" - "5bdc5adf0444c57c5ec2ea929c1adc0cd5b9cef4647d85dcb7fc400dc3afd21b29571" - "9c45b90fda493bbc74c8ae1baf28e124cc23bb1987f9932d2df5a0b3455e6c815767c" - "be8ccdd04e0e2d33d5f2f092667ef081acdaafde869d58daed1e26c2287948bc6ab2b" - "55945c591b8ba3ffa237f5d9164d30a4f10145a61f788e639b1480731e2aead30500b" - "f84628721029ed705bdc5adf0444c57c5ec2ea929c1adc0cd5b9cef4647d85dcb7fc4" - "00dc3afd21b295719c45b90fda493bbc74c8ae1baf28e124cc23bb1987f9932d2df5a" - "0b3455e6c815767cbe8ccdd04e0e2d33d5f2f092667ef081acdaafde869d58dae", - ProofId::fromHex("b0c2c07cbc766df0a934bcb252063ad5d7d5167b080369f6feca" - "a3aabae29785"), - 3280755132, ProofValidationResult::DUPLICATE_STAKE}, + "deadbeef00000000facade000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde3029827d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecaca0000808231be1c0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c96ddda6d8ce2" + "fcd8436d9980e3d80dce9e875777b1d30280a8cf8fa6f6187bdab5e62e81752756543" + "8ebef0c4e40ea1aadd87595455eb490ed800f3f5a5704e8169827d7a4cce275adf8a8" + "e4ea5ee1ab1bdecafae1acff1eeeffc0e10dec1defbecaca0000808231be1c0000005" + "abd0100210243a0ea97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854" + "808c96ddda6d8ce2fcd8436d9980e3d80dce9e875777b1d30280a8cf8fa6f6187bdab" + "5e62e817527565438ebef0c4e40ea1aadd87595455eb490ed800f3f5a5704e816", + ProofId::fromHex("7258ae4e98ce31a9ac5e785ad3e0c484fc9dc179d2f54c7f819a" + "c2dc669abdef"), + 246900, ProofValidationResult::DUPLICATE_STAKE}, {"Properly signed 3 UTXO proof", - "c96492f9e27a25d7e8404581c7be874e210282eb68a587dc586673f439fe317fa0b76" - "aceefa9f99820eadaa70d3b19c0cfe10305d427b706705a5d4b6a368a231d6db62aba" - "cf8c29bc32b61e7f65a0a6976aa8b86b687bc0260e821e4f0200b9d3bf6d2102914b1" - "aade61c7b5d38b18fb8c02ec4a9411858a43969927e5a2bf371e83ea20aa2a8ac89e9" - "fb52edcb227de3c3bd51519c0afcd5c3c134f09e53a9dd4315d4cde560c54b5700c2e" - "7b4f15c18461a3c093b790e93ef54640c051fff6798f18e2c18f54247f6390791706a" - "f36fac782302479898b5273f9e51a92cb1fb5af43deeb6c8c269403dbd48c9530a001" - "34398c441040a9c4426531e19916a0250536684073fbedce86d73e883ee1107e7984e" - "7c721b2be965c63bcbdbd23dcabba6de7ae6715872c803a257e53b686ea69217228c0" - "6ee1b88c4c7aa55adb1804a13e9d222b8d327c4de466fcd9e71ec20582f8d0760830a" - "67e020688e73c91519bd4b74358e65e9ddc95065bcf1bee0d11767e10f30f0d4ce48c" - "4ca9d0714b1fa51920270f8575e0af610f07b4e602a018ecdbb649b64fff614c0026e" - "9fc8e0030092533d424104973b212564dfb8ff1aa4bab13389ed170ea6cbb06fd9a5b" - "5b3e8c00d1a7d4bca7d237748ad793fc043b12f73a28caabb00927c5aea81e323d3ba" - "047a9661adbb0728ccfb41ab345299d7469ff5ec259b98fc946c730b5100cc97284ea" - "6101f7e43337987bbfe655754939709c72c7ba69a9dc08558733781ee9da34e3de7bd" - "a7", - ProofId::fromHex("5948d32ee26882a2d9f96c18e9e51ad13a79234b627a020ee7db" - "733684cb05a7"), - 353426051, ProofValidationResult::NONE}, + "deadbeef00000000facade000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde3039827d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecaca0000808231be1c0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c96b284bfd80a" + "d4d938361bd851ff6c4b45163d137d365b6e10a13e670a1b80b626b75806b9285226d" + "136a427e849602e24ec135b61f9c54bcec82f1531619ce93d9827d7a4cce275adf8a8" + "e4ea5e9b4b6eb762917257d51924edba9b4add3e2a24caca00000019cabe1c0000005" + "abd01002103dfa1b18dd0828063f22af209faf189a6f59e0598b277f3b24535336194" + "f703d24fd80fe245d6fb9aea7c7fce2d9faf639faa9462cc1c1e1e5bb1a9bc9bd21c9" + "9bbdcb187235288b6ee0e62ad116b97ece109f274dff29de1a7fd626e9cb01b599827" + "d7a4cce275adf8a8e4ea5e9b4b6eb762917257d51924edba9b4add3ecacacaca00000" + "019cabe1c0000005abd01002103dfa1b18dd0828063f22af209faf189a6f59e0598b2" + "77f3b24535336194f703d2dca9a4cbc5e4ab21e866b4b3456c31e784bb7b7ac513e51" + "01c96984fa026566297a5fbba9d72245065d2eb75efe5e034ea3ced47d22c0c741667" + "89e548c68230", + ProofId::fromHex("3014ecc6ee0615c7f7682b786c4f712518946de0584dcc9725e3" + "dd68ca4ecc42"), + 370370, ProofValidationResult::NONE}, {"Changing sequence affect ProofId", - "d87587e6c882615796011ec8f9a7b1c64104e556ba887297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b195870169a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91de00cf21804712806594010038e168a34104d9d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23e", - ProofId::fromHex("3fdcb56110cfe2f394689be3dd28dedee674f79a567c8391dbd9" - "3900c9845ca8"), - 444638638, ProofValidationResult::INVALID_SIGNATURE}, + "feadbeef00000000facade000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde3019827d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecaca0000808231be1c0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530671", + ProofId::fromHex("d0405d6101a58d402fe9d815e45d2731d37b95c688352c9bd556" + "8f053b4b69bf"), + 123450, ProofValidationResult::INVALID_SIGNATURE}, {"Changing expiration affect ProofId", - "d97587e6c882615797011ec8f9a7b1c64104e556ba887297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b195870169a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91de00cf21804712806594010038e168a34104d9d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23e", - ProofId::fromHex("a9ffbb2b37526e05a1f72b43314f872c381281ce8d3d96a5bf56" - "47db057a64dc"), - 444638638, ProofValidationResult::INVALID_SIGNATURE}, + "feadbeef00000000facadf000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde3019827d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecaca0000808231be1c0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530671", + ProofId::fromHex("ba034a573346f06df23e2910736c5628fd500a4de8997c6eea06" + "61feaf9cb259"), + 123450, ProofValidationResult::INVALID_SIGNATURE}, {"Changing the master key affect ProofId", - "d97587e6c882615796011ec8f9a7b1c64104e556ba897297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b19587 " - "0169a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91de00cf21804712806594010038e168a34104d9d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23e", - ProofId::fromHex("c237e5436f2d21e4ae990422bfb8ec97df52a9f6db5c20c40f54" - "64e590dcda39"), - 444638638, ProofValidationResult::INVALID_SIGNATURE}, + "feadbeef00000000facadf000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde4019827d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecaca0000808231be1c0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530671", + ProofId::fromHex("ba9958d4a2fb4337122a511906593fa6969d2daee2c6aeb11cd9" + "efb41171fe4b"), + 123450, ProofValidationResult::INVALID_SIGNATURE}, {"Changing the TxId affect the ProofId", - "d97587e6c882615796011ec8f9a7b1c64104e556ba887297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b195870179a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91de00cf21804712806594010038e168a34104d9d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23e", - ProofId::fromHex("9d372d7580917985824c632c919ce8bf89fc6f45c07ee60b2564" - "6aea23390ec6"), - 444638638, ProofValidationResult::INVALID_SIGNATURE}, + "feadbeef00000000facadf000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde4019927d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecaca0000808231be1c0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530671", + ProofId::fromHex("b2523cf2851870c2b323648f2d4ee446be5190aeeb3f0d81d2b3" + "692414940746"), + 123450, ProofValidationResult::INVALID_SIGNATURE}, {"Changing the outpoint index change the ProofId", - "d97587e6c882615796011ec8f9a7b1c64104e556ba887297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b195870169a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91df00cf21804712806594010038e168a34104d9d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23e", - ProofId::fromHex("1a98c5f7684508665fbc946c64c9486e3f7c91b2f42d299320c5" - "56e68e4028fe"), - 444638638, ProofValidationResult::INVALID_SIGNATURE}, + "feadbeef00000000facadf000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde4019927d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecacb0000808231be1c0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530671", + ProofId::fromHex("bdbdf91255981f301602ce6fe8a7051782521cc6eec7c4b84e68" + "f3787a6cbece"), + 123450, ProofValidationResult::INVALID_SIGNATURE}, {"Changing the amount changes the ProofId", - "d97587e6c882615796011ec8f9a7b1c64104e556ba887297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b195870169a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91de00cf21814712806594010038e168a34104d9d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23e", - ProofId::fromHex("528fa9654e845dfe30ed03966240ab615a8d374d86256e1e4892" - "83eb0a0be44b"), - 444638638, ProofValidationResult::INVALID_SIGNATURE}, + "feadbeef00000000facadf000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde4019927d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecacb0000808231be1d0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530671", + ProofId::fromHex("221e9ba8b6b6d38091fd636d8ccbe6362dae8fbd97ae2e3aa0b8" + "79c702d5dd7d"), + 127744, ProofValidationResult::INVALID_SIGNATURE}, {"Changing the height changes the ProofId", - "d97587e6c882615796011ec8f9a7b1c64104e556ba887297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b195870169a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91de00cf21804712806594010028e168a34104d9d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23e", - ProofId::fromHex("a932294f46f106b2b38e57a4b1e4b5849730aba2124662f680a6" - "1c8cc429adb0"), - 444638638, ProofValidationResult::INVALID_SIGNATURE}, + "feadbeef00000000facadf000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde4019927d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecacb0000808231be1d0000005cbd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530671", + ProofId::fromHex("dbfec902ba815d3a7e25621bc727ea8026951c76552d7714e176" + "f048118f150e"), + 127744, ProofValidationResult::INVALID_SIGNATURE}, {"Changing the pubkey changes the ProofId", - "d97587e6c882615796011ec8f9a7b1c64104e556ba887297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b195870169a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91de00cf21804712806594010038e168a34104d8d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23e", - ProofId::fromHex("336c9a502b22ba2edcd78298c1ce6cc5e8b5e94cdc60b1047d1f" - "96810d5d17a3"), - 444638638, ProofValidationResult::INVALID_SIGNATURE}, - {"Changing the signatue does NOT change the ProofId", - "d97587e6c882615796011ec8f9a7b1c64104e556ba887297fd6a655bc2579d26814e8" - "54c902448ec3ce3c6fe965e3420aa3f0e9611d3c0b8a73b6329741e2e726fd17f5e8a" - "bd546a614b0e05433528b195870169a79ff23e1d58c64afad42ad81cffe53967e16be" - "b692fc5776bb442c79c5d91de00cf21804712806594010038e168a34104d9d84ebf65" - "22cf24c6fd4addedd068632a4db06c3cd6e40031c72d416e9eefbd90037383d8da9e9" - "213a4818a02f108ac1656141ecfbfdde0aeb8620eb210c08b2ce587d9fec0799f9725" - "5d2bc5a077c7b4e8ca8a68d6a0377abf0aa2473f97b37779431062dad50ef5fd21cf1" - "7c0276a293ee5b3f5a130fc5f9b217585cae23f", - ProofId::fromHex("17717dbf1cee175925be12321bb04eda7bc861a28b04d764c2d5" - "5eabf01cabd0"), - 444638638, ProofValidationResult::INVALID_SIGNATURE}, + "feadbeef00000000facadf000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde4019927d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "eae1acff1eeeffc0e10dec1defbecacb0000808231be1d0000005cbd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530671", + ProofId::fromHex("edb3ab3f80e161e5d67fe32eb37489eeb717c296ee72713869e0" + "912aa4fe9af1"), + 127744, ProofValidationResult::INVALID_SIGNATURE}, + {"Changing the signature does NOT change the ProofId", + "deadbeef00000000facade000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde3019827d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecaca0000808231be1c0000005abd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9654b36c8fe0" + "928951b1613223acfe6efa72df3958e92cb28bdc1a3ba7b1a49dcbd49693191b25915" + "6dc8b7f27116da08e3cb5495d6c73abd5ea542242da530675", + ProofId::fromHex("09547fda032d285f98bb293d239360e83767aa203d78b7d73f7c" + "b4f6f2b4cb2f"), + 123450, ProofValidationResult::INVALID_SIGNATURE}, {"1 utxo staked but zero coins", - "a6d66db9fe9378fdd37a0ad2c01c2acd2103648144bb6a0c1d09b0f04d0df6d55f914" - "fd81efc65f23a718b68b7c9e42bd5430145a4d07798547464daa53acefb7c97c0c415" - "ed8e81e549ff56a0ef6f847fcc9ca855b3620000000000000000e707d7274104fb662" - "6e21dbd1cc9feeecdefc9213fdce2b51ac4bb44e1f8dc6f14c2052f5dd7bfaeb2267a" - "97ca2bec6e0dd4acf50a66204bde1ebb5d6c551684cff2f939920f7fbb2efd860d6d5" - "926bf425eb47b78bf6979cdcd67eb705e2c9a4d45a0930ba25463178a3fb99cb28c8b" - "77d8fcf68c54ebfadf08b9a446c251a0088301c50d53", - ProofId::fromHex("32c852db61880e9e2d4de3edba2daf3f5449e00bf1bc5b18595f" - "80113d5b0722"), + "deadbeef00000000facade000000000021023beefdde700a6bc02036335b4df141c8b" + "c67bb05a971f5ac2745fd683797dde3019827d7a4cce275adf8a8e4ea5ee1ab1bdeca" + "fae1acff1eeeffc0e10dec1defbecaca000000000000000000005cbd0100210243a0e" + "a97a1173ce0218e0aef1990a016e3b5bf054797a73e21e49ec854808c9650ba4ecd19" + "4db1b6346a449bd14042b07a94193f1e0fd15510a68d4f87010b915e996bc55a92091" + "d868702a7908590cba5f6208ad0af2da4ee8c5c2e6e877b7d", + ProofId::fromHex("069be0670be02f1a715159a03a25bce26108122b0b580c0ee44e" + "1bbea19a16db"), 0, ProofValidationResult::DUST_THRESOLD}, }; diff --git a/test/functional/test_framework/messages.py b/test/functional/test_framework/messages.py --- a/test/functional/test_framework/messages.py +++ b/test/functional/test_framework/messages.py @@ -909,12 +909,13 @@ :return: bytes of length 32 """ ss = struct.pack("