Litecoin: Fix various tests
This commit is contained in:
parent
00a7b863ed
commit
0c70852943
@ -38,7 +38,6 @@ BITCOIN_TESTS =\
|
||||
test/bech32_tests.cpp \
|
||||
test/bip32_tests.cpp \
|
||||
test/blockchain_tests.cpp \
|
||||
test/blockencodings_tests.cpp \
|
||||
test/bloom_tests.cpp \
|
||||
test/bswap_tests.cpp \
|
||||
test/checkqueue_tests.cpp \
|
||||
|
||||
@ -17,6 +17,9 @@ namespace block_bench {
|
||||
// a block off the wire, but before we can relay the block on to peers using
|
||||
// compact block relay.
|
||||
|
||||
// Litecoin uses block height 878439, hash 0babe680f55a55d54339511226755f0837261da89a4e78eba4d6436a63026df8
|
||||
// which contains 3808 transactions.
|
||||
|
||||
static void DeserializeBlockTest(benchmark::State& state)
|
||||
{
|
||||
CDataStream stream((const char*)block_bench::block413567,
|
||||
|
||||
Binary file not shown.
@ -75,7 +75,7 @@ void RPCNestedTests::rpcNestedTests()
|
||||
QVERIFY(result == result2);
|
||||
|
||||
RPCConsole::RPCExecuteCommandLine(*node, result, "getblock(getbestblockhash())[tx][0]", &filtered);
|
||||
QVERIFY(result == "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b");
|
||||
QVERIFY(result == "97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9");
|
||||
QVERIFY(filtered == "getblock(getbestblockhash())[tx][0]");
|
||||
|
||||
RPCConsole::RPCParseCommandLine(nullptr, result, "importprivkey", false, &filtered);
|
||||
|
||||
@ -48,7 +48,7 @@ int main(int argc, char *argv[])
|
||||
SelectParams(CBaseChainParams::MAIN);
|
||||
noui_connect();
|
||||
ClearDatadirCache();
|
||||
fs::path pathTemp = fs::temp_directory_path() / strprintf("test_bitcoin-qt_%lu_%i", (unsigned long)GetTime(), (int)GetRand(100000));
|
||||
fs::path pathTemp = fs::temp_directory_path() / strprintf("test_litecoin-qt_%lu_%i", (unsigned long)GetTime(), (int)GetRand(100000));
|
||||
fs::create_directories(pathTemp);
|
||||
gArgs.ForceSetArg("-datadir", pathTemp.string());
|
||||
|
||||
|
||||
@ -212,7 +212,7 @@ void TestGUI()
|
||||
QString paymentText = rlist->toPlainText();
|
||||
QStringList paymentTextList = paymentText.split('\n');
|
||||
QCOMPARE(paymentTextList.at(0), QString("Payment information"));
|
||||
QVERIFY(paymentTextList.at(1).indexOf(QString("URI: bitcoin:")) != -1);
|
||||
QVERIFY(paymentTextList.at(1).indexOf(QString("URI: litecoin:")) != -1);
|
||||
QVERIFY(paymentTextList.at(2).indexOf(QString("Address:")) != -1);
|
||||
QCOMPARE(paymentTextList.at(3), QString("Amount: 0.00000001 ") + QString::fromStdString(CURRENCY_UNIT));
|
||||
QCOMPARE(paymentTextList.at(4), QString("Label: TEST_LABEL_1"));
|
||||
|
||||
@ -102,7 +102,7 @@ BOOST_AUTO_TEST_CASE(ToStringTest)
|
||||
{
|
||||
CFeeRate feeRate;
|
||||
feeRate = CFeeRate(1);
|
||||
BOOST_CHECK_EQUAL(feeRate.ToString(), "0.00000001 BTC/kB");
|
||||
BOOST_CHECK_EQUAL(feeRate.ToString(), "0.00000001 LTC/kB");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
@ -1,47 +1,47 @@
|
||||
[
|
||||
[
|
||||
"LdwLvykqj2nUH3MWcut6mtjHxVxVFC7st5",
|
||||
"cd463dbc6f8076c7021f2766b36ea7e19c5c9e2e",
|
||||
"LbRY3MfWxhv1W88P3DcH94WLpDGZ3qV8aP",
|
||||
"76a914b1b2c8ecd1a48ef911bd5e6385a8950d3255937588ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"3QiEMZmknJkHxz9q2VjTCT1tvUicLvBpdZ",
|
||||
"fc85afab90ad569ed50fe8771d70aff8a7eb788d",
|
||||
"37cTNRYxg6TKK31B5d1Xf2cvYwSv7AF7fR",
|
||||
"a91440f3ea941f260592f9c9433f0250dfe7e5fb128e87",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"mmCKZS7toE69QgXNs1JZcjW6LFj8LfUbz6",
|
||||
"3e4a9a4a79dcad8800b6cfcdf102bf98064b7454",
|
||||
"mphsD9aLCQ9kpysu4ecCwAvHWYcsbt31u9",
|
||||
"76a91464c97697289c7f654ceeab26066537489238d32788ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"2N5X5FB9Cro2qW4Dww1pEKYXMhQt8PK6KHM",
|
||||
"86a0ddc5ce64594f0b84d96596657e1f5e0af7f6",
|
||||
"mphsD9aLCQ9kpysu4ecCwAvHWYcsbt31u9",
|
||||
"76a91464c97697289c7f654ceeab26066537489238d32788ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "regtest"
|
||||
}
|
||||
],
|
||||
[
|
||||
"6uyyEQaLajn2bVG4DQ9LkwKqdTLWv5fxzSgBBwFMhZnY6SHamHF",
|
||||
"716bbb0c59dc95f658b169b09c9ada6b106d79ef637dc0a1361aea83b67f3281",
|
||||
"2NCfHYPmkXdYQub31jnGCH48SN2Ew4KKfzE",
|
||||
"a914d4f756e1a19ede4011f5839e309da0c43fbee4e887",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"T92ej9rAJ2HEKBtXKpcQEB88KMjBUW43uVxzwgAAYmm97CbDfuB2",
|
||||
"b257a0d8b63aac2cbac1f6b57c73ee6313650a000ac895456f633e05e1f276b1",
|
||||
"6w1p6pcTBjzx8cwm4otGNWjs6U7JGp73U2S4PjYFEdssBqb3ozw",
|
||||
"f94cfafdc6a1291f3379f7527465f391d932853c0caf452b1d3d5ce26d47d3da",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -49,8 +49,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"93UCtAocH3kKPwoqEcjNGR1qi9MLkhQio2vMjWCMdEsBNwTKszg",
|
||||
"f8270343a5cc4936c0f304520700b9a9f443dddeb5b2bfa9ef8414d126e9835b",
|
||||
"T8d1EGiyxUNiMqheh7siBtbAxnpy5Scq9ACMH8gtHXvWZsJcHrxn",
|
||||
"a62d79737a443b898b77bec8e98bc6c27acd9c8b4a222e0c0f2ca01591ff38fc",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -58,8 +58,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"cU3MMfRXJpVuVXKdkqn1x8cqEHz4AfyBmVFj7CvBUdApAZYo6Lj8",
|
||||
"c0bbf61af02667b9a7c172c2d4bfa64ac9d4553f7ae19fb295c06e77cc799296",
|
||||
"92Uz6EVHCNXUu77uKfedTaGor28x7qaERbNFG3vvnt7xML19K9P",
|
||||
"7639e3b1907cf81533da2ed547f3ad3c122456afc47a00dbfbc795aa07e0fb01",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -67,8 +67,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"LWZR9ybwmT8vSXP6tmrBX4b6nE9o94AjQG",
|
||||
"7c57bc50a38d8377ad55260f29f2c8619846ef08",
|
||||
"92Uz6EVHCNXUu77uKfedTaGor28x7qaERbNFG3vvnt7xML19K9P",
|
||||
"7639e3b1907cf81533da2ed547f3ad3c122456afc47a00dbfbc795aa07e0fb01",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -76,8 +76,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"32wfwbXojzQN9vYFQGquFTt7sqKnB8Phyz",
|
||||
"0dbdaf6928107d60299f5069367c4cf07fa9b6e5",
|
||||
"cTToo8w9eJVfZSR8R5F8VzQ8rZb5oRwgABKbzer9g3HJqxfyj3ye",
|
||||
"af7a53dbe5e1f9513e2f2620c58dff15730cebf3a9b560cbf4aaad2768d40fa4",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -85,8 +85,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"mvJg85FLYqN7xAcZeFZRVg7pMbJ53BqKmy",
|
||||
"a237653c5ae7e18e840d6463d380701ce3ba5035",
|
||||
"cTToo8w9eJVfZSR8R5F8VzQ8rZb5oRwgABKbzer9g3HJqxfyj3ye",
|
||||
"af7a53dbe5e1f9513e2f2620c58dff15730cebf3a9b560cbf4aaad2768d40fa4",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -94,40 +94,40 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"2NCGcqUHf4q4vE2MZD6bnaVzFUSKPM4WCDX",
|
||||
"d0ade0e231a81794ed1baa081604de53ddd8b083",
|
||||
"Laq1dYLSYPifTjCeT9DCr1Puiy7k7Ewy5B",
|
||||
"76a914ab2b41b4206db6c39f74c25453dfa5ff90074e2688ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"6w3nZ8BsJLuJwe42QpFAwCZC9EFz4e2k1ewhRT9ab2poUv8KSu7",
|
||||
"fdc80a3b189a9d64a1fb8e5a9905d92922f77e135a235a06046147f10d4f09be",
|
||||
"3AejjPrJLpUf83mkWL1HXbMNTYjAFWfowj",
|
||||
"a914624ac89642e04d39ce36976e861a022742cc127a87",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"T5EAeSR4zfUGvNiA4iCVPpV8Gz6ZUGAT94bsBqTv3kd81hNQCgzY",
|
||||
"40eab9b09d0469a7d9f84dae6bc5f98199e0b187fe4e74013cab437f9306ea00",
|
||||
"mhoT6gsCtPmeY5m5S93FPv5y11Zft7mDAv",
|
||||
"76a914190ef38c041b5ae687f2ef20a6131e755e12a12188ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"92hDYngM3s5oLTK6Fsq1JKLLSgL5NdarzLm8r9ymzEfQzCB24cJ",
|
||||
"92001dd4cb225cdc0cf9fe2f824c807ffedd5235c9c0ca014949d0793fc66868",
|
||||
"2NAMtME59NepzTTip2onh56JHaTYzXR7QTH",
|
||||
"a914bbbca803acbbe7a2153f0cac05491b624c72426b87",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"cQFFjska277aBhcbCaEdBSixz1BXEgnLoGYECu9mKJip3GBco8CL",
|
||||
"4f8210f4e6830d16fa8818d37fa9aed65664a20f3c41bfa5b502cdc8d1173dcb",
|
||||
"6vfHCU94rDbNkXCid4iNw2aNbwYQrHch6ghjYfSpC8vMPK9CPjB",
|
||||
"caadafa39dfa11d59f36b918a9b6ca057953f9eb2066796549d2d3a4124c273d",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -135,8 +135,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"LWkdEB9SHUfuBiTvZofK2LqYE4RTTtUcqi",
|
||||
"7e766382cb564021bcbc273e23569dcaed536ac6",
|
||||
"T45iMqhBgU8Qoer7dhGQb5UhmwvAQZLZbuHYorkneyaACDmij5Cm",
|
||||
"1ebb18d9365fde2e29c7ef8494ac1d284fb332f24a0243d59a8070332940f573",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -144,8 +144,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"32cjrquumLmwSmBrNCbkU5UTUmtgetWqaL",
|
||||
"0a290d74c272ab52dec1a87ce88e75d29c94fe5a",
|
||||
"93DVKyFYwSN6wEo3E2fCrFPUp17FtrtNi2Lf7n4G3garFb16CRj",
|
||||
"d6bca256b5abc5602ec2e1c121a08b0da2556587430bcf7e1898af2224885203",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -153,8 +153,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"mtei3esVvHhww4Rw9FYnMdTUTVvbpWhLfF",
|
||||
"901111ab28cf850a5b6846e94e8c0c4a505603a9",
|
||||
"cTDVKtMGVYWTHCb1AFjmVbEbWjvKpKqKgMaR3QJxToMSQAhmCeTN",
|
||||
"a81ca4e8f90181ec4b61b6a7eb998af17b2cb04de8a03b504b9e34c4c61db7d9",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -162,40 +162,40 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"2N85CqWKWqfZ5Hc9qGXWmr5JKZzMqZCRDPM",
|
||||
"a2a4c41bd7150d28aa730140cebf7aa5341e2619",
|
||||
"LcCLxZSuwCMonMGeBcHqQ1SbsKyWKtVmBB",
|
||||
"76a914ba2c4073e5355bfe37e06fdd9b42f644fb9ae76b88ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"6vfWJ2KcJLjvXXx8aZNsLcQQnxTvXA38ci22BvhprTq5QpRS6k6",
|
||||
"cb30eec426333b2396d2362d4a380d7f6a4ae50a2701309a53f500fa389c166c",
|
||||
"3DhmeSnrhxFeeH6Ci2iKf8XpDuLXJRMQre",
|
||||
"a91483c601cee58d9324d8797e04c360971a7222a25387",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"T9xQZ1QYhGyYp7wzRQuLdfm1te8BwrnvWsibt6GXuK58Xoq2wryN",
|
||||
"cdff0814191533898aa1e6291f2c77e1a1945a732f70b8f09aadc637e9241e59",
|
||||
"mgpyL2ueFkKYo8DigPfqi9mGaXhTpBfXFK",
|
||||
"76a9140e6079f1d5522fc3643b684854d2caeb9f80b79388ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"93C56vYXBM3XycR9M9pDNY333bTLT8KeqTpRXKSncruKpeuvfZ5",
|
||||
"d3849230c2d8bd3590708a8ff485deea6a73916a664255f95179282b146854fe",
|
||||
"2N75C1JVmQgdzwq7ovUqoW8aWZ1wodNCy84",
|
||||
"a91497abf24db1094d659b319fafbdb5995ffc6e5ff487",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"cV7TW5gn8yJjrVy4mfYLDY1tfYN7o81tjeubEeqWxzyjdcU7Bv9F",
|
||||
"e0af129330504deb99dd989339b96d77ce3782a852b8e61a4367394505abc3e0",
|
||||
"6vNcAgpwLv5NVF4yNTSoi9Jsp6gWURmEnYJKVuYMumdG38s83fh",
|
||||
"a4d20c8ade1d8af00ddb974c2f26207b21054d4a1f61c0615ca01a6b97ce7a28",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -203,8 +203,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"LVcGHJcTv1ctR6GLRXxR4SQSsycdmQ6pwZ",
|
||||
"71e9734a1283f2368bbd5a397d3c7a22610b2958",
|
||||
"T4Fe1n9xDKUHWVFNqcM9z6GwoQeDm53xBqjtf1jgp1tKVJsLZHnv",
|
||||
"23d630aec25b8a1dcaddd2b02e1eae7a37e105d9b7e8201b697e99f11e23b05a",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -212,8 +212,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"35CcFdsWEiXv4cuHjR8G54FYvrrDtm4WUm",
|
||||
"268118c8299cd5d8d3b9561caaf8c94d4bd1af44",
|
||||
"927W7aK3WFBvh4DQrC3rt7h9MyDTAysFkVtya7bFfmEmvQEHEQz",
|
||||
"4572a355117fa704d8706ab21c0cae21624a563f36644f1363f101294f939906",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -221,8 +221,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"myWBvpVEeY86YvJLb5kwH2iWbdXPGjTtZk",
|
||||
"c54d3aa920e78e56b72c0076d36e99bc87058397",
|
||||
"cULmtisjsoJ6tavY7sNYCcFc7GvU9PzaXdpm4yRpwH7VyVxFPx97",
|
||||
"c9b2817ef47867ffa958cb8ecae6388ea7d4b6a72c85f97b15d555c9d2d70464",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -230,40 +230,40 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"2N54Ew2vPqzA9PxG89rB1LM8MVfgePiCKqV",
|
||||
"818db8c869c5911d286d37088de9020cca43f702",
|
||||
"LbCdD5HhF8mtzqpAhAL44hRUpVXGthe3wv",
|
||||
"76a914af41b0e60bddd25fd0986c061d2c38dc8d92f23d88ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"6uM1BTu9jkS6cMfFTtxzutmcNQYVpTome57XhxES6xKiiN7eM4v",
|
||||
"1d7bee7a5f4be2bcd945a4bdce28a479bb1afcf4d925d29de0124325bb55277d",
|
||||
"3JeorZ28ejxcnfB5ideySCCnvuKrRMSrRD",
|
||||
"a914ba0f3b5ba0efb58cda3e55f13b18462c971e6df987",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"T6gDa2FYoYuCDpeJy8ePrdTVqxxvZ9H5nCqmdVCiRvLBWr1jymE9",
|
||||
"6c27d6190e8c49919b7c0919d1ca1b033c2b72b03234728d0b092087983f2544",
|
||||
"n3cBcftzi5PyYRCaqjnHB9LS9C1r8AUKtT",
|
||||
"76a914f24ff783c81d1bbeca87b10e3e63300952ce644088ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"91epwsbfDsLwAum2kYeibW9v3cyM9ALeHxFoR1wh7g8w58gihCj",
|
||||
"08e0d6cf0999a1427830e034b5281c8112d707d463da05d993d8b2b66985d91f",
|
||||
"2MwSJjJUSxjh6C57PcQDqbVWR8mCSsbhfG9",
|
||||
"a9142df90970f496d9e6e165a69dacd1417f082c5cf587",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"cTNjHC1zu7CifxVJ7g9V16LKVokd7D1XuEvqTtA88uwTsRUFXmWj",
|
||||
"acdd979c5e6eb9e619dfede5c7112af1057442c8799c1e1d85d7bf59892c923a",
|
||||
"6vof9cxLQzMQUA3GdMY7RPyN8v2uxGeYsvVBrJ2Csurini4gtiV",
|
||||
"ddb3e9ec9271fb4ccf1a0782e87724359730f8c621698ede6a8a33a1b9bb0a46",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -271,8 +271,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"LPD8ZwGjE4WmQ1EEnjZHrvofSyvGtbEWsH",
|
||||
"2bb8b0991f396d7f411c2227af00cc09d1ae0adf",
|
||||
"T7ZjgRCVmxcnffbXoJgzXfPUfUHUvQz5KUDz188ufR8jCQepDwXt",
|
||||
"86a8b4cb9cabbe39f870b65cb9f7e59b4ae9ce0419dab18cf8bcd29a9575871d",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -280,8 +280,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"35Bjf3NUkU6CNqUFB4HnkaYqN3VPMYwUED",
|
||||
"2656dc6ac50a5bdeb80348b9097af31e74698f44",
|
||||
"92sia8ejeCaQ6gKmuraWqpUmv3S6qroQeAsc2nfQZrAiDMnyCQp",
|
||||
"a9d7c81a8a30cde427c3c530c024e59fbe80a57d55960fffe9948e4366c02ac9",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -289,8 +289,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"mhv2Ti1xy9CsWoYgnEjehEunbhFiyFwLAp",
|
||||
"1a4d4bf230aabafd3a425770b8b98700bf06e370",
|
||||
"92sia8ejeCaQ6gKmuraWqpUmv3S6qroQeAsc2nfQZrAiDMnyCQp",
|
||||
"a9d7c81a8a30cde427c3c530c024e59fbe80a57d55960fffe9948e4366c02ac9",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -298,8 +298,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"2MwyQVPME89pGMxuX3fRwEgfXtgN1Y1wB7e",
|
||||
"33dabd6dfda94c9c1ef1654a3c3b1e0984a7aecf",
|
||||
"cQQ6SPSVoyTBUdstHJJF9YuCLUxfKLnnVAuwfQeREsnmLeTdrSRp",
|
||||
"540e35fab67b2ff9c6fef795ba0da1114705721bcb387ee93f9c09412d2b3ab5",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -307,40 +307,40 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"6uqTHcTC88EcZ8RQJDoH7dFfH46E8ZNpThbEKXCiQ12ag2GeHQ7",
|
||||
"5e15635f0be1e9717529fb2b65b0d430355f0f5db5811b47fc6545efbe082b23",
|
||||
"LXbHo4W9BDZYwv6v9x57kLZ2r9YNyqBgWA",
|
||||
"76a91487aa8c8a26a6cc0c7a7d438e61bfa49a33e9cbab88ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"T34vLND26MHR4j1L8qsmojWcHtwYcmDdibMrsgo41SRYDDDdJzQe",
|
||||
"007c379af039e5472c784a1f41ccea5de8b8d6fde03139644f12294a5a4dc20d",
|
||||
"3JDygZLWw2YBo7RhhJFQrVsGnsDHMghUTJ",
|
||||
"a914b55d095bc6c28b86d87b313442aa3ee454e49cce87",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"932VXf7wK3qQTGzudkeHWME2iweTTdyfyxQV4HqWLZsocbVQMgZ",
|
||||
"bdc494c6c492168886d7d19fe35c4e67c477f8e19bfe1b50a4b28a7f0910ac02",
|
||||
"moJfnqA4SviQhxStcqR4PFvCU2bjYEx873",
|
||||
"76a914556e3cee7b8d470f5c3f507c4c54781cfc179ea688ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"cUNY2YHa2TZRNMKBjypnZ1kh7LnPzgBhapKQgqh8MXGGVQTqdqQS",
|
||||
"ca9a6a553f353255f2d91fde1718bd1f86c40c0b16f2aaccf8efefe242f5a7b6",
|
||||
"2N1ihb5sKJAM9y2McELzcg7p6Wf2rj9sedy",
|
||||
"a9145cf346cd43ff078ca1d8dc62e39207470e2a496b87",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"LPGeGFBPCVLHdGVD1i1oikzD92XZoTEVyh",
|
||||
"2c62b9d0c13b499167506863248f473416b18850",
|
||||
"6vwfYtMbBhF5Pn9yUHHP4GcW274C9bK8UgCvCMgCGmCdfwSND4p",
|
||||
"efe22b1f976043089a51deff8d0b8c3df2b23748f4d0eadb6641503637c63869",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -348,8 +348,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"37h7vEB4v3jpqxKvX1qqJ5xZaqzLj7NPyN",
|
||||
"41d5c23a8188270b32d0afce2e11e4c3028afe6b",
|
||||
"T6UPi92VfnBy24YJnkPthhpstCrUA1tLkbLud5tk9nEwoXqTQkZZ",
|
||||
"661281d55763ba511ced34e909a99d0926daddbeb3109644937061b6cf913782",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -357,8 +357,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"mhvk8vH4LaAgUBUJsU4UtL4KSWLavssToW",
|
||||
"1a701609b7d938f932d9517f965eb938ec45d067",
|
||||
"92ZmYqEbmGrKfHp1usJrj5qAYnwvFihby1XYL82riva5EZhuvjj",
|
||||
"8116986e76487416346994d08b5248622471e2836943f695d7351868f520ba6b",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -366,8 +366,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"2NBbbBFBoKk85mhvTJH4tc11U1zh4oqp7SG",
|
||||
"c94c4561b8ec99cddd540dedc67380c6b859ae00",
|
||||
"cUAXZmhBU724DznSwsZnqjhixqrkqwXXWCGAZcJkBXdgPuBi4CZd",
|
||||
"c46d03a638e031a5a0d025bac050875f5c79bef6d47b377ab5eff92563549e7b",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -375,40 +375,40 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"6vQqYTYdTXyHLcAivoZ6N2pginHXkZj9DF8uu9rroj5jT32joQn",
|
||||
"a9e2a8019c11e6fd215f5c2ae834c7f07207723cac79b4e22744800c97212ac1",
|
||||
"LiRGLiaD9yaUNZbe9GKptX5PybiQZzioED",
|
||||
"76a914fe6e8f1ff538103ede6451c57d5dcbeaf376821d88ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"T7qqfYACj4bdqNMm9ZMMNtbaMXRzePBpL59msQiWw7i5JRuDLFVB",
|
||||
"8ef16edbbc8996a1be1c8a8d7de566a489a84484912060471158c0d20fcd42ba",
|
||||
"31jGHN3LcY7TwWKqVdcfnPGH44aH3KraGB",
|
||||
"a914006cd1745e13749236c7064614d93d4650a79e4887",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"91pvMZgXhzBit7xx2NrbgMiuVZJep46gTCdvFkQTijTA76Gzxfc",
|
||||
"1fcbd613ad91f41e062a66b11299585cff1639775df447360e74fbeea1e336c8",
|
||||
"mfkrC62Px74E6mpQS137ecE6c3A7LzFMV7",
|
||||
"76a91402a0baa2a00912fa6b7db5ec66f64ad3dafe650988ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"cVWTK7AxBVgndSKS6Xs54XonuEh4NUhaHVtyzrWhHfQ2rLWdVrNy",
|
||||
"ec83a732c245dc6df111d6412aa1b2ed78072ae3ebaa499660ccb7f013adca8f",
|
||||
"2NAsiEa8cV97iyHhtfavP4t4TUqyEfT4vWf",
|
||||
"a914c160b11a8a042e801487f9f0c13be0246adff58687",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "test"
|
||||
}
|
||||
],
|
||||
[
|
||||
"LhLu7S8qdG7YZR1GgSP8g4aqN8nXCRLkzX",
|
||||
"f2a30c60e4abcbbdcdf7cb34520b742ae07b6018",
|
||||
"6vRJaVegzBxTXdgGEimmmSsEv1CLdAgfpaHsZbXUxkPfm9H8U7X",
|
||||
"aaf19a8a8eacca26b2ec3678e47ee22a04fc1efac61bcd2a41af332be63bab8b",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -416,8 +416,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"3B7BZ4asi1qP4jQmo4UjshAp4ZtgmpA7CW",
|
||||
"674b274f2be5747793d2529972d964f1cfe9f985",
|
||||
"T7LHhPHG4mno7XPvBXajDrA5v2nLVSw16sTErD9y6Yki3bGTuHgf",
|
||||
"7fbda89e59e07db5897cabfde8eb8036d4bebdfddfeac97319e74c74c02799f2",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -425,8 +425,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"93N87D6uxSBzwXvpokpzg8FFmfQPmvX4xHoWQe3pLdYpbiwT5YV",
|
||||
"ea577acfb5d1d14d3b7b195c321566f12f87d2b77ea3a53f68df7ebf8604a801",
|
||||
"93VwGxfztHBcUefSWA3JMzKsr6Jg4atmZdKvi1MXTgB9HLypXry",
|
||||
"fc1528167b31735464059aef58cf71b501eaa146bae7e47f406c61f7ac28555c",
|
||||
{
|
||||
"isCompressed": false,
|
||||
"isPrivkey": true,
|
||||
@ -434,8 +434,8 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"cMxXusSihaX58wpJ3tNuuUcZEQGt6DKJ1wEpxys88FFaQCYjku9h",
|
||||
"0b3b34f0958d8a268193a9814da92c3e8b58b4a4378a542863e34ac289cd830c",
|
||||
"cW8HPuCThQ4EsLEU8S6Gborp7NfwXDc2uh2Aua83kmhjqN8GzEVk",
|
||||
"fef231a9299de5b2d3ea012cd2471bdc80d38e489f5f4a7803ac3279a7d727a9",
|
||||
{
|
||||
"isCompressed": true,
|
||||
"isPrivkey": true,
|
||||
@ -443,23 +443,23 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"13p1ijLwsnrcuyqcTvJXkq2ASdXqcnEBLE",
|
||||
"76a9141ed467017f043e91ed4c44b4e8dd674db211c4e688ac",
|
||||
"LeZc1mA2SgaNTJ4WE8pKegNKbZekqovqvK",
|
||||
"76a914d421ce551279f3fdfb6e4f7390b06516c3daaaa288ac",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G",
|
||||
"a9145ece0cadddc415b1980f001785947120acdb36fc87",
|
||||
"31owTMbdP5CGappffhFA1unRVCsdpwKuWF",
|
||||
"a914014f2e7072e9907c7f636d937759b8ceb1053feb87",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
"chain": "main"
|
||||
}
|
||||
],
|
||||
[
|
||||
"bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4",
|
||||
"ltc1qw508d6qejxtdg4y5r3zarvary0c5xw7kgmn4n9",
|
||||
"0014751e76e8199196d454941c45d1b3a323f1433bd6",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
@ -468,7 +468,7 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"bcrt1qw508d6qejxtdg4y5r3zarvary0c5xw7kygt080",
|
||||
"rltc1qw508d6qejxtdg4y5r3zarvary0c5xw7k693xs3",
|
||||
"0014751e76e8199196d454941c45d1b3a323f1433bd6",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
@ -477,7 +477,7 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7",
|
||||
"tltc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qsnr4fp",
|
||||
"00201863143c14c5166804bd19203356da136c985678cd4d27a1b8c6329604903262",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
@ -486,7 +486,7 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k7grplx",
|
||||
"ltc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k0tul4w",
|
||||
"5128751e76e8199196d454941c45d1b3a323f1433bd6751e76e8199196d454941c45d1b3a323f1433bd6",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
@ -495,7 +495,7 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"bc1sw50qa3jx3s",
|
||||
"ltc1sw50qzgydf5",
|
||||
"6002751e",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
@ -504,7 +504,7 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"bc1zw508d6qejxtdg4y5r3zarvaryvg6kdaj",
|
||||
"ltc1zw508d6qejxtdg4y5r3zarvaryvdzur3w",
|
||||
"5210751e76e8199196d454941c45d1b3a323",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
@ -513,7 +513,7 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"tb1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy",
|
||||
"tltc1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesu9tmgm",
|
||||
"0020000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e86433",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
@ -522,7 +522,7 @@
|
||||
}
|
||||
],
|
||||
[
|
||||
"bcrt1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvseswlauz7",
|
||||
"rltc1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesxuhrdn",
|
||||
"0020000000c4a5cad46221b2a187905e5266362b99d5e91c6ce24d165dab93e86433",
|
||||
{
|
||||
"isPrivkey": false,
|
||||
@ -530,4 +530,4 @@
|
||||
"tryCaseFlip": true
|
||||
}
|
||||
]
|
||||
]
|
||||
]
|
||||
@ -112,29 +112,29 @@ BOOST_FIXTURE_TEST_SUITE(descriptor_tests, BasicTestingSetup)
|
||||
BOOST_AUTO_TEST_CASE(descriptor_test)
|
||||
{
|
||||
// Basic single-key compressed
|
||||
Check("combo(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", "combo(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", SIGNABLE, {{"2103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bdac","76a9149a1c78a507689f6f54b847ad1cef1e614ee23f1e88ac","00149a1c78a507689f6f54b847ad1cef1e614ee23f1e","a91484ab21b1b2fd065d4504ff693d832434b6108d7b87"}});
|
||||
Check("pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", "pk(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", SIGNABLE, {{"2103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bdac"}});
|
||||
Check("pkh(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", "pkh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", SIGNABLE, {{"76a9149a1c78a507689f6f54b847ad1cef1e614ee23f1e88ac"}});
|
||||
Check("wpkh(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", "wpkh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", SIGNABLE, {{"00149a1c78a507689f6f54b847ad1cef1e614ee23f1e"}});
|
||||
Check("sh(wpkh(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1))", "sh(wpkh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd))", SIGNABLE, {{"a91484ab21b1b2fd065d4504ff693d832434b6108d7b87"}});
|
||||
Check("combo(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)", "combo(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)", SIGNABLE, {{"2102a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cac","76a9140c13eca58177d726d65b8556f351d081b1103bf088ac","00140c13eca58177d726d65b8556f351d081b1103bf0","a9147bdb0f7aa46efb97e699cef65234d80481fab37287"}});
|
||||
Check("pk(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)", "pk(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)", SIGNABLE, {{"2102a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cac"}});
|
||||
Check("pkh(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)", "pkh(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)", SIGNABLE, {{"76a9140c13eca58177d726d65b8556f351d081b1103bf088ac"}});
|
||||
Check("wpkh(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)", "wpkh(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)", SIGNABLE, {{"00140c13eca58177d726d65b8556f351d081b1103bf0"}});
|
||||
Check("sh(wpkh(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte))", "sh(wpkh(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c))", SIGNABLE, {{"a9147bdb0f7aa46efb97e699cef65234d80481fab37287"}});
|
||||
|
||||
// Basic single-key uncompressed
|
||||
Check("combo(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", "combo(04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", SIGNABLE, {{"4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235ac","76a914b5bd079c4d57cc7fc28ecf8213a6b791625b818388ac"}});
|
||||
Check("pk(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", "pk(04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", SIGNABLE, {{"4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235ac"}});
|
||||
Check("pkh(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", "pkh(04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", SIGNABLE, {{"76a914b5bd079c4d57cc7fc28ecf8213a6b791625b818388ac"}});
|
||||
CheckUnparsable("wpkh(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", "wpkh(04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)"); // No uncompressed keys in witness
|
||||
CheckUnparsable("wsh(pk(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss))", "wsh(pk(04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235))"); // No uncompressed keys in witness
|
||||
CheckUnparsable("sh(wpkh(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss))", "sh(wpkh(04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235))"); // No uncompressed keys in witness
|
||||
|
||||
Check("combo(6uWuTLr7s7iTXhh3semxLf3w4BxzpXbwzbrYzHENHCbeWiqiD9S)", "combo(04a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c1762)", SIGNABLE, {{"4104a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c1762ac","76a91419c13841a49884bd124fed9f4e036ec2462403fd88ac"}});
|
||||
Check("pk(6uWuTLr7s7iTXhh3semxLf3w4BxzpXbwzbrYzHENHCbeWiqiD9S)", "pk(04a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c1762)", SIGNABLE, {{"4104a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c1762ac"}});
|
||||
Check("pkh(6uWuTLr7s7iTXhh3semxLf3w4BxzpXbwzbrYzHENHCbeWiqiD9S)", "pkh(04a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c1762)", SIGNABLE, {{"76a91419c13841a49884bd124fed9f4e036ec2462403fd88ac"}});
|
||||
CheckUnparsable("wpkh(6uWuTLr7s7iTXhh3semxLf3w4BxzpXbwzbrYzHENHCbeWiqiD9S)", "wpkh(04a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c1762)"); // No uncompressed keys in witness
|
||||
CheckUnparsable("wsh(pk(6uWuTLr7s7iTXhh3semxLf3w4BxzpXbwzbrYzHENHCbeWiqiD9S))", "wsh(pk(04a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c1762))"); // No uncompressed keys in witness
|
||||
CheckUnparsable("sh(wpkh(6uWuTLr7s7iTXhh3semxLf3w4BxzpXbwzbrYzHENHCbeWiqiD9S))", "sh(wpkh(04a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c1762))"); // No uncompressed keys in witness
|
||||
|
||||
// Some unconventional single-key constructions
|
||||
Check("sh(pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1))", "sh(pk(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd))", SIGNABLE, {{"a9141857af51a5e516552b3086430fd8ce55f7c1a52487"}});
|
||||
Check("sh(pkh(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1))", "sh(pkh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd))", SIGNABLE, {{"a9141a31ad23bf49c247dd531a623c2ef57da3c400c587"}});
|
||||
Check("wsh(pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1))", "wsh(pk(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd))", SIGNABLE, {{"00202e271faa2325c199d25d22e1ead982e45b64eeb4f31e73dbdf41bd4b5fec23fa"}});
|
||||
Check("wsh(pkh(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1))", "wsh(pkh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd))", SIGNABLE, {{"0020338e023079b91c58571b20e602d7805fb808c22473cbc391a41b1bd3a192e75b"}});
|
||||
Check("sh(wsh(pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)))", "sh(wsh(pk(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)))", SIGNABLE, {{"a91472d0c5a3bfad8c3e7bd5303a72b94240e80b6f1787"}});
|
||||
Check("sh(wsh(pkh(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)))", "sh(wsh(pkh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)))", SIGNABLE, {{"a914b61b92e2ca21bac1e72a3ab859a742982bea960a87"}});
|
||||
|
||||
// Versions with BIP32 derivations
|
||||
Check("sh(pk(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte))", "sh(pk(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c))", SIGNABLE, {{"a914de92af19990cd11b293afd89b9d1985fa0b8166f87"}});
|
||||
Check("sh(pkh(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte))", "sh(pkh(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c))", SIGNABLE, {{"a91401c62701a59dea1cf6d8b834a994f77575df782487"}});
|
||||
Check("wsh(pk(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte))", "wsh(pk(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c))", SIGNABLE, {{"0020f971e2b302ee0977ddb08d4150e50acabda3f53478fbd474a866b616ce041868"}});
|
||||
Check("wsh(pkh(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte))", "wsh(pkh(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c))", SIGNABLE, {{"002099dba00720686a1275aae85494e4eafc1744ba11d4eb6059e83e383e49fe7274"}});
|
||||
Check("sh(wsh(pk(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)))", "sh(wsh(pk(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)))", SIGNABLE, {{"a914bd45baff235b772370d6265d268b1ddb08917b0e87"}});
|
||||
Check("sh(wsh(pkh(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)))", "sh(wsh(pkh(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)))", SIGNABLE, {{"a914c36470aa22c4026cf75d377d3611f86225f7676c87"}});
|
||||
|
||||
// Versions with BIP32 derivations
|
||||
Check("combo(xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3xz7iAxn8L39njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc)", "combo(xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)", SIGNABLE, {{"2102d2b36900396c9282fa14628566582f206a5dd0bcc8d5e892611806cafb0301f0ac","76a91431a507b815593dfc51ffc7245ae7e5aee304246e88ac","001431a507b815593dfc51ffc7245ae7e5aee304246e","a9142aafb926eb247cb18240a7f4c07983ad1f37922687"}});
|
||||
Check("pk(xprv9uPDJpEQgRQfDcW7BkF7eTya6RPxXeJCqCJGHuCJ4GiRVLzkTXBAJMu2qaMWPrS7AANYqdq6vcBcBUdJCVVFceUvJFjaPdGZ2y9WACViL4L/0)", "pk(xpub68NZiKmJWnxxS6aaHmn81bvJeTESw724CRDs6HbuccFQN9Ku14VQrADWgqbhhTHBaohPX4CjNLf9fq9MYo6oDaPPLPxSb7gwQN3ih19Zm4Y/0)", DEFAULT, {{"210379e45b3cf75f9c5f9befd8e9506fb962f6a9d185ac87001ec44a8d3df8d4a9e3ac"}});
|
||||
Check("pkh(xprv9s21ZrQH143K31xYSDQpPDxsXRTUcvj2iNHm5NUtrGiGG5e2DtALGdso3pGz6ssrdK4PFmM8NSpSBHNqPqm55Qn3LqFtT2emdEXVYsCzC2U/2147483647'/0)", "pkh(xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB/2147483647'/0)", HARDENED, {{"76a914ebdc90806a9c4356c1c88e42216611e1cb4c1c1788ac"}});
|
||||
@ -143,21 +143,21 @@ BOOST_AUTO_TEST_CASE(descriptor_test)
|
||||
Check("combo(xprvA2JDeKCSNNZky6uBCviVfJSKyQ1mDYahRjijr5idH2WwLsEd4Hsb2Tyh8RfQMuPh7f7RtyzTtdrbdqqsunu5Mm3wDvUAKRHSC34sJ7in334/*)", "combo(xpub6FHa3pjLCk84BayeJxFW2SP4XRrFd1JYnxeLeU8EqN3vDfZmbqBqaGJAyiLjTAwm6ZLRQUMv1ZACTj37sR62cfN7fe5JnJ7dh8zL4fiyLHV/*)", RANGE, {{"2102df12b7035bdac8e3bab862a3a83d06ea6b17b6753d52edecba9be46f5d09e076ac","76a914f90e3178ca25f2c808dc76624032d352fdbdfaf288ac","0014f90e3178ca25f2c808dc76624032d352fdbdfaf2","a91408f3ea8c68d4a7585bf9e8bda226723f70e445f087"},{"21032869a233c9adff9a994e4966e5b821fd5bac066da6c3112488dc52383b4a98ecac","76a914a8409d1b6dfb1ed2a3e8aa5e0ef2ff26b15b75b788ac","0014a8409d1b6dfb1ed2a3e8aa5e0ef2ff26b15b75b7","a91473e39884cb71ae4e5ac9739e9225026c99763e6687"}});
|
||||
CheckUnparsable("pkh(xprv9s21ZrQH143K31xYSDQpPDxsXRTUcvj2iNHm5NUtrGiGG5e2DtALGdso3pGz6ssrdK4PFmM8NSpSBHNqPqm55Qn3LqFtT2emdEXVYsCzC2U/2147483648)", "pkh(xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB/2147483648)"); // BIP 32 path element overflow
|
||||
|
||||
// Multisig constructions
|
||||
Check("multi(1,L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1,5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", "multi(1,03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd,04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", SIGNABLE, {{"512103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea23552ae"}});
|
||||
// Multisig constructions
|
||||
Check("multi(1,T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte,6uWuTLr7s7iTXhh3semxLf3w4BxzpXbwzbrYzHENHCbeWiqiD9S)", "multi(1,02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c,04a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c1762)", SIGNABLE, {{"512102a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c4104a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8cf2858b37e9ef7162964cfaf304f859350af59745166f1a9345916c7ba43c176252ae"}});
|
||||
Check("sh(multi(2,xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3xz7iAxn8L39njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc,xprv9uPDJpEQgRQfDcW7BkF7eTya6RPxXeJCqCJGHuCJ4GiRVLzkTXBAJMu2qaMWPrS7AANYqdq6vcBcBUdJCVVFceUvJFjaPdGZ2y9WACViL4L/0))", "sh(multi(2,xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL,xpub68NZiKmJWnxxS6aaHmn81bvJeTESw724CRDs6HbuccFQN9Ku14VQrADWgqbhhTHBaohPX4CjNLf9fq9MYo6oDaPPLPxSb7gwQN3ih19Zm4Y/0))", DEFAULT, {{"a91445a9a622a8b0a1269944be477640eedc447bbd8487"}});
|
||||
Check("wsh(multi(2,xprv9s21ZrQH143K31xYSDQpPDxsXRTUcvj2iNHm5NUtrGiGG5e2DtALGdso3pGz6ssrdK4PFmM8NSpSBHNqPqm55Qn3LqFtT2emdEXVYsCzC2U/2147483647'/0,xprv9vHkqa6EV4sPZHYqZznhT2NPtPCjKuDKGY38FBWLvgaDx45zo9WQRUT3dKYnjwih2yJD9mkrocEZXo1ex8G81dwSM1fwqWpWkeS3v86pgKt/1/2/*,xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi/10/20/30/40/*'))", "wsh(multi(2,xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB/2147483647'/0,xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH/1/2/*,xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8/10/20/30/40/*'))", HARDENED | RANGE, {{"0020b92623201f3bb7c3771d45b2ad1d0351ea8fbf8cfe0a0e570264e1075fa1948f"},{"002036a08bbe4923af41cf4316817c93b8d37e2f635dd25cfff06bd50df6ae7ea203"},{"0020a96e7ab4607ca6b261bfe3245ffda9c746b28d3f59e83d34820ec0e2b36c139c"}});
|
||||
Check("sh(wsh(multi(16,KzoAz5CanayRKex3fSLQ2BwJpN7U52gZvxMyk78nDMHuqrUxuSJy,KwGNz6YCCQtYvFzMtrC6D3tKTKdBBboMrLTsjr2NYVBwapCkn7Mr,KxogYhiNfwxuswvXV66eFyKcCpm7dZ7TqHVqujHAVUjJxyivxQ9X,L2BUNduTSyZwZjwNHynQTF14mv2uz2NRq5n5sYWTb4FkkmqgEE9f,L1okJGHGn1kFjdXHKxXjwVVtmCMR2JA5QsbKCSpSb7ReQjezKeoD,KxDCNSST75HFPaW5QKpzHtAyaCQC7p9Vo3FYfi2u4dXD1vgMiboK,L5edQjFtnkcf5UWURn6UuuoFrabgDQUHdheKCziwN42aLwS3KizU,KzF8UWFcEC7BYTq8Go1xVimMkDmyNYVmXV5PV7RuDicvAocoPB8i,L3nHUboKG2w4VSJ5jYZ5CBM97oeK6YuKvfZxrefdShECcjEYKMWZ,KyjHo36dWkYhimKmVVmQTq3gERv3pnqA4xFCpvUgbGDJad7eS8WE,KwsfyHKRUTZPQtysN7M3tZ4GXTnuov5XRgjdF2XCG8faAPmFruRF,KzCUbGhN9LJhdeFfL9zQgTJMjqxdBKEekRGZX24hXdgCNCijkkap,KzgpMBwwsDLwkaC5UrmBgCYaBD2WgZ7PBoGYXR8KT7gCA9UTN5a3,KyBXTPy4T7YG4q9tcAM3LkvfRpD1ybHMvcJ2ehaWXaSqeGUxEdkP,KzJDe9iwJRPtKP2F2AoN6zBgzS7uiuAwhWCfGdNeYJ3PC1HNJ8M8,L1xbHrxynrqLKkoYc4qtoQPx6uy5qYXR5ZDYVYBSRmCV5piU3JG9)))","sh(wsh(multi(16,03669b8afcec803a0d323e9a17f3ea8e68e8abe5a278020a929adbec52421adbd0,0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce600,0362a74e399c39ed5593852a30147f2959b56bb827dfa3e60e464b02ccf87dc5e8,0261345b53de74a4d721ef877c255429961b7e43714171ac06168d7e08c542a8b8,02da72e8b46901a65d4374fe6315538d8f368557dda3a1dcf9ea903f3afe7314c8,0318c82dd0b53fd3a932d16e0ba9e278fcc937c582d5781be626ff16e201f72286,0297ccef1ef99f9d73dec9ad37476ddb232f1238aff877af19e72ba04493361009,02e502cfd5c3f972fe9a3e2a18827820638f96b6f347e54d63deb839011fd5765d,03e687710f0e3ebe81c1037074da939d409c0025f17eb86adb9427d28f0f7ae0e9,02c04d3a5274952acdbc76987f3184b346a483d43be40874624b29e3692c1df5af,02ed06e0f418b5b43a7ec01d1d7d27290fa15f75771cb69b642a51471c29c84acd,036d46073cbb9ffee90473f3da429abc8de7f8751199da44485682a989a4bebb24,02f5d1ff7c9029a80a4e36b9a5497027ef7f3e73384a4a94fbfe7c4e9164eec8bc,02e41deffd1b7cce11cde209a781adcffdabd1b91c0ba0375857a2bfd9302419f3,02d76625f7956a7fc505ab02556c23ee72d832f1bac391bcd2d3abce5710a13d06,0399eb0a5487515802dc14544cf10b3666623762fbed2ec38a3975716e2c29c232)))", SIGNABLE, {{"a9147fc63e13dc25e8a95a3cee3d9a714ac3afd96f1e87"}});
|
||||
CheckUnparsable("sh(multi(16,KzoAz5CanayRKex3fSLQ2BwJpN7U52gZvxMyk78nDMHuqrUxuSJy,KwGNz6YCCQtYvFzMtrC6D3tKTKdBBboMrLTsjr2NYVBwapCkn7Mr,KxogYhiNfwxuswvXV66eFyKcCpm7dZ7TqHVqujHAVUjJxyivxQ9X,L2BUNduTSyZwZjwNHynQTF14mv2uz2NRq5n5sYWTb4FkkmqgEE9f,L1okJGHGn1kFjdXHKxXjwVVtmCMR2JA5QsbKCSpSb7ReQjezKeoD,KxDCNSST75HFPaW5QKpzHtAyaCQC7p9Vo3FYfi2u4dXD1vgMiboK,L5edQjFtnkcf5UWURn6UuuoFrabgDQUHdheKCziwN42aLwS3KizU,KzF8UWFcEC7BYTq8Go1xVimMkDmyNYVmXV5PV7RuDicvAocoPB8i,L3nHUboKG2w4VSJ5jYZ5CBM97oeK6YuKvfZxrefdShECcjEYKMWZ,KyjHo36dWkYhimKmVVmQTq3gERv3pnqA4xFCpvUgbGDJad7eS8WE,KwsfyHKRUTZPQtysN7M3tZ4GXTnuov5XRgjdF2XCG8faAPmFruRF,KzCUbGhN9LJhdeFfL9zQgTJMjqxdBKEekRGZX24hXdgCNCijkkap,KzgpMBwwsDLwkaC5UrmBgCYaBD2WgZ7PBoGYXR8KT7gCA9UTN5a3,KyBXTPy4T7YG4q9tcAM3LkvfRpD1ybHMvcJ2ehaWXaSqeGUxEdkP,KzJDe9iwJRPtKP2F2AoN6zBgzS7uiuAwhWCfGdNeYJ3PC1HNJ8M8,L1xbHrxynrqLKkoYc4qtoQPx6uy5qYXR5ZDYVYBSRmCV5piU3JG9))","sh(multi(16,03669b8afcec803a0d323e9a17f3ea8e68e8abe5a278020a929adbec52421adbd0,0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce600,0362a74e399c39ed5593852a30147f2959b56bb827dfa3e60e464b02ccf87dc5e8,0261345b53de74a4d721ef877c255429961b7e43714171ac06168d7e08c542a8b8,02da72e8b46901a65d4374fe6315538d8f368557dda3a1dcf9ea903f3afe7314c8,0318c82dd0b53fd3a932d16e0ba9e278fcc937c582d5781be626ff16e201f72286,0297ccef1ef99f9d73dec9ad37476ddb232f1238aff877af19e72ba04493361009,02e502cfd5c3f972fe9a3e2a18827820638f96b6f347e54d63deb839011fd5765d,03e687710f0e3ebe81c1037074da939d409c0025f17eb86adb9427d28f0f7ae0e9,02c04d3a5274952acdbc76987f3184b346a483d43be40874624b29e3692c1df5af,02ed06e0f418b5b43a7ec01d1d7d27290fa15f75771cb69b642a51471c29c84acd,036d46073cbb9ffee90473f3da429abc8de7f8751199da44485682a989a4bebb24,02f5d1ff7c9029a80a4e36b9a5497027ef7f3e73384a4a94fbfe7c4e9164eec8bc,02e41deffd1b7cce11cde209a781adcffdabd1b91c0ba0375857a2bfd9302419f3,02d76625f7956a7fc505ab02556c23ee72d832f1bac391bcd2d3abce5710a13d06,0399eb0a5487515802dc14544cf10b3666623762fbed2ec38a3975716e2c29c232))"); // P2SH does not fit 16 compressed pubkeys in a redeemscript
|
||||
|
||||
Check("sh(wsh(multi(16,TAf9F3b4zyzkypAZdxuANwTK7rQ1zZ1UANzLEoBmGpD62KFBya11,T6561bd1Rb3SmcPBAXuA1eBxjELeuJieSFtGAHCSxRkNcgQPm7z7,T6i9NKx85hkDcDJ5YMmZrhNreHaAcN56WrtzyHyxVsko1zbJRBdk,T3VcqHoFsbA6PAFtDS6P8LLWcmjWRduhEowHAMwaaVSCijzhQbQR,TBLPRzGYQ1xvN3rT7g9jvcmzQpXuRpFkRAaEQvVT1t7HqLwTFEB5,T8FCx3oLynpPkvMr1RKBJSEZCzkMudDrDCpGkFumK6S9MR5EzdPd,TAxZhPGg88xt3f7j9ZAppJvYQ8hek26Y3kijx7n13MCE9po6cK8s,TB2UddAb7JyPpXC6fathUhdchoSywt9C2uaEqMLaLr4dm3PQVVUi,T51c6PHXCYSA4kvLiDG6PWiRWKJFDwTMt1KRh4KhUyHUAT94ugYD,T6VnK1h7jrVmKiLuBwvh5mYzeP3PcgwTxxGTgpB96j1KeE6Qv4x2,T3qLuf78utL2TJMCgdhFCpqHozDN3zVMkS6e2FMyPPhbawG7KnWL,T6qqDEyaHaNbLRmeyQY9X4hyC4G3fMdxdyAG23XwiRRbyHpXkHDk,TA6EN8Lm7m7FDVcBxiaRBMkyd4wK4MNi4JWhWtktLAJVubRLC125,T6uo9ne56G3aDCYRk3DpTnZTph2QPKhEVKecSAEykHdDdz75akQ2,TBZ73tU5RYaVf6wyWLiXLhmF5Vcdzcy15KUnCXi8LjThaT3aPAod,T6iHVFsP9PHWMqkZNHjqGH5ZdySXBB6qtFVayy6dsnZkzYEPA1tZ)))","sh(wsh(multi(16,028efd34c41e28bb2cfea70611f81d05f10fc38f74f1293f290892f97cb5ebc2e2,02955a0848ac4f4d6a9335bae723652931959aff5c98352bd1c4fc7a1952f30820,035d767016855ea58a94ab5d1dd90f47396b647b31e31a130bada62e156c0a0602,02b34c46466f57a967850e4ab99b483990430011a4c618163cfbf1874a423fd91f,020bec74d47d3ff6de0dde6120bbe3f1df0d473ccf4f5b4d58b95d93a5f51d9ca0,036a2f831e3f57dfe5b1b096139e0d9d63cbfda585327658d9008969473a39e27e,028a06fe1b6521aa1dad38e0bfb5db526e9fbd5dcbd96629a05767116b763980de,03536e727875e0c63b993512d65941aeff9ec41aff2185c2623d959f03ff52a1a1,03e9027817347cb801baf6c94cdc884778f4a6c49de093bf9b9af057a62c29285f,025e0d8b108cd7cf32bbcb3f634823e713d39ccf55c88d9f2348e91e9e47e4b8ff,03ea735c72c0d0d398f23cd8e2ed9055b876a02cba8af809475c36ffc7159740ca,0289286273cb1da95c75b5ac64a39b293ec83e2c20b36b65318318885222cf4f42,026949f2ae270ac8795a232727daf4fb87808e280e4628ffa7c999425730ba2a23,02ff70b460fcc3c3ca88df3a408c5bd41a8114782699e543e8c5140be9366f5503,03fdd51fda82b2b2e5d5b4f8757810f071f1c6569b55ee18b73db168c22d6fa4e4,02a2d3cd71d0e342eabae548becd25256d508031c23a6fdfc39183c8b4dab9d611)))", SIGNABLE, {{"a914110bf0af71c7ab0f383d0fd89f13518a539c8aeb87"}});
|
||||
CheckUnparsable("sh(multi(16,TAf9F3b4zyzkypAZdxuANwTK7rQ1zZ1UANzLEoBmGpD62KFBya11,T6561bd1Rb3SmcPBAXuA1eBxjELeuJieSFtGAHCSxRkNcgQPm7z7,T6i9NKx85hkDcDJ5YMmZrhNreHaAcN56WrtzyHyxVsko1zbJRBdk,T3VcqHoFsbA6PAFtDS6P8LLWcmjWRduhEowHAMwaaVSCijzhQbQR,TBLPRzGYQ1xvN3rT7g9jvcmzQpXuRpFkRAaEQvVT1t7HqLwTFEB5,T8FCx3oLynpPkvMr1RKBJSEZCzkMudDrDCpGkFumK6S9MR5EzdPd,TAxZhPGg88xt3f7j9ZAppJvYQ8hek26Y3kijx7n13MCE9po6cK8s,TB2UddAb7JyPpXC6fathUhdchoSywt9C2uaEqMLaLr4dm3PQVVUi,T51c6PHXCYSA4kvLiDG6PWiRWKJFDwTMt1KRh4KhUyHUAT94ugYD,T6VnK1h7jrVmKiLuBwvh5mYzeP3PcgwTxxGTgpB96j1KeE6Qv4x2,T3qLuf78utL2TJMCgdhFCpqHozDN3zVMkS6e2FMyPPhbawG7KnWLs,T6qqDEyaHaNbLRmeyQY9X4hyC4G3fMdxdyAG23XwiRRbyHpXkHDk,TA6EN8Lm7m7FDVcBxiaRBMkyd4wK4MNi4JWhWtktLAJVubRLC125,T6uo9ne56G3aDCYRk3DpTnZTph2QPKhEVKecSAEykHdDdz75akQ2,TBZ73tU5RYaVf6wyWLiXLhmF5Vcdzcy15KUnCXi8LjThaT3aPAod,T6iHVFsP9PHWMqkZNHjqGH5ZdySXBB6qtFVayy6dsnZkzYEPA1tZ))","sh(multi(16,028efd34c41e28bb2cfea70611f81d05f10fc38f74f1293f290892f97cb5ebc2e2,02955a0848ac4f4d6a9335bae723652931959aff5c98352bd1c4fc7a1952f30820,035d767016855ea58a94ab5d1dd90f47396b647b31e31a130bada62e156c0a0602,02b34c46466f57a967850e4ab99b483990430011a4c618163cfbf1874a423fd91f,020bec74d47d3ff6de0dde6120bbe3f1df0d473ccf4f5b4d58b95d93a5f51d9ca0,036a2f831e3f57dfe5b1b096139e0d9d63cbfda585327658d9008969473a39e27e,028a06fe1b6521aa1dad38e0bfb5db526e9fbd5dcbd96629a05767116b763980de,03536e727875e0c63b993512d65941aeff9ec41aff2185c2623d959f03ff52a1a1,03e9027817347cb801baf6c94cdc884778f4a6c49de093bf9b9af057a62c29285f,025e0d8b108cd7cf32bbcb3f634823e713d39ccf55c88d9f2348e91e9e47e4b8ff,03ea735c72c0d0d398f23cd8e2ed9055b876a02cba8af809475c36ffc7159740ca,0289286273cb1da95c75b5ac64a39b293ec83e2c20b36b65318318885222cf4f42,026949f2ae270ac8795a232727daf4fb87808e280e4628ffa7c999425730ba2a23,02ff70b460fcc3c3ca88df3a408c5bd41a8114782699e543e8c5140be9366f5503,03fdd51fda82b2b2e5d5b4f8757810f071f1c6569b55ee18b73db168c22d6fa4e4,02a2d3cd71d0e342eabae548becd25256d508031c23a6fdfc39183c8b4dab9d611))"); // P2SH does not fit 16 compressed pubkeys in a redeemscript
|
||||
|
||||
// Check for invalid nesting of structures
|
||||
CheckUnparsable("sh(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", "sh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)"); // P2SH needs a script, not a key
|
||||
CheckUnparsable("sh(combo(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1))", "sh(combo(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd))"); // Old must be top level
|
||||
CheckUnparsable("wsh(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", "wsh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)"); // P2WSH needs a script, not a key
|
||||
CheckUnparsable("wsh(wpkh(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1))", "wsh(wpkh(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd))"); // Cannot embed witness inside witness
|
||||
CheckUnparsable("wsh(sh(pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)))", "wsh(sh(pk(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)))"); // Cannot embed P2SH inside P2WSH
|
||||
CheckUnparsable("sh(sh(pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)))", "sh(sh(pk(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)))"); // Cannot embed P2SH inside P2SH
|
||||
CheckUnparsable("wsh(wsh(pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)))", "wsh(wsh(pk(03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)))"); // Cannot embed P2WSH inside P2WSH
|
||||
CheckUnparsable("sh(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)", "sh(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)"); // P2SH needs a script, not a key
|
||||
CheckUnparsable("sh(combo(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte))", "sh(combo(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c))"); // Old must be top level
|
||||
CheckUnparsable("wsh(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)", "wsh(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)"); // P2WSH needs a script, not a key
|
||||
CheckUnparsable("wsh(wpkh(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte))", "wsh(wpkh(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c))"); // Cannot embed witness inside witness
|
||||
CheckUnparsable("wsh(sh(pk(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)))", "wsh(sh(pk(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)))"); // Cannot embed P2SH inside P2WSH
|
||||
CheckUnparsable("sh(sh(pk(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)))", "sh(sh(pk(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)))"); // Cannot embed P2SH inside P2SH
|
||||
CheckUnparsable("wsh(wsh(pk(T4nzXGboJCdz6WbmgZjRFkwwb5QACn5FjEqiBpdzvWBva3PMLwte)))", "wsh(wsh(pk(02a5e85e848c4107607d7b8522018d6dffa6b40aad853ae634f95cded666dd1d8c)))"); // Cannot embed P2WSH inside P2WSH
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#define BOOST_TEST_MODULE Bitcoin Test Suite
|
||||
#define BOOST_TEST_MODULE Litecoin Test Suite
|
||||
|
||||
#include <net.h>
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@ BOOST_AUTO_TEST_CASE(psbt_updater_test)
|
||||
m_wallet.AddCScript(ws1);
|
||||
|
||||
// Add hd seed
|
||||
CKey key = DecodeSecret("5KSSJQ7UNfFGwVgpCZDSHm5rVNhMFcFtvWM3zQ8mW4qNDEN7LFd"); // Mainnet and uncompressed form of cUkG8i1RFfWGWy5ziR11zJ5V4U4W3viSFCfyJmZnvQaUsd1xuF3T
|
||||
CKey key = DecodeSecret("6usgJoGKXW12i7Ruxy8Z1C5hrRMVGfLmi9NU9uDQJMPXDJ6tQAH"); // Mainnet and uncompressed form of cUkG8i1RFfWGWy5ziR11zJ5V4U4W3viSFCfyJmZnvQaUsd1xuF3T
|
||||
CPubKey master_pub_key = m_wallet.DeriveNewSeed(key);
|
||||
m_wallet.SetHDSeed(master_pub_key);
|
||||
m_wallet.NewKeyPool();
|
||||
@ -66,7 +66,7 @@ BOOST_AUTO_TEST_CASE(psbt_updater_test)
|
||||
CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
|
||||
ssTx << psbtx;
|
||||
std::string final_hex = HexStr(ssTx.begin(), ssTx.end());
|
||||
BOOST_CHECK_EQUAL(final_hex, "70736274ff01009a020000000258e87a21b56daf0c23be8e7070456c336f7cbaa5c8757924f545887bb2abdd750000000000ffffffff838d0427d0ec650a68aa46bb0b098aea4422c071b2ca78352a077959d07cea1d0100000000ffffffff0270aaf00800000000160014d85c2b71d0060b09c9886aeb815e50991dda124d00e1f5050000000016001400aea9a2e5f0f876a588df5546e8742d1d87008f00000000000100bb0200000001aad73931018bd25f84ae400b68848be09db706eac2ac18298babee71ab656f8b0000000048473044022058f6fc7c6a33e1b31548d481c826c015bd30135aad42cd67790dab66d2ad243b02204a1ced2604c6735b6393e5b41691dd78b00f0c5942fb9f751856faa938157dba01feffffff0280f0fa020000000017a9140fb9463421696b82c833af241c78c17ddbde493487d0f20a270100000017a91429ca74f8a08f81999428185c97b5d852e4063f6187650000000104475221029583bf39ae0a609747ad199addd634fa6108559d6c5cd39b4c2183f1ab96e07f2102dab61ff49a14db6a7d02b0cd1fbb78fc4b18312b5b4e54dae4dba2fbfef536d752ae2206029583bf39ae0a609747ad199addd634fa6108559d6c5cd39b4c2183f1ab96e07f10d90c6a4f000000800000008000000080220602dab61ff49a14db6a7d02b0cd1fbb78fc4b18312b5b4e54dae4dba2fbfef536d710d90c6a4f0000008000000080010000800001012000c2eb0b0000000017a914b7f5faf40e3d40a5a459b1db3535f2b72fa921e88701042200208c2353173743b595dfb4a07b72ba8e42e3797da74e87fe7d9d7497e3b2028903010547522103089dc10c7ac6db54f91329af617333db388cead0c231f723379d1b99030b02dc21023add904f3d6dcf59ddb906b0dee23529b7ffb9ed50e5e86151926860221f0e7352ae2206023add904f3d6dcf59ddb906b0dee23529b7ffb9ed50e5e86151926860221f0e7310d90c6a4f000000800000008003000080220603089dc10c7ac6db54f91329af617333db388cead0c231f723379d1b99030b02dc10d90c6a4f00000080000000800200008000220203a9a4c37f5996d3aa25dbac6b570af0650394492942460b354753ed9eeca5877110d90c6a4f000000800000008004000080002202027f6399757d2eff55a136ad02c684b1838b6556e5f1b6b34282a94b6b5005109610d90c6a4f00000080000000800500008000");
|
||||
BOOST_CHECK_EQUAL(final_hex, "70736274ff01009a020000000258e87a21b56daf0c23be8e7070456c336f7cbaa5c8757924f545887bb2abdd750000000000ffffffff838d0427d0ec650a68aa46bb0b098aea4422c071b2ca78352a077959d07cea1d0100000000ffffffff0270aaf00800000000160014d85c2b71d0060b09c9886aeb815e50991dda124d00e1f5050000000016001400aea9a2e5f0f876a588df5546e8742d1d87008f00000000000100bb0200000001aad73931018bd25f84ae400b68848be09db706eac2ac18298babee71ab656f8b0000000048473044022058f6fc7c6a33e1b31548d481c826c015bd30135aad42cd67790dab66d2ad243b02204a1ced2604c6735b6393e5b41691dd78b00f0c5942fb9f751856faa938157dba01feffffff0280f0fa020000000017a9140fb9463421696b82c833af241c78c17ddbde493487d0f20a270100000017a91429ca74f8a08f81999428185c97b5d852e4063f6187650000000104475221029583bf39ae0a609747ad199addd634fa6108559d6c5cd39b4c2183f1ab96e07f2102dab61ff49a14db6a7d02b0cd1fbb78fc4b18312b5b4e54dae4dba2fbfef536d752ae0001012000c2eb0b0000000017a914b7f5faf40e3d40a5a459b1db3535f2b72fa921e88701042200208c2353173743b595dfb4a07b72ba8e42e3797da74e87fe7d9d7497e3b2028903010547522103089dc10c7ac6db54f91329af617333db388cead0c231f723379d1b99030b02dc21023add904f3d6dcf59ddb906b0dee23529b7ffb9ed50e5e86151926860221f0e7352ae000000");
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(parse_hd_keypath)
|
||||
|
||||
@ -102,7 +102,7 @@ BOOST_FIXTURE_TEST_CASE(rescan, TestChain100Setup)
|
||||
"timestamp %d. There was an error reading a block from time %d, which is after or within %d "
|
||||
"seconds of key creation, and could contain transactions pertaining to the key. As a result, "
|
||||
"transactions and coins using this key may not appear in the wallet. This error could be caused "
|
||||
"by pruning or data corruption (see bitcoind log for details) and could be dealt with by "
|
||||
"by pruning or data corruption (see litecoind log for details) and could be dealt with by "
|
||||
"downloading and rescanning the relevant blocks (see -reindex and -rescan "
|
||||
"options).\"}},{\"success\":true}]",
|
||||
0, oldTip->GetBlockTimeMax(), TIMESTAMP_WINDOW));
|
||||
|
||||
@ -1,117 +1,117 @@
|
||||
{
|
||||
"blocks": [
|
||||
"0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4adae5494dffff7f20020000000101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000",
|
||||
"0000002006226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f1cd16b94f20a8a3dda91027c888025f2ec1a07ddcb2786bdff5916e66c00406f194ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03510101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002014341131c18d3b3aa30056a0f7a97c9ac852d3fd0ec9c76f7a25e83c01e7f821bf83574fb606f25c59200c844443201faf923ef5284fd4401f3104a323c601491a4ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03520101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002078616da95299bd42cd8f813c8043816ec5741de466be3162e16bfff471808461f671e694afaf534d37df484f1990fc19a65fc26964b38141b7f8ecf61b8a50241a4ae75affff7f200500000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03530101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020a08613f37d305835a3a1553e77a479eba0f34c06c52e429ece54f5973cd77a7086a1efcaf75f1cd5be2c9deb6a7850225757a2cfc3031a91cc1330b3af4acc891b4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03540101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000203b304fa1ce0505c2366982939ac148d9124c5ac747cc9aea133cea9916484966305de0e8d049f2be65c68d64d2c45746def5a9b4fcb8e298692b53b83b4690241b4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03550101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020fbdf49978ec4f0b23704b6772a614336872587e29c463f375836ffd775248837fed9f3fdfc33f076c6663ae78070fad7263c1e24161f3ee1a4857b8931815e2c1b4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03560101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020c37548b9ca256b9ff17187d4d4309cf3143845b0a5811d3ca5427b2fddf000731a10985dfd473561c070c3527c3fe3941834cf51b3dfbacb501b44c69c9745ce1b4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03570101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020383dd3766c0675440f26370ad62d687e335ea3a650dec9b02fe544107cc1823a13b98696d41562945457d655f4c6921f736068f7a72afd1ad6b335f2857d16631c4ae75affff7f200400000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03580101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000207476dd96d81f53e63934ce28c9e89022e0f24d040ec3c838443e925fc3a2f230a94d0cbcefb4a151191dd7664153944d9eee3b7b46d4ba997f397ed2b72c3afe1c4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03590101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000209e425c73eea16cce98c0d47d6070aca29f0524eab4b97af84c386aa5322dd43055002f097e929bc6ad88ce869968e1b049aab7f6e45a5b869cf4349afd5d43e01c4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035a0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202090e16a514fad40386413a100bbaa4fc14086a8d3501ac64c91fdef922e834a369e409444d0ec496eb0dd9a47f1fe81a7ab974bab28c50a912b994acf13b5f91c4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035b0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020777b767e42624c52775b331f19e81ba03be2f51a0608166cd5388c1a47d5e776473570bb9bba553a7db4a9a3083533027c54af1fea3ef6ef67757ef2255d64631c4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035c0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002076bb2bf3251a51ec367a42f8584043171a5d53157394cd776ebd017e2982127653d953aca3e2217f56533c043c07b9a926a30672ebce2562f1d06a6dc5044e7b1c4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035d0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020e6d7f02292655b73fc1f1958b09633ba07265d71d2a2784060b354cbbf1900202e9c9b02b63170002a94a0c9d8d787e2faa4c074a1ebdeb2855555347321dd101d4ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035e0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020d61f077b0ed326e17f0a3d5af3fa876b72b434a252c9c3248d20130ed744287fcb10da470222dd29c7a07e2da7eb25d6499ed3919676df89cc630bd1b23fbb411d4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035f0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205efa9741cf51533ed6e07a97c71768372f53ca9c6df83894d64fe94c718eee23a207441e79ecdcf99ef3326385f5f675e2dea84c85ab8973219c63f92847ed5b1d4ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03600101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020368386b0a0f46b2a2c4648eb9cb5dd1380c4f22e437e0bd49420670993361e5b9026632c2ddbb4b31b3c3118c51e43ea4d78e05c0aca0956278ead26a263d1521d4ae75affff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401110101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020dd0a1594bbff6345a3e34f326e5ee605c855f5e0a5c363fc39615a8b1539b736200b51297dbee4aadf9b536cd2afe7617651e0a1d0f0610f436518a2a4dc54621d4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401120101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020f302a1092709dc27a32d7229d391b90824a75828692c4bb2ca8f0ca5c88b3613c2e18797ffe8b367336338f90b2cf8c3f66277eb1e1ddbe18c052977294f10691d4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401130101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000203dcc77aac703a8cd0e799384b74383c1d5f236426f77d516694607fc88fe85581276a20ceb98d02e6355c9dba4312e2fdc9832f4302cc307e1263f2df0aadd6a1e4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401140101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020dfe109704a0b2801aee4232c31fb744145a7c80dd91a7727e16d4057719d5c3730f8296243521d82d96ed75c5af800a722fc9dde2e02af95c8c9822190ba07b21e4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401150101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201ef9ef2699bc36fd646bb9ba8629644bc98396122f6753710caf0315d7539f751382d3d85f17eb8b42cf17e54baa327886dcf6fa63207e097df8f9b84cc5422f1e4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401160101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020834c91f23cd91b727be08b892f1c1a2f33c1e66d66f35607925fa1be4bca2c25b4145a73b1c71b945f5bb9ede3d8d95c9a3b12a0a81b7b14f440ec5146dd4ec71e4ae75affff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401170101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205743202bf1e543a9be2a59b62be6a5a494511fab96968007b8d7199ea60a524697227ba473ceaf48d4f48ee17f8ee6cd2f1f5ddff03a641642ece240e7872f8f1e4ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401180101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000207469f5c1841bf57275d82db23e5a8f0e8512af1eb10119c238519cdd6cdced34fd96dc659a874b3f5d30fbe6ea421a6b9791dfce8450f8851e4b90d80f0f794e1e4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401190101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020b6338f55fcc473b744d53d675b4a83dcd80ddec9d02ad3323cf1ff50ac0412239d986ec20885d772fdc67803273aaec43871426ac93d3815846a8cd13dea5af11f4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011a0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020a19d9edf2d22415cf226b4e1416c8a3097e0af222efac2bfeab15fa1f07b3f24c18580c4004de6d6244a30ce431c4be3ca44731509fc6b11710c792efed5e9191f4ae75affff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011b0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000208f9f29a27424ec01ce77485617088506ca8faeef69300f0a474ad63ca5d32972d6049609fa3588d6ffab4d9d89a90636ac94c0ca1995f7768163abeb25dbf2bc1f4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011c0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020fbd87d530a9ec3835ab579337fd16e512cec6c4779ab4d84e7256b3333dece28de1065c8c3d3d166e057139ac59af6f4f2c0d241b6269bbea6f61c5eff3dba431f4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011d0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020dc6ef4f436baab2d6880f242a2588313a2739ac694e30319344045ee318c9524d0ec7fbcaca30ce85392cb03b64015ece769afb50fd07db05c15ec49abf7d71c1f4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011e0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020386bf4cbb3708ae6345b9f2459bdd99d07422b05f9b005d2d4d1d3bf87d47359ebb22b3a15c8e94ddd8129527873b9bebfa10c54d11196961376efbcaad3c4681f4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011f0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020600e892f12ad82a23ce12684d3ffa0887eab5e3e97804fa651050b23366cc55ef2468e65c3d3cf49650657eb47d0b0b7949c71dcc0922eb824523157b7eff478204ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401200101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002068e4aec52a3f4e44279e3a65cd476237bdfcc2328390bb31b8a903f89ddfa70e8d669f61b469acb31b1d4ecdc238e6616a83a30644a5d06fc2ca1aad6449d09b204ae75affff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401210101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020cf2428ae9a5014b910275807f54a8bbbeec47d462f9d284ada60329b4955ff10cf83c44ddde39a709aef54fb302c7f1cb36db8fe7c3befce20dcc3729767518c204ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401220101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205801eef8cca082407ce4798648c4d3ba0fc4dd2d4459eccfe5300c7960760d16cb3dd78a2f22fb88717a175e45c53d34f970b94ef9f7cd1b6c279294d427d163204ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401230101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002088320983a4bcb95b9f342994c6943c227f3102d3b16282f048ceb8e15748662a52d1207591a0a364bc9245a76e36530f147ec4d1b4e1917676b4071f542c3b19204ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401240101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020acd85b6d8087d3b6bd2a208a2e39b75da459c0e0eb14088075a23a2e043e8a4ed5a1754491f8180d293b42e6c04ec3f82e29c1f2600dc8607616f69a4a464e6e204ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401250101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204873bcb379f78da4497ce1e22f6bfb63537b89c8c522257a7b7bef74e515ed1b6b235faab048fa73a76c68fdbdde6a4ee7ebe0a3b7b23df24ce75dbd2cf49c33214ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401260101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020a87f6d13bae8e2e07996c3316e8e0da6aec7d1aee6b80aa5883018e4d136db3e9a498ff7d322ad93863e0a5318af7e7d0ed683fd2e4ecf523f2b7369106dbe4a214ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401270101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020d9b0618450a51c08f43187c479e20d351f0466464409bb3071dc0af7c51d65498a198cef23dddd2c4b93d9d3288ae922584e221a9ef1ded3dba5a2ad494d9237214ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401280101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020167dff31847b8dcad472bb6bb7d0af53b245f0f1d4c9f83d4ce14a0f05d42d7f0f2638ffc0e6896230f28df1865ef133dccb1f027545c6a1177dffd1fecf8a01214ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401290101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000208236c04424573692504e777e179b9247e54622b118239311413812f13cefbf6e39a639143f599dc76208b2014de12a364716df2918af9186453e3676dca743d7214ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012a0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020fab7b55aeb59f63315dbc10784c55e55635a7600cc4f3b94a00003007e7fc90b4af016248e9908882f8a7f0bd8743c8da82da119446e8b02e4d3b8d1d938a3aa214ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012b0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020794b4160d8fd4ebe7611d0fc9d3e04f3038a485669f74075aa153852ed181121c577f4c0b7151f6d78a16e3c21ab291b53ced8a5c4f05a22caf24a25ed029d56224ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012c0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204a8acdb549d2ed922360ae0e81de6c913c3fd84b0de51abacbf97162a99f7c26c656b252d3259c33ffc7e5d403843accc6ace9b7e60e911e2347a6a0b0abd122224ae75affff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012d0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020dee6d00c7058b3422e4273c98c16181e04ea93116496a8442de546c2ee9fd86b550013f39e004b3829dc3717b17fcfedc87de9450315fcca540963119cb264c1224ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012e0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202ebca471f5fb2226a790233c3d0bc323f73d935872f3e15b66bd5fdcb822101d7b68788ed61d3fb8cb746f627e09db2fc09d8a07672747709d92ae400e053e78224ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012f0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020ee500470fc1c71a82f2cbb9f8d5723bcdf57b8051fc458a8dbd8d0dbf60d0e40d1a0be0e50f3312d4830e3900186e5a6760d44006c164b4f0758218ef2b2de8e224ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401300101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205057e8d8a7451d79325851dc8e0f4dfdb1dfaaab637509d9e61f0e064af5ee5c185221c53c0cf43261b3c238c0e8117da5d6ac60085615f7a3d8027726cb2143224ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401310101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000200907f01d9c5c872296796ca77feb62eb414cc080e13a93e59e181528bc19c336eaabacb1ebcbd20b26f6bacdc712ffe17d4c8131e7f99b9cac309c0683737c04234ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401320101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000209bd6a4ec962d9e6199c0a2f39481a7ecc322fedbd2320cbe7dc984c6ab958421fe7a5c7f2513a3c3de9ddf7b211f5bfe85675b31183c4bb98ae79ab28cd055ac234ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401330101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202b8a6381b7c9476fd77be379a929863db6b7edd9858d6eca0f68a430dc87cc3a9c6c8b34bfadfdacbe95cb1d4ae5ce4e4f4ccf0300171d7a91cdc97f620c7b37234ae75affff7f200400000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401340101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000203d3e9a0b4decf12b4402a2178b60599311c8a9c7d50ece365a61ca29530da7056754ddf7d77a11cc8ce680a74fae01d851bda024fc9c51712c55b4a190caef24234ae75affff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401350101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002067fa05082d4f7a29a3985f30798940cd854c76a2b20e9560b2047f7753193f71ac61b8df17a8a63f099c8f55869301fc2a0aa37355a4a2f89078135ee72a1362234ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401360101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020249684272865fec3ad62ecb73dfd930500e32e475306c9e5d4b6d545e3687b0a48deaeebfafa213f0a560994b3f4000d5e2b93951d7e5be40073503877292dc7234ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401370101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204671db1df91098669bb03c3e8504d432da99853601366c7de7585bb8f23a6e1e2996a16c11a0f9ae87d937f566c8bbd919040528c1bf8dae4e22a8f0ac5f935a244ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401380101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000203046500cabfee552ed114c505279cd75c28faa811adcb5010c53c14df5de3216d265321a4168c70fff1c85fd83bd976cc03c8c1fb6567398cc24053e343ad137244ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401390101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020591533cf8dd1fa1872c7e6d62ef714b28886f38f7921ee614e13b748eaf923282a96287277f18b1113a9c3ac384fd7b43bccd0e45114908ca5396a76cbd736fd244ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013a0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205286b5747d0244a55e1dce435fdbb9f300d7138fff3b16767bc09196eb00256c6795e3f372a2d5d137244a4fd72fd799e8de913f868f22269eaa628d7d2970a1244ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013b0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000209649b55f6a5ff0d5db73aeb7089fcce605fb9dd23971e577b73747ffab586f4edf84581240223e2d8912a6eca049e06aa46ddbf271af08e9ac9605505311418b244ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013c0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020fe7ff82c11ad3a3db3dc11a03a67e0b86b727d232c80f37209b028bc2689296c0da76fb756e1c9833f38b198cfe843ab820fbc0c38e30f8f858f6ffdbd64e834244ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013d0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020c02e6109b6aaf6643cac109ad5b5be7f7ec47c7993335bdceea6e0e490ae9067eb1fcee49ecc40a61477f934e3b9821f2cc7ada429fcca2cd645866742854c40254ae75affff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013e0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020956c46fce0adfc8a30d91c7b7f328f17c2a90771083884c4fdb7f24640598f6fa69c4e5971bd3b6cdc7e3ee98e03a969b28c3220fdc685cc2eb77293763ca4ba254ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013f0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000203eec7d0ea9c539f47e684eec9dba900e27c805b8200f237924c7df8065957726c83caf659fa341bf45f733a92cf76daf2cfb6bccbf969a2753f5f7d9cda4bd1e254ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401400101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000203c022b42283bf651ee4d536fe71b7e5382e9783d4a85f8bc159f00b97f16d82d312ac4f89f1b1496de576811f2ff17de44b512db0beddae59e030e2ce3eba4df254ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401410101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205da9709dea4bea4f3229d0eed439a4820a0e817f9fbbcd8bb355cd8052702973403358080a2881b823a740f58b6b0c922b42189e06326478cc33390f2c704743254ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401420101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020447c49f664916cc13a839e27f7cbe0b09dea990dec71dd479b537ecfb771c7159ae6241727c2645ce00817909ba97d43447fe2e146bce55b7dccd5bcd27d2e3d254ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401430101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020ae3b214b1495953eea3b99af7ade4b8d22d615d598dd6c790c6576d6453ef35d37fbd3446f8431f00052f278c3e0359beba54a2f5064bc6be4990478fcf4e086264ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401440101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204cc68f9f571f59145e1f7505550d56da13a797fbc7e5a178dd7f6f9241d91f007f2400f7aa1b32b30bf869e4da86f75eaf2baae182efc45c42c6245f06aba675264ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401450101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002096d55714a83c3d030cc72141eac3577b8a394b8366b2c93354fcecdafeab025022f5e26de7e4eba3f8e4a09f243b55ea6f08bfd013e2051cf1d5df20dcb3331b264ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401460101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202ccf49665bd46e4915dcc9221f5fc72124bb73fb11fed8869dc5862a47950c0d654693a1d86098212d68fa9a27f9df0faafea4aecebd8b203f2ab8f3f0b86196264ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401470101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205d0be5aea546eab7734cbee757ea5f4983ab3a3f202323c1c88590bdbc8b561974cb0de6549bfdec92322ad53d8a4192433edab0e33a10e7561d2e27c7759f8a264ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401480101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020fc3d70d4f690d7d7da90b1c832a51c2a92940cdd9fccda6a909c7256ad567160550e1089b48fe75f0f1e6f712cc2a1d4aad384a4ceacf1c71576420fe8e7de46264ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401490101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020995ab1f2293e3aa1e7bef418919bdce60032e89e60223b8c12b17488c50af83b3a360b4f89551aa0ced646a6210b0c3d3f7d0464faa248b9d252c89615babc9f274ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014a0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020e02dd5e1201ebe7ef453e77df3021cffde1b5447b9eced017963489e005ac247e1f2b80e91180cd9744c3e126eb8a0fb34ced45587da6b0fa9fd1c6946f049bf274ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014b0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002081b265800d61feb37525c58aacc7e6d32cfc6b6579784f9952dca51c3addeb37da900ae4ec1b2075056001a361c0fc8f9ac1ca018bde2a2bd8fc587424dfe18f274ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014c0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000207daba0dc6fccc067a19dec46770d1443fc715b50540242ff26073a6748bcd9583804c315b783d4f9aac4dc8f109fa60bcbf1c3cf98a7e1e593fcb969e88aafae274ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014d0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204a35ab2d9c4656c4992d2445ee566e4f5cd0468358292c94839de2b270ba0628de9148db03da59ca2eb727a4f7a03f2b9ee1e4045f37bdaa4b75a89de56b63ee274ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014e0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020215ed7b31d118a45a06407133e41f3f9d25c913ff98f3e798144f981d9145305266efc9274f7c836aa0f8b831732aec2c1d85c5bb9176af4c889a707cca380fc274ae75affff7f200400000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014f0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020425321a1f12ed4613b63b3cc5b4c7674242c3de67ea86984f2d9bb2766f6220a5c460ce6840832b7ef05f206c5d255bc2d8ea83753a7f5ef5c0bf3dbcbc7c74a284ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401500101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204e088cfd312091bf589f0fc24131dba20ed83f716530a7b033356e9ec803be23a73c4af5b64fc631d20aa1f646c7c61c4cc5d4be6e2fa29570030d72219726a0284ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401510101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204287a2bf40300e39b45d6667d6e17abba37d98c41efc7023fd21b643fb2f6b76d915d10e1f9e224d3bfdf5203da57173f0b8d8eedc92ed9ff23372927e86073b284ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401520101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002083137929ca902f409a1f35385b4d31e0f5163d488d71b00ade724d7831986a280a187c13fe0db45aed5fa4f5089d544a617da9f4f80fe6ce1d0711b228f3a6bd284ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401530101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020b38c074d78cbcc8bbbf20c48e30639c2dcf444488efee59f5aa01c48322a30418009c11df7e14de6a6d0d72cc22f20ff5fdba3a7dbe409409ff92b1302340fb8284ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401540101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020a6865148220c7f5ac3259f57fa381676d6be5fdab56eed8e060808fcce4118492476fe6d5ecc681e7a18c20a04239143de1c2cddefbb08f15153b8e9b0c22f62284ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401550101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020ae146263f4087106b8c51ffb5cdddb03a4e593ea1a22a8f6580eaa374185126db2187dbe694a1b17b7c5664115307965407274c25bf6ae02049817685f923256294ae75affff7f200600000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401560101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020718abe22705f33134812b56d04c129d453da890e27caf6e77d2bfb3f9be460083634f35fc8ea4a29b0f30d6c6b4926455a31de62d2f763bc95c8cd1a7a425599294ae75affff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401570101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002084537c50520f4e6b0173926320c3193f6b4259c9a724fe202337d3d5cf7da70b1104e1d6f25c411165a856a0bfdd5ddbe168238425c05271962aa6e5ebb676fb294ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401580101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204bae65b948c9790468cfc8fbf78a81e7aec5407dbab18c18ef1ab37a13f0c257792cd1246dac5ce265a8439e539db1aebe4776535d422315bac8e57a51605aa6294ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401590101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201e68985b2a15920524c3c2da77354c0ccfb202c3ab4005128eb2743aa33f0a5b0527a624a6d1f808c896d8cd1552c251a4ae5310e6c62493977b0965d17f580d294ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015a0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020ab1d90854505caa1ee748c1987f4cb6674844b84d17224bc3983fdd6e44a930b2edf3e5a90be7a9080ad15014ce796b38b6c19ddd3754443243fc277bcd2368a294ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015b0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002062242f316efa083c17e2173d9f9831afc1465f3fe84431d8e52fec71ae358b243e29246e0db770708987f2cff380920321636926d9c66c2c808d2d5f0ed27d672a4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015c0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020258c1a9b0ca17819d8d7fea5178e9c72c2e7c6769696f70098e0d5d2a9dc0e5cf039f5f686d727c6158ef5405ee8794ec2f89c641093a1dff0f5240263a441bc2a4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015d0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020434ce26cddae99571a1d663419d715f88e6ff0e413c45f21c44b1991d041fd2745534db221054e2233052aaffe7d7232a91b3f0918c14eac74b2f704b37bfb8e2a4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015e0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020ec94475f112ea37dddd84f066e61446b431d28d2d9b6fbb336d16295e7eece52f1dc01abb3b27e71d8a25c3ed2d6fbbc5900bf954738ed63d57689ba5e68f6532a4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015f0101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000206188cca18a2be3b7f0b500a724f1b73312873488f04c5082abd81ca0b2250a75ec0efb2fa994ad23e1f39416e69976e66fc4ef9f101bd4f60fcee1f8c45a2b802a4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401600101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202384b91bd0bfb1385ef42bda9b2fa43930aa8889214bb14f63c61a74f380dc7f9d547f2925ad39b9161fa55b9cd258463fd058234778a7c7b3061113d64179812a4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401610101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204c266a3008c3bd95ae4bc8228bf878595cabf76cc2ef3fed32936777fe37833a1a13ea016868b2352a8d6d1eb35d0aee784cef06ed50655b8d84c089324351df2b4ae75affff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401620101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020ab2c78d1249de8482cf26bfb1616ac04f7b8404eafcae3e0654f398943fd41571b4d7549862be0b06ed1408ddc3e7c01b07af24c203a18fe9744e214b14d2d652b4ae75affff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401630101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002031aa0fc5e0242a9c9d91024b6b7e67544da72c4773537f881ee5caacd45a3c38c650ff5fa0ffd080b3e5f9752527b718e8c6b731467028e14b0b009d4e7406ee2b4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401640101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000200418c57609fc6ea3f24f569dc3afe163538a6aab940fe8c3d73c72cd781221380482c6f8ef2c19429da2f7a842bb811496aa86247c55f7ecb3337718b694d9472b4ae75affff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401650101ffffffff0200f2052a01000000232103836d350d84c3782a7579c5f542c7e70fe628d3062c6bac563d2264c21e56f70eac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204f36abaf10d6a8b3113103f3413475db0640c89a39f02a718e8bd2190fe87f1d6ffaf2b9fdbed67ebae4b36c97f9582814c99c90d0b5123f14da4861bf3e4f742b4ae75affff7f200100000002020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401660101ffffffff02b000062a01000000232102f6869601b2b9980b07fc047e309c1fc1433e08c5bf0498115c5c0e117ef59bfdac0000000000000000266a24aa21a9ed5896cd6a40cd126b09e317cbd179f39e2bcef2f9d423751d980258396416e671012000000000000000000000000000000000000000000000000000000000000000000000000002000000011cd16b94f20a8a3dda91027c888025f2ec1a07ddcb2786bdff5916e66c00406f0000000048473044022046d00465c4508cfd02fcb878b19d120e28be28e40658b1f15458828891ed1541022036aac054f36a42666dfb7b42a20506315a0b72232ce7704406e23c7a9515178701feffffff0200286bee0000000017a91481ddd4a9708ba8088cdcfeab9583ede8d83a298c8750bb9a3b0000000017a91484e16967722289584257803688aae36cd64480688765000000",
|
||||
"00000020cc7c39992f2dae21e0ebd958f6ba77a6d0bcc568e044b9b61ca4d77536a4214e7b4ade79dd733ea72d97993aaac27f2263b91b1500467350ff35ea40c2850d392b4ae75affff7f200100000004020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401670101ffffffff0230d0062a01000000232102f58ba54b2d51c4e2a6096f9d266261b45f1026a86ba88c29ed8070dfe3f5ec6bac0000000000000000266a24aa21a9edb824d92cb231c2366f0726aedf8bfc2705239a40ae6b10a106534e8b5395a09d01200000000000000000000000000000000000000000000000000000000000000000000000000200000000010196bac2a0f6212b8e5710f8c7214dd32c393d38d20b7703cf0b7b25276bb6ab8001000000171600144f8a6c8d4c6c309b1e2b725b7496859e172ea367feffffff02781ef5050000000017a9149f00bafb542049fe32d532b0ea7494ebb7ae41398750daa4350000000017a9147794e6dc43de332ca7a095e582478c331446686d8702483045022100bd85ed3954f1151c2fde32c4021a32c96d7defa4a57c14b1a056be9b361a8e49022054947bf6fdb535c46cbee62efc1262cc0389a6eaa19afbcfa98fb1fb30c3ef230121031b2371df07fb88dddf590b246dc74defc265fdbfe258e4b168250859b806f5ce660000000200000001bf83574fb606f25c59200c844443201faf923ef5284fd4401f3104a323c601490000000049483045022100d1c4b09b488f6375ee4540a531a13b5549e88e2459bd88c84867e293c54862740220222e8af70c8d8b1139c2a7b616d9132bde94244edca7eee3c7a783b12839dadc01feffffff0250196bee0000000017a91490e5e33cfedf18d5cf911d6f853770c62e1f5d028700ca9a3b0000000017a91422311ee58518edf3a2289012461dc66bc8739d2687660000000200000000010196bac2a0f6212b8e5710f8c7214dd32c393d38d20b7703cf0b7b25276bb6ab800000000017160014b81faaafa52f7723f539f8d595147b1a112b38ecfeffffff0208bd9a3b0000000017a9146b2e611708a94d9c674dd08c7c4c1fbb97bcdba987005ed0b20000000017a914933a20f07bab1d8f341f391819466a271f0cfd648702483045022100dfa8b0052c7825e6abcea05d10fc82550a8d6538681ffc8188d48ba789e4d9b40220697371cdf527a6ecd1887f87da3c87dca3419e4a1aa2683e5c4e035199084d100121021cc37c2ec090f30ea0b49508ae8a7d65d9759903932666da56671c1faa445d5d53000000"
|
||||
"010000000000000000000000000000000000000000000000000000000000000000000000d9ced4ed1130f7b7faad9be25323ffafa33232a17c3edf6cfd97bee6bafbdd97dae5494dffff7f20000000000101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4804ffff001d0104404e592054696d65732030352f4f63742f32303131205374657665204a6f62732c204170706c65e280997320566973696f6e6172792c2044696573206174203536ffffffff0100f2052a010000004341040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9ac00000000",
|
||||
"00000020f916c456fc51df627885d7d674ed02dc88a225adb3f02ad13eb4938ff32708534c5f21c2bc1cd6cb7a598c1f2fe455c27714bacb7706b20c3c5c2988830f705958c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03510101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000207271d37a76c2eedea252826d234039f70610e4438b5cd04981c496937913180e285b737f486b05461a578b14897c1a761364252e6cd71eb5dde73bab2c2d94bf59c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03520101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201501fea9a094fba8d137605fd12a1fe7d5d704abacdc9bb6be88b2d68d3dd7cbc5a94b09c3c688ce6ebf7cc5e6ba4fe2d414af24b7f4fce04a232e8eb544746159c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03530101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020facff303ad51d2548733c703a775fcf5720f6ccd6e68362b72ae78c3fe1c7b3601fc71a96a1b6c7fb99eac97c08e936fbaa3ad8ed25a8e6c9f8cd0016fb9f4885ac8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03540101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020cf1ac8e840bf48844ee8ddd115469fdc9dcef1959c5cce64bbdabd59b62e891da6f9d2bf52e590bdf5c9f497694c27ea6628cea896398ba637f3fc54a0a5e6fe5ac8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03550101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202ba58a9572711b34c383c7b8b7b3dc54027e2de03f9f326569b89009254cd49830ed3c563450725c42735fcd446ad713aa916a1191aa33092d8673fde15ce3fb5ac8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03560101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002029551a1e0b0ce96e5299df512cc0579dac50531e5315941cb35ab3c587054b5fcd4cf61a6333bed2d523f7d3a67983bb136b8aff329577525e4a2fe585b360935ac8935bffff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03570101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000208d55cd5aadede87f41d25f09ad144b921dbe73dd779f2de06fd4b182b3bef3a9b496748fb5a3dfa80f6deaf9e26a03c60919b00325bef5170b4608973103ba0e5bc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03580101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020925e41508c81ab42a30e2f9851960fad22ea4607b8a23618db2d7d47e35b0d50aff89627b3f2b2d7f5b5b3b52d9f80c4e49eae2197da7efc9b051679b9bbb89e5bc8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03590101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002014ad060facf5f8433f2d290aa78b0e413d1339459b653f8865b71274dc201c2f192128b7461a159c42c1e8b72f16ece11265c6ec2bf8b8d25964dfd6b0370f095bc8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035a0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020036a072b18d213c0d95e2674acb06e34cf87f0b2e63c9e8386d72d5e083331586884fc533e5ff7e45fc78deaa80e35506132c475be5e561f95db2cb655561a1f5bc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035b0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000200f3b64f1777d6c8048927b38fda43ae944b3964a1347efa7cb87441d4053a47a8776932bc67b9ad35557969330acaa994a86bb2ea24f318294e6ac721ed5bb9a5bc8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035c0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201e85d80b68078f37ebe75ea4272e4379d4b2c0fd1d3d190b98e43eb96f3a3373470baa91354c3f3fae479a22a959c9d4e7aaf16d859ed73b5f7b2d821485ef365bc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035d0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202c9aca8011511c96ef99d53397fa28c08d96ab4922cd1688200f1e4ac3d2f424a78b08a9bc03b31618e2dc92ddbd4d09cfb9840dd86a47d2defb5d9296e747a15cc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035e0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020fb422cbde79518406c2542ff35ef27ccf2409b2c5159a15c64531d8a4c3e859e05e611ca9271bacc41cdc64f95d0ad5ee2fcf3d9138aaf23331dd561740854605cc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff035f0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020634827cae14b13b0e5ceda5896760ff037aee55f9ca33c2ff04058fac03a1cceb82a86e40b7ad2c1cf1db85168667275bb227137590c86dcfb41bffc605de5e65cc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff03600101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020e4be78d5ace2557b3a668e52b427d623917e342e9fef589f41808ae93ca3da8f1644087a69d20cc6008715728567f27443cc971ab82d565fc71141b3e7544b155cc8935bffff7f200600000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401110101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002026ff24717deb6b218eef0b87ea6bb30defd046400e1e95ce94e55bb42d3c42b47a49706a1b4c44666d72514b83af7e13f02900cbe5a143a475392fe9b8e1ae0d5cc8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401120101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002065232e666a3f5d8f08af69050d911a8f28c7714cefe25dbf99c19cdf58cd7798443849e82e37070f2a53a8b0e53274675f6696f3b95dd28683233a963bbe21bd5cc8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401130101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002037abee87d54d6b6319df211c3cd4f23079cdceebd1bb3848e95e77d3f789bd0844b42c35baac77ee4c994fbb0eb5ec6e76e5ed2cddf0b179a3f670bf52eecf465dc8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401140101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020db5d1c614b15349b70b2d4699aefc8e96d112a02996519a3c714deacccb74d11e1c29379ab3fdf3cf6a79bd089ebc32f1bdd67ad0d4dfbe2a32a16fe680736d05dc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401150101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205495170947f96740cde404c27aaac8ac7039148e6ef22e02dfc2d6e2e86219ad95840ce07faab860c02fef0b8f06f2504bb031268f77b934be8ec7d0c03a92815dc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401160101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000208cd63335568e9aa65f06ae39da65ca3c1b09e1b72d0253ea9d2d830ce373a024dac2e18535abcb6ea769668c1900ad5f7036e22a8542043c1e4ed327f82266b35dc8935bffff7f200400000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401170101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020c3e54d1fa7b93ffc3c5411077bb17338f742a3c742a9ca629173576dee0507ede96b31d87064a0b9b3de0f711902b65ab1bd2ed754b76ae6e2ebe0dfd58696175dc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401180101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020f93ed812f12c000146ceeec40641a9380620cf3502149559b4ce54e83cfe539d78497ab2dfd4e611d42105dd6162c3a1acd0a7ac4ce031d6614b2a170a0a07e35dc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401190101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020672c7a39cc94b82dadb724d69c720f04e7ddc55fb02c99a9793a3ec0fae8c09899527da98ac350c7cf73f005b4d42682b2f9104eaff2ea2b203f54648cabb3415ec8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011a0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020fb18bbd38ae8dad32816a226482a6a897b5b16c1392a456e9cd0d21ad88f4e5599524b37d5b52d5fc73af17f556f8057955120e7e64fb1feb2481e9f264b2dde5ec8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011b0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000206c5289d12428b37e79c23603be63091dd5544a0f8de96b2a8329f2cb17170d09ed4ef64db69ebd60f0a0ae6b84e17be58cd62b222b7263293f29dbbbb2b3b2975ec8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011c0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000206c1cbb4ab7f52526e32c90f58e9a3cf085e2e9f6dc4312ad9267fb5cd4e00d9f7edf06b261281857dec9581516f27adad60de87919fb47e2b9fed329fd54b7305ec8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011d0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000209883b1e99ab553ce30c1095eeb97f436f0a99f18af5cdc89ddef2c59d2ade70438853e655d1ce4901ed45f6fe9a4433d727523f0db05f1677b374c9580d9d0815ec8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011e0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020a9e87c22f7135a6f69520dc6e456b3e5eaf424eafea130c5b9f31e0d64248d11f969e50a58e35c28405c14c1c838bb25872624b1c3ea387ff12715235f60653c5ec8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04011f0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000207609cb448f209e5935ab78b66177221c759b1b8cfe2797c7b1646c5381b2be51148c647f5c92362d07b523da9dc2b3fc6838e173ea6753665dcaa73fea65a9355fc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401200101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201f23cbef47492dd885ed7f01c2b897f794dacc70f8a8f4e2ccbafe192121e94fcb6f48eef4e5958404cc90bb711bbdbe9cb5fc9778fc3a57c79fea0f63a0d9795fc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401210101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202169fb327cce40cb8825731c474127379defd11ed97988e3a891dff9c5d37d6851b3db300a908823b64c879026ffcd511530f75f0a3ebd3b0c3941e7350e51345fc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401220101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020b73fc38df94e29428565c8866fca85dac7490fa54e8315e0422e148b8e989de155bd61dcd8296509ea6db513399499a6b00fd0d263a77293c67da89a85735f9e5fc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401230101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002038ea64ac635b19f5c9c584a296b71bab84ff8cbbc57c385f65c1606d49be3537ae6b16a8872fac96c070c3b9d349d487ba6788e976f86e40b00f291515dcc0175fc8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401240101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204fa796dd5745bf79f75c055e62bf1412311ce9642627b2dde4c79c9e107d1c8bdd1de37b831a1a090f859b584513ab9a16711b74f18a26049021545f40697cb55fc8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401250101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000208ee209486d63ebf929aca4f8e99879c6d592365aa51073ed75b0b0bf8fa4370acdc52d80f802ff33c68acf9f2ff0435f1d6bb4c1778fe36bf6ada76ae981f5f560c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401260101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201808174aee3da64bc1b26923d169c95963f008d95ed454d3c67eedeb0972f7b110527e18b1547766693de9feffef24723f1c597cc6df08ea3029e7c832b19d2f60c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401270101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020bc66b3d1b47a8c25c5bab7545b6681c1d87d9a2f625a45c48f3275bb63585a9b13feb146c34eb29576a651437ddf8154c1091f5e0935baaaf5797cb1c8798d3f60c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401280101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000208a6034be54b80602f694ba70c061ad5a2cbc1fed4d5b99fed9e727ad7a5506d66aa22c9ee7f3afe5ba22b17cd1bf2158274e32f7d7c1b59a98c2650d9bfef03c60c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401290101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202aaa061294acde0ea068ee1ba4d9ffd18d72441d44a7b726c4c95c5003165b9b3fe56dfab4ded103ef693f61094dcc4ebd6e206562709a645b10a18668a14cec60c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012a0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000203d7015986a75af7f8c43eb9b4acf408435addfcd02e9daf19f272a966531e778ec9f9c1db60fab55ff6c73c5ed503c07b5cd5c4a76b6b719f101804803fc357660c8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012b0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020e05f9b94c2c517fb52275471626634362065e154c816177814ff85d6c3dde95d69a72fc381af1d86643dc26065dd2a37b8f881fb4d6c4927028ac6a9fc5d598661c8935bffff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012c0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201d9b425631774613d76827e8b85a275331f9a98343a8793d73157faebc97da54de54fab127f8e9328217e843a83565778b53766ba0c72fcedcd8698bbe8eaa3c61c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012d0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020d18e86e1e9606be8dfb709038ebccb08c5add0609fa2fe6eb3dbb898aed9d262f95758116528c121f9d9d75f6b2e413e24a41b48d60f7dc8ac3b4c4ba6c5a70161c8935bffff7f200400000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012e0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020353ea10f381efa48107ddb731ab85d51f98d1f52a78e5da75844e069725c3fc6784a84cc1d63dc44e512c8a2b36d6a9e8373c4075ac18d38a9dfb4c08823468061c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04012f0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020dc8ae837a63f69011f13b88e1220184a52cdd9a70f6a94d401ec4e5483161a2f12e77ef581bba2f2954744fc8b86b225b51a26adcb02e12a66a9132100c4cd8661c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401300101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020f0126fb97aaecf57bc1b6761798eccacdf56db08c9317f10f6e0b0d6ed5b4abb961daf31dbc1b86942bdfaf5912ac3125c13a0b5a315ea268cf5f7511cc18d4b61c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401310101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020bc7e5ea148e47c730447cdd9fee61cc22c06c17f05d79116ce3c015030e2e061e7191ed1bdba1abb972be51a8a1a108e87ac0204fe6146bdc93e40bdc0787ab962c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401320101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020e147f106312c49f945eca275d4bc5d13bf5b35a3a988221b28b4d588c4b25b6d5f1645ce410e77f28ee14202eedee582e371e15cfe4abd899f43f74d2cac4acc62c8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401330101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020224268da3ac84d0da038c1d3f275d7fdb5cdf0666d446d4093315d3b6d6ba5a2279d4d78aabccb75708f27fc6df4565fa534357ac3a39def9624314dc7b1b98d62c8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401340101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201b1a23e9aff176afa30a1826da6848f5ed4f5eabc578db3b5f3d503f2b6739c49908d565b08b60e6e36d78f0a3f09571e3971e2ba47f632a3533acd810bc444a62c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401350101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002058ee94f9e8fe55c6904ee04a2ac883c5779a9e4736e5ae9969486046ebaf70b30316af59fe6984340681ae7a7220c2e0d0b88a40b5e668e1a6ba8d79252c646f62c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401360101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020e997d6f33cf4db196e595cbf594719f1a31d82ae49175ee873404dcd9354aae0e38d62d940f92cfc30116eee9b0401669b9f4123836f5dccf2a50f6bcdd391e162c8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401370101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020acf00eaa6fa88200f34441b6403569c66385f8a4050932b7cff8a3bddd18a53d58d60c6b35baa86de0796acadcb155b65a5d083fbfa8c541b718729436a73be563c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401380101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000202d7534eaee1946d26ba4d0d4c018593eca74c306f33a2583d97dc0855396e8cda38b728229cba742a41cbe3b15ed101b23cbe85b016c05813ca158487133664963c8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401390101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020230e5e6b21a3a2b766736f066284ec4d7f235801198f14add375b1d6e59ce9394ead54940fbca8de4f3d0a175d5e8006bae63836e5a77b699f28b9842612991463c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013a0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020b21e543553a6aaaec3a6c3d2f7bbbb06e7c544e11832488df7b9b9288bfa9170ad351476fc10d55d405a33f9c6281162108eb0d02964bd0a42d935b9ffc05a8b63c8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013b0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000204d790a872efa7673015e5eafc86793f864eddfb1e5d17f9443fb529f28ce958f1d450d5733004a2e611ce5a83a3dc9ad2010eb7cfdb9592be57a00bf0832dc4d63c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013c0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020ecdafccff52ec13d03ad4844d83de98928bac799e96ccfd74bb77c3364e56e25789d791911aeb4294c3cb158fe22c24a660083ff7f53cf64283e7a2a87feea0563c8935bffff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013d0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205304937708a04f979699c545f3c9dc7e201f71d9485a2fe97e66463ab40007eb22d35a3c5ce4c9ee07ce8d6fb379d71f1a92ac02031c40c51f0782ab1eb3ec2f64c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013e0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020dd1b8f94876dc6de3894f41c11f8dd2698a25f9008d65cee63e84e883e744321da61cd7a77175cb1008bc9d4de09a86ed28595011c59fcdba7f7792c874662be64c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04013f0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020c57ea03b0b5ad95f9d4dd53941f044076a859906364c3b629ee07248f9fadc4bb9676fddd238aba77d47e60c8d7562078625f344f54a8fe1277df1efb5b9605d64c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401400101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000205656ae9bd726ed316c42d7e1dfcd4a0e9dea505ed48e7fa1fc30b9aab197e4e8089ed7d618d0c03579119c9067a4b73d6206281bb8b7ddf40086408b07e0c95064c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401410101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020434dc70bb36ebea642ef9a183b14f2196c531788d2c90128cfb20957d453a19201b39fa6bfb3a17b5b0c0b2748e75a26198da34f77e3722c9d55be43b2d998e464c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401420101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002014553c16227afc8fab2b46597e84ff235608310e41cb3877603b6ab4e075f954ebad9388d2138887322e9cdfd09ee6e94dd53de5d8e57426dc79d101cde34e4564c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401430101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020e65e1c136a63f01ae904a5d49e2cdb4e97d52ae81da478a798cbe6ce63281d286b8e2ddb4d2b1f9c1cd4ba5e880f182fbc8ef3ae43bd87954328b1280b7fda2065c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401440101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020ae85238f2e2dff02cd7e97a0463a6e3698cd805733fd1a0ba7965f3f6f4286c5f198b1f09c9c5d7e3d5295c731742fbb7de5a9aba6f711dc0dfad8d958bb116b65c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401450101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020d409b3ff86e76c36d68db5bcb173bdf315461f00056cb4be6d2ce6dec94acca52462fbdd51cb9ca1f66df217d52fe8c2f6c412b2b62da2af65cb2062eb25d28365c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401460101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000203c148af154c5c95ae1fbc8dacc2dc80dc031b20967feba9f072c77498e534ac9579b726079c6748a6c0ba3784ed41ae134f556d53e51406d645ec5f8a76769f265c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401470101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000203b24bd3b27de52b308a3d7c29904074e3c75bee9e528fdb952a06e330c6bfe07fabf96c9b57ec2f468bc60bb9bd657617b44829300234623d0ca0dedb9ba592865c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401480101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002041f4ad771f5e2d88e611ceeb49d39ed6ed1492f9650e34bad4067a1d57216d4bfe35ebf25db769c108e6bb342839b85968f164c8395fae7048e9b362ca26d23d65c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401490101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020e89c64ca002aeead2dabf1b47f358854e5fa6d8cb98290d49f034a5c0cc9c307b2bad3943954553b98159ab1da10f16a44f4ef19f071cf9da97d721b7e82a9a166c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014a0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002065768fdaf26bfd320d28a2dc2389945e25c4d23a619de1cea241936065e2084674f31e43f66c08861b8cf52c238e0a7c0f007786f5549edb1a017f65b7ab1adb66c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014b0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000209b930b31c57c1a0ab32b196235f5106c78637bd11fa842c63f570a2da461b11acc341e18422a53e22f4d3fbb96a851642314daf1c26bdf4ae795018093bf84bf66c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014c0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000200cf068b16c555e5512413a2735a5fd80c19fdb5e0cccc1260e53c2333cef519e866b71f6eec2dadfdcfe4183358fa65fb2cb50719f6755af8e591bc45ee663c866c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014d0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000206e445f26a138fcdd52aaa0dcc3211129b96abcc0f917753d95b1fa6b8f689785054d95f7416ffeb64db519f954a354cbd984d1026833d6f657101f8078efc8ae66c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014e0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020a22e1893ac175db739e13420488c38612c8b5c8f243e122f637218db64a94b589b0e0900270ef0620f83566a7efad1745853d1415ad8b4aae4cf6b3f55e9dc1666c8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04014f0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002066c28e2db474353a7c761e9a0aeea6d5b86aa952dd1b92adc528a9620fdefda22048c22c9d0a3aa8d99135801c5f819505f7903ceb4059dc01accf9c3932fcfa67c8935bffff7f200200000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401500101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201c2b87843b445ff27b97dd5631cfe159de8dba88335ef5d8ceb7e0cf771644a2743ab7dbb4b5a5a367cc114905dceebc433dfdef2115ef997e30418b9925466667c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401510101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020435422c905c503756b5e354c71b1314d71b4c8868c5f55de51e6b18d36bc0debda120fc5246c212b0e04ee2343eefae46483640a22e34c96ee9356ffa9af720567c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401520101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201e0f9e7591caa887cdc2b061f592c6c35e05ef32d984cd9ef99fea728ccb22ce11d5bab4ab8cb02a4e839883aa87284ddc0d222263ddd3e4eba8ca279b71d2da67c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401530101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020b65cb73de1599bf4126c8bea34c88e79d6ebde27c533aa9ce0359ef7c079a8859e78e64cf4c1776d1f6f005a956c2b66897639665e9f95341a28d90b9f5e4d4667c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401540101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020b6df04e6b21fa07587e56fedcb8397754026a666cf12dbd9e9f5b04d5c5d4452b15917d0f549363c830f7d44b93c3602a22cb0208afa0076bc3e8fab2436251667c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401550101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020efe5119b4a1cef65c264de91db05d7ec367e56bd9fbaaf9023c86b2bd28c126fd576a52aa87d7941dfef8e9361f31d5d116af53da448b89e976f103deab6328f68c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401560101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002007c9656a72662b6dc7019e96848fa9ef627fc54b180662bb155b4f7e40f1cbe947fa9d31401db1d5dd3a739f279ed43132f2225cf52a2d7866aca1857604578168c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401570101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020f42341f4c37d5e506c9867ae78d0db72198afa52fafd22678fbb9020ebfc4cf8de6d61461347afc8f2d5a2c64c4e657ee523fa3f4a17e2b52a03df0fddb0ea2768c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401580101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000208c5e1ffa06600c1589b1931b1c376e5be2bcd03bfdb4a6bab5becaf92a3539853cc9ef0a1cc8f3b3148c0ea8bb3d5495e5b793e04922f7585fefeef77f843e0468c8935bffff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401590101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020f64be00e986a74a22cd9439d5d404399d408f574abfa963ed3ed2f4fae9dffb960af8f8e3b28f15f8c27da3d086c293f697b50397abee333179f82ce12ee56ef68c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015a0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020ee73d1c4f1da081a0a09c8bd468206b378895d9bd994fd797f99d82c6eb69221a7aa38dbbbfd0e5a1b43ed9acbb1daec11cfdbd6df8cb1de244d17b4b5ffb86268c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015b0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002044113994bbb745a63c8476e4d783626bd7c1704630cb277cd63363a63e4d53189d264e55666abe362d053f8924ae279ecf45c8acd006cd85beeae31d022c4ec369c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015c0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020e898b0ba5ed69508fe5700c52456eb6f3cd7e8919e12f297b48ef22da6cfd41320b83e7dfe775910451a863573d4abd0d843feb7cb9d197724710db4b387b99469c8935bffff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015d0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020f189a0d022d7a52913ee0ec64651c1d6d6d72dc36942e4858c3f86ce050a23d705628480741af034074e76ee3500d6262a6fc6cf9039408c3ade3d06ebe60a5c69c8935bffff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015e0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020a865da601c35f112d5b2a7512ca1e1a57714da124907f36a94e889d617158e1032be9abda762dfe8710ea50a284430ff0aa1dc9684c69e6fd962de1634162e5d69c8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff04015f0101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000209cb96f68d85acbc9cb2509e4309480b8f16597c3628a30d6bb66821672c07b62fdd0db6e0f8b1ba65ee76857a65ace6c6287fda854847e31b89fed798d76d9a369c8935bffff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401600101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020f0a5458663d397841bcb5082b147f8688929ef3b7a12938fdbb01ee7d03f65a1f544d4f78eb77c6cffbbe30b473d66959b0873b74d99d3828fa8bc47c88c369569c8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401610101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020789d95851b70b3227ade2f44f0cf59c39e731d2ed23fb086d62f2981c1fd47d0fb4f8e737f0c83d1c7c6c33476cdf5cfbe61cfb8708914bb6523de56f6ce7bea6ac8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401620101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020a5bef8e90ad5dee5c5615c49d5a346d0d6c7dac0a54be6eb1b3368c8663136441874107dfdf1df0f02018218079d40632474e876745e61c2481a2246860a49096ac8935bffff7f200000000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401630101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"000000201c534caf1b57fd234aab5494aef4cedb53a14a7bf4f97b47462562e676de07ec7033f60bceeeebf597fba222a7594ca5c951bae22595650db20f307fc8f0a1dc6ac8935bffff7f200100000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401640101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"0000002069a3a121f2b9139d21cd15ba788d2800cf97317205c10827cf03190df91c561d13969cc3acca5ab043cdc2fdd7cdd4c8c3bd91feaa1f41daeac6e1d5889ee13b6ac8935bffff7f200300000001020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401650101ffffffff0200f2052a01000000232102dadd1d559ace464b00c678752cfb48f40e56a884b31aa5f54dcc413ce9b6102bac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90120000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
"00000020f4b972d72e3845117d2049d20079ebe21eeb551bd9e448685f4bbf53ecee5f4593ff1a1925354e7006371ca33b0c2770e3190685c2eb9d66696a0254ecca0a8c6ac8935bffff7f200300000002020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401660101ffffffff029c00062a0100000023210378948efec6588e1d18de112815345420051a9edc2816792ce46e65bdabd08340ac0000000000000000266a24aa21a9ed36d46f42ac527d7494c43d32a5bec1372359b9ebcb374e790c2f9dcab5baa1d0012000000000000000000000000000000000000000000000000000000000000000000000000002000000014c5f21c2bc1cd6cb7a598c1f2fe455c27714bacb7706b20c3c5c2988830f70590000000048473044022028cbc0fba178772ab9b672ff8f03a303f961c979d8f72a174f47cd7cf239e5da022038021caf116b1d5a8f3aa8b4245d84104d06e0e2338e7fcfe68552cce8711d5e01feffffff0200286bee0000000017a91463ddb6e37c4d85741a9df3db0983da1c8e9abd8c8764bb9a3b0000000017a91497b80af2d62f5ad0daab6a10a569c059f216bb778765000000",
|
||||
"000000204f5d0e270e0089ba708deea267261726db004766978fcca32c0425957ee35ed9c4e72ccc00de30343e79f874da78f7291c7a2b0bda444d80b9d1326074cc1d636ac8935bffff7f200000000004020000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff0401670101ffffffff021cd0062a010000002321038537b6e2bef3d5ace5fcf0c8ff32888aa398116095c05811c5b7080e77550e3bac0000000000000000266a24aa21a9eddd758d8a505fc290a461d8c777eb2bccaa610b13448fae3db1d49d0a601177ac0120000000000000000000000000000000000000000000000000000000000000000000000000020000000001019b203d0d20069f2b16f4fc3e10ac115ea25d67e7b67f07eb04641eefb7a5a82301000000171600141ac6aa429a75718e6ebccc4a822eddd1bda22b71feffffff0264daa4350000000017a914f8c04a465293748d74122c7408a0a1e4e0f978c487781ef5050000000017a914907193349f03e62198394ab8137f689fb32f18c587024730440220018c68e6903a5c1ebdd6c39f8e6adc377a86a286fdda6cfd5aa9fb5bb63e873c02200ec157d4e427cf66978c6b859da7c31b52a4de101df40abef2c3df50651d1f2a0121025d05f2f23efe9b3ae4a4ea3772205a750284f74847e1e2da4047c010e1fbe9ec660000000200000001285b737f486b05461a578b14897c1a761364252e6cd71eb5dde73bab2c2d94bf000000004847304402203deade0879710b096f5b7cabcaf6ff93ce24df2bca8e6913bc4e7db14791b281022053b9df06dbc4cb4d83b8cc621b4966a75a5dea97133cf4afce1be5ab1d80f01c01feffffff0200ca9a3b0000000017a9149ef737849eb59f5c0dc6f7f205f2c00580fd51928764196bee0000000017a914036c31d7b16393d7b13bc7ae97acf70ba2f2c7878766000000020000000001019b203d0d20069f2b16f4fc3e10ac115ea25d67e7b67f07eb04641eefb7a5a82300000000171600149fd68ac800c3d3f39ad1ac13e677528166a07e7bfeffffff0208bd9a3b0000000017a914162afcea2606313df740747a13be3e13568557f687005ed0b20000000017a914ed6a35fe05286a35788c830d5b009241556aecc98702473044022014358f4afe22b9917ea2c0638999dd47bfeaf5f4495723672e0eef50f1525b6c022021c276a9aa33acbba846e7c24606e64f994760c1e11d2cb73dbe519b9d94f1ee01210367f3a045dc445f79f0bcd6b42558b192fb3ed8256bfe2ea9be5858d7b46213c266000000"
|
||||
],
|
||||
"mocktime": 1525107225,
|
||||
"mocktime": 1536411736,
|
||||
"stats": [
|
||||
{
|
||||
"avgfee": 0,
|
||||
"avgfeerate": 0,
|
||||
"avgtxsize": 0,
|
||||
"blockhash": "1d7fe80f19d28b8e712af0399ac84006db753441f3033111b3a8d610afab364f",
|
||||
"blockhash": "455feeec53bf4b5f6848e4d91b55eb1ee2eb7900d249207d1145382ed772b9f4",
|
||||
"feerate_percentiles": [
|
||||
0,
|
||||
0,
|
||||
@ -125,7 +125,7 @@
|
||||
"maxfeerate": 0,
|
||||
"maxtxsize": 0,
|
||||
"medianfee": 0,
|
||||
"mediantime": 1525107242,
|
||||
"mediantime": 1536411753,
|
||||
"mediantxsize": 0,
|
||||
"minfee": 0,
|
||||
"minfeerate": 0,
|
||||
@ -135,7 +135,7 @@
|
||||
"swtotal_size": 0,
|
||||
"swtotal_weight": 0,
|
||||
"swtxs": 0,
|
||||
"time": 1525107243,
|
||||
"time": 1536411754,
|
||||
"total_out": 0,
|
||||
"total_size": 0,
|
||||
"total_weight": 0,
|
||||
@ -145,11 +145,10 @@
|
||||
"utxo_size_inc": 173
|
||||
},
|
||||
{
|
||||
"avgfee": 3760,
|
||||
"avgfee": 3740,
|
||||
"avgfeerate": 20,
|
||||
"avgtxsize": 187,
|
||||
"blockhash": "4e21a43675d7a41cb6b944e068c5bcd0a677baf658d9ebe021ae2d2f99397ccc",
|
||||
"height": 102,
|
||||
"blockhash": "d95ee37e9525042ca3cc8f97664700db26172667a2ee8d70ba89000e270e5d4f",
|
||||
"feerate_percentiles": [
|
||||
20,
|
||||
20,
|
||||
@ -157,14 +156,15 @@
|
||||
20,
|
||||
20
|
||||
],
|
||||
"height": 102,
|
||||
"ins": 1,
|
||||
"maxfee": 3760,
|
||||
"maxfee": 3740,
|
||||
"maxfeerate": 20,
|
||||
"maxtxsize": 187,
|
||||
"medianfee": 3760,
|
||||
"mediantime": 1525107242,
|
||||
"medianfee": 3740,
|
||||
"mediantime": 1536411753,
|
||||
"mediantxsize": 187,
|
||||
"minfee": 3760,
|
||||
"minfee": 3740,
|
||||
"minfeerate": 20,
|
||||
"mintxsize": 187,
|
||||
"outs": 4,
|
||||
@ -172,48 +172,48 @@
|
||||
"swtotal_size": 0,
|
||||
"swtotal_weight": 0,
|
||||
"swtxs": 0,
|
||||
"time": 1525107243,
|
||||
"total_out": 4999996240,
|
||||
"time": 1536411754,
|
||||
"total_out": 4999996260,
|
||||
"total_size": 187,
|
||||
"total_weight": 748,
|
||||
"totalfee": 3760,
|
||||
"totalfee": 3740,
|
||||
"txs": 2,
|
||||
"utxo_increase": 3,
|
||||
"utxo_size_inc": 234
|
||||
},
|
||||
{
|
||||
"avgfee": 18960,
|
||||
"avgfee": 18953,
|
||||
"avgfeerate": 109,
|
||||
"avgtxsize": 228,
|
||||
"blockhash": "22d9b8b9c2a37c81515f3fc84f7241f6c07dbcea85ef16b00bcc33ae400a030f",
|
||||
"avgtxsize": 227,
|
||||
"blockhash": "4ac7022a3f15b93d437c1e22b8ab5e0c8c4dd7352a35dd0de4a39c33d2efccc0",
|
||||
"feerate_percentiles": [
|
||||
20,
|
||||
20,
|
||||
20,
|
||||
300,
|
||||
300
|
||||
301,
|
||||
301
|
||||
],
|
||||
"height": 103,
|
||||
"ins": 3,
|
||||
"maxfee": 49800,
|
||||
"maxfeerate": 300,
|
||||
"maxtxsize": 248,
|
||||
"medianfee": 3760,
|
||||
"mediantime": 1525107243,
|
||||
"mediantxsize": 248,
|
||||
"maxfeerate": 301,
|
||||
"maxtxsize": 247,
|
||||
"medianfee": 3740,
|
||||
"mediantime": 1536411754,
|
||||
"mediantxsize": 247,
|
||||
"minfee": 3320,
|
||||
"minfeerate": 20,
|
||||
"mintxsize": 188,
|
||||
"mintxsize": 187,
|
||||
"outs": 8,
|
||||
"subsidy": 5000000000,
|
||||
"swtotal_size": 496,
|
||||
"swtotal_weight": 1324,
|
||||
"swtotal_size": 494,
|
||||
"swtotal_weight": 1322,
|
||||
"swtxs": 2,
|
||||
"time": 1525107243,
|
||||
"total_out": 9999939360,
|
||||
"total_size": 684,
|
||||
"total_weight": 2076,
|
||||
"totalfee": 56880,
|
||||
"time": 1536411754,
|
||||
"total_out": 9999939400,
|
||||
"total_size": 681,
|
||||
"total_weight": 2070,
|
||||
"totalfee": 56860,
|
||||
"txs": 4,
|
||||
"utxo_increase": 5,
|
||||
"utxo_size_inc": 380
|
||||
|
||||
@ -42,13 +42,13 @@
|
||||
],
|
||||
"outputs" : [
|
||||
{
|
||||
"bcrt1qmpwzkuwsqc9snjvgdt4czhjsnywa5yjdqpxskv":1.49990000
|
||||
"rltc1q638jrseqgunlwra8sdd27ezy4zttavdu06u8c4":1.49990000
|
||||
},
|
||||
{
|
||||
"bcrt1qqzh2ngh97ru8dfvgma25d6r595wcwqy0cee4cc": 1
|
||||
"rltc1q39vc4y54cwm5ksm5n0ejjqgeq48zk5rtcrqdj2": 1
|
||||
}
|
||||
],
|
||||
"result" : "cHNidP8BAJoCAAAAAljoeiG1ba8MI76OcHBFbDNvfLqlyHV5JPVFiHuyq911AAAAAAD/////g40EJ9DsZQpoqka7CwmK6kQiwHGyyng1Kgd5WdB86h0BAAAAAP////8CcKrwCAAAAAAWABTYXCtx0AYLCcmIauuBXlCZHdoSTQDh9QUAAAAAFgAUAK6pouXw+HaliN9VRuh0LR2HAI8AAAAAAAAAAAA="
|
||||
"result" : "cHNidP8BAJoCAAAAAljoeiG1ba8MI76OcHBFbDNvfLqlyHV5JPVFiHuyq911AAAAAAD/////g40EJ9DsZQpoqka7CwmK6kQiwHGyyng1Kgd5WdB86h0BAAAAAP////8CcKrwCAAAAAAWABTUTyHDIEcn9w+ng1qvZESolr6xvADh9QUAAAAAFgAUiVmKkpXDt0tDdJvzKQEZBU4rUGsAAAAAAAAAAAA="
|
||||
}
|
||||
],
|
||||
"signer" : [
|
||||
|
||||
@ -534,6 +534,7 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
height = self.block_heights[self.tip.sha256] + 1
|
||||
coinbase = create_coinbase(height, self.coinbase_pubkey)
|
||||
b44 = CBlock()
|
||||
b44.nVersion = 0x20000000
|
||||
b44.nTime = self.tip.nTime + 1
|
||||
b44.hashPrevBlock = self.tip.sha256
|
||||
b44.nBits = 0x207fffff
|
||||
@ -548,6 +549,7 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
self.log.info("Reject a block with a non-coinbase as the first tx")
|
||||
non_coinbase = self.create_tx(out[15], 0, 1)
|
||||
b45 = CBlock()
|
||||
b45.nVersion = 0x20000000
|
||||
b45.nTime = self.tip.nTime + 1
|
||||
b45.hashPrevBlock = self.tip.sha256
|
||||
b45.nBits = 0x207fffff
|
||||
@ -563,6 +565,7 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
self.log.info("Reject a block with no transactions")
|
||||
self.move_tip(44)
|
||||
b46 = CBlock()
|
||||
b46.nVersion = 0x20000000
|
||||
b46.nTime = b44.nTime + 1
|
||||
b46.hashPrevBlock = b44.sha256
|
||||
b46.nBits = 0x207fffff
|
||||
@ -1246,10 +1249,12 @@ class FullBlockTest(BitcoinTestFramework):
|
||||
coinbase.rehash()
|
||||
if spend is None:
|
||||
block = create_block(base_block_hash, coinbase, block_time)
|
||||
block.nVersion = 0x20000000
|
||||
else:
|
||||
coinbase.vout[0].nValue += spend.vout[0].nValue - 1 # all but one satoshi to fees
|
||||
coinbase.rehash()
|
||||
block = create_block(base_block_hash, coinbase, block_time)
|
||||
block.nVersion = 0x20000000
|
||||
tx = self.create_tx(spend, 0, 1, script) # spend 1 satoshi
|
||||
self.sign_tx(tx, spend)
|
||||
self.add_transactions_to_block(block, [tx])
|
||||
|
||||
@ -23,6 +23,7 @@ CLTV_HEIGHT = 1351
|
||||
REJECT_INVALID = 16
|
||||
REJECT_OBSOLETE = 17
|
||||
REJECT_NONSTANDARD = 64
|
||||
VB_TOP_BITS = 0x20000000
|
||||
|
||||
def cltv_invalidate(tx):
|
||||
'''Modify the signature in vin 0 of the tx to fail CLTV
|
||||
@ -77,7 +78,7 @@ class BIP65Test(BitcoinTestFramework):
|
||||
tip = self.nodes[0].getbestblockhash()
|
||||
block_time = self.nodes[0].getblockheader(tip)['mediantime'] + 1
|
||||
block = create_block(int(tip, 16), create_coinbase(CLTV_HEIGHT - 1), block_time)
|
||||
block.nVersion = 3
|
||||
block.nVersion = VB_TOP_BITS
|
||||
block.vtx.append(spendtx)
|
||||
block.hashMerkleRoot = block.calc_merkle_root()
|
||||
block.solve()
|
||||
@ -85,7 +86,7 @@ class BIP65Test(BitcoinTestFramework):
|
||||
self.nodes[0].p2p.send_and_ping(msg_block(block))
|
||||
assert_equal(self.nodes[0].getbestblockhash(), block.hash)
|
||||
|
||||
self.log.info("Test that blocks must now be at least version 4")
|
||||
self.log.info("Test that blocks must now be at least version VB_TOP_BITS")
|
||||
tip = block.sha256
|
||||
block_time += 1
|
||||
block = create_block(tip, create_coinbase(CLTV_HEIGHT), block_time)
|
||||
@ -102,7 +103,7 @@ class BIP65Test(BitcoinTestFramework):
|
||||
del self.nodes[0].p2p.last_message["reject"]
|
||||
|
||||
self.log.info("Test that invalid-according-to-cltv transactions cannot appear in a block")
|
||||
block.nVersion = 4
|
||||
block.nVersion = VB_TOP_BITS
|
||||
|
||||
spendtx = create_transaction(self.nodes[0], self.coinbase_txids[1],
|
||||
self.nodeaddress, amount=1.0)
|
||||
@ -134,7 +135,7 @@ class BIP65Test(BitcoinTestFramework):
|
||||
else:
|
||||
assert b'Negative locktime' in self.nodes[0].p2p.last_message["reject"].reason
|
||||
|
||||
self.log.info("Test that a version 4 block with a valid-according-to-CLTV transaction is accepted")
|
||||
self.log.info("Test that a version VB_TOP_BITS block with a valid-according-to-CLTV transaction is accepted")
|
||||
spendtx = cltv_validate(self.nodes[0], spendtx, CLTV_HEIGHT - 1)
|
||||
spendtx.rehash()
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ class ConfArgsTest(BitcoinTestFramework):
|
||||
# Assume node is stopped
|
||||
|
||||
inc_conf_file_path = os.path.join(self.nodes[0].datadir, 'include.conf')
|
||||
with open(os.path.join(self.nodes[0].datadir, 'bitcoin.conf'), 'a', encoding='utf-8') as conf:
|
||||
with open(os.path.join(self.nodes[0].datadir, 'litecoin.conf'), 'a', encoding='utf-8') as conf:
|
||||
conf.write('includeconf={}\n'.format(inc_conf_file_path))
|
||||
|
||||
with open(inc_conf_file_path, 'w', encoding='utf-8') as conf:
|
||||
@ -52,7 +52,7 @@ class ConfArgsTest(BitcoinTestFramework):
|
||||
self.nodes[0].assert_start_raises_init_error(['-datadir=' + new_data_dir], 'Error: Specified data directory "' + new_data_dir + '" does not exist.')
|
||||
|
||||
# Check that using non-existent datadir in conf file fails
|
||||
conf_file = os.path.join(default_data_dir, "bitcoin.conf")
|
||||
conf_file = os.path.join(default_data_dir, "litecoin.conf")
|
||||
|
||||
# datadir needs to be set before [regtest] section
|
||||
conf_file_contents = open(conf_file, encoding='utf8').read()
|
||||
|
||||
@ -143,7 +143,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
def set_test_params(self):
|
||||
self.num_nodes = 1
|
||||
self.setup_clean_chain = True
|
||||
self.extra_args = [['-whitelist=127.0.0.1', '-blockversion=4', '-addresstype=legacy']]
|
||||
self.extra_args = [['-whitelist=127.0.0.1', '-blockversion=536870912', '-addresstype=legacy']]
|
||||
|
||||
def skip_test_if_missing_module(self):
|
||||
self.skip_if_no_wallet()
|
||||
@ -189,7 +189,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
|
||||
self.log.info("Test that the csv softfork is DEFINED")
|
||||
assert_equal(get_bip9_status(self.nodes[0], 'csv')['status'], 'defined')
|
||||
test_blocks = self.generate_blocks(61, 4)
|
||||
test_blocks = self.generate_blocks(61, 0x20000000)
|
||||
self.sync_blocks(test_blocks)
|
||||
|
||||
self.log.info("Advance from DEFINED to STARTED, height = 143")
|
||||
@ -199,7 +199,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
# 100 out of 144 signal bit 0. Use a variety of bits to simulate multiple parallel softforks
|
||||
|
||||
test_blocks = self.generate_blocks(50, 536870913) # 0x20000001 (signalling ready)
|
||||
test_blocks = self.generate_blocks(20, 4, test_blocks) # 0x00000004 (signalling not)
|
||||
test_blocks = self.generate_blocks(20, 0x20000000, test_blocks) # 0x00000004 (signalling not)
|
||||
test_blocks = self.generate_blocks(50, 536871169, test_blocks) # 0x20000101 (signalling ready)
|
||||
test_blocks = self.generate_blocks(24, 536936448, test_blocks) # 0x20010000 (signalling not)
|
||||
self.sync_blocks(test_blocks)
|
||||
@ -211,7 +211,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
# 108 out of 144 signal bit 0 to achieve lock-in
|
||||
# using a variety of bits to simulate multiple parallel softforks
|
||||
test_blocks = self.generate_blocks(58, 536870913) # 0x20000001 (signalling ready)
|
||||
test_blocks = self.generate_blocks(26, 4, test_blocks) # 0x00000004 (signalling not)
|
||||
test_blocks = self.generate_blocks(26, 0x20000000, test_blocks) # 0x00000004 (signalling not)
|
||||
test_blocks = self.generate_blocks(50, 536871169, test_blocks) # 0x20000101 (signalling ready)
|
||||
test_blocks = self.generate_blocks(10, 536936448, test_blocks) # 0x20010000 (signalling not)
|
||||
self.sync_blocks(test_blocks)
|
||||
@ -220,7 +220,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
assert_equal(get_bip9_status(self.nodes[0], 'csv')['status'], 'locked_in')
|
||||
|
||||
# Generate 140 more version 4 blocks
|
||||
test_blocks = self.generate_blocks(140, 4)
|
||||
test_blocks = self.generate_blocks(140, 0x20000000)
|
||||
self.sync_blocks(test_blocks)
|
||||
|
||||
# Inputs at height = 572
|
||||
@ -263,7 +263,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
assert_equal(len(self.nodes[0].getblock(inputblockhash, True)["tx"]), 82 + 1)
|
||||
|
||||
# 2 more version 4 blocks
|
||||
test_blocks = self.generate_blocks(2, 4)
|
||||
test_blocks = self.generate_blocks(2, 0x20000000)
|
||||
self.sync_blocks(test_blocks)
|
||||
|
||||
self.log.info("Not yet advanced to ACTIVE, height = 574 (will activate for block 576, not 575)")
|
||||
@ -341,7 +341,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
self.nodes[0].invalidateblock(self.nodes[0].getbestblockhash())
|
||||
|
||||
# 1 more version 4 block to get us to height 575 so the fork should now be active for the next block
|
||||
test_blocks = self.generate_blocks(1, 4)
|
||||
test_blocks = self.generate_blocks(1, 0x20000000)
|
||||
self.sync_blocks(test_blocks)
|
||||
assert_equal(get_bip9_status(self.nodes[0], 'csv')['status'], 'active')
|
||||
|
||||
@ -365,7 +365,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
self.nodes[0].invalidateblock(self.nodes[0].getbestblockhash())
|
||||
|
||||
# Next block height = 580 after 4 blocks of random version
|
||||
test_blocks = self.generate_blocks(4, 1234)
|
||||
test_blocks = self.generate_blocks(4, 0x20000000)
|
||||
self.sync_blocks(test_blocks)
|
||||
|
||||
self.log.info("BIP 68 tests")
|
||||
@ -393,7 +393,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
self.sync_blocks([self.create_test_block([tx])], success=False)
|
||||
|
||||
# Advance one block to 581
|
||||
test_blocks = self.generate_blocks(1, 1234)
|
||||
test_blocks = self.generate_blocks(1, 0x20000000)
|
||||
self.sync_blocks(test_blocks)
|
||||
|
||||
# Height txs should fail and time txs should now pass 9 * 600 > 10 * 512
|
||||
@ -404,7 +404,7 @@ class BIP68_112_113Test(BitcoinTestFramework):
|
||||
self.sync_blocks([self.create_test_block([tx])], success=False)
|
||||
|
||||
# Advance one block to 582
|
||||
test_blocks = self.generate_blocks(1, 1234)
|
||||
test_blocks = self.generate_blocks(1, 0x20000000)
|
||||
self.sync_blocks(test_blocks)
|
||||
|
||||
# All BIP 68 txs should pass
|
||||
|
||||
@ -20,6 +20,7 @@ DERSIG_HEIGHT = 1251
|
||||
REJECT_INVALID = 16
|
||||
REJECT_OBSOLETE = 17
|
||||
REJECT_NONSTANDARD = 64
|
||||
VB_TOP_BITS = 0x20000000
|
||||
|
||||
# A canonical signature consists of:
|
||||
# <30> <total len> <02> <len R> <R> <02> <len S> <S> <hashtype>
|
||||
@ -65,7 +66,7 @@ class BIP66Test(BitcoinTestFramework):
|
||||
tip = self.nodes[0].getbestblockhash()
|
||||
block_time = self.nodes[0].getblockheader(tip)['mediantime'] + 1
|
||||
block = create_block(int(tip, 16), create_coinbase(DERSIG_HEIGHT - 1), block_time)
|
||||
block.nVersion = 2
|
||||
block.nVersion = VB_TOP_BITS
|
||||
block.vtx.append(spendtx)
|
||||
block.hashMerkleRoot = block.calc_merkle_root()
|
||||
block.rehash()
|
||||
@ -74,7 +75,7 @@ class BIP66Test(BitcoinTestFramework):
|
||||
self.nodes[0].p2p.send_and_ping(msg_block(block))
|
||||
assert_equal(self.nodes[0].getbestblockhash(), block.hash)
|
||||
|
||||
self.log.info("Test that blocks must now be at least version 3")
|
||||
self.log.info("Test that blocks must now be at least VB_TOP_BITS")
|
||||
tip = block.sha256
|
||||
block_time += 1
|
||||
block = create_block(tip, create_coinbase(DERSIG_HEIGHT), block_time)
|
||||
@ -92,7 +93,7 @@ class BIP66Test(BitcoinTestFramework):
|
||||
del self.nodes[0].p2p.last_message["reject"]
|
||||
|
||||
self.log.info("Test that transactions with non-DER signatures cannot appear in a block")
|
||||
block.nVersion = 3
|
||||
block.nVersion = VB_TOP_BITS
|
||||
|
||||
spendtx = create_transaction(self.nodes[0], self.coinbase_txids[1],
|
||||
self.nodeaddress, amount=1.0)
|
||||
|
||||
@ -32,7 +32,7 @@ class IncludeConfTest(BitcoinTestFramework):
|
||||
# - tmpdir/node0/relative2.conf
|
||||
with open(os.path.join(self.options.tmpdir, "node0", "relative2.conf"), "w", encoding="utf8") as f:
|
||||
f.write("uacomment=relative2\n")
|
||||
with open(os.path.join(self.options.tmpdir, "node0", "bitcoin.conf"), "a", encoding='utf8') as f:
|
||||
with open(os.path.join(self.options.tmpdir, "node0", "litecoin.conf"), "a", encoding='utf8') as f:
|
||||
f.write("uacomment=main\nincludeconf=relative.conf\n")
|
||||
|
||||
def run_test(self):
|
||||
@ -70,7 +70,7 @@ class IncludeConfTest(BitcoinTestFramework):
|
||||
# Restore initial file contents
|
||||
f.write("uacomment=relative\n")
|
||||
|
||||
with open(os.path.join(self.options.tmpdir, "node0", "bitcoin.conf"), "a", encoding='utf8') as f:
|
||||
with open(os.path.join(self.options.tmpdir, "node0", "litecoin.conf"), "a", encoding='utf8') as f:
|
||||
f.write("includeconf=relative2.conf\n")
|
||||
|
||||
self.start_node(0)
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
# Copyright (c) 2017-2018 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
"""Test bitcoin-cli"""
|
||||
"""Test litecoin-cli"""
|
||||
from test_framework.test_framework import BitcoinTestFramework
|
||||
from test_framework.util import assert_equal, assert_raises_process_error, get_auth_cookie
|
||||
|
||||
@ -19,14 +19,14 @@ class TestBitcoinCli(BitcoinTestFramework):
|
||||
"""Main test logic"""
|
||||
|
||||
cli_response = self.nodes[0].cli("-version").send_cli()
|
||||
assert("Bitcoin Core RPC client version" in cli_response)
|
||||
assert("Litecoin Core RPC client version" in cli_response)
|
||||
|
||||
self.log.info("Compare responses from gewalletinfo RPC and `bitcoin-cli getwalletinfo`")
|
||||
self.log.info("Compare responses from gewalletinfo RPC and `litecoin-cli getwalletinfo`")
|
||||
cli_response = self.nodes[0].cli.getwalletinfo()
|
||||
rpc_response = self.nodes[0].getwalletinfo()
|
||||
assert_equal(cli_response, rpc_response)
|
||||
|
||||
self.log.info("Compare responses from getblockchaininfo RPC and `bitcoin-cli getblockchaininfo`")
|
||||
self.log.info("Compare responses from getblockchaininfo RPC and `litecoin-cli getblockchaininfo`")
|
||||
cli_response = self.nodes[0].cli.getblockchaininfo()
|
||||
rpc_response = self.nodes[0].getblockchaininfo()
|
||||
assert_equal(cli_response, rpc_response)
|
||||
@ -50,7 +50,7 @@ class TestBitcoinCli(BitcoinTestFramework):
|
||||
self.log.info("Make sure that -getinfo with arguments fails")
|
||||
assert_raises_process_error(1, "-getinfo takes no arguments", self.nodes[0].cli('-getinfo').help)
|
||||
|
||||
self.log.info("Compare responses from `bitcoin-cli -getinfo` and the RPCs data is retrieved from.")
|
||||
self.log.info("Compare responses from `litecoin-cli -getinfo` and the RPCs data is retrieved from.")
|
||||
cli_get_info = self.nodes[0].cli('-getinfo').send_cli()
|
||||
wallet_info = self.nodes[0].getwalletinfo()
|
||||
network_info = self.nodes[0].getnetworkinfo()
|
||||
|
||||
@ -197,7 +197,7 @@ class MempoolAcceptanceTest(BitcoinTestFramework):
|
||||
|
||||
self.log.info('A transaction with too large output value')
|
||||
tx.deserialize(BytesIO(hex_str_to_bytes(raw_tx_reference)))
|
||||
tx.vout[0].nValue = 21000000 * COIN + 1
|
||||
tx.vout[0].nValue = 84000000 * COIN + 1
|
||||
self.check_mempool_result(
|
||||
result_expected=[{'txid': tx.rehash(), 'allowed': False, 'reject-reason': '16: bad-txns-vout-toolarge'}],
|
||||
rawtxs=[bytes_to_hex_str(tx.serialize())],
|
||||
@ -206,7 +206,7 @@ class MempoolAcceptanceTest(BitcoinTestFramework):
|
||||
self.log.info('A transaction with too large sum of output values')
|
||||
tx.deserialize(BytesIO(hex_str_to_bytes(raw_tx_reference)))
|
||||
tx.vout = [tx.vout[0]] * 2
|
||||
tx.vout[0].nValue = 21000000 * COIN
|
||||
tx.vout[0].nValue = 84000000 * COIN
|
||||
self.check_mempool_result(
|
||||
result_expected=[{'txid': tx.rehash(), 'allowed': False, 'reject-reason': '16: bad-txns-txouttotal-toolarge'}],
|
||||
rawtxs=[bytes_to_hex_str(tx.serialize())],
|
||||
|
||||
@ -110,7 +110,7 @@ class MempoolPersistTest(BitcoinTestFramework):
|
||||
self.start_node(1, extra_args=[])
|
||||
wait_until(lambda: len(self.nodes[1].getrawmempool()) == 5)
|
||||
|
||||
self.log.debug("Prevent bitcoind from writing mempool.dat to disk. Verify that `savemempool` fails")
|
||||
self.log.debug("Prevent litecoind from writing mempool.dat to disk. Verify that `savemempool` fails")
|
||||
# to test the exception we are creating a tmp folder called mempool.dat.new
|
||||
# which is an implementation detail that could change and break this test
|
||||
mempooldotnew1 = mempooldat1 + '.new'
|
||||
|
||||
@ -40,6 +40,7 @@ class P2PFingerprintTest(BitcoinTestFramework):
|
||||
coinbase = create_coinbase(prev_height + 1)
|
||||
block_time = prev_median_time + 1
|
||||
block = create_block(int(prev_hash, 16), coinbase, block_time)
|
||||
block.nVersion = 0x20000000
|
||||
block.solve()
|
||||
|
||||
blocks.append(block)
|
||||
|
||||
@ -41,6 +41,7 @@ class InvalidBlockRequestTest(BitcoinTestFramework):
|
||||
|
||||
height = 1
|
||||
block = create_block(tip, create_coinbase(height), block_time)
|
||||
block.nVersion = 0x20000000
|
||||
block.solve()
|
||||
# Save the coinbase for later
|
||||
block1 = block
|
||||
@ -63,6 +64,7 @@ class InvalidBlockRequestTest(BitcoinTestFramework):
|
||||
self.log.info("Test merkle root malleability.")
|
||||
|
||||
block2 = create_block(tip, create_coinbase(height), block_time)
|
||||
block2.nVersion = 0x20000000
|
||||
block_time += 1
|
||||
|
||||
# b'0x51' is OP_TRUE
|
||||
@ -97,6 +99,7 @@ class InvalidBlockRequestTest(BitcoinTestFramework):
|
||||
self.log.info("Test very broken block.")
|
||||
|
||||
block3 = create_block(tip, create_coinbase(height), block_time)
|
||||
block3.nVersion = 0x20000000
|
||||
block_time += 1
|
||||
block3.vtx[0].vout[0].nValue = 100 * COIN # Too high!
|
||||
block3.vtx[0].sha256 = None
|
||||
|
||||
@ -57,6 +57,7 @@ class InvalidTxRequestTest(BitcoinTestFramework):
|
||||
self.log.info("Create a new block with an anyone-can-spend coinbase.")
|
||||
height = 1
|
||||
block = create_block(tip, create_coinbase(height), block_time)
|
||||
block.nVersion = 0x20000000
|
||||
block.solve()
|
||||
# Save the coinbase for later
|
||||
block1 = block
|
||||
|
||||
@ -209,13 +209,13 @@ class SegWitTest(BitcoinTestFramework):
|
||||
|
||||
# Helper functions
|
||||
|
||||
def build_next_block(self, nVersion=VB_TOP_BITS):
|
||||
def build_next_block(self, version=VB_TOP_BITS):
|
||||
"""Build a block on top of node0's tip."""
|
||||
tip = self.nodes[0].getbestblockhash()
|
||||
height = self.nodes[0].getblockcount() + 1
|
||||
block_time = self.nodes[0].getblockheader(tip)["mediantime"] + 1
|
||||
block = create_block(int(tip, 16), create_coinbase(height), block_time)
|
||||
block.version = version
|
||||
block.nVersion = version
|
||||
block.rehash()
|
||||
return block
|
||||
|
||||
@ -385,7 +385,8 @@ class SegWitTest(BitcoinTestFramework):
|
||||
assert(self.test_node.last_message["getdata"].inv[0].type == blocktype)
|
||||
test_witness_block(self.nodes[0], self.test_node, block1, True)
|
||||
|
||||
block2 = self.build_next_block(version=4)
|
||||
|
||||
block2 = self.build_next_block()
|
||||
block2.solve()
|
||||
|
||||
self.test_node.announce_block_and_wait_for_getdata(block2, use_header=True)
|
||||
@ -536,7 +537,8 @@ class SegWitTest(BitcoinTestFramework):
|
||||
# 'non-mandatory-script-verify-flag (Witness program was passed an
|
||||
# empty witness)' (otherwise).
|
||||
# TODO: support multiple acceptable reject reasons.
|
||||
test_witness_block(self.nodes[0], self.test_node, block, accepted=False, with_witness=False)
|
||||
# Litecoin: SCRIPT_VERIFY_WITNESS is enforced when segwit is activated
|
||||
test_witness_block(self.nodes[0], self.test_node, block, accepted=True, with_witness=False)
|
||||
|
||||
connect_nodes(self.nodes[0], 2)
|
||||
|
||||
@ -1953,10 +1955,10 @@ class SegWitTest(BitcoinTestFramework):
|
||||
"""Test the behavior of starting up a segwit-aware node after the softfork has activated."""
|
||||
|
||||
print ("\tTesting rejection of block.nVersion < BIP9_TOP_BITS blocks")
|
||||
block = self.build_next_block(nVersion=4)
|
||||
block = self.build_next_block(version=4)
|
||||
block.solve()
|
||||
resp = self.nodes[0].submitblock(bytes_to_hex_str(block.serialize(True)))
|
||||
assert_equal(resp, 'bad-version(0x00000004)')
|
||||
assert_equal(resp, 'invalid')
|
||||
|
||||
# Restart with the new binary
|
||||
self.stop_node(2)
|
||||
|
||||
@ -267,6 +267,7 @@ class SendHeadersTest(BitcoinTestFramework):
|
||||
|
||||
self.log.info("Verify getheaders with null locator and invalid hashstop does not return headers.")
|
||||
block = create_block(int(tip["hash"], 16), create_coinbase(tip["height"] + 1), tip["mediantime"] + 1)
|
||||
block.nVersion = 0x20000000
|
||||
block.solve()
|
||||
test_node.send_header_for_blocks([block])
|
||||
test_node.clear_block_announcements()
|
||||
@ -307,6 +308,7 @@ class SendHeadersTest(BitcoinTestFramework):
|
||||
last_time = self.nodes[0].getblock(self.nodes[0].getbestblockhash())['time']
|
||||
block_time = last_time + 1
|
||||
new_block = create_block(tip, create_coinbase(height + 1), block_time)
|
||||
new_block.nVersion = 0x20000000
|
||||
new_block.solve()
|
||||
test_node.send_header_for_blocks([new_block])
|
||||
test_node.wait_for_getdata([new_block.sha256])
|
||||
@ -344,6 +346,7 @@ class SendHeadersTest(BitcoinTestFramework):
|
||||
blocks = []
|
||||
for b in range(i + 1):
|
||||
blocks.append(create_block(tip, create_coinbase(height), block_time))
|
||||
blocks[-1].nVersion = 0x20000000
|
||||
blocks[-1].solve()
|
||||
tip = blocks[-1].sha256
|
||||
block_time += 1
|
||||
@ -459,6 +462,7 @@ class SendHeadersTest(BitcoinTestFramework):
|
||||
blocks = []
|
||||
for b in range(2):
|
||||
blocks.append(create_block(tip, create_coinbase(height), block_time))
|
||||
blocks[-1].nVersion = 0x20000000
|
||||
blocks[-1].solve()
|
||||
tip = blocks[-1].sha256
|
||||
block_time += 1
|
||||
@ -477,6 +481,7 @@ class SendHeadersTest(BitcoinTestFramework):
|
||||
blocks = []
|
||||
for b in range(3):
|
||||
blocks.append(create_block(tip, create_coinbase(height), block_time))
|
||||
blocks[-1].nVersion = 0x20000000
|
||||
blocks[-1].solve()
|
||||
tip = blocks[-1].sha256
|
||||
block_time += 1
|
||||
@ -498,6 +503,7 @@ class SendHeadersTest(BitcoinTestFramework):
|
||||
# Create extra blocks for later
|
||||
for b in range(20):
|
||||
blocks.append(create_block(tip, create_coinbase(height), block_time))
|
||||
blocks[-1].nVersion = 0x20000000
|
||||
blocks[-1].solve()
|
||||
tip = blocks[-1].sha256
|
||||
block_time += 1
|
||||
@ -545,6 +551,7 @@ class SendHeadersTest(BitcoinTestFramework):
|
||||
# Create two more blocks.
|
||||
for j in range(2):
|
||||
blocks.append(create_block(tip, create_coinbase(height), block_time))
|
||||
blocks[-1].nVersion = 0x20000000
|
||||
blocks[-1].solve()
|
||||
tip = blocks[-1].sha256
|
||||
block_time += 1
|
||||
@ -566,6 +573,7 @@ class SendHeadersTest(BitcoinTestFramework):
|
||||
MAX_UNCONNECTING_HEADERS = 10
|
||||
for j in range(MAX_UNCONNECTING_HEADERS + 1):
|
||||
blocks.append(create_block(tip, create_coinbase(height), block_time))
|
||||
blocks[-1].nVersion = 0x20000000
|
||||
blocks[-1].solve()
|
||||
tip = blocks[-1].sha256
|
||||
block_time += 1
|
||||
|
||||
@ -94,6 +94,7 @@ class AcceptBlockTest(BitcoinTestFramework):
|
||||
block_time = int(time.time()) + 1
|
||||
for i in range(2):
|
||||
blocks_h2.append(create_block(tips[i], create_coinbase(2), block_time))
|
||||
blocks_h2[i].nVersion = 0x20000000
|
||||
blocks_h2[i].solve()
|
||||
block_time += 1
|
||||
test_node.send_message(msg_block(blocks_h2[0]))
|
||||
@ -107,6 +108,7 @@ class AcceptBlockTest(BitcoinTestFramework):
|
||||
|
||||
# 3. Send another block that builds on genesis.
|
||||
block_h1f = create_block(int("0x" + self.nodes[0].getblockhash(0), 0), create_coinbase(1), block_time)
|
||||
block_h1f.nVersion = 0x20000000
|
||||
block_time += 1
|
||||
block_h1f.solve()
|
||||
test_node.send_message(msg_block(block_h1f))
|
||||
@ -122,6 +124,7 @@ class AcceptBlockTest(BitcoinTestFramework):
|
||||
|
||||
# 4. Send another two block that build on the fork.
|
||||
block_h2f = create_block(block_h1f.sha256, create_coinbase(2), block_time)
|
||||
block_h2f.nVersion = 0x20000000
|
||||
block_time += 1
|
||||
block_h2f.solve()
|
||||
test_node.send_message(msg_block(block_h2f))
|
||||
@ -142,6 +145,7 @@ class AcceptBlockTest(BitcoinTestFramework):
|
||||
|
||||
# 4b. Now send another block that builds on the forking chain.
|
||||
block_h3 = create_block(block_h2f.sha256, create_coinbase(3), block_h2f.nTime+1)
|
||||
block_h3.nVersion = 0x20000000
|
||||
block_h3.solve()
|
||||
test_node.send_message(msg_block(block_h3))
|
||||
|
||||
@ -166,6 +170,7 @@ class AcceptBlockTest(BitcoinTestFramework):
|
||||
all_blocks = []
|
||||
for i in range(288):
|
||||
next_block = create_block(tip.sha256, create_coinbase(i + 4), tip.nTime+1)
|
||||
next_block.nVersion = 0x20000000
|
||||
next_block.solve()
|
||||
all_blocks.append(next_block)
|
||||
tip = next_block
|
||||
@ -241,15 +246,19 @@ class AcceptBlockTest(BitcoinTestFramework):
|
||||
# 8. Create a chain which is invalid at a height longer than the
|
||||
# current chain, but which has more blocks on top of that
|
||||
block_289f = create_block(all_blocks[284].sha256, create_coinbase(289), all_blocks[284].nTime+1)
|
||||
block_289f.nVersion = 0x20000000
|
||||
block_289f.solve()
|
||||
block_290f = create_block(block_289f.sha256, create_coinbase(290), block_289f.nTime+1)
|
||||
block_290f.nVersion = 0x20000000
|
||||
block_290f.solve()
|
||||
block_291 = create_block(block_290f.sha256, create_coinbase(291), block_290f.nTime+1)
|
||||
block_291.nVersion = 0x20000000
|
||||
# block_291 spends a coinbase below maturity!
|
||||
block_291.vtx.append(create_tx_with_script(block_290f.vtx[0], 0, script_sig=b"42", amount=1))
|
||||
block_291.hashMerkleRoot = block_291.calc_merkle_root()
|
||||
block_291.solve()
|
||||
block_292 = create_block(block_291.sha256, create_coinbase(292), block_291.nTime+1)
|
||||
block_292.nVersion = 0x20000000
|
||||
block_292.solve()
|
||||
|
||||
# Now send all the headers on the chain and enough blocks to trigger reorg
|
||||
@ -297,6 +306,7 @@ class AcceptBlockTest(BitcoinTestFramework):
|
||||
|
||||
# Now send a new header on the invalid chain, indicating we're forked off, and expect to get disconnected
|
||||
block_293 = create_block(block_292.sha256, create_coinbase(293), block_292.nTime+1)
|
||||
block_293.nVersion = 0x20000000
|
||||
block_293.solve()
|
||||
headers_message = msg_headers()
|
||||
headers_message.headers.append(CBlockHeader(block_293))
|
||||
|
||||
@ -274,6 +274,7 @@ class BlockchainTest(BitcoinTestFramework):
|
||||
|
||||
def solve_and_send_block(prevhash, height, time):
|
||||
b = create_block(prevhash, create_coinbase(height), time)
|
||||
b.nVersion = 0x20000000
|
||||
b.solve()
|
||||
node.p2p.send_message(msg_block(b))
|
||||
node.p2p.sync_with_ping()
|
||||
|
||||
@ -61,7 +61,7 @@ class RpcCreateMultiSigTest(BitcoinTestFramework):
|
||||
madd = msig["address"]
|
||||
mredeem = msig["redeemScript"]
|
||||
if self.output_type == 'bech32':
|
||||
assert madd[0:4] == "bcrt" # actually a bech32 address
|
||||
assert madd[0:4] == "rltc" # actually a bech32 address
|
||||
|
||||
# compare against addmultisigaddress
|
||||
msigw = node1.addmultisigaddress(self.nsigs, self.pub, None, self.output_type)
|
||||
|
||||
@ -94,7 +94,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||
self.nodes[0].createrawtransaction(inputs=[], outputs={}) # Should not throw for backwards compatibility
|
||||
self.nodes[0].createrawtransaction(inputs=[], outputs=[])
|
||||
assert_raises_rpc_error(-8, "Data must be hexadecimal string", self.nodes[0].createrawtransaction, [], {'data': 'foo'})
|
||||
assert_raises_rpc_error(-5, "Invalid Bitcoin address", self.nodes[0].createrawtransaction, [], {'foo': 0})
|
||||
assert_raises_rpc_error(-5, "Invalid Litecoin address", self.nodes[0].createrawtransaction, [], {'foo': 0})
|
||||
assert_raises_rpc_error(-3, "Invalid amount", self.nodes[0].createrawtransaction, [], {address: 'foo'})
|
||||
assert_raises_rpc_error(-3, "Amount out of range", self.nodes[0].createrawtransaction, [], {address: -1})
|
||||
assert_raises_rpc_error(-8, "Invalid parameter, duplicated address: %s" % address, self.nodes[0].createrawtransaction, [], multidict([(address, 1), (address, 1)]))
|
||||
|
||||
@ -22,7 +22,7 @@ class SignMessagesTest(BitcoinTestFramework):
|
||||
self.log.info('test signing with priv_key')
|
||||
priv_key = 'cUeKHd5orzT3mz8P9pxyREHfsWtVfgsfDjiZZBcjUBAaGk1BTj7N'
|
||||
address = 'mpLQjfK79b7CCV4VMJWEWAj5Mpx8Up5zxB'
|
||||
expected_signature = 'INbVnW4e6PeRmsv2Qgu8NuopvrVjkcxob+sX8OcZG0SALhWybUjzMLPdAsXI46YZGb0KQTRii+wWIQzRpG/U+S0='
|
||||
expected_signature = 'IGve8AOjIcu+a/nYW1PABSfmp2oQlEqLIOwPgNW5/Y5teggr8S0vy4SMdjL2Viv3iuBZjJbhvyBo0tv5m3H63b8='
|
||||
signature = self.nodes[0].signmessagewithprivkey(priv_key, message)
|
||||
assert_equal(expected_signature, signature)
|
||||
assert(self.nodes[0].verifymessage(address, signature, message))
|
||||
|
||||
@ -57,7 +57,7 @@ def program_to_witness(version, program, main = False):
|
||||
assert 0 <= version <= 16
|
||||
assert 2 <= len(program) <= 40
|
||||
assert version > 0 or len(program) in [20, 32]
|
||||
return segwit_addr.encode("bc" if main else "bcrt", version, program)
|
||||
return segwit_addr.encode("ltc" if main else "rltc", version, program)
|
||||
|
||||
def script_to_p2wsh(script, main = False):
|
||||
script = check_script(script)
|
||||
|
||||
@ -76,7 +76,7 @@ def get_filename(dirname, n_node):
|
||||
|
||||
def write_all_rpc_commands(dirname, node):
|
||||
"""
|
||||
Write out a list of all RPC functions available in `bitcoin-cli` for
|
||||
Write out a list of all RPC functions available in `litecoin-cli` for
|
||||
coverage comparison. This will only happen once per coverage
|
||||
directory.
|
||||
|
||||
|
||||
@ -23,11 +23,12 @@ import socket
|
||||
import struct
|
||||
import time
|
||||
|
||||
import litecoin_scrypt
|
||||
from test_framework.siphash import siphash256
|
||||
from test_framework.util import hex_str_to_bytes, bytes_to_hex_str
|
||||
|
||||
MIN_VERSION_SUPPORTED = 60001
|
||||
MY_VERSION = 70014 # past bip-31 for ping/pong
|
||||
MY_VERSION = 80014 # past bip-31 for ping/pong
|
||||
MY_SUBVERSION = b"/python-mininode-tester:0.0.3/"
|
||||
MY_RELAY = 1 # from version 70001 onwards, fRelay should be appended to version messages (BIP37)
|
||||
|
||||
@ -509,6 +510,7 @@ class CBlockHeader():
|
||||
self.nNonce = header.nNonce
|
||||
self.sha256 = header.sha256
|
||||
self.hash = header.hash
|
||||
self.scrypt256 = header.scrypt256
|
||||
self.calc_sha256()
|
||||
|
||||
def set_null(self):
|
||||
@ -520,6 +522,7 @@ class CBlockHeader():
|
||||
self.nNonce = 0
|
||||
self.sha256 = None
|
||||
self.hash = None
|
||||
self.scrypt256 = None
|
||||
|
||||
def deserialize(self, f):
|
||||
self.nVersion = struct.unpack("<i", f.read(4))[0]
|
||||
@ -530,6 +533,7 @@ class CBlockHeader():
|
||||
self.nNonce = struct.unpack("<I", f.read(4))[0]
|
||||
self.sha256 = None
|
||||
self.hash = None
|
||||
self.scrypt256 = None
|
||||
|
||||
def serialize(self):
|
||||
r = b""
|
||||
@ -552,9 +556,11 @@ class CBlockHeader():
|
||||
r += struct.pack("<I", self.nNonce)
|
||||
self.sha256 = uint256_from_str(hash256(r))
|
||||
self.hash = encode(hash256(r)[::-1], 'hex_codec').decode('ascii')
|
||||
self.scrypt256 = uint256_from_str(litecoin_scrypt.getPoWHash(r))
|
||||
|
||||
def rehash(self):
|
||||
self.sha256 = None
|
||||
self.scrypt256 = None
|
||||
self.calc_sha256()
|
||||
return self.sha256
|
||||
|
||||
@ -614,7 +620,7 @@ class CBlock(CBlockHeader):
|
||||
def is_valid(self):
|
||||
self.calc_sha256()
|
||||
target = uint256_from_compact(self.nBits)
|
||||
if self.sha256 > target:
|
||||
if self.scrypt256 > target:
|
||||
return False
|
||||
for tx in self.vtx:
|
||||
if not tx.is_valid():
|
||||
@ -626,7 +632,7 @@ class CBlock(CBlockHeader):
|
||||
def solve(self):
|
||||
self.rehash()
|
||||
target = uint256_from_compact(self.nBits)
|
||||
while self.sha256 > target:
|
||||
while self.scrypt256 > target:
|
||||
self.nNonce += 1
|
||||
self.rehash()
|
||||
|
||||
|
||||
@ -51,8 +51,8 @@ MESSAGEMAP = {
|
||||
}
|
||||
|
||||
MAGIC_BYTES = {
|
||||
"mainnet": b"\xf9\xbe\xb4\xd9", # mainnet
|
||||
"testnet3": b"\x0b\x11\x09\x07", # testnet3
|
||||
"mainnet": b"\xfb\xc0\xb6\xdb", # mainnet
|
||||
"testnet4": b"\xfd\xd2\xc8\xf1", # testnet3
|
||||
"regtest": b"\xfa\xbf\xb5\xda", # regtest
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ class P2PConnection(asyncio.Protocol):
|
||||
self.on_connection_send_msg = None
|
||||
self.recvbuf = b""
|
||||
self.network = net
|
||||
logger.debug('Connecting to Bitcoin Node: %s:%d' % (self.dstaddr, self.dstport))
|
||||
logger.debug('Connecting to Litecoin Node: %s:%d' % (self.dstaddr, self.dstport))
|
||||
|
||||
loop = NetworkThread.network_event_loop
|
||||
conn_gen_unsafe = loop.create_connection(lambda: self, host=self.dstaddr, port=self.dstport)
|
||||
|
||||
@ -72,9 +72,9 @@ class BitcoinTestMetaClass(type):
|
||||
|
||||
|
||||
class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
"""Base class for a bitcoin test script.
|
||||
"""Base class for a litecoin test script.
|
||||
|
||||
Individual bitcoin test scripts should subclass this class and override the set_test_params() and run_test() methods.
|
||||
Individual litecoin test scripts should subclass this class and override the set_test_params() and run_test() methods.
|
||||
|
||||
Individual tests can also override the following methods to customize the test setup:
|
||||
|
||||
@ -105,9 +105,9 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
|
||||
parser = argparse.ArgumentParser(usage="%(prog)s [options]")
|
||||
parser.add_argument("--nocleanup", dest="nocleanup", default=False, action="store_true",
|
||||
help="Leave bitcoinds and test.* datadir on exit or error")
|
||||
help="Leave litecoinds and test.* datadir on exit or error")
|
||||
parser.add_argument("--noshutdown", dest="noshutdown", default=False, action="store_true",
|
||||
help="Don't stop bitcoinds after the test execution")
|
||||
help="Don't stop litecoinds after the test execution")
|
||||
parser.add_argument("--cachedir", dest="cachedir", default=os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + "/../../cache"),
|
||||
help="Directory for caching pregenerated datadirs (default: %(default)s)")
|
||||
parser.add_argument("--tmpdir", dest="tmpdir", help="Root directory for datadirs")
|
||||
@ -125,7 +125,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
parser.add_argument("--pdbonfailure", dest="pdbonfailure", default=False, action="store_true",
|
||||
help="Attach a python debugger if test fails")
|
||||
parser.add_argument("--usecli", dest="usecli", default=False, action="store_true",
|
||||
help="use bitcoin-cli instead of RPC for all commands")
|
||||
help="use litecoin-cli instead of RPC for all commands")
|
||||
self.add_options(parser)
|
||||
self.options = parser.parse_args()
|
||||
|
||||
@ -137,8 +137,8 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read_file(open(self.options.configfile))
|
||||
self.options.bitcoind = os.getenv("BITCOIND", default=config["environment"]["BUILDDIR"] + '/src/bitcoind' + config["environment"]["EXEEXT"])
|
||||
self.options.bitcoincli = os.getenv("BITCOINCLI", default=config["environment"]["BUILDDIR"] + '/src/bitcoin-cli' + config["environment"]["EXEEXT"])
|
||||
self.options.bitcoind = os.getenv("LITECOIND", default=config["environment"]["BUILDDIR"] + '/src/litecoind' + config["environment"]["EXEEXT"])
|
||||
self.options.bitcoincli = os.getenv("LITECOINCLI", default=config["environment"]["BUILDDIR"] + '/src/litecoin-cli' + config["environment"]["EXEEXT"])
|
||||
|
||||
os.environ['PATH'] = os.pathsep.join([
|
||||
os.path.join(config['environment']['BUILDDIR'], 'src'),
|
||||
@ -196,7 +196,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
else:
|
||||
for node in self.nodes:
|
||||
node.cleanup_on_exit = False
|
||||
self.log.info("Note: bitcoinds were not stopped and may still be running")
|
||||
self.log.info("Note: litecoinds were not stopped and may still be running")
|
||||
|
||||
if not self.options.nocleanup and not self.options.noshutdown and success != TestStatus.FAILED:
|
||||
self.log.info("Cleaning up {} on exit".format(self.options.tmpdir))
|
||||
@ -296,7 +296,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
self.nodes.append(TestNode(i, get_datadir_path(self.options.tmpdir, i), rpchost=rpchost, timewait=self.rpc_timewait, bitcoind=binary[i], bitcoin_cli=self.options.bitcoincli, mocktime=self.mocktime, coverage_dir=self.options.coveragedir, extra_conf=extra_confs[i], extra_args=extra_args[i], use_cli=self.options.usecli))
|
||||
|
||||
def start_node(self, i, *args, **kwargs):
|
||||
"""Start a bitcoind"""
|
||||
"""Start a litecoind"""
|
||||
|
||||
node = self.nodes[i]
|
||||
|
||||
@ -307,7 +307,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
coverage.write_all_rpc_commands(self.options.coveragedir, node.rpc)
|
||||
|
||||
def start_nodes(self, extra_args=None, *args, **kwargs):
|
||||
"""Start multiple bitcoinds"""
|
||||
"""Start multiple litecoinds"""
|
||||
|
||||
if extra_args is None:
|
||||
extra_args = [None] * self.num_nodes
|
||||
@ -327,12 +327,12 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
coverage.write_all_rpc_commands(self.options.coveragedir, node.rpc)
|
||||
|
||||
def stop_node(self, i, expected_stderr=''):
|
||||
"""Stop a bitcoind test node"""
|
||||
"""Stop a litecoind test node"""
|
||||
self.nodes[i].stop_node(expected_stderr)
|
||||
self.nodes[i].wait_until_stopped()
|
||||
|
||||
def stop_nodes(self):
|
||||
"""Stop multiple bitcoind test nodes"""
|
||||
"""Stop multiple litecoind test nodes"""
|
||||
for node in self.nodes:
|
||||
# Issue RPC to stop nodes
|
||||
node.stop_node()
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
# Copyright (c) 2017-2018 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
"""Class for bitcoind node under test"""
|
||||
"""Class for litecoind node under test"""
|
||||
|
||||
import contextlib
|
||||
import decimal
|
||||
@ -45,7 +45,7 @@ class ErrorMatch(Enum):
|
||||
|
||||
|
||||
class TestNode():
|
||||
"""A class for representing a bitcoind node under test.
|
||||
"""A class for representing a litecoind node under test.
|
||||
|
||||
This class contains:
|
||||
|
||||
@ -163,16 +163,16 @@ class TestNode():
|
||||
self.process = subprocess.Popen(self.args + extra_args, env=subp_env, stdout=stdout, stderr=stderr, **kwargs)
|
||||
|
||||
self.running = True
|
||||
self.log.debug("bitcoind started, waiting for RPC to come up")
|
||||
self.log.debug("litecoind started, waiting for RPC to come up")
|
||||
|
||||
def wait_for_rpc_connection(self):
|
||||
"""Sets up an RPC connection to the bitcoind process. Returns False if unable to connect."""
|
||||
"""Sets up an RPC connection to the litecoind process. Returns False if unable to connect."""
|
||||
# Poll at a rate of four times per second
|
||||
poll_per_s = 4
|
||||
for _ in range(poll_per_s * self.rpc_timeout):
|
||||
if self.process.poll() is not None:
|
||||
raise FailedToStartError(self._node_msg(
|
||||
'bitcoind exited with status {} during initialization'.format(self.process.returncode)))
|
||||
'litecoind exited with status {} during initialization'.format(self.process.returncode)))
|
||||
try:
|
||||
self.rpc = get_rpc_proxy(rpc_url(self.datadir, self.index, self.rpchost), self.index, timeout=self.rpc_timeout, coveragedir=self.coverage_dir)
|
||||
self.rpc.getblockcount()
|
||||
@ -191,7 +191,7 @@ class TestNode():
|
||||
if "No RPC credentials" not in str(e):
|
||||
raise
|
||||
time.sleep(1.0 / poll_per_s)
|
||||
self._raise_assertion_error("Unable to connect to bitcoind")
|
||||
self._raise_assertion_error("Unable to connect to litecoind")
|
||||
|
||||
def get_wallet_rpc(self, wallet_name):
|
||||
if self.use_cli:
|
||||
@ -266,11 +266,11 @@ class TestNode():
|
||||
def assert_start_raises_init_error(self, extra_args=None, expected_msg=None, match=ErrorMatch.FULL_TEXT, *args, **kwargs):
|
||||
"""Attempt to start the node and expect it to raise an error.
|
||||
|
||||
extra_args: extra arguments to pass through to bitcoind
|
||||
expected_msg: regex that stderr should match when bitcoind fails
|
||||
extra_args: extra arguments to pass through to litecoind
|
||||
expected_msg: regex that stderr should match when litecoind fails
|
||||
|
||||
Will throw if bitcoind starts without an error.
|
||||
Will throw if an expected_msg is provided and it does not match bitcoind's stdout."""
|
||||
Will throw if litecoind starts without an error.
|
||||
Will throw if an expected_msg is provided and it does not match litecoind's stdout."""
|
||||
with tempfile.NamedTemporaryFile(dir=self.stderr_dir, delete=False) as log_stderr, \
|
||||
tempfile.NamedTemporaryFile(dir=self.stdout_dir, delete=False) as log_stdout:
|
||||
try:
|
||||
@ -279,7 +279,7 @@ class TestNode():
|
||||
self.stop_node()
|
||||
self.wait_until_stopped()
|
||||
except FailedToStartError as e:
|
||||
self.log.debug('bitcoind failed to start: %s', e)
|
||||
self.log.debug('litecoind failed to start: %s', e)
|
||||
self.running = False
|
||||
self.process = None
|
||||
# Check stderr for expected message
|
||||
@ -300,15 +300,15 @@ class TestNode():
|
||||
'Expected message "{}" does not fully match stderr:\n"{}"'.format(expected_msg, stderr))
|
||||
else:
|
||||
if expected_msg is None:
|
||||
assert_msg = "bitcoind should have exited with an error"
|
||||
assert_msg = "litecoind should have exited with an error"
|
||||
else:
|
||||
assert_msg = "bitcoind should have exited with expected error " + expected_msg
|
||||
assert_msg = "litecoind should have exited with expected error " + expected_msg
|
||||
self._raise_assertion_error(assert_msg)
|
||||
|
||||
def node_encrypt_wallet(self, passphrase):
|
||||
""""Encrypts the wallet.
|
||||
|
||||
This causes bitcoind to shutdown, so this method takes
|
||||
This causes litecoind to shutdown, so this method takes
|
||||
care of cleaning up resources."""
|
||||
self.encryptwallet(passphrase)
|
||||
self.wait_until_stopped()
|
||||
@ -357,7 +357,7 @@ class TestNodeCLIAttr:
|
||||
return lambda: self(*args, **kwargs)
|
||||
|
||||
class TestNodeCLI():
|
||||
"""Interface to bitcoin-cli for an individual node"""
|
||||
"""Interface to litecoin-cli for an individual node"""
|
||||
|
||||
def __init__(self, binary, datadir):
|
||||
self.options = []
|
||||
@ -386,10 +386,10 @@ class TestNodeCLI():
|
||||
return results
|
||||
|
||||
def send_cli(self, command=None, *args, **kwargs):
|
||||
"""Run bitcoin-cli command. Deserializes returned string as python object."""
|
||||
"""Run litecoin-cli command. Deserializes returned string as python object."""
|
||||
pos_args = [str(arg).lower() if type(arg) is bool else str(arg) for arg in args]
|
||||
named_args = [str(key) + "=" + str(value) for (key, value) in kwargs.items()]
|
||||
assert not (pos_args and named_args), "Cannot use positional arguments and named arguments in the same bitcoin-cli call"
|
||||
assert not (pos_args and named_args), "Cannot use positional arguments and named arguments in the same litecoin-cli call"
|
||||
p_args = [self.binary, "-datadir=" + self.datadir] + self.options
|
||||
if named_args:
|
||||
p_args += ["-named"]
|
||||
|
||||
@ -311,8 +311,8 @@ def run_tests(test_list, src_dir, build_dir, tmpdir, jobs=1, enable_coverage=Fal
|
||||
|
||||
# Warn if bitcoind is already running (unix only)
|
||||
try:
|
||||
if subprocess.check_output(["pidof", "bitcoind"]) is not None:
|
||||
print("%sWARNING!%s There is already a bitcoind process running on this system. Tests may fail unexpectedly due to resource contention!" % (BOLD[1], BOLD[0]))
|
||||
if subprocess.check_output(["pidof", "litecoind"]) is not None:
|
||||
print("%sWARNING!%s There is already a litecoind process running on this system. Tests may fail unexpectedly due to resource contention!" % (BOLD[1], BOLD[0]))
|
||||
except (OSError, subprocess.SubprocessError):
|
||||
pass
|
||||
|
||||
@ -553,7 +553,7 @@ class RPCCoverage():
|
||||
Coverage calculation works by having each test script subprocess write
|
||||
coverage files into a particular directory. These files contain the RPC
|
||||
commands invoked during testing, as well as a complete listing of RPC
|
||||
commands per `bitcoin-cli help` (`rpc_interface.txt`).
|
||||
commands per `litecoin-cli help` (`rpc_interface.txt`).
|
||||
|
||||
After all tests complete, the commands run are combined and diff'd against
|
||||
the complete list to calculate uncovered RPC commands.
|
||||
|
||||
@ -271,16 +271,16 @@
|
||||
{ "exec": "./litecoin-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"in=4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485:0",
|
||||
"set=privatekeys:[\"5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf\"]",
|
||||
"set=prevtxs:[{\"txid\":\"4d49a71ec9da436f71ec4ee231d04f292a29cd316f598bb7068feccabdc59485\",\"vout\":\"0foo\",\"scriptPubKey\":\"76a91491b24bf9f5288532960ac687abb035127b1d28a588ac\"}]",
|
||||
"in=6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7:0",
|
||||
"set=privatekeys:[\"T3Eyvg7Me8fuajt2RJvQaRokRabBweiyBWVJiQG8P1bwDUEXPhqv\"]",
|
||||
"set=prevtxs:[{\"txid\":\"6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7\",\"vout\":\"0foo\",\"scriptPubKey\":\"76a91491b24bf9f5288532960ac687abb035127b1d28a588ac\"}]",
|
||||
"sign=ALL",
|
||||
"outaddr=0.001:193P6LtvS4nCnkDvM9uXn1gsSRqh4aDAz7"],
|
||||
"outaddr=0.001:LXC44cQhuRufFtaDhDYv4q8nxQJBkUAsXp"],
|
||||
"return_code": 1,
|
||||
"error_txt": "error: prevtxs internal object typecheck fail",
|
||||
"description": "Tests the check for invalid vout index in prevtxs for sign"
|
||||
},
|
||||
{ "exec": "./bitcoin-tx",
|
||||
{ "exec": "./litecoin-tx",
|
||||
"args":
|
||||
["-create", "outpubkey=0:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397", "nversion=1"],
|
||||
"output_cmp": "txcreateoutpubkey1.hex",
|
||||
@ -323,7 +323,7 @@
|
||||
"error_txt": "error: Uncompressed pubkeys are not useable for SegWit outputs",
|
||||
"description": "Creates a new transaction with a single pay-to-pub-key output, wrapped in P2SH (output as json)"
|
||||
},
|
||||
{ "exec": "./bitcoin-tx",
|
||||
{ "exec": "./litecoin-tx",
|
||||
"args":
|
||||
["-create",
|
||||
"in=69e9c12d30a6cd598a31ddfcaabeb9d9f0baf8938bf0ba6610beb04f589cc5ef:0",
|
||||
@ -451,12 +451,12 @@
|
||||
"output_cmp": "txcreatemultisig4.json",
|
||||
"description": "Creates a new transaction with a single 2-of-3 multisig in a P2WSH output, wrapped in P2SH (output in json)"
|
||||
},
|
||||
{ "exec": "./bitcoin-tx",
|
||||
{ "exec": "./litecoin-tx",
|
||||
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:047d1368ba7ae01c94bc32293efd70bd7e3be7aa7912d07d0b1c659c1008d179b8642f5fb90f47580feb29f045e216ff5a4716d3a0fed36da414d332046303c44a:S"],
|
||||
"output_cmp": "txcreatemultisig5.json",
|
||||
"description": "Uncompressed pubkeys should work just fine for non-witness outputs"
|
||||
},
|
||||
{ "exec": "./bitcoin-tx",
|
||||
{ "exec": "./litecoin-tx",
|
||||
"args": ["-json", "-create", "outmultisig=1:2:3:02a5613bd857b7048924264d1e70e08fb2a7e6527d32b7ab1bb993ac59964ff397:021ac43c7ff740014c3b33737ede99c967e4764553d1b2b83db77c83b8715fa72d:047d1368ba7ae01c94bc32293efd70bd7e3be7aa7912d07d0b1c659c1008d179b8642f5fb90f47580feb29f045e216ff5a4716d3a0fed36da414d332046303c44a:WS"],
|
||||
"return_code": 1,
|
||||
"error_txt": "error: Uncompressed pubkeys are not useable for SegWit outputs",
|
||||
|
||||
@ -18,8 +18,8 @@
|
||||
"reqSigs": 2,
|
||||
"type": "multisig",
|
||||
"addresses": [
|
||||
"La2DHFRvKvGwR78JkkMCzEw6BJUrSQa72A",
|
||||
"LZkrFMdJCxcpf2fSorE4MJHUNZGfAnD7gf",
|
||||
"La2DHFRvKvGwR78JkkMCzEw6BJUrSQa72A",
|
||||
"LZkrFMdJCxcpf2fSorE4MJHUNZGfAnD7gf",
|
||||
"LNZrr8v1gBobYuA3ABbTkRnuf7n5RRo5Cz"
|
||||
]
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
"reqSigs": 1,
|
||||
"type": "scripthash",
|
||||
"addresses": [
|
||||
"MAVWzxXm8KGkZTesqLtqywzrvbs96FEoKy"
|
||||
"34HNh57oBCRKkxNyjTuWAJkTbuGh6jg2Ms"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
"reqSigs": 1,
|
||||
"type": "witness_v0_scripthash",
|
||||
"addresses": [
|
||||
"bc1qu9dgdg330r6r84g5mw7wqshg04exv2uttmw2elfwx74h5tgntuzs44gyfg"
|
||||
"ltc1qu9dgdg330r6r84g5mw7wqshg04exv2uttmw2elfwx74h5tgntuzsk3x5nd"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
"reqSigs": 1,
|
||||
"type": "scripthash",
|
||||
"addresses": [
|
||||
"MJ1PnsRQqxToRBkMf74x1etf2c8i2imj3Y"
|
||||
"3BoFUz1StqcNcgUTZE5cC1eFhuYFzj3fGH"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
"reqSigs": 1,
|
||||
"type": "witness_v0_keyhash",
|
||||
"addresses": [
|
||||
"bc1q5fgkuac9s2ry56jka5s6zqsyfcugcchry5cwu0"
|
||||
"ltc1q5fgkuac9s2ry56jka5s6zqsyfcugcchrqgz2yl"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
"reqSigs": 1,
|
||||
"type": "scripthash",
|
||||
"addresses": [
|
||||
"MP18g1foe3PhM8ydEFVSJ2DMpcdvhLebXR"
|
||||
"3GnzN8FqgvYGYdhj8NW6UNxxVv3Uj1ApQn"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
"reqSigs": 1,
|
||||
"type": "scripthash",
|
||||
"addresses": [
|
||||
"MJHYtjeEeGX586VC9HahUfnn4UxFmqozk8"
|
||||
"3C5QarEGh9feKbDJ3QbMf2YNjnMoiPDhNp"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
"reqSigs": 1,
|
||||
"type": "witness_v0_scripthash",
|
||||
"addresses": [
|
||||
"bc1qp0lfxhnscvsu0j36l36uurgv5tuck4pzuqytkvwqp3kh78cupttqyf705v"
|
||||
"ltc1qp0lfxhnscvsu0j36l36uurgv5tuck4pzuqytkvwqp3kh78cupttq8dslwf"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
"reqSigs": 1,
|
||||
"type": "scripthash",
|
||||
"addresses": [
|
||||
"MHaYuXfcFR7myUVrVpVjjVCngZLKDuRbn3"
|
||||
"3BNQbeFeJJGMAyDxPwWPuqxPMrjsFLjk3f"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
01000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d000000008a4730440220131432090a6af42da3e8335ff110831b41a44f4e9d18d88f5d50278380696c7202200fc2e48938f323ad13625890c0ea926c8a189c08b8efc38376b20c8a2188e96e01410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ffffffff01a0860100000000001976a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac00000000
|
||||
0100000001f77bd0a57e5b5e041e95567e0f01c3789af7f624ff490f756fb408362489276c0000000000ffffffff01a0860100000000001976a914834584e0afbd77db57fcf4a3a076b8d3e02aa6fb88ac00000000
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
{
|
||||
"txid": "ffc7e509ec3fd60a182eb712621d41a47dc7d4ff310a70826c2fb0e9afb3fa02",
|
||||
"hash": "ffc7e509ec3fd60a182eb712621d41a47dc7d4ff310a70826c2fb0e9afb3fa02",
|
||||
"txid": "bf7c8b55745d4f9d9b2e33b5fbec5d08e38f3dcfc1838cb424a16db3ebc52f13",
|
||||
"hash": "bf7c8b55745d4f9d9b2e33b5fbec5d08e38f3dcfc1838cb424a16db3ebc52f13",
|
||||
"version": 1,
|
||||
"size": 223,
|
||||
"vsize": 223,
|
||||
"weight": 892,
|
||||
"size": 85,
|
||||
"vsize": 85,
|
||||
"weight": 340,
|
||||
"locktime": 0,
|
||||
"vin": [
|
||||
{
|
||||
"txid": "6c2789243608b46f750f49ff24f6f79a78c3010f7e56951e045e5b7ea5d07bf7",
|
||||
"vout": 0,
|
||||
"scriptSig": {
|
||||
"asm": "30440220131432090a6af42da3e8335ff110831b41a44f4e9d18d88f5d50278380696c7202200fc2e48938f323ad13625890c0ea926c8a189c08b8efc38376b20c8a2188e96e[ALL] 0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
|
||||
"hex": "4730440220131432090a6af42da3e8335ff110831b41a44f4e9d18d88f5d50278380696c7202200fc2e48938f323ad13625890c0ea926c8a189c08b8efc38376b20c8a2188e96e01410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
|
||||
"asm": "",
|
||||
"hex": ""
|
||||
},
|
||||
"sequence": 4294967295
|
||||
}
|
||||
@ -32,5 +32,5 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"hex": "01000000018594c5bdcaec8f06b78b596f31cd292a294fd031e24eec716f43dac91ea7494d000000008a4730440220131432090a6af42da3e8335ff110831b41a44f4e9d18d88f5d50278380696c7202200fc2e48938f323ad13625890c0ea926c8a189c08b8efc38376b20c8a2188e96e01410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8ffffffff01a0860100000000001976a9145834479edbbe0539b31ffd3a8f8ebadc2165ed0188ac00000000"
|
||||
"hex": "0100000001f77bd0a57e5b5e041e95567e0f01c3789af7f624ff490f756fb408362489276c0000000000ffffffff01a0860100000000001976a914834584e0afbd77db57fcf4a3a076b8d3e02aa6fb88ac00000000"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user