Changeset View
Changeset View
Standalone View
Standalone View
src/wallet/test/psbt_wallet_tests.cpp
Show First 20 Lines • Show All 118 Lines • ▼ Show 20 Lines | BOOST_CHECK_EQUAL( | ||||
"0e7310d90c6a4f000000800000008003000080220603089dc10c7ac6db54f91329af61" | "0e7310d90c6a4f000000800000008003000080220603089dc10c7ac6db54f91329af61" | ||||
"7333db388cead0c231f723379d1b99030b02dc10d90c6a4f0000008000000080020000" | "7333db388cead0c231f723379d1b99030b02dc10d90c6a4f0000008000000080020000" | ||||
"8000220203a9a4c37f5996d3aa25dbac6b570af0650394492942460b354753ed9eeca5" | "8000220203a9a4c37f5996d3aa25dbac6b570af0650394492942460b354753ed9eeca5" | ||||
"877110d90c6a4f000000800000008004000080002202027f6399757d2eff55a136ad02" | "877110d90c6a4f000000800000008004000080002202027f6399757d2eff55a136ad02" | ||||
"c684b1838b6556e5f1b6b34282a94b6b5005109610d90c6a4f00000080000000800500" | "c684b1838b6556e5f1b6b34282a94b6b5005109610d90c6a4f00000080000000800500" | ||||
"008000"); | "008000"); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(parse_hd_keypath) { | |||||
std::vector<uint32_t> keypath; | |||||
BOOST_CHECK(ParseHDKeypath( | |||||
"1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("///////////////////////////", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath( | |||||
"1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1'/1", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("//////////////////////////'/", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath( | |||||
"1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("1///////////////////////////", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath( | |||||
"1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1/1'/", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("1/'//////////////////////////", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath(" ", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("0", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("O", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("0000'/0000'/0000'", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("0000,/0000,/0000,", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("01234", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("0x1234", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("1", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath(" 1", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("42", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("m42", keypath)); | |||||
// 4294967295 == 0xFFFFFFFF (uint32_t max) | |||||
BOOST_CHECK(ParseHDKeypath("4294967295", keypath)); | |||||
// 4294967296 == 0xFFFFFFFF (uint32_t max) + 1 | |||||
BOOST_CHECK(!ParseHDKeypath("4294967296", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("n", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m/", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("n/", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m/0", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("n/0", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m/0'", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("m/0''", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m/0'/0'", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("m/'0/0'", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m/0/0", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("n/0/0", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m/0/0/00", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("m/0/0/f00", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m/0/0/" | |||||
"00000000000000000000000000000000000000000000000" | |||||
"0000000000000000000000000000000000000", | |||||
keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("m/1/1/" | |||||
"1111111111111111111111111111111111111111111111" | |||||
"11111111111111111111111111111111111111", | |||||
keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m/0/00/0", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("m/0'/00/'0", keypath)); | |||||
BOOST_CHECK(ParseHDKeypath("m/1/", keypath)); | |||||
BOOST_CHECK(!ParseHDKeypath("m/1//", keypath)); | |||||
// 4294967295 == 0xFFFFFFFF (uint32_t max) | |||||
BOOST_CHECK(ParseHDKeypath("m/0/4294967295", keypath)); | |||||
// 4294967296 == 0xFFFFFFFF (uint32_t max) + 1 | |||||
BOOST_CHECK(!ParseHDKeypath("m/0/4294967296", keypath)); | |||||
// 4294967295 == 0xFFFFFFFF (uint32_t max) | |||||
BOOST_CHECK(ParseHDKeypath("m/4294967295", keypath)); | |||||
// 4294967296 == 0xFFFFFFFF (uint32_t max) + 1 | |||||
BOOST_CHECK(!ParseHDKeypath("m/4294967296", keypath)); | |||||
} | |||||
BOOST_AUTO_TEST_SUITE_END() | BOOST_AUTO_TEST_SUITE_END() |