void RunDeriveTests() { /* Must be able to derive deeper than the arbitrary ndepth field (255) */ std::vector<DeriveTestData> vMainNetPairs = { DeriveTestData(0, std::string("moivYMcZoUdupxqBNASoNKWbyBzKFPzYA3ZauZhCyQGcUhdvxhgsYNdqBkCbspTmaXWtW68Ha7gjMBjb5gbudrictnzw9KAVKogAXC8FsqiSzRp"), std::string("moipXY9njTPCnsVV8vPCLA1xKp2NXdRtPVyGABKcbshkKQUadnrk2XPccZcSDjefRX64mNjYpS33SAy97UHGWs9WoAufi9pdow9gsYMvVEcmgSk")), DeriveTestData(1, std::string("moivYPayc8FCcmGHcN6m3CXakesEMTfiSDxS1p9VS8THGqrXstqawM3VhHgst9h63ViGaLJryRe4jBG2JaPmsiZeFAHJDVuHKw96hwDkkUb6grr"), std::string("moipXa8CY6zVafvbP83A132w7GuHdh74fgN7GRmu4btR7YhBYz1TRVoH876iE4E7FGcEA2QBA6xWFAnc44m9uGGrJBUvy6rhD6LjuEY6UWaqvrR")), DeriveTestData(350, std::string("moivbRa7zD2p9XrUi5v3HWwZLpQD8zU7tP6beszYeycUypyLo1mBof8b6AYxUfttmC4XsGTCiKMHzei7cu2SjohyUZoaMTYy1HjmPX7rMSauunA"), std::string("moipac7LvBn77SWnUqrSFMSuhSSGRDuU7qWGuVcxHT3cpXozU6w4HotNWyxnpc6eeaYBsj768HVVkMgJTsLGt62yfYE632zJ9xEZPji2m6t4jgS")), }; std::vector<DeriveTestData> vTestNetPairs = { DeriveTestData(0, std::string("toivSKjjCEpyZjWAeFqJRCtPPXwTSBLDzX327GfZy2u8Gp1gNiTrE8HRuVWBhQFk3kXQw6woCxxYC4yC3MwzQ67RQ4bSgjWTQ1UPkQinHXv9sV9"), std::string("toiprRP1Lw6KTeYbRxdfjunVry7emPouVaqrz8KX3uEKhKeZvsQaxqZEEPpB1uC2T8oMTnZTHj1BQHwUm8Tx634CXb4GrSmbwekU7LVQqt76VSJ")), DeriveTestData(1, std::string("toivSMi8ztSGMXwGtTVG65uNAzpNYF1QGhRsDX7rRm5o4xEHHucZd6h6R2zThjV4Wiio1M8NcGusa4VdGFjrdwxSkRsokvFFQ8wKw9pHADob9Q7"), std::string("toiprTMR9ahcFSyhgAHdQnoUeRzZsTV5mmEi6NmoWdQzVTsAr4ZJMoxtjwJT2DmUGtKWrSE5dPveDHkwhiwqUSBY2bdY7PofLowX92faqAa5ryG")), DeriveTestData(350, std::string("toivVPhHNyDstJXTzBJYLQKLmAMMKmooira2raxuecEzmwM6D2YAVQnBourYJFgsER54JHGiMAd6qXwiaaNXW36myqQ5tstw5VXzcjiNmBb7gRo"), std::string("toipuVLZXfVDnDZtmt6uf7DTEbXYezHVDvNsjScrjUaCCSyymBUuE83z8pAXcme1gCFUa8vzbaTdiUee7XWxTFwfPxNhBKwGHfqLdXqX7i7qwr7")), }; CBitcoinExtKey extKey58; // - valid string BOOST_CHECK(0 == extKey58.Set58(vMainNetPairs[0].vKey58.c_str())); BOOST_CHECK(strcmp(extKey58.ToString().c_str(), vMainNetPairs[0].vKey58.c_str()) == 0); // - invalid string BOOST_CHECK(0 != extKey58.Set58(vMainNetPairs[0].vKey58.c_str()+3)); RunDeriveTest(vMainNetPairs); // - fail testnet key on main BOOST_CHECK(0 != extKey58.Set58(vTestNetPairs[0].vKey58.c_str())); // - switch to testnet BOOST_TEST_MESSAGE("Entering Testnet"); fTestNet = true; SelectParams(CChainParams::TESTNET); // - pass testnet key on testnet BOOST_CHECK(0 == extKey58.Set58(vTestNetPairs[0].vKey58.c_str())); BOOST_CHECK(strcmp(extKey58.ToString().c_str(), vTestNetPairs[0].vKey58.c_str()) == 0); RunDeriveTest(vTestNetPairs); // -return to mainnet fTestNet = false; SelectParams(CChainParams::MAIN); }
void RunDeriveTests() { /* Must be able to derive deeper than the arbitrary ndepth field (255) */ std::vector<DeriveTestData> vMainNetPairs = { DeriveTestData(0, std::string("sdcvmnKmFxG9k6UnN3wyLpTv83G1wgYEz1m21rZTUUimoDrYYMrZXUycudse21EZJTmkBBPN3k6Qhfzx5td8xzd9W893YhNozA3bZW3yVLVdrZU2"), std::string("sdcpmphCJNSUos9rNqn6FNi3ztvMW1wft1PVbifvBrwhm6JnhD9yk8rSNFTGfozGbmBsr8vZv9mGYSTfmEMpbfTTMb8TQfj7JRABmvBFKgA2xG8J")), DeriveTestData(1, std::string("sdcvmnMjfkum2tHDUJ9dJVLw6pitrnbvAHwQrxoukwSxU1zm9H3iEsx2a9R8J1ZncvjwZFdYd9QN33zUX7WvqEUzXUWKumZYnAB4Vgo4zD8jsyYq"), std::string("sdcpmpjAiB666exHV5ykD3b4ygPER81M4HZtSpvNUKftRtT1J8M8TXpr2kzkwpJr3awQ1XaEYVSC1FTVEAxJV3rah692fvg9MpKNpwsRVfTnZVvh")), DeriveTestData(350, std::string("sdcvmqPip8zYeR3ofPsSajfM5QtRqa8iZk6Z2bskpAJ7fiysxCAdqkG7fYHzNc5zReSHpYZgxtJ5GKTvcRqZW6a8rhurBuXCTqXfANNy5p7qTemf"), std::string("sdcpmsm9rZAsiBisgBhZVHuUxGYmPuY9Tjj2cTzDXYX3dbS873U44Q8w89sd2QriazFKyFGwTTcizkeNvaksc2gLpTVmpzcGxmBGeSNbRwykttFP")), }; std::vector<DeriveTestData> vTestNetPairs = { DeriveTestData(0, std::string("SDCVTZWtnQrSZ1LBHScXxi5amgw4Q1zGaRuAy5S12NAttbx3Bmsm1jDYh1B5P5qTPZaWpUZZ5mmubGTYjXPB1cQ9btJmhDoBLHZnwAGUBVH42gB3"), std::string("SDCPTTad968GGU17vZThYUhb4WKgaLQ22ffBVjTnZGGCAcU1vfVFcJEroz4QeZjFZLs5a1dkpZxsKfB2Adnun1axAGuzrfBweXWSxuXu2Wj3AaGp")), DeriveTestData(1, std::string("SDCVTZYsCDW3qo8cPgpBvNxbkUPwK83wki5ZpBgTJpu5ZQ6Fnh4uj8BxMWiZf6Agi2YiCYojfB5rveT5AkGxsrFzdEg44Hyv8HhFsM1ZgN1keP5r"), std::string("SDCPTTcbYtmsZFoZ2ofMW9ac3HnZVSThCwqaLqiEqizNqQcEXagQKhDGUVbtva3q1AcbjQHRSudnnUAqdaPPfPz5Vmva7v8yhvfe1wE5CW1VbMPQ")), DeriveTestData(350, std::string("SDCVTcarLbaqTKuCanY1CdH1j4ZUHuakAAEhypkJN3kEm75NbcBqKzW3SubRjggtWkF4Tqjszuya9uvXG4bbYiM8xU5aLRwZoy3rY2bTmxwvGxui"), std::string("SDCPTWeahGrfAna9DuPAnPu21sx6UDzVcPziWUn5twqY37bMLVoKvZXMZtUm1AbhYZvXh7z8MspKmyMjKzBxnNoqd9HKGz57JsXXqRjF8nXws6C5")), }; CBitcoinExtKey extKey58; // - valid string BOOST_CHECK(0 == extKey58.Set58(vMainNetPairs[0].vKey58.c_str())); BOOST_CHECK(strcmp(extKey58.ToString().c_str(), vMainNetPairs[0].vKey58.c_str()) == 0); // - invalid string BOOST_CHECK(0 != extKey58.Set58(vMainNetPairs[0].vKey58.c_str()+3)); RunDeriveTest(vMainNetPairs); // - fail testnet key on main BOOST_CHECK(0 != extKey58.Set58(vTestNetPairs[0].vKey58.c_str())); // - switch to testnet BOOST_MESSAGE("Entering Testnet"); fTestNet = true; SelectParams(CChainParams::TESTNET); // - pass testnet key on testnet BOOST_CHECK(0 == extKey58.Set58(vTestNetPairs[0].vKey58.c_str())); BOOST_CHECK(strcmp(extKey58.ToString().c_str(), vTestNetPairs[0].vKey58.c_str()) == 0); RunDeriveTest(vTestNetPairs); // -return to mainnet fTestNet = false; SelectParams(CChainParams::MAIN); }