From b08d34d62ffcc545be326443eb82ffb7a68e3183 Mon Sep 17 00:00:00 2001 From: satyakoneru <15652887+satyakoneru@users.noreply.github.com> Date: Tue, 14 Apr 2020 14:45:59 +0000 Subject: [PATCH] add 10-of-14 multisig address test --- .../bitcoin_address_tests.cpp | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/tests/peerplays_sidechain/bitcoin_address_tests.cpp b/tests/peerplays_sidechain/bitcoin_address_tests.cpp index 77e88e04..3777fe7a 100644 --- a/tests/peerplays_sidechain/bitcoin_address_tests.cpp +++ b/tests/peerplays_sidechain/bitcoin_address_tests.cpp @@ -131,4 +131,46 @@ BOOST_AUTO_TEST_CASE( create_segwit_address_test ) BOOST_CHECK( address.get_address() == "2NGU4ogScHEHEpReUzi9RB2ha58KAFnkFyk" ); } +BOOST_AUTO_TEST_CASE( create_segwit_address_10_of_14_test ) +{ + std::vector public_key1 = parse_hex( "03456772301e221026269d3095ab5cb623fc239835b583ae4632f99a15107ef275" ); + std::vector public_key2 = parse_hex( "02d67c26cf20153fe7625ca1454222d3b3aeb53b122d8a0f7d32a3dd4b2c2016f4" ); + std::vector public_key3 = parse_hex( "025f7cfda933516fd590c5a34ad4a68e3143b6f4155a64b3aab2c55fb851150f61" ); + std::vector public_key4 = parse_hex( "0228155bb1ddcd11c7f14a2752565178023aa963f84ea6b6a052bddebad6fe9866" ); + std::vector public_key5 = parse_hex( "037500441cfb4484da377073459511823b344f1ef0d46bac1efd4c7c466746f666" ); + std::vector public_key6 = parse_hex( "02ef0d79bfdb99ab0be674b1d5d06c24debd74bffdc28d466633d6668cc281cccf" ); + std::vector public_key7 = parse_hex( "0317941e4219548682fb8d8e172f0a8ce4d83ce21272435c85d598558c8e060b7f" ); + std::vector public_key8 = parse_hex( "0266065b27f7e3d3ad45b471b1cd4e02de73fc4737dc2679915a45e293c5adcf84" ); + std::vector public_key9 = parse_hex( "023821cc3da7be9e8cdceb8f146e9ddd78a9519875ecc5b42fe645af690544bccf" ); + std::vector public_key10 = parse_hex( "0229ff2b2106b76c27c393e82d71c20eec32bcf1f0cf1a9aca8a237269a67ff3e5" ); + std::vector public_key11 = parse_hex( "024d113381cc09deb8a6da62e0470644d1a06de82be2725b5052668c8845a4a8da" ); + std::vector public_key12 = parse_hex( "03df2462a5a2f681a3896f61964a65566ff77448be9a55a6da18506fd9c6c051c1" ); + std::vector public_key13 = parse_hex( "02bafba3096f546cc5831ce1e49ba7142478a659f2d689bbc70ed37235255172a8" ); + std::vector public_key14 = parse_hex( "0287bcbd4f5d357f89a86979b386402445d7e9a5dccfd16146d1d2ab0dc2c32ae8" ); + + std::vector witness_script = parse_hex("0020b70a52b55974d3c8c1a2055bf23e2d6421942135c7be1f786ad8cbce2f532cef"); + + fc::ecc::public_key_data key1 = create_public_key_data( public_key1 ); + fc::ecc::public_key_data key2 = create_public_key_data( public_key2 ); + fc::ecc::public_key_data key3 = create_public_key_data( public_key3 ); + fc::ecc::public_key_data key4 = create_public_key_data( public_key4 ); + fc::ecc::public_key_data key5 = create_public_key_data( public_key5 ); + fc::ecc::public_key_data key6 = create_public_key_data( public_key6 ); + fc::ecc::public_key_data key7 = create_public_key_data( public_key7 ); + fc::ecc::public_key_data key8 = create_public_key_data( public_key8 ); + fc::ecc::public_key_data key9 = create_public_key_data( public_key9 ); + fc::ecc::public_key_data key10 = create_public_key_data( public_key10 ); + fc::ecc::public_key_data key11 = create_public_key_data( public_key11 ); + fc::ecc::public_key_data key12 = create_public_key_data( public_key12 ); + fc::ecc::public_key_data key13 = create_public_key_data( public_key13 ); + fc::ecc::public_key_data key14 = create_public_key_data( public_key14 ); + + btc_multisig_segwit_address address(10, { { son_id_type(1), public_key_type(key1) }, { son_id_type(2), public_key_type(key2) }, { son_id_type(3), public_key_type(key3) }, + { son_id_type(4), public_key_type(key4) }, { son_id_type(5), public_key_type(key5) }, { son_id_type(6), public_key_type(key6) }, { son_id_type(7), public_key_type(key7) }, + { son_id_type(8), public_key_type(key8) }, { son_id_type(9), public_key_type(key9) }, { son_id_type(10), public_key_type(key10) }, { son_id_type(11), public_key_type(key11) }, + { son_id_type(12), public_key_type(key12) }, { son_id_type(13), public_key_type(key13) }, { son_id_type(14), public_key_type(key14) },}); + BOOST_CHECK( address.get_witness_script() == witness_script ); + BOOST_CHECK( address.get_address() == "2MwhYhBrZeb6mTf1kaWcYfLBCCQoMqQybFZ" ); +} + BOOST_AUTO_TEST_SUITE_END()