Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9333a99089 |
2 changed files with 35 additions and 35 deletions
|
|
@ -239,7 +239,7 @@ BOOST_AUTO_TEST_CASE(btc_weighted_multisig_address_test) {
|
||||||
weights.push_back(std::make_pair(pub_old[i], i + 1));
|
weights.push_back(std::make_pair(pub_old[i], i + 1));
|
||||||
|
|
||||||
btc_weighted_multisig_address addr(weights, btc_weighted_multisig_address::network::testnet);
|
btc_weighted_multisig_address addr(weights, btc_weighted_multisig_address::network::testnet);
|
||||||
BOOST_CHECK(addr.get_address() == "tb1qaeuy4c0qnudq5u2c8pndd7zyudal3g5eew7y9396592udxdcje4surl6cm");
|
BOOST_CHECK(addr.get_address() == "tb1qj4dwcpsqxhszc6ee5wwndqxe04j4vzs0qksrzgscfarzduu6th8qlyqaqp");
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(create_1_or_2_of_15_segwit_address_test) {
|
BOOST_AUTO_TEST_CASE(create_1_or_2_of_15_segwit_address_test) {
|
||||||
|
|
@ -307,9 +307,9 @@ BOOST_AUTO_TEST_CASE(create_1_or_multiweighted_seggwit_address_test) {
|
||||||
weights.push_back(std::make_pair(public_key15, 1));
|
weights.push_back(std::make_pair(public_key15, 1));
|
||||||
|
|
||||||
btc_one_or_weighted_multisig_address addr(user_pub_key, weights);
|
btc_one_or_weighted_multisig_address addr(user_pub_key, weights);
|
||||||
auto redeem_script = parse_hex("210368dc31b2b547c74f52abfc67c7fc768c68115d8ab96430d9bb4996fa660121cdac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac635193687c2102ef0d79bfdb99ab0be674b1d5d06c24debd74bffdc28d466633d6668cc281cccfac635193687c210317941e4219548682fb8d8e172f0a8ce4d83ce21272435c85d598558c8e060b7fac635193687c210266065b27f7e3d3ad45b471b1cd4e02de73fc4737dc2679915a45e293c5adcf84ac635193687c21023821cc3da7be9e8cdceb8f146e9ddd78a9519875ecc5b42fe645af690544bccfac635193687c210229ff2b2106b76c27c393e82d71c20eec32bcf1f0cf1a9aca8a237269a67ff3e5ac635193687c21024d113381cc09deb8a6da62e0470644d1a06de82be2725b5052668c8845a4a8daac635193687c2103df2462a5a2f681a3896f61964a65566ff77448be9a55a6da18506fd9c6c051c1ac635193687c2102bafba3096f546cc5831ce1e49ba7142478a659f2d689bbc70ed37235255172a8ac635193687c210287bcbd4f5d357f89a86979b386402445d7e9a5dccfd16146d1d2ab0dc2c32ae8ac635193687c2102053859d76aa375d6f343a60e3678e906c008015e32fe4712b1fd2b26473bdd73ac635193685aa268");
|
auto redeem_script = parse_hex("210368dc31b2b547c74f52abfc67c7fc768c68115d8ab96430d9bb4996fa660121cdac635167007c2103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275ac635193687c2102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4ac635193687c21025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61ac635193687c210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866ac635193687c21037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666ac635193687c2102ef0d79bfdb99ab0be674b1d5d06c24debd74bffdc28d466633d6668cc281cccfac635193687c210317941e4219548682fb8d8e172f0a8ce4d83ce21272435c85d598558c8e060b7fac635193687c210266065b27f7e3d3ad45b471b1cd4e02de73fc4737dc2679915a45e293c5adcf84ac635193687c21023821cc3da7be9e8cdceb8f146e9ddd78a9519875ecc5b42fe645af690544bccfac635193687c210229ff2b2106b76c27c393e82d71c20eec32bcf1f0cf1a9aca8a237269a67ff3e5ac635193687c21024d113381cc09deb8a6da62e0470644d1a06de82be2725b5052668c8845a4a8daac635193687c2103df2462a5a2f681a3896f61964a65566ff77448be9a55a6da18506fd9c6c051c1ac635193687c2102bafba3096f546cc5831ce1e49ba7142478a659f2d689bbc70ed37235255172a8ac635193687c210287bcbd4f5d357f89a86979b386402445d7e9a5dccfd16146d1d2ab0dc2c32ae8ac635193687c2102053859d76aa375d6f343a60e3678e906c008015e32fe4712b1fd2b26473bdd73ac635193685ba268");
|
||||||
|
|
||||||
BOOST_CHECK(addr.get_address() == "bcrt1qawr44trakzl4qev8ed88samt3g3g5mgcjppc6ffs5h4wyakqzavq6fkcc6");
|
BOOST_CHECK(addr.get_address() == "bcrt1qz2cykw980zns8uxpt7dsn4ku7ce24cq3z8mna0tttzhw2qcr4y0qxmgej2");
|
||||||
BOOST_CHECK(addr.get_redeem_script() == redeem_script);
|
BOOST_CHECK(addr.get_redeem_script() == redeem_script);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -165,13 +165,13 @@ BOOST_AUTO_TEST_CASE(weighted_multisig_spend_test) {
|
||||||
weights.push_back(std::make_pair(pub_keys[i], i + 1));
|
weights.push_back(std::make_pair(pub_keys[i], i + 1));
|
||||||
|
|
||||||
btc_weighted_multisig_address addr(weights);
|
btc_weighted_multisig_address addr(weights);
|
||||||
BOOST_CHECK(addr.get_address() == "bcrt1qaeuy4c0qnudq5u2c8pndd7zyudal3g5eew7y9396592udxdcje4s364udp");
|
BOOST_CHECK(addr.get_address() == "bcrt1qj4dwcpsqxhszc6ee5wwndqxe04j4vzs0qksrzgscfarzduu6th8qja2m4m");
|
||||||
|
|
||||||
bytes redeem_script = addr.get_redeem_script();
|
bytes redeem_script = addr.get_redeem_script();
|
||||||
|
|
||||||
// this address was filled with regtest transaction
|
// this address was filled with regtest transaction
|
||||||
// id 8c67ac4899aadb68672775df338d7d857604f12784e24fa1fc1471a73b5df012
|
// id 577c1abcbf87db230c499c3585a5f1e20a835fe2d39cade39c232554bd21d0b5
|
||||||
// output 1, 10000 satoshis
|
// output 0, 10000 satoshis
|
||||||
|
|
||||||
// now send it back to bcrt1qavkxpjkc30x0euepxup8qe2yfzpjyepzq0qctu
|
// now send it back to bcrt1qavkxpjkc30x0euepxup8qe2yfzpjyepzq0qctu
|
||||||
bitcoin_transaction tx;
|
bitcoin_transaction tx;
|
||||||
|
|
@ -180,8 +180,8 @@ BOOST_AUTO_TEST_CASE(weighted_multisig_spend_test) {
|
||||||
tx.vout.resize(1);
|
tx.vout.resize(1);
|
||||||
tx.nLockTime = 0;
|
tx.nLockTime = 0;
|
||||||
|
|
||||||
tx.vin[0].prevout.hash = fc::sha256("8c67ac4899aadb68672775df338d7d857604f12784e24fa1fc1471a73b5df012");
|
tx.vin[0].prevout.hash = fc::sha256("577c1abcbf87db230c499c3585a5f1e20a835fe2d39cade39c232554bd21d0b5");
|
||||||
tx.vin[0].prevout.n = 1;
|
tx.vin[0].prevout.n = 0;
|
||||||
tx.vin[0].nSequence = 0xffffffff;
|
tx.vin[0].nSequence = 0xffffffff;
|
||||||
|
|
||||||
tx.vout[0].value = 9000;
|
tx.vout[0].value = 9000;
|
||||||
|
|
@ -199,9 +199,9 @@ BOOST_AUTO_TEST_CASE(weighted_multisig_spend_test) {
|
||||||
}
|
}
|
||||||
sign_witness_transaction_finalize(tx, {redeem_script}, false);
|
sign_witness_transaction_finalize(tx, {redeem_script}, false);
|
||||||
|
|
||||||
BOOST_CHECK(fc::to_hex(pack(tx)) == "0200000000010112f05d3ba77114fca14fe28427f10476857d8d33df75276768dbaa9948ac678c0100000000ffffffff012823000000000000160014eb2c60cad88bccfcf3213702706544488322642210473044022036b79512d547927c7e285aea1403fbf00efdca2be752a0ec6d37144b20365992022073fa2373af073fb0b66e55d958cb301ed473352f8ae29a7fcf9bf7bf6974057d014730440220243edabbec391f070f1167a9fa09fd72d35958da8c6c24252b97401e2dfa7b7d0220629bcaaa8bdba62c1d551d061b6d47014325cbf492c31340f2f1f9de033566380148304502210080bdc7cca6d9b7899d6cf69bdcca150260363cfe01b4a382671abaefce4e9ccf02200bd041441fd2c40a564fee80107ea4ffb9a427b4382235ed0b8fa6706ad18a760147304402206a1e6976a054cea828c856cc8e08f4a84a3edb310e35bc786d19178f4d1bd9ae022073982176a827f53b5eda735602ea07fda258c3381b545c439a5b7e2356274b3c01483045022100eaad11b5de0d2b2d8ca99d863d5d6d800ef5055750cb2aff670718df38a81ca8022011c08e83664c1a16fec693d7437b3984683a6eb67223247fc860565ab8f076fc014830450221008b26a8b5c9a2f1d10a34005698672730a3a933008f49cd379dbec66cc8df4d7602207734aed9afb75efcf3a807a8d99878abc83f917b1e391e13cf382bbf42aec6af01473044022041393a16e4c14e017939524296d96176bff955c83ca68e1b9bf58d5e57ad6be102207f0a8efcab6d6dcb782987dfd3ad55c8343c9563ad614ef12bf722d004858276014730440220670e1c79f96f98bb244cee62c2b23206d3de7d3901d52feecd4861583be86cea02203b1f5214b2295ca03262d2e40a272ff861f03ca852efbb38d8c947a29e37d45e01483045022100e0fa5b20a3c82303d36c41fe56a055a038476645f11441d252a457533987b3d10220356950292144a4b56ba7dde31dcba1774486a9a22be9b8f1be9a9121f95ca4e801483045022100de5679f833d47ba63a947dc5cd0507b63b9fa3e9c1f1e77991c43f965d8921700220152961a323de0e2f44bdd9ee6782bca834f3a023e8597aee9907ed23dcd153880147304402203eea68df28f2963d05850531d4a27ec4eedc3c81f49c4e1476e4514e2a8b0d3d0220494ecdb8750eb01903a6203a1f5a1ede722e7ed6f5a02a4156cf8f9ea1a01cc401473044022033662119e15efb098df8e3e31ff3a2437ce2f5d72df414938985f10757aa7a7e022044c17def78afcb82f0f86ed0ead4c28732e574e3981823a53f5bb84fea703e020147304402206f5f7b8cbe0b9a80083341f3c57704ccfbe062e4649c3fdbf5883557bc8739b902202104a68fa4764832ff61082e02f8ba971cb8db81eaa9eb9a84a61067f8515eef014830450221009c80e3500e5fdcb4a72a3e1e1c3ce72602d380eb295b322c3964c6abf91fd22b022063afa4017b9de88dd492a38072f0bbad514660d6ed38d5f73759e7262b87ed76014730440220273d6a97b382c0bdceb5df7ff59542ec3851d09b2a760fae6f023eb9f927638602201f486799014a9388596c7e4b86efa6365c2d5f8f65be6a119c08a2e6ceb8943001fd5c02007c21030e88484f2bb5dcfc0b326e9eb565c27c8291efb064d060d226916857a2676e62ac635193687c2102151ad794a3aeb3cf9c190120da3d13d36cd8bdf21ca1ccb15debd61c601314b0ac635293687c2103b45a5955ea7847d121225c752edaeb4a5d731a056a951a876caaf6d1f69adb7dac635393687c2102def03a6ffade4ffb0017c8d93859a247badd60e2d76d00e2a3713f6621932ec1ac635493687c21035f17aa7d58b8c3ee0d87240fded52b27f3f12768a0a54ba2595e0a929dd87155ac635593687c2103c8582ac6b0bd20cc1b02c6a86bad2ea10cadb758fedd754ba0d97be85b63b5a7ac635693687c21028148a1f9669fc4471e76f7a371d7cc0563b26e0821d9633fd37649744ff54edaac635793687c2102f0313701b0035f0365a59ce1a3d7ae7045e1f2fb25c4656c08071e5baf51483dac635893687c21024c4c25d08173b3c4d4e1375f8107fd7040c2dc0691ae1bf6fe82b8c88a85185fac635993687c210360fe2daa8661a3d25d0df79875d70b1c3d443ade731caafda7488cb68b4071b0ac635a93687c210250e41a6a4abd7b0b3a49eaec24a6fafa99e5aa7b1e3a5aabe60664276df3d937ac635b93687c2103045a32125930ca103c7d7c79b6f379754796cd4ea7fb0059da926e415e3877d3ac635c93687c210344943249d7ca9b47316fef0c2a413dda3a75416a449a29f310ab7fc9d052ed70ac635d93687c2103c62967320b63df5136ff1ef4c7959ef5917ee5a44f75c83e870bc488143d4d69ac635e93687c21020429f776e15770e4dc52bd6f72e6ed6908d51de1c4a64878433c4e3860a48dc4ac635f93680150a200000000");
|
BOOST_CHECK(fc::to_hex(pack(tx)) == "02000000000101b5d021bd5425239ce3ad9cd3e25f830ae2f1a585359c490c23db87bfbc1a7c570000000000ffffffff012823000000000000160014eb2c60cad88bccfcf321370270654448832264221047304402204da1308f748ad89a268cf1c33fce2f88a39a7bcd8a60c5d2c95d7e2f2087d587022011ce8024743620c0388d4b998c8db28ff464928decbdb6114fab185033abbea00147304402206344d532aebe1ca501f6ae7191c5b7497d52fe582358c65dce9a20bd52b4b53402205dfc03292fdc5670dba1e73f9d418e7cbe1b18a8511eb9d7a99c7140f41b9bbc01483045022100a73580772db51b534673eebfc5c0d165a117fdafded7e4e5970a7452ff73cd2702200e616c6660011855c370b37b227c67ddcfda1dab08ff8c2027f313b82a00cbd501483045022100bfcf88627d42ac61ec8688292874d8326ad9015141c1ff203a07148f110f9dee022057d2c111ffc53b02bd462f88363563f4bbd10a9d317fe9ae02e129e4a8de69d901483045022100940eed87a3f4c359ad350fd8bd725fbb43db42c4f265a5e6e7c345b4b3d71f5c022046675535c070d3987af143a0daa5bd72b2ebe5e0057679681c04408aa7f3c382014830450221008d7d05e56253db6f99ca927583dfe3e4c1f9e94b8cc78498ccabf6afdd4c0bb702200717ef5e641cc02cfb048d4afca47e4a345756bbcd4dfcd6487e63c301ccb5930147304402204a7e44a6ec8ea1d0f20fa863e281ccf07be788d885c5149075f6009716e5d1d702201db6b8962fd2eed845e3df7979e3decc5a4acbc283b24df657d2ca3800ffb45501483045022100daf90eedd898e0b4f0270a1f5da300b0342f9ff45ea0b0882372afd1bff95b1c02207153a03fb5d4bf6a13c09eebebf9638d44968b04890c92d552511c96f62e55b70147304402205ebb11f079571c992d4b86a376369df6cea08a3d288264f8f0b942a22b28a900022060c7f9727c160c552fb6111a14253e27e8952e66cb491ee72c6b4eab46c1620501483045022100976cef7c51c5ad7a7ad55e748a5b499e2a9b8df613be8bd8f1c69b1f2a6facb902207b2505ebe9a4f853ce87c2a28945463a89fc2e6ce7104991f335cc80a7b2438c01483045022100e8b95ad09ae443303b3d0f84f5db1bb16ddca64f77d98d8c06347baa15831e8e02203a73c5f8b21d8aa339f1f652708db025c857b1086fadf9483ff34e41b9b59a8b0147304402203c949c4ecea198aaaa426185d904e7fdc0a8dd00caadf25d5ad30974a408513202205d75f601e6bd8289b899c60737947152f4a821e26ebb5b145303f3b494a5e310014730440220726943bffb5b8ca2bf487842de3918e0a5268ec0d6e99045853cacdbcbdc6b5902204347a8da6e05a353ec324cb37aa028cc3fcd4dc5939e6eea334ea7dc60c2144601473044022061d39cb49dc2cc27a48cb02d93332de59cd3134df4b7c23e375a1f0d90ffa5fc0220419cb88f1c2e961c33382278a85d5bf669ecb049ffce0b4e7116513a6621ff7e01473044022062e3daf133888df12f71ffb1ff62a37171dd6d9e7a5582a4d7928a281a3d666002201d83128b63483a901aebaeba80296cf8b99cc96de8be74ddfbc0f597d7cdc17401fd5c02007c21030e88484f2bb5dcfc0b326e9eb565c27c8291efb064d060d226916857a2676e62ac635193687c2102151ad794a3aeb3cf9c190120da3d13d36cd8bdf21ca1ccb15debd61c601314b0ac635293687c2103b45a5955ea7847d121225c752edaeb4a5d731a056a951a876caaf6d1f69adb7dac635393687c2102def03a6ffade4ffb0017c8d93859a247badd60e2d76d00e2a3713f6621932ec1ac635493687c21035f17aa7d58b8c3ee0d87240fded52b27f3f12768a0a54ba2595e0a929dd87155ac635593687c2103c8582ac6b0bd20cc1b02c6a86bad2ea10cadb758fedd754ba0d97be85b63b5a7ac635693687c21028148a1f9669fc4471e76f7a371d7cc0563b26e0821d9633fd37649744ff54edaac635793687c2102f0313701b0035f0365a59ce1a3d7ae7045e1f2fb25c4656c08071e5baf51483dac635893687c21024c4c25d08173b3c4d4e1375f8107fd7040c2dc0691ae1bf6fe82b8c88a85185fac635993687c210360fe2daa8661a3d25d0df79875d70b1c3d443ade731caafda7488cb68b4071b0ac635a93687c210250e41a6a4abd7b0b3a49eaec24a6fafa99e5aa7b1e3a5aabe60664276df3d937ac635b93687c2103045a32125930ca103c7d7c79b6f379754796cd4ea7fb0059da926e415e3877d3ac635c93687c210344943249d7ca9b47316fef0c2a413dda3a75416a449a29f310ab7fc9d052ed70ac635d93687c2103c62967320b63df5136ff1ef4c7959ef5917ee5a44f75c83e870bc488143d4d69ac635e93687c21020429f776e15770e4dc52bd6f72e6ed6908d51de1c4a64878433c4e3860a48dc4ac635f93680151a200000000");
|
||||||
// this transaction was published in regtest and was accepted,
|
// this transaction was published in regtest and was accepted,
|
||||||
// its id is 08a997948feb50850df809e8f0c7b41a7bd0d249a75b83813d8626d5b51affba
|
// its id is 98666cd0f7e5e2040e4ad08477fc6f95df21724f2b0331a685ddbadad631b21b
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(user_sig_one_or_2_of_15_multisig_spend_test) {
|
BOOST_AUTO_TEST_CASE(user_sig_one_or_2_of_15_multisig_spend_test) {
|
||||||
|
|
@ -242,15 +242,15 @@ BOOST_AUTO_TEST_CASE(user_sig_one_or_2_of_15_multisig_spend_test) {
|
||||||
tx1.vout.resize(1);
|
tx1.vout.resize(1);
|
||||||
tx1.nLockTime = 0;
|
tx1.nLockTime = 0;
|
||||||
|
|
||||||
tx1.vin[0].prevout.hash = fc::sha256("52fceb33bee6d44c34161ef8cf26ff1c4dd8f89833a99769039a62582967770c");
|
tx1.vin[0].prevout.hash = fc::sha256("3cdb7e835006695b4f99fbad3a43ac9ce2ea63b67af0c3bb4c2af6cb54554f90");
|
||||||
tx1.vin[0].prevout.n = 0;
|
tx1.vin[0].prevout.n = 0;
|
||||||
tx1.vin[0].nSequence = 0xffffffff;
|
tx1.vin[0].nSequence = 0xffffffff;
|
||||||
|
|
||||||
tx1.vout[0].value = 4999000000;
|
tx1.vout[0].value = 9000;
|
||||||
bitcoin_address to_address("bcrt1qettl5u3jlh6e8s6hxpqsdpevxqmq947f0jnnfraeg4jsvhsme2uqplzjgt");
|
bitcoin_address to_address("bcrt1qettl5u3jlh6e8s6hxpqsdpevxqmq947f0jnnfraeg4jsvhsme2uqplzjgt");
|
||||||
tx1.vout[0].scriptPubKey = to_address.get_script();
|
tx1.vout[0].scriptPubKey = to_address.get_script();
|
||||||
|
|
||||||
uint64_t amount = 5000000000;
|
uint64_t amount = 10000;
|
||||||
int32_t hash_type = 1; // implement SIGHASH_ALL scheme
|
int32_t hash_type = 1; // implement SIGHASH_ALL scheme
|
||||||
|
|
||||||
tx1.vin[0].scriptWitness.push_back(sign_witness_transaction_part(tx1, {redeem_script}, {amount}, user_pkey, btc_context(), hash_type)[0]);
|
tx1.vin[0].scriptWitness.push_back(sign_witness_transaction_part(tx1, {redeem_script}, {amount}, user_pkey, btc_context(), hash_type)[0]);
|
||||||
|
|
@ -259,7 +259,7 @@ BOOST_AUTO_TEST_CASE(user_sig_one_or_2_of_15_multisig_spend_test) {
|
||||||
|
|
||||||
sign_witness_transaction_finalize(tx1, {redeem_script}, false);
|
sign_witness_transaction_finalize(tx1, {redeem_script}, false);
|
||||||
|
|
||||||
BOOST_CHECK(fc::to_hex(pack(tx1)) == "020000000001010c77672958629a036997a93398f8d84d1cff26cff81e16344cd4e6be33ebfc520000000000ffffffff01c0aff62901000000220020cad7fa7232fdf593c357304106872c303602d7c97ca7348fb94565065e1bcab803483045022100d885af9d14af025b475c66ddd8ce0afa6d45edee1bb2ac8e840f8b6d70bc3c2702202a7231c10b3f6198343b45a56728e8241ec8ba14ad66d498b67db2ce8268e6fd010101fd270263210368dc31b2b547c74f52abfc67c7fc768c68115d8ab96430d9bb4996fa660121cdac67522103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef2752102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f421025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe986621037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f6662102ef0d79bfdb99ab0be674b1d5d06c24debd74bffdc28d466633d6668cc281cccf210317941e4219548682fb8d8e172f0a8ce4d83ce21272435c85d598558c8e060b7f210266065b27f7e3d3ad45b471b1cd4e02de73fc4737dc2679915a45e293c5adcf8421023821cc3da7be9e8cdceb8f146e9ddd78a9519875ecc5b42fe645af690544bccf210229ff2b2106b76c27c393e82d71c20eec32bcf1f0cf1a9aca8a237269a67ff3e521024d113381cc09deb8a6da62e0470644d1a06de82be2725b5052668c8845a4a8da2103df2462a5a2f681a3896f61964a65566ff77448be9a55a6da18506fd9c6c051c12102bafba3096f546cc5831ce1e49ba7142478a659f2d689bbc70ed37235255172a8210287bcbd4f5d357f89a86979b386402445d7e9a5dccfd16146d1d2ab0dc2c32ae82102053859d76aa375d6f343a60e3678e906c008015e32fe4712b1fd2b26473bdd735fae6800000000");
|
BOOST_CHECK(fc::to_hex(pack(tx1)) == "02000000000101904f5554cbf62a4cbbc3f07ab663eae29cac433aadfb994f5b690650837edb3c0000000000ffffffff012823000000000000220020cad7fa7232fdf593c357304106872c303602d7c97ca7348fb94565065e1bcab80347304402206f7d3a4689fa1a8107bf5b4ab3f363db147e6eaee49c455cacaee434ac9e4786022054fdea815431dae2b82ce3f9a2151fd127e7dd2685ae5655938f22b5c38046d1010101fd270263210368dc31b2b547c74f52abfc67c7fc768c68115d8ab96430d9bb4996fa660121cdac67522103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef2752102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f421025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe986621037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f6662102ef0d79bfdb99ab0be674b1d5d06c24debd74bffdc28d466633d6668cc281cccf210317941e4219548682fb8d8e172f0a8ce4d83ce21272435c85d598558c8e060b7f210266065b27f7e3d3ad45b471b1cd4e02de73fc4737dc2679915a45e293c5adcf8421023821cc3da7be9e8cdceb8f146e9ddd78a9519875ecc5b42fe645af690544bccf210229ff2b2106b76c27c393e82d71c20eec32bcf1f0cf1a9aca8a237269a67ff3e521024d113381cc09deb8a6da62e0470644d1a06de82be2725b5052668c8845a4a8da2103df2462a5a2f681a3896f61964a65566ff77448be9a55a6da18506fd9c6c051c12102bafba3096f546cc5831ce1e49ba7142478a659f2d689bbc70ed37235255172a8210287bcbd4f5d357f89a86979b386402445d7e9a5dccfd16146d1d2ab0dc2c32ae82102053859d76aa375d6f343a60e3678e906c008015e32fe4712b1fd2b26473bdd735fae6800000000");
|
||||||
|
|
||||||
//SON Spend
|
//SON Spend
|
||||||
bitcoin_transaction tx2;
|
bitcoin_transaction tx2;
|
||||||
|
|
@ -268,11 +268,11 @@ BOOST_AUTO_TEST_CASE(user_sig_one_or_2_of_15_multisig_spend_test) {
|
||||||
tx2.vout.resize(1);
|
tx2.vout.resize(1);
|
||||||
tx2.nLockTime = 0;
|
tx2.nLockTime = 0;
|
||||||
|
|
||||||
tx2.vin[0].prevout.hash = fc::sha256("397b28da9488f587f363a45804bcf9af8ea9a5a2e50fb1ceed2cf2fa6181a552");
|
tx2.vin[0].prevout.hash = fc::sha256("00afbe7f3f31178c91c837ef160bef3d8108b80e368cbeda785e7a2f6e76f0a5");
|
||||||
tx2.vin[0].prevout.n = 1;
|
tx2.vin[0].prevout.n = 0;
|
||||||
tx2.vin[0].nSequence = 0xffffffff;
|
tx2.vin[0].nSequence = 0xffffffff;
|
||||||
|
|
||||||
tx2.vout[0].value = 4999000000;
|
tx2.vout[0].value = 9000;
|
||||||
tx2.vout[0].scriptPubKey = to_address.get_script();
|
tx2.vout[0].scriptPubKey = to_address.get_script();
|
||||||
|
|
||||||
tx2.vin[0].scriptWitness.push_back(bytes());
|
tx2.vin[0].scriptWitness.push_back(bytes());
|
||||||
|
|
@ -282,7 +282,7 @@ BOOST_AUTO_TEST_CASE(user_sig_one_or_2_of_15_multisig_spend_test) {
|
||||||
|
|
||||||
sign_witness_transaction_finalize(tx2, {redeem_script}, false);
|
sign_witness_transaction_finalize(tx2, {redeem_script}, false);
|
||||||
|
|
||||||
BOOST_CHECK(fc::to_hex(pack(tx2)) == "0200000000010152a58161faf22cedceb10fe5a2a5a98eaff9bc0458a463f387f58894da287b390100000000ffffffff01c0aff62901000000220020cad7fa7232fdf593c357304106872c303602d7c97ca7348fb94565065e1bcab80500483045022100ed26e6a78f87a50f2b3998c3c47ef5beca112b7d4359486239b37f48d37457da02201ab89289678b9626459f91307fcd3ba1de833cad29c78f3dcab60845df73217d0147304402207d7caa06a956fbb1191a0768a8652b0530d9124a2f3a95685d4a39a3469c227302202d78c0cc7bc17e93eae1d592aed01cdc4d3297763e11ebee5f6f85e1923683140100fd270263210368dc31b2b547c74f52abfc67c7fc768c68115d8ab96430d9bb4996fa660121cdac67522103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef2752102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f421025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe986621037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f6662102ef0d79bfdb99ab0be674b1d5d06c24debd74bffdc28d466633d6668cc281cccf210317941e4219548682fb8d8e172f0a8ce4d83ce21272435c85d598558c8e060b7f210266065b27f7e3d3ad45b471b1cd4e02de73fc4737dc2679915a45e293c5adcf8421023821cc3da7be9e8cdceb8f146e9ddd78a9519875ecc5b42fe645af690544bccf210229ff2b2106b76c27c393e82d71c20eec32bcf1f0cf1a9aca8a237269a67ff3e521024d113381cc09deb8a6da62e0470644d1a06de82be2725b5052668c8845a4a8da2103df2462a5a2f681a3896f61964a65566ff77448be9a55a6da18506fd9c6c051c12102bafba3096f546cc5831ce1e49ba7142478a659f2d689bbc70ed37235255172a8210287bcbd4f5d357f89a86979b386402445d7e9a5dccfd16146d1d2ab0dc2c32ae82102053859d76aa375d6f343a60e3678e906c008015e32fe4712b1fd2b26473bdd735fae6800000000");
|
BOOST_CHECK(fc::to_hex(pack(tx2)) == "02000000000101a5f0766e2f7a5e78dabe8c360eb808813def0b16ef37c8918c17313f7fbeaf000000000000ffffffff012823000000000000220020cad7fa7232fdf593c357304106872c303602d7c97ca7348fb94565065e1bcab8050047304402204d6ed521e2dbe040f4139891b2dce21711757bcf5f4acf6dec9186157fe5bf3902206f0d1fa8e5c51c3f1c02568328ca92995136aee1a95fa1bc7739404b63f29c520147304402200999a6d7c657d729a6dceb1ed0e2cd441435e0d125dea99fbc117f14f267bf1e02202003c54c1cdf9d263c0a01a27fc53923c048a6230221765c3dc0e7fba4341d980100fd270263210368dc31b2b547c74f52abfc67c7fc768c68115d8ab96430d9bb4996fa660121cdac67522103456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef2752102d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f421025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61210228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe986621037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f6662102ef0d79bfdb99ab0be674b1d5d06c24debd74bffdc28d466633d6668cc281cccf210317941e4219548682fb8d8e172f0a8ce4d83ce21272435c85d598558c8e060b7f210266065b27f7e3d3ad45b471b1cd4e02de73fc4737dc2679915a45e293c5adcf8421023821cc3da7be9e8cdceb8f146e9ddd78a9519875ecc5b42fe645af690544bccf210229ff2b2106b76c27c393e82d71c20eec32bcf1f0cf1a9aca8a237269a67ff3e521024d113381cc09deb8a6da62e0470644d1a06de82be2725b5052668c8845a4a8da2103df2462a5a2f681a3896f61964a65566ff77448be9a55a6da18506fd9c6c051c12102bafba3096f546cc5831ce1e49ba7142478a659f2d689bbc70ed37235255172a8210287bcbd4f5d357f89a86979b386402445d7e9a5dccfd16146d1d2ab0dc2c32ae82102053859d76aa375d6f343a60e3678e906c008015e32fe4712b1fd2b26473bdd735fae6800000000");
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(user_sig_one_or_weighted_multisig_spend_test) {
|
BOOST_AUTO_TEST_CASE(user_sig_one_or_weighted_multisig_spend_test) {
|
||||||
|
|
@ -306,13 +306,13 @@ BOOST_AUTO_TEST_CASE(user_sig_one_or_weighted_multisig_spend_test) {
|
||||||
fc::ecc::public_key user_pub_key = user_key.get_public_key();
|
fc::ecc::public_key user_pub_key = user_key.get_public_key();
|
||||||
|
|
||||||
btc_one_or_weighted_multisig_address addr(user_pub_key, weights);
|
btc_one_or_weighted_multisig_address addr(user_pub_key, weights);
|
||||||
BOOST_CHECK(addr.get_address() == "bcrt1q8vvjs50thpujagzvmx22czzrq9qgr3w4qqcwv697w09fahhq8c3syahmxz");
|
BOOST_CHECK(addr.get_address() == "bcrt1q6e323wwh3nw5875kztgna6z7ygvec2mvt48e630gmlsdh3t8ed8s63qmm5");
|
||||||
|
|
||||||
bytes redeem_script = addr.get_redeem_script();
|
bytes redeem_script = addr.get_redeem_script();
|
||||||
|
|
||||||
{
|
{
|
||||||
// this address was filled with regtest transaction
|
// this address was filled with regtest transaction
|
||||||
// id b28a0a75fae5eb72aa61766e765cc97002af1ec2d38e6cea7e8723c299009560
|
// id 11f5a6d6917c49eb46dd1e19bf1d76c09b58acc35cd92f6911695df44bddf4a0
|
||||||
// output 0, 10000 satoshis
|
// output 0, 10000 satoshis
|
||||||
|
|
||||||
// now send it to 2MtH9U8fEZbRmco3GYVMjSg9NfUyPn5RDN1
|
// now send it to 2MtH9U8fEZbRmco3GYVMjSg9NfUyPn5RDN1
|
||||||
|
|
@ -323,8 +323,8 @@ BOOST_AUTO_TEST_CASE(user_sig_one_or_weighted_multisig_spend_test) {
|
||||||
tx.vout.resize(1);
|
tx.vout.resize(1);
|
||||||
tx.nLockTime = 0;
|
tx.nLockTime = 0;
|
||||||
|
|
||||||
tx.vin[0].prevout.hash = fc::sha256("b28a0a75fae5eb72aa61766e765cc97002af1ec2d38e6cea7e8723c299009560");
|
tx.vin[0].prevout.hash = fc::sha256("11f5a6d6917c49eb46dd1e19bf1d76c09b58acc35cd92f6911695df44bddf4a0");
|
||||||
tx.vin[0].prevout.n = 0;
|
tx.vin[0].prevout.n = 1;
|
||||||
tx.vin[0].nSequence = 0xffffffff;
|
tx.vin[0].nSequence = 0xffffffff;
|
||||||
|
|
||||||
tx.vout[0].value = 9000;
|
tx.vout[0].value = 9000;
|
||||||
|
|
@ -340,13 +340,13 @@ BOOST_AUTO_TEST_CASE(user_sig_one_or_weighted_multisig_spend_test) {
|
||||||
sign_witness_transaction_finalize(tx, {redeem_script}, false);
|
sign_witness_transaction_finalize(tx, {redeem_script}, false);
|
||||||
|
|
||||||
// this transaction was published in regtest and was accepted,
|
// this transaction was published in regtest and was accepted,
|
||||||
// its id is 56d6804b142a7ec49d980304ac5efb7472c626e04a8499aa182574955de0a2ef
|
// its id is 9969642bf24f3d25f025f91dbf87dd5e5cf8508597aedd56af6ef1f97658f9d9
|
||||||
BOOST_CHECK(fc::to_hex(pack(tx)) == "0200000000010160950099c223877eea6c8ed3c21eaf0270c95c766e7661aa72ebe5fa750a8ab20000000000ffffffff01282300000000000017a9140b552f4a72cb614717878b20743d9e38e618130a8702483045022100f763578fea27776100a06341816a2a0a84a5c50848d33dfc941c11c64c9fdb6e022061d85666f70aed96cf73be299712cba84706527cb138c21a2229cb32d72a4c7c01fd83022102d2c1cb1575d323b6120b6e5bcc9ce5ad373e88e73e675030f1c2c5261b4dbc86ac635167007c21030e88484f2bb5dcfc0b326e9eb565c27c8291efb064d060d226916857a2676e62ac635193687c2102151ad794a3aeb3cf9c190120da3d13d36cd8bdf21ca1ccb15debd61c601314b0ac635293687c2103b45a5955ea7847d121225c752edaeb4a5d731a056a951a876caaf6d1f69adb7dac635393687c2102def03a6ffade4ffb0017c8d93859a247badd60e2d76d00e2a3713f6621932ec1ac635493687c21035f17aa7d58b8c3ee0d87240fded52b27f3f12768a0a54ba2595e0a929dd87155ac635593687c2103c8582ac6b0bd20cc1b02c6a86bad2ea10cadb758fedd754ba0d97be85b63b5a7ac635693687c21028148a1f9669fc4471e76f7a371d7cc0563b26e0821d9633fd37649744ff54edaac635793687c2102f0313701b0035f0365a59ce1a3d7ae7045e1f2fb25c4656c08071e5baf51483dac635893687c21024c4c25d08173b3c4d4e1375f8107fd7040c2dc0691ae1bf6fe82b8c88a85185fac635993687c210360fe2daa8661a3d25d0df79875d70b1c3d443ade731caafda7488cb68b4071b0ac635a93687c210250e41a6a4abd7b0b3a49eaec24a6fafa99e5aa7b1e3a5aabe60664276df3d937ac635b93687c2103045a32125930ca103c7d7c79b6f379754796cd4ea7fb0059da926e415e3877d3ac635c93687c210344943249d7ca9b47316fef0c2a413dda3a75416a449a29f310ab7fc9d052ed70ac635d93687c2103c62967320b63df5136ff1ef4c7959ef5917ee5a44f75c83e870bc488143d4d69ac635e93687c21020429f776e15770e4dc52bd6f72e6ed6908d51de1c4a64878433c4e3860a48dc4ac635f93680150a26800000000");
|
BOOST_CHECK(fc::to_hex(pack(tx)) == "02000000000101a0f4dd4bf45d6911692fd95cc3ac589bc0761dbf191edd46eb497c91d6a6f5110100000000ffffffff01282300000000000017a9140b552f4a72cb614717878b20743d9e38e618130a87024730440220083ae11a94bc0c0a5783fa1d81e470cf906fbd5a8b3b8cadf89d78ba4b721e7a022045b5469576dc075f27f3ea510e07cf5037af3b462a2111d0f1d6e6da7d06728501fd83022102d2c1cb1575d323b6120b6e5bcc9ce5ad373e88e73e675030f1c2c5261b4dbc86ac635167007c21030e88484f2bb5dcfc0b326e9eb565c27c8291efb064d060d226916857a2676e62ac635193687c2102151ad794a3aeb3cf9c190120da3d13d36cd8bdf21ca1ccb15debd61c601314b0ac635293687c2103b45a5955ea7847d121225c752edaeb4a5d731a056a951a876caaf6d1f69adb7dac635393687c2102def03a6ffade4ffb0017c8d93859a247badd60e2d76d00e2a3713f6621932ec1ac635493687c21035f17aa7d58b8c3ee0d87240fded52b27f3f12768a0a54ba2595e0a929dd87155ac635593687c2103c8582ac6b0bd20cc1b02c6a86bad2ea10cadb758fedd754ba0d97be85b63b5a7ac635693687c21028148a1f9669fc4471e76f7a371d7cc0563b26e0821d9633fd37649744ff54edaac635793687c2102f0313701b0035f0365a59ce1a3d7ae7045e1f2fb25c4656c08071e5baf51483dac635893687c21024c4c25d08173b3c4d4e1375f8107fd7040c2dc0691ae1bf6fe82b8c88a85185fac635993687c210360fe2daa8661a3d25d0df79875d70b1c3d443ade731caafda7488cb68b4071b0ac635a93687c210250e41a6a4abd7b0b3a49eaec24a6fafa99e5aa7b1e3a5aabe60664276df3d937ac635b93687c2103045a32125930ca103c7d7c79b6f379754796cd4ea7fb0059da926e415e3877d3ac635c93687c210344943249d7ca9b47316fef0c2a413dda3a75416a449a29f310ab7fc9d052ed70ac635d93687c2103c62967320b63df5136ff1ef4c7959ef5917ee5a44f75c83e870bc488143d4d69ac635e93687c21020429f776e15770e4dc52bd6f72e6ed6908d51de1c4a64878433c4e3860a48dc4ac635f93680151a26800000000");
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
// this address was filled again with regtest transaction
|
// this address was filled again with regtest transaction
|
||||||
// id 1e6641086684a42533a3d62538ab1c82ee5f650f2ab1a5cc7354ecebb33cc858
|
// id 57df37df31895807d6a5255e24691c58c028d6f60b11b3f5504fbdd22df90872
|
||||||
// output 0, 10000 satoshis
|
// output 0, 10000 satoshis
|
||||||
|
|
||||||
// now send it to the primary wallet with sons signatures
|
// now send it to the primary wallet with sons signatures
|
||||||
|
|
@ -356,7 +356,7 @@ BOOST_AUTO_TEST_CASE(user_sig_one_or_weighted_multisig_spend_test) {
|
||||||
tx.vout.resize(1);
|
tx.vout.resize(1);
|
||||||
tx.nLockTime = 0;
|
tx.nLockTime = 0;
|
||||||
|
|
||||||
tx.vin[0].prevout.hash = fc::sha256("1e6641086684a42533a3d62538ab1c82ee5f650f2ab1a5cc7354ecebb33cc858");
|
tx.vin[0].prevout.hash = fc::sha256("57df37df31895807d6a5255e24691c58c028d6f60b11b3f5504fbdd22df90872");
|
||||||
tx.vin[0].prevout.n = 0;
|
tx.vin[0].prevout.n = 0;
|
||||||
tx.vin[0].nSequence = 0xffffffff;
|
tx.vin[0].nSequence = 0xffffffff;
|
||||||
|
|
||||||
|
|
@ -379,8 +379,8 @@ BOOST_AUTO_TEST_CASE(user_sig_one_or_weighted_multisig_spend_test) {
|
||||||
sign_witness_transaction_finalize(tx, {redeem_script}, false);
|
sign_witness_transaction_finalize(tx, {redeem_script}, false);
|
||||||
|
|
||||||
// this transaction was published in regtest and was accepted,
|
// this transaction was published in regtest and was accepted,
|
||||||
// its id is d22c9ffbfaa96ab1fe547f1117eaf1b37a8936bce4f281ac57547bbfff903c57
|
// its id is d1c1f75a276fed52a230f57120fafb5af10fb5d9b666d37e78722e1b811fd6dd
|
||||||
BOOST_CHECK(fc::to_hex(pack(tx)) == "0200000000010158c83cb3ebec5473cca5b12a0f655fee821cab3825d6a33325a484660841661e0000000000ffffffff012823000000000000220020d237e9a42a33b434462d7e353cf51f40cd29c24504793fc02a3bc6e90ef72d9311483045022100b01c553bf72adee13cd88f7bd63f513a3c1b73f4e35ad84a97978f9c8aa178f002203008b49303349bfb4037fedbb637e510839dfbaf6a397cf57e9af6232f59af270147304402205f84acce6907810a59042474d64ed74de644e471944a319c7306ff4dd0df359302204f6d265a4e93f48659efb517d65bc1fa0057dee7fb81a01d5bb44223d8b0cef001483045022100f89f5bbcd55b6ae182f69a23bc66de4a0b14ecd900acf3fafbb14522bdce04c2022058ddb079bf0d99653a5f4e1aed32ac374cc961564337babdcae05b1e609c2b4001473044022018335d12abde4c3d6857720082560e82a3587662eadabf3c42e750fea380b0c502204507a76b902333aedbd0bdafa9986d16c86ceae2e3e88e1bc50914d4696951c5014730440220379c869e443cd3173b005a42e863ce47094a8e548d785c40b19c18f2da12e45802201154928e181036ad206f67aae239c16f155dcd9d97df85cd5070db79649f1f1d014830450221008833a468bee3192ed0394a00b4ceb187af5ff0b53dca74679d682651a4514c63022022d3410aeaf10c17f2f14b32edef64c2ab3c9e6bc9bf4166ef6245cfdc7faf350147304402206d006c240ca3bd09a0e5a82126fd7d4ad7da0f97aa5db926f4baf57f395400bc0220254f4e0b41bf49846d0da971ffe66dfc6db64465e40f72ccf37de778f38a634f0147304402205eb030ad8c6e13cf1ccd1e11c5fd5843988707711a005388dfbabc1325d2203d022013a5833e13ea64749af9b55ef731e3dcf2cfe63619d7a73c539b6e89a5104f650147304402203971c81233314c12293a7294d06d5eac4dcf534ecfb60a3b64474b5a2018b836022005accaf77da74177663a6c150bd74ed0b435b051f9d1cb3921799daf37ee3d5301473044022075686e69342526ba233defa2c9bea78b6d5090dc787eb028def26b1a317b023b0220477a407a0e054122445ae6e9cf2a5de3db7c76fa111bc5df735605581113836b01483045022100badf6da6a34ca1a6f8b21095aee2fa1f7a343c4b18e929451c5179c48f35685e022042342caaeeb3c960720cbf81c2df809d6daca6485a1e5fb827d58f4fa272365201483045022100c707d2cde92b35bd3a675d9b5ed087dcbe8d870d3e436e5118b7b98cd74932680220215224192fda8468e234bda7ab71826fb93c56e9aebbae24e9f937d476905ba001483045022100f1def0f6f6cb19d289df32ef1d300fc821fdb9f53d6bb28c93eb127f95dadf4702203bcdfcb5b9aff850e57c8b193931698831de899f052e7e9da587dfbf65f57c5601483045022100ece59a1ff30d3976a2b7e9d94e461ca35b2cb7ec0778a0afaa3088293f85d24c022028a3cf1fe597674769b175fab2555c282eaf004bd33d5554c3e26169ae508793014830450221008159b605a1c39cb1bba0f28fe60fdbc1fee7af54e7fd35edef74e7b9067b696a022005b8460e35fa253be00989bec86471c1c32d1e8309ad16676bf99170345eb7990100fd83022102d2c1cb1575d323b6120b6e5bcc9ce5ad373e88e73e675030f1c2c5261b4dbc86ac635167007c21030e88484f2bb5dcfc0b326e9eb565c27c8291efb064d060d226916857a2676e62ac635193687c2102151ad794a3aeb3cf9c190120da3d13d36cd8bdf21ca1ccb15debd61c601314b0ac635293687c2103b45a5955ea7847d121225c752edaeb4a5d731a056a951a876caaf6d1f69adb7dac635393687c2102def03a6ffade4ffb0017c8d93859a247badd60e2d76d00e2a3713f6621932ec1ac635493687c21035f17aa7d58b8c3ee0d87240fded52b27f3f12768a0a54ba2595e0a929dd87155ac635593687c2103c8582ac6b0bd20cc1b02c6a86bad2ea10cadb758fedd754ba0d97be85b63b5a7ac635693687c21028148a1f9669fc4471e76f7a371d7cc0563b26e0821d9633fd37649744ff54edaac635793687c2102f0313701b0035f0365a59ce1a3d7ae7045e1f2fb25c4656c08071e5baf51483dac635893687c21024c4c25d08173b3c4d4e1375f8107fd7040c2dc0691ae1bf6fe82b8c88a85185fac635993687c210360fe2daa8661a3d25d0df79875d70b1c3d443ade731caafda7488cb68b4071b0ac635a93687c210250e41a6a4abd7b0b3a49eaec24a6fafa99e5aa7b1e3a5aabe60664276df3d937ac635b93687c2103045a32125930ca103c7d7c79b6f379754796cd4ea7fb0059da926e415e3877d3ac635c93687c210344943249d7ca9b47316fef0c2a413dda3a75416a449a29f310ab7fc9d052ed70ac635d93687c2103c62967320b63df5136ff1ef4c7959ef5917ee5a44f75c83e870bc488143d4d69ac635e93687c21020429f776e15770e4dc52bd6f72e6ed6908d51de1c4a64878433c4e3860a48dc4ac635f93680150a26800000000");
|
BOOST_CHECK(fc::to_hex(pack(tx)) == "020000000001017208f92dd2bd4f50f5b3110bf6d628c0581c69245e25a5d607588931df37df570000000000ffffffff012823000000000000220020fd2b172e2f825a9cba582cdabf5ba178c5ac3b49cd63970192cb2511fc59e17211483045022100b2401c5081bea13c87678ee1a11b09a937be7cab4ac0f295eded00f3d9920fbc022010d84be64051ec09f5d0682f59539e23df77dc5ada73a0ba0ac4e1ae32d7d0620147304402203196944571e652275eb5b055ea48de8d62a8321d6ba5c0c52f01bfd3d187dc7802207062762016d8b26946823b30470f720919f8312024bda8799984d55a784ef20301483045022100c2a183ca75915b4d2e8dc1bb94a2be536f1c8b26effed9360ca5913128b7dee102203fa40e103cb6e711acd84b1b94eb46279ad52a6affc95bc78359bb5ceb706126014830450221009e08aa12474c67c07dc90d94ce1181b1b9f347a13142c7bb9eba30b45b89b52c022031a4313250b01e4fb3edc63cb7cb3a5b0fd3362f8624ec9e7c63722fc6245b8c0147304402207e044ffed8c5d9a2458c728a0b0381571db4cadf83c0cc7d07930836ed712d5e0220786c41038b605f0fb7926395f869f756ff0018c73f934e73f9a3162903c0f2c201483045022100cd48b237d227af046b721e323a21cefbb47cbe6956893b0b3294e8d57cfc49c502202197209d0ed63998ad9fe5e4b448f472e7a0009c0d764b6855fd3bfcb65d258d0147304402205319cae42865486e4e4cfe040129f5057cc52768a8c11310e226171b7655b8d402203f521314eeb716aa5a1911e3663a27844ecf747fddbcfb201217abbeb236693a01483045022100f35e680293c1e3c97cd7a8b24f05c4f45862b8d93485100a7b934668467cc2bb02203827853d1efb1ae98266a622216fccd72acd5bbc1681ccd9e5c4e29c7daf3bc601483045022100bae57bb8eee66938c20b231bd71b84f5e09b582c005015f8ccd163c9afb6b08d02204deaf19b266ae3548b75235ab5c36c3334beb6fd93b936ef3eca7b0d39f9e03a01473044022044848ec4188a00695a45c4ae3e977654f8a819e9931501ae36b9c500a7e72a5e02207e0b27b855fe72a46a6d75c6286d9b47068bfc29fe54f86f5bf2761db7ecaf7701483045022100edd042c70e727d3956d4e08a1f9ae789f43ce44f5d90b5d19f32a78c20db57140220337aafb7441bcc29ad20a9d813db0cf3d9528102afa5191654feedd1d3b3fd2d0147304402205fa41757a0d1b25c8acf413700e90268d7f17d4ae296388d619bfbdc863154b70220529d33e4b6a34e8de2b821257097bbe16b5d0040c8ae4d443c61daa7d80f2c86014730440220623f7039e9e9bd652e3370a125b82919092d9eb5144b2835a208d59de3887c3d022041d274f9dabe3fb00db6deef0edf2e0671dc49f1fe7b4bcc6c589f697c02a44a01483045022100847dc557a81e06efe330c7a50d40e3aa7a4c97ea64dc93d809571aab5258ab6002203da85fc76c01d4a50a44e9de4c21e53a88444df573f2f000e9b3dddc7063bbf501473044022052bebca16b1629c121c23ce14e6d8f0f12603f96d54f07c33f4ccdbad57887a502206df9cb44417f513c97cf03bd8cd7a05d3b19294880158ef695c1ff5269f59bb30100fd83022102d2c1cb1575d323b6120b6e5bcc9ce5ad373e88e73e675030f1c2c5261b4dbc86ac635167007c21030e88484f2bb5dcfc0b326e9eb565c27c8291efb064d060d226916857a2676e62ac635193687c2102151ad794a3aeb3cf9c190120da3d13d36cd8bdf21ca1ccb15debd61c601314b0ac635293687c2103b45a5955ea7847d121225c752edaeb4a5d731a056a951a876caaf6d1f69adb7dac635393687c2102def03a6ffade4ffb0017c8d93859a247badd60e2d76d00e2a3713f6621932ec1ac635493687c21035f17aa7d58b8c3ee0d87240fded52b27f3f12768a0a54ba2595e0a929dd87155ac635593687c2103c8582ac6b0bd20cc1b02c6a86bad2ea10cadb758fedd754ba0d97be85b63b5a7ac635693687c21028148a1f9669fc4471e76f7a371d7cc0563b26e0821d9633fd37649744ff54edaac635793687c2102f0313701b0035f0365a59ce1a3d7ae7045e1f2fb25c4656c08071e5baf51483dac635893687c21024c4c25d08173b3c4d4e1375f8107fd7040c2dc0691ae1bf6fe82b8c88a85185fac635993687c210360fe2daa8661a3d25d0df79875d70b1c3d443ade731caafda7488cb68b4071b0ac635a93687c210250e41a6a4abd7b0b3a49eaec24a6fafa99e5aa7b1e3a5aabe60664276df3d937ac635b93687c2103045a32125930ca103c7d7c79b6f379754796cd4ea7fb0059da926e415e3877d3ac635c93687c210344943249d7ca9b47316fef0c2a413dda3a75416a449a29f310ab7fc9d052ed70ac635d93687c2103c62967320b63df5136ff1ef4c7959ef5917ee5a44f75c83e870bc488143d4d69ac635e93687c21020429f776e15770e4dc52bd6f72e6ed6908d51de1c4a64878433c4e3860a48dc4ac635f93680151a26800000000");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -406,14 +406,14 @@ BOOST_AUTO_TEST_CASE(user_sig_timelocked_one_or_weighted_multisig_spend_test) {
|
||||||
|
|
||||||
uint32_t latency = 1;
|
uint32_t latency = 1;
|
||||||
btc_timelocked_one_or_weighted_multisig_address addr(user_pub_key, latency, weights);
|
btc_timelocked_one_or_weighted_multisig_address addr(user_pub_key, latency, weights);
|
||||||
BOOST_CHECK(addr.get_address() == "bcrt1q5p7phluyzsdcvdyk3dqyv50xtw9n55kjk34l067csj6xezl4kr7qdqmcus");
|
BOOST_CHECK(addr.get_address() == "bcrt1qk9ef5eh4lsrc6uenchd4fpfvgd8avulnf7daqxhrt7d8arxyp8kqsnzyc4");
|
||||||
|
|
||||||
bytes redeem_script = addr.get_redeem_script();
|
bytes redeem_script = addr.get_redeem_script();
|
||||||
|
|
||||||
{
|
{
|
||||||
// this address was filled with regtest transaction
|
// this address was filled with regtest transaction
|
||||||
// id f4d274b0452d8fa641bae1dfdc4527ac16af65dda30f5ac80031f1f9d24e2ca0
|
// id e6f6bc21f4034ad222820162717574e7d2488b34412dccecec19e2bbd3889dee
|
||||||
// output 0, 10000 satoshis
|
// output 1, 10000 satoshis
|
||||||
|
|
||||||
// now send it to 2MtH9U8fEZbRmco3GYVMjSg9NfUyPn5RDN1
|
// now send it to 2MtH9U8fEZbRmco3GYVMjSg9NfUyPn5RDN1
|
||||||
// with single user signature
|
// with single user signature
|
||||||
|
|
@ -423,8 +423,8 @@ BOOST_AUTO_TEST_CASE(user_sig_timelocked_one_or_weighted_multisig_spend_test) {
|
||||||
tx.vout.resize(1);
|
tx.vout.resize(1);
|
||||||
tx.nLockTime = 0;
|
tx.nLockTime = 0;
|
||||||
|
|
||||||
tx.vin[0].prevout.hash = fc::sha256("f4d274b0452d8fa641bae1dfdc4527ac16af65dda30f5ac80031f1f9d24e2ca0");
|
tx.vin[0].prevout.hash = fc::sha256("e6f6bc21f4034ad222820162717574e7d2488b34412dccecec19e2bbd3889dee");
|
||||||
tx.vin[0].prevout.n = 0;
|
tx.vin[0].prevout.n = 1;
|
||||||
tx.vin[0].nSequence = 0x1;
|
tx.vin[0].nSequence = 0x1;
|
||||||
|
|
||||||
tx.vout[0].value = 9000;
|
tx.vout[0].value = 9000;
|
||||||
|
|
@ -440,8 +440,8 @@ BOOST_AUTO_TEST_CASE(user_sig_timelocked_one_or_weighted_multisig_spend_test) {
|
||||||
sign_witness_transaction_finalize(tx, {redeem_script}, false);
|
sign_witness_transaction_finalize(tx, {redeem_script}, false);
|
||||||
|
|
||||||
// this transaction was published in regtest and was accepted only 1 block later then source tx
|
// this transaction was published in regtest and was accepted only 1 block later then source tx
|
||||||
// its id is f23f75322fc39523973eeeb734efe57c54e57e957f76e3f4c6393afd0a8bf658
|
// its id is 32831d5c6c979166c4fdc7871e28d67858c9f66fbb0fdb8284eb16e42554d6c9
|
||||||
BOOST_CHECK(fc::to_hex(pack(tx)) == "02000000000101a02c4ed2f9f13100c85a0fa3dd65af16ac2745dcdfe1ba41a68f2d45b074d2f400000000000100000001282300000000000017a9140b552f4a72cb614717878b20743d9e38e618130a87024730440220376c642575139ba7856ecdc0489c4c703b39439a810af1b2bea0d984c049bd0202201fcb87b50606cadc38c4a771cabd1d2ac83e90145554e023257a07febb112c5f01fd86022102d2c1cb1575d323b6120b6e5bcc9ce5ad373e88e73e675030f1c2c5261b4dbc86ac6351b2755167007c21030e88484f2bb5dcfc0b326e9eb565c27c8291efb064d060d226916857a2676e62ac635193687c2102151ad794a3aeb3cf9c190120da3d13d36cd8bdf21ca1ccb15debd61c601314b0ac635293687c2103b45a5955ea7847d121225c752edaeb4a5d731a056a951a876caaf6d1f69adb7dac635393687c2102def03a6ffade4ffb0017c8d93859a247badd60e2d76d00e2a3713f6621932ec1ac635493687c21035f17aa7d58b8c3ee0d87240fded52b27f3f12768a0a54ba2595e0a929dd87155ac635593687c2103c8582ac6b0bd20cc1b02c6a86bad2ea10cadb758fedd754ba0d97be85b63b5a7ac635693687c21028148a1f9669fc4471e76f7a371d7cc0563b26e0821d9633fd37649744ff54edaac635793687c2102f0313701b0035f0365a59ce1a3d7ae7045e1f2fb25c4656c08071e5baf51483dac635893687c21024c4c25d08173b3c4d4e1375f8107fd7040c2dc0691ae1bf6fe82b8c88a85185fac635993687c210360fe2daa8661a3d25d0df79875d70b1c3d443ade731caafda7488cb68b4071b0ac635a93687c210250e41a6a4abd7b0b3a49eaec24a6fafa99e5aa7b1e3a5aabe60664276df3d937ac635b93687c2103045a32125930ca103c7d7c79b6f379754796cd4ea7fb0059da926e415e3877d3ac635c93687c210344943249d7ca9b47316fef0c2a413dda3a75416a449a29f310ab7fc9d052ed70ac635d93687c2103c62967320b63df5136ff1ef4c7959ef5917ee5a44f75c83e870bc488143d4d69ac635e93687c21020429f776e15770e4dc52bd6f72e6ed6908d51de1c4a64878433c4e3860a48dc4ac635f93680150a26800000000");
|
BOOST_CHECK(fc::to_hex(pack(tx)) == "02000000000101ee9d88d3bbe219ececcc2d41348b48d2e774757162018222d24a03f421bcf6e601000000000100000001282300000000000017a9140b552f4a72cb614717878b20743d9e38e618130a8702483045022100d3a5aa67227cd67f2a2f851b3762343ae407cba2e0e2fa8e6abdf3a6143681fd022033ba7e4cdcc2185c4b80021d7c0f90aa839c08c1477f54d4cfd5208ff4ea222801fd86022102d2c1cb1575d323b6120b6e5bcc9ce5ad373e88e73e675030f1c2c5261b4dbc86ac6351b2755167007c21030e88484f2bb5dcfc0b326e9eb565c27c8291efb064d060d226916857a2676e62ac635193687c2102151ad794a3aeb3cf9c190120da3d13d36cd8bdf21ca1ccb15debd61c601314b0ac635293687c2103b45a5955ea7847d121225c752edaeb4a5d731a056a951a876caaf6d1f69adb7dac635393687c2102def03a6ffade4ffb0017c8d93859a247badd60e2d76d00e2a3713f6621932ec1ac635493687c21035f17aa7d58b8c3ee0d87240fded52b27f3f12768a0a54ba2595e0a929dd87155ac635593687c2103c8582ac6b0bd20cc1b02c6a86bad2ea10cadb758fedd754ba0d97be85b63b5a7ac635693687c21028148a1f9669fc4471e76f7a371d7cc0563b26e0821d9633fd37649744ff54edaac635793687c2102f0313701b0035f0365a59ce1a3d7ae7045e1f2fb25c4656c08071e5baf51483dac635893687c21024c4c25d08173b3c4d4e1375f8107fd7040c2dc0691ae1bf6fe82b8c88a85185fac635993687c210360fe2daa8661a3d25d0df79875d70b1c3d443ade731caafda7488cb68b4071b0ac635a93687c210250e41a6a4abd7b0b3a49eaec24a6fafa99e5aa7b1e3a5aabe60664276df3d937ac635b93687c2103045a32125930ca103c7d7c79b6f379754796cd4ea7fb0059da926e415e3877d3ac635c93687c210344943249d7ca9b47316fef0c2a413dda3a75416a449a29f310ab7fc9d052ed70ac635d93687c2103c62967320b63df5136ff1ef4c7959ef5917ee5a44f75c83e870bc488143d4d69ac635e93687c21020429f776e15770e4dc52bd6f72e6ed6908d51de1c4a64878433c4e3860a48dc4ac635f93680151a26800000000");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue