Changeset View
Changeset View
Standalone View
Standalone View
src/test/descriptor_tests.cpp
Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Lines | std::string UseHInsteadOfApostrophe(const std::string &desc) { | ||||
} | } | ||||
return ret; | return ret; | ||||
} | } | ||||
const std::set<std::vector<uint32_t>> ONLY_EMPTY{{}}; | const std::set<std::vector<uint32_t>> ONLY_EMPTY{{}}; | ||||
void DoCheck(const std::string &prv, const std::string &pub, int flags, | void DoCheck(const std::string &prv, const std::string &pub, int flags, | ||||
const std::vector<std::vector<std::string>> &scripts, | const std::vector<std::vector<std::string>> &scripts, | ||||
const Optional<OutputType> &type, | const std::optional<OutputType> &type, | ||||
const std::set<std::vector<uint32_t>> &paths = ONLY_EMPTY, | const std::set<std::vector<uint32_t>> &paths = ONLY_EMPTY, | ||||
bool replace_apostrophe_with_h_in_prv = false, | bool replace_apostrophe_with_h_in_prv = false, | ||||
bool replace_apostrophe_with_h_in_pub = false) { | bool replace_apostrophe_with_h_in_pub = false) { | ||||
FlatSigningProvider keys_priv, keys_pub; | FlatSigningProvider keys_priv, keys_pub; | ||||
std::set<std::vector<uint32_t>> left_paths = paths; | std::set<std::vector<uint32_t>> left_paths = paths; | ||||
std::string error_priv; | std::string error_priv; | ||||
std::string error_pub; | std::string error_pub; | ||||
▲ Show 20 Lines • Show All 222 Lines • ▼ Show 20 Lines | void DoCheck(const std::string &prv, const std::string &pub, int flags, | ||||
// Verify no expected paths remain that were not observed. | // Verify no expected paths remain that were not observed. | ||||
BOOST_CHECK_MESSAGE(left_paths.empty(), | BOOST_CHECK_MESSAGE(left_paths.empty(), | ||||
"Not all expected key paths found: " + prv); | "Not all expected key paths found: " + prv); | ||||
} | } | ||||
void Check(const std::string &prv, const std::string &pub, int flags, | void Check(const std::string &prv, const std::string &pub, int flags, | ||||
const std::vector<std::vector<std::string>> &scripts, | const std::vector<std::vector<std::string>> &scripts, | ||||
const Optional<OutputType> &type, | const std::optional<OutputType> &type, | ||||
const std::set<std::vector<uint32_t>> &paths = ONLY_EMPTY) { | const std::set<std::vector<uint32_t>> &paths = ONLY_EMPTY) { | ||||
bool found_apostrophes_in_prv = false; | bool found_apostrophes_in_prv = false; | ||||
bool found_apostrophes_in_pub = false; | bool found_apostrophes_in_pub = false; | ||||
// Do not replace apostrophes with 'h' in prv and pub | // Do not replace apostrophes with 'h' in prv and pub | ||||
DoCheck(prv, pub, flags, scripts, type, paths); | DoCheck(prv, pub, flags, scripts, type, paths); | ||||
// Replace apostrophes with 'h' in prv but not in pub, if apostrophes are | // Replace apostrophes with 'h' in prv but not in pub, if apostrophes are | ||||
Show All 31 Lines | BOOST_AUTO_TEST_CASE(descriptor_test) { | ||||
// Basic single-key compressed | // Basic single-key compressed | ||||
Check("combo(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", | Check("combo(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", | ||||
"combo(" | "combo(" | ||||
"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", | "03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", | ||||
SIGNABLE, | SIGNABLE, | ||||
{{"2103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5" | {{"2103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5" | ||||
"bdac", | "bdac", | ||||
"76a9149a1c78a507689f6f54b847ad1cef1e614ee23f1e88ac"}}, | "76a9149a1c78a507689f6f54b847ad1cef1e614ee23f1e88ac"}}, | ||||
nullopt); | std::nullopt); | ||||
Check("pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", | Check("pk(L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", | ||||
"pk(" | "pk(" | ||||
"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", | "03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", | ||||
SIGNABLE, | SIGNABLE, | ||||
{{"2103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5" | {{"2103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5" | ||||
"bdac"}}, | "bdac"}}, | ||||
nullopt); | std::nullopt); | ||||
Check("pkh([deadbeef/1/2'/3/4']" | Check("pkh([deadbeef/1/2'/3/4']" | ||||
"L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", | "L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", | ||||
"pkh([deadbeef/1/2'/3/4']" | "pkh([deadbeef/1/2'/3/4']" | ||||
"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", | "03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", | ||||
SIGNABLE, {{"76a9149a1c78a507689f6f54b847ad1cef1e614ee23f1e88ac"}}, | SIGNABLE, {{"76a9149a1c78a507689f6f54b847ad1cef1e614ee23f1e88ac"}}, | ||||
OutputType::LEGACY, {{1, 0x80000002UL, 3, 0x80000004UL}}); | OutputType::LEGACY, {{1, 0x80000002UL, 3, 0x80000004UL}}); | ||||
// Missing start bracket in key origin | // Missing start bracket in key origin | ||||
CheckUnparsable( | CheckUnparsable( | ||||
Show All 18 Lines | Check( | ||||
"combo(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", | "combo(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", | ||||
"combo(" | "combo(" | ||||
"04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8d" | "04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8d" | ||||
"ec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | "ec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | ||||
SIGNABLE, | SIGNABLE, | ||||
{{"4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd" | {{"4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd" | ||||
"5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235ac", | "5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235ac", | ||||
"76a914b5bd079c4d57cc7fc28ecf8213a6b791625b818388ac"}}, | "76a914b5bd079c4d57cc7fc28ecf8213a6b791625b818388ac"}}, | ||||
nullopt); | std::nullopt); | ||||
Check("pk(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", | Check("pk(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", | ||||
"pk(" | "pk(" | ||||
"04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | "04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | ||||
"8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | "8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | ||||
SIGNABLE, | SIGNABLE, | ||||
{{"4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5" | {{"4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5" | ||||
"bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235" | "bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235" | ||||
"ac"}}, | "ac"}}, | ||||
nullopt); | std::nullopt); | ||||
Check("pkh(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", | Check("pkh(5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", | ||||
"pkh(" | "pkh(" | ||||
"04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | "04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | ||||
"8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | "8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | ||||
SIGNABLE, {{"76a914b5bd079c4d57cc7fc28ecf8213a6b791625b818388ac"}}, | SIGNABLE, {{"76a914b5bd079c4d57cc7fc28ecf8213a6b791625b818388ac"}}, | ||||
OutputType::LEGACY); | OutputType::LEGACY); | ||||
// Some unconventional single-key constructions | // Some unconventional single-key constructions | ||||
Show All 16 Lines | Check("combo([01234567]" | ||||
"njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc)", | "njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc)", | ||||
"combo([01234567]" | "combo([01234567]" | ||||
"xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4" | "xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4" | ||||
"koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)", | "koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)", | ||||
SIGNABLE, | SIGNABLE, | ||||
{{"2102d2b36900396c9282fa14628566582f206a5dd0bcc8d5e892611806cafb0301" | {{"2102d2b36900396c9282fa14628566582f206a5dd0bcc8d5e892611806cafb0301" | ||||
"f0ac", | "f0ac", | ||||
"76a91431a507b815593dfc51ffc7245ae7e5aee304246e88ac"}}, | "76a91431a507b815593dfc51ffc7245ae7e5aee304246e88ac"}}, | ||||
nullopt); | std::nullopt); | ||||
Check("pk(" | Check("pk(" | ||||
"xprv9uPDJpEQgRQfDcW7BkF7eTya6RPxXeJCqCJGHuCJ4GiRVLzkTXBAJMu2qaMWPrS7" | "xprv9uPDJpEQgRQfDcW7BkF7eTya6RPxXeJCqCJGHuCJ4GiRVLzkTXBAJMu2qaMWPrS7" | ||||
"AANYqdq6vcBcBUdJCVVFceUvJFjaPdGZ2y9WACViL4L/0)", | "AANYqdq6vcBcBUdJCVVFceUvJFjaPdGZ2y9WACViL4L/0)", | ||||
"pk(" | "pk(" | ||||
"xpub68NZiKmJWnxxS6aaHmn81bvJeTESw724CRDs6HbuccFQN9Ku14VQrADWgqbhhTHB" | "xpub68NZiKmJWnxxS6aaHmn81bvJeTESw724CRDs6HbuccFQN9Ku14VQrADWgqbhhTHB" | ||||
"aohPX4CjNLf9fq9MYo6oDaPPLPxSb7gwQN3ih19Zm4Y/0)", | "aohPX4CjNLf9fq9MYo6oDaPPLPxSb7gwQN3ih19Zm4Y/0)", | ||||
DEFAULT, | DEFAULT, | ||||
{{"210379e45b3cf75f9c5f9befd8e9506fb962f6a9d185ac87001ec44a8d3df8d4a9" | {{"210379e45b3cf75f9c5f9befd8e9506fb962f6a9d185ac87001ec44a8d3df8d4a9" | ||||
"e3ac"}}, | "e3ac"}}, | ||||
nullopt, {{0}}); | std::nullopt, {{0}}); | ||||
Check("pkh(" | Check("pkh(" | ||||
"xprv9s21ZrQH143K31xYSDQpPDxsXRTUcvj2iNHm5NUtrGiGG5e2DtALGdso3pGz6ssr" | "xprv9s21ZrQH143K31xYSDQpPDxsXRTUcvj2iNHm5NUtrGiGG5e2DtALGdso3pGz6ssr" | ||||
"dK4PFmM8NSpSBHNqPqm55Qn3LqFtT2emdEXVYsCzC2U/2147483647'/0)", | "dK4PFmM8NSpSBHNqPqm55Qn3LqFtT2emdEXVYsCzC2U/2147483647'/0)", | ||||
"pkh(" | "pkh(" | ||||
"xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6o" | "xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6o" | ||||
"DMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB/2147483647'/0)", | "DMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB/2147483647'/0)", | ||||
HARDENED, {{"76a914ebdc90806a9c4356c1c88e42216611e1cb4c1c1788ac"}}, | HARDENED, {{"76a914ebdc90806a9c4356c1c88e42216611e1cb4c1c1788ac"}}, | ||||
OutputType::LEGACY, {{0xFFFFFFFFUL, 0}}); | OutputType::LEGACY, {{0xFFFFFFFFUL, 0}}); | ||||
Show All 33 Lines | Check("combo(" | ||||
"6ZLRQUMv1ZACTj37sR62cfN7fe5JnJ7dh8zL4fiyLHV/*)", | "6ZLRQUMv1ZACTj37sR62cfN7fe5JnJ7dh8zL4fiyLHV/*)", | ||||
RANGE, | RANGE, | ||||
{{"2102df12b7035bdac8e3bab862a3a83d06ea6b17b6753d52edecba9be46f5d09e0" | {{"2102df12b7035bdac8e3bab862a3a83d06ea6b17b6753d52edecba9be46f5d09e0" | ||||
"76ac", | "76ac", | ||||
"76a914f90e3178ca25f2c808dc76624032d352fdbdfaf288ac"}, | "76a914f90e3178ca25f2c808dc76624032d352fdbdfaf288ac"}, | ||||
{"21032869a233c9adff9a994e4966e5b821fd5bac066da6c3112488dc52383b4a98" | {"21032869a233c9adff9a994e4966e5b821fd5bac066da6c3112488dc52383b4a98" | ||||
"ecac", | "ecac", | ||||
"76a914a8409d1b6dfb1ed2a3e8aa5e0ef2ff26b15b75b788ac"}}, | "76a914a8409d1b6dfb1ed2a3e8aa5e0ef2ff26b15b75b788ac"}}, | ||||
nullopt, {{0}, {1}}); | std::nullopt, {{0}, {1}}); | ||||
// Too long key fingerprint | // Too long key fingerprint | ||||
CheckUnparsable("combo([012345678]" | CheckUnparsable("combo([012345678]" | ||||
"xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3x" | "xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3x" | ||||
"z7iAxn8L39njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc)", | "z7iAxn8L39njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc)", | ||||
"combo([012345678]" | "combo([012345678]" | ||||
"xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbm" | "xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbm" | ||||
"JbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)", | "JbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)", | ||||
Show All 25 Lines | Check("multi(1,L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1," | ||||
"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd," | "03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd," | ||||
"04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | "04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | ||||
"8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | "8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | ||||
SIGNABLE, | SIGNABLE, | ||||
{{"512103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540" | {{"512103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540" | ||||
"c5bd4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c5" | "c5bd4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c5" | ||||
"40c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abe" | "40c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abe" | ||||
"a23552ae"}}, | "a23552ae"}}, | ||||
nullopt); | std::nullopt); | ||||
Check("sortedmulti(1,L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1," | Check("sortedmulti(1,L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1," | ||||
"5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", | "5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss)", | ||||
"sortedmulti(1," | "sortedmulti(1," | ||||
"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd," | "03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd," | ||||
"04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | "04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | ||||
"8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | "8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235)", | ||||
SIGNABLE, | SIGNABLE, | ||||
{{"512103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540" | {{"512103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540" | ||||
"c5bd4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c5" | "c5bd4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c5" | ||||
"40c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abe" | "40c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abe" | ||||
"a23552ae"}}, | "a23552ae"}}, | ||||
nullopt); | std::nullopt); | ||||
Check("sortedmulti(1,5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss," | Check("sortedmulti(1,5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss," | ||||
"L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", | "L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1)", | ||||
"sortedmulti(1," | "sortedmulti(1," | ||||
"04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | "04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b" | ||||
"8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235," | "8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235," | ||||
"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", | "03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd)", | ||||
SIGNABLE, | SIGNABLE, | ||||
{{"512103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540" | {{"512103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540" | ||||
"c5bd4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c5" | "c5bd4104a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c5" | ||||
"40c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abe" | "40c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abe" | ||||
"a23552ae"}}, | "a23552ae"}}, | ||||
nullopt); | std::nullopt); | ||||
Check("sh(multi(2,[00000000/111'/222]" | Check("sh(multi(2,[00000000/111'/222]" | ||||
"xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3xz7iAxn8L39" | "xprvA1RpRA33e1JQ7ifknakTFpgNXPmW2YvmhqLQYMmrj4xJXXWYpDPS3xz7iAxn8L39" | ||||
"njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc," | "njGVyuoseXzU6rcxFLJ8HFsTjSyQbLYnMpCqE2VbFWc," | ||||
"xprv9uPDJpEQgRQfDcW7BkF7eTya6RPxXeJCqCJGHuCJ4GiRVLzkTXBAJMu2qaMWPrS7" | "xprv9uPDJpEQgRQfDcW7BkF7eTya6RPxXeJCqCJGHuCJ4GiRVLzkTXBAJMu2qaMWPrS7" | ||||
"AANYqdq6vcBcBUdJCVVFceUvJFjaPdGZ2y9WACViL4L/0))", | "AANYqdq6vcBcBUdJCVVFceUvJFjaPdGZ2y9WACViL4L/0))", | ||||
"sh(multi(2,[00000000/111'/222]" | "sh(multi(2,[00000000/111'/222]" | ||||
"xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4" | "xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4" | ||||
"koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL," | "koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL," | ||||
Show All 18 Lines | Check("sortedmulti(2," | ||||
"e1b62102fbd47cc8034098f0e6a94c6aeee8528abf0a2153a5d8e46d325b7284c0" | "e1b62102fbd47cc8034098f0e6a94c6aeee8528abf0a2153a5d8e46d325b7284c0" | ||||
"46784652ae"}, | "46784652ae"}, | ||||
{"52210264fd4d1f5dea8ded94c61e9641309349b62f27fbffe807291f664e286bfb" | {"52210264fd4d1f5dea8ded94c61e9641309349b62f27fbffe807291f664e286bfb" | ||||
"e6472103f4ece6dfccfa37b211eb3d0af4d0c61dba9ef698622dc17eecdf764bee" | "e6472103f4ece6dfccfa37b211eb3d0af4d0c61dba9ef698622dc17eecdf764bee" | ||||
"b005a652ae"}, | "b005a652ae"}, | ||||
{"5221022ccabda84c30bad578b13c89eb3b9544ce149787e5b538175b1d1ba259cb" | {"5221022ccabda84c30bad578b13c89eb3b9544ce149787e5b538175b1d1ba259cb" | ||||
"b83321024d902e1a2fc7a8755ab5b694c575fce742c48d9ff192e63df5193e4c7a" | "b83321024d902e1a2fc7a8755ab5b694c575fce742c48d9ff192e63df5193e4c7a" | ||||
"fe1f9c52ae"}}, | "fe1f9c52ae"}}, | ||||
nullopt, {{0}, {1}, {2}, {0, 0, 0}, {0, 0, 1}, {0, 0, 2}}); | std::nullopt, {{0}, {1}, {2}, {0, 0, 0}, {0, 0, 1}, {0, 0, 2}}); | ||||
Check("sh(multi(2," | Check("sh(multi(2," | ||||
"xprv9s21ZrQH143K31xYSDQpPDxsXRTUcvj2iNHm5NUtrGiGG5e2DtALGdso3pGz6ssr" | "xprv9s21ZrQH143K31xYSDQpPDxsXRTUcvj2iNHm5NUtrGiGG5e2DtALGdso3pGz6ssr" | ||||
"dK4PFmM8NSpSBHNqPqm55Qn3LqFtT2emdEXVYsCzC2U/2147483647'/" | "dK4PFmM8NSpSBHNqPqm55Qn3LqFtT2emdEXVYsCzC2U/2147483647'/" | ||||
"0," | "0," | ||||
"xprv9vHkqa6EV4sPZHYqZznhT2NPtPCjKuDKGY38FBWLvgaDx45zo9WQRUT3dKYnjwih" | "xprv9vHkqa6EV4sPZHYqZznhT2NPtPCjKuDKGY38FBWLvgaDx45zo9WQRUT3dKYnjwih" | ||||
"2yJD9mkrocEZXo1ex8G81dwSM1fwqWpWkeS3v86pgKt/1/2/" | "2yJD9mkrocEZXo1ex8G81dwSM1fwqWpWkeS3v86pgKt/1/2/" | ||||
"*," | "*," | ||||
"xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKm" | "xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKm" | ||||
▲ Show 20 Lines • Show All 294 Lines • Show Last 20 Lines |