Merge pull request #5541 from nuttycom/ua_test_vectors

Add test vectors for UFVK derivation
This commit is contained in:
Kris Nuttycombe 2022-02-13 07:36:14 -07:00 committed by GitHub
commit 9ca64fc8ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 133 additions and 29 deletions

View File

@ -122,7 +122,7 @@ TEST(Keys, EncodeAndDecodeUnifiedAddresses)
try {
libzcash::UnifiedAddress ua;
// ["p2pkh_bytes, p2sh_bytes, sapling_raw_addr, orchard_raw_addr, unified_addr"]
// ["p2pkh_bytes, p2sh_bytes, sapling_raw_addr, orchard_raw_addr, unknown_typecode, unknown_bytes, unified_addr, root_seed, account, diversifier_index"],
// These were added to the UA in preference order by the Python test vectors.
if (!test[3].isNull()) {
auto data = ParseHex(test[3].get_str());
@ -148,7 +148,7 @@ TEST(Keys, EncodeAndDecodeUnifiedAddresses)
ua.AddReceiver(r);
}
auto expectedBytes = ParseHex(test[4].get_str());
auto expectedBytes = ParseHex(test[6].get_str());
std::string expected(expectedBytes.begin(), expectedBytes.end());
auto decoded = keyIO.DecodePaymentAddress(expected);
@ -167,6 +167,89 @@ TEST(Keys, EncodeAndDecodeUnifiedAddresses)
}
}
TEST(Keys, DeriveUnifiedFullViewingKeys)
{
SelectParams(CBaseChainParams::MAIN);
KeyIO keyIO(Params());
UniValue ua_tests = read_json(MAKE_STRING(json_tests::unified_full_viewing_keys));
for (size_t idx = 0; idx < ua_tests.size(); idx++) {
UniValue test = ua_tests[idx];
std::string strTest = test.write();
if (test.size() < 1) // Allow for extra stuff (useful for comments)
{
FAIL() << "Bad test: " << strTest;
continue;
}
if (test.size() == 1) continue; // comment
try {
auto seed_hex = test[6].get_str();
auto seed_data = ParseHex(seed_hex);
RawHDSeed raw_seed(seed_data.begin(), seed_data.end());
ASSERT_EQ(HexStr(raw_seed), seed_hex);
HDSeed hdseed(raw_seed);
auto usk = libzcash::ZcashdUnifiedSpendingKey::ForAccount(
hdseed,
133, //ZCASH_MAIN_COINTYPE
test[7].get_int());
ASSERT_TRUE(usk.has_value());
auto ufvk = usk->ToFullViewingKey();
if (!test[0].isNull()) {
auto expectedHex = test[0].get_str();
// Ensure that the serialized transparent account key matches the test data.
auto tkey = ufvk.GetTransparentKey().value();
CDataStream ssEncode(SER_NETWORK, PROTOCOL_VERSION);
ssEncode << tkey.GetChainablePubKey();
EXPECT_EQ(ssEncode.size(), 65);
auto tkeyHex = HexStr(ssEncode.begin(), ssEncode.end());
EXPECT_EQ(expectedHex, tkeyHex);
// Ensure that parsing the test data derives the correct account pubkey.
auto data = ParseHex(expectedHex);
ASSERT_EQ(data.size(), 65);
CDataStream ss(data, SER_NETWORK, PROTOCOL_VERSION);
auto expected = libzcash::transparent::AccountPubKey(CChainablePubKey::Read(ss));
EXPECT_EQ(expected, tkey);
}
if (!test[1].isNull()) {
auto expectedHex = test[1].get_str();
// Ensure that the serialized Sapling dfvk matches the test data.
auto saplingKey = ufvk.GetSaplingKey().value();
CDataStream ssEncode(SER_NETWORK, PROTOCOL_VERSION);
ssEncode << saplingKey;
EXPECT_EQ(ssEncode.size(), 128);
auto skeyHex = HexStr(ssEncode.begin(), ssEncode.end());
EXPECT_EQ(expectedHex, skeyHex);
// Ensure that parsing the test data derives the correct dfvk
auto data = ParseHex(expectedHex);
ASSERT_EQ(data.size(), 128);
CDataStream ss(data, SER_NETWORK, PROTOCOL_VERSION);
auto key = libzcash::SaplingDiversifiableFullViewingKey::Read(ss);
EXPECT_EQ(key, saplingKey);
}
// Enable the following after Orchard keys are supported.
//{
// auto fvk_data = ParseHex(test[5].get_str());
// std::string expected(fvk_data.begin(), fvk_data.end());
// EXPECT_EQ(expected, ufvk.Encode(Params(CBaseChainParams::MAIN)));
//}
} catch (const std::exception& ex) {
FAIL() << "Bad test, couldn't deserialize data: " << strTest << ": " << ex.what();
} catch (...) {
FAIL() << "Bad test, couldn't deserialize data: " << strTest;
}
}
}
TEST(Keys, EncodeAndDecodeUnifiedFullViewingKeys)
{
SelectParams(CBaseChainParams::MAIN);

View File

@ -1,14 +1,24 @@
[
["From https://github.com/zcash-hackworks/zcash-test-vectors/blob/master/unified_address.py"],
["p2pkh_bytes, p2sh_bytes, sapling_raw_addr, orchard_raw_addr, unified_addr"],
[null, "7a8f739a2d9e945b0ce152a8049e294c4d6e66b1", null, "dcb1d2a37762148db4cee3bbf19fb1ec05891894b13801c622ba6a90faf1119f8224ae3985c6abd3b7bbae", "753136757437336b36346a757a75366a753077617336717537676437717a30337261777368776e746d3030783937306b326374356d776a3536726478737863383871706e356b76716e35337a63686c6e74786b3834786b6b686e34666a74336466796e6c3576796d64666568306d3978653077383066766d6a6d7078346d65666a74776a3878676e6770687770"],
["b3534201cfb1cd8dbf69b8250c18ef41294ca979", null, "902b6565a1c44e7e7a080571af1dd774697cc126f1fc0435d3cdbf868783e9fb4620df4bf175cbf2c3e36f", "05f61273a7201295332fee4579474534809a0aeb817a2bc0594166ad7a462067712533b6eec0fa2d1be99f", "7531677235333765706b3274786b787a746172377272763435706b706370656c38396e6137326e3867703572653439616c6d7a713438356e3672376133656134306a7132333278373975373765646b6c7a6e73356566383630756e78323371396773777276336d337a78326a7666646166367675703535757a7333347a37617563753830376730796c6b7563767976777635746379386834386b656767706e327238797035636c7036663032343936617973386a6c64386a353875677668653272786372737779726a6b6635726d376d3674777973"],
[null, "e8c7203d996af7d477083756d59af80d06a745f4", null, "4ea7d6b3dfa338192af06cbbf47ad405715bc7832bedb1466217dc0d93314de9f3c25eec89f9a21bfe0e93", "75316e6b35373061616d79347a6d68656c7a366b613033667a79347337663972346b6576666d67636533793536716e6a717a6d687436687937723338746b776474673961346363786533647874346b746a34616a6e396b79346c73366a656a633972676664756e737567756878646d706a303575723664756364776c686a6d39326a786c6a727937746732646b"],
[null, null, "02f1536b622c01346742d8f90e9d4ff39137f1bebe6e23ad9971776b3372702494cc08951eef032b35350f", null, "75313363366d36716e657a72337966753468757630356e687961356372786e35347861786a78376d6b6674393861796e7a336b68636e6176647961306c746a797565717a3577706d306d7a6a357a646c343464323076657a6768753272743861737635636c6133746463"],
[null, "183e31d49f25c9a138f49b1a537edcf04be34a98", "3246b59a5b492dab1855cc176bddfa28418f11f97f7b361cc3e8834b2c30d2a1717df323ef98ea7de71d2e", "ab6d26252c521547049de208283d96278bb221a6874cb5a86af1d3f8b3db3fbee3dbefedcb2c71e3ca1ead", "7531656a706e33676e343039737238333466637771326b683679346a6170663968717273363633786a3074796e787563336467766b786767777575306d646c7938386379633867767433306b76343635763976656d6b7232327771657861737277343976796c34686e616c6c6a64637536327532736134643261357463656872666c7579746a7a32707a6a396d61393863783330636b3271306d6b35306b64366d657670396870796d6d39703772737579387076307061666c666a686c306c707a6e32323833776b68646c6a68716a7a306e63756b"],
[null, null, "970dc3450d34554141d356cb548056279c57708fa73bd16ffe9a2e24ea694898a7b8af1b0ff92585d02623", "0414bb62b86149ee731851f27d532ac0361169da46e6d53d19d3dfd07a5bae22969922d8d0af7dc1e13bae", "75316a6d386d6563326c7372653366666565706d74747334376b3833336d337271653072686d7a6a393778726737376136666c6a7a613336666a687734646363766d396c326e61376c706166756a6661356b617477383979773636687330636135747436666570736a76367030757539737764617672633870786d6c343066773865766b763230766a61386e77786e37366e61306d376e6774326c30797336323537307761756a717374357137797435746e"],
[null, "098b79535e790fe53e29fef2b3766697ac32b4f4", "a8a8797c1ba69f78672affa65b943975026931ea628431f0991e744872ac9f36946f5dcd6851a0b5af29cf", "678ab0079bea28bf165c1ab976a2a58c18a7811ca2ad0ad649e876273d04325da6ca53cdb83c111e8e4394", "7531617673633374613838646863346a353774646570386a6833663273673363756e6670736d36766d636a61613735663066643937667137637030797134636b6d636c3576637778787777333273757375743076346c30393733763573766e3737757430307a617538366e39367967637776797a3279357479796c366e6479723638383236346e7263343273683833326c6c686170686a3933616c30336a6e64363670376e3434707037687138666e6b75796d6b796a353665357039677239786565783430386535326e37353565373863646a6c73"],
[null, null, "3509c9e069e89fe501d97622c283ac98923da2d7e6eb346b4bafa67865e1e6dae7cf213b1ea3648dc09b48", null, "7531357676383834637a356436346e677232717634307835797171677a366a743368657a75396d6b7566323064756a61663871766b736c6e78793738663264707879323470767637797666637a6b6c307761653435613070683664377a37646574336a67347267677866"],
[null, "30d069896cff30eb414f727b89e001afa2fb8dc3", "55bc46aea6f60c1d61915640029b2af6334d7d27e1c47a248ab47c9fbe5d2d7bb5818739f062e37136654c", null, "7531396767387371706568756d676d73787a676a796d6c393336786b3267786d736665356a6537377a6a61613067676e32723330733239343266766b61327563747536396d7074763063323976686a7034686172637530723273366e793730306c797a78716866383335786b716a7873776a6a7771303261646b71796a6b6b3963776a6e377032736864713379"],
[null, null, "5c26a8117729334a957ca7941d47b2ce7040e844fa9882c25bfd2fcf51fa8ab21376f5300d0123f5703e9e", null, "75313976636e33726564706170687834326d6e307379633236793877397766676c657a396175736b61787267686d78383064756e61333663616763337973376d6e336a373639766367387275336b646e61713470683436303438646873766c35646d6473677879653833"]
["p2pkh_bytes, p2sh_bytes, sapling_raw_addr, orchard_raw_addr, unknown_typecode, unknown_bytes, unified_addr, root_seed, account, diversifier_index"],
["e6cabf813929132d772d04b03ae85223d03b9be8", null, null, "d4714ee761d1ae823b6972152e20957fefa3f6e3129ea4dfb0a9e98703a63dab929589d6dc51c970f935b3", 65533, "f6ee6921481cdd86b3cc4318d9614fc820905d042bb1ef9ca3f24988c7b3534201cfb1cd8dbf69b8250c18ef41294ca97993db546c1fe0", "7531353966636630777639336c366464666d396c726434736a6177373272646a716b657779736367377038667166307563366b766479386b796a7133667263756376356e6a66767065756a676c71327433667a6763706e77613336356d6e616139346e78706634337373633575707433717970773363747235717930356d6c6b33376565777532396a37686b64", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 0, 0],
["7bec9de217c04f7ce1a86f1fb458aa881c8f39e4", null, null, "d8e5ecb4e005c28718e61a5c336a4f369e771ccdb3363f4f7a04b02a966901a4c05da662d5fd75678f7fb4", 65530, null, "75317a35677538783364766b7677636d726a30716b3568727839706361646c3536683834663777647970366e7635337233643563636365646563686d77393835746765357733633272353639716137326c676775753578727178683739616a7a63376b716d65733230706b747a71726a6c707835367168676d716d3536686e39777432686379787064616d616b", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 1, 0],
["aa6d43480fd9d91375ce6c4a020706361bd296de", null, "88533c398a49c2513dc85162bf220abaf47dc983f14e908ddaaa7322dba16531bc62efe750fe575c8d149b", null, 65530, null, "7531343367706a3772643934766d39356d7a73757537746a74716161677934706d6678386c6b77656d70786a7463777a33357a746361383530796e6c7a323932307477617a6171703270367168787878337a357178616b6e73716372676c7578716a337070757367776635757963686c61677938376b376874613768773965793336776d7930367065776c6470", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 2, 0],
[null, "a8d7551db5fd9313e8c7203d996af7d477083756", "52fd6aedefbf401633c2e4532515ebcf95bcc2b4b8e4d676dfad7e17925c6dfb8671e52544dc2ca075e261", null, 65534, null, "753178797970646a307a7978637466666b6878796d766a6e6b376e383371666c376e7365356c3071726b346e3266376465376c3733727a79787970347463727975356d6b7875617a6c646e633279306479747a7567797a79636739373034616a66786173376b63757761776d706877776e383839743938743735376579716667346a766566746b687672337167", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 3, 0],
[null, "f44ab023752cb5b406ed8985e18130ab33362697", null, "165082de84f2ad7204426ffafd6b6c7de9cab6d25c13846a1786715268c415948db788f4a5e0daa03d699e", 65533, null, "7531706a336c72656d6e7175737368393878667161336a66647077303872726b35377330346b6c32366865707a7133746a72736e78653574367371716567653976716d776c63366c786373746e6333306e3575357232776b6b7a687039367a3564306a797530716137746b686378366663386a35396b616b387a35636570363261716d61336d36343566683863", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 4, 0],
[null, null, null, "ea9df83fbee07d6f7895ebb2ea41ec7c4ba682b863e069b4a438e31c9571c83126c305d75456412aeaef1b", 65531, null, "753132787567643930666c726b646b6575336e6c6e6e337565736b793533707175356d323479366170786d38386d34387637333734636c7335367a7039336e61796c617864636866307161796678747267653034376d393533717a3376326772346c74737232736b3372", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 5, 0],
[null, null, null, "3c40246912b6efefab9a55244ac2c174e1a9f8c0bc0fd526933963c6ecb9b84ec8b0f6b40dc858fa23c72b", 65530, null, "75317370757467353667736a763233637435346d7277646c616e7a7665716337747a73356d78786e616135636465676d303368673778363661797079647336356d39327674397561786c3637327375687063367a3768747776657079686b727066757376617a71756539", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 6, 0],
[null, "defa3d5a57efc2e1e9b01a035587d5fb1a38e01d", null, "cc099cc214e56b1192c7b5b17e958c3413e27fefd553380700aca81b24b2918cac951a1a68017fac525a18", 65535, null, "75317667736b636d3939783567687561757668337978713777747037756e366130793663617964736e6e33357032647577707773356873367079676a6877703738326a716e65727a6c6878773370343971666d713237383339716a7472667976686b377964393877396e3064366a6e7336756834666333687364663736366b6e74716e6c6a646b64353667636e", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 7, 0],
[null, null, null, "5f09a9807a56323b263b05df368dc28391b21a64a0e1b40f9a6803b7e68f3905923f35cb01f119b223f493", 65530, null, "75316378636379656d6d3038747964776d743968703273356e6638776a766c757575366c32653861396a666c6c647861736e7a6b6438667665727170636a30786e767261637a71673235356377356e767936783977727566666d703975657a727a72376763783535396b", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 8, 0],
[null, "10acd20b183e31d49f25c9a138f49b1a537edcf0", "9b60ae3d302248b349d601567e3d7795bfb334ea1fd1a7e71402169ebbe14bd2ceaa244ccd6e5aa2245613", "e340636542ece1c81285ed4eab448adbb5a8c0f4d386eeff337e88e6915f6c3ec1b6ea835a88d56612d2bd", 65531, null, "75317a656b68686d686b353478356365356333367274376e63323735676570376e6176326e73783473683061666c6c75703976726835687338367a38736b6a746436646e736c7667736d6174743068386832343763676e666b73646c776c39786d617275797570666c743064716673637830647979656d3266616139776571653378616b397736656672353437636a3832397232746e7974613032687866647873646a6d76397a72356b746b70323066706378656164686672683032616b346136686e7876357336377267717272766670646a7435", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 9, 0],
[null, "af9db6990ed83dd64af3597c04323ea51b0052ad", null, "cdf7fed0d0822fd849cffb20a4d5ee701ad8141e66d81ddfabf87875117c05092240603c546b8dc187cd8c", 65532, null, "753165353471636e30746570796c33307a7a326672677a37713461366d736e326530326e7076326e6666736433683532336d747838643232616a7666767371757235736a7a3876666e6d77327973363730387170386b6139306a3561343330757938763833616c6a63306330357a6a7535347879356e7677336d66686b376e7737366b6b7964796c713466656c", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 10, 0],
[null, null, null, "24fd59f32b2d39dde66e46c39206a31bc04fa5c6847976ea6bbd3163ee14f58f584acc131479ea558d3f84", 65530, null, "75317a38777372686d66366d3967766136766c33737a636b303670393730783577686d36336a666a3266726d6d63396e39756d34796373387975746a37673833387672676832306c667879353279306832367474386e6776643267796370797176396b793032716b6373", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 11, 0],
[null, null, "78d85bd0db639043377987cdd814c6390016964b684016faf1ad4f166c5f72399a5e8d469ec6beb873d55d", null, 65535, null, "75317861686a333570376d7639756c6b3337327333766465687172663438753077646633786c3772787a7270653461307468753864306d396d7961617078376b35767836747a357074636a76637675346472667137753771777a6d667565336b74387376736333736535", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 12, 0],
["33a6dd87b4d872a4895d345761e4ec423b77928d", null, null, "5178924f7067eac261044ca27ba3cf52f798486973af0795e61587aa1b1ecad333dc520497edc61df88980", 65533, "91e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476f21a482ec9378365c8f7393c94e2885315eb4671098b79535e790fe53e29fef2b3766697ac32b4f473f468a008e72389fc03880d780cb07fcfaabe3f1a84b27db59a4a153d882d2b2103596555ed9494c6ac893c49723833ec8926c1", "75316439356e6a7630783035643671747a703779757976667765647438796734746a306e663063727038656a74666430653866637a3271617939346b3463667877376666363070636c747076776c3378326b646c646a65617335336e686e613567393578326c7533763370723233657430643063726e7a63396e636477636d7233766a306b6c73653474793538", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 13, 0],
["a56c057ef71dab58aa90e47025695c5faaea5123", null, "a75a6de421d2ad1ee8f4b25e398adda9c0aaa6ab1f2518981a9ddb1de6a3957d77842332d6289dbe94e832", "b208c9235c8d40e49b76100b2d010f3783f12c66e7d3beb117b2c96321b7f6562adb4efc144e39d909e728", 65533, null, "7531646670723876647335683361756e79657a7a7877726d38756461353273743837733876726c676732746730357430713070783336686368783974676b786b6c77747370753332786a6135617271336b7470326e387a613470773779776a30676d68713372776539353072386b3973756e736a76773734743538716c3333347065673464766b616c6b746d6e676e716b7077723332353837653779747932376e6d673636747371377976723779343639776570366b7077346a3530786e6c6d78306a78786737766c6735796c6671387566657664", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 14, 0],
[null, null, null, "9e5445d6cd3cb9f98b0df1062bda47adffd5a66c0c2c483c8bf15c3176d755914a3576496b5c35fee28a88", 65531, null, "75316a676c686a326d617936646674777a39753271796e786a717a6e75743637343768617375306d646d6c63303266636173756178756764797a776a326c38346d6a3966677a6a3779306b396663706a373336736c6d6a38676b37377567386c6c61766367326c666d6d", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 15, 0],
["b02aec10f6fa02a08667bf9b924c3d0574a1334f", null, null, "2598d84dffb34f5908b90732490f3881399150d4c694fce9bf30d1560b2c56f09829fe123b9add20e5d71c", 65534, null, "7531397163617a647761793438707566366a77616a78307732386d307871756d746d6e6435677974796c6c6e79676867396c76393978356d3872387439673566396a307a30786e34787a6d6e7866747a3772746633756164786b79367178706e6b7438666b66686c78386b63396d6e72646c6e7874733536786378656a7a6472776c65787a7637377876797634", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 16, 0],
[null, null, "d3a803803feee7a032a24adfaa8f6a94cecb9671c1333d0d5d1a3d79d82bc310727c665364d71022559c50", "7c98b8f613f9ff02746bea2a167cfd1bd3a1862af9631bf61d9d604e0824e2cb8467a1e549db87a76e7a8a", 65535, null, "75316136346c303971727378756c666a7a6e6d366b326735333575737968746166386564363076346a726a6d6b77766b757834743770647963336e6b7a7265666467746e77383432306c6a3873686d30356a6139667878676e68726139326e6873713536677838633270757a33666b6b676e726b7166357975716664746637743672616e343767646366357676646661637a7766337575793466797368336d7a7538686435746b6c30356d76726765396e38", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 17, 0],
["26c061d67beb8bad48c6b4774a156551e30e4fe2", null, null, "a80405d5568ab8ab8f8546163d951ab297fd5e6f43e7fcebcb664feacfab5afd80aaf7f354c07a9901788c", 65535, null, "7531787a757764386163686667776d336577793976326d6a3537373268726b6e6d6578777a6339346d7a6133356d78363863656e767877727a3973396670306e39767a753872756a357a71666d6d376c65387775366c363275346c6d30376e75717865656d383733677838366a766e776c70787379636c397576366b786b72686d30726c677037307830357366", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 18, 0],
[null, null, "8660070e3757ff6507060791fd694f6a631b8495a2b74ffa39236cf653caea5575b86af3200b010e513bab", "63b7b706d991169986aee56133f0a50b2a0c8225fba6dae95176007b1f023a1e97c1aa366e99bf970fda82", 65534, null, "7531766736326d676a64646e6c763577366c646b793278653063387465746d633832747539766c7a7a6b75796e783439666e75716a76786a743564676e33636d3874356e38357a6371356c6a727467377a6d77686b3730683672646d636c6637736378786e67756b35666c76663261707037367875393037636d6a796c787673656e3235786539763776336b727378613975793076326a6a7133376b6834796d6c61666e3870657671616c716134646d3637", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 19, 5]
]

View File

@ -1,14 +1,25 @@
[
["From https://github.com/zcash-hackworks/zcash-test-vectors/blob/master/unified_full_viewing_keys.py"],
["t_key_bytes, sapling_fvk_bytes, orchard_fvk_bytes, unknown_fvk_typecode, unknown_fvk_bytes, unified_fvk"],
[null, "cfb835e7c05c80c2a15a58702bc529a44e1a815ef79124f23709214cf0167ac4e6340b493dca8e4bee114259dc35edc4c296ffd53869885531d1bdb27008bbcd6fec092ad5c4d1f68819f41ae447db96df4a5f110018f47060916ec54884f1cc27a0d4c0bca90984cdf39fb4cc61ceee78ddaa2a45af871f49f04e98b02fb16b", null, 65535, null, "757669657731747878783339707833736a676478796c6d6636666876706e6878667966717376756e3863737330723678717830726b3974767a3076727a74756a74683474716e7534367877657035367279396a643537687972726c36757467657a356a717232716466737a79787265686b64686774757964376d78756e6e6133327732356d396b7771387163687377673476686632796d736b376c6e7637786a3864356b347a7272343370756e746b6d666b396e346a636b66763237677063376e747765726c6c756439307a346c356c71786a68366333356b376135786c6d663563726467677537366c307572657475787333386839"],
["18d9614fc820905d042bb1ef9ca3f24988c7b3534201cfb1cd8dbf69b8250c1802820346fcec8ea1276db2e615b8ced2fe4cf7468c1ef453146195b4d7bc13a4dc", "04da0d94cb0a6397067a81a88ef422e56678e0ba232eb4dd6b05b98bc5e3461cd4a52b366a7df1f3a871854bfe1492711dc5130b35441748caa2742959279ce31e2b3604995d4ccedc4618ad16cdd2c0d42a6d36fb3a0610054cedef30beca20d187f32ce02f8ca357b575e705cda7ef8e1c68b9110381bd3958e0659a084205", null, 65530, null, "75766965773171686334726b616c78373730716e66746d656b3578383770356c74756570336e6d6e6e766a716439736b656139637039333668387264706332736468737876633036636b376e7466746e78703970766564706b67393765356a6377727170726364686a6e3771357774333467656c7561356166636632666b737a33356b7333636c3764703472306330786a6364756a357073336c707435346c7177707036726c676e347278383878376e643034786470326461756a706765676a6a397436666c34326464386c3667683730746b70756a366b3276376e786b686c7568356a736b356c3461746d35726577646771646d796e326568763232766e73353665656468756167787171736d356833303764326a767832396466787530396a3433666a687a646637707664373277706e356e666d74767a7376726e75387079796166713478376e716467636372726d656675713664667a3535753078367a6e"],
["25946f62c2fa7b2fecbcb64b6968912a6381ce3dc166d56a1d62f5a8d7551db503062caf06c89638774b698aaafc8c834fb2696f70c3cdc70f4528f4ddae53f9e1", "fc02759ff2853b5e9e15842bef22c76023d43db7c265f120ed175713195f1240f63aee02ec23f146e9e25d25605fbae5472cdedc3b4c31c66b76fe9e6e47eeca79d5fb6a84d152820daaf89e99551d068d99cdf9be065007bc25f245ea62631d17b3bc77f62f35bd4205e6f682b1f9e824ecea53e271b80ff6bc79ef68a20ab5", "5aefc74861debd6c707786cd82c4a5d1ea088bba9ce4ea19851af7fabb90cd31055096c89f206607d6542b4f75856cecdcfcf65450a32cba628a1d0cb899ea3e9cc926110769fd9c685c6e087aa2e49b8d7646b04611e19be1da51c4953cf02e", 65532, "1a035587d5fb1a38e01d94903d3c3e0ad3360c1d3710acd20b183e31d49f25c9a138f49b1a537edcf04be34a9851a7af9db6990ed83dd64af3597c04323ea51b0052ad8084a8b9da948d320dadd64f5431e61ddf658d24ae67c22c8d1309131fc00fe7f235734276d38d47f1e191e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476", "7576696577316436307463727173657a32757570773473303679667278717534716b30746d37716b6768336c36766d6b6d717676706567386777367478726b736a3265366d7175636a3776396a3274796a71726a72656d666535736d6e797877303035663570617164617474397073783270746d686b71797563726538346d7868337636637763703072363470357473346e71726b6678367a377a746c7473773378716b6e646d6c7261326767726a673571613861666e32387779756630346c6637617a636a6d63713771797872703634763072306e786e66306679796e70687a3361757965727473356e306d7137397176383263326a3732796d32616d366b356130767a37616a67676a39367870716b6c7277716a64743632707076796c397578737a7730363532793538776c63346d6a6475323464303775376e733463656567736568307a633633327932646b79376764616b366678363278776c6367307963676d3639616b3078657077333264716d6d357274386b6d6d6a7a78706a36676b687566766b3635773073676d6c346d617a7566773664737377786c34346a6b7535796a72306b33367176686467787072757266766c3370676d7133353832707963303438387677797138767232777966716d376432793277356d636c306138366765357178703832396178613971736776666e3839373032336d70716376347867726861336c366d6a323067783070796c6a753366747264667666706a78666b677273373967397478643237617373777035656a367735376c736467797067776a656a776a6a7867386a63343367676a7765646c7778666664687179717061687576336a367264687361736b6a77753566376d706a3371746467717a397767346468797276326172746c746378753375617633346d303630666d35383739677267637763376372326866346679367239367030347a647a75723766676433367135747268676a66687074383472327a7574756e38747576386d786d666538336e7a756a3572646b78356e78793471663075617274666e376633646a7971796870337a6e34"],
[null, null, "b4da1de64ff7ae804cd823f0d7b9ebd420beadef674b68399c7a31a3ff8b1b1edebd757e754423ddc889be2562618c1bb94921c987e09de96a0e6c591a453f0cc61bf8d4d70bf1825a1210499e2f7cf030be723958d6e939026434aa7aa68039", 65535, null, "75766965773165773575746379656872706c306c38683534793368757366676770796d3435347a727136747539777439797a7139356a6b6c38736a336d6a6879726b353778356a7975767837746666326c677a6a6779707472786a7979346833786336386639686a796d75746e3071306d64396737787872667a3772727a39746132756c736732636b74726464763338306b33767935777768766c7135657866796d366564736d67717467617537327338733461796873367434746d71756130713236"],
[null, null, "e72af55323ac5bc329a0c75bbb72c89ff5467b801d5783b66b39d02f87d03a117765db7fb65b6a4719958328d949adcbbe6b5bf92ad2539b6cc31948f3884a2811d3ae941ba3d218d7463f2b7dc158aa97d91fe06c2595a572c6c015c8647224", 65530, "596555ed9494c6ac893c49723833ec8926c1039586a7afcf4a0d9c731e985d9958", "75766965773174657a306b366a776e703661717a716166366670366a3865366c7771746d637a3868746e333536686b67356e756b373033666173337266777761743333653361616b3039306173616a6c737972756b366d6c7135646a713932776571743339677a37763577783337383873676533343571766a346e6d653335677276336477733466743461797371767132716a7a7a63767965793072776767797677366d79727136723076306370367870387a71386a63653677643664666768667175726435687977377970753379347565726a3737776873383071666c3739366370386a3339766836773561616171386a7638396e63756b67346d3537"],
[null, "1bec3da863b3274f4a93458559355066d32fce9d9cb051b2f42ef0ca425361b71ae8f4a40e143cb905b0471ae24781549de69ceeb582db050392e05c6e794685c225a75133434ad8f7c194576e65c0fe25bd7b1000ad07cf3dc63d6c6b7740ff8358a5cd3634092fc31611df64a2206eab0c5b8bcf056738f00bccbc615ffc87", null, 65533, null, "7576696577316771686c6c39657a68616632786177616a7677326c6e783273786d766b6135636d7677766d3879653065677064356a6e6a7132377574306d777861767a3067676465736d666d6b6a387633647167786d637878736667636a7865737a61797535717761333738743966743436763961386837726d37657466757864686d786661783674766468737161786c6c6a613876677633716133303768747270747674386d666a7270396c72396a6a7435386530393466763967653577327777646d326177797476727038653877703333736e6e726e753432336a6863687a776b386630686c363865616e7375716d6c61336e74"],
[null, "9d7e04ae88417ec87f82f4df18f35785b49ec1910e340d6b42e6248c88e2343691b2f0885065aaead6820bdc9dbc52a01bffad9b09298c7feb3002d9a863890ab681421ab447005e6cd49233d5ec66b92b63c78340f0cc23823f775acb1ef11f0d393f2be9b02bfd366cf1aaa0bb9328b2ad02f9adddef2e9aebed718c0e7006", "c4d6f75acbd5a42b053c2d2db17ed40d90718db0959cabffda2fcfe3dde734086ebfafd77b3ebf3648ee0f4ba5451356b18194bbfdb5fb4c4fe5a1fff11f3e2ef708c094983000425633d46329ffab857376718606fdf81b9224d0a6de700820", 65534, null, "75766965773176706a7a397664797973637579736e6b78756b6b6766757775726e36376b7a337a3776713670646a756a6a6c7670333971657a65343071766577307a397334656b64646634787368756b613635397863676137736b7276387263786667656c6d7a336135307663667276367130706d73373633616133306a386764376863376b726c326a726c7930303378783275677972377733727473666e38737661766b6c70727639766c66716e336335616c6e617164677475726d7677647a6d30686d6361326a636774717270677067343678756a78796d37336b613571673263723675783571646d7a3238366436796532653930736168717065726d686b636a6335646a6734373965786c727165766a767a356b673737767a6b306c6536673034756d787372717178336b70726d676c39656e713232717270397067327271733564327039357565777134327765643865646361756a7533676d6c33706666676e356868703936656e307563613834376463326c743261667933656437617777343964656575707a6767676468346566"],
[null, "625a20b874aef2dc146f22ad48c8f4516b32fbd4af3cfc94f6a995793114366a2d888601a6fa9d1293ba725f1ca94da2dddf92e7b6272069fe9599d540712e2f88ca41c967de424819a382a1d7f59e4d1e7452ee22a52884f52b0c71dd1eda58923e035e1adcb42846e5c3e29569e875b9d63f3c40b21445547d0a789a1c4030", "72c77b46af0a4173619e7e850b3e1ccbe137e3e83db05254699975bbd21cc82d28f537bb5c4574881ade4017bef217971791ba31998a37a99fe002c063d83c3cac9da4ed6d9191bfcf8a7e68590f65ec4e3efe827e7e8ea1e2a9b0680097b206", 65534, null, "75766965773134336c7577783479367970336565687763726e306b3479363736336c6c34747737356d703573617461343066357678636d3971753375706e39676365307378307875366a6a6336326b34707038746b7674743864753464396c38656371666e67667765336d6573717972347465666738383336357a3730706b63783067637a78647468356a3671306465383376366d637137366170687572787a333065347a6171326b7679397871716778776e3030647a6e63716538686539667567787968756a6434636d71363230633579736579326c3335326d746834376e35716c66646a3865796a6570797664706e7a326e37786a6863683374676e6463337463793866683564667235747771787a6b706e393238766c7467663036346a6b32796733397435666c716c78357473613538347a7764376774767779386c6736327968677139336c7632726b3474786668397a7833383433616a7265373339786a6878657338733536386167776438616b6339307a666a64393578726a307a6c71683234783970793977396366726b797579"],
[null, null, "226a052082409593988363063442bdd5907305bd83a40500233d7581c5058d26f69cc86e427bf98d16458b14b74fff5eb119d5ab0786e7a95356359b72a242354bdc50b58d380db7f9424b9f687098803e69a3b6dbee285dacde54b03e56981f", 65534, null, "757669657731786b706a397072336c373372637534306c796a38767a6e796a796439336d726872763664787570676868367a676d3333366678716d617a7776306e37637277686a3935726d79666b7272717a397a777579787434327477747371723537347a7a7479656a65336e776872336e7573397364716c366b7566687768687a32726a777239746b336d716d7176706173386a7732703230787267337773777170786d6377393067766b363665766b6a7a6d307a6e377a61373371767976733479"],
["12b56da9c382857deecc40a98d5f2935395ee4762dd21afdbb5d47fa9a6dd984039b50a122f26ede2e13ff63b130c90f4c0f951ae8a81ddc1a4c987754f144c536", "068d407022db8e5dd0730882bd54851ca0797a00dff60e358d28a04df20793838ba1618a6871da256cdbf7d8ad2ce81d9ce01df64765bc7c14ac74e7ed60129090fcb061b3e672a742aa0f5db728265947355b6375f3d2226b25129dced2e0991d02f739d2d822df5d41edc122b2330916ba36ca09e80cf07f99be4a45fce8e7", "7ee622df8c71e3da6e509aae7ab0171e275a573b13bf7c2016515bd90c2e8c24524ff7f72de2274b130a87eec6a9b3558d31ef78b022230b2b41aeb553db940b77094cceda509601cad94dfac33cb5fe70938d47b3839a612a7048e912f5ef21", 65534, null, "7576696577313264777a6d7467323475397861787a36746e37763575366d6d73676e6e7765746a3476386d67356d3566306b75636d6b357a3375783878707573376663333468616733616b66753337373772717439747932386d3930356a3974766d6e716a6c6b6c6139653437373979326739767a703778713839397879716e37356d7830676b6b733675356d64736e356c66676461756866667066337874646d7138676c3078783964727773733863723933337774346a753861636e32327035796738656b71786c36706b673637746b7176356a7a6a7a6a757464703461706732336b6c75307a687835386d6c6b786a63616a6c6736616e7534746d34386a6b616d747234336e6b39737a35307678737a633477357732326836783739647371677733777868726e666d70717973686135646c73726e3332353667633066677339706e34726b6766657a353971387067367438667739663563786476616676763938613077707232726373703534706c756b7571376c70617068766c323571666677746b3477377a7a74703466656c733865383339326d66737966666377716e766630756b30727a32346636326d6577676d36736a6b6663337163326878383673706b75737433797664386665656b3276656171766168613975756472636c357475367461366672336a3032676a796875756e76386463686c6668356b"]
["t_key_bytes, sapling_fvk_bytes, orchard_fvk_bytes, unknown_fvk_typecode, unknown_fvk_bytes, unified_fvk, root_seed, account"],
["9ba0439c6a2d3d903883d4537c362288626da62c6299012e362d8fb6efebab4702ed638532c475f67400350fb1d6eda559cdc289a19b4319eb175140aa86893836", null, "7648764a4567b7165410bc313f922b72fa34153dcad112a3971620240ffbf30d7f19edb9f295cdf160be1863b41c96312daf7273ba01198f5066f28629b56f17e4ab726579eea0fb19ab5ae2b8889ce455c79c5959bfda796823ee805c794814", 65533, "f6ee6921481cdd86b3cc4318d9614fc820905d042bb1ef9ca3f24988c7b3534201cfb1cd8dbf69b8250c18ef41294ca97993db546c1fe0", "757669657731636772716e7279343738636b7670723066353830743666736168703061356d6a326539786c3768763264326a64346c647a793434396d77776b326c3979657574733835776a6c7336686a74676864737935766868766d6a6477336a786c3363786872673376733239366133637a617a7279637272356379776a6877633563337a7466796a64686d7a306578767a7a6579656a616d7970306372397a386639776a30393533667a6874306d346c656e6b3934743730727577676a786167327476703633776e3966747a68746b683230677972653377357332346636776c6771786e6a6834306764326c786537357366337a3868357932783061747078637966397433656d3468306576767366746c757275716e65367734736d303636737730716535793871673432336772706c6535666674787271797937786d716d617476376e7a643774636a6164753866376d717a346c38336a73797879347438706b61797974796b376e7270343637647338356b6e656b646b766e643768716b666572386d6e7164377076", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 0],
["fa9291b353be21ac452f85cb96e4fc978d352e34c5c0259ac28d0beab1b8e29803fc399e613d010865d5a1fa8765b7109f9db1ed56218983f9bd54b8c712478829", null, "b5523cae2a454d3dbcd88b8cebf4c4336db6f906264af982ab4dd4a797dd6f051a139b42cd6e6378ba7c9c7ae0a52dc311fd0a92730e56834c0ab07a99cea50b1160f497b619794819d5f654c57a60ed9e5358fb55aea05bac7133ee381a4324", 65530, null, "757669657731363732323738776472756361637065756a6e7a743274756874646c6a35653665636a6c676c3732756c39727475643479636e6a616374766139636c6e65673271333973766136396b6478356672713066346837706b397934307a6c3370676a666666663964366e306678766a6870736b36367a7835673533333668663871727233713077686d397474356d35386a386773736e796b7473367273796c3065366877756c717237776e367a796a7435376438757330796471683732327863736738766e7230737373637a7264776b376d76356d656865716733723074727933647275776b38637965796b7a79383667756375326a6d747476767a78636574636c6d6b756c7133756c727070666e6435307a77706c6b76643565716c646d7377396333756a7773306676", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 1],
["f6a704fc093882166a88eeb243e2658f0eb7b5b7943ce47c3924c67c96474cea029f1794895562430d5dc8be5e88cfeee3261d6be4e6eb5b238ecc9e7ebdeb1bf0", "0fec4a4553bde5638ff97ac262635ddce4fd10e9b9eedb3bf2b60a4cb01730e1971db5d0921a68a3e4d78379076f47fb26388a874a16c14dd21cacfc0f14475e4381ed27a5002ea7a9c87339d66ba14675e7f806d9580b2e71c4d166c15243a57b2ce29b1c441fb68534de0441e5d75c2da24667372d9ae6db6cf63693f44d86", null, 65530, null, "757669657731386a706634636a7974356e66613734377561347361777476396370706c3867353736613475746d74736c76656e7a6d32616a7965667a326679653277376c6a6a6d3633663672393033667568646d36666d766733646e706778773037746c6c66713768636564653871796c3266616e61617276736d38643074727a35636b63376b3437646e6537386d6677356c726b6763383833616b6b6177327674333763646d767936736e61707875667238353772357039766d66396a7833733030773733776536667a34773439797939776463337539326b7278307673303574336334723666617664746739756a327471733934736b6d3578646e39713476707767666d6b6367776c336338736a346570706838663639383339713870377074383678766435656a73376b3837646e33746c7766656e7a717a6c68616c6d3776777761717935366d6d647973646e71656d6d73657336733635336e36787134", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 2],
["3ebe46d6204feeb43bd83511cd816134c2f03d8582c664318cc60063eca38a04020f8aed7690bc84e3fa6510c362bb9290904b6ff5b75e4e5ca6de821bf3389fae", "507cc7052c6a80b54f01eb8ffb6aed4e3d5ecc50f3447076612df3412d098256ac7767bd7c7b3e6705bc39c86a22800e76cd503258d9fa8fb8b28b719e98362bc697040a0f00c948ef2e110cb09bee90a4a7ebe424b058ec9d97272f9d4f9d687da2f89c201c6f5fa2ac7a7bf73ee32344d13d6f89e8960452613212fe98d0cc", null, 65534, null, "75766965773161716a726b3673777430663877323365763567756d6b7a33646e39393039376661326e653867706d747261377a306c7432787638717037767a76666766786d63647a79386a7470667464756a75766d37706c6c653932343736767773306d39357a6c66667970377272307632727a76366e7968727668363061743971717377746a38796c343476743967647775737a356c367032647a637a726d357a6d6c33757163756467396565616334726730763979656871757a683478346c3377726336376d71753275767177743034346a7376687637386875356768787464377265796366336c7775727867797235723837327373736a3868366d72346372776330396e306436386330796c737768787779366b303576726b307436336b3679646376353738763879347a6e61737478706e726777683070613268783767397072327a37646d7777777466676376336c7972617879743973336561673368", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 3],
["934d5c7b67ecebc7fe717ffba06f30973ecdb4735dd8c8173528c357ec23311f039efddc9cc1bf9f4214a09a7f0188540789b26197cdededc993be5381587f79de", null, "0572a55aa8d307c5be909a8f4ae2d9307292b9f7ba7ba7657193fbfa3cba7104cab2e3d78fb6bcb1c824f0b61c08185c0efb62e502dea31ec88145d295be4214a0b79dd0caa56c5fb2a53b78597c1be7663c5191fe1542e72d903273e653d901", 65533, null, "75766965773139656d6d77686d3971797267336c33747765346c357830646d3475723671346e76733777366d6775726b6b35366e797a7172366a38366667366b776e7368306d61683971353467796e6d6b786661737365636b346b3870647667737838763275386a646e30386a386d7372736e7a7068726865763863713073636d61397a336b6b797065386d366a6d676a6179366e636574396a6a6c70736b7a76797a78637a66686874766a34377a7a65306374726b33706138396a36636e6d6e646e366e637276666d6d73346830733233347066367a6d7474366e6a7973766c716d356d343472763034673664303539676a3876337864723570326433726e706c6d37687a6d6c6a6a6e3874356b3839646a70796c387232336777737777796830336c7667366738753470616e", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 4],
[null, null, "dd7a56b35e69c4ad129df5aa0d3f087d4bcfc9090978b511c18cd39ce83a402c2fe1828d9d1f3a5f71e7ad056aa8e60e6f3fe4eabd258abe3c3316fb098d9115261c9a4499c984cd6a62e70c24967f1650d7c4354d60a8c4671a5c3a4d67380e", 65531, null, "757669657731386e71326765707073367470776c396361677a6c6a6e676b74333334703533616b71776b6465326e683534786770746633636364347479656833676c656b39706d766b366178786b7338796c396837357071756e746c6d3967396637617268667236336e36393037746e6661787337306e7734707538386678736e336e386177703239636a75377234683576767632356573706e6e6e793373646b743639686764677165686b616c78777a6567757238747a37306a7a6332777332726b", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 5],
[null, null, "48e057b53fc1c94392f04b631c1f4696fdefb74fb91ad813a91fd70290845e09a1d6cb1108385b9c20238733b3ca1b3586c5353ea6b323ad37413d001770c20b325f2e53aecdac5d36cb6585e402e96f9f079d3b888add2e6037f0a09ea8272f", 65530, null, "7576696577313864747037716e61346a636c396b383539356c7178796d346465687a6d707375656830323967633777716b726b653678646b32386479656a366d63673230716e336538687a6479766679336a756777327966376b7270666b74653666663861646e6a6b61397a783361676d636a707537663875767363373261346163737a686b6d6a67786d73763337766533757a307363326471767578666b323566706871636e67793435746575657679327776706778306a74387771736671673767", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 6],
["694cc09dd242e4a7b74e3b3cd795fe6959fa577ba56fdeb5fcf4c1a4502dec750214158dc4631f2a3784bfb42b9ad44dcb779dcf0f26a1def9120f81c9836bf4b5", null, "0b264d58dfe23d503b5ef1493e0cd388193dd20fe0131209e28fdff27d494a0ba5e5d9e4e5daf7f3d471bbd7209440a6eb1a5677cd06c211546a025052e1a806630c2b4ddaa21db96eb31ac1d1bbb974305b2396d66b9bb802cf9f473ab14f25", 65535, null, "75766965773164303677676b7666737735336a6163793467336177326b67616b6675613833766a786476617a373732616d646a3464306a6b366364736d71707a727839347170306c37746e37716676797a357233717264727a6e357464737a6b7467616b66796d3430776b77637173676b353834333670686d78327934716a336a73306c3079366d707539703472377467713865647972387739786e756c7077646a6b7474733070717866646e6577786c61346d3670643370676c75376b6a726a773875396467356636616e6567356e7a6137396b6167306e6e356166656137766e6a687271727634367836357178676c306464393778306667306a7167716d79773432326d7938653573386c6e71796a683561377372327066786163303535363277616d6e63357a667377616b", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 7],
[null, null, "5a597f1414b10558f5c76406afb5a025a8abc02cf46738b7a15933663f9f1f1c1a4e6a217bafda3180c08eff58d76fd33a22cbbb485334b6e5d4b68e0119331e8fb43b7d91f9579249a95ef11c500b779baaa35cda27a146438f19bb48575e1b", 65530, null, "757669657731673230677072656b666336746c61377564776d716c35633470346e643237723066727876676b75737266306736306577663273356c30397338726730336e767974366d676b7365666a616e363030783936377663796163786674343572366a3578397a75736176776538636b6b776e3434663434647664333871376a36713538656a6373747837376e356e72646b6a3570737968366430716d616630367663336a613373396b68307277387a67706d7730737674666567386a77383968", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 8],
["b60895766bdad050ed932d0099832255dc0966eab8f98a3b1577f450f226a9410295599fc048f2181156f9e453735d989eb61623f6eee8a060b8f3fa59666cdfe1", "65aeee89ce971199487ac959c2960cee07477bad7d07a4c71a363894d671edc7090213b1b25d74d9d07cbe5b5034248bad5bc5394972c8532ea24b3f3887f9e6d312ca8ed244af57ce0412209ba3d537bcac08bf7f64744100dafac55fb25629204f19a123bdbbba7159510e52376938fb893ebdadde04d5f0646a3ad0f4cbc6", "20f8c2edbe19901c0d1b5cc7ab185e67354511bfc5174fe6bc0e6362c5880b28fabbf237258f8d03b200ad7fe0f3fa7e80e628f2b745dc9983b038c3a81f8237b6654db322e68436a972c6d3bc56e5560fb8658055524a11d6ee62e5a7d7a516", 65531, null, "7576696577317174646a67686e6c30366e6834747579707665787472617a723975786573353268363477676837786b7770663561687675676b6165766473776e72796838336677657664777239303566396771676d37767837307137703867726c36636a39397a6d686a6d6e377068676535716d703937667930343534346b636579396d34387979726471616b6c3836617a7034346a6d7765796e397979373071686a703072647971306a3334756d686168657379367473753738737975327339326777636765786b6b3533716b74736b3463756b38356d61657a633078717278326b793737396d6778303437323036776e71397673346a76717566367a373976346438367830686e3267666a337065376e68757377356e34727971337534757273326b39643079346c6e68787a7264766873676578743576633236666774377a707236377667646e39726c676e76396d6b636e6e6a387063786537307a346b74766566376d667032333566727761767370343970663067637a3079786a68646777337466396c32657136706d337663683434787475336e73647772366e6675757337383837723268646672736e793430736a7837346363356b3530307830303971306776323232616635706c673761636e676e633936617079363936713366797233347a676b366c66657930393438746b726b6e376379723676356538", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 9],
["948ae8172f75da36040a5c6b10d4c66fb5b04bb4bd9371cf1955e0e2fcace749030b478a94651e25797404b9563869829f43ae5bd41ecdd4e92ecf5489573fe451", null, "042790a274f603d5dcd5d28dab5c4e341feeb358618a886b9d1284b1095c633aff807d0499ae89b5b3401b22086e11961d287ab7de1ab534a0b336f959679e3dd0f09728e61eb9cbded2ebc76a36ca901d903ec2019ec04ccf6df46045e2241c", 65532, null, "757669657731393032706d7861756d6a376661683973613875686774657037636468326138337a67307a7935656766327567673763787a6a79677430686d756a706b61766a756e7261327177373433346877733471716a776e6d386b3238727a306e727872356c34307368716c39367576727779647438766834737170396c786a6a616765736e3478366537767477706e613878637865736c30736a797a6766656d74786135776c6e6e653466307767676a6d38757639656e7634336b70686e6e737961773577686a7435396b727a776678376636647534393563707174776c393237346a756a336b6c35343866703561746c6a7a716d6436347476646c3938656733307070396e6865686d7472737670737333343967357267336334347132327a6830676b68736161666d376c", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 10],
[null, null, "612611e4529f127a539c31b01241750616e6f5b3d7a1625cd301ee4b898dcf0e85f8b38eb5846c2ede2e394588723b8f583c3841d589e7d285ad218ee5a6ea299fb823267795a5e3c9a651af384289d6453972be95022aed8167a1ca660b2f0a", 65530, null, "7576696577316775367534306a7579786670716535616675367564716a34686b7a6671643778746b376872686b37796c6c71736d7a6466647267717136367839347270666768307a36656e38356a7161747030636c6132796c767571776c3735727433717371646c75666b33723635613372796e767a7077776e683035323975637a7735783572686534716d76653064397036716a796839796a6b616a307a776a78776b3376683338387a346566787935757368753675707068656a67397468687979", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 11],
[null, "82c3b3d788f6cc8714421d6b74c20b5bc58debd9a33e24b4be99a4c601959b34d8436534693bb2f793ad6e4b488d9c7e202771f11cae68405ec816c71b4a906401d4cb12115fbd978735bf537d8589154a8a84ca61d6c202b60477107a5e0cf8de349c22cd8bfab48e92e90834504d65a438ab76010e3bab7437153a79755d17", null, 65535, null, "7576696577316b726e766a6e396e6b397973797a617a716374727763743778706b703735687230397a75386c617a386165356b756a397467756a723575666d32666164786d797239636c327963736d6565646e68346a646579743774747a71376337726a68716e377733777135306c3278656338357374637a6a32777670376375367563326475367965303071303066673930766e667772777975776663746e667a776b367a6b3438397130617663346a756568746533326c6b74616e737a65753768387a757330787033636736736b386e737461686578303577617475773035653438337179686e66367232647876357179746533", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 12],
["6f5ea3456800b2fcd67d451af033ac9e0978ceed3b4dc656c420fe6a313a040f03f9d51fdf9593ab447a1bc8a8ee8ee802ce85efbe7d2d0b3c2b9d15682a1d7ec0", null, "310e66c574051ac9d885f9fe9a4a7c0c76f32c60258e75a091b86117a733d024ae45b81a071cddb7e1095da271a20cd62a7e85e57167d10cc0aaf2e9fb081b3f47dbb1af9421a75be2ca3bac8b86a60ae8fe9af14f893c0c5714319b2a0b1f23", 65533, "91e00c7a1d48af046827591e9733a97fa6b679f3dc601d008285edcbdae69ce8fc1be4aac00ff2711ebd931de518856878f73476f21a482ec9378365c8f7393c94e2885315eb4671098b79535e790fe53e29fef2b3766697ac32b4f473f468a008e72389fc03880d780cb07fcfaabe3f1a84b27db59a4a153d882d2b2103596555ed9494c6ac893c49723833ec8926c1", "757669657731756e77777136726a74786877376e687170396772656c71686467647467307a73386e706132646c3932776d6b73706a7871353075736d6c68766a6b6a6c6e326d6e7265357464383275766a7a30333033396670706b306b6836386c356b726735763365306a706764617a303871686c72326e61643967393966363078796465686c3736673835687666306532617975653971767575326c74796d7135646d3032686479303668723339736a337065307066773367687672766c72663070736176387876327173687a72636d3732617a78646173777178677932777964327572393833766378776c6479666130686b71366a717a346c6436326d7675646d6870333763373365373868643063367a61663335796832676133386836716330736e36376334756838323365306a376b7a7933766c74336a34347239757a6d33616a796764723834636d396a67796c73376171717337786136667a767532393938666b6a67706d3270776772707a70727776703979683465797a633532337a65677270303071706676337765796e346c73737634736b77756e39703967686d757a303030347a746774337a65726639636c64666a727063786130677a6d70366661796d3638386471727535307a396672766d3877723361777877366a6536376673753939383364363264617272613664747776746363387675736533377a73686e6736326a6679647a736a3239346d616667747468343079", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 13],
["b9cc7c2fb05f06458a0b87d0ac47270b52266cad661332b15455f989f6576538028185d9021ac4ccc6847e3def047aa6f4384e63fe497dd0b49b3364c3da15ebaa", "282b9f0424760d2126ccdd1c7e0fdd0d9ded2c5a294cbbc019ce8d35fd33b3bd2ed6a319400cd89bb329d79318173df4cd9af45e62d8719d9f2f66f9e81421ee4cc45e4690268df0040baba4955edf22951b3f5a2a2374eefa91dacf19c080aa0737d310920e67d83715ca4646d38d5ab5387e86db43751daa16684088872427", "8e880f8e62d87ef6c18b5882061dc512727e00a7e36862f506977ce96d761135e2616a1306955609ac674da547746112a27dbacc776b992f80e0762a79e5063df6e35f273df2ef59a14f11a4b465b9397c313682dcb878c23b5384e9459c142a", 65533, null, "7576696577316467756365746a7575646c336d737636746365636a306765746e787364706b356a36306837346e636b64747272717335703467766638613373336c666c7865646e7072373734737837747961716678773073386d6e6e6c376e6b3768346d356d337938786c376566676a7072617238736471366b336d6861396c39636c6e3577793373366b3467376d6130746337793330783578776c37657a78727a68766e7267643871397a7a68346c3038386d74613933326d6c37776c6c33397933733832716d73653538756c72377036726a35396c68397630673765766370676875336e746e68366a72326a7a6a327664633930346168686c6b7136736e306a647974336c3473306368366166376e766834656d6c737074333268676b357435396d67336e75786e6a7170767078323676776366767075686d38766d707930726179346d687768747a3964653867767767343233727077376c3839396676797530776d72356c70356c753436636b75666132677074396d736a70787861636835636e757761787068303065363574666d656c7879656437387435377434673766387639713966713033373867323379716c3274397470373867336d7030786c333071363233726d78676c686b6e6c373965376c74777572667670773777346b3537797a763937657871396830667630757267766666753664716d6b35", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 14],
[null, null, "0384454f17022a1482cfeba6905337fd310a7c2c3a0047abc7b1e7042550e80e237e5bbf5369af2e8b610fd4ecce60e4e88c35d11a30b546e9d14828f62d320c7ca2bda474d8a86c15c60ac120e79d4a99916e6ce1f92a56bcf8804d610f2107", 65531, null, "7576696577317274686a346c67716e6b74386473756673747366636563766d35666e61663868756e7333747337336a706c7575306e706e746a326e72386d6a75786b636837356e76706e7264666d71383768327975676c34326a74336d756667326e67396571723771703338736a33636e346c667a706b6136663963733737637677716471376d36723938713233397161327836326568776e6c65656e6e6e6b33393667766d706430346761656737386c6573377770366b7173727267757961756673", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 15],
["7168544c05a8a120bb6b532589533fad6e19f38e65bdbde41b720afeae539657037460e104528508724a707d2e9a896742bfc7b73a0fd0416fe0d6229549089788", null, "982a22c3aa25c6dea0ec60cc9208b4dcc796f0d0ec6d8c76f6cdf54957cd36292e4917585d1f1967cfb5942c08589b78f10eb0a4faea9711841f446d048da13e1b6027c0fb0b440d06f472d8092216ef3b76d4e122f88897b1e97dd253a97d34", 65534, null, "7576696577316d74366332717a7975736570747a39327a35347674673864666c6e73796572756c7277713971797137667667357664766c3561753773676766707767346637776833646e78727077763368746e77736138646d7267666765713539733966737063767a6a3932777a786d65786565733664683632643478356a3233306d756e7972726873616a63636577766871666e786e67787065797166726a397978656e656c366a787066727139387968796e3279386e3964737232706734367367376c6e6b683736666b76756a75746776336a743567767770786d786c657272386c797a32356c73767830616d61756e386a75387a367a657034756d77636733356473736a7738346b7034713861753679713661716732326e3077776a77706a6d366c7239796a3539657466", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 16],
[null, "b7e107e0c3637526387c663dc51e2cb7f34416fa271e085246dea1015478a9b51f4f38acfee3e2d7ee3a1906c326d835948412f6647c218ed13b5d606f753d145ca102aa497e3f2190f50ca17873b6aca1a40612a540ca9eea6c4096f0db6dfa60e3822c1e69731a1e5013c7055a4348cf53e8bde2758f95b87a3a43c9e6ff6d", "2d3c2f7796db54f14a1753b5201e2499da0973016b978f9a4f49f515cd1c3c2670403dc59e67aed5dbf58c2fe4b3490caf854596436bc6f98dcb325ad7a6f22c8e3ae8448f413b2592363947088f9ae1c9908fe60313c10749f4a36281908724", 65535, null, "75766965773176653039326766677972636d77736b6c6665616d3377743670766d306e687037386361306e377673706b64773671346c38736b6e616163766637766778633478646a767063787266307a383532666e7a7370716b34683930353934616330307137656c73306d7671783977786d396b756775377977727639616361347164726d763277646c39357372366178393332703032373033787463327879777a706172787178676a3935326e676630397764796e63343536396d30686d6577786e7866666c77723534647832376c346a337972386a3863303032776c716b6b74637037373675306c376d70786b3961706470686a333634666373327464756a6361376563766e386379786d6b7166326d376c7839306d6c616d306676337677797830393979657179793032346d77366e6d373577796d347935367a687134746b756775653363793371706779766d367672656b797579796c6a6b336534756b3068396e6e3735616572666e667a7a6436336d63727a666b376b736c706e6570353666326432756734737378666e743667", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 17],
["f90c60ebe5428502d2de8c9adfd003a1db5d161c73fe4ff1990794a6ed9733930231987bb4878e9e8078a9ea711f662bccc0d64f7e286d6872ddd9347d3b422cbc", null, "082ac71bb6882c48a63678a4207bd28d93ce949efc9f9963c7696ff6312dc62054e150736f5e3d26c87d5ab24a64508260ff60fa7e360e4daefcf04d10b96d1ccd8553ca2fa3d6ba62644bb8d72d6ee0159e469d6ed5eb2c512c78915be17922", 65535, null, "757669657731747a6a3675373077347463656639726d7177647a73376a7a6d3061656d6774756e66687a686c7a6b39726367653239746a78386a6a7a376d6a327479613978336e307767787337746b33786b773572687979756471723835377a30776d796a396c32383466647a3467336663366e746e656b75686d343770703835617076396a376a396867647a6c34396a6e7a726a6866677634683061727a7033386e6e7a79356a333739636a7267356735617367366a3274786c3278397475707963756b63717036677179736877706566676c75327667676173646e32337a63753879376577366532783563766636396773306766647965766830776a326177367771326639616a71687a7a366c7a6d396c72747374687272357a6839353935347579647739756c6c6761666d", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 18],
[null, "d9e0d580c264aa721420bff06666b991635989ec21813e9ef8989728a82835163564d29ae007573f0d48b12f2ca2a8135f8adedd27c0e1d04399773ce1aa29949485d60142c6896d6aaab7d5abb01ff34440c1b7d5ca239576d5a243ac37df2ffd3dc2815d5052e67991abf2ef9742d788e7c45264af01b6237558157596ed96", "77051a5802d4ef29655f7e149ddc1b1e94640f2d30d3e51856b7d10813da99165aee0e247964d23398b6ae89eb0167d9c48584e274ad212cc6dd7e65c1a60a23ab47eb191d1c16c28235ca654e7e637eab6da823ea090ccaf84a8ae13e432911", 65534, null, "757669657731777376373363796a6467387479716530366e6e6d71673432646d6376766438616838776d6b72646161746a7638336373663267373368643936326361797279646730746438327563636e33326e7a6c3768776b793232666e6a6173346372683236616a3367716a36687366617a7266663377767573767134306c61756832363771616d7174753234646837747a6d7a6839676d6d6134656d6d3966667a3736723771706b36773365716e36776d7039343235796e323774686a3774353661306d6c753637376a307472336830347476376868346d3933786d6434733238747030613739637437326a3275706e663736667164616c72343936726a647a6836326c613534616b78733968786d64397272777232797377617736687176677a743837723668723530716776657935713432786e346c717a703334396776346d7432736a3634737830717461726a637365746b726b77347a787133356e793266637463397a7137716639373971646477666834763661356d70713935306d36326d6434306e396d773771386c6d646174", "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", 19]
]

View File

@ -184,11 +184,11 @@ std::optional<libzcash::SaplingDiversifiableFullViewingKey> libzcash::UnifiedFul
}
}
std::optional<CChainablePubKey> libzcash::UnifiedFullViewingKey::GetTransparentKey() const {
std::optional<libzcash::transparent::AccountPubKey> libzcash::UnifiedFullViewingKey::GetTransparentKey() const {
std::vector<uint8_t> buffer(65);
if (unified_full_viewing_key_read_transparent(inner.get(), buffer.data())) {
CDataStream ss(buffer, SER_NETWORK, PROTOCOL_VERSION);
return CChainablePubKey::Read(ss);
return libzcash::transparent::AccountPubKey(CChainablePubKey::Read(ss));
} else {
return std::nullopt;
}
@ -197,7 +197,7 @@ std::optional<CChainablePubKey> libzcash::UnifiedFullViewingKey::GetTransparentK
bool libzcash::UnifiedFullViewingKeyBuilder::AddTransparentKey(const transparent::AccountPubKey& key) {
if (t_bytes.has_value()) return false;
CDataStream ss(SER_NETWORK, PROTOCOL_VERSION);
ss << key.GetPubKey();
ss << key.GetChainablePubKey();
assert(ss.size() == 65);
std::vector<uint8_t> ss_bytes(ss.begin(), ss.end());
t_bytes = ss_bytes;

View File

@ -173,7 +173,7 @@ public:
std::optional<SaplingDiversifiableFullViewingKey> GetSaplingKey() const;
std::optional<CChainablePubKey> GetTransparentKey() const;
std::optional<transparent::AccountPubKey> GetTransparentKey() const;
UFVKId GetKeyID(const KeyConstants& keyConstants) const;

View File

@ -16,7 +16,7 @@ private:
public:
AccountPubKey(CChainablePubKey pubkey): pubkey(pubkey) {};
const CChainablePubKey& GetPubKey() const {
const CChainablePubKey& GetChainablePubKey() const {
return pubkey;
}