diff --git a/.codespell-ignore-words.txt b/.codespell-ignore-words.txt index 5c0c89e5..8957ca0c 100644 --- a/.codespell-ignore-words.txt +++ b/.codespell-ignore-words.txt @@ -4,7 +4,7 @@ subspecs crate crates ethereum -poseidon2 +poseidon1 keccak blake merkle diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/0.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/0.json index 78197d5a..32826f21 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/0.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/0.json @@ -1,6 +1,6 @@ { - "attestation_public": "cd64341d83f28533f239153535b45209592342325ed31a5792b2e61935648748d41c384850baf6386c43bf19bfb63f53eb2c8c0b", - "attestation_secret": "dc34cb2e1838ddd848c6dfa212d3b1ceb7aa7964769e241963834c11c441d510d41c384850baf6386c43bf19bfb63f53eb2c8c0b00000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000f3f0ed2da9b5bf259e55155af62d6c7a3d62db360a32b47c78d76f601dcc464f76549d1be95bad257dfea8682401b70dfb02ed4324bb3f2615fe2d34aabe731000000000000000000c0000004459dc571aee1d106487e76807885f310ca96f59e01b974ad71e2a09be5e42657c42b82c318c54084976ee718192366479c5b43aed1dac54927f017e10dcec3000000000000000000c0000005e89f300aee4057dd072396d451e75432d56223070093031e75eed49df04834eba5f42058fd8df74f790824c2ab7b54b6a905d4587bd356659c5c1104bf2522a00000000000000000c000000f29b3e2924c84a332c059b33b6dc3d1dab063c47cc6bcd6e45acd9679e1e405a8deed17ddd60fb35cd3387701de2bc5a5feb6729c8c579783c1a863413e30f4600000000000000000c000000cd64341d83f28533f239153535b45209592342325ed31a5792b2e61935648748f23dab31177e147114a45508435dfa24c2b2ff40c39ed82a619a7a3ea2a82036080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000d433943375c51d4b12cfed48a8ecbb5abe2e076e1365fa77bed46e73f5f5de467f15f14b8125277326c5242869ccc76fafdee8619fb6eb71677abb3e01411810109fe220525fad0456669971f9161d131e33351e7a528954ebbbb8571bc9847d29174d60f9d0526048120c764851bf3620f480433a820e36a3e4300703aa2b6b5a538f3ac4a2ac368a19b631eaf9be5dcc1b4949fddf11568bedc31684bc5b3e8f66db3e771db1188d4e0862b9da8e1562d63b3ad8eb41126b29c62aa3a95744a6d41c4147f52929bd6f4a1b83f0d60b69914923c0e9de5db0f1344796d1d312734e666b5c658b6ef4db660e6c99fd3cc5d1a55a4b0e9b5addc3e13ddb58874f4dec8855c926c014f6d8fb3fffd2535ca4638e2738b27154251a2032c34ec03dc5d9b058337cd920e29f2b5f54401a193a91623f3bf0c6547d87ba5483568069e2afe259a05d600c2392da299363e46cb43f104c54debc5e2e33d575757e004a627e3d42b4610406152a0f56d06cae447c912f22e63f80521824a430827e5d392fa98a1833eb534a1c06f615bd0b0e2cfe9fa9483a3f4e739c65a515a2693b60cd9a6e7903f218060c046226d200e3477bb70e6d3618ad1ed975177c81db6a1caa5e580e874dbe770e7fa66dedc26a123a958f0a6c5e201f26c839596daefb08fd02a62bc06ee169360918790415271a4cd7086619fed744055ffe76233ec93a00000000000000000c00000029a0c31f8b8eaa4c934738086ba7da13123a393a3e87a6797820da66bbf36f0789fe66633a68d4406fc24a3a50c2a209f3e2673c4a9d8f4d6e79120fcba9eb640c90767ea9fcfc41ec79642c9d7c7c5483657412e69a6760230d4962454e414fe3acc14e0f2d6a7915e57a1699e2041dfef42f5c0ad0ca2fd64d74020c12fa701b4a3b6bb850e818dbda6850c3203d6e51009e07f3784f352768a81e84ca4701d00fe94a1f6a675f78bc7f357f532f5e4fab5c7c233e5a73faa189089f7ade62ea411345d59fc36911a66e58ec43fe7bcb2e2f0c9f7bac3fc28b431660dc19553c965d4fd813a8515cf6882268d4ce5acedc8c4a44fa1a6da5cf481ff085725e00000000000000000c000000e4f0590a9c867237d72d3c23e7548915ca4b9a53fc591d318e746047510e81032bf8ec1fdf31e17ce984093d5a05294404a273175c41ea1f3509d4596c102d2e4678a94e0b2eb646f7faac2062f10e6665df564236065c2a8ba2f14d9ed68d2ae857c917bbc55f30fb8dba6d97e9767a08e9e242dffd44385253802c87d0332900000000000000000c000000ff657821a1e5322176d55f1caf5dfa35f1eca322607ba641ff59120d86ff153b5e464b267f7c473760d21336936f5576ce125f459e1cef75d1b8ff488818865000000000000000000c000000f3f0ed2da9b5bf259e55155af62d6c7a3d62db360a32b47c78d76f601dcc464f080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000c3b7e47113f8fb4056951a28ad63ad3feffebc53d9c0a23970817c4843a8f17db855234ea5c707203520d65e9e7c482ab13af850d8750c73a5916347dfe50651c00b8a276d6aae688518812dbe02950289a49870a416110dd36a512c553d3a020181046b9f75566c1e5a4164f11d117b86527f323147cf0435204d1485da7b30210cf86241669e2b4d5c856ebf621f12858732739d00dc4d2453f1267bf51d2e24e36c098beca858456e5e732c09087409949004f321906624d4d95557fa490df1d4901116d1fe2868d7bb634e8c25512a5650173e75b73e7cf56a5ab894ff743127a47e1d6e2c313e1a6535853d6023125ac45d9a91a205fd17806668a9a12227ab226578f0c64c16d8524e2a0ecf383400a64c41e458136cdf746c6f82cc4b2f2e0f4f8168af25b69f6856585c0e76e835475a8c72500784e0ac22eaec35671e2ee91a88513061d4bb96189b6b340ee7cd1d44e5c26168975d2e6f7390d461459ac3359887e67c070d5e229d5d2b5122ce90504d71a060d7f6b437f60dc5695f3a3735f97ac11fe7c842732f6db46106ebfc6c734ebc619aadc11704d09730180cd07848f9f16691ec7268b402d05af3732a008c92302933c06d52b76af97c5a9f3c1050a9bc5201e26d1d4c8633672d80941aea4ad73a35492346515f822f22e05a0a3c617c21d856891feab7b62d380b8e739d46d13a92e6c07468b5e05c08000000000000000c0000006f0484548c399b1cf2b0080b714f0164fd6f9a59e7213066907e0f0395f86b4165e0115e4f52e05306b1fe08284fd841b7c6f11367bf6d1b6cf44f0bb033e55912c34c7393ec873da289df6bb3163579596b9207d13bdc63c2602001233b260f6ad25d6be5529f06b7d126766b0a6949be5246516dd93330f970be049a305b2e75ed16372b0763399ef2ac34973dd31986549f5aba5358035cb9f04d3d701b2fca41d25724eccc2476c09a0fb4eff81632ddf858bb1bc13a3addd06040f9b42aff3629620bea02773ecb5e6ffa138a057f89423ff4fb0e7864327750c52f8d43f5f7a0561fcb912cf23d863b4c95be6a3d695d5955b05f1fa96ab351bdd7bd0704000000000000000c0000002b66de1a9d91f42df231d1079619c54d6351bd137e919608f2daa20de94ce218288502718c03f837cf7f5f14e6a1904b1e723b26a52d2b51e8af9d37122f72553ad62959c06a650fd634a7366f26750ff0e96f27ffcdba688dc8d439991d6823f1098a7239c79f3f7cdc5c121e9e1235ec2e1e7b0932c63d4fefc81ba4fa3a3002000000000000000c000000da6c9871caca726641fc2d3f76712c4738b8c2382038bf7050ecfd0d0513065d4550e57514957c5dc8d2626b5a822e0d8e7de86a1d924f67b680a72038ecd45b01000000000000000c00000076549d1be95bad257dfea8682401b70dfb02ed4324bb3f2615fe2d34aabe7310", - "proposal_public": "5eba321a84f55461e2c0e94036d24e5107720876752d5c4f6e03183a7e7f1856e372c60dbc6fbc0450c26e58ba402f1da6952a73", - "proposal_secret": "633d36908b6524f852edfd6aaaeb4ad7d64eb57ee97ba3a2ae624951efba43f5e372c60dbc6fbc0450c26e58ba402f1da6952a7300000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000206204602bfa254efbb6bb7dfc36022d1ce7126fb895f470de1f8c50cb1c47678a62c444d4f46645b1e7bd596d286367f371641f9410c01cc78cd42890d1b01200000000000000000c0000008775217baf83ff3ed1b3aa572e9e837b2479e44a62a8532caee3c04d1acd6f28ca0de11d58873e72b6b28f12cf7bb77bf05b9d5cadf3ac71c3fd563b95b9c72500000000000000000c0000005bf05e5c97ce8a258d71683155d70c4a464205151828a16a9e65b94f75dadf506e76682ad83b0a2be07e16406921811b64a9397ae56a72765230054b4c7aba3500000000000000000c0000001f8a3026d773047533027b70579ab35b43d20716d97ca26bf6624f498dd189569bdf3e5855cbe83e89d8942f2ea358511c11b67b58ddef583280c62950b8e83500000000000000000c0000005eba321a84f55461e2c0e94036d24e5107720876752d5c4f6e03183a7e7f1856f4feb9669016ef4f73a6d37955f9624fea33670b5dbe1b2fdb8b9f63ba932633080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000007665202caa89be164276a46d18d8fd7b7e56d322a8c9616a5608e613d9f97f180645ad4f2f4f36618024fe29f8211d0b047ca82c1b6e3b132d32077644e6d409b72f4866591bca6e05f74728fee07328118a51638aa0cb4f6fd0921dcf5255778a5c1e4c695b6c105eae036bb8883f364d33820dc9cad454f3c7dd661e07fd778cc1527e5e89a25dc1737c4b4fa5c6139b2f112e2c7bba3ed53ee304dc68942c13d1600b101d1d175ea72333a8f7166fa114820dbeb7415f462d457cc9969562dc57b13148a3877ac5feeb0c0153322d82097a74e1984758524ed83bf26489368ec1660fdd8fb24efe363931a015e83bcb48c954e9c785192c66e83fa6738541c772be062252d1525ba54c208a7db55cd69c9659d14fb1145119bc1e5fd1e74a10e24f60a595f91e5ad98157dd4a000471aa99725ab9ce6b099b8d167590643940387d1b2a12b306f9c7f15cfa45ee5fd2203446a464275777aa50431dc14e442389a03ba61e21597f3643312faa2420562e026b5c1d43728c322e7b497e3538079b0512bc380930c556392491822a0413b65077a12f052734efa025d386f336aa463e3f8df52d3cc049073881ba085db9aa743988ffa706b470df0ba2b37c586af2c1536db72537ce564478bcf5c10c7808e2391d53d708408ce3786d65993c365d1d387693cd2d98d8922fc72fbf317b4b9e67a9dd011c204e9369cbd4943d00000000000000000c0000006dafa31ef8f33a145b37584c21c1d55537843b1eb83992365f89a62cf9fef84db4041d0eef298f365065fa5529c2c01b3ebc827c7b8d9f4b7fdb812d6abe395fd427556e50c0a90e99e7ac38b5a3ac6a85e8f916a6e56d7ab9b2d90c06aea72e42301b253ab885782b708f020e626c486deb427847275540f895445e1afeff4e6270577cea763e0d2fff752c5f571e5d80b6c01fbfd2fa75069cd2708929b76c70b49e0e1e17f41dbaea7856178f6f2bb89465218d1b517e6784123d1ac3e05b5df2c93be3fc7b5e989ef853bd87d141c6923763ed07914f30f02172cfd9e34b789de74d7cf97b6bc51d6c08cec8571dbcabdf58f655bc02d0abda46a4b76a5700000000000000000c000000e2bd716188ee9155a2a61916c566fb7640c10e58c92d2a5dc56d83734c76a039914c8d1b71d84d04191872221a040e64d437ac7c6d9da127fa3d2829e35ede12f49adc00fb702756892483091eddcc79adeffb1a2a29591639690b71a6b0614564ffeb55d0db3e4081a1d515514d3b764234111d5798e50502a05b35495f123300000000000000000c000000ad8bd3207b68a73b95b0ac1d145cb9622fce0b649b02c5604e933a2ad507264be198e17dcd3ff758a9e86e7bb14c9e06db4ead40b3a8204691a4dc32fcab041600000000000000000c000000206204602bfa254efbb6bb7dfc36022d1ce7126fb895f470de1f8c50cb1c4767080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000022f3095917bde63093c6940d7f261034459ab81e0dcf9c3468f4724cb3150f57d3a0535d7665c07039f13b0816197e6d30935538b60ab427e60845206ae56d1c20ac3628780c98197a9bff54b6e48120e994271cc81e6d2a7536a567637ef0560efd753b07768a758419d05890ac5e32dd552909630bed601ab81f6507f7b962306e2813b703a013d8d23b6dfb9a821e83d5886e1ea8e3272238040f92da7f63ad7ce8071feff01c6bd73e7e2ad6eb72fd9e623bbb5d365d3e68ef6a4d89731a4535aa10123058683107db746cbc712e6144774f9648ad3cda680d12742e8c6045534338cd04f55bda883428390034449c49333c29641210c911034a517e48366f852c0c98b7ce1002e20c41e192a05ee3b2e33dc25f9a0615c7517d1bf6f700088b36563178f444ca5ece3deaf5b35b4d4e3f0dd3a12f410eca360d8a70dc6d7d75ab669d030c610091a4780756a532bf3b9a4ab5639519c1456f10e7201b6885afd824c5a4db62a0d3614b72cb647d3f67e3275d6d461820681626b34d990bf38c2066e5688e55ca40da5231d6097dd089725f55b6ef0a5e8e683e79e2356991503d661493ee57b1496f19a08c531ba61b574ca1bdd8696f5e8c0642170d4fced0456bf215bc0f9139dd39ef31174b99d00b315b4acb41c1346374b0f9476ff809816723851304f2ccf50ad695221456d12677c69111017c09c5770b55b53c08000000000000000c000000e6d095401507765f7b59993fea972d6aa290355421f70536b0a378586543d12a338ee418fd9c8377feb7c82fe4ff386cf7657f2fb0268b588f065e19ddaba801cbcac9340786fd75566fef52c15def7a0d952473896bf24cd3b7471e261ea37ac95afe479a0f5a5e80d2557496ed06439e7c5412300462762b218a4f83c91c147bd87107be7a374451e1cf430cb77c0d1d8c0b55e306813fa82fdf0f724e5403f3c6025be7c319637d67db6ff2504d642db1b910db51ab1aa37b3076b7aec03180d56e220997c41e464c803df7e4090301dd2b7816c26074d682ae2abb0c8a5f03f97a43a296126117899d0dde215403037c594a36fff42a4ebd874b2cd4733e04000000000000000c0000007917fd01e7430348f618484514392e59d13e3862bc84a05d30ebb93e384e7a302d765f3b3bd79d7855a8102398abc3113ea104757de06f6266f09858059f4a47bd90fd4c0f20210e27fb6031e6ce5e28be022507d5caef19a163e60cc927fd02ca37b94558123e308da63f26cfa3877e91452173ddff511efb2d030fd736b73d02000000000000000c000000259b475704733545355f3053446a386dbaf0b31aa5401a475917155f14c7eb0649ad093b35a33a7edda40c2b7b2d647a65e38e6a193e451e03b99b46be3e016801000000000000000c0000008a62c444d4f46645b1e7bd596d286367f371641f9410c01cc78cd42890d1b012" + "attestation_public": "edfacb783de4e9141338552f12adbb2d138efd5e5e32e1079a73eb5154456a7e206bf704347310446e73a83dcedb89257546b067", + "attestation_secret": "65a8433a6d62aa8a646e348b925eb0336b4208fb0ce6d8af072b75ceeb531986206bf704347310446e73a83dcedb89257546b06700000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000fa71376701171937e23e8e5c0b2a411cbb87091c4d514507a8bfda1f6fe3b12ffccf542993619d6646a3175fb8a2075ed9884670153e3b7c4910c9395a348d1ee1ba8574d76fda641070013712725b5df33bbc3f7830792bdd6155509ccba377c5e27c0c31f22a7049440e5537fe712677ca7612059da734491d391ab3bbd32ede139d7a86e8072a40ae1d19fadbc029011a7f1d2783c47dd9f85627b968e323e3eff64a966eaa552e84137b8d26824eca2d0f596c5ae7636612de7cd6c62c51000cc755e886e04b43e45b43bc2116798461320c05cf815f807250084a4ee93d9c9a3c4668a419636b42ac31812b1a11d19991670f241136a91f8d57ee64ca2f00000000000000000c000000475c7a02ce604105bdf72902660aca5b20a1217a48915e54b903b861fcf5a475a242091594702a48d92f2024bbafb4146b41424a1cf4c60660989533c89b464da9ee4826a05c2b33864dae5c531bd9429789cd655641b5575a17787b8b44e5518b444c78c18b763f00d7e625cafe5464867c212045a2922ff2ca315470915b0a00000000000000000c00000091ce0b6259f65c4cdc52160335179e6e5ef6dc1f6adacd102df83c2ea5e4cc40db942a0c8bd5f975d3d2a97172b7e911b217825964036252b48b1440e30d0b1a00000000000000000c000000e3dbcb791ea3a27ee66de54bff27f621a9cd27220666874392dbc2233f46ba072a484a6b78098601b05b1d21eac5ce0e90fbfe6d9a9e5b440648c81c819c780e00000000000000000c000000edfacb783de4e9141338552f12adbb2d138efd5e5e32e1079a73eb5154456a7e3999eb625911f434a1d6446b96b98a41107ef50f4416cf345ec140187820a809080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000b6821b667cf4ca5b6ec9115abd4f88627169a731fc16fb1ce54fc671c5abd23183a3c414fde0e93f6c963f10d4b8044298ff907e16d80c0398309315bbee8e74268a682e529b673530cf462f726d1911f3c7d61bbb448e2a0a1ec647452ad56df9924107d1cd2c38f6554546823fae4a12ec5f7c83978c2c1c399d601f322a04be45d735a098eb65a7bcca3fd213512334872108e9bcf27b6aeb9b1cb2ce775b7ee759069212023f0f12022f2b4bd24ff6e67220db38ad1df4b905732747cc3f679ec71c417fe0503cdb9d52ef8581713d12e813e91ea709010c755b53ef7e45fd09dc129618c7069365de33e211455f7bd7100121dd220a0944c42d637cbf40a01a01419fd7b661710b4f3c561845521c70d6633e3e414b9744926825901c1c3cca5f79a921f63a70e1024f57e2d2337101492c06588e6d6e979d085c54fc5173917c68db67767dd4288555693a0c56dcaa7f6af43ea03ac71e452a6c013a52a209a37aa08a6551d86d81055073fb217feb486e93fcb269f843d32a9e37241ff05c32139732013736b9b402da19c33e351ce66da4403a1dba2a3e676fd76965a0c03a150048541daacfac55390fd8019be18d54254c327715d6d64468e9844d6942b6350a91394a28099277567a2a793920b11090764e10c672547983d8597838ae3847c30e833ef1c3431d18f79128318d437856710042a2d8e8387995e36000000000000000000c00000098aeaa74e3dc646e28224c7959298f645dd04956bc26c60a4e260561a854135f4ffc1415aa8fdb381381815d10cf030814f19d25ef75357ceca75338ca37562aaffda04d4267a34b38bfec20c283ea27b787467de1d2533069274a779081b62bf7798b1039b6df227d6e2f271859ef04b7e277016bce305292d52f5c440dfa778633fe638330214dafcd0578ff79f20e7d1b875118f52b3afa756e6740362829d91f814148fa1073b10cc14fb91d441f0913c00108d9d0454899a3129a46f23111afe831e0bdd36a151f961a38431c437d07eb3d6667465adef24e552ce5364f904a11327fa2eb108f0ea62940cfaa0877fe6461ad5d2227a2c369041285684800000000000000000c000000a35fc4614849b526c1e9ff6ac54a2b5dfed13a76e6631d128237a3585c84c972cb25d15af6c4a90ebe85c43c6c4cb908504415741022de6ef323ac664e167a2794cb3516fbdaf82c4a9fe55fe5897577463ba404f4fca72a781e983d4f4a7132196fe91e83dbfd1cd7dc0221af1c5d03548421421aab6926148486418f49746400000000000000000c000000b308ac5f47274173c443c806401709376389fe00e0975e649dfd371d62b5254bf841181b09ffca2e30e60c66c036501756dff11e1369c422b791d81f501a406700000000000000000c000000fa71376701171937e23e8e5c0b2a411cbb87091c4d514507a8bfda1f6fe3b12f080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000731f362cb351094e5277504c164a464c1a665511da3a843238e7d85e85107b1598657c174585d5662455156658c02743d679b729b8c781535a2f26290350417afc45c721108b9b2ec2b2cd354ee02d2bfc24c8396242c46f702ee8178212243048f95062c4f8fb08521bc3386a686e6c45ea8d48ef2cf513e758e63ebe6fbf102902231deb63254b1943980e722b36707979c836e883060cd2a43d5a9b34f16bb9dfb646faf9b41a1f678a26f0d4e82dcde4f837776ef065225f376c73b63b5836f2d01a53ac6423e592f95d558eef67d4269f66b1ae8139c212a014bcaaaa56ce04535f94cd8f59a9ffde4021f0642a63aae419f79b22136b1515023552b124ca5b797459c2774c0c8fee6e6cd0a9107e41850cff2c021d078cf967ed8c8d53e600a71dd644ce33bf9f760c8eac6808cd4d665c180f5a7a3931c16b3fa2a839274f514f4a37311bc402d40357fc6937fec934078fd6fb293c78d016e506ba4ff5f1c04b07ba1273c26ff84ade4ebb1a4a1b1245dd4538061a701166e46ace3ff4b5c104311880581e77cc00f2b6b073193f8d2e7c833d621e07620e904cea56bdfb2e252f2ddf556d4dfa1f19625255c78c8026386a9819780f8130fd3ccf2b5ecb8155e2522953ee2587466f5e1f4a236fb344dd2f053e4f2fc446f8b88b1d56ab836c3a5ab011cf2b7b6632247a13fc8cf14ec938022e6dd38259de28473f08000000000000000c00000007b70474c0a5e06707448d18240b73610ebd5c62de958a42a2e4d30578b1195a5d7fc61fd5783733746c311413536d3e34ed036731a7213d4938891f66b71c328753427093fe6532d8dd755bdf9f6a3d5ed4de317179742a2658cc4ec75b5f37b164cb16974a7c57477dff667c54952d7b36cf4dbd529660d8527b2affff4b0030fe897c706cc85c6ee81648bf850d2869ba112992e89b5c5b0548691cb33f698807f938374fbd3e177890494209cc3ed9ea826d1884d64ea2168e2c8bddc07133913b5204cd5b171e82df74e4906c7143162e22dcc6ff40e78286305ebcce581fe3af6a17148261a16c0e16e9104d4ce4c6e27e3d8b0d37e5246e0a6e4f674b04000000000000000c000000b3b6b473a5d8bd021fab8e653721d53a1eda0a0028857b5d135f620788f9901b049e9c0614288b5d0471991c78b2bc31ec2edd6b220066636d26761f5d183923fccd8863da031040722a0d3a8f2f117ac95b6925b83c1044db23ad2519f8ee6c60924c30ea6876584248b66d2cea1a7b7af792522eca4d0cc5bdb66b60543b4c02000000000000000c000000c25bb20c211c2c3e113bb72a4500e90a458fda299e072e26a99c5360341dd5649bf610586904f0304788262d87da7871b196cc0b45b90639c5c554389c8d382601000000000000000c000000fccf542993619d6646a3175fb8a2075ed9884670153e3b7c4910c9395a348d1e", + "proposal_public": "8e778d5c630943550f5e2c306320595a38d03f5339c70e21659fd8291f4d3e3ac57c7578ed9d3d01837e73663c64897984a7fe65", + "proposal_secret": "198e64320b47adb195e861559e1d5ebdb5982e6650436ac3dd029db9c2735abac57c7578ed9d3d01837e73663c64897984a7fe6500000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000c4899811f9287b2b202ca759695f6c458416a80c2807f23385543e638dd96e260177855cbb55d45595330b00363dc837b51073370555d3361bb29a16a56e7707d5d5bc308e77aa5b42cd4911dc6bb3654dd62711fe0ddf4fe2ffd456437dd1679804663f89859e2352a7083a05378e2f37806e0bd7e1482f8f028d4e5c8ec938019c2973aeb73833092de32c62d7df78013cf811bfc06c05a7c5887643948171af991a66621a2b7a955e64149a97e8202d4f5355862f614654bfc67eeb01ea11e378413acffdbb7618ae5f51fb00d55a088ae87bd49d9555b6d3d27500a9735e8ae8df425f13a763977ebe3c5c07205f72f8b73e88a5035714c51f2a2b45634b00000000000000000c0000005a406033fae6662c8095e939fc35ad181f911e1c30ae1f7bc32ce71af9f21a596933345ec00a8845add2044e7b5d325b28ee8e1afad9500871797f5eb5e4946435185f60ee83380de7ab525a7c394c68e156a94814fc7468c9a6cf07f16a4530ac2bb17355d54e029488d70ca03388104da56b6365877452988f7017066e246300000000000000000c000000b52aaa64c76ae852a6a76a67baa30f474224532aef2f8c0f9680b9619797e301212408179253215b88d1a510b527747557eeab6a95fad47b0e9b994ba9c7832100000000000000000c00000016fb710c93694357b39d5166576de26d8ae20e0710d0f62c5f442a703bd1c92dd1b02d0007b7fe771f94b96261a4192b06f49f4f575acd7a728a0a33f92afc6900000000000000000c0000008e778d5c630943550f5e2c306320595a38d03f5339c70e21659fd8291f4d3e3a379a671f89b989202f83ef4bbbf2f1490723075743627a6ebcb5703cff09a95a080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000080971024f1aa95c73bf6a79b8407d3af7f759052cfe4000f0a3dd222eda453c6dcf0b6a068b802e808b19102d5a0f5f40711e001407532c85d4273026d38b2c91615961c9d5b047fdb22663f566b728eb9643770bad4d4c08ffd36a439d846e3eeb527888849e5585c27327bc54910376a2420e4582a3112a69b377df2ea2078d5af72df3dba7434a35377dfb30ae57213bc630c53c1464f739f525b6331277fc808275d0354e2185236e12eac95b5640c6705710414649bc168c682c95e13fe45b3d498da74a1441154a76d6933907edee3047c5b34747c0099f5d20d2226716cd9a72a4f7a4419fed492dbfd324523646cf73a01e9131c4058d01b538ec5e0f6bba08dab5f0108d6fc25d31321a4143c4f15310fbcc78426f911a6f10104d3010eb7c0a75ff55127d6d3bbc282141577bd04515ff514d2677de0a140ea02eacd6c065e69d7d0a34a5c2536b4f2d5674ea4a6f9275e1350051b3290ff5215e5832d436094d5e6a4d59290ca4097e0fd7ba2f7eb59e315e23ce3064ee97cc53f2f8532ecf318c6ae855d146a24a8700f8ebef16a045b93d9fd6fd420605565de093d476bce6c82f0c86e775bae6f43edbe5302567e53f42d2f7323d3efe2f199410ab4b088e9873d900e7409960d335f5cbb0099e2e621a6a98b0161b9dae72b570822b56821c12eb755c1ada85270f6b2c1e5c4ac1120d21085704e4500c2d00000000000000000c000000d8a67e11a3dc373ad4e944457dfbd9092ef0cb4cd4e55b6382183d352dbb0c5ee598b261d1047e10652b7c698b3bb811e8242213630dcc61debc142f1d99810c99821e2dcb54b762722c1b065fc53731ab72446dda3afd1b4ce17c183a94e0365f03407d0ec54c38bc5ef31ff871f971818d8673d5be8805d279015b09bc7c5c49d4044eecd6812ece739a7ba4e054675a2a3d7b72c03246a827981a4901233db11515002aab944701e10e23b2788a6b6e64ea6306a454238733333f55fe8a76f58c3b544bb3dd7add4a66302dbe65035a204c703f42574619cc3c1986604c46a09b020b4a952c413d94be27ff32503c7dabb5424a871727c59b0e581415e44900000000000000000c000000abad891af90c8623bb7ba8183f68ae5a7f85982658857f246c0d4c5800f18244befabf1d5924fe7487d3643d9843d7256aee0050892a9f7c69f74169e7993268c814fe7691f60f3cf244370c7d450768f62723069245253423055a5d425b273b2dce3b067d59356e1ed8327a8070e1726300f346fbef922d670ba962f52d5d1100000000000000000c000000bf2b9362a87d690740ccb41991b585184db870464a89815031922b69e93f0d140bc61610b7b5631ec377e447528a43297815654201fd3a0e4a84e82cd96b6e6d00000000000000000c000000c4899811f9287b2b202ca759695f6c458416a80c2807f23385543e638dd96e26080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000011a6471b3edb054edcf7516ab3d7d745cf641d6720a4d55c8969f43b85d2c506cddedd571fad004a04a8640b65d7865916b18a1431325915c5ca513638b75e128de5fe43b0ea6d227d682f1b3045894c8500e46a1be2a92348828578628cf81dee2e0d71046f792925865b488ec25f5cc4386e5a8c240102987517397f49d8546c3cd7263f9d1e2b71ec8b5802777b6e8787530ad1f47214cd62b819f02cd81fd261a52266600b4a8f4e8b5a87cd0f43c4f9884cba034451cce1c21bc14b6925567968305a93c149b73ee4268749c2473428c21a90717d4f38559009a875632e14d21a705bc48d6fc43df71a3398470e552ac3460297a530a766486bff6e141b1df85360b729b45cdcd0cb4247b5bf1aefb1f85d2e398c4396e5d5489adc657eff270d0fbcee723417cebe73391a96309d7d4651ce1bf21e23c62715f872396ec506f318f974de7e0de80276b36d7c43e219aa7b846dc25fb2fb3f1173329b14b1b0510a97340807de399171bbfc262691552725cf4af6226861022d54fc98172db40a11f4fbe431c278da22affd360ef8184578c22e092e4da82634e8ba3b35cc9cbf38e1029c332e866774e670ed07b758e178470950399324541bf6415c4700e1bf2fcd0d704935846d4a979bef642e124e4d8484861da55cd04a087c69085b39b4769c134333a63185379b5eff762e407b375eb7f602200a962a1004724c08000000000000000c000000a61bab0f3d35d86e33fe7c4773bf373daeebd96caa8d2c18ab4b022e8c194467220bc67c1f1fc00c04fdaa5af9e0e37974576723a14dbd3b595d8a5f04b8a456a8be1b4c40b5ae6d53c5a823994e986b2fa6281167cda05ae3984c7d90006a3476f5c44a1ee8256b8bf51063aa3ca17486f73f2a83079c423a41e527bf262f7418d0c73945c3705bb8d81d30a4ba8b07cb16b8746c03635fc6b69d0aa0f56a6da12f2027b2888d69a1e91502e5d8fc061ae98059970c9176b210ed0f3ee7b70b8b8e935f3a46a02d5375267b1873900147d135549811801827daf7150efea902fb742b421646fb1556047c2720452534ccd45957e9752f6c381bd775fe23b64e04000000000000000c00000037c62323ff55670db67db372efad2d4f26fcf761082f8232abf9e2072708b8699e0a3251f2bb735d0ed42249bb206205494e905d9c1d2252bfc49f1c08aa7b5bc59bfa553e86342aff15c65a0ed6d263e641143d17241a41fe6b982c9e3ca600f4fee766e0fd704e1b89e824cd0d511e7ece3e2703c757477d75225b48ed311202000000000000000c00000008dd5c3ded5f6c2c7519e96d6e275305f4a02460ddadaf3dac84d277df5df468a5243d774d30e164e7c8982b5fd1186f147474561585ae12de27fb35d389795301000000000000000c0000000177855cbb55d45595330b00363dc837b51073370555d3361bb29a16a56e7707" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/1.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/1.json index 8e28eb3b..c970912e 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/1.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/1.json @@ -1,6 +1,6 @@ { - "attestation_public": "0c8f12450a0f4375d8f387643a66bd4084a76a522062790d8e961b38dfe3497444af494376e3c76f3007681a4016221434cdf51d", - "attestation_secret": "1fc475cbac3acfca76988f8c4b8fc11a6d6fb77266e23fb6d2615c132c5ef8e944af494376e3c76f3007681a4016221434cdf51d00000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c00000091313d49c42e5e374b484834dc6beb271c2b764432c2214f091a136457caa4375743701501bebd4f4f6dfa24830af26ee9b62e31e38fb45a02353c502562f33800000000000000000c0000000d20e56e408e4f587ab11b565edfb604b676a878c706f4790975c35f48641473f102ec69ce808c2f092349734ee9f92634ed447452dbf640040fb9012ca24a3800000000000000000c000000de8d3908a49d235679542a2f483a11338c346828d0c2b82964c87a0e6df174240ec52c7233e1c715efec243f0918a36b357883450a748b147040335b928da32f00000000000000000c0000000559b52ae098453322064d3e27bb450b06eb1941f853dd2144dd041784b3a4364612b43363271a42fb74ec5f3216a83c9fdb252e8309dc5b5a54595f3659cd5b00000000000000000c0000000c8f12450a0f4375d8f387643a66bd4084a76a522062790d8e961b38dfe3497464776b5c11629f0ece67f70fce4190284dd5480c70d1b00fa8ab95030194787d080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000831f214ea2c8c15e4cc8071120eb775846537a768712e7160af64116e8e1ba776ba25800424a257db4ec9f4d20a902338d804529b9a3f843df742b6d292c3f14f288653545fd2d2ad52e524ca5560d01b9aeff3f622c2b26c172eb38f129df05a39b1c1bc6b57659feb2654edd955c2fea005b2591a2bb3a90a20b0c9133d86ecc19e42dac7ae73203e3a53d83a6e946801fb911bc1bad088373405426df70329d413d0c4b5812099ac32d51cde1cf3f7c7df650cb18245ccb454b63fcc8c00776fe1d71820b6d1a2ad3535081c7b75c96e17250f9bb4957aa9d4e6b92cfe75e7f188652763dbd74693a8342f13ba424297e8b3ffa001649bf34d83bccaac2576f9a106568f009036bd25a3fed0db5411fae3c528541845f21722a16c495176c84d6173323a2315bb8a22b130f4f78798f752e4b42c0272e34bb8e3f2a44983de3fb3831c790864cf674237e77c2a31d60f3bd0375f0366410a45008ca20ad0185104d6d04436f6e5682de350e316c56274cce2e4398bc1465ce6f7cc4b21b564c76480ae37aec1630a83c48c8a4ea295c7ddf1646ce10411a692e7cfa36d378184bdf6752a6671b211ef816d1b47c0acc42b577959d983e3f8256377c2f67774f64ac56822af012dd75e07a98d75b0a3dc54056f5f871579a860b1214a69b5eddbd26370a7ba83b4897267825d3776a285c7655ac632730732048341ac41f4d00000000000000000c0000003714700db6209332626d78293f7ca073b4780f318019a2658442e34f341e960665184b43fb26cf0b86ff4d1328d98331c77d4e7e81e16505996ac02500d023395015a576af717400c47a83006d2ca63679e01d553e80f538c3104574efdd02587430011df49bfa17ea7d9f449a3bb10723ef0e61813d174ae19f4b30eb03de7aef403b71e20ae96d3c1fa77512f9fc6ffccb6a13e868b71c2ae5fe23d8664644ba4e301c0873dc0ec248174d567ed43968ff086a28e0066f9eb52b5e9da1a53ba80a3d68bc02a9294839d60345b9e0398468af4fda078b4999a7aa676b4ea102fcb3cd03254de40cf4bd042fb7eb20118300aa293313a11ca4fdef1bba37483d00000000000000000c0000003afe3f29bf053f41e973a356a0ca033ab826fd609fd80e0da2b5c13401e9754a1b4f4366e855da2f7ceed20ceab97d3aa582ba4e8f46d75588eadb160d973a3a20003c076291456b93e94058cc120216c2325e41d7c05339b47b7e1dd9ca1b38d6357355805594733e71060cd12257479de57352fed4ca7922038f3669a21d4a00000000000000000c000000d23e18610e862a4fd5cb7c7c3ed5a83f526f086a2a26411b43547f5337a8c41a20f34c20730592734650d95b2a80cb58bba0740c9be6ab5afdb34c34b6e7530100000000000000000c00000091313d49c42e5e374b484834dc6beb271c2b764432c2214f091a136457caa437080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000cf5d6754e7521929a4818f7b0925e178e91c890a4c85da171c3896504d5eb263f285ed6dd992b5276b4803068c32c04f59e87d2797f7015ce3f7c04fdcdc48730d6c8265986d686715ae1b7c9c0faa38c26476282a78835a517c823ac727fb666e23bf181a917c069f331a34aa463d75d12a9a23f947791525562b43f0719e312148fc4560c8603032ca546f8b6b7c7492a13d5717a6a05e11e6ea2101ace36d0efe83495b6a5a4331c92279b1ddbe5bc3aff6140394af3ca5ff334d6bca7e39c89198431a6380645c556325088f846ee871691ff79b3c62519c2f3438815f02e7648728eb50256b3c445b40b4cf4c4e8a5773751a431b6b9f16ad78835b4a32a987350379b3766420498b0462c12b15a765c50e58edd6611f64f82a97363b127adc982f2309af026a1b032ded294462da7e731435e76752e416fd46c163826069e8b655aa64590a9d00ed5ffb6dfe43d5095f5c65463d72cdb4595ab89aa146bbcd4854b5e08c11e06b671aea68cf492bd2162dbc553e77400d500239c29605f23f4b401c80c94acfaf486aba986c540aae5e4eb3a6db69ad00ec3515fa4b3d4252881f36ce363c18d21475754f886e2adba455d16f350dd11e6e4b9db108223660351c4910eb2ffce29742b43d0150fe0f434c2bd8865b2ca6706eec88f74c56adae26983fd535ced6fb74ce0eae4f4a9ffb374d9d70540caeb97baffb613e08000000000000000c000000a6ef052b092230140f5f9b05d42eb22ce2723c55419eb000a31e9b5c98506d70e8ac2a3c9f852b2ba315c6627f784849879e9e37022ae1380707f46b8f016a14470cdf01a989aa538cc75113ae31366763bb5b07a8a4826fc02a310c90ae5a29f978901093921f274ca70612ee44e26fa5dd9048050ea438eb075630bba1cc22d7dcce5d1801444a3717f8000a098c4cdd6c743fb014745dd2f9ba272237040d454bf410c77c1d479dc51e3480897636f9e1cc24a023b7160bf2080092c35a068e70ae018a448004124bcf1f87d659743aaf24499b1d955cca93df363dd1700c8327d63ab195e961b764f8692c08d114c33e705b0f00c328d0695048bb6eff2604000000000000000c000000427c9e682f0410516ea71d2493db093ddd73ab185cb1d6487a43443463da8b16ec04fa79926fc226f1e41e0065887f3f0003686a6df4583f2e684d079f73aa7e1ac3d308178df54dbe8b551315794100bad4402b7455bc619100fa113dfea5307e154f612073e029889d245247eed1657168133ec834f40a44a7e74295c64d6f02000000000000000c0000007e5d6341af264468b509f2199345343ceedcf8706ecbe047c1d88c6d8609cb1e1c3c050a6aa9a62ab9112e3e90042321e3bd2c6cc634455ca29dd0601251ab5001000000000000000c0000005743701501bebd4f4f6dfa24830af26ee9b62e31e38fb45a02353c502562f338", - "proposal_public": "8b31ba434a9e116dcd99a11535d8fb480fe67517c20eb1117157ca1b1b6b0c5c9d9a632e3268986f35856c337fc18d7b6d4f926a", - "proposal_secret": "2b390ffd597a3f353dd9398b8f79caac87d88d0cfecab9d8f4ba315cff52579c9d9a632e3268986f35856c337fc18d7b6d4f926a00000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000c794a85b6d83911c21ae1a432a6dba471f41967a2e61bb45c1b83b44bf133708dab5fd2b7c87bd79f5da7d5f6ce8396299375b6d695ada4bba33ac19e2511c0500000000000000000c0000002381d51d323d853134f9e41be84e292a085e6038026b5a42a67c5431badd9460d9c2cf6b0ecaa33a07b0f406a82f6048b858ec33282ed90bbd6a122778cecf7900000000000000000c000000adb204253234e11b0cc780364f4e2b1863cc6441dd977506c9af471c7b1f9272af53ed1ab51cf9722357a863b574691fb2633d155e53815db72ee8198f0e1c4400000000000000000c00000042041b1b79aea377b334057cec34a965a60c4a1591ec1879cdcd5f2fda2f326aa65eb24b13d14a7aac436d69dfd89874e246757ea919601492fea17600163e7d00000000000000000c0000008b31ba434a9e116dcd99a11535d8fb480fe67517c20eb1117157ca1b1b6b0c5c8bc769345f7da0606b2cbc2efc929e326f438b114ed10532575b901b7265ce7d080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c00000049b2b64f27982463438e7e7d86168a20ac5e5e4af7ae2870be90076941fe6d60e74efe0bd0fc7876e7e96a780b6ecb08dc963d27f9e3c7558ef0fb31b02ccd40560ae23ad606a03640d91d5cb0cc825b754b9217083ce53e6fc6fd28a428913ef5d99b7934300c693da52d63b0a1d81ad4d05f2069b09b32a8b2b12367d01c0d10bdf34776a5b851e9e2ac6289e5e54122497265e2d62e107e04524ac9978544f29c6e4806d1bd5c4629de5d83b5c54025e78751e3ded85d4ab9ab2bb13795250910803a9b4dc24e218c915607745a50acd1836b567cbf787d07ed2ae66dc13c1351364df8e4cd0758c67a7394c6d410be83e10473237c33a1f929716bb2910e8457e72a7ca2b65cb52ac8214b9e9f11d271c61154d3415bef1cac14c161af334468243205ab711e46af750439d85e4f0d9db639b748d84717d0dd07768bd7115853655470cc8632850aea0cae5aa40fa815c479d7cbaf79ea50963e9b215d297f8cf109641ec6411cb40d35d3d3f066e8439e5d09b3f14099906d7432dcd862635e0e33b7308149ab75e03588a6f31b415cfd74f1d9c93a88bc2e39cf0a681c1e5c3b76f132235decedf271c354342ab83aef2a74a8d722df62625ddafd416a787a43752b56807da4321f385845091011d86e48378723299d187a1659a76026fb62886556446f4033471e048a0b990d5e27d329dadd904b29d7c66dbaaa610f00000000000000000c000000e725c5785214730d1ce86e484559c60f3d54864fa887836abc5ad22b2192077c825ae942f1b85b39be2865267dbdb0171e4e5c3d6497ef217ea7de00ee316c5741393f46ff02992f1aed22735cecfc101a31091e9a4cbb2d2d645c0460c4707a110dcb661ff03d384ade2d5ab50b8223b050b53e06aa563f00176d70b85152076bbb660cbb1e0128ed0c480daf37a050cc4893167b6a835a5d57ad5ddf980b015352f6544585de6f4de9d756ba81a954a787e37a98924b295d7fa95b2a7ab35cf85b4875abaf740ea8071d6a38b7165aa8347b12a8c808040ef7c0583ebaf40582c66928c41df14261cf0a10cbc77e71ad6c651c712fcd2baf02901c7059153700000000000000000c000000b484e9138e8f586b2a80d078d188112d7906fb1c1b9da95b60bb7414c5273a5233d6a92889892c38bfee6525572fab015eb72f0757921030a0ec2507b482383d98f9134d3b8fde163e6ca550964e463f64f36978cfc9536dfdac4d4280363e5b1842e977a219ed51b4f172365d1b6a269130e43009320f20c1c9f13aa4ecee0300000000000000000c000000e455c767849a697c863dac01f285f40f5063a96653b762633a88a75ddc00fa03848985677d644e52d97cbe34d78ad22a84009958121da45a4d9eb37e71bef80200000000000000000c000000c794a85b6d83911c21ae1a432a6dba471f41967a2e61bb45c1b83b44bf133708080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000015620251c79cbb49df8d7d14cef524797fdc2c18ae3e1947f11c0e14e488535d00936331b8d781217357782e09c3245c1819a23046e0d71ffdad1144a0d26a5693a27a381c17086918a6eb7b195ac570bd24170d6bc24e6db997e65609c2ea0032cbda7e3442e52c34b3f1781645a92caac89d7254d46960c67d7818b7ad44057a00c8612ef7ed1855ebf4594ef8f307737728408502d819aa289b7e16e54745d0a1dd7ade0d5c402097d018b99b2f06fa22c60b8b6e7249c296652d67d2307cbf1f6151ee17ea26b7baa478ad2caa45d9ea9849d0ce777c59f0bc652a573a55f12fcd0be5045107dabb802ce7b1520e9989a07917deb55cb5d102476a2fdd248c2b4c1d86cd04112531577efa569c1a1f2ea02735ee0803a8a2bf15a9fe610b6a822f562bed13220d39e576dc00457d4c87771be7eef335642eeb529b0c0e4ca814051eb4f1846e3b808332a5d98806c8d0691dc324c021c100c316b899d52f3fb3000f467f270127eef55c67ae4f1c8cd5b9004189723fb9607857f5e3aa515d71e46f55a19275adc1d63a8878225ab0893f5c14aa2166727eb3055668ab71a2a49a0bb3b59f6e57739f4ee7f1183ab1ddb46635134e24e9a37d4f6262c22b4d6b230582cd0275b610e74f8e1fd715bcdced13cd7f3e2dc45a6a704185457d810cc05668007e0cf2f84c52378fa4233e00b726edb111598e22214850cd870e08000000000000000c000000e8384426c8dcfd2afeac69306449687125239b0bda9ff25d740d476e02fef53b8b14851c07304f088e035866e0cb2f6463103b31f4e3e173b4ca9b685cbc2e42e6ecc72f03570056503a2d21c2d1bb783cb6936ee8543d28c76f487ef2b42851f79efb7042c85d4f71edd43f106cee455309ce6cdf4bf02666fd924a996afa28be159a795bdabe41244b250aa880fc6d7b8bfb388c6be61ee7912c29b5a2763071a3e1678a27642a4f0f3110b837ce2b460fcb4907d6923d75c9d7194452041d0ce0dc6074e40b0269f32940f29e6e1c2d315310542bb46f5f79366acb001f0b9c0c54080eeacb63242efe6b006c10143871835df629104dfd4d3d4e7a9f924704000000000000000c000000eac0ee37d5eb637e250d2b5e2d6e5018463d282065fdbc470b9a80795d80f42e25dcef3d519e38408711da519f417e2e25631143e7f4c84927f5bd6461311a1514dcce5530759f00d74f1956f281df379627b97bd64bd6195137e66d0f9bf43bf88a4957285b2a4ed8ad715a7032b9348719e63b51e4bc17634c7f0813536a7202000000000000000c000000e31e543003a1436b13201465adf99f5620ad8e28e1a92951e140ca4e3e33e16b9330ea545cc463059b15bf685af8bf49684a306aed1f6323ddbaa355443df65d01000000000000000c000000dab5fd2b7c87bd79f5da7d5f6ce8396299375b6d695ada4bba33ac19e2511c05" + "attestation_public": "312a0c2a208f80536196db05270bbd13e251221625a1f9284cd99e7838815230892938118aafb633711892726d2627521a69f660", + "attestation_secret": "c133d539ca96a1d97a327970cb8fcfb25af0021d12a65f7d5722250c5de3fec1892938118aafb633711892726d2627521a69f66000000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c0000003740de16a7461c7168bdaa175680a76d86ada36e71e3f900d564e35ceba5ed2d6963230cc37170304aee3019e473a4777edd1e08e10a1970c5f9b235e341087baa80287eccdaf76ab3aef3477cda306f1ab9985c9381b0517aed9f4792cc463786794705f17f9e1b2978b911fd0df362d694cb68ece7cd60779eac5e75cd22744868e610c8e2776ab5cb7e43465017434940313afcb1d028f4f74e46e47c553e4e90c83fb2e2935700bb4746be334d0c3eb6fe4310e0a017337b7a777736e44619df2019777b985f2c20696eae2cb82b265cc80ff603b61e6d77c5218b64522f284fcc445f32716ea5940b678fb5295613cc45592624f4326403d37ee1622f7400000000000000000c000000247ec82728b5fb617e746d11d7352f060dc19b5f891138407af05f3bb95aec1ac450617b6560dc1c9540ad2183fe2a481125483f26337174cacf8315009f3f17445de452c5903c3fc16f090811986013100cf212f2e0ee00370f49745c33df0fcec26c02f7550a3368249d55a39bb74dac055f51df988124ce5d2c3d9671903400000000000000000c0000000cde1d18a430b60f4ccf662ed1a2bd1f737df70896dd9e2f12847f665295f42b01536f4385384d76a208b95c16e00c6cca356c663c6d9c161a57354a0afea41a00000000000000000c00000016cbca6bfff06931dbf9987044219f44762be3246f65062052f95916e44a490ae0b41612488c167680267c0a1f1ebb024038793b5ac38d2e658a1e6dbf88205b00000000000000000c000000312a0c2a208f80536196db05270bbd13e251221625a1f9284cd99e78388152300a1aa44ff6f514350aa7913abcfba87148ca027c3087ec7e08f4c35669886a5a080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000e5adfb03c4548a4852bd481abd70d324158a9a794279a801f2d5275301ee596116b69e5a74596d54ba3ed367ee96c31014a62413dd5858210a0fe84441bbbd67ab694843a761d369a4c16774f70ebe60a815224c35edbd4155e1ee60ac26ac65e0e3eb05bbb1207ae8f47a39a772c16b2b842e768b51a9780300cf143fa6b1442792af5163a93874f4d3b57012dff51a9a0eeb0a2d42052f1850ce396de7ff3e6c083f14157d4a3a836b5b71b0ceb25f3f2dbe229665837995969c207e90160667cac36a0ab6bd26be9b0f3f735f06003653864eb47cb719de2d620d92c65260794c1c6859c4531b9264887ee08d834bfcedb6304561b66c50f8be3d4cefc7443af3f8650ca8ed7747c05f09ce3b2b5b1c79e4662a73222e8f563a24f79a1c4b5825185fdfa6ec696e19ac1a119f6e481c7c6022bd4c0862d70aad7aad905d1eabd0d75add807411feda6f06ead54a4d2fd8de45b6cf75319729151f2aa6696128c5777b6f5ec645c9f6d42ee1b2095d545d6270a770d36c8b6b2e446126f8563fbc126e90d6322606fcd54baa2deb2ce3463539f4c14264cfe0884de3393e651e82782d3234810966c64e3cd3f1cd219d5c870b5dc8ce511d8330643ee19b173d11b077b715e73d8b93ef4f1fbdba054c2fa56617bcdd2304a0e939a9542e34d96f236328aabb0d72ab4b63e3044b099b5d5a63e859cc31b87df0394f2a772d00000000000000000c00000051b865177272983c27714716fac7b460c510fa1c4d7f745892ae211a4387aa1c9320b976330d3f0418cbc40333421310587e7e2084f0a0136663e74bf780a56c8286a64bc76c9c4567ecbf1ca56a256b0a7ec10c58a1ad244e53f7783a9dfe124c63da090ef6f772d7437322a766ba1efe5bab779e94f74e166c411f9681ce3085e623704611d9293e16835a994c4e0907ee76387cf2fd1494a2483d80d3e0730f5b15186a3be81214bb705443baf03cf1ec832e31c9c7055aa30c3c89e5722f3cc3a8350ae38262c40f881c3f471d4337bf7d7803ba106a2017a563b5e46304d52f795559ca6b02424d24015a98cd4dde9ba70aa032a3162223b32c9c3eb02300000000000000000c00000093d0dd37cc145c3e6e8d1a29655a9c38c7de6f6897742c1d1f31c03aeec1176b3bc1f61302f6d25ed2287f5610efcb6e15df482b04bfa018401e657d9673dd71edf83c7e02bdbe36922bc04c588d343f4ef99b0f79d2bd572d6e127a423652784e9247261a74454790bdd4395d901c408e20905473918668d98a1e56276d292800000000000000000c0000008c938f6a54da240f13a40937482d470fb36e9b6566f5ed12748f3237c7c7ea72f9c4ee445266064cb009f77c0f02c54fd0437668f5c45c40a3a3bd4ac6bc041400000000000000000c0000003740de16a7461c7168bdaa175680a76d86ada36e71e3f900d564e35ceba5ed2d080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000001a9ce00d0ca8b7444ec577763aa8444a1622d5254e7ea222cd45b4c777894500810074179655b682da51a5e5f29e2124ea9897d9537fe689a9dad0025750e7d649b8057c97d0a12380e9628429bb3523612ca26be99b033e63916591addb36cfc1b0f1413c315682cdf5d1c5cf17f49e467fb647b36772c5d925a52515de328ab745777dd126d22b14fe700b39b63542e261d736460352ba309da13b80f371a6dc0d1540dfbeb041fe75505d5f70877b403af643f48631fbb3b022fed9e9922786fa426a74e0b49e425771b6300114475b86f6dab1ea00ddc6f0528afe6f31f85c40453c4cf252a65a64206879bd56d14423745f81b3275e2fc2547e85dd2357d75d2573d409e03f8ff141ddaedee217e6e431e489f3642c92bfd2be3ec0105dd19520ad1b729199bee2126d63e950524eef96100ce362d2e5a4d1ea9593c431b96281bbe207a492658df510ddc7f5818c3e90586517073946d872fccc7112089d8eb719f97f80d044dd664adca3b090aabbb385cdf06027f2b0d5004817c6cea42c76613a7a7728b00823d5ddb3a1c7cefc825dfc4570b4ec3361fd5128c7ed534a6373457462de8ea2b4cbe0dba44f808360a7fd9a86f62d96b4dde5de20aa52b161e6dc6c502e7488277f20eca1136f075511e023a02eab75f79326f972b95ef5d1629342a56f97bb31d45749953b09e8d4443ef5e5531200f5f47b61a2908000000000000000c0000007485c84fc781db42d2f7c82fc3e02e4bec5e4f73d3a2033df08ea801df7341521d7d2f722f740e3572c74c0a3c2eb05e6e875906c70a082aaf55dc07204d7563904a78625cc71b2d8955387aa6a3d531d30bef79301a925471f4594f8b15a374bad1882b54fe0a42f04e596fb5bfc12c7185ff389511b97c67ef231e0b848f514949371188f265419a361239b2687971996cce2e9faeab27aed42e7a1cc2ef6e866d09560bb1bf60358267635822fc31b30774583d875306986f7e2103bdc02d76d44a71e7fc621fe3764e3613dded01f0bd8d52aca2597642265c768c63f6717a2fa40d9628d004f861836da318d87d9a68585bfd62061f6d58ac05a0ed8e2504000000000000000c00000048a62e3fd3559456bb4a9c31258a0e542b46a43cc8da2455cbb1125e9629322dc7ceb73936cb717157a0cb61ecabc26bb76917149cf3395f2feda81c66ab70323525c460d801c74e22a78b31a1a6343ca1bf4717420f64539931b334abdc0842ed95ab39c19d116c8e8a257653a3713f33be3315ff8db94c195eb27df669f25f02000000000000000c000000593f487526433164f54cef48fc1faf2b38559246097d96514560cd6a4c66bf385b10fe2b6d2e4b65588ba51c96998040cb531c1183eedb2afa247a61952de46901000000000000000c0000006963230cc37170304aee3019e473a4777edd1e08e10a1970c5f9b235e341087b", + "proposal_public": "6ef3553ca96f901ace111026c971aa7321f2866beccb4362268db15697384a23b093a73622fa213ff5077000e65d0e046af5c91a", + "proposal_secret": "de987b990d4b7a4c7b7902f75ee2dc5a4eac8025c1a95a1aa74035757e30709bb093a73622fa213ff5077000e65d0e046af5c91a00000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000f4f20241f321e81a066d6c67da22707d6b572c45a02b1958e30b972aa5d43d238409b34ac16368570cd00d1cd3a89975e997d74a754280779b227d1fdf6d2535d5eeff2144549242308d5542485df0510bad4e338d0b303e1730a348638ec7131a9aa94e266cd83384c3f87c280b8d4aa41b7673e49ee11bdb6eb00a2c590a1311f3f560178f6d79dfe55e4f3669fe47ad4769027f346232496633181857c441fdda084dfd65bd6b1d50d25e3d3ffa65d5c5c13c44320e5f8adf383271a029570945d270b521d06539a5051b7e5c4150d9f258569c519365f0d46c7c3bcc7174492dcd382eff0349a248ea1d323eb91c56cdc473b8a40b3d1125474f4b030d5100000000000000000c0000005dcadd603a2e22009bebb336f252136c9041ad28ec09d06fc32f0747e08a1c6a68a50d192a333a30d83b262ee0e4c6724e70571ff016447463b1e811aa9ae0519d979b2f4a659559728d473068ffe01d9addcd12e02f032c5208604a81b7803916f91c5dbd54ff44c0637e0e84ed9e4046e20052ae91f80cc31add670671736c00000000000000000c000000ce5a8d4ee19b3c575befc11de813717bcfa8a51938870726bc72765a93a3990fc4dc2e3c9b1bd331eeccef41659cea677e009e28de50185a0d43b2542764032d00000000000000000c00000029524f6b7f43d14ff14639227f080145a4cab70fcae6f211c794a36f19d7db3d79d4f812cbefba1cb0e39075a16294617cdf7f6958b1173e6e3a366b77cb670700000000000000000c0000006ef3553ca96f901ace111026c971aa7321f2866beccb4362268db15697384a23d0b1784bf329177eafd9e7066889214365f52b7ca5e8b31045f2212f581c8f57080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c00000087014633ec86113f7c956865306ac73c9879955eed7e2817f20490396bbfd55e0a1a6a677b9c9439425fca7a124af37c6894703d5815031ab6928b647e459557d45d703473eb1a544f4f2948cab9bc0294907d5fb72ae61f69a7c072897b852ea5cbfa62d66c164ce9eabd412b69b56dc909fd6a3f94d83abb30671d36363c634c3e56372fa12d19885dec4175f751539863044bc79fdd5db44ea7389c6b6766fe2e392e0f21c87839b04e1b2fa9d35825eb9f01be8d2172a584354d224aaf388b538f5667fda400dd79b86ff4115a1663f855347d40ec0e265b382ad631ea100ad436293528537b9c49867507f1740f527c0a1da7eb494896aa79413e45953161dc055599309057f43b874e01b6ee57ce99ff61a23a691b90c93905fc4a1f6197c2b87e9ffa034062d8513a60846d2425ccd742134e7c5c490a9c6c20f90228eef5477ad8b3310c6b8a0c50b56e470cc774dd760162713f670a6f39acbfaa0cb3d23414ffd3de76d5a4a13eefaa770979c31d3d1e7e0e29d651ff6a63c5277e2148114d801ac37692f0c653b0c207316132c24ff61ede1b9e57d37294cbc54a7ce3b71220a5c2048cbace57145d2108b09d283b82e7bc1d3da81108bed0a8389fd7300c3e52d5622410fd7a96e4d300f6b0f3708a28f645012bce7d765b46790dba7a2420be5e269acd65242d51615235492302f0d65e7b4da0690f03df1e1200000000000000000c000000f3a3bb08fd19b7023c5a8303d0c9b204b5ac3908dc122c311284301f8a501c0c0527804be5c6b054bda8803d1ca2f86dfbea6c17857e751eaa61aa7ab9eba26a08050a0914c8ee19e48091051cc5863117bad10d0291556dbb04d64c495a87077a27461257d75a19109cd70a9efc0b53a8ff851cba5b9b038e7df23012c235349c3a194ea4f5335365d9453542289254bfc69f78519c9d49faaf9f73ae4d2515df7f7d1de15c87677a4f67161b7f5457831d19698f6bf628c3e567303c080b5c68ed5a69523c8e320841ab73e67d306318bf561c63cd72220c2359431021b453181f98618674623bcec95f68cc285012f3eb0c1684f64352d6741901ea1b6d6500000000000000000c000000425c002e772f2a0333c65036aeda307adf5dba65e50bcb04b86e443b45bcac1b46dab1528c48165fc79ae93f33ff5475bb1d3117e23467231f105212b79d155d8a70a4066b4fd56faacb2b7511770d35c1d64f67ac0ad43870cb8d5fc2755172b1ca0813d2b04822314f2e099314825a19c1cf542c0d001423c6c85273fe450500000000000000000c000000433ed90f2a1e934befc53d011c464604c52f134f062bec200c7b93128a265e2e20faff3405e97b1d08c060098db9aa485273a6655215030e470cd05b364e843400000000000000000c000000f4f20241f321e81a066d6c67da22707d6b572c45a02b1958e30b972aa5d43d23080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000006fbb286ad52c96150da53f27e108b4596bacc0407ef4166b8bb11758ceb8ab6e15cf573995caba3f9df05f6437d8d67e5a8a7d725c744008a57470160063352683fbcd6509d527174665d9261d891966599f946ee849072eb82f09128297c56fcb231c03d27238161a8eba37ad322f617c9a0e05444569748ef6a16f530c0a12ee61525f8f7c761dee5ea8229881e3478bd91f5e3e23e7411bbfa83d1a101b591527ca7dc89ab557fdb9887d9629720ab5046e6b9de9c11d35606641599c8c433e273f7651c13d5e32e3075b6709a54f6df79e40453cbf4d0fdef52bd299a83cfe0dd51571c24b40ad5e707a2edea76aa4a4023e30516b05763d4d1f3249327727a5c62ab6e61a0f8e6df4782b71fd6cff5c1b4227c0e9539a06c4706fb569462a854c6ebff764247c8ed83114a06836b22c505a1029d73da6520d3b69939d2950f76d515d5f6d329531477ccd33e94b7a87ab783168f12382971971ce87d26dae6a6560869c7b6878bfcc4810a18075ba93917ba2b33c3edce4d0354eaa4b547a8e4e2c2cb3362a3927d808293e3d6a7381aa7958940a43ba1c69455580bb3b2abe140ea4df326369ca231258835a18fa52f014388074358795b427fe85062be9888c44a0ec1d60786ab804b25918114958992a7acf7d5aceb4413ed490386ced046d1d4c734571e8eaf77aa456e73f1257997953a0e22fd33faf2face5e44c08000000000000000c0000001e6c8366220a3a4810487d06b32ae064db9c4c1a9161cf099e60435bc8c94e482dad3971dc58dc3d06c76e2138234d1ea2b2b60ce66dc2236ad14f047aaf0e1e107ef225204e722d336a273f32123f3d63840e66d21a133c812c9f4ba3cbeb7d5d38e94cbd274f000f7d004fdebd291a04ce7351c3fbc0230cad9434b7e3a464d55dbe0bbb9de66c42b8156d83aa01365c1ec7112026916347a87a0a4aba3a094dd8a8536c825c57b0ccb7641b870e3cf1561b08e35b5c61a58d3758aba03f07ed631778fd6d2e42655459085f33a07bf67d774a87510a5d9e7f161abedcf450a0fda913c69dfc076adf63651181b73422c1ca1e39b3d94bbb216577d6cc8d2504000000000000000c0000003ba6170e5b76653dfeda772ed26d9677860340726e6dd648972f6829be94c54dfe5d157ac135df2ffe5678272e5bd025b45e29708e047719b5367d4f5d98b8113ba8c634482c00571598d476cdea564057f74515e4e5987d3a605d68b1f3b848500e0431732d0d61cda5a0325fa1025a60660d63f9e8be607cc2482739d5406f02000000000000000c0000003ffa817a17342d3d21806a72d88c6214c1706127ba3624745d9b420513ca7e0ff976bb4d16cb13081def7d1ea3467d126d232645cecc5343c41a3d49485ef97201000000000000000c0000008409b34ac16368570cd00d1cd3a89975e997d74a754280779b227d1fdf6d2535" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/10.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/10.json index 3d3279fa..20c2c0cc 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/10.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/10.json @@ -1,6 +1,6 @@ { - "attestation_public": "1ae58b0b0a58156ab01c693762f5684981b9fc2086c23640cf626e0ed4d58d6a6963661a3b1f533023d6e40d6f67911c47b7f202", - "attestation_secret": "cdba6abad5f5f2b886981279b5b6df728c98f097cba13b791903778c7837ba986963661a3b1f533023d6e40d6f67911c47b7f20200000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000728b34329944f474ac2ac811c305393a9ee865061190560a1bd0b319e91e021134aa3d05da09452f86b7655b5e8d6930aa8a5b1ae06667147245511ac0babb0000000000000000000c000000d9c07270a0cda40ec754a600903aba204c596c438d7964030333501fe30fe24d6b1fd4659c52a31331610448cb745a1269aaf71f4be26f57767b0933ea17f93300000000000000000c000000d38b746c3456204f58048b536570dd728ff8b876b29f9a6697a2fc75b32d96283e4c1c6a929b741fce2f7055861dff3e40b867186e582d2356154310f3dd2e0c00000000000000000c00000023ba07194db0db08e2a5155f0be8f61d94f5fb4c2e48850207a43c322a11d55290fd4e412091d364ac374428ae17851346166c5d7ebb2275f6857321fad8fc0500000000000000000c0000001ae58b0b0a58156ab01c693762f5684981b9fc2086c23640cf626e0ed4d58d6a459c6b0426501111eb9ec034b51df968a0773a542507543117b8db0945eec919080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c00000018f61552f9da6c52b901981f8f6bd1590fa96c516b58006e0bd70d52941e060bef6718659c5b705b6d475c6b21b6cb536113375f085c8e773d87041e3c83e26dee303a5e6ab52f6798853c3e66f6e733aedfea66a9ec244bb64f723b96a70a2af1f5fb5991b12a28f6a0732000854227846c4d5f45c1721353bb93223b26d75d3d4896512c387c6ef2f3604eee617c682c294e68cfa91c5266247b1ce6c0fa6d11f1d5504b810c44de990973ceba591db3f4a20f2d93a651f36b2301d52211735a3bf84c9fadda2733f59b429d6313287c781023b6051908a998873bee80df1f0963cb4e1e7d5b40972c527267575d79e007c242079ee26c0f74eb6e8f4963341c5c7344dc8a98407ec9441156596f0aec1ccd1a78f4625830100014a451e240e9778a2a1baaf13d3c4dcc5a241f5039d9b14f1e1bdde3431f26f20c1952274d107a605a062f076c91546c6e144d1d12426df34a248c9550dc8f30128fc5ab70a875e740718c766d4e19246a05ea020d86984e60ca3f940e152bf666e8d6a943aea6907b597e841760bed928e6fd843bce39320f8c5c5f0c21839878be9a3c752ddd447e0bb6df08a420095a4a54d144f0438426dea8bb203e150970a840b84a409479057323a520331a4537bfde661d479d4442c47456139453956e4eec064c4138fe2fc76e2745d0945431a111c93f31d12374061a473db3945f44a221024d00000000000000000c000000febbd916ebc245056dad735eed501644adc1d1528a8c6d17cea6d939cd37946652a677048365fa71dbc180072d543170334bd54a3281401771ab8c6e14097226c823cb0a31a3c57ec040fa55037e4d03b38fa10cb5afbd32041a686d1256a330fe84eb77bc50672cee1429364a6e7f4bd29409328d9345476901b4747496a60efd8a9f09118f71712a74ba7ad6ad6040ccc0724c85a2f679c4d42278e6fdea18514b5557392f631f99757a7c4cc66b62cbe8c4524f9c88345f4c5573c3816461445a591face6415e32707104f6156a7e953ac5230ffd5103e6c5df67b287a901f9c9c50a22e9c705258d723e2e054a61972d934727bff012b72dc116ab4da91400000000000000000c00000016c11d094ff29a1fa59bd40fa3b5ff154f867d0c8be1c72b201e2d29cf0d6e0e849374116d58db366e56bd557be9d512493ef231debfd0714f204733eef7926766b2117c7982037861047d5d4a361467eaec9b132b05a22bcc677a21952b6c7824225c43ba81c6794021627836732c3e24d0db1c14ebf64c7195a038873d6d2c00000000000000000c000000198bf7400fc07241d723746a26613f0d552c9179d07aaa111ead864f5fa2e9457cf0cb04c8300335ea82f06f2c2b5a0608e2a878e4bf765e77deaf3344a61c7300000000000000000c000000728b34329944f474ac2ac811c305393a9ee865061190560a1bd0b319e91e0211080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000067b51a0116344e5f5dc9a3207e35657aed18e7519026a50970514e080099c34443ea592c9359a240f6da5271408c8d4e26c7c148b2559049c520eb187e780469a230604976824515f73e167047ce673339cf9963692be843203ade5413933341217f0321bfa1be5ae87075200172d62db6ebd574ae3a483a94765c232ea82735e86d8c328a1b2d174dd22f0289645942bf28334bd98672200e44bb6ec70d4573dfa80d20246bb24e61205e4cdfff17194f348c58948fcf6805486a29d80f6339f1bc90235e64851e207b835d75c3d34d8f2bfe0d4d3db64dadc5eb317fb0c369fc131633d617473ea8234155d28d55304ad8cb25a2099326d53bc8474fa84868838bac6f14da0048216ee672eb8d6f69f00791696f7f4100abd9640dc9aa8048901c6e09460f0e3ef17453622f269e2fc959c43ca5d035317309750837d8224d2e92207c75136756dedefe100a8e3c3c7b4f84424e43770c19455a7021a41652863c5932f55f1351d816656b1ae34301ce35646f97d62e53a9788c61c281432f504145336ae7505c99e80b2406818d6b36c4891c7a2c2b0b462b4f0fb5b3c1682acd7470bca5c223991eee305530125a3c4b7d2824e5fb6c59d1e9280a6bf81861375f216e398a4d85efbf1435c8287a9d6b5e4c4fd8453f4edf13466f0c024862f2d119ab12ea2eb031f66d6a7ed636ae2ad218c28e3671cfe54207d73fb41408000000000000000c00000024a4dc5bd581c91d78d34f01239fc54bbff4f04c247eae08abfc6c5940eff121a28d9c654c28601e1ec8eb38f95a2c0be44e353e5605b473baa7371fe40b09264730cf71163cfc329e8d6872c6b9731d04cb072dd25ef630651ab139914e990861fb936dcfc4dc499586fe2687ded02876339f4ba1c6434c752d966ab57fd05ae0e4634e53af647705581147e467d5716c953669ec740603a422290a98e5d95b47300e2118e5df70c9ef335d50786b315b1f8054e585a908aeee4d314c37b624d934e8490e00c00de797c65c585b3741c4a72e402d2bcc3bb113096aa1f12270f30fb20472f22641dfa3c76b79e3ca0543dc7f367f4ba50c2ede8e4bdd63d57704000000000000000c000000c115810eb97a9062ec27ee3cee5e4643b26ff11b5112bd20a690a334190bee36741a2400f9803608b0223d16c29c0a681fcb062669eb347a1e59216317c7ea563ff4c33f26ecc645e1b14339d7a59009399d015ea78a9477ca385f0f98569d3c5c1e0002e6dd44248c28646fa48ad01359c467304c768d67d32ef043ae2bb87c02000000000000000c0000009d56201a09e5b00682388a7a58bcb85eba95271be133622c7da4587986a4681ff4626631e8875551c892682ed2b3cf119157341661be9e56a80d3156b5b79a6401000000000000000c00000034aa3d05da09452f86b7655b5e8d6930aa8a5b1ae06667147245511ac0babb00", - "proposal_public": "20c22b58a0312427d9b38f1901f53e5fb793c6037be2ba3db0e02823b8db0c79eb49ef516b6659781020b47e1641d412f065b946", - "proposal_secret": "4ee5e6c7e65382397ae1e9025037aa5dbc10d56b0d351aa348a5981be706e188eb49ef516b6659781020b47e1641d412f065b94600000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c0000002f17405b7c694034b73858799ccf596bb37c2127494f6f520d89561354fbf30b4dd3cb544950df63a10133466d026d06fc82af2b98d5ac3479dd4109d1f74b7e00000000000000000c000000d19906130140100ced4b0e5066067250a51c5f618a342b0b5a00c21e8a793448b8b05211643ec332850fa34ab619b303571a967210b42a25fef5ee5faff3893300000000000000000c000000736724267f20af3f9587055a026c8b0d3ffa297a2484d9702dc1690e8ccb57041091615a0a3ea25c49f6e663f14b9006641ade1166632443b2b3ed0a83002a1200000000000000000c00000089104a493a4ec15a888d24093e9fc4615691510e047ea01e53676d6466c64e1f1783144257388d1ba1a1927a615861550697466653f75e5811ebed7d97845c0500000000000000000c00000020c22b58a0312427d9b38f1901f53e5fb793c6037be2ba3db0e02823b8db0c79240db40f65b18a44a70dc761f1f13f635a3bdd2eb7acc033d260751e1b316d48080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000008d13f845b74d5b4776db69077623ad5f3132714184239d6e07ad527bc50d9711c694c834d1f48b3ec67cf67ab70aef12d4b58a521feacc051770b63b3050466714bbf93cef25b2777b72170e3248b329f254517c9575765091deaa27dcc313347c55ef7dd27c11513d557c2e8ebd0d398bdd226f5e60ea6b3dc1d75b0fccfc5de6d04d40dc726361d9898b5b668c3239f5fb0668c75099453ec8915051031763669b430b03bf483f1390080295e8cc5572bbda0b8b11da5cc77f6368f3421653c465c23b9326636db632095bc1a7fe07939fed02365595076eb45b1ab3e2ce0226a35b1222a9d17ab1b30271f5855f5b1350f46641e82f79c4fb1c25dc3bca2ef4147d5155c2f62126f5d00e6864314e2e8d976c1a178c4e6eaf6c58be0d4b3f77e1ca3d0a99f011b233db2d0a129d2c5e45074136f9a5669c0df169e214e97cda97ef3dba5d472e4ec93e4d47ab8d759182f84eb61fdb6186d51a7849f002715546ab7e78b4e62dff990d3c9df52339e53c2d485b46c333ecd58329fbe2bb1ce33b2f607987061eeb93b35466b1a90b4e1fe93cdd63d379843ef24778b21c517b2e97552259ec443da45212a102370a1a922854499ccb08d611145534774f40ebdaa43a4dbb7504487e6c0af15a1618a3e487215e26821a978e3425c426f82f6a36137011726613e5a40959edd15d3712123b089982bc3c76b413701235ce6e00000000000000000c000000ebe67f4ead315c46d0022e43e339dd3c950fa764b157cb3c1cac1f1513b4aa1135e7705486342d587921fc6aacc6170c889d997204825b1080ca4915909ee157a711a528fc0fba7e240fa0277170a54ab0fa48212fbed07258f8fe12a8203d60c6f2a91801ab852a5c1cbc009a55894ffd0ada161143d5738d64a968e709575a7cda683f4811eb055d3c7440c77a2d22abd9f4151e462921f4d5b9129d3a0e50bfe5e161215626782eb9b6650683ec2d03d61521e371d514b992ef5fd33afd09d14c0e770c3b170c5703da654e1a54047e263310748727595e53cf76c8fc033af1881d004c215120e8d83216b59d857553488a2e712d09091bf3dc64ad93151200000000000000000c000000669535066f59961d1dea5b1dc11e046bd621793379f4ec43cd001072b4b9a43cc01cbf73e99aca6811d7a10d0bba2e26d50eb3502b8bcf57248f8d5ef51d9d403f0afb2cc915730bcdc0023f4ea1ae44c40352443ded290ef7879078eea25f7ef95999669936d643029b3b66c15f827155c6f9595f1f212f33f5b7599016234200000000000000000c000000b515d645787051268a4f0c1298aab53658589014fab8dd2cda1c382a4384c013ee64a62799056f482ca18f586d02ea4f449ed0631356964a9f9e50769f1c160c00000000000000000c0000002f17405b7c694034b73858799ccf596bb37c2127494f6f520d89561354fbf30b080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000ee840a1a9073a85b5246b603d256186233d9f42e5f784d7861adfd02d36b9d5c1bda917a912d843f40bb14546dba6f3d6a9f254898d9986ec4600f12027c57347bf82f504b0e3f34d92f8e4db450d91ea3fcfa1ffc785337fc62773060395747d4249d50d605715287042e5a3e6d757221123e167c2d4674df787e69503c2e5e9c83dd5fe9ba074ef7f336216f64094fde95a3766d216c70eec0d2500f38fa193312de2e7ee99d3b8f7ab36647b58301d252ab1aaf9b52073e65e8355c38f25c63d4bd59307fa64ee94d2a5f7d814325e8d213089b4a01526a3c535c879248674a963d26ae44ac01a6eb74781c27412fae826c72a5539f4bdb78ca4ce347e16af991a56eb00ee04a977b1254d682ff0f8bfec12ef8c20c4c96c5bd2fc4837e5518734855c6a842528d5e543c8751cb3d9ede6460e532866d573d8064cad9e9322b90c43b9804b768b3aae60842176a2e33200d6e5df19266033edb240e2d7d5f14a2bb43cca25c38a7581f491e9d92760d895540e380840576c98c0283b146065280f2004122e52eed9da7630ee3c942b6b12e2701dbfc2742538e4540b31345fad8e4660a55b02d3d41ef0d688a4c3241e23c2f40d1011a83dd7c77ddb06111a0111f49b330187d27b43a3b489fff2911d96232cb44ac6ce9143f506683586a509b97425a289411d9db573c9e872b3fa8e5ac707a9dea65509a245473b9464808000000000000000c000000dbf1c848d44f1f6982784f69dadb3d5036f1730467f592453c45447a01163849b971741b760dbd363724ad2c1db79d2aa1240164a50ce3790c08af74a5bd7a0c1f7b0677a648cf340c22e25cf609d57424c4a85e709068130aadf2633469735c2b66a33bb8a06d7a244de2327be0d651e3c25507d72fa864c12db33d7084513b31ff27554cfe0740e7e2314c363da03162abda38c36f6c421aa527199e7a0e516aa4543ed1172917227411422f88da2b01484e563303665fbb11c413285c2d6e2b7bd36ecdf066396573c94ff6a73c454de5bd09bc477d5f867691538684bf4d3430b43db0f6332877f30710e8756e73079dcc54862c901cc8d10e189df3122404000000000000000c000000581a51049708e025664ad633e8878011930092608a2a0b21210f6903fd283946e0c32148e4243f2fdfc72e3de84c1e0c91ded270a15b906bc8559f32b601de39ea159f4b6b6935406ccd19159bed8a6f47894413baaed05454220c6c930912677f78e86da4ef09604bb67411a85bbe03deeda26e18ad5e5e8b1077558798923502000000000000000c000000225ca768a51641263022ae1f721d5d223fe3762717f9521c90cc0f3ce54bf15b5f32fd23be311766e4a04109f3357642337dd90459fbea584aefda4300134d6701000000000000000c0000004dd3cb544950df63a10133466d026d06fc82af2b98d5ac3479dd4109d1f74b7e" + "attestation_public": "a35b317ebe8a325f53e81f36ef87b4728714f634db24896f258e6a264026855ed99cc21fc28bbb640b68f4279bae234041164c13", + "attestation_secret": "166547c90f63d867ee582ccf15c189f9c3f30c92587f458aa085309096262429d99cc21fc28bbb640b68f4279bae234041164c1300000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000317621129d9787601799ec60cb26006f87bd5576f990f30bb7d8d1213984a00cec1afe7e0db86433e57170231c58c35fa44b656c518a05126588d44e8d6e354b3dc3dd5a64ab123588e1a51f744b0923994172720864855fcc01c351907eb97c13eea331d933bb2d3278321bfa093b33fbf18d2c9172e46ff93201253fe3ca4b5bb1070313786c67bb491a77afcacc49d1b5e26824a0b50b8db260242b488560be9aa75de8992f3c197e653927ea370d9553bc6c093e320ce4fded7918b95c6d7f45b46de5ddb5028ab0e73d7f3164730492c5600cb4712f3be8cb5245133e6689b5c21a595aad54942642308c0b4b12067837739f3c683917c2084e25f0e07100000000000000000c000000623c25411800fc5b32e9ee23f9cb824cfa73ab1fd4068b650ef48e14c1ad4616bef5747eb285701575dc924b37f7153618b151789f551b161299bb219ed1b36c54817f0c31ae3b210941694580cfe250bd57660713241615630b990f50cc4d7cdd232c145e9b1635dd169a20d5475115c71e412c0c410a2cec6a6943518f7a6200000000000000000c0000009ec3b00aebc83461007f076a303d9a591d2fdf268912700c2eb6de6b73dec762e29b2744fd6bc9139342650df09b920861b7ea5050c38b05c801b21000fa7e3900000000000000000c0000001a3f3b30ee744f521c59c51010724e6721e02f13d136d41c8813560560ca10342bd31659998d2046cdd3d955e5e00f79b47bbf00f9442712104f94082758bd3600000000000000000c000000a35b317ebe8a325f53e81f36ef87b4728714f634db24896f258e6a264026855e52ed4f623be56e1d8bec24430fee77267910a623fab7683637f12f5a09f8ad3e080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c00000054728f1f5f0e4a280d9aee3952d9e149dcc63f3ca04bc956b87beb054299b915734ebc2c33f1ae2d85304d275eb19f368f3096020783480297451a6d9df46841cc6221200a84543ea999a343be17d71059fbc16ed1851e31438d6561902eb34a40c3206235330a121604a8451e722c1417fa156d33f4fa344ae67d6a95ac536489ed261c68f2c978f9137f0701728c4926f8053f9b2f5906f59d590a5e6f5258c7692f416361ca1817e42c1c349f5740be8d1e7c378a6d0b69f9fb53bb1f6c7ed80b4d7864e67a09112e9a115125f5677c3a900fd416314c5ef0252969c05065a412400e29ddaf0a5eb42d6d6b46801a6d32c7144e4f58188913cf00c277e24f4eacd73eed0fc377bad86f4844c0463ad3b082345115c634ceaa5125bb61ba089df6c16a6ee4f00ab9038d222a9ede5bdf83be036feefe6265ec2e5e5002904755f18e63e8b4886a4f0ceb04f981185eebaa443c6a5ed83f66aecc2176ec5b37524529092321e76940733a67df57370793198c12fb0c1e376e1454680f3b045c369c596ba3630b10f3db726f102bbf12d2e822716adcb70db29f254579a4621f5863670a4276742503618f32a19f2d3a9420555c8238e9344fe36608f1acea615cc3157df2066325b109d749a0ee675ee18b9d7a22ec2568026ad70edfea996ad208574ecbd0f77d7d4f230b771b747ee93f0670603d9c463d17467a1e98cd0100000000000000000c00000095feef58c6f9963604d209770369306deac05763344f494c5683432f3ad51f71a9cf71598c3b9c7d86dee9177c0e1378c4bc8207833109530cf18c34c7f7e74c9ac72e75fd047a53df9dd51da7b840301df7dc17b7a66153278561174c3c0e0c6f0d9b0aaa126c21e4e8ca4ef791d017bde61837f96338707fadb66b96e8a1076903a763f10df938cea69e72e5b8de251b0bc9190f600d2263b5ec3bfed8776f1b37f137c311480f0a120a6ad0b08a218fc2a740f8936206344dd65adc37ce056893410dec437a1960335d5fd6f5b05df6d0974434c1aa36957f592fc02f302932a3c3387e0138327d57a6681f785a5cd7bc807caa21e912ac49ad4bea02fc3a00000000000000000c0000000a9347427e997d115a0ac16dd0b5786d7874257ca414194d6c9d1a61534052369102431226c83734a5f6ae393b9a7f468bd7a272622ff522ecc01646dc0bf935a299167894cf673dae666f47d39d352d0e559f11da82743593172e4a020d7e009ef8d54ca6831d5d81a6346deef63a7896ba0375415fe830b1fea32a59e11a5600000000000000000c0000003a3e752569ed493aa49fcc53e7d01b0fb4fe3e7be2baad11f1437c70941dd2651e11847eb1b83773ce2a3009d6527c0167a9b52bfaa72d318e40b81a46b0312200000000000000000c000000317621129d9787601799ec60cb26006f87bd5576f990f30bb7d8d1213984a00c080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000335c9c29690ec4011ad6b872eea3eb04bad1983951834c3821ee3651f8787f2c9c659c4a0c4d1c4f8bcea9739bbe8164031e8b749332574bb62a041c02c87b42a724df374875151b78b9274e3164fd3207cade032562216f626d0f1ec064770870576d5cb796a54769a8c229b35e1930f52fc55b51956056c635320d7430f241399b07506bdeb77b6b598429c15f247c2cd0fb7d230c53714b30b24819550e5321b50529b3ae414ea1f1be62e7f65e2fd4987f1f575f6540416ac859fd7ee54cb1d6c901176f5b44e88a4211125f735228a1ad6858b19c5c1860f5121d7da7235141a702611e5a79a888697754b4f82d1c1a1763f09bc36c29fbc16f76e65d591c474b35b992b248fee13c4a03bcce71d2fdef4e88584169bed6097b705c441e04df281fbd57077b23fd2a5c8b3b861ac3f8894a0d9ce31fbcdd502833a93b6543d80e4a2e0f9053bccd6362d88a060fd833fd1bf7788029634cba4c3294315f443f885655cd9858f9c5f65f16d68f72da71a139578b3105d62ab5025ac394099e57412fe708d3215ab87a0ff9c34d1ba230d364cd6fad4b22731169f8164a49c7be01033ab7bc4a23a01b0a708294496e3caa10acf9524db518fc65f71d827e931e250f932788040ea79c579c9f9f41c32ba21f85ed26743763422508011e794cef066d22bf0e5c08b3177898012f5feef0d6140837e37661e58f6e4052594908000000000000000c00000028ddc7353073542f54dda67861a9d56855569d0ebf275434c736785db5810018a515dd5139f2b326d418170b6dcce4283a383b0d350aca7d53bc631c657435521238336ff7afd100150e815653a42f4fd2ee54213bd8bc201605fa11990f22226ca78069ddcbf83c608c1b5ff018c16098c43b198f0467442248894cca55ec5fc13f4f42057d512996c8902146331b41770926336d8ab46c74b0543a1484202fba8b5274919b5857c7725b7a3482b41b21be155ad59fdc163bf3196685e4043a40d0fe1b750c4e3ebe2486160264c61e0524f842e2ad9e71d8500327977c2f3e6da1a95e8bb75f54f81e0f2d70c3974b98f2c52c9e8df414933ea77a0647e14404000000000000000c00000076e9240b8cbc8c494b46994c625e9452c3900f5bb9cd2566f614c4107ee24375389dac6389e86c1e15d3e91eea4f9b1985a66623a8916f15f74ab80ff837eb1318b81022a1fc9212cddeaa121778761688cfee348edd6d6e7b3b9d087d2f50394b30c01000ab5334757f372d6d44ef2129622e75b59c5e7edaf87150dd7a684702000000000000000c000000ce69e35d9d55957a644c660c08578d4ba2a83400a046e775882633106917e639a6282277abf1a7641a3df37860d79b702b9f8b6fb1a30457e83f81499da1513801000000000000000c000000ec1afe7e0db86433e57170231c58c35fa44b656c518a05126588d44e8d6e354b", + "proposal_public": "2596410e4766637b8aef425681d6a0581d8890731effcd6b34987105ac133a5fdff180259c9feb6ce54ae869a168b10fad1c287c", + "proposal_secret": "aabcd296e74aca53f93b2de8fde8a5d2d9f80628c06d112ed0afe4645b1c314bdff180259c9feb6ce54ae869a168b10fad1c287c00000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c0000002427015d0506c2463afbcd1ffec9866b3de39f2fb03d5a7c7554584865e88d52e396a461551ad301ea61dd0c79391933ba0cb168323b4b6a10528c36556bb83c6d33ca58c225a924080bfe207bd7a57e7de2ca439d7779427ce6035de40bfb3252e5415fe29c04044e211a6b2d53b00680d0900e4d2e8d20765f115c7f93d054bc03ba06b931c07512c56009c05354745c0ca149a47ec2666d9f7210826fe142689e1e706df7af249d069309537e7e41fbd0ff12145f9f05f1d1197b53c53d320e0ec81d6238843dd123757da3432262905ba21e184d874486e66d629f937f5d452e1c797a758e1093f29b5269aacc7c68e3d073230af0577ef4531cc3f6ad1f00000000000000000c000000e176c1264333527cd141f9233e69085b708b8c5e48869a106ad155342511487ec3f1b71ee9fd19414a5efc6ff2c9960f61dc4954271aad565b08ed319431843b9cb7a43a8c88612d241229485af33818c8e76c7c6616c9620701281f9b01c507e2f419504e42e710090866342d56aa38ee75822d11e9de7efb549d265cf5f63c00000000000000000c00000017e1360e103f5a05a46e2972577fae70da06232272e7ae1592721c4301cedc2949b90e7101adf552481e97411f5dac2162a84117eb668131b2954f3b2b33502000000000000000000c00000016f79f5cb69cc45df15ea265ea10f91ad195cb7c19671d3e1bd1e448f49fdb2179f4c22b2dbe2906e51b4315bf58f061e854c81dbdccf332e9d71f636499472000000000000000000c0000002596410e4766637b8aef425681d6a0581d8890731effcd6b34987105ac133a5fdb32ef5fd9f50679e2b711681fdb4940bd07822293eb95173f18f14d84409031080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000006ac96305f9588b2cfaefca5ff24e2c3fe513727a4e2bef141f6bc6261e03ff5968a80107bdf40b4faa2c9c1a90af5e2a0c29d4584954d9229ef0624258c81b7b9d5db303d49e0b1a4fbf29364a4ee92cd74e90301521bd6348c1df3b2fb39d4a1eda401702ca5d596877d94bd7782f094c20e97623f5a1237309fa4ccc1f314255bba516a8ca3c55c4828a31f4da2453b4280b56fcaa725b3fc1664e65403d582d41a7103ca52745510b913738b988538c18b37b33910d2106d61f18f9e42351673431269e512324ed4385391fcfcf345ed23043d8e026652d60ab061c8ce2300e62264993e6780f3110044bcf266d6034f1c43a10f56d0a6c0b9d2ce36ee52d0caa866849587e5f5c87d6165221a94c9006935877a280619d0755142bf6454f776c41750453a5498d4e555486b41c634a7c463fd609cc2f2616ff0c354b0a43ad54a12f2f0ddd573611383ef810cd34c7aae429e0f6050b0378626eabe82c45b3319714b8c9f93a9bb72c2291fb280ce5c4607006df004620389752b782521d54c1c71443999f58246c3a078ebbea1c8ac98c6c66bf0f54e2621264c76eb255461d8a49602e132428c65678aaa8261f4a4dbe57f0ef4029e9ee3c47e80880375c27131bd97d1b15d5092b2ed90b2f2dacf6e870a1a291318107d202fa53b543958b7213f28de2091abd3a6163429d255da9db2ead72f90640d32b0a79def04500000000000000000c0000000968fb79b3ad237edbe02f7d01c8715172ae207215ca112158ba5c5e78995a35148a1b6e4413584bd109212921b83824746e063ae2e2df56cba9ca4fea9ab309adaa76190f3acc3498425c722482c3426c8fee7aa63905572365802fed141f336c0bae5ef46002548db5c81302be89665d03203b19c60533da96c21ce1ffa628c2bfb71e073afd6f38be0c2fd819f560a54f1156b8f4e353d23fdc210f22307d2a535139d11244173747f34009fde07c6bc31e78bdec48506d0782664343b165b50a6505eb2a3120734b630bd8016a0a07202b170f4c6677a6be781b53304354df2f6b5540322e61cf0914395c904144e438f96df6e76738982c74775db2967c00000000000000000c00000011475c7df76a8a47cc2e15727973b82f390bf9623b9c077a8ebd057121ca1c2264786207de433029cb18ae43c3dcd74f5b62c34bcbc74636c9319542383d5009fcdb2c22741f145e97ee142befcaf920fd92f873fa2b2133d33c0d236f239009bf9b9108d0105d58458b8d1e7a274f02f34d0457e4f5cb016ec8982ad17c287400000000000000000c000000f4a98861d86e9a0256d220127f25b32afee2ba42f7edfe4496f54376344e5313a25c197411fbf0229c466b24f869912052ecf43d9a9a1e1711391720eabbe04300000000000000000c0000002427015d0506c2463afbcd1ffec9866b3de39f2fb03d5a7c7554584865e88d52080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000a37d06235fe7d07c2bfaca4a436b37243ccf3a7d5b88804e7f77da2530ff4a0653a1ff35a523ca72d3cb9870a8587360d8a82006206a862f22165d1bb2332e3a752d755aa617e22d7150a964669be92fd010221f3460c574dd0c291889582671746a6d74298e512eddb58c0c25f893615181c1612b4a59216fdb613712c48404dd4f70041f9ae0586e17ed5d9fa1cd18fe40b15394c5f411a66cc679c662c50b1cfb88408dc92956a806537672ddc56ff134592ce512c41a6c43785a3bb7b72efd5b3c1eda42297561fd90650eae1c5510d9ae47b689a058a2c45158031a7a6caf6bfc48cf06bd3f0930e81173d76831cc9fc5290db30760ecced90f622f2b7b6e5604760961644688b1a71e175eff376b36a11dd7a92b4ffa4f654d050fd45d00c95c7b6b855e70c72c8a158a7b77074112903fcb9c9f783cd7f374f31ed7489c303539ddff365c2a39d61d12824715f9bf7b666573792dfee2f7195ee01b1c061e03089db456074372a85b022ef205c1b7fa71e69a9421c291f84c1e916a0a7d97b11589b173249abd9d192b487d66bbf8a515197b5839b0e56c5ef7bb932eea885057718668118571ff7308ca7a103693fe048487c03812f40d1c3fe86343bda74543f76d324897cc785eea623468bf260e53771ec7757e88c45e8ee7fc0fd9e63a50f4e0032ac1c0bf169793230be30e2c6254fbef598d6ef0134d418f3408000000000000000c0000007cf40f2813139665fbd70c0850f0443739a0b920a040843632cf665645a4634e7cde4a3b34b86b4a35ca4d153788d57def038067243e6b2aaeb05b5370daf520c8387f32efec232bcd49f1473ea11f392904b440b3514f122d39513278145e75a6fb3d717fb8d81c678f261ba7f27e5ee3bf8c3db7adfc39f35cd617e91af93aff9e0f155192db72ad8e2d346e686e0a2dd7a676f9537359ba0061594bdcd1293a215d6e1c788e11302eda4fc0a65e6a361a7264ff65841dbe0850472d91486ddfc7cc521542c20302d07d3ea1184e6124976c1677f1ec2e15e8f740e805357c289a391c9a897b65455e9a05b3cd9b7c05d1540929672138dfc0b51f0b4ae62304000000000000000c00000082f7e731dfe21932b40a2923e674a86660bf1a630498085d02144f65835aea5b3252eb40017815515443ba015ee74d23ec6a5302a006df126d67931d7a7b5856b7ddd6006da03e016c17aa785be7c713c9a1f70d0563e56c19df193085c53645b4a6503c6e5b102f136cdc174d028330b84fe708f3f5f921adeee729fae4244202000000000000000c000000956fa8015ff7c437cc0b401103a53f74eb242d0bab59a53f08534d04fe1ff1745ee4e9664925490a78c2320125724251d709743b35a7cd5199a6d57278ecf87101000000000000000c000000e396a461551ad301ea61dd0c79391933ba0cb168323b4b6a10528c36556bb83c" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/11.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/11.json index 1e369cd9..cceadea3 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/11.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/11.json @@ -1,6 +1,6 @@ { - "attestation_public": "6896ce362c90600b0ccabd6c03065822c8518237c4eb156140a5752158175c0c2d3b575bc6c989607c80c43f90ccb76c34a00f23", - "attestation_secret": "4a1103e4c738b9212f93a99c71e142e9a3ac6e1a53a0d07a0d5e11acb2e246cf2d3b575bc6c989607c80c43f90ccb76c34a00f2300000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000f7e0005b0facf22ddda8073017a8591431b8c857b74809735007f11413a3f37331b1175e3edc7e2e09aa197a453a344e808ede1dcdfa9b26992cfe4bd82af21e00000000000000000c000000cc03382a322dcb0206b99642714aea13acdf7c1eb73e780e0b061e76a4c7ce1cb1811103df8d9c015311d25f00677b4a42e73f44afeb71208ae7943e8d00b00200000000000000000c0000006ea2760fcdd576100417e573a153b877c0092e210442047953260016545d6b53009cbd5947150247c07f8d1e153e3f1d02f9d72399c805530e19e50f0f90eb2900000000000000000c0000008f4d66016fb9763d573625169d3c0e0db9b4551e6615661fd35337780333e85971a70957ae148631a42a616714e9df040dd979225b24f646df68ec4c101b7a0600000000000000000c0000006896ce362c90600b0ccabd6c03065822c8518237c4eb156140a5752158175c0c1ae847298a67c61f1e461f7bfce59f3a8c4a592b4d26700098aa93785cea0329080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000007ef63806df39180f814cdb50ddce3f2fd540200a871a736025b6d932e2f41a55084f5426a7d95f433fc22806ff1b9070e6c34c140409ee0af5e49c5c8c3dfa6604b98b78154c1c2c028b464320053866cf7be7015cc87960926d5c101fbb6b4bb9cd5c1bb50ecd45655a504e87fa3b4fac64525ce5bcd8340aa4ed25fcf5a84ff16ea639302d857d46d3ef3538d69d364510820dce70bd1e906767007f4e445ecb5a330badd4ec5d541c7316e0a11c482d1ce52dbadef8059a53d83c7d80ee516d301e6ab904ba410d836f513aa48f4cdf743c4fdd660257a82c8765f406ee373b941641bbdd8303fff934234f2d98320c237c078bd4ec79f9dbf163c855301dbec7bb79bacda0072f48ce54e465857099ebd92120ebd45267e2642bbf7be34fe225f53953493b36943e33530919016c5e5caf72c94c127062ccd1219de22767f246a01f3c1846249508982efa9edb3ef488094bf24ceb0585d6e94f2073f268819013039ee82b69e189a935604f560ceb4db239baf35a792e5fbe6593c6b119a56d5e47788fb8733d51d67634e9bf4a2e9b692157a5825e2b16a7292bd16600c36c2f54951e0013654b313bc3feab22eeb6ed2c1a04c93ce51e74344fc6912f9ed7a543b6c7031adc3e5160990dac3d636db6400ddae316148b290b355b7a0930ed2a5a273df85cfc95e45a9d8cd52465f7c85e7afb2b7cea14bc51486f974500000000000000000c000000e208687a8d7a4c47445ddc162476e414c960ff745c6f7f01adcc9a5d98f4f6784b5ac65c498d20588320af04ff9f5b14c9cc985e78112d497651bc5bf3a1146f44da5707867a270459a4bd1a8699a636762a040916d190670afc0e230c3ada2bffd3c113070e030fa91e3547c7aabc7129d4f86348d1db7c34df177b0713a574198cd271cf5aeb420a300766ef0855324a2ca5565dad3d2973a79d65da606344c9e4997cecbc7a457492fd7caae5261869c20946b7aac96ce4c5ca4d670eff0247e75a4f5d074a320e398a4e6382d75b5c107030f5022849d9ef427b1e3b2e27c446f7240c8b9e31138bbb738e1b9b0dd4a914798233d638eafe0c6a4283037600000000000000000c000000eb1b6e3bcd09b2548a86e27ebb2d3e3bae2efe06ea13a56045bae15ac23eda770229d9183400172ca32a0724c1a8102f3d917c6266369c08dab19e14ddf29621d7e25474b1b51e057f96f97e442cad692af0e466af1d0a14e6266b65e3046f3155db9c575c48db5865cfa40c25be312816ab142e3c543a75898de5204e3a2a0f00000000000000000c0000007d11ae67a9eecc65d6b56e722b82d92b49a2dc16abad1b2a6321ec7cea091449df419f3cc732765cedba8d7378b0c404b6007a2812c54065f2ee9a5f1487772f00000000000000000c000000f7e0005b0facf22ddda8073017a8591431b8c857b74809735007f11413a3f373080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000acb83f69c753a15e6864617c437a4743106ee26492e2dc62892d032a418c9a7940beb8245263596047cf38255babc83d80537452bd1bac70931caa2f6138de6cd201d66e07291f247361ce3a1afce84bdb861a0cdd41d3759fc5ec46fff02144196a1a6dfc82eb65819f983963158a45e0641b246d59aa4ac4fbce088dde92130991dd49fc499607d8aa800dba8ec004998dc750d7022608508a495d989635335e856801b829846ead99d51fbd3e75691edce83b547a8e6b9cc6a875bb1ad97147a7ed65977aab3d9aca40666b254f3e9f9f4a31d8b922504e876e27d8f61f07f19ff41c6e98a8636e0ea1692515f40bc805d87c204b4d2868277f67489e373fdd99d42e5a7973674ee58d3b54e89622ef15367ece95e6571db17219f3b0035a3f04bc35db09387937a3d0708788a066b206f93af6d0564934fb286aa8052b3e4ae7e511b1b7cc39e56feb36fc8775237d133f06e80c8572b5ae42007bb39655f66f446856a09202f22f0f4f3f5aca7e90815959419fde520e107178a181e25f9d79a64cc11e465d714dd7489fabea06f5095e19568512060b6bd15ecf1b8629c895ad2b12d5ce0573040b1f9ab60246ee598705d3ca9e461589e94f67fb83405a010c2edb286d1c2c947b004b434b11ff13a439db65365c93c49b7af5489a12eb90604875f30f45c2237d5c1f83e139f15d3409c434f00e958c26496a7c3d3008000000000000000c0000006142b348e7e5de0e28ceb621a042eb669fc60c38327d7262c795905c6284d077333bf40189a00245f288d06cdfdeb646d51c95739c3eed020f4bcd1d0a400151ecaef0740498ce58b865995dcae74b0165a8fe3a14a17e57d3bcc11ceb33251e2b314637549a144e9e4dab77b4f1907cd50cb74696e00d4f07c2f246a3267f6ea1a28458113b136f38ff1036e18efb698e02667a3f11a3238bb3c840d19d803f56cb15013a58c13c77c14b7285afb90fc63c912e64594c062f590f02b09189256e71e30f08b86133e7901f4eba971a5882fa625f5460f03406b2db55d986f827289ece2d5bf81c74cc90012d58587e60dd9fb92df2cef5095ff60e3263b3b57404000000000000000c000000b5da5e106977242d32960b51de17d83873d2614dcabcbb053b653350ecfedd711ea122028f59674df2ae382d8011ee12dac7b44be9500729e3ad9c2fb803ff119a01b0103235e21aa83b9f47a1593966c4689e6a9d943159a2e20816c237625b6ee9de0625556911abe2754bb25b9043cbdd47221c082c72f3eda016b87f9c5c02000000000000000c00000023714133bbb8aa0ab3e9f35b05a51328120c8645482c217167d8be00ad9eb631354bd14df0414815a886501c43c43b24ff39e46fc007547b4e38f3078313300a01000000000000000c00000031b1175e3edc7e2e09aa197a453a344e808ede1dcdfa9b26992cfe4bd82af21e", - "proposal_public": "5e628465d9a677545dc20a69358075097101ba12ee404812481eaf414360647288a33a5495833f74b8cf2022ae422544c3915140", - "proposal_secret": "3514b997d3d65c012fd1a3235c19a361355dc5b55bfdd2e4e867878bfba8b59e88a33a5495833f74b8cf2022ae422544c391514000000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000ba33ff309639e55d9c356f5ab48a0f5e0c4c544049332f2ebca4de0d658541661229557eb8324e0ce21ca97a64f2174ad9d1e54435385b4f40174749fcf0046000000000000000000c0000001df6c865415c5055de00472ec0c7ac2909b0f8062add55212e520630a483021cac4821232150a26fc08f1a232d677768fdf49b123992124d58cf7c3e8ce4a33b00000000000000000c00000010cfa97ab58e3937882d3b3184675149f83a845cd67b520bc58883692538653092960146b90c865b505950389b2995450a42ee765b05860066ba9a528af4c85500000000000000000c000000c7b6920116e1595a03f3a81280516b07b9fdd13622dd7129651f5e4e32e5ee183a52a415cb08a040d1a6d52bbf134f4561fc5121d50d47387115ce46cc12592a00000000000000000c0000005e628465d9a677545dc20a69358075097101ba12ee404812481eaf4143606472c71ae86149d5a468d6981f14361b5e64e970f47dbd06e267744c2b3455ad7e28080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000f38b8533bb912e11e3c7fb4f8d57ce079b26913e8f0dfb6e22baad69c1266936f082b5252077915b641bdc73f3d9113386599c61db53c4214b86fa57a210955d44ce8d7c0f82a15c99c4d6405f0d860c18311c65d322172824d8631e97e12a47c13791597d0ca74adf10f95740057207b9130e6c31629435b6516b18ce08c642fdb812678eff9304f0b2ee15e3817208a5d728413e462a687cc7c04551398a403011c065646fb25ba5ec697195efb650d89b955a55b4de4d813fe02591129f1dcb53523f56018c32eceb506af184354e0ec7eb186845f726a5026f0dbbc0af7145bc780e1653b43381a1eb77156fd74d6b74c872db68d55fd40f6856ce7e300736510c30c9dfe94d2e57452aa1c4f02371067d7aee72e97025d59e727a45524af8b745626a62d17cffb3362446f35b649f10ba3c5f074600918d923a4541eb26e25d937d10ab030c8919d21fdc96c039a536935e26fd2960d165ed1e0b9bb03098b9ca4881365061c35cee3142da863da7d72d5f0e23956f16d0af619d39ac73cbfebe4699142c4cf7486137f51e883a4376583fcc313e0b472bf6267a8ddf40b8893c7e4181921e3a47a62cf41d6d0f04cdea4201d3587bd1820438c5be8b2475141274e731191c55f8ed7bf73fa46e2256c360379fb56d67efb722b178f84e3913fc5d5199b2400b606e501a9c7209af4a3f352172636bd4fd5d72cabf5c2d00000000000000000c000000c2dc93165a212d2fce73743a6faeae2601cf292e471d61129b74315314acd508fc57a563e15281498d524b208bae4604ed6ac92c07034a1409437b2926a3452ba4545e34b302b173a1017e13c43740376fea0069d6c1cf1c7ada4c3a7ad3fc473756c371f5987e54898373029bf7c172c0e45700db39b7423315c663c88d23741be2e56300c07601b5d8924746362c74c6263b339a09841c7fd37135823bce7c8a96ce17a74197100050890dd19edd52947fb119737d4a7bce9d714d00bdb150853a1b1a3fe5e205f5e3395dda9508450806fd56aae89912ea82555bc26a785b5d585d3cd8f4ec75ff7f262fd732502deea6e371811f6d2b71e4bb5b4622762900000000000000000c000000fb16a0412ce466355cdeb920ba066927946ad031bf0dc31a5d56f226de545e0272dcda3de01a6217d194415c4026ce38cc93130f8834487ef30455671540f20868d7f60bc286807bb034305a557db36e8bd30e369100ef22ccdfe241874a2626f7f0862c73e0f261d78fcf5399cdda02bad62d41727ff640ab89c3684c496b6500000000000000000c000000832e73629428d3461361a27b97dccd6c1bf02c6042832667503eee6071e5577cb7b1b14efefbb35bca6c485af7a5d55e0fbdd57ed132b136a9b15f75b68c9c2400000000000000000c000000ba33ff309639e55d9c356f5ab48a0f5e0c4c544049332f2ebca4de0d65854166080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000066bfa771397a6452744e4b5eca9771620dd62f7e6188022386b396718ee8191e1bbc474fd5018464f3142510dc2061478c0b910bd20fb3701ae0e72b9e03931e2ed08b29f48dd2239569a90cf5c4c345ee682636d6320f0e3d26182f8b541521a10fcc7ad6144a6f10e33a612adee17839c80c6a339a936c06318d7bb19143256da6c966f597a0035e162440f582397a9d5d6d1cea8d0c7b912efd13868b757da1728157f40d7255b550991d8718241fcbbbd0199599be1a09f3d406600c190f31f00517f112c00a5a35dc3b6d663505fcc762555b178641809d465d6690650fb0fa6c266431704f7e024c39e84b6a055a646279a890110c49a90a594c90ab6ce83b3362c648a5247e9f1700f8569913b6b4702a9aef2c71998a353fdeff101eca5ce22ccbccc21639169f48d20cbe0fddece6191546f46fdf57a5583bb17872a5c7c26c127a633dd12b603a5258194b2b4f0906a63a0a6539429b315805471f827aba043d28252956e2730bafc1bf60e6f4dd53b9bc03699d11a34594952714fac8904df66d8432c483d1571a6f5d677e063d38195b160f0f9849210622ae3bffbc5936d25b9807bf0ac91cf3359f50c8c87262eca6432075f5f73baa6f161028146c2dea768970928eae277c45235a6c3f3413759ca85d31f5b84780c9924a55f2380a8668946fd0fc2a15d3898c034289c70f91644315ee5b025be09f737208000000000000000c00000017bcd0033883d56c87f4ca45f8ca1e6c2a6a3a37fd96d9053f0be816a0bc7736252d990abe23524cc5618d61b59b362c4d8db5538de50a5e08b65971b9b64f1d43556577778a8d41e7c4df3431b9c23bb6f36b0b7eaf5478d2c4196f08fdbf3ea44d745485cea97ccc317205eb7bf52174a10a07f3e59b6247b338553f448f7d6cca53521e7f390005e08d44cf20d25fa40d842239ba4f14e73a2643ce317457e24e721fd0de675df9e5f95a98743535a3f8b628ed4a461fe50fac3c78600b0bfaac6460ea81d32f66de32497924536daca14a4ae0302b18997e386b14ff7f5f6d12da1b3035db4e941bc436076f5d1ddc65813066ff9c291466447694ccab6b04000000000000000c00000059581055eb86495592003b7b24d3b41429ce0750d2db2f7ef3304f235a0b8c30d66ea95e7f0643795166c05bb95add5b43403b156d5b7f3e48129240495cf5349cdfd10b1655ed78df1f0145a0eed47905f4aa49d453925abd86e321f83ec752330e7b2981bf2c28a3ae907a541eee273d79740919a36e17188a4f2af4ccab7e02000000000000000c000000fbcda21f3b661f71b793f0231b689b4a038d481174d00f4e7817db3262b75d69ff654e35315273453647d5000b5348670c9d7d2cbf91dc77d0e8ac0594ba1d6701000000000000000c0000001229557eb8324e0ce21ca97a64f2174ad9d1e54435385b4f40174749fcf00460" + "attestation_public": "b23b7766180b442ca552e66a524f1e629dfbe71413bbbb031baa531719029c499e0c6809043e3f18df41da1047e58d34b416c869", + "attestation_secret": "5f3670b11eb1f92be1a925a1d35f2a7812e276035b1af008180bcc7acfaae1229e0c6809043e3f18df41da1047e58d34b416c86900000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000a7313e6d6ae4a247cce17d016d189e2cb1560d102b38b505d648394514218751345e7341a82c686e4bdddd27a55a057b52880413b671a662059a1479bb43374b81650d3ca45e907243853c285bacfb28c111791370d2ff04b418175e4173296aa167df7688d25f014542f72cf14c105e44b40a55a69f364ee2069f23c93a9911e86f281b6123321ac30c49755b23da1dff2a584ec5e9e924beb5e70aa7e3f90e7b1f7b3da1a9c415257b0235619d5c42d5bf8313435c917d20611502ef851b27aeab631eae1afc54c968160ae9c89d702c947159e5e2cb2f2aad6f6c318d1f5621e31632d641d80283010107b509071cfd4eed246a4e57533038c8157612437600000000000000000c0000009c24f93ec0f5cb20c90ee462bfe534540f382a3af0e65c303b453c0b7ca2511fdb4625261b063f39b5ed7219106503483ba55d2cc0f65a423be74f14077b2400800df800b5cc4a5221805d65bcc5972e8fbd47662438010785a74a17e792eb56fb673018cab11b2ae0c2de62ba0d3155971c45351f71be17306ad6706bbae25600000000000000000c000000164b794c00ff3e0a532b214edc7c8c768c2c35170f045b067ace7e63d7330a3bc6545156f6538e3ae97d641e4440f20e5362900b3dda221970ee1e6f63cdcc3000000000000000000c000000300ab8427dd3313f0eca96616fe2430514d2f80ca9d7186f93384b21f1b9880943752476f1dd83157522aa5cc5404572c6c0b22bd9d3173a916e66099d868c2100000000000000000c000000b23b7766180b442ca552e66a524f1e629dfbe71413bbbb031baa531719029c494c57bc108e04494f07d4fa03a7bbfe5167eb552a6a4d8254c066a665a93f5b25080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c00000057ddc52a17e5fd28cda0d747ca678948325035692389246eb2f8d52e9f52ff0c2266312a4db88724ec6ef16a7565ec248d6c641c420cdf5a3deb0a0028282121ba0f9962532b5d59f5adda323ad16602c91564325d24ca6b0eeebb2792864878e1c98a1eb1b77b59a31c397785aeef420388bc0481eba31a2f79c3630b195a7019f2a2314b761509eecb814bdfea856aee94600f2762da334a90ba48f792cb22dfbeb718eea9e615f0ab1b6744789e4dcebe790d8f61bb77109bb2757020bb2654c91022e53e4717d9a97054d7f10f238d51ac6dbe3e212c50f5a145191cfe4edab4fb1578820f76f7718948e718bf5f2ae55a34f0a68645cd8d987a23333e761510222a2cedd8206783d67650c61c19a067a469e372534491ad2861ac028301106d54454ea250152049e143320fab0eb3adfd3fcc199b2a40f6ca4256226f7c1993cb3358595b4a9644ea2a026b665259d82c333ed46354353fb25f07261964c360542c21a6c47d10f477258da16f0789f5d566e8200d396a15e456f8708549e29dc5194185264cc6363a275ac35e7c930db876b9c8420d5eff986718fd05131deb5e09a53c342561ce631adfd4a507fd27c92d4478a41ba73fba65442dfc5bfb37c568bf951a633cf8790dfe3cfe2145498e76baf87c2caf0fe53d0f60f35d8dffd928be58036e9fe57d739ca1b21aca62db3c0e375601cc91b727cd01620300000000000000000c000000c422db0b0199a926ea12d2338b88311673105b690eccf538675f853d6fff176d41983215b5a08c453a449e4df5d9cd1a9b10fc327b0c44238fdeb3508eedcc0861d5524cafebea6b59dad769f9374a71b6a2c426efd39c6dde70537a8230920b7436af7747d23a7240c0ce1c547ed0071132423bec3dd354b1f8b501e7673a2e4c3a84249c09da3ebb381c57f7619d5794a8ad52c65a4a68670992708af680134678501363b78f1a3746061149124f4c8ce8e12747397c4415168204d7444b0af1749f439cd5ec3e9477174bbf2623507d6207486c8e404693b75240db53b47d2886be5b4596d5736d189f287c046c347a70145a96ccbd7db94dd40d8f85487200000000000000000c0000007405ea6bc2234568b1f0590291192d0e2667cf712945686b18521842076c271b7fe82235e1c86f7b6e6ed277cf24e03dee4c2e56a6ac4477ba16c45358f1907763c9d5664f01b6743e2cab3659e58c7cd9c31a76f4d03837cfde083e3342dd04a794ed0578940c63c865574b412d9c7da9c7b157895ebd3fe9d04f5f20aa307200000000000000000c0000007085c16c1589ac05e3d61254dbfded5f8fc136605f93f27ba198c90938873771ba49cf5a860e8a5dc7831149178702020b1a2c70e4a0d651d10d73145e089f6c00000000000000000c000000a7313e6d6ae4a247cce17d016d189e2cb1560d102b38b505d648394514218751080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000e1731a5e01247e7b1a87070ac06ae716443eea2402436a7e596cb1353a3dee5a94e00e19c0a9f53cea24c773e82ef1445bf0bf411173e26efbd1104351cf723f59717d66b346e45acac4bc00144a9a32636212708c335a1cda35784332957710ebef0e2b7bfc9f1204d62577b63c74113701d801769b360490f09e2786c1bc255bf21778a591f30ce0917f5e0124c656fbfb1c3fa6e3f2322954f45dfe9d72510f59c25f8b7c6f4d60a9952e5c91053d750116076658cc4bf3dcb346eab2d3255b9c633a460140749cd11e675893ac4e90c30c2936d61237f4e5d92fa1990c1eeb19f577008f8168fab77e32e400f537b219820bc9dc7654604d54136cdbee6245122d6d830daf5b79cdc65339123235a8a57d11d12c86152ffd1934b0e893008f2bb964338a5730ceb15e5bbf03b43c5dd8dc0601e128260c7e612483a4a30e7a86090e44498341e027f91cf56a7f1df98413665a39cd032b6418493c2f5c3ea65c072de6969266ba0eb53dc07c5f479932be0a039f1a0c471be84fc9ce09342388d62d7a30b75f041015569a245e1bc25f866954a47616c6dc19142d2b606b4dbf23667e5d1d1d346cbf384ad71a768e39621f0724e562ebdeff6aa476464a21be132f06137a61edc2dc3519f8e90c63b2b30b4f9c2743753e121277bd3e0f8e2c7569bb980c4d48798261cb46d4581550de2b1f081d6000b42660230d4b5e08000000000000000c0000003417dd593f01753397eb5811b9725d7a00c60a1c08e83c1daf7ed7198b837c29a2275c6615b1e85f0611e55fd993de7cf41b3e5939396244b8b856663740ba7a757d070547eb9d38bf4217659c1919184f88d206c313911fa7c072050f2d3d552de7101632f58621f0dff033067d4a210393ae17886c9815ad21733ff16731341b15f005c0ad444c764f4127eabd400baed0a8518d9ba756214eff5b22263643eb7f6726bbf4a730bc509c33c548cf432f037e6584bc6833f9bd774fa53a453b8f2c5c71fce4b606ed8beb1b2501b13cb2d8af7db223720a72a07008d4823f3657f24d661336d86f2cd2d9490742ce7b40e76a2ad74d9b38f37ef6302c007f7a04000000000000000c0000008125d37cb9481a53659f4b5097dad5191641431e26d9d87a1729e4119a81ce398c16131b7255b510c3ac237dd5865731699db52a22dc166a8463bf170ab20b3cb0d9b04d0093c80656b00376b0a4743d8abc3a60173e6215ddb26053fba48f040504d358e1fbfd45bc8cc111b08bf4750c56674505822f7215a5e34731513c3702000000000000000c0000000f1c3b0be570f62eae683e25b9f68957d8d36445a4eff8019f16e3724a2d67671dc4e41eff2b292d91ec9e1bdf75890edd5dc4113e1c7970640956451f820b4501000000000000000c000000345e7341a82c686e4bdddd27a55a057b52880413b671a662059a1479bb43374b", + "proposal_public": "0507a50c50b8b1372aba7110c7f5c832c0309433f0e5634ddc484607246ee83975493d4718a45f22d51cb93831072e0e3706840c", + "proposal_secret": "295f91b2cd908e757aaaf2a8a88d14d4668f747f3de74603c42fde1cd5ef4b0975493d4718a45f22d51cb93831072e0e3706840c00000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000721c44086ea7f37e02f75d23678d2f307711dd622e3e457a7c4dec240993d925e26cf572407b3573d7048e7e19edda4fb9cdb226f445ce657fdca841050b9b1ae6dc996946b69f0370a11325ade9af35d1e8477290ad3b3f01277318baf46d4f73dc0f0a4bcf4617c84f8b003a6877610066295b72f4cb2836b2020183224719075bd762f2da0a6f8a16e77d9f260f56448e3d37cb1dfc5fd4e9804b06c214157035ac2a05c1816ad408fb17ba88d51b2f125a3179de265b377e7b717901dd471a163b5c015f2a1bec4eac5e1616635e79491e72e1d69c6b4c13156c2699443900084627e818054a015fdd354f0a9a37b53a6562e289304d36124806d70ba15900000000000000000c000000e7ab8921ad607239299cb51297bc5535520a070c374c997ae4c80d3970448673baef56594f9a8c3a4f9b4d05bd0c4c51688a65576896474df15fd64f5ca6576ac920c12f98c1ca4ec67177673f0dc01e51607c32c3bc7752deea47432ff5cc5ae830095786dcd84d75429e148f5dd9615e5e6260c443b16bf723bc30e9dda66600000000000000000c000000d107555f07fb8d4803fc897515df23056bb6fd319f4af74ecba7ab6059321e621a5ae13d0e37c464b093b24fe5e9e353cef73321562dda0cc38e5e7ac5ae4d0a00000000000000000c000000661f1c0eb27f150ca1ed580dfaa8c337ba3cb36cef27f6623e12d9690182482156b0cf20dfd96c6e61ba19272853e35ebd20f831805e8f3084320134556e110f00000000000000000c0000000507a50c50b8b1372aba7110c7f5c832c0309433f0e5634ddc484607246ee839da24037d31db5a65d25b3926b551d3200147dc7c128e99334a85f01c8b527f59080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000ff9f0075a33b3f668d1dd02c7e2fae7c0e90ea7b8efc3a63a41fec6416381f7e07b256242d061e4d5442726a16537b144bbeda651300217e7b6fc76f73a00c5a750f7120f145b83bacf1ef3cebc8ae195fb759194967787a99b6040d7c12a105030cf63c25c8e1299143923c949f1b03692ff16a64301c040ad5793be232c47ee8ad5604c9e58f0516af7852b4444f77ab9602079baf0207c455315d574c064d909cc6339a93bd0f3fbc664e1cb93f4d947542023dbd5b50f6459e47f62dad5e006c010b3271630ae75225256e00394252aa1d1f36cf8a76183fb7725364f605bd50406b1f40f001cdaf1850973abe1a1660a249c007276b4558b456babea67c389f672b8abca715cedc7617bdca405885b80277563626021f1e3d3ac4f40335fa8bf869a3031a6c1bbafa787a6485424563ce02f0ee0c7ecc650b66ea6bf255cb81ab07b0daa93e0df15253b46b7e4b8379a4125d9b21267205054813541f33ae5e226d2529d54db3dd7b0d48dd5a65f0aa122a093e214cfed0f475fdc5212035ae5f279348be12c4357821ab8060129659d46ff2833f6bc2d98f4fffff8616a9945364f3acec0113cd597bd4638d702599462fc965024eb65adb48a5a2c5672095285d2c6c9d23e7272f787c07612933a63c5755e809144eea9d6ee4baa92c41cf2623bede2018acd90a513bf6cb3c07c8745a13825902a65e2e4aea53991f00000000000000000c0000009cf0ea0c7f5eae4beda10d609fd68e706e9ae736cd101d27aa267831f54407386396bd13a6a4385d18018d62ed5e44719264c1013415eb774410fc03243b7f5a10e227566172e8492ae2a858939d86428d34cb64c155d5076da28c00d4398f09cad0132941aec15afb8c0855e76b7349cb8fb1649195fd2c5e98781eda4f730d618ee53baec8da5a265c1d0ac099d17ee0a5ff2ff932f62b15409e4ae15fb74822cda00b1e3f592d7734811a792e8e4dd7a64d699f3c941dacab7a016223147dfff1e87af5471b231f5f4f2a1276cc6d08d71a5dce556b36654d4961e22f8a04e5033e72cb594c0e972e7f03a7135d48f295cd124150204b764af55a60bc1a0000000000000000000c000000e120ac78a9001403e94ce6774eef9b5e0592222b1c21b2446bff2d0e04e78b2e428286719e7de83d0e2ddf59ec7208760d4fcc165fa44314e92eae2284e00c4753cb7a3dd1a8006d98a04f191020910696fd677207a9ac5e1835e050670d9849ad7d4257933e691a50588b43738e413844de015d52fab47a84517a338249652e00000000000000000c00000052b56b66ea3739794a60f2634199ee1e8172de5cffef16461170fc7a10928f0735851f74b789082cc5ab2b14056524426e143c3bf9beea2e538cc93254a1d04200000000000000000c000000721c44086ea7f37e02f75d23678d2f307711dd622e3e457a7c4dec240993d925080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000a2e8c00eebbd8007e3da075afa2dfc0ea7914d75602d580bb114f125cdbfd17c0df5bc311752a02666c87910c4a65e16d8e9bf246305811733228f299e971828edfc915828db530bcffcb020fd81ad6fa3630e48abc3b123d909ad398480ac7ecf145759fa57517875279f72fb485f32e49ab40636b6666544ee880d4b3b3d27b5c0c9399787cf7dca8b7529da3bb432da378f28f3d9b35e11b90453fe01334b560061090ec45228fb4b4c75653e031cae7ad63be8a88e72d430b004ec041e02f53c1a4db521603e0eafe9550f39591774cb862066eaf1719c36862f984b3f4806815a22f19601639afee73107e1f14bdb70153a03cba57b4b510a7541f8805e647cc77dd5357d367b6cc3684db3820aa6d64378703ef01aa5cf685306d8c00c2b362d225eb76c75f8fecf66137d4674f29fbf227860844428599766473aab505d3e14659709555ec533f46d4635be39e16ba6113d5c2e0279381304aae52918e79b7c5f09833a4e3d7d33548787ca5c509a215be8dcb82b08ef345cae767a7cf822ee4edc4d7611be4b1f48a84428274d301d015ec6a506bb7f3171c2a1b165b450496311b50a0e9f61a62be7b3f44d6b58006403b2e26bcdd0ff0a27a770710e8f1137a3e0a06c96d72e026b71ac338f8b5a6d7b4f0a6644a60b7109e71e0494c5ab4feda0c530e6c31e1833138225a2895c17312d274d5cb9d206ad1be24f08000000000000000c00000076aa1e77b7efbb0b46134b124fdf4011b040b738e86296320a020e51abe25450bf58273a58f6b449b4a00d438547c2644dc1af2bc176040217c8dc22938cc93e5c5043230da8ed4f5c557d59353bb56587338b259c9ef005eded003e76c18a1b651ebc5bcc8d966642a6f85477eaac5e7fae3f7cd86ecd148029a44ec071c7245bad1e71bd1ab45b1676b9019e513950a5f265389d96ea0e1df9dc2ca56bb54b5136c60fa6e22e26de843f3a11e155281f97f0466b83872cfe321f3e26476355e336e56d6954822dd368e05a0b1415180420070c5db0bb138aae535f4ff20a3be07a96275f2d18563dc90525bf32cf656d78b73878567703f0904563cb8d412704000000000000000c00000012a62f59bb97a91c7b9cbf405bfac0370dfc27002b9ae57aa9d4a2040a58b33ec1e2c2554e1eea1a2b8f855cfedba67c813fb17b67a9160a0e4a4a5c3b8752442b9a89791441b45836c75664e9d60869a800d719b6d92e506417aa51bf9e0732e9c33d1d9164377b3b164657ec69df49a7ab793db832d578a1587556ef1deb4102000000000000000c000000eb2bfd10e594a70b8f6b5f4543d3fc674c316d65449cb42318c04f5fecbfc263cdb9c6791862855d7dc20f6533149979ce09486ffd628670063eff673cb2e56001000000000000000c000000e26cf572407b3573d7048e7e19edda4fb9cdb226f445ce657fdca841050b9b1a" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/2.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/2.json index 7e0e66b1..55e1429c 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/2.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/2.json @@ -1,6 +1,6 @@ { - "attestation_public": "454d107dc0156e61baee057497d5667adb027d68f6fffb2bc61c6a38e45eed3531c9bd77e64f610044b26b1ec4047929bcfed946", - "attestation_secret": "488d6606753c22fe418f0c599c86acf3e44017875b0d079b4ef0be81f106f87c31c9bd77e64f610044b26b1ec4047929bcfed94600000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c0000003a99b56104bd494eaedd175a8501cd518f2b621e64ec5a404a008f7db5cd6a04740060545dc3c0013c192b1cec5ebd3555c9501a2d192e62b28d7158018ef67500000000000000000c000000ed066b57ba04a41bc9ba042647ce2425bf3c2b0e45f0677894332b2844519a58c51e627970d79f3c65524229cada870439de3140a3e86839e238ba22241cde0c00000000000000000c00000075251b56dccbf248e7d5a61a7ee9902f989b9f13a0a18c52cc30833b777380304108a706fd58634010a3db012844bc1fb81f62114635df64c2a2be6cca27f56300000000000000000c000000f2618223df3ef733384bca1f4edbc369df42e75ab8a7d02d39262b2de103b955fe657571e34a805364d4c26ceb19ba525bc17036dd18327c0166d83ffb78bf2900000000000000000c000000454d107dc0156e61baee057497d5667adb027d68f6fffb2bc61c6a38e45eed35fb384203f1e47930b4faa15f4a508b1c6b39980494491f31a540e51c4c2c0657080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000002140d90c9d08b87b806d4a41d922d03293129520d27fc74fc392012eb6f02a6a147a186666f9fe78c70cbe69f13a420fd51fde4a46565f657b24f079482d700d5c26d1282fc14e59f01f7b4e7685132e52f496319c1ee177ab474b57d8c8c55578ea3d06c06ee30961a2775f7dfa194a635e2c5599ed150c7e3cb926924d031f61515927a8aed47af16a5875697bef29b911ad5a4d1c8125665acb7d1e6c48465d72480a5fdcc83a74bfd955490d405cc33376645a2ff86cbe0d665715aea1452d8e65701a6e2a067a78eb74c84c0750a866bf6e9c93d921decca045ffa7054c71029b1dce7b89040837ba1db8b43b685b24af70c09a8a56b7eaa830a3a825595b648118e2f52b7610011455d40dd50c9af0b94c5d4c791e7efd6e2f75e5117172e0943fb51b2c606ea70830f494375dbba3c904923b803177d86a56c4ac71783995c00dc28bc96096b97107b95b125f8ed41477e7470e1e9cc8a14d85b7646c01db873ec62bda1af17a3c4b6695264af266661c84531c6f3835e70de99b1d7cfea6690f62a7ad36418c2a647a463e0dd13a0c2f6b7c08181de8ac170d131c21595f303ab504c36b0e073a0dc1ee1c6c4e8b8d0d82cc10693e9abe7d44ae3372c8b650155e830a444a3bb74d9ba2a7684fec3a1aea18c76cc45ebf6f775fc1263017fb0d7e8a523d933aa81068a7df5f6635f75165574b03f084b569fce1e61f00000000000000000c000000e997bf4aab237731a8113d29c78c5710e1db4157bcd2f52ce1a8537b3cf536049eb8bb1b52992869103a5c3f81492a752457bd40c1b7bb1f7771fa5a6628342776b042528d6e1157bde3e6100eee9d48ecb7cb3af951f810c24e26176df49358ee0a430eaa2b03608c37cc5ced67ab612c0b31237f4a03574e7ceb2d8bc8bc1cacb7df7b750810166acaba353c226b057be9e442ac43455f13fea944b4135d2f013ee164489fbd56447748304956f307d0e49668264fa27516086944ba97401153c18e501d9ea064ed8b763030911d4dbde72a6f36b03967c34051357ade3f4de6dfc03fd3f2c94e246b7e72e169d00f3499f06b64bbda72252ff86c0805f21a00000000000000000c0000004385677a5e556143d42b604e9f760d0944a2b01a2c056f521a996c315b151e2a4afcdb0d5eff3f081eb16525d323345fae8519721b783e4b360d56358f1bbc4af1c8c92df91b1b2b90a3306c371bee2190e7132f13f7a37bfb5dbe6b747d0d236cc6a3768598434e43b1f56958bd8554cd797c2f0a67387e620de4050015d83500000000000000000c00000018852544318ee44d1ee7af4408203c73c67a176ad41d586f2878714ea18edf0822e9a904a7dc79438b6750227740796541650562cd3e1510426f1a444e28323000000000000000000c0000003a99b56104bd494eaedd175a8501cd518f2b621e64ec5a404a008f7db5cd6a04080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000466a192d29106e2535a2d938afaa7c470da4167d0a8b6f43c76c553fcb01243c4618f11994f1fe0626bda52dd43b2f19401e0b1b235f946fdce9a87a5570b3071b83bd052fb5ff744464062203a2245bd8b5c354f603b27631049d13bd7c3f24f200791620066b586505a049743f7068ca096e1fb0c4ff2c9e1cec3f573bd9589f988979ee2a3047ce73940386b8af1aa3018d3243202f160be9ba06aa94af05989dd85d87de284d53769163ae7d3313cae056233b4deb727f2f542aab16e93aecb6a22f9c40b5615a34b3439c1f437bb62983786b073850bfebd147553d3f5cd72c14627173ff0bb7de1c615dd22f1eb427ef6b933b536e02b0c83a49ed705351cbc8465bb8fc164109372aee527422fbc5de00f941a8753fca075333a664153688cb2d6595392cc2582f116a9f93289882987c42998a7407f0783dd90e191b23d1d46fc4100711f3ab212ff9b2420375609b590718e426e692da7414372d4092678d5afca50f3b75c91728bb74345e6e73ab0464868f1fa9609d1c1963ca66168c1b2c2947711e6e2d6678d2078d0046e8e63cfeda4d0008c7181622610926013d0a75575e08040e83e9548ccadc2c7693fd2895c49157f682e00fd343b2384bce61072c18c70a3be78b079026d82423ccff73d623525ed3381719dc74fb53bd5bdc738979c24ccec2fc23a92d541ff13dbf2bdf54612001ae3f5f7f87e93408000000000000000c000000f2716352cf38104ecfc578381d5ecd5a87a5bb07bc42b17b15416a1985d052428e73323ce6ec03491cc97518bb26bd107641461c0526c3151ee92928193dc217c350b168005f7e683b547c0017f2ca4c64544148b57382748789b9446f0eef7c24e9b228ff1d46400acfbd5dede3cd49f60db92572671571005b4519ba47ec592ea54c65c9a7013ca24d8d107294504271146934f13e0335d815817d7acd3a6370d3001ee7271325fa01d836ee2c8b03a9f753793f54cf09a509235dc8f9f25f0bdef520d1fd48727f9d755d6cdff4735b215a256320b954ea49413f6bdd0522581b7e778410781999c44229c0e7732ad3007270ba22d96c803eae3e7d106b2d04000000000000000c000000031ac722a4a9271ae1c7257c6632fc17f4ffdd5bc7144b0b522bb76c6ddc5717eb3f372902bfec3b02dd5868ed15404186f04c770581885f0d5f756be31a5c21753789086c6e58117e66314abe565d4815f21d32b2f8333882f56849c9583b108786511c93cecb17d49a5a42a5183a3ec8a7b7236219fd36d4d9ec623a5ce85802000000000000000c000000819e4f5689975b312ffe7d51a653a364216ff640bcd7fa20a2ac792b2a5799792a24871be3a7072473fd763a1ab46f0b81e2ce2cb9a1931f1639c45085342a6e01000000000000000c000000740060545dc3c0013c192b1cec5ebd3555c9501a2d192e62b28d7158018ef675", - "proposal_public": "ac91d91a23744669bb2a5356605a161a5ae28c1e872fcf1d1e8cc63cb278447d8b889c77ea21884bbd8ecf2ad4824c66ae098a12", - "proposal_secret": "ddf3183a1f36d13458d6e8708363f9d93d857de77eb4b9dd5617ee634cf075628b889c77ea21884bbd8ecf2ad4824c66ae098a1200000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000a741e13b18883a3b675d7307cab82936cfcfab22187c8e269d20f2040b45192f85338a088b5dfa618459693669ade71999bf0d08caa84d779be1ea57684a6d0500000000000000000c0000004934ef733abd0242be3cda36a590983b5cbcef37770e7e274a1e6c50ded3581a77c506104f41fa3bdcf5a27262baf52ac67d4d2cbe113323fa27ac6d0c57c01d00000000000000000c000000d978570ec4ee117d2644ed0b4caa3e4bdff3d51dabcc15129f1dbe2a43bbed0377e7ba0c5d480d7884dae10f19b59d5bd0bfa12494a87f2ce0013a35d4b1cb5f00000000000000000c000000090e0458f9d18212ffa2a1784fa24b76d3692f0075b4fb30d5ee812e70e05b716a74013f7f11cd019a277d0a8faf95265ef9df367caf4744897398043efd3c3a00000000000000000c000000ac91d91a23744669bb2a5356605a161a5ae28c1e872fcf1d1e8cc63cb278447d9342c649622df173681518510547556b54ea4422a7f184432f1f4c2c26b10e5b080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c00000003ee9a6041ea8b1ae53c16326e9d317332410817d90a5112890d30174207a70a44c7d6400a149e5a0945402c78b5f0278405f950d783636810a70d19fe37a873f30bb31b6525d344fd65884d2b441b06db18ca3ea245ea21812ee5754f054629e9512d4ee66a101264cc823c3241fe48f995b923685b0c18d398591fd8619f6dc354243cf61bab5df6759c6989e8de4bc57cf144b8acbc016832db2559a5ce002fc778615611610d6f7c0828a032224023103570d743746688ab2978c700db7ced7ed44719c0b23d92079c23850df77441ec7a563349d672ae86aa59724ff035f97dfa5f6da94859606f46697e279a3735efe971c2cdf2795e23816cbf27ea2878a6c32184b629629709eb4826770d35e504884434bc2874be656c590d75fc7b80c29e5602be5e7499319f22dd89071245a875611335ae21053c6f3864f8e1494091db00f5075a4aca669b73590e116da05621513e24046ab02b844f2d62ff575b589f717831b856f804d47353b774726a4e9044636aa929e7f12c5dc12392024e0deb00ce985f491d07a16c922a5e18a1b1da06b1aaca753811c51fe372871fe0c37d70537f3200f85e6c04f0d32e773df558102827e53d1c940d581e3fa378727223390dab9e4bc6aff0179ebb13757a0e8a7c17108063f6d4bd2ee9a0ee745e4fc82c8dc36337cf32e26af7e9545b4fd9c81d73d8d800ce62b728455f6f7200000000000000000c00000031bc755d2e621b20fe5e7f2b6fd1f466be3b7f6b2ae146497c8e432a0f0420319f0b0805442dcb4e454512272e5693355b0b261d1a25695a08fc284efd5c1016a284ba3f6fdf21560237a642358cf36c71da2f5325bda050eb49ec345467684db913a47b49aa4c458f89bd4127b59418a3d4b64700897b142f0567369cbc731ba7bd1b15401ee13c995f351e2ea4394dd1086629296fee660bd0d95cd6160e358e68a8109f473418f80cf00127a8800c9f9f6074a0a01b348268e9624134e9196c86ac687ce7a13ac89f5743e9a5f01ede4333722184610db1b75f5e82fc5610db66ed3732f69d6fcfc9c835976a39478fcea9579809676c26584d6d39352d0c00000000000000000c000000c5a1d57c697b6e55edea330235b2c94a81b8d329964cac1f86ede821aaffc84c06a2fe348254f17b62611b4a18edde5c8b1ae56b9b2fb5012a7388648dfe850eb42b4736004e33201508fd19e9e55551ab1e670aea4e193245d79f243d0aa20ce67898756b533f0489f2ec334b38e37617f04d6a9fcb4a5a150539262766960100000000000000000c000000d18e41336755db50381635441e07e4493a81f6718e6bff5b7980d528c0c28806e8754416d4dfed7a4f46304c36b02e4a93328129a59cdc00d2485d333a9ea73d00000000000000000c000000a741e13b18883a3b675d7307cab82936cfcfab22187c8e269d20f2040b45192f080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000061fde7552a4310436ff5cb3693fbb97655c4bd0d42afec3e2ac3df52ba9c3034434a5656de0f6045573afd221ff9db1b8920426820669d6af8ba8c7b8ce9c65889cf37035a3ce96880d8da45754deb1011aba70fa207290256525c1305b55f08feb9ad06d06eb70d99900c52402a25531e77a242ee514d0d678d3722e285a926a471723561258c6a9d3307150f5838410feea9714c1e304fe36df94ceca9bf4a3bb4d04ef5e788274189d60c97a1c111885b7c378bf8323861751f2000c7ae3908f14012ac54907cea88ec59eeddb43d71b15845a6c05c24289e4a4d9bc594640b88f00e11d7884faabc2f2770984413509a10155b13d12f0622b601d1ca502bb4b3c8233621ea267d75084849a5531f2d9cbb4b37d7b8020f5a894d6d95e73716d4e06614bf3856f087bb271f22bb34e90acb1bce2fc7488d410f2341cab50fc0bd3a35dfa49a7933698110bde194329041af32e0a2727649499d66f285205a536fd44a2068792e003721173ba7343d80a2945cc6b9662dd9195111fcc2c24145ac446f57ac695ab3f07820c361076986ebb8276f85602a5eef6d54123dbd4342db9e65d0f61f151e5347224ad40164eac9f872bfb53c3907b6b620a6faa07cf2958534de6c0f6266d50d4ce29abc33dec613701973667e93d73b0c6a3e306d84d5c01e076f74504dc8e26dfc474b75b3b7da7919908d5905b0872a58056e3308000000000000000c000000f477314e64e08d779b448d047c2691532b81a542bd2a681a44706b43d01cd5374cea091362f22e7d38474c1d0ff3d84333884c3a93bd100be8f1975735181652a9af1d78a88703032c1548049f2c6552fc63bc3b7d2ded2a02642d003522fb1ef5d55c2818b8f51d140fb206eb4d535171614e1d491bf04f920b9c20d1d7f6596e9ce2543829ff5601c8aa442f25a426f1ac6a5d0850ce37c4e797286f11845b4cb41043d6e2fe37ea76190882dcdf19da976d47ec98e37a43271a260698813f0ce38d440e6d1f61e8bb5825f24a8e0f9c81d72a0137e777b9156741078db9569c62ad56dba48835558c0e34f1784b754c2e995b2c2ac00df244253f3fdd883b04000000000000000c0000002036d731602d9815e1d0993f93c1ae5aece88037e4752d4a85579943c0b80b1db95acf6182adea657772f7613880f3275e2129791c732f32c165ce30a935db41dfe79942fa13f979c0ee0332326e884f62a1bd39cc123c38b5c0395412a7ff70c748c029452f2f417477c9572b39fe680481e23ab02b907257d8141f15a5bd7a02000000000000000c0000008af2e43ed11fa547035b704a9b9d141dbf7e893ff69571451a650e6d235aa502407d09620026e7212ba20a5e6761893153ffcc0f61548d56ba9efe576186196001000000000000000c00000085338a088b5dfa618459693669ade71999bf0d08caa84d779be1ea57684a6d05" + "attestation_public": "0296923fef9a9f6441af55459c0d53714b48ab2e4fea4a581eab874fc280674cb0d8b975fe5bd20847a3521af3ad295e4b1a272c", + "attestation_secret": "79451f60be2883c143ac717397c02973d7435357f2ce844ad36725b18e5eb9dcb0d8b975fe5bd20847a3521af3ad295e4b1a272c00000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000d1d811134c2abe55e6b87d3c4a14476af9bc427dee9ed4777ce26937bccd665f1fddad5a91882c27118f7940ded302382aabc816a0c81b46a3ce894d2aabe13c818e2814997c782611d84d12b61bc0707c1ad91c3f58af5f67ccdd56d59c73356331122e87ddd4731ce49e39596d4b322c07c869330e115c8bc222247d51f20e282a0c341c8370478c5ccb77cd0c491406d0fc6f4dc09e1cdc6dc93d48eebb5e2c796654ab6cc46885884552b6b51841b654563d551834495c63464691ecae61639ddf6fb4e51835c9159e6df4510773e4d58544bbc1857b29b21629f4ec1e60e5ace967c127646572ddb638c115a776a8a2c861a6451b1e8e0d5d4b6b92a46f00000000000000000c0000003cd9a106fe70ea15e2efa6557945ea0b17023f7dc169a23ddf76521b77bfc5709dcc057879935a43db48b7516a8b645ec6cdf05b001e6e56350d1f134553a93b523da059711f4679ce1d773144c91e46ab32d42f7766d93c889335562ccdd86b5729a93c50603f6245853c4e8355082439229907c018b156114fad0b5630a51800000000000000000c0000005707c73990ac7a649e320e2fb4458d600d86bf558afc27561d0dfe7452030360df9b71257dcf7d386a77870de825243a9b7b3f44866b16732f30be0eb06f9b5100000000000000000c00000064f9225bb5bf7514da33f13f539d4515cbea8e0baf6cf71f6362db3105795d115ffcb276387997227f14db15fd9e0e0d7337ef76a35e9858d6c4d863501eb87d00000000000000000c0000000296923fef9a9f6441af55459c0d53714b48ab2e4fea4a581eab874fc280674c70c3e937ac6b32226f8c4124eaad337280b9986277815b3c98ff004205b0763d080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000ade7e472222ed3526ec4d821bb8bc23c123b802077da905b4e535e3e85027979d85c96436a0c8575824eb474ff16d779767d51044c1e0671c2d1e65da49d440846223507dfb38843f045693cd16e6e01a3e09d2290b98157afd12c101da6977aadd03e28675a4030a0e81622441ebf63d43f5b57c32fd875ae34df4745d9851974e5ed471436f55cabb4b2572d3f1074007ae67912b86c3a81b1184ed508a625cc0c502921e2a427e2403f63dd7aff31bd05952b8ad79624dcd6ba32a73286261790ca303cc8de490d6bab221a261c581d822e11d2ea5f1f507d06515681260a6a6b1d4b1642f434786b4f46a852bc1da4ca3d5f81609d0fddfff41f0118007e57a54c743274d974ebe03161b977fa59912e6459a988bc79d418e76396f62b5e33661e5862a1843bcc9bcf0c32a3860a19cd8a198d6b7d60ba99910f9f65c251c082197c7c554d5e6b6b6e02482bac1f4fd770201e7e724c7601ce7b5ae8136801384563bdb63217a5b4c532db003e77d73cd64ce636ec3ebcf1ca03304fee37e89c7f26bae5d337ebe1b6222f1336149b6a595afb086770eed3a1481b4b7c1d0cac4b0f52cfc6075de67a0154a260738ef75f44a9440c200be6564350417870440df5254f6431430d37e04bea755b5b15f7b8197366fb0b23dcdd246f2a027286684d2734bf0e0e0afb0b7154153c7d5ed8fc0f5810a60fbb5c8c3b394eb44800000000000000000c0000009ea9661a29ff811fb93b834a41514d26d10aa25d9ce4fb4e0c72530be7ebb544bc764225b53c704da9e07b278af76c0ee00a2c78a91fa44f9617d21a2ddb65110117c47aa49d9c720fb3391bcfcfc91811dc51582bba865414b092719258e0351f26397d46222a5bb82015760c11a62a91b3f044864ce75876d5dc21b2d2994b88cece72f744d02f2b4af6090aae9e137018eb52e6881d30f052ac05fb52ba559590b05eae67f77cf6a0621d21256d5ec0cd1502619b83266b3df37b559e267e996c3e0665cd066306801a6f5b7fcf626d9769280c57414821d1317a64a5c2295dd69c53da8cd36e82511d65ddc7355ba69e45092b893a2d111b173d1a27635e00000000000000000c000000d27f7c409ba1f30b69df1a7314226e23995a15786d6bb96fa1ccf8408dce9026a2cb6515376ea10e1a08e517a51ebb1e5c2c5828ecfc4270f4c7b31455d79821749d9f1a68378d32e59bf46fcf55941e8719940921e3003c0e75ae2bde374a4465f4d512ffff404748519e68113e8f612c080e3f754a480372088c372ea8be2f00000000000000000c00000038b994497ce9126179341f455203b83eb9a08a10611b06670b4eb45ae6ae2f369dfec46461c1da650a79f020bee22604d5f59c2064773279f52b154a24b50b5500000000000000000c000000d1d811134c2abe55e6b87d3c4a14476af9bc427dee9ed4777ce26937bccd665f080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000f65f655dcf0cc01b98fa2902310b4b3c9a523d0987afea278ce92d02175ce069321edd3c2e64850441eb3b49a27d944fe014676d3b5fcb0cd83dec21cde2c756e21ef0595e35b119554c5e3b86c31d3599e48f4562aa9e061167331cfa1eb25812a3d35d1465a7069ace02677975b64619c917694a6ac31bd05ce06a88e4cf5a6db3d100cf0bc80ee19b1d529ec7ec5e6b0a792e1481c72b4f14057667ae9925fc86e736d867361dfdea4b0c50323141986bb6404af1e00370dc640d784882280f45700e28b0f70ad8b8cd4f56e0cf1336908c3760ea782a2d26ac00ed4b1639c65d23328303e14a817de45c0e0ed97db8b6c57111d3791074bbdc6e444c776605402261d55b435b89c7fc1cc92e8945cfc6e5591245c27b9a8dfd634255526c77489b1fd2d7015b0012a8153559db1aa8aa6102a46814361eb9ad3c6a180d3441b67f67cb9f7e733b48ca7ba1b26f4921067b117e275350a8cc7328edf984561dfe6b1b6d3f9447ad9688335006a31d7bf6fb5d48732b2e2f74ba753ab0e22e20e4d435a25094428ba25b7593e73e2d3e89b957e075f321d23772061040f25b5d49cf4ea482b852697f812cb059834076754f40831d5b4f17f15a271a014d72b3d6324314f81a1b0d8e3853fd02d75cf16e2b31aef1940ecd441305ca861e3217f2633019a67c6f13533b101baf8436aa2d1762b559b85bd1b5403f3a44935708000000000000000c000000b823053521f8d36235f149183163183686020756e6e135021a93b726281e0a2ee751785be5b1b2480f3fe5065f56096f5a5f6c487017c06a7bc7e80475c56319eb74267dd7821d6f396bca69f4f2701606e594564cc9557deaf23d7e9c94795a64b5b11c47ed9368342c254593cda37afde060319492b009821901420a3fb37c5ff9842d703a127a4abc185e7b1a873c71f2055df7fba0549b94fb1f950aa060a6679321c5aa907419bebb13b382a34865838a5e7deb6d151ece9b6f2557771cc7d1a2173c29955a1557874d0f90143d367cad750ad70c387dd92460b0b3335b9eacec36e85fe707e46a9a3a87814836d42898242790e44ab3ca465aed6e510504000000000000000c000000b8ce2e54a0481215e2720f2ebe34f414e1188968d64a34165b71b8310cbdb96ac00324330e122a51a2a86d7ce7b9d95e17421b5787cfb575227536030d3317395e900d47030e2a5af6ef0745cd48bc2a297f1c0d4116a61edad6af022d1b4103fbb1d44c8d7dc06c7a2b862bbf7ac54e6f4b237934f4ec230b1f3a56ab95f14b02000000000000000c000000919c73412a3f622af0e75827e85a715c5817867e8c038202f3b6520636fc7255e458002a216d281cf5a91f458a3964271c01730f919c4d4ab40ea5477a2f613e01000000000000000c0000001fddad5a91882c27118f7940ded302382aabc816a0c81b46a3ce894d2aabe13c", + "proposal_public": "23d6380cf71f8b158622f265e4664a1aafdac866d0d5b26de5795a010921b266fc09f93e7df94e0eed1a1a7182cb116f7d9bd362", + "proposal_secret": "b74af0d5a9867e669b501dde04604ca654c0b7e2fd76f68086199f685d775629fc09f93e7df94e0eed1a1a7182cb116f7d9bd36200000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c00000047447f7b1e7f7a7406c54b0afddd42471a2251472f78ff2cc5644a2fd1812706b88d29341064982afc12584f22b06516e16c8f44f1118112b30881024bd46d4a2fce447e43137d2033065e6dcf6a7a16f4261c03a74cca123fde69560227814f55d8b8550318952e4d5f3c38595bb221c4f69140d791863d91eb3e513463cb58972bc73574f5f81f88b5454f73dc437a9ebbc069424fd86d9170a0117dff74140cf5b545ba3a8f1cbb81515f630d983d6ec48106ae5df6446b667a2d22d57675ad2c1c18a711175a0717d9593525ba09a80ef6416379b026c693b648a3469214f8f4e431c3e9766cd217a5739b763d17d7865113c36129217ff8bc0251bb782f00000000000000000c0000004877b45914940d2ddbd7b063608be23ff35ba8544fc9b8591e73b405d76aa24c1d8fd5031d4193341d04b44b07be257e83a1d912bbc1685969263968bf7f38301bbd17348d597d2297371d10fd3dfc7a10c9fe17543b6922422ee45272b34e5d5c04b7028ba98c45b05da0531888f55b93aeda53525a4a78794efb69ac77572000000000000000000c000000298c6b4ff0ef4d423b4836180eb54c262bb8b134c4eba732dc3a9c0910e1152d956bac15928c8e70d286543a02e51926f5c4d74e32157f7a44e25e5cd3721f7200000000000000000c000000a156ad21f4861b3080d7564270bd436aadbe9273206a1f15c45c9665a328d4399e500953b828f32af8a9470ba3501677e9705a5fe738971f1b41ac469faed27500000000000000000c00000023d6380cf71f8b158622f265e4664a1aafdac866d0d5b26de5795a010921b26683859a2211cdd13eae6c526445698d6dda008816cc7a8848a9f123518c08ba68080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000001f9e4420f45c88272d6e5662cc37023795a2653c14fd25709a1f7742701399381d1a24584c382c23d2b7391c1ef9573589d8ff40ac20ab195d05cf618e3e691361e31804850cf30ce8cec16e226be9054042e1372f914f2fc3b21641caf73c402062b61a31ce87411f35b1385c627f389bd639714ca8a330720ce258829b75072e1f7a7ab0c71b54c1b85d4018079e1d3d58665045261409f7f81331cd77a042ba79f6588619806663a5c52f46d2fc5ff4cadc6d6dc4a51712599a3c14008241975c975bab48636e04d2d62e55a2515a19d7f51f77fb0c63112d844c1c17a15bd755aa1a499fee5368539c35f034767bbc6fab1fba734e248ea7185fcbec676eee15577328088d15aeb5432e9b0eee47d5572733f310b86e4d33c72e9206df300d7e1b211b2ac77c26216c4b45d0347ad32a2112b9f6333e59fb0a27f6e1d5606eed723fc55173549abe78449601f51930aa596220cb211c99703e5ab8853316cbfc4312c3b2b60ffaab3644230efa6f9db8903eeee8622ac7293766b7a5e8534924aa6cd8120f24cea55f22387c9536623f3a2b3b8c6e5b497bad43ea59221591989e3d51a01125d62f2d499b734b1fe4d3550164734e1cfaff0f2fccd16d7d2f49f00603227c0c404b2c5a9cd92f188b0615676df9f5590aa2b261c8760479af616b0d9ad7e40ece0f7b262e998f49c7c8d757ff170041f31e6f1285aa306d00000000000000000c0000009df51d103c8e390deb19b27cf5c9e779f1197e799b168f0409b18033b053fd044e84b34aa0da17390b5f8d5cc0f58256249c450815a1245ea1e44701e4624f701cdce31290dfcd6cca3a6c6ecafbab4d155c6d1a9e3292692fbc763cf1a11f4ffdd0994f7b32e9579884870ad6407b6d2ae7d51a20677e1257f9994f671c0c0446b8dc2819f8df6b6c00090a23bedb5f243c2e28bf23da0a9364c9370ecda578cef2ff1fbbb90d5cd76ef05e20b0a5070620834261cee3699277fe6ff29a4a40c7d6341b57ee8342280875350353233120da19011753055f529cf511522eec1af8dc481f74f0cf23f547e705c58697251e1c1128fc51e31326029977d7eb4e5c00000000000000000c000000daf96052c6f05f6fb092364e089e08114b76df16169caa247aee5f2b52ec6f248e04d9292e81e30f15f8b0106ed02d70854c00570aedb430a05a88472728376a30894d1a11a9a936982ed22b356e8915f5e54e1825e2ec1dc0adfd6d32b5d37b64cea62c9abfe45eb7378b4bcc6f8305de38f4514ca3f459876ec54017225f7500000000000000000c0000002e0f9a7ebe4dd03982c0a3544d9a40594703f454b34f1c5eb6c7611ca09b5b6ee0f1c4192438c7399b9e026c40786210e98a7c780c46937c99a1581817bf867100000000000000000c00000047447f7b1e7f7a7406c54b0afddd42471a2251472f78ff2cc5644a2fd1812706080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000b985631f9a28125f4c52c026770e565c04876b02fd41161efc3e520af1c7bd30b2948d34fab4a33683436f3f79d5ff54b2fe024fd6418c2e9edb622df76960221d953e30fa951328f8642206e777b043c74c1408262da94060076b5ca4e8c65471b9b6146a773e291fe25e68cc4d3277f69ef243db2ab72dddf5310056ce6b62cfbe5500312057152945d17480901861a75f036a17ad1c491d632a56e27650624ef48c0c0b010d7b60702c26a5c3233315b0a223801b846b227cbf65550fce62282f3462c793525b5eef1b2596ffac3cd087df403a78176056d566580d899e1466337f5f0304cc14f97f7700c9dd8a00c444cc5c8be6153779fbab4bd2338f0acf846b4e595ee96766a8126432f88601ca008c0cd999040f40cf432254e43e7d4387fa3ee5cb3d42e1161a7872697c5dcbb405460bc8af32e3bddf16e8b6da0b9e607d7e26a715498b1b79504c998a4f76958b2bc60afd42e35c205edcfe5a5550df3e6e78da201cee824572eba1681a163fbc30c6109c4463be1300fee9914df334cf435edff12867ab58206f1efa1bf93e695f003c2d2ecd98d610ab5580792e1b532dd7abff57f8d4396d1813fd7adea28d42e51f14253fb91013d9003925b4eacb6f954aeb427d37a55c649825677700f55a24a2bc0f8a224228311ab841acbfdf054f222238e0cf822c94fcd225d746d2512cc6524d5530235437853e7908000000000000000c00000096e2b1134fb2c34b61abdc4e71d5ff6f56347c1157d02a0f7e8c384c619ab10af44fe85a3d903f4c608ffa553b381e02cd9f9309b57e9206a2e6201791b51b616b661c5c7d33184c943760501d395c7cc02dfa3ac92da4408d2aa341e045d8273b7a43321124e746620bd65ba655200a8dd95b0f35b79109ff7e193f81ac495ef78eaf010a442a5f80bad15e136de86e6c8197793e062b1a10d7626480c6170ed5016a2c032a1247038c6d72c981185540f9ab2a56e352693711887b1e25c464bcaca148636b777421aeb644f7f41b0ba4658110e24fbf4390df3e30bf2010433a957c53beb4ca175c92b547358d48155caa82497ad9830898fb514a4d40304904000000000000000c000000193ce20cd5c86c6d4a3ad128bc1b1a34ad7b221b8b5f7d13e3c912123255054d5f12117be794310230e6a715b7e0083d22ccc17c91cdd535f8d960102cf7fc00a31bc63678568956756c060523f8d53f3e4c7b1c10fce803281c863a629da1397555e54d5218ab319c0bc65938d740648bf77071fd6495528526a133be33387e02000000000000000c00000021b28a2544b03f573c1977539bcc7519d4cd706c0579f360f340534cbfca3a17aca32a3766325d67a1290857da71eb5ae55d5104c05cca015f9c0c088ff3c36b01000000000000000c000000b88d29341064982afc12584f22b06516e16c8f44f1118112b30881024bd46d4a" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/3.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/3.json index ace50932..53c85794 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/3.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/3.json @@ -1,6 +1,6 @@ { - "attestation_public": "f19bf07520b1e97b131a55666bfe3e74cca720785f414d6b3e5d6f1616f35f7ab0e82123e74c2c766f970a233d0d19725a7d4d36", - "attestation_secret": "d16b06b8eb936f5576dc217fc1dfe61313758268d53b94a4e8864884189e9808b0e82123e74c2c766f970a233d0d19725a7d4d3600000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c0000006cd576048b43df0476508f1d3819ef127e0a5b391b658b22317f3c37eb5afc133ae00d4c555b8a1a0021802f0740761709128c1b0a9ef6548ec2670a537d3e5e00000000000000000c000000d0df256d523979458a4c995337313f6cd6b6bc367115ec08f8e8ef529579693533c5d0385675987afd50b02749c36b717502fe5cef7aba6e05870d01f4a07d1e00000000000000000c000000f32ec7575326906663d1056e0cb5e955a63f63037921ad2bc3cba44d0059eb03c5113a596c0464132dc2a163409197022cbdfc1c8fe9680b15d5ca665a646c4900000000000000000c000000da0916252e8a0a0389233e2cbb6fbd2fe980df7a7d0f26781dba8573b53d4a4dddb19b2d42f1d259ae1b475d6f628e662bbe02242b60581488d28d4b2c32db7d00000000000000000c000000f19bf07520b1e97b131a55666bfe3e74cca720785f414d6b3e5d6f1616f35f7a576b27408dcc281e7ae12d76bf7b0e2d4c3e4c075c8da93efd3a4b29745ce958080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000e12c0f05c9ffa06851759365385d7c34fc44693dd131be3e10c696183712904145c93b49ba2d9017be0e733ecbdae65f21a00e298ced821cb9a9642cb2b65138f1fa3428f799ba3771d18933ec3bd047fc82150d8dd7ad7cf76e733b358e162fabd97850f230a321a184371337e9da57d041c922c9c2c55d1fa104496f127a48124caa10bbc6745f7eb326706a343d09418a466a1ca69b245854d83e5137842b4fda4b1aa06f604a35874e1de7e9e07d0da17750d72b5b70744b4658f4f459529f792910d6f1322e5e3927550b4f175a0cb37246f77fe25479169b47bb7e3142a4624c21ee75b67932cdb9584e5cc775f014827a8c46a158d31d5d63c793204b5c0a007b46bd3d5c5cf380140f92aa34e3d2d1132dfde1135475114b4ea402139ad7fc5c9d748339df4b2c42e27be70ff0bd4a02ca91a92a6ac0001758f1d51a82b6606a89f56a28289d861cab5de4051907866229d98073b92a300e40213d60c715760284dc7d481ee0f90971180b443472fd6eec6dcd06693b2c745acfc96afd919433b8e1777a6941e657a1a6153855037c30fdfadb4da55bf319d0dfab735bb5c53080b73463e5a06379f8e9ad0e10bf71155d28d12870408b7d61d97d481c4c4834cec42c1c5781d815de3a5015f644ba091e76e003e935ca57219ef1712c71760f7c421b02cccb924834e017146d1efb7a52c7613b70d6612a51129c2c00000000000000000c0000001f675f2abf91e62886b00b58ac37ab771eea9b54304f017527c9fa77867c3666aa789d69e587bc54965051685893ab2210119349c40ea72380e6a55aaaae806a89ff667a655f4d4e4524c0390320af140f425b7805831645dfdf0e71d65e2972d9f5477554f90b11535b0b09bea45936a398bb7a9478045088f75517f970b20a0670ad7b7c1864384797c32a5699f71f61c5d107b9a0574cfe5cf934f063915b5bae056469c63523b1d9e57a87cc336542f7b26893e40d6bb093757241257f18e1f0e0595966ce3d620f8579ff93dc4adb5a1a563cdf0d7df9aa4b5ddd623f4b5133af3c6b08e141c3d96f54f5adba1170816f7873341e754649b2361acfc57d00000000000000000c0000001f29c3550ede2b08da2d1251f9f5ab3e9e057c190962bf4748964d015d106f2b499f3315a7fa9672854eb36cfe24d771f892b159a397493b4c6edf3ae210f2643bc20b1a1bd1632341e0be1ab7aa4039251ea6538dad1524d82d530202ab2c3cfa8c5b2efa520621ad782b291948791b1072ca10ff583b0d3d2e450ecef8160d00000000000000000c000000721e2071607c0e1aa3f11516f24c532e47f7ba43e407cd178e3b1277ad9aac234793eb4fc6383f1feff65c7d8ec8694bbe3ae53dfccced3c91cb17650851e26200000000000000000c0000006cd576048b43df0476508f1d3819ef127e0a5b391b658b22317f3c37eb5afc13080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000524e04295747882da3b2c7426db1374b7a69924e5d5831168fb9640bdd1f743def5f936da475262b07f0387e2036ef5eea85852bf3732f0db918d362bfcf0056c6c4442d142e6b3344fc780b8f63841ec6a5346e8628d00f5bfde5520d418579cc3cc300765e6316f12f3367ac86b91e1b9a876dd26e2a7d4bc1fa63c17ece29669ab1040ae9fc677aa18951f170561712515c22ecb61473aa26044e626dbd7986d13b602497c46cd60f0e1c52e0aa5caa9b4f27ff9ba12dd44ebf4b88bac85e29ce454f1104015b1b10a4173959291443a9a979acef106eb314c07b19b7cd400bc11749823fc85fe262c84c20770b6c3b62543736558d0cb805507344f41771dc8b571d8ed63e548c61ff6996edf57549fd905fe9e72456ec26107d698852438db7480bbffc7e4389299a2f23e5293e3cf41e0a56785d4a32e1dd772ee5130bcd7bd4474fbbfc01c38b1142124e351e46ce4733f302f257e16a65078ee5e407eedc730cf9f8f964862c182c44ea52203566436e8a5c666e32e64c4935a8900eedaa6d12ca38093b4f2db44fef81ee4c1e62052e04271834932b96792b80cf31a6117506e4be1f4a7fd3e4318e9f993907cec345c287a936d668c745e3d0de1cdb21185ad227d92f22c3956f3a973830162456450c780d63713ed2235105776b7ab7ef06ee1d450796a3666dbd7a502a1a865c68188b766ab89f1c1cce78313108000000000000000c00000094c381291b253951ef06471a2ba702438f8c2d14b0a1a95c4f0ead4c5ea6ac72f274f82be71e5d2101e4466940b70c744751451bca4a556057fe8d33f8b3a64663320538fa0daf26c4fb8e2a0d0aee72c1c9be299748e87d6ccf383cf286a3104708ec3094e7a20d05885a32a0996a77a06c3c380bd7e20bfe48ff4bb4981d5ed3ca3f7ef9093151b259282899104e2d74095c431c65d9491af70c5638f8ca55e9d9ca2f14ae6203404e6e6e72cb6807f23f271fe9cf5b34cc698c5afd4fc602f9521f5e3dfec0429b5b02323bcb5b614a444c60a825fa685f682640bbb0562ea7785e60cffe5a603ec6dd1143720040112c3e4de908d32ffef8a968c6e11e0304000000000000000c0000006d88170a7ad7790e7250291ed092de2046febb0c93cc9d640365a4792f2213058c2079493a6d30389344fc4aec50b132f5a3ae0fd88b3d757a236860e76541314f61f21b8504005026eed678ada504075426784a5d54aa1bb084e86cbb100d69c63ed617197d726861ad4f75ea38b669ca65fa0a0d46fa6496634f4ec268b30a02000000000000000c0000001a66c9471d495e76c56d906bd357467e19b9d110db60e666478d1f11230ccb2f352bfb321a7264786d9b5e2509e1362512bb872769c0bd601a49e01970dcc73901000000000000000c0000003ae00d4c555b8a1a0021802f0740761709128c1b0a9ef6548ec2670a537d3e5e", - "proposal_public": "2327c12fc91cac0dc3593a5edb9c4a3c35ee9b5abc12883d28354b6965811c15ea1b926e86b8e16470d3586985293a5944d19b77", - "proposal_secret": "7b68b607f25fb4c7f1ff6f57b286806b815b467fa3e97d148007db1f2eb97930ea1b926e86b8e16470d3586985293a5944d19b7700000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000a85d802f6fe3da3af09ae552bfabda351a6c4b634f5d725953bc1a512852a95553f48c46e0d262427859eb5d73c5be6190c1cb320394da040ecc6b1e7cbd032b00000000000000000c000000c2b65b13df906c2eb18b125592859a7cd0dd5a3e2fdd7f4664047e4171bd95710b0da83690a67d636d40dc4997c1d33fb526b1013115096b2ac0a97e06eec31e00000000000000000c0000009f47312e21ff9a5d085ff23f71361138283ff6125768154f7f517f5dadd9754ec5cced5cc5911535ce374855c3b3ae700418813689e01c13ba7f1547e56bbc4f00000000000000000c0000005cde7d78defedb02a9e8e1374241363f312c3507325cfa29b2d67c0cac53d20ead9de931d7b8ed2e4b443d5f296d08131fcf280fdffed270850c94739b52e32d00000000000000000c0000002327c12fc91cac0dc3593a5edb9c4a3c35ee9b5abc12883d28354b6965811c15f92a51374c2c493cb2c9b76d6011f629ac2d9a7062f5e92d1e377c45b9a53277080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000f7faf15802a20962efa3165f34f8fc18e7661929095dde232727a50ef76ae26a84c0b40ff2d23246f3abad18601fd316b41f9037cc8beb1f30170565aaed9f4386747121f812e55af3cea2254d48474e5797ff1eaecb1f43d6b449135eb81741452e640bdb15705678f263214a759d6ab870f333fe30b1292c9f153d376f6e26ed4d720d43681d708e770933b1e9af4290877034a91c70380b0cfd474e93f2583bb7ff50253b7a791635596963fc335bd6567d6b648bf7774f54db457e6afb0ba0a2b85db960c22783b34e1f761aeb27db0e3c6a56bfbd3e427c4533039ae90555a617677602e90c402dfa226dd09619d4f11e3411ffcc5b9ba5d7011921af66547e902a6ca921401da24c4dbe90494a458eb503bbf9226b7b89e25e1977ed4dc7e1a118048b70621c0194489a1ac25f6069483fb30b88748210fa5e7a649a6db6f5406e05d18e3786101011db89675631a019581f87cb3e72d702561a7bb55bcf009f1b5389ac28f172643f1da4a2756afb895eea60045375bba06147672c2f3220ff103d24577bc1ea2355b79ae213ec9e4a5f669bfa4bde0c5512b40fe4675ca8140b439aa22e7e9201261bead649242f0b5c4a751b66309d991e2f48d82eea67dc2baef30e390802ca0febc86b3777f49d55e24bb37d424484641182b3039905df4d142eeb201a83095628ca7279da23cd15c107595f98f6f71430ebb96100000000000000000c000000732a2123f29e6d785eb41f33e8258f318612ae45418faa327cfd4d6d54e2e563115fc740b0f4d354e01d2c29a57b1f2683ba361edc6061527234022a19d45215b2962a246bc53d6e6ff26f78ffa0c32506cb951939b06b3b3a4d482d62dac676237b8b3fa2ee9d67fc82042c24aad55758ae69433662853114731d7a5355b75af894d158f581662e38ada82a052f4834355eba43227fa76d75d8ab373156cd62bb86a055a203d479393dfd66ed36b36b5e003932862b364dc7cc3867b5ff601aa4142e522e4171668305b51966eed83dd92e8c241455b80172e3a97610644910d43e3f0c8f4504121de8444c515e762c303094728cdd226634fc0500696eb71500000000000000000c0000000acf614488783e6339ed51150dc1f67c1349746339a465798f76f536b55c8142d99ec947664d4d6d7bc05221f02ba80c3aca1d5e8032fb753b1ff540b40be26f9103c62c7b3375301aba7a5beefe6940285aec17fda7c379ace28d3fe8e04f44e7732935c92e305eabfbaa6b87350f4f8b25cd5287a3197bc1a92d393e97600500000000000000000c0000000f4ab147fd37b875496c2a5d830e6d5f957f1a57ce8c4116f063821917d8dc663f8a021726b7b85f7a22e4276f73716c98baef7584759e3cc8571111b114a81e00000000000000000c000000a85d802f6fe3da3af09ae552bfabda351a6c4b634f5d725953bc1a512852a955080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000085d6d5550548aa2156034c1ffc67d8259a46997e001ea53a1c886e640f7e7125f214d14eca5e3420645b530b43d9c7609b8b5737474e180dd1e26d784f0a57517236186ac385f528b959f23bfef3ed3c94ddd66d1ca6210599f64b7234c42d1d0350056320c1830bd3a30056dfe6c944a2c7ef5d04086c7cba3e083a66ef1f0f3713af1006d84f5f86fc9817a6c197494d69cf52218bc21e9e58d22a0ed4015d3ce3c05104329b1d3de4f937b0b53b6dfca0a15b8a28db6877cb635efa7a22015e633643c6c3bd7763f6ec4c008daa5b30d50300e0acc047d58d6d3fff39c10b4570670343741827f2e2b3749683c868a32da332dcd5cd77fa81387bafd81b0a1cad634f6061172a995df52deae47038c1c3fa1e7082032609629a0b5e5c985f60c99b45335c6d0124965e471e08f8537617e824823eeb083f5889192c9c8e55b679a314899f1569d9fca1102053766316518221ead95e4dd5ce913f9a97ba50661b07505330d3159efa516ce6f2ec37b98b6f39af514314b688db354824f2650efaf26223d63c0fbe05cf78746d1434d5678718716955715ad81049ebd3f37350a8d15bf08ea90b2283c017cd4e860005c26a0bf71c8c2db57dd11e2e0c2e560282fa5697f9d53bc6abd319c1f1334c956700548f7e215ea9e2734439a25c1f1f55026be7830e429c5a664c902a0205338a1a3d1de89258daea85022525db2308000000000000000c000000e331f34feadedb495389a4630ae33a4b105f850474323c27887dc9035f8fd52e7e7f8b3d16635d2a8b77562526e1d149db89fe29d8b4bc5cf76d642fe194ed4932ed5f195d2b4061b61b1200727c373e2fe24f222e26166107f21b5d069733061294d46ee31c550fbc621d2b237ff2213f4adc3989ce820e37794231784a7e5d4fe31a20f284582fbafde343379cba1ad3730b18649c1c50e964ac3dc3507b2485a2c241f24bd73c1f40a615415f7747f399db35c1ba680d9907d60d022e564363f99b4dc4839e39e357934f1429fb02a9471f7a31e2fd3677461749f56f6922f5dce805d9950838a24b7c52dc5c1541ed317f4a7926094e8ed81a0be0f9746004000000000000000c00000083744f6016bcb458954b2e5c29d3c343479b351a46ca140d9f0afb0757a80c399a2d17674f1a9c6dcef152664d41f5758b0620313b34a62a03204c3c68a6c7467611ed056019685b7c492c4a3743044e6e2f546fa75e3171431b7f4f77d2ad30f76d8d52340b150260e49e6b1a704f5c91e7f70b2d03a542f5ed5b02ce18ca4302000000000000000c00000023aad02b6fe3201fcdfc871326267b3715722f0b7695a705b536d20dccd0bb4cf6add126ea01d35a945585723d16340fdc7a9e145e004010affc676967cb910e01000000000000000c00000053f48c46e0d262427859eb5d73c5be6190c1cb320394da040ecc6b1e7cbd032b" + "attestation_public": "c604e7642a5ec0169e24dc5e81a84c40c4bce87cd4becf7b18f2710a79a7cf6f9d09a9133a13820af6422930e70fff1f4ad9d57d", + "attestation_secret": "a2396dad753403d1e28c6a393a0cf2924248f7b3f73c956c117dd3e5ca3fc2869d09a9133a13820af6422930e70fff1f4ad9d57d00000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c00000051d5023876fedf616d93f94be69207076e9513419e16e04b035bda1a3d1edc16b617ca2ed34385345cb702105cd2922c84646d6ac33c4837f656cb2a962b580a639c3c4fdb5d477e7ba0c8729491760a4d1e940cb8f7330199d6250502f31222d0a34d5087a80d01dae22576572ca57a2791443cacdd2932e597163283d83938bbbafc6670984076dd99a67ebb89776518049210be8e2c69f2a3675b31cdc75f2c2c384f91c36b7b2d2d1e55f0d8e64809d57101ea90192d066b22131cdca117cb8c83185ab93b5bd356586ed7a04c52c5df3e0f01f06962daf8b66560ae28166ba0095cdf0fcc78cbf68059bc645a10a07e206cc90b21273dc62c2a6c38567d00000000000000000c000000cf03b3000f394942cdce627b42a9cb55007e707bf5763e6579c8613fdcaec85e87a8ae6d3026c833510db10fa37d9d070c680b3abd0df94c0056d33779fb3833d4d027264bdd056572a44e19952d2902c61b3c41972a7d2e346d9a2b49ba2b2637733703f8177e4f9a4f4b76068298147dc9515ba699ac23d5194232baf97f4300000000000000000c000000fbedcf7edaf8d16935025821255304522590f969a43e500b57a0452fbc599e1096c30e1b009f5d0af0edc05913665f1152854d322f84d77846cc820b36a23a0200000000000000000c000000975589540b86ad218721283918650a471d54c757fa36804e17ea49074c280a05f1d73e7d60840757c155f352f9b6d1177ddbf44d6221511ede59563c0f435b5c00000000000000000c000000c604e7642a5ec0169e24dc5e81a84c40c4bce87cd4becf7b18f2710a79a7cf6fbc257944b58776461de39101b78e7e0bbf710e045bb5f36d088b0343f67a4967080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000001497e70bcdaeb06893389c49f2a0243945f176559808b305f3ec341ecc4af409eb0d1d1cfd519a434f45af70d3edef419b553e007374f666d3a0457e8e673473aa9a961d2cdf74064a6ab77e1e0bf84d2cf1316e9365d1673e575e6c1859ed3356df022c3706a70aae8e7f746429b31b814f84660b2aa80c95122262eaf8322e42e8d0669525565d42a33d6882408303cf7a724001adb2697dc91444dbc2016e7033e1622e416631ab01e1126e7f5f1141c468299b432c1a6d214136b1904815beff2449a9f3021910f73a0d4195a70e0105c03a4714c60a30113e2cb681434f735fd71ac0d51822c833ad45f21b08426b8ad3491532ff5329008c796228f431610af649b83364339ce0a57a4b2c84633e97863c9833e71f808764009ec1894d17102403cbdb342853b8507d874231329f74394f8837042d6b6212501582ef5ecfcccb06edc93322313a4e2d7f7ad91c13b32f037286ee13e5b939156b64d17dce4d4468a29d5142ab6525724ec9580a9b859e5e16d7c05fe71dbc5dd284b81da217113b665ff55e4743965b58134462ae08665b7c52060e8883f07660cd6a18dcf0b4229e39cf37e509d65a26819b5c82183c767631711dcbe9261dc671a24bbeddf70f9e454d724a833034287ee70606715b6eba80a43e1b73a50e33bea33139ca3e3fb87dee08675f7779f5998b0df215384e16553d74d62e95225dd4a56300000000000000000c0000002ecd8d0327dc97092a0dd368f97b5805b8e7817032e8ee3259c71a63390ad601a5824c2117432c1af47b583af009611fde334c1737a740601ae82e41d822751ffb8a871d1925061569034340896f9868d4b1152fe78cab525038602d014647758bab5518245c2928d3812429a59ae4342462b934765c8a200d3bd53f8ca855488e0a92041b089209b8d45100b8e8a25d071f233709a1175b26ccda3feedcf16d8016501f305f5716e301561003e7ab3e24fb79156460a453de2b1507a3e30a0686473831984d1a34419b3c79b77aef0197cd001bbd3232003c9dcf6998984f2485ac804295d25376d76e39013d6a346d5d9b2d0d6cf7e3253bb3c717ab7d090900000000000000000c0000004ae72214dd285b7856a356504d9d392ebc2ff37cad11455372578e616abd9b4df797bd7b895f3178b20bfd034340bb6c8c99f40aed1e9c765a52bf25d9de4372fbd831013d050228d027705619b31d47a960e6492ad87f29329e87181be2eb3d19c519591bfda0044fcd6b5aac54c208d249d6750ab4f1514c86a6712c00336000000000000000000c00000048918723b567a27b364b6202d2f8f824c335c369d0c6b87e34099059acd3e93837d3cc13366bd30e2ecde11a595f521c0aa3843703587b26977a2c3829a9a51e00000000000000000c00000051d5023876fedf616d93f94be69207076e9513419e16e04b035bda1a3d1edc16080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000ff3992553f2ec967a37c256773dcc103b121b77d481a994016fc092ba74cce5795339f0fcb738217e06bc95721b0202b27d0bb5cbf016940e14ab66eaed5a768e1e5dd14c727a7514f1d6b15dbc8e506260c632117a7e209bdebaf041610ac174f548c14840a593765f4294b8e81297ece92cd5973d46e48ff2d0b71bc92a90d1c9b44507ccb73189122b41692233e56dd057071a71a992ea204234422c82a0c0972645b7f30fa0e9c03c953368587114498ce677296cb3b1842ad284306bc52ad65cd5a1b4a706ebfea8160e14155127abb831569e4186cf41559603476d15242c3b678a7b82e5515a07e3dae1ee54aad120f1bab528900b9326467d718025932edfb474d89cb2b9ff4e07403a5ad71d82e4f25daefba25e5699f79ec34bc1fd80bd9009c7825613cd891358d843d5560341441510c2f1a177a0213e1ed4931ad378a6168ad26579f99e608bc003215640bb47b8a2bbf2daf9bb06a634e165764178827a21ef101e51463692f4cb91a8eb8213cc4bb1032d39514717805862dce7bf8004d6c07756a85a80d64a1990077fd8b199804df74e880595a0e7fc85a8ca4625b24b33873c970534d0fca791fdbd8f11aa6e2b75e0fa7c8323c08c25cbca12a417c3b115e6b97455d0221fc3a905cca20639b3e605ba25864065203732f31d5718a9046144e27be3332fdbd6335503d283111ce73e6ded77b6d17814008000000000000000c000000582fed2be067b335b2710d0b28fec8570b3eb91aa964b30c379af558c9355d0c0eceb049688c9b665dd1da5f331f295cbb94276187bfe579231ba24187fa2d646947a9303b15db01eb862e5282a24515cfa76a3fa0b3d96ebbfb94459a492d092a24ab4099ad1a5429a0c04b1c67b12b684d8b0f8a3ee5483eb9513f36444d570df8d20d5334640a96a4bf175b279e55ef3e9973420987129f105c1852f0684015a2641a306b5848ee22ac69d2ce1037c4d97162bdd49428027e8b61487f146215a6ca31f02ccc20b98ee67de042295b304dd65b26246a79661b603802792b2ed87c8722d8aa727c4f24002df90cd12d3917357d08a284715696c93204966f3404000000000000000c00000033be8308cbb2ea2000ca4f31ced742411f628b5e29aeaf799bdf6821ad0db80e09ef0c5754bcba0a40c054275866c45794beba747847416e399b4b019f3b5e2dec53494f212ac565d30bdd0db3908e0ce7b43a229f67265d0768f5429b3146213c6add288f04fd5fec87c3182783b504ee4340079298c14b56e95e3b0b94d90202000000000000000c0000003e6d8648433e327c46d221721c8e2929fd5e912a413ece2670c031581f8e7e48cadaab5a1beb335340ea033e76d990752c258e3da74ea06eeceb007d22d0b50901000000000000000c000000b617ca2ed34385345cb702105cd2922c84646d6ac33c4837f656cb2a962b580a", + "proposal_public": "a042ef6806a35531afacbd00d4a5594228292b2bef52f13debd71f46c04e71379ebefd749dd6835855caa70ec07720471393f42d", + "proposal_secret": "6ff132052a82c65b9ef95cb0390abd62eb6942016d10a5d6c2d7a0a19fdd415e9ebefd749dd6835855caa70ec07720471393f42d00000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000205d394395b7f76b45822b6a64f150637571fd1757bca37c77286b73c5ad607c7d1b38309b015c1ce34e621f7161237aed0eeb7dcad445007a8812718a44f868671d9c0aa6333d2d84a9747215904b60cd42976fa931c054e7a2a03ad673fb480cc335391c755d144a1bae447f43067927120c268c44aa7183c3b52a3a6baf07d909290d93549f600a919a2310dcff079594d37771fd6011271b506874ab327cf1b2d50e2aabcc1e278aad52b412ba110016e7786ce27e13de80d15c6de049158265c863f5f1d41099c97f6e055cd8204bd9167c339a645057867006aa93cd1aefd3170b317d555c2b4b03142f376672a88c5148d0e0e72e2428fa36426d6e6600000000000000000c0000009d5337459708d512543fb5190985697d81c4eb53f3f9085e19aadc5f3892853b918c0e3145e50b76e2526648765c5239aa7b0e4e624c4e4f8b0f2b700d2ed9242c7db01634814820774a9b7e99c55d4e6447486584c9e2029fade074fdb5db0576000004495e096cb8d15b247d9d964628a58e69334f60559a630a21a90a386000000000000000000c000000a5c5de1a70ba6726da39c84c46a15827ce76071a096d0a3a754c505d6c4912263e4d8f6d2b13207d12b20217cda02d7b2b836277d944c8035bc1f6120be6ae6000000000000000000c00000014568951b1a48e13b0fad70b14e3eb14d5c8c8023a14923821337b542f5fe828fb880d5c79afa557764dbc4c13110f41237c44097202c95b7768590ac052991f00000000000000000c000000a042ef6806a35531afacbd00d4a5594228292b2bef52f13debd71f46c04e7137e2cdff3c788a1b15cb3a5a22f667090be67dd81abaf4912720a3361d6e11f549080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000005d201000fafe46762599047e3bbb564ce37181523a31b5781780dd4ad54ce002d91725587f6021688060504f34a3d470d089437d2a9cb11b0306686393a3746fa73fb369da5a31748438406efea78b449058940d61646b17db0ecc263cc20c27ae692959520eb6080e437c3c234d1f3b7778c8478d67ee3e356e8a33d33c790b3c54f16b5dc515612ef9d92d08a7a7181b2eb340c7625d0de494d24085c5b0677560a85ae7a42b2474a7760c91b2fe730ac6fe35003c7f6b5c5dde4468bc7033c5475512e6dcb8406dcdbd3f7738306395d5a54d12e13b6d5416413e3d64c8282be3581b93665e13f03b364d1267902c7476ff194cb73b7dcc476b055f6f8c12d42f3b674a5afd443e5db20750abdf26b9ab1952c5301f1cfce4ea734d7d9e32907a3d4690614440d03611662e649906bde31540485f1461f02d9c76928a36409268911dbc73b309872abc538181b0674744cf2239f9a47ca8f4d1625dd96d0f2a7552412965c204a096c41f4982084c4ceacc3d53919b348f24ad4f4815770c3601d6156241383cc10a5135252a0375efc06d133606d47becf6a42f6c6294145a96ae7c0e0f4e4d0373a60297272b3e552fdc5c3563582b4202d3064392123bd2f0a2277ed75a1105ed530a09a5e51d9a9ce5114916da0c2d172a5b603b575ae6004571ad63a2467d296346ba98281e45bbc04451d8973d8fd36a703398525e00000000000000000c00000097a52e4f12a68240168c3a4134864a211a31c2463c6fcb10ad82b663cde2c22b5349f228ba35df5bd8ba547a2859172cea97b54d8e96dc6f9df667650463804dcc2d480f2619502cf0dfb15a469c3f5e08591a5cb492313781b8736ec9eda33b1acf0378c9d8f64a2f21680d9294de2938b9484237a8451a0511b26db872d65eb4ac3a55dfc96275807f670d3d74cf4057abc95c3608e06d2377851b647a201db5e650213f1ed15b5f767f0612bdb2581b150b272d31331b2ef3784ee1b2d50453895b786279df75c941a41d3a20de61ade0045adb2bcf0804feb5211377394198db8b2851e4bb1957fbdb2b6f76735acac4fb1ca21ca35a1f17367a19c01f5200000000000000000c000000a5306a68e7ddda35fbb2f1441bc9793b4a08ed71e0a6636b40f6626003dcab5e7a309b21ef976d657a6b7e2726373a04afdb8e0d7f513b699778df2bb609845f6de18430cc8a4b33d8633d4f32e5332789a261023f413e712f9e8b0fad8e8d69ed35242d396995433208471ed2a70545cfbf4e69fe30c9322acdc93c05c43d1100000000000000000c0000001a8d3132cbe0ec7648c803491087db23315c41037a479939e885d21c302f142abe12e608c49cb264f0cef8115e43b877f1d3fc2c86b975790f4fb024077d9d1e00000000000000000c000000205d394395b7f76b45822b6a64f150637571fd1757bca37c77286b73c5ad607c080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000089cd5d05e4cbef20d7bc8220d192417d36e0b7472d23a6661ca2e62136e5661e74d62a7aa019f616f6aac331bd507a3d1029c077d23f447ec6619c626d34067062d3d52c49663b470b4daf6f9928392340439e1fdff4814bdebe6115d78a9a134897572ac1968e19eb0f1f59183ffd035cbefc478174e924f4285e67d561d924b6baa70e475cf2649870426fa6955b5adcff053ec655b56657a3a7334b3d3140c7155b66f2797c3355e71c05ac527b273868d31540d447358d5b6e210b952134a1ecdb1d3c2f6534ea20d156b31f1b2ce4a80747a542ae53496c436ae63d5a71a7314852d6999f0a89e71c283e56c31fc2f95d1049d5ca70eb12c93ff03ca93612fe474532a57f3ac96dd95076a32a4d4c79236a1870bf2665da99364a29af0fde082b2da21b790d9311dd247d4e76210ed7dd52a72f592fde2a0767e7972c2111640501951c36002fd80a623faeff3e909f4f496dbf233a8df65669acdcbe4bf592095ed0c6df3352afc565e9ef252499a57a69adbc3a2dd26cda57079c3c6af819d54317f32c47bd63f2734fe17b14d3a85b63b64116349cc924030ff6ba2db1b1ca1c9627f46de0cade0ae1c21d5dd397395f08542f34a4891b7bb3413e479a157e1020eaab63ae6a855dab21475139719a683f9f1e5b9a183201e8282e5f74f1f947ce20931ec0881c31316700527fda1a371157de191955ea230455a32608000000000000000c000000bb996042283ddb06069fc938f173520a363c7f6e9a6a1455ad1bdf4e734ebe46567c487786fbad647cb53a6a93d9655dba427f5ad4995d1950a1852511e1f9704160ad7747ef146fae9b776ed03d7b727693526809752312fdde2b01f572b57e0a4d4d0444824a4811ccd2073c0a7642b21d36117f2a050fe31c534200da8b4d0e671f39e2bd736d5b636b5cc9e1c0383376bc69534cd45bb907642bf47d9747e4f3b566e529932ee2752913cabbdc4802370b3698f9b816f604611ef2acc5701c53116bfaf9117d95e2d77161620e48ff43930f812f453553b1356035dbcc7dde48112de8e495583716e34eef1154568f7d2f2fdadce8428e46767023a4336104000000000000000c00000060116c5811e0ba75e669716d7515212ef5b6cb00eb12177db9328412a8e79174c026140c3492125d6df2e82f68312821a799546ef2f8a70df17a142f8162041f94aca55d81ae822465251f16078580088ce19f0cba9df15aa55e0b265ec2a92eb3d7eb0f2e76b903bdf8fa2b4be94c66acf8ea35a81a8a65dbba1076605dba6202000000000000000c000000b2d26f2cb2d05d17e8e2bd1c42a92113ed7f4a141c702d78a20580323600033b34c47d5a2575495992f8860e65245714647b5a185f3ebd7d99682e5de1abb20a01000000000000000c0000007d1b38309b015c1ce34e621f7161237aed0eeb7dcad445007a8812718a44f868" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/4.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/4.json index 3f93f7c8..b5150624 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/4.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/4.json @@ -1,6 +1,6 @@ { - "attestation_public": "4f4474010e829808734d51051d4a4656568e10247e1fc004b13c836f4f4d954f81cf9d193c40d3513ad9436e10a9354ca07adc24", - "attestation_secret": "4681489d975db9b812b13973a614d07a2e7572bd64a241351c29e6b994f77bb281cf9d193c40d3513ad9436e10a9354ca07adc2400000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c00000080c0b323e0d435268ab62e33b4ab19551cf5c42cbcc8e11dcd103058cca0316ac0ebeb06bd6274329729d9766f1e3b11787b2428e956353fad7b9368899ae73a00000000000000000c00000090e8554f3792733700bfa62369e0806811558852fe3b511468898f1cd835ed74c6389177d170d8369e1ed07a9c21a65ebaebf30866057c7861a4cd542cf7261f00000000000000000c000000a45dd364aa06b86454ca8b5d2dd26f1cbd154c5d3e29d47d08d88861041f5a7ac0eb4159501e0e29c2a52c0b3d6e6f24f9f89a25bef7d2491a414b7d3fbde54f00000000000000000c000000ba675c349343ae3aa934a84deabdec4267bac37aeaaa2310f54e47539883622981eb997a053c49153bc51d79f0a02818d378da4d98f939281d27ac6c53faa06c00000000000000000c0000004f4474010e829808734d51051d4a4656568e10247e1fc004b13c836f4f4d954fc28962201dfa8c45db9ab969587a2f40d2faf356d9275e3c80f6a820c27fe50d080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000f789041488759117586ca27cbebe0d756c70ee1388899a07428eb17b252fd902109d49019b8b5b040390c05f2ac3fa38611f44062b0f6864ddaef03045e2cd5d7f3a6b710628d018745b572181cdbe4eca7efa4380deaa605c81156057ff2c64899ed3482cf0eb0474568e034fcb17780011b07cc386063bf5808c2437cdec454940087c1f8061796224276d98b0eb0437394023319f4c0f6e39483c55b3490ec6c38a60982d8246cfbab9017610ac325c0f296ce8a0772df043e23199eea73c3b5d52530fdc8148ae5204781c99f02d8db0116e17c3125a97270a5cdfee5624eb0e022df327e12915c25e23cebed7085cbd390d99e394427e76e26e449a990ef28ea5214ca2374cfcbf2c2192fe3b72b480af644f5dda627db0e15e622dee511f2a825d8b4982597a16d42cc4ef2e593350a7375b0be618ff167a386d60a77d3a81e535aaf76151880cd8580f20d63dff650152863aaa26a0a13b724a89a51e214c9e6f1693e1045aa5923eb0f48e39f2f5ad4ec715895375d751429714482c86809b117554416d0d22597eaceade53d5f75549488c42263976291f8b85174210077e3cb48933140534de54676dce3eb5a60440a2a9dc49f671753838a54d255cfb465d75da1874486132040989330eeeba7d6cdb9d0b143ccd653b397c024645f016270e04522873bbf4270817067b699b2f057c38fb4be6d3190703caf22700000000000000000c00000075ffb04672c3534b6c70585559b48849ac9ab93fb1936a65c4e3ee7970996e201e82780d6b575e64821f317b94c8d279c47af136d2795552244c607193419e5d44938b684c06844096035c6e79acbb15d76f1a48dbf4827e113d4476970d19548317752d3c43423dc3577b4c378a693fcdb9553ad2535f7140403e21d07e9a4cce5000146aafa61bbf809e5cd6f89e07f91f8662e9da5520862dfd2a87b6a8707c27dd37ad589e78856f04326a3d95006ed7d468eec05263f713b930e8c3e11b58eb5a291eb35c68f2f86511c2954a64b69fbf5baf8c297a27b5282dc47a683dc95ba854a3997350b6dece62c0b0f52a912d7a57db405a6191db160b6983312700000000000000000c000000be2888786a8cf5696124792b3fab2e0e553587024a1e7039f77e805a955df47ae2b5945852e8a26f051a1129f6476b661951680534ff1d7297aca93448440844cbd7c374c1fcd12073a2a5404c7fc94b7d7fd836464140586f52b15eb9ab8f430112281a58cf817d60b4f225c3003d1d5492f94075ad8a74a3edba790c8bd01900000000000000000c000000e45f3436e3c9ce586fef9d6f3b274b04956e09377ccda1000252a744f174f32dbb30bd3ecb87124e2b16b0113cbbe0521bc17f5eaeb07b34a1205a1b3543134500000000000000000c00000080c0b323e0d435268ab62e33b4ab19551cf5c42cbcc8e11dcd103058cca0316a080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000fd529a16359b82674b868a549263381ea1893634567834516cf1e0683a94a01e5e826f7da0819b624842c3366d55a62767e9ea248cbe647d98b3ca5e550a1b1110e42d4c4814bc3116f421643277294b307ccd37b441cb62ee536436d4d0ff55fa3bea72cf4b90689c84112816881d0c6551f21792f5383c90839d08c69f9e4a7edc1508be581c764a4bea3b1b728a369cea2612c0fe681138c7f322ce923a3336c2371ead468826045c9d639ecf48429cfd710ecc629a5f786ce04e44c77404db3e7755d659bf630e83463f711e476cc3313a5de8d2963ec30e695966d6dd4e8af348576216ae14933926016fe06567fc73d06b2d93fb1c772c3f25128ea865097ff543d5814e176273bc05d45e4029e6f87f58ae754e669dac7e022ce5c64372a0281ca808264ff5974b08afea3765be2707359615203b7bd7a3691c7db2453311965517bcaa7b95a08a7abe16b64d2c2a5f3d6011244034b6dc607cb95b1ec749c336b0c09e73815ca3279944c9546c89ac4708ec38522ab8dc381167740f875c213313a0732785a9a91d7e99c22406ac4866596e7f381e65a201ca5d405757d113505ff9a0450ce990645e02961f5abee1728dbc8c18e246f7179a212f52999178195991ae0ecce12e30779dd71a2a169c0c7757000a59e8b3734d1f522a18db4f08dfd33619eb1a831e071e5c315a601d3c62a05d14c2b52d5137e8607a08000000000000000c000000b171aa624c02e549e77044747ab2105edca6dd159c83bb5b53de7d3742dc7c3d3e4da551e8836c1d79d90512c1c48044706f5943dec41253d815d432106a322c65ffc6412f760f24cf9eff630f2d971546e5c13508dc31197a083d28d833e440c82ee4102d09b93fa2458e5df429980ecebeea5c15eef242ec957067e867c10a991dd0263c14e618f285d04f4a8a1a0e57bbd543e0bbe911af1d81319e916b053b74eb6e164cbd4e20ebb33e1e7fd938c14e0b43fc8b44745f2337525d79a84e70184f1977bfc47a9910661725cdfd368d7b8f4482416362f9149e7e3b1ae732a8a2912fcd1cf33c0cd19b793421525a6b6bbb49760c2d01b8c08d228fe0175404000000000000000c000000ff339717d56c1749ff778d502d6b7e59c238e2201a0b7233c0ec913778cb371c8952320806cf287c405e2516664096262979cf218c346f5caf3c69616575625883fef02488d1a63e52ec8e614a89eb5796f2815928c5f2278634253c406b5b1fe8fa326f910eed32b5618b00304d47240c2b852a480f7c6b96f1811fdb3b582b02000000000000000c000000a74d35743d67440dca9fbb3de7eca1568d09b3740e7f230886b21e3d97a329291f32563f662eb7581b30b13bb35b6869a166500a8df5394b4a05c57019a2a87101000000000000000c000000c0ebeb06bd6274329729d9766f1e3b11787b2428e956353fad7b9368899ae73a", - "proposal_public": "92cf4f08c7cc302da1ef19446f4942503267246bb3ad8e4ca162f466d86d604f71cfe419f6726223282bb171a6670178e87ebb73", - "proposal_secret": "c6944d84c7dce0d3b0081a2e8fbc649cc6dc00b17a7dcfef039dbe764d9defe471cfe419f6726223282bb171a6670178e87ebb7300000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000ed0bf6106c344772492ad80117e7eb0495610e0201831807b8cc9324bdeaa4457cd94e5a56bc611e3b6cd533c4f17a08e88d1113f31e7156a0cc317b394ff53500000000000000000c000000d73d8f2edee2cb1302b59e4707860a15186f5d7571560506316f6179d4cdd00efa1c2071265270635e9a6d001c5c8c517afaa91fec559b417d34073b83115f7200000000000000000c0000007f8b8349907e973c9900187a74e9c31b06cc4a275c86c8309796892562617140d500e06a6b2775740e887b4de961155ad2a47d1cff3e3e2d5942bb0cf11d6d2b00000000000000000c000000485e1951e4a80b19d650ed0fbaed75144471ed1fb6c1727004501c2bc75f236099216b590db02c6149da6a6a86f02c4e248dfd0b7385fa5b37e07159df5b5a5100000000000000000c00000092cf4f08c7cc302da1ef19446f4942503267246bb3ad8e4ca162f466d86d604f15234b47b63b5e0056f4744ec7633705286a3a3d96359a4f0f2f465ddf8bc05e080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000de890d104c035b36c15ea023078525571b1cfa69bcf0c53ceb538f53b84d1416ddd6e5317bc88363fbdee14239e67638a9a44f2594757a02b2d62b1fce026a68a62bae036ebdc81066ca201eb6c43c18503da11eb3d19b5a9bfb87589dad704855560b5943f4b014e1a0bb6bd6e21f19b732b20cb02dae2b00694d557b85086b71935441dde89b69011ab62951a78570f83e7466b556ba6a59e7fa73d455620a581bdb722d2179541704460ef0eaf400b5a48f438da4443c5e22982238d7960dd2aaf60d1ece9403227d320eb9117371bd3e0f439743886c0eaac0285c12c247ccdbe42235c4b41e49ea883c389bed56ecbea2545641c47d39714c70b615e7705f29eb2ac71da12ab4e2402793cdf77c9e372a7a981c9636cf9958396c9a7d4c96a67f6a3059df1bb859400514f13f4486efb7782758386b482af23d1cf9856bb11e2f17197e8d61a29bf5548e7c25308e63763e56ce7458309d941d21603d0f1840e559617d55186787c44b177b4118e153a320f0d8d63a1c34285f06ceae5089d2d610cd62484264628838a84cfd086ac0e25374a5ba6a4181615f6477743a27377457efeca4715c346a04e23edf2ab7f334649ae5e433a0c6bd4ab6d4b34e6b147f3a6d17520c1149546ad91753117eef666c348a2211f677913eb818c84edd4226311fd4976979827d18de3a106fdc1fad47d0b54842a7ecfc1a460d937800000000000000000c00000033c0d52d6efeca00f6a161280159f8458fa6de2a414c073d8f4638686b369e782d078c2b2b9d606eba99722b3465e06cb8afd4476f0fee57040dd06d4dfec20ff6e8d95f86035c6c301111539a6a87708b16827226e12e103c2b6550e1050d307f6ae3231529f4384a79665d3b8b1217f7ea4c4b994aae0d3513b254736c0b5d2de0e6330a5c72674066ee32b0ac29051f3ab948e4138356aed4f053fd2d240e114e2e4311f0cb051816e109f2a3fd0f0d4ab67c5d313244f6557607a8fbd50016973a4de382b8562040b00cf35bf131781b240d8673ae3d32128241d278204e47b48174369b2936f59c5f7a63a2ae147964932c78b85e30ef278878ab4ed33200000000000000000c00000088e8d861c54d103a3f643d4e9cb84f20516276244ecc133ba22aa168fbc45054afa1145e0661ce1acc940f30c9bf487e26e7ec4ad1d85802ce89da47c3e69f4b7684fa285900357c4763a970fc9db1038d628f617304c065c39d0d0328d10179e11b473c332f0e04538cf50eeebf6c40fb2fa403b5d9f54a782d2421369aa36c00000000000000000c00000089307731831e475107a7aa0705369e63bc8de22ff9bab66c290e24001a17cc15eda19462f709c10f9502fc6c445027603d9715368886855eb17ca402bd0e403b00000000000000000c000000ed0bf6106c344772492ad80117e7eb0495610e0201831807b8cc9324bdeaa445080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000064da4d5929b9567ac685114cf494b17b5d52cd1d0bcae4756e7d9f6aab3d0555de5fc21a63c5be47b9ea7c4ad863fe0f3ecaee15073226631776e667ace7290fe53de445abc89b0413953b1354854974281ff073ec2c1039aa6e9472fdeeb3431a78154c473b8c3a44e7bb424ae49534717612789691553abc96d8633eec07133ea78f0bac5698781cb8c77c9ddf65159025245fe261b632fbfd5f7a8cdb6e3ed852301149d10b1ba3dd325be5d77b49dadce95929aabb722bbea418a06f484617621a346ea02c06b338a567f2f48c297a74404892dcc3783268ac357b22ab50966b373242b452461c09aa6469215b35b6506014c51430310e59f31fcb3bd006a1ebb763692571026587ba1d425de4461c791749dad7f12a43840f1455eb3d0e1f77a92336e43745e9094801da92a45f800a9932b4a31715bcdc8e2b2fab291edefd575431cf6863c435fe2fcf855d24a2a4aa3eeffaba76592cb77eec2e3c2aa79920428ba10934c38dc710c47bf3795ef46c5bac4bf2799d8b5f106e9cd077703b391cf1acc37b0e00777c2621cf199dab154b84983e63340cc124b1958c637ce14f7c2454aa3289fbb14b5496f943e6120e29921f6d151fb5a01d8be4684becc5302c4e487440550ede63aa263f4d6138334cb8507d32ba1f2d331aa15612f0cfaf6de5d5a77893e58248eec302110d795e54ca19d52157d9eb6a56adca7408000000000000000c000000abbd2947e20f1d2f41963b76e01fe27947c6d012565105753725f755b2da4c3cb1b2cf4fc011435453e1c47a80e5a54f023482337bbde24ac708c3505c50847424a64e2ce8ea826553d8e60a4c382816b76a8b4edf5dea667856c3754755981070383349222b36643be0eb4d4f95ca6920da2e77f75e2921d3ee173094b9d45a6fc1dd6cdef75c63b931c65db583da4a18ae795cec3de02110327b22ea962079caeb065c0e3efd6f770b6441104c9157e521e530bc21d425592a0f65e0027e413a49ea73fe85cb181552b37ce8305b249091117369a3966e0441ff31d0c1f944b6b41978e5e1af619b45170441ca3b6d1432ec1e728dca371b3ce106d6fbb44b04000000000000000c0000000a541f030130a044a81369068bafeb71187fc200632a01116e225472b8fd8a1bda895c494fe1577d8ad47d0a0120205531ca586e4498266dc10c1d033aaeed133e2b2410b2925352c7a5b466541a320673b1812547a51552e270866f43d36e1df827190a916f5a06f6d0f91ae12e6541e92b461684617825f30e2b1d7a3fbf3602000000000000000c000000346c1b1b479f39619aa318694503fb5fe9af667cd85a950ffbc74e13d3635724c429ba09a6c0763fbaa136124a0c4731d1c2cb3f0f3efa09a3ec5f48324a3e2b01000000000000000c0000007cd94e5a56bc611e3b6cd533c4f17a08e88d1113f31e7156a0cc317b394ff535" + "attestation_public": "a9f2f00227195b0fd15801267a71553205214a21b0c8c65f3c5ef16f8e85b7430ddb995778b32202b4e45e79946c4232686f6e72", + "attestation_secret": "5e9554338bf56635808997be2874439d7a1ec5fd96481f83b56e02d9c953d99d0ddb995778b32202b4e45e79946c4232686f6e7200000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000f879c3192eba0b37441d141ce0a19b303dd379313bbd71041686984ddc9adc438f3f475ad08f24169365797bb20b7b52b75b875915b5873e66b1fd1a23fb1b65093c6f1c100a335e4b8f08337135be3b6408aa5e86d3c76cb949bb28e8a13a481af0a464b27d5477c50b047ad81e56171cae247553e05b2d74e2f820f112014dd459732627ff3004f7bfcb63d1f95824ac42a62663632d12ca068a2b96d1dc0e5d3f5e75dff7ff4d4274ad1f4b150b423d296f03c1efb973fe021b5102bf8514c69014639235b963b3321228be08ff17627b3b7b2faf83668fd3cd5ff04983000688fe79efea2e594201747233d2444479d0490ad1b5c519c5d4322c1c8f965000000000000000000c000000b4405c795ab5b129fc0d91494f449a3a09759572e147fa44c438250dff5da20bbdab4b0d931db60dba0191450d677e2556ec8564f60c4e1bee24582e844a330616486107556bc428659de138af0c613477f61d3b3ec898161c1808446b9da34008dd012f161d1a33efd8552517cfd310e987812778109d3749ef11643d62603b00000000000000000c0000003f568f1869dc8a16a0d9e542e0f7425d8ab3dc00f2ba886972e486600995f269bdf54611d1427b3094b2761ffd5169021d479f17daf56b0d2ccac22cf61b1f7300000000000000000c0000002f4a9103e0bf6c58c5ff164467d35238ffddde687d407625533c844e22868e397a39dc3fbf330d76938105399157b479c423592efee18f51c5d9906dae17515d00000000000000000c000000a9f2f00227195b0fd15801267a71553205214a21b0c8c65f3c5ef16f8e85b74310bcc07b6eb0b103e9585808311c7a03eae0fa102bcfa66f01f7446d2c2f4009080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000cdf65f1ceee7fa07a1f43939ce1dc645a831971b0da10460ee882215513b506607aa70185ae4061f60832248c0df5b300a1ac133d60b06221d9d425fe22ad901af15402c6056335ef2c397157d2c2d59d4127239862b50463e8bb92aba9f551245de0b240255b94b9d4ce9302764f7422d9b0d30ebfecf567e15390c9ddcd266ce2d893ba930223bea29a50eb88d9114d000936b70b77c0fc8980f76b30df247ee34c071f208b876e902f6325ee0cb660e541d3186cad95af9cff94829601b532c45b55e01b9fa590452dd370774ab550a27391c4eabe149b3764754df8c586795379f314e7bbc5bd59ad92f3d49f3761d34c65faca16231e003b15fba417b62cda4f733f318102cd207483024559c26948f3f5a98bf5b65a022847ba4343f660a3bcb3961f17f4900d3f367b509295e0e5548397cd6c434c2b1c97b9ed70408a0bfdd334e97b94e48b9fa0ed787982b240cac10e1bf6f7c3dc1441fcb46ec04b9f3e3225c43325b8607f4346bd7614a51c3f96411547c21a70dd479b57b43794ab217650445160e9cee786bdc8b4a41fc48610aff606161a2baa12e44670c69b057972be8525f08e719235f7fcae03cd2fb950e252a735eb05321590dd6b1720291477ef561863c81f3267e6dd63c2427d71844ea5f8b69327616663bc5cb214db21b759621ff2fe3d73f4c28fa3d19ae0c6b429f785b52cdee6410ed2c170700000000000000000c000000789f1071fa8c4f1bf9f95669d6bd2f4a4c1f3f6c3ecfcd0c6caadf6f2ceb17239af49b214597fc282d0a9d4d97c10f791562472306c83454c3199f48bae3986222d1ff080597416c01c9c45adc3b4b29e16c462e2d38f9165a04a25632f5122d5e3894750f684045e6e67517db0b231c89d5601e8294055ae09f9b77cecb904113b78c2e9c98b101b2a7910d7d808312a8d9003a24dc564aaeb9063e4dd7396f7c67e3554e4ca352f3f5b43216eee377d97f05362e3ba00496fb3b1ac23d82645238f6791f777a094136b9582fe19e45b57d1973111c0c6f77b40c12ab6eb70bfa125020a0e81a3d1dc4be536936f51059931d078dfa985dfc94f74657fa3e4200000000000000000c000000afae6064bd6d0d1cd27eb960ba26c108928dfb0bf2abcc0283d033626b2cbb1488ccb13f50cfdb502a7ff26ce3244c710fc1a51b87fbb97329373e5a0e817d5aa903ba6c755c285c491eb0480e1ab5334b61d549221a202bcec49665aa43967e71352026022ee96194a82f0e46bd0e3d4936832e68bb6037d4466b6d0852170e00000000000000000c000000484fb15988213d6b209d302863d0fc151665d06e99ddea57ef3a220742470c29f31d0d5ad9d9023e8757cd42a134d620c849c058f6551b0f5063a46871a22e6100000000000000000c000000f879c3192eba0b37441d141ce0a19b303dd379313bbd71041686984ddc9adc43080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000090c50f3656953028f913580697118b002e15884569f57141f1708c6aeae4471f025b990777c0f12537784a1cd08d9e6b05cfc70f031858074c66bb1ff667a578cb5e3c4c5cf0fe1dded4d92029be6b057af6f11b45b6ad7798c12d1d82b60f2c9ce9671e75bf0d3a22110e358dd5b80581b07406e9512561c99f281f45d4f139bd03be6392851234de111b32e9107c25f036f3095b4e4841917b845bee954a51a79bc147c5d35e2b04fd7f763ed94079e03a69102824861e420742012f9a5c7b4fc52b4faf06591cc5bfd2522c34a3726f69532c0565730df2da3038d26a5470951daa70e817221f8f39424cdbc0480b97a7d60c0a4fd816c72bfa01f9aa29214360ad68ef926761cdb94a62b3a056178fd21f596622462baff7013c2d31e02ae8ca8b561723d217b066914181be0c2a2862a95bcf4f830c6326a20ec5ec2d413d47ad36853497716bc98f28471b9d5f8b511a46780bdf2a7a2ae7073e6f311bf0da575be490f0151f372f70f1c6f7615480d6663a94c165b56d385990837d6d3a997f110cc85a7dd6a21629cb61fe233814a96baba1330c24de1c6a1073f91b9e882946539b9234c8afea28c04bb85a585645095eea6e1a6f17ba25b8a52b0dc1a83909905fff5f82acaf2faf74fa3745ab1f5accaad1159b132766ab3e4d293987573fbc6a807b4f0b810e00087117d51a454627b4a25d2ae14e7e9b20b81508000000000000000c0000004dd0dc7af3d4c14fc448a141e190221005262826ab6a00577ca2d75e16185c2f34c4fb71245dc6201cfba65e9d2c7f466ebb1a4e09e0606c907fc6654943a71908852f46f8e3875c613c631f79735628f48dc05ef3aa2018a4d0d43720b7853bd5dd217bbebb85550622717006f2f134746f051c3e20627941559e6fd8401e0b901605675455e821faa3947d6ed6f4509be1eb2ce692ea21151b421b14a84539732bf90dd2c29c0e32ba1c23ec96345b33870c758aebf858a102e26ad46b9b25769efa5cd4434b11e408f75c567d3a39ce915a6b0a052e20c3f45739dfc0126fe4cf2a52adaca9099bf28b40dc57d86561ba522143764d784c2f077ac969c00b04000000000000000c000000f93bac7935c66c0a661c985f9f63216ba405e7694c997a6227b10c773fa91b3c90c3c72db9f7ea3890b76470b92a4b265c95a56c3074db6946b6231d32540618f91fa2660aa28741a6b0b6428561130d50d79d302c135a5b35d5c40e251a0e64439e2760fb9eb03b7888827189e2842719ec1738af1bb4380aca263563aecd7b02000000000000000c0000009e791611e08f473744c8fd2deb473b067671473ae878281b772fd277ab5b946e33424322968c742b0834f874986fa536c6c6e474e6938a56b52f6b33fe066a3e01000000000000000c0000008f3f475ad08f24169365797bb20b7b52b75b875915b5873e66b1fd1a23fb1b65", + "proposal_public": "604f6c40c235ee60da727f0f7ce3b04798bd772ac27f61445df57d6c0c5d3f1c79aac60e4f0b3971df30fb1a49cf2a1f3ed82206", + "proposal_secret": "c81feb7357e875c17539e4d8dbf842694d72f5b46451f46e1b4daf73259975bb79aac60e4f0b3971df30fb1a49cf2a1f3ed8220600000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000aba92c525635e460bdca5420684e631f8ff064784fbebe7863397a4cf390f67035e8657ce5b9ac390ceafc7c1672ef6fedc36521b613a41156c38662456871646f6fb021f1e23163ec4aad6fcb673c1e96db772d8fb96104b9dda1206ba1b80e5024597993f15a66e0fa973b6fd2673a9126506424a73d3c2ec3dc399aea2b2a26df9f5dbcac7b00062fe62edcd41c3431ba4608140f6d27d6bfc00aae8e385d45241d4f7220ab7764f6816ad1b1ba4dd7aa5e122985974fe980925e175d2109a6a25e786eacf4378cb3f767b2b30e70d7fcd922db6b052823336457f6a4543178d6261cd4707440ee8e1011e4f4476c6059a26150e21e059916e510f1f8c06900000000000000000c0000000fa27967c65041685f289c7ed2c2683735b4640c27f2cb0b1846411a80bdb36cab4afc4a554cc86daafbba34b7f7437b80d592581423932eff91bc6ed174e86865b2336e9d7db145d8b20b243bd3d019ab073c44152b997b5d3115547ef22e5b79bee935ea58d805fc15a0740d8abd3017667b566f33bc74faae96290963932b00000000000000000c000000927f9e10fc5a2d3ff3d97a5d58f7eb3c77a7a974af7f9c0a9d38e91358535d2481da8e660f27b80826eb2103b181e34ffb8fe91e7900444a75001e509bc3412400000000000000000c0000009fe18479f72ac60ee113575c97c99f6d652961693194d6642de7d67b314ef55036310d6d2e00ee06c25118734221c00f1bb63578c471a34db8234675eb3c1c1b00000000000000000c000000604f6c40c235ee60da727f0f7ce3b04798bd772ac27f61445df57d6c0c5d3f1c8c63c211fd9b5916ae073c676fbdcd605f25d96f18c989162bed6c1ea3b8136f080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000042ccf7a8710a95f7cecbe16d66bf044dc958b5cffe1537e880792389ed8be23b99353416bcf250478841445127c1e2ba4db446402be16383e970b7b49dc51057afd0747cbeb6a1901e2b00873d651630799815f3fac0a278566853b7cdd49706515a225e82af9091ac81664647d62283972c91cafbe953de538d76c898fcd3d6751bc18ac63777bf57f6e405b1bfe6884d1266939f0d22a0c767928d6a8cf2c4a8d2e2e1acf0c6d25fdaa19d5ebdc55712bd02b0c73a94a10d64a41041a656d2ea32e6d9391be38061a735efcb24e3f1b181d5a64a290592fd01a69a0f05128ef6f5672cf56bf594a7960693969470b28706d53227e321787f8617c88b2ae65e3c87614340a872588dc13420220166406b99e09ac53854ced20d64cd8c80f3fd9879c1e72d10e0a7136645a76b1e7740dc698480e5cc93ce6de6b7d40a6515d9f936b205aad3c371c85345bd401766a8e005f23eaaee129bd77296a330a99298ee9625e98833e10df0ec47d1b92dc5e8ecda075aeaa5340930c45591ec6581ba899b75ecbbf43191ae74a1853c52a02f1ae1954e43a830e8ad13e78f05e1043531fc9003599000efdda6002a0e8db0ca10e585df324592f5e52506e17c553411cda4b3da3509e17daac5c6e1ed82017afd49f5019642b0f3712cc6192074108cc7e22662105b651ca5de32e719b6a18dcce6055b8558667d1f5e109281dac5900000000000000000c0000000ca24a2d87af1b627fa5962c9137fc1127845f2afc28d322d7528501143a1e451bf28455d4bbe35a618684208f9ff74ea15ea51027d36b116823d613a68715735ff1f4391b19387af55890770e48c9734113766c3de7d51f76024c28a85df07dad7320065564b56de4ddd212c346fd484b2d597d8f2d9a60a28f6930349ebb3a7d35221c5cfa9d274f753731205ace0c59134c1c4968906f4ca78962919669700a4f6408eb0fe862bdc7741e079f884a912abc00a4066403cf2a541cf683232d93b3420968aa015b847e9a3c2bd39250c5fd074b5a918c5f90d51225916b5a7be025732d4b8c74460d9899744639b8791caa722e0fd3a603dabec545dba1306800000000000000000c0000003963255fe3de782709daa43913c22b174a79423e542d277680d3634dd2146f59b950f92d7b19cc4125f6913cb8344973fb023832e9f0c512c5976f2eae68bf32d7cb475929304d512a9e736b48ea4c103994b94721efe21551fdbd23e911713e0e96d10c5da24436ee16de0948d96254b14c995a25fbe04fcd3513429229726200000000000000000c000000efa1552738c14a0ec902c704b05dee118c0eff73862f826ca7140716cf33b3607ec12f37b56e1747eb0fc9790a11ed2dddc52812a95b507a9da3842026bbae4900000000000000000c000000aba92c525635e460bdca5420684e631f8ff064784fbebe7863397a4cf390f670080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000003f013a60d7787508baa47878cfabc435bca4c80a46c1427d96bb191d6791307d1e89c614eb90e752e114797d619f671bb17b675eeec94a53e4d9d66ab10e2e2e8ef89f5f062c1316e24eb702ea206f1148848778826dce20005eb26f1d96224accef43270f729809b459b96dabbf0f2dd8cb891f22121b1ef347f03635a584663b2c8f23a7c1e31b4b835c3e8ef0c47a5d447d1ec5e4575cbc686422389ea05ec98580379101f76c0d5cca23395f637beffcc173a477415ad303a958f3007a61a4ead712c9b5f80dfd94967a8a906e319c172a1f2aae1b793f6c56688519b909b2ec424c6ed70748b777bb155a7b112601164e44981f472f39391f43251da57420433f02885d6c3365bca33dd3c4a218025a363324e18421b2ed442d740c2837ac88106f3bce5975e4419a3eef212577d46ac50405c35948ffe00f57706587725d85982c4753bd75f291474729d6643142bb46719c0cc14f179e3c465c01d84783bc9064789cfb716f52b0073b87c37a119a2b561c0bc269959f4f328181522b8c5afa1501c526451553f41edf248a30bb93e46da1705343dcaa87410a06740bd893ef551276d71fd327393ee21f102bcf5076063d65a92845249552454b663f83b859553de4d11087f67500bff3f71808913b0e930aa4703ff12e30094364075485677b51041c694150af19cc3c724eb9d9c3308622a74f66c429159a5bf64208000000000000000c00000038221d3dedba4106996a637d025b0e74692544279d29da2117ccce7e0191f65213d33f76c87fc8772311c44456ecb91576e9655ce681c60f2197e34dbe4c7b490ea1444d95f0ad2edbf4f14db308c8300523e35a6a1abc737aa96155ef472100ea8945767f526550183f7e2ce3ef6b542ef3f312b0566d78a95b7976edcdbc168e8409025f72e05a67b5d018eed0f609325e1c47df2ebc2e199e111681584316456caf6f7796a4122bd9886371f39d3d9fbccf348a4b5f483560ba70bd4ed9088521bb1a84304f2d1c016971af845107aa6be502b4f77f593bcca777aeda35250130cf1603887d3579fd3a489752d76e8d884a0b995e15154030e73794c9062704000000000000000c000000d90ea56eee7e9d3207132e5c09074239596fce3b5736530dc9087551d1c53579f5241a79c5599f383b056c34c3f80643b404fa2153812b5a23b0cf53676a230a74df260520028e064a70d70ceb97ae284c068575da5014238dd66a1746eb200f6ba699625146a36507e6734bbab1e238a4d3c47dbb97c342dc2113462fb51b1802000000000000000c00000071a8815fdf3d7811b737e2703dc5186c1203cb049102ea39fcc88e73c29baf0b9c6abf43d612f22e81a8145a7bc02504f72abf0efa5e254b6d85c950e77b176b01000000000000000c00000035e8657ce5b9ac390ceafc7c1672ef6fedc36521b613a41156c3866245687164" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/5.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/5.json index 097ad2b3..e474dbe6 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/5.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/5.json @@ -1,6 +1,6 @@ { - "attestation_public": "8211d250c8c5e55178edd51b6657a50a21b1257898aeaf2b2c48524cc796d259056b0769dd8c434944b1934ddcaec2462f3d5839", - "attestation_secret": "d732b51af33e514f4f09c90735c48ce9bdbfd6b6b25b2d9bd0d69341c5809129056b0769dd8c434944b1934ddcaec2462f3d583900000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000167baf0e35b69768ed8723319e5d93470e8f4b722e289d6529bbb04a0676ad3d5cf85668ea3a447bc746275f6089843f6f08400261d5722216aca13bf1bee82800000000000000000c000000233da41df8ccd123e26b6924bc20784780ce85712a748057bb7c7a740ad03e4db8487151e8529a48673123076b80956b2f6a0b1018ac9e6277321c3e524d8b1800000000000000000c000000c5f7c7264a41281b8c1deb047697012457681b404a34f67bb3c5bd1a2d2bf63c20c42743dd55e077acbc3a1612ac886fc033225c2e6ac01ec9e872386ef0300400000000000000000c000000796a540fc4c3626a2d6a217c5b0e71590560263125beb92651a14c7be5649051674a541e653100096154987113c2c1424872f300a9c35f0c25f93023b564242a00000000000000000c0000008211d250c8c5e55178edd51b6657a50a21b1257898aeaf2b2c48524cc796d2592a43b074aac41365e713920407aae957fcafb103cc9f730e6cee2e3bce0f9c70080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000663ac75e2dfe65527519fa7a3bd13e49c2b5665d92fdd309cd45c13a8397e460b5e15a4becb01e30f6dd3b1ff0c98c0ae7d6c01075169f46e22b754359c9a63f36aaff300ffc394162d6dc27c946c5248d6f5a3dca0eb132d9029e7150bfb7187366aa07cc85d6333e0e8f1f2abeb926c6be6c5ad058351682b15418659f2b2e5d462f7e013d145e1ae19b029540d16073eff00bf030fa2577615844ec0d6e1ad135c358443cee39c3ad9738030a72432f2c3f43a490652fe3a2144baabd3229c657a3383c9a16485853bc4b5d1db521fc146a0a0bdf093afde7542672acfd4b0323a5265a031001591b1f7356713a4ca9a16363c9e97e61f2b9ec1f98abd26768fe626a26994741ca68585ceda9fc7ab4204f17c83dc17e472d8e578a66de30fe543c02d11e6a1c1dbdbb3963519b7c2299df4845ba9866bb8a4d0e8027cf03f5f4ec5d1d4cc74da294ac556d345f5bb53d631e7d250665c5fe9c0014571529a7284a6a94d5623c36012e5df7f8d976ac52dd69ba52697174a8f03d9d40c10447d39f6a6aa0c262cf2a937323ec2a57f6f69d081197f90787d50905c4fd1579b5160e5bc6a1c429ceed6877d50a0c6ae7c5624318b1ae034ddd5447676ed97eb6e2974a259bcf6f96b88731d37b4826863bc2030288e549039a3e725b893c502d236220faf79a1866abe00d36d3fe61d71ae744ecddc260126dd22a39091a7c00000000000000000c00000013408a7b4c9ebb56f24565347830642e8fbf044ffd4f1e662defc2407daf2230f9e3024e16b04b776d17123ca6a89b06bd3168564b3f2d4972c7644d093e667ecb1d50604ab3dd5c5039f1703c8a8c7782a4ba3517d96a39efb82a2cedb3626b7af59c2b1821b53be7b0e378e442ad3ec08df210b42b3104a1d63114cf231e3a4dc2a75bb2c1807c8140d70cdbcc2638eabde942c72909763667274e22415e4a2542a03a10f86016c4b606773be2291951bbcd2afddd9c374ae4550458883149d9fb2f3b7cae3007f9823a7c1e2c7234f555817268037147a9a6b56c86faf43f2adac61d6acecb2ee7ea88328a834b2b38b4fb28510f674063a3dc12a6a1ae0a00000000000000000c0000007194b13422c9d61b8a0f001d90030a162d0d0812c80dfb3f4e0b34061eb197442cc2a20495e1fd79a8ee4d38c503e61a7734a924938b160deae277598700cc7e53332570b480da568d827c4129c19d129759b83e1549474717da8b375586ff1502b7912a309fd3433652aa4b7567566144b65f64be185c607a037b52f460320500000000000000000c000000476b177ddddd04087b2d1e024c3969563ebf9728d3cea76941c19e2f814da658a6773c2fa9aa0762ca678e072d8b583031fc0457c1e6421b6b1e91511104611700000000000000000c000000167baf0e35b69768ed8723319e5d93470e8f4b722e289d6529bbb04a0676ad3d080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000006e71f736862e4c49ab98196b08c46b25251f3f57e2f23902cb086a07b2afea17c081943669b5075665f0bc217aa3eb62a2564c2f839a0129db730a1ec96a7a38e45b3f437745bb0abb172e2b76d4e156bd497f56c13c2a7b48a4d3765414dd22ec9f5b33e4e37b093fefa83990578f7acfdcfc569e9c2e11d66eb05904bcd462851c6e705c42601a031c912648df3b50f61c035b552026412b521041b5a6ff3b0478e17833037503def4bc4e74140230b5df2e264d61b70a397fda02e5d8f10f531bde7961ecb115f909ae549642410294e83e113050734c3d417174e0177857d0dcbd75e4910c18f2fac505553c767e9dbbcd4bfb46c352b06c3a6791eb5a274c215f4b5a653c6b20d23e5fb27ef04fc699fc41580b9817a6cec611ef88027394abbd27051c52166280de1aa2b6e41d2cfaee761b136e0e9b3ab375528f6f2e3f376f151b8dd662df1434608b4f015b421de36d852a210437a66f3f883f6e3630ac3c1ecc91aa482dfd6236d67a0b2444287f73367b33745e70730ea05fb20701a508087b0309627ff909555959d331555f5515fd3a746877556727b2caf2537954a24088f7e732d3a0b07162904b2534a4a572f042eb023d4c4223169cca5eafefa65fd70cb132ec54696a974b5f30a92b5e2ada3eb0480a12f06b12c9d14a6f47c364552d80132a103c521bfb2c40bfde3620852316769cb52a75ccbc812908000000000000000c000000ddd67770984db11627ee787dfe97831965cb686699b9a9092d7cc362d2ec85276f4c75225c288e4e1d7d0b386584ad583b7fe92caecaf934938b1b3a244b9f4aef14801ff8a9df70d004e44e23608d4d74a9020ba9a48c15b0ca016d1a6ad13c88b6a07a833a807aff9952524b796561d92a7c5d84eff411a326741762f66b19edf07d4f0f95395fcfb322200a33b94d6448bc04ae627867e969b31c267b233a2852436b8b5f5b3caee55e5f3607f94791b66b1521042d746ce9341dc337a1207e7b6540a2327a3dac2335545b82a6572d286c33457bbc38925b68015d67640c6779c7066f65f2569fa12534b11a3312144110149a824e5063fd1a2fe5f15f4d04000000000000000c0000009c3e0424eda1ef3e17529c7d7b8b67140eb1554db53aa420a805de1d47735d7555cc9a692c80175e8f2173711365e61280cf8934a14e0205efe722400f2c783f60a69a3a7deb165ead78aa533f592c0a524dfe56e9a99b1f323bbb15de589b77523c0f47e301f6592538037451ec6f0ffe41352fbea56e39434f5329b30ddd1702000000000000000c000000c84aa351497c534aeb3e0313b09a504d07313704cbff723d866d9b2a60d9936c072a3a5d5100765c7009d51405a264208785417a093acb0a365d6d4af9f9e60301000000000000000c0000005cf85668ea3a447bc746275f6089843f6f08400261d5722216aca13bf1bee828", - "proposal_public": "b1a04c55e41c6c7347f37979b2cac65941619336e9ca7d210bb2916e8049867e3e66997e9ed5db6d875a10718ddb980d812bb164", - "proposal_secret": "4a19a321932712d463f6fcbd9ea74fa2e17f2e478870b45f7f636966dc0809113e66997e9ed5db6d875a10718ddb980d812bb16400000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c00000039d5d378755bdf24ecf0c41f047a017586e7da0d51c31d0f0d0d322878708f5cc17b57279bd10007155a5c7cf8442b5e8f3519025ea14b65950d1c128d68802000000000000000000c000000915e177420afc866293ed14d2bfe284250c4816668690573b83e1a02d109662553f5943d8d56af7d4709d5515cccad0b52fad0694465831e0bca0f3c935ac86a00000000000000000c0000008499c71c52202719d6d890128e8bc63dabf7cf0dd92cfa10c54187398017466020bea9270b74e42d737a7139cbca9a70d455d302e4627778b3bbc24e3f33205700000000000000000c000000f181f85f0706992d921e163397d9ef076552ed78405443633c86ec014945b570dde8b264a85b99380bed4b45ae11be61f2e1c9126dacc5254bea13210952387300000000000000000c000000b1a04c55e41c6c7347f37979b2cac65941619336e9ca7d210bb2916e8049867e17c9ea49888c6f2ea6a16650b8624d46e564e64d5f217a3d0ddad062446a4708080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000ce815b313f53c85d7bb52c6ba7031e3427d2ab6e6767793f8866a60bd62f4a58b8963d7c8869fd1fcc90473a68165123da0df566d0d8c244f9b24507f363cb67ad1c202d97ee53420d03da41a354db738212b3521cd0e87e194287691e88c755944ec64bc850d56d09cfdd45c54ce76ac00e99035a9c29078ef1c101363bd7776f38997cccbfc7513e8deb7deda8de5d7747bd2c12ed8a7a7224481f6827ef3b6be4cb47955e480eccfc3071c11c1e25a9a41c2f1ed56f283e07093898f5585712c30421009f4e49bee61d6eebbd13408b58cf1ca400e64260ce31412717d9128a484c3611ebc62b319719071794c41f90ee7642b36a345f76caad39c1c6a7194bf3c569bf53ef489ddf5f5211ae140199bd3258b7bf50788001cc12c1345e6c9b09606c846e3f5932caf8268eb9e00e58c8a43d0830c946e7b81324ca937716686fc956f86fae100124bf46ddc97010e5ad00366e34a25c3a53ac1cca16af55b35e0c73e23dd312fc461f7c738b8d4fa1d85801e0837e58afc7db7b7a519a1956ac4f356b305f070254ff5b9d7e3963a2dcfe46094df14ef7aa1c43ea5507219185db464eb4e65673fbb975c5640d014c50cc3c03b6f22a1793370a41525e725067c5448b86315745b5ec5372e0193d2b54b92c6762b41f3802ff51822d4e717eb35565ffe1163069a71e200e71375c89ec99386814535b502a0257fb44611000000000000000000c000000cd3918430a329b1308d6e70b337b7d152843322d85c3d0231b4ca662aea65968e223031027f8b5760b1c2808ee98fc440184bf269893405a16830f77fd26fa5517eb26184bbdc93d7987d32f92727755d52bdc51622f9c2862180959a365a13943729e46f0679e7d29c2640f6393dc6ce67fc844da6d840d25bc3a185e525202d7ffd051d8ae74483ebbde789576a80e7650347a40e456214c49150657c6263c993b4411706a4d2e17580a2eb5dede160012ad66f526e63b864a5017952af1768fcf9b5d87d52c77bc4ebd3d4b4d896e92067917fce7d51f26262d33ca3bf31fe3a1a405219fee57eedc453ba80b0e6e3a9040202eb1dc53aa916944056b415900000000000000000c000000434b9976cd96573ddfdbcd54b03eff38cf614d4d9f63d056e18f1a346ca8560c887f580a6e922161f6347b3d2a858329463ea9012da5d2457f4c39649648935a59ea0863a6035d303d352c3addb01f0933e4a35e4e14501ebdbc690abb21a94616f49b3696cfa80b2772213fafa0515ad64eae5854380a1bea0ee049768af97d00000000000000000c00000030193152188adc216fe2de00671dfc72090015367b423966f9902438fb13d20d85c9ef021a87952c5a2f8a131758e313b04f7e753cada16f04ed8b626fb0ba7a00000000000000000c00000039d5d378755bdf24ecf0c41f047a017586e7da0d51c31d0f0d0d322878708f5c080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000daeb982c9cb273645227655c48910d2976122b1a0c140f002565c93f8b58686482d09e143794ce1beef1fa23eb268e74a9ee2a74618e464b4eeee4269d2d0713282a9d0858b73d3ed10b3a6c980e212c5b4ac72e8854625d669f802dcfab687810b0af4166b79f597689cf1858770977f7431c2c78f0b95b7459c510d4a67f2f032b540e1d146c59aca346684f2cb9347eb95b694b47e001ba04942f1e47894a95fa3d680d70e36ba2be9e26577af17ea7309912382e127d7fc628618def3f4fb7b55442e7e5c838c7af6545c6a1462d0e1a5f3bfda16920857b270be57ffe6b859cbb11c624792970034f43a86dff3d007f93493af5c16e47dc8012bff8502ba744647b16ef8d3bc353982a570a5a3aaae175090be1193e3f782401a320cb2397cf0c592f0e4b3ca0380a106298d521d08796322e63ef025ea09a575832bf7a04bfef03fb9ff934e0aa911d02fa59747f28b72346cce6564f9aeb1dc6c9f57ce7def321fe566e51b2a19234467753734e444d391c0c932d0966e10083005d0e1cf51a4a18620e5cf6fdef5b63ea5b32bc3e812ff50df50a0595507ad4cd095d0e2bc032e23705021587cf36a45bb925bba56d7e2a99e51e890fc6616347eb5cdd3a87495a38b8757595143051eab309a177f64d733deb678641233fd97afd3fe40e167cf80f41044f514f2f96c8601e4b3fa3563296aa4f8dec673aa34e751f08000000000000000c0000002b6d5f3b8919760510ec7f7953dcf33188d73d4450668b7b78cde566ef50a07da180a527e948774600b33a546a051d7612cf9c67149fb54e699a550912fb860a29ef5a3d90ad3f02d5987c08cddcd95922ea490f76e85508df36b57310af0d786b320d3334c0fb0f6c9b90693ca8523fc7be2622f3ec3b15918fc46b0a7c2506a1c1660201a5c1743ec54769bc4f922e351f2b5c5340c73b870fa66c1c1e9611a85d4111b66b3f1d6d0b95299d2255368d15516be115612352afa15de176540494c2ec603be0b714d423812d8235097dd0a64d60c74b7f625893c65e0932ba4ac9cce802905df5051bb77816799b620dcee3117db6e64a743d989c628b66a82e04000000000000000c00000078814b61585f587c3535925b9a839d3d2bf4b92d1b31e71fe7cd027d253ccd57e4e3150106c814360309c47a3e35f872b53c810e07ecce0c01f9f05866170f061120176e043f3a4d37d7be787a744c15b261714130d051105944667247c45d77a4902466d3a96b685cd947679dc40a617ddc8125961f4b4b5f4c265b7883900e02000000000000000c0000005e45283b0672ea4d07bfdc2e0458df0ff45e2e345331f6372c3fe631ce42540c6840232a94dd9b6f1943bf4a27335c5c1eccdb126bbaa542fb77771e7fca697a01000000000000000c000000c17b57279bd10007155a5c7cf8442b5e8f3519025ea14b65950d1c128d688020" + "attestation_public": "9174c16a088c12217b927262cbcee3411512477367fbbf11e0be651410fe7658e289c61af099e77dc9241c1d0f5c901f49ad1764", + "attestation_secret": "217749152e81bdb01c0ca9dbbf312eb948ad926c22235c583954fe7ca5bdb459e289c61af099e77dc9241c1d0f5c901f49ad176400000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c0000006b10f42969a6a24c2f481a25b6c2b86794ea2c2a80deac5a41570320c333a50401fdb916cc4f7c45a1e63b769d2ce50ae9ddad26f5d6e40c73bbf411e9570a33fb88cf1ae7e016261f842559e9cec772bd4292132f77e3271c3fad5d419e41306b9cd70635343c636ce99a1e38cdda4aed7c4d27e2a5e25d31157f5e787f054bcd72351a0d365a0bff61673be4d34b5dc2a903007f62801b4079e40552512d6ecd2dbf3b4e94490b584c7a0860f76224fa6a4553b62f493486999205589b9f56048b1216ed1d9f693599af01de7b21420f7f28465b89d47717ab867846330a26d4f12c7a6229110f27f4230b9f13f14fa25307493febf72cd62215469705a84200000000000000000c000000fb52523cabf5de6ebdb13c0832a6232fbfac98580cfa5f564be4554377882d69e3c85d7ed266ba301fbf6616fd7e2355e2ff6d2ff3f65521f602a045da013d13f43355594d644d1bfe3e9049e1371f0b3365ba1db306c869af5a123daae49a0c5b342b6b1d76cb3a8eb53424f86a866c344d5f3b1a2fc04b35c0a33f2661e86a00000000000000000c000000347791244f139658683d995b22fdd63a29d4302a8d2b51516d190422841c237b32c9ff202b4dc5371d62fe6fce68221171590974d22fa21c925cb800a809f93d00000000000000000c000000fbd64c149495737402422a6d0c8ffb4a1a8f850d1dec0226375c9b472f467a1e62864e4a0efbd90ce71a4b18d5c1d82a1e55b676b96ef160e0b7fc30d688826700000000000000000c0000009174c16a088c12217b927262cbcee3411512477367fbbf11e0be651410fe7658ea45c847b1055d5fa8eb4507f17c7a33b489271b350a93623de9d47c62d16759080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c00000058220834fba1b01af22eaf0bebbdec39edbd8f03be65bd2198a2e2223f0ec363ab8d90073e5b937c12ae6c47b3a4613d54e2273ce1fae82ecad07354c19aaa2ded5da16e9d971321d6b18077ec6f7a68deac9152f89a755837fd1851b1552a284c29df1a4b75ba5e6aacd363ab4a7578c1199a316c443f7592c1804067d13e0e126ffc01b57b19089154077215d2f25eac9d5d0fd4479f6b9daaea54129d02369771a83811e2a069ee70c56e41ec6217f2af377353229b0274bace31b78b941bf38fd00f5e55c2361ef5f6584226330be54f93005e592a485e9d871eca775c3a7ac4f2088b099113efcddd45d93afa674d03d770814e7f33c9dc7a086e567805fca9b943c6d8ac78744e2c5336f0e2757ab6c4549b58cb154791a84d0b84255c5f2d8634ceb1694ccb1efa0bc97ed1076bdc906678c5d1262020107a183aae72f202a037200693245ddba940e4838a791991ae377c49fc2c517da053f058ff52137c19692da37917b786d2510a7ccd5ea4d27022a3d3615bd9d44c04e7267f3f7b46986167bbe15a852ea8293f1a2058a059846c4b178f362aa596464f2d1668846a83065cebd02bb3ef5d55ff13cb4d7cb690179a5443530f1d3a297388776a9ee5be4e5b1d28732889d172fcc7f461551b2e31293e1c487a67ca20f09c6a4cd8197136cf6dca5321c5f609f7ecf54ab3f4185155220471237e7d3f6bc52c3000000000000000000c00000077730a259f30023d93eea24422cae6466f8d2865cc486058e7ba164df00a7f4536e56b3fb5c4675ae6f918074c299c50898cab30fb472e2f6e2ee16aee8146571d42992164d2e411dd37d620d75e4a6d23ef536b89f87661b2512837abd6d377412b8069eda87a1da94d4601bd3844284fe69e353d4428390240af030f071c4436d4e1751bd3a160154e6706d473c223aa2b2773b66674742bba213f1259b150b182b836d849a23657cd16649f332352c45bed51645e4b5e534ead0299b1e302d6c6cd24bbb4030a972a0d131261df56875d2b7da1dce60a34b7f76175deba391eb02b2f4294db0fb1a9dd1c9fc68943e0d649370707fc66b39ba12c621fda0300000000000000000c0000000e818166e0f18020dfd5bc635890505a59c1a0657264d03d3b5fdc4b1618ac4ff0f1361b1d378342848d94659f9dc5790d22b77a5e414a6fffefc37930c0f7428dd0f655f64b674ad38cfd1748e8e72ed60ed45bc2bb984f31568b6f5ae57f58e5e95d49181db713fe6f0e1e3e590a139cf0041c8d22fd003d80887e7cc45b5000000000000000000c00000067d057028fec8f52613f1f0b870c0231c3c6c70adbcd3b5dcc7e7f363b1ffa7668f7412609c1d81159ebca75548ad668a0a5c56bb7992155ac6b2e51d347ae2400000000000000000c0000006b10f42969a6a24c2f481a25b6c2b86794ea2c2a80deac5a41570320c333a504080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000b1a5d73e5fc44804e6945746c06edc1774c6a3170983fa484cb9911a51457e2388c92c56ac3b25358a23b21151fd026d3b798919e66c095af4927f702199bb351c57da62ef3655256eb72654867af63b4f1008229dd68b7bfbc02100ca28860495c7653f167f5716150d5a6e5e935455a597bb7c06faf87696c00f1f73d78f205215f76941d37355540c4536d9b481273060a65fa4b76829f8a1041aafdeb42534b27d2f9af5024e7b9c8159aa51ac0b3fea126feb857616be1435611af0836643159573166809433f88c3344fd0822bd246ed3b027aae54b653963a26f725706ca55902249afc1e983445047960e55d961ff43bbcd67f1089a8e130f6c18f60f4f7556479a3330a394d433b40f398681e6d587a6747091292b9ee734a4676439c27412c35618a3e504ab702e0e72216cf53961f051bdf17d8f5ff0b1b06b90243e2157dbf124731b08aa5429407c673eb52dc5ec1667005dfaf956517293570c0a9bb169d937b11e8f0307cfa0db3144bdc2751b6f1da25ee12443dfed2ad2f843d445fdada317163fb3f70c57fcd14ac842e49ef80426c842b2106a34b3c2aaa49881ca8707e5ad5ccd63549ba7010ae86184ed75a1c71a51ded0aca975e528be8bc30ee198027ca75e03a4b89fb771e31bb656e065a553cb39c4b069e626501891438691eaa6d43369a73775b5f687baa3123da59193eb7b0b1240000f80c08000000000000000c000000a2a0390afb1a6330a4f817433657cc38e5c34d30cb85a730d871201e7d66a209beaedb60541da85dab47347ebba2c368b196782fd570646cf0ce5d0197172e4f70b2ef4c122d887d07c30e38e4473637249a923f9ed6241bfbf0b1089876960836737b2422cfa90962c8ec6f57f26035bff9af37b8926c5781564f77b9ae962a1f3e327551a0512e98cdd02cd74ac10acb67db38430dec116e17bd68e707377e97112a68cb6c6a1d4c67c6095ab0fa039fbbf002df1d636e5af1a61ad1c50c2f6f90677e9ef5541ecd05cf4db7be20643d14702e3313002eac5fdc607bef7c73a135d041982e36191b3f3f3d09b82f3114a1ba756d035675fc9f45658da8af4d04000000000000000c0000003c1be84706f52f49b374d93428cb867deaf2754ca5189a57229eef559e828d3b18950408f78a9b1ed0c0e36c3fab6a698185ee02417cf372ad4a633eb9bcd41161b0862f2ba4b835fd91561e265dc452a726cf20e696150abc8dfb066f91453a89c40e292c77ae50b1e78416b210a3755784b313725bd827ba640c0c6c3ce61302000000000000000c0000000fa16f055b0b8277bc290a57f6faa84f48e0e51359cac155ccc03c09d819604add3e3200c9bd621f39fdfd51e962061c2508935ec324660d63ce9139bcb36e3f01000000000000000c00000001fdb916cc4f7c45a1e63b769d2ce50ae9ddad26f5d6e40c73bbf411e9570a33", + "proposal_public": "4797d3054c06e57c7398d63d24eede4622d0e37a0e618b4ccb977972d851d916141815619308801e67f61327589bdf3f7f72ba09", + "proposal_secret": "81f43cc366c91177429a45a7ae21adb0534bbfdedb214ff060931e17647b49ab141815619308801e67f61327589bdf3f7f72ba0900000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000fec75e39bccb231066101300f583d52dbf5aa54601382a1f95f98b400a63d55d98fea04fa594b80e3979f13678dd8972c6c0b46742a7345b61d43a09b9ec1a4145c15b194fbf306b671b696a3f442f3c1f9aa75d62cb01473934aa267405e5354c939f7a373b5d68913f713366e4b23d995f561228a103756251ee69b28e712668b3453706eafb03d5bfaf04746b1e4c1cb7a60580bc1d6722b8a44a02d1f536b41464429a864e5e7c781a413f5600474816472320a7994783ba525ceb044541dd111d293a579d32cdfc91094d2c6922c7778c5e43ac5d022be2f82ba88e03681cb2570576b78a2dd811cb5409c55555fab1fe5c47abb061da70324d814bb24700000000000000000c000000d3033f14b591c3325e968c4876c380129096d8311baf400befc36c4ac4d44421082a2e235e43ff06db9ab10cf8dcde149322df30b98f423bf49b246b599e181951bd9b6e0fbbf737e1c3f510d465f70b638b451bb1c2955f4d073c3206388a1461dfa1514af7c71bcbca693d00852172bf803906ded75c0ca7ba133b5c61464c00000000000000000c00000057e72262de7b496f05e50d24c2a5905bea56ff155379741c081539672e17541277be0a5c73e7ad2047823e649f88a15cfdde476c0fddd92edfd5bf3848f1821500000000000000000c000000e3656164e6d1f05620a877667c1bc7217365cc5d91f3e0540c5ffc0569a3322262fde80cf97395684c02865fb4fb173d7d10af0df2f25101c4d384313f0bab3900000000000000000c0000004797d3054c06e57c7398d63d24eede4622d0e37a0e618b4ccb977972d851d9163301a3781fb6402aceeb5e147d095d0a7b167762718eb34805640a38c26a4337080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c00000009e7f0079ee57106af356879145d87522cda6100d01b8964a59c794c65e096357c746e16916f65413cd33415775bc471de86eb2349e128787328c3734913815a63b96236d6907d2c1de7184856a0a053413f252945c18032963a5e05b541cf73bf44084df776d7073ceac64f020c1816e69d3e075974662476b661645fdb37771472c837970f8f7613a127547f4f3e4d32ebb5092c76b920c2aea32566f08a70a344011e634b47546730875615654707590b916ca020030b44e8c06d3582a256e9368c5b57b7d676d16833482b35033419a52d1bd60f071403698e5298b74f6199cc9c29b3dd3941a95f0b770a5c695481f137593e1927407733c557397c1c74a245502fd35f8f64f2ef73784e92de3c9ca3ae35976ffc5c2ce3433307e8b672db81fe0a11a29b63e975eb63ec8a3c0bcddcf07ece76dd0d677f703d62cd8101fccd3f72617592603cfc8005c515de18f74b51471b86260da7593e3b2c5f5027f2983b12f4a54b05ad9e1a4334a73a49860cad740de74e16878efd3df8ab360e2501b103b006511c5d28733c565e656d8f0d490e42470e24be76d70f79aff65c8d14cc30ca838e53a930526cd68c006d2ce4700a9bfc456c3f162a14a6be9d791e25ab5b04b6c55debbe616dbccaac001c2a285d64915d50ed0d4a1de1db4e3cb31c8244d7f9af6bf7a6a4647fcd353308661f34fb7b0f11efa54e159a461e7d00000000000000000c000000875d533c23db4869dc1dda6ff15ba45aa6156946ae2f5063fda10455be51395f692fad2e696696436df19d4e0f881369b78cbf401d33ba1f3219130dd7f3460098fd4458a0828c556300da51117ec73e2c3a783404fa2b6c1d7491108951026e8efbd0534fb11f4b1afd893bb8d22e3768c881190540a65b42d42d4888175975a309a420acee6022141b927e7df658671b828a680268ec5ca012aa755263eb2e384b4c75b5b2976c87e89e6ee832ea7b359e70658dc4dc7cca1d397439a0246ae81a985ebdc85d026ecc8f4a0b42de3151ae0913793c5b3694a3d51dbffac33442fb8f0723bc713934deee58badc490fd150341ec2836e17a4be2938c6c6de0f00000000000000000c00000021ba51201cb56077ad236a22ac356622b27e1c2bf439336a3899435614285d54acaf3e361a12bd3b29b664128081e81c15b4160b9156fb253ce14751b194132b80073d71987ef7694172961169a8b35e82f51432c6b05a5f6aae0049bb34125190feaf7224895269ee4a2572f4f93f388f720f0bb82277761441467b00d63f6900000000000000000c000000a383f71a2d68886a6aea6670f438fe4cc59f5c10cb0eae05575c1f39d1d6e421d915424a689b240248615d0c9fa3877bd1f08b091fde3d6e9979d75350b0433700000000000000000c000000fec75e39bccb231066101300f583d52dbf5aa54601382a1f95f98b400a63d55d080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000004581f4ad43198764561985b474ee839df966740f1bf615cea1fe72c790bc31eb7edee78a8f0c53ac9f9f333c532f06e7c346e504bd4712bc3c646552be7383ea310cf1052ec814182c5fe215a6977776e41ef73572d813c9268d10e3052e5206bf9967704903b51b4fcec1e3f8319169c02ff39353fff04d593f661c0d7f964eae1771751e85a304f3c504e01a293445edaed1711e20e498c7c65443e7935411cf40a6ea7d9c670a5828a7b550836289a63471dc401ea11b017705fc1b93a09e802920747a92700d943ef60a1acf24ce3e9143607cd0539cfc3b3402c3deb2b6d026a05921cb37c994b3e2dd5f8f01c94098339ccf7915a9e4fa0253cdf2761f0c90139db623d140432eb56bd03222c52389f14307b5620bc022140ddb3f705cfb0cd3016d20702a89ee540e6fe380304e7a95a64f61d7778e54754c69dbb7baede336bb6b56f3918a33c31cdc02f603752db23a5881c4323040671e744bb7323246a54402ffb4934abfd2f2d26fe4808d4dc4f076c76306b759573237ba20571042c4a05f4350581757a6fdcf94169b456f50f2c397c34f1b2741c5777d707be305c5ca2c199751d8f7f63c53c3c0689d1730b3697c75d6dc24276482bf518a9952e023621e8470658f005c29ef16632102d6d3d871e18087bd1577524f36ab3d4633cb7cb577b8d3c9c5262c74969ea9e4b447033b00400df420177e89f2908000000000000000c000000ce9b786a87c96e6f261b241eb5104717ef7be83766f8826bccfb0759c1ed432c6a430e3ea104f05dba744442ec532b0e62168545c5f44519a888b361a0afa647929c52464ddb8a0b6d66f42d425315189dd5763ad168835d551669161d839160b2172c550a82e679d18c276800d3f55c8dda1c6d3aef322d0193f15802c91a68f0eced4a19cf2c1746d7d37b82e5cd5e25e7211db9465c4f9b0b7b58e239b64e3e4e9c3ef1532e51b4086a4aaba8f42ccfe21d3e5ac31e37988e04597cc24258a6eb5c4f66e7f3288911f323ef59a53950df013b89b53f41c5fd21661483500c2ff0ab058055fe0ffe2bab755d4f4b2e4cb7357593129a636984a175229ce06604000000000000000c000000a0caed697f5173591d9e4b2a5dc6ac24cf9c4467412c6a4c247550197767a827cabf815da004582472109973827ca2055f6cba65ad676112d3c6db42f174d40c9da91c5d2a48dd674f35f96b9551e401e5f4420a5b99152b782a2b53548cc210067f7f3b4b65030b7d86f356602fe16dd5fa375556f6252b4dc8044171f4121602000000000000000c000000a6052e61c76a4f2b0379f501a0b3d205518b02188ea3b114c44f373ee509af17838001320d183b447b7277609bc9b40a3fcd2041090ba24c90645c1aa50ad01b01000000000000000c00000098fea04fa594b80e3979f13678dd8972c6c0b46742a7345b61d43a09b9ec1a41" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/6.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/6.json index b497ddbc..24867bdb 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/6.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/6.json @@ -1,6 +1,6 @@ { - "attestation_public": "9629d25415dd57261bd9a041e9afe7089aa7f548b9023b580d466f7239ae5b53a24d5e0a307db6420fc2cc67d1435c0547dabe30", - "attestation_secret": "d68054521c9bbbc0c63ebcf3d85de1651e7021a6628e9efea5a770bf98acad04a24d5e0a307db6420fc2cc67d1435c0547dabe3000000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000f80f8b31e787cf70af02434b512c3a57d950b639f882c8772e950e4faef4ed69b3751e07b87e5f5e624faa736ce1e62a3a262d6721c08a5bca22451adf78282400000000000000000c00000019decf220252e26aad0f770423324b6a80a215477555aa3548b2ac7dfff46d4dc0697c2712de6a1718ce535f7eb13f5b2bf2bc1ff4298e35038cbb2456b6124b00000000000000000c0000000504a2011237390d2a5f9e274a7cec1532155926afe0667bdbb7b9670923225fafda3e5371263710703da71863cf55516f6801723fef352a6f09bb384e23ea0900000000000000000c000000a3f9840d26940a708b90a049f9e9e01450b97718bbf0a8001fd75335d2807600d418946a72910e5e8ace79087b01bb35647e9e3f17525010db3991330fbaa82100000000000000000c0000009629d25415dd57261bd9a041e9afe7089aa7f548b9023b580d466f7239ae5b531b95c8334d6541496fe5fe68d33f2312ab36407a117ccd634a6d4e20536c3a66080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000ae62b47562cefc11a682b4099ea61e0d3eacc25be7570678faa829089c696f11791d8f10647339047104500b17e62140a78d616390afa83740652f683747350fe001920db44e5143c37cec662ea807266c55a20234bff35e4fa5bd3f6443e9654ed2450df2980c2d55495c00421abf74263603604c29dd161696ae0d955978775f3c6a6e1d2b2e2d7ec56c26ad4a2b3a8e02c3210667a53f1db2ad688ce4b26b640d870cb1f3d36113e4ca52721d656a1d159b109efe1445702fc60c5c51d5561eb6c8362e58695ec5c53924d17aec01541c425b2871431f814bd62009dc021bfaf1ea2caf1e7a6e817dd913d678ba3941df760bcd43bf52c1fb3704142b35137371ee3e0202593d0c831258bc89382fe162455f23be4b5faafca8587665dc04713ad77d151f397e2ccb9b262f793b5f160c7f00e0737e5135fd1935e59df3382891923cf5c7732a151748683ccee26f6058ab3e1c3261287c4eb633449968630a70bf412bdc2a16e4aaf662cf91d61c1b4ca3701b89382da27c1554ff38b371943a946465449a0494bd2437cbe77b0dd16e1b638108ca25055b12604882b43a6ee4413d0872f9634e2c46659cb7e50c29186108dc8100470ff520763039d73726347a0b65a6dd5507140949286df52236bde94862c8b4642147f4744e6353778d0a4818f392372d71f0925d8839b94532733d29f612fa39839d947ab8b4221500000000000000000c00000007d62f672c15b822510728778d41780ca31e0c4bfa0cac0490c06e24a10586758a6244338236017c7843e268f463f031403f467a025437737e01f11c1839cd4eb51aad5542c2fa05fff237421430746adc20a22f6191915820057b7b69892d6250555d75fb62f341566ab168fd10204d31437e2decd27436ea5fb0147188355feab1a431a2d497328b7dba30a9bf9c7894fba220986c453f147415012ad544799acb9733bdec4859eec82b27b1b46f6404462b15f97cd8417368645010f16b3c8e4fb24909a82052cc7d1956bd0a44436d1ad156f548e6051cc5003a3cd9f333106ba6067e62d74950230d05242b8c3230ecf6403eb1190cbdafc6679ca7021d00000000000000000c00000069b7b02b7d5dbd0272233147a82a871fe17f0642bd31a259d0f5cb56af49fd63f75abb172a2ebe00534cfe4f2deb04550816df262c650b56408df24279441a4df3b3115b46c1c8139dc52c7180b27615a79a7e6540a3ed3ff7b56e2fffe1c8166052d418c2bc42662e5eff19b6539613e766916aa0130716fd0e834ecbb6f41000000000000000000c000000482ee6614778190befac3725860bd33a0dfd154f64417774c7953c08a413ca7c124b3f0a82c49e6bf8dc2c1f71d2e743bfeb0d68ab81fb323069590a612c480c00000000000000000c000000f80f8b31e787cf70af02434b512c3a57d950b639f882c8772e950e4faef4ed69080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000e124f36c59acdf15d8d1b65be745415c0c523448bcbe2240db9e2215f08492617c186049b1603d1a6103ac1d3616083894557d730d34a05d0bee297c6a9bf40db754e0783075a74e75caba4df2fade11f3522973548bb16cf0c37a74e85c381cee2672691ff0186db43fdf3bab80916ef044f62561ccfd1fa065fa75e1b5a815e377813cad8a002b5bdc9536be15b1135e7ea1387aa68c4f60fa35152c2f9f46ddbf044cb8682a1543d5ad1fe192090297cbc45b0e952d0785c316081a6990139cad62793650bf6eb23c310c0b235369947cc16129f3c04297414c01fbcb5e2e303ae04f8b7145044e61bc3e27d4bc741271a63eec120e3849dd082c7d153967eeb2b6437c94c007c28dab53aa83c870f3b2c5356222a73b890b8a5d68032d2f11104f77f16fa34ea02c1640d81b7f5fb9ab5c5b8d35c07636fef80d65afdc63d86af61c7760761976e582284514032f0c0f51026d6f125758bbfc0b3f17025e8594bc3a46607a5944e68e741abdaf72a8724b2e1293d8153565022f2c2d44356c6bc0686cdf7c7be8508d088a639f6397492105f2560e23d055a23d668432134db489282ac9a37c696ee048b5acf5772ab21944b392a76b184c4c0f307e4d3e270b545f9a71f87ca4f3025a5b732e5d2588d01b317d2f71835ab528dab5740ba59a05758232924072b28c07de718667c8a67e6f50e0f64c8688bf55d473a22e08000000000000000c000000ab33982632f73e0e9b5cd045495ec47a88c0837052b13750d57f742799649817cee0b25617899761a749a02452ec3738e2e0a44e9229d60b6146dd2c0205bb2933e4934d58935357ffcc8f6265840d446a784e4b08eb47576d39e023d6d085617a11515d3a1a4a0fd5c8686a2fe07c17a195bb3ee33506292759226ea07eff4df9ac3a6b243fb537a494473d19a07616a46aa70da7034c25aa3cef074a87cf2ea3e7ae1cfab1d7339b9b17461eccf5390ad6a721443f410b98b41674d76f0b2686b5fb4c59bc1a0f01540245991d4d5cbc759753ff27e06af7dcca4e6ada590238598570d4d8c9256a09125358a1f52071bbca0eb0ce4157964e997086ab827804000000000000000c000000d0d83d253c274e7e48c96f180595a31afa4e4233ba1f9f730bfc4c593542061d50a09902406d3d1e3f0f1409f100f556956e0b369025f615783d163a0b6f8f5ab897e83e61c0a42d6ed348009e5968094212924e97d512548fb03b3d20a5ea185815984e194e62746d2cfd4add159732d1204f5d2f397576a92b5f6d7aa9171002000000000000000c0000005ba4d516906fe063069f1b71c3622a27d738a1613ea52177bb99b0124116c84db35be17ddaf1bd10413aab1fd538645920a4363e1d749f001d5ea97e6939887a01000000000000000c000000b3751e07b87e5f5e624faa736ce1e62a3a262d6721c08a5bca22451adf782824", - "proposal_public": "14f0a56560a11e20276ea3375789f44e8c2b8100d7d7466a879a9b2f5ef419273cd770265faa826e82c32260b72f5c44e09e8c70", - "proposal_secret": "61d86520f291e7d64abe6786124fef860f1b3842b8303cc0bd8af9d84c703a443cd770265faa826e82c32260b72f5c44e09e8c7000000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000c7edae2591178150c472f36b4c8ed9311b0b69085d52ca3c8fa1061520de8d09bf1e94604eecf04673116e361923e3112240192c6e5bd773bbef0761bdd2172600000000000000000c000000f43d9055a6cbe8481440b406d717793cd541b72603209e2b401d8a1682312d7b36a0a70e2233b74236b8ad16c92cc13d6302ad6d11d6ce63b0fc4370592aef0000000000000000000c0000002f155e0941d93b7464382631bdc10016846f253cd306972672dc290ea603d041302c353778eb803525c94437ccc9ae1297b3d156849d98706d1007477198b31400000000000000000c00000013316d5803d3ad6e3e2000406db9e872f2ea1c2b9ee5456cc09f1a6831ae1c3a5e7c0c26593e0e383e75da6ccbebd622fa32cf1379e1a62c18de206a37eecf6300000000000000000c00000014f0a56560a11e20276ea3375789f44e8c2b8100d7d7466a879a9b2f5ef4192779a54e31eed123643d408c3ca9542839445545419a263b1d86437b1f477b7874080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000419b0177dd2279178ce41529adea6916b700da4bcac82b705488c13328f8ce69bace0b43349a9c682a96275ac11a6f009c55626c09b15e49957a5634bc99be1a58a977661408d4547cf877702a993361b8ba61051b93db1e2a96c35a230b243157969e06da1e3b3f3fe1d90d99369b26649aa50de1742a7ed0149e5a92e9d953b04cb66ad0ac4c24e1412a10b1c6737cbdc2eb51d391b568ee96f014abe9d50b34b3f2686d91c113daf0917ae24bdc3557e16541564fb02903c8402dda7aee385dce8a5c60adc923f154333564d31a7276637e15c93420087f5b5e753220cf197054fd087865a06be5486070a5b3c9583a389922973dc75c43c82705bf092b75cb07101ceb96df21368e5f629002062537f1845c071ec230f9aa044273508c0714005b604f836065a163d52bcb914d4c612bf35a52863b5940bb5223071b8d5114c41b113aab9b445bb42331b4888011c4b1a82d8c57d6499ba851630e632965a6bb4701a45351761db36842e523607e4044cd3e2d691b5f09e8d5736c19b323ab468a068f9393399072a01a832a3f0daeee3a1d9b827c2e7b9588523eb246235d7b245f5ab3bb4d5daaa40cd4495707f5332916ecb795078011a47427ed736bd6965066cedd476d4c1b5f7ac07b094a49530c11a2da8e28cd31d60d7f17bb399c784060d6c49f1f1532b90ef51ba061f92c8b2ca9aa615566f677412923b92300000000000000000c0000007d3bcb2c0db11811a3b1194da0bc3c7e56c6797376a0b25020e9e71ed1e9a8287209b13258a15a6ce70077660a976855124e6f3525d96a13bfcf2a60049bbb109cea0e42e739ac5e6252140d01db813a0b348c1a8d4e8749d7f558489b1b4d72ec69cc430f08d84cde254f20ee67fe7d91bf093e288d251fb1fb92004157984a7dc9ca277fd40c6f1308a061de94ce680473b276f8a16e43b14ca7260afba97c22a6e1544b8f88124baaa55940e86a155c171b786453461f3c22be466b35575264ce3e3184de236ec66038739cdf882ebbff436a8581b837bb70dc005475494f60194f2840a4c014f4e3403b2201411a03468c06cb538c32aad8552168f91d2d00000000000000000c00000034137a011962bd4d0d23f244aaabdf5237411033df32c947a4e8c32d322dc20194e4dd4cb479270c938e710f1c05e06d83edb43428f4ae52b09c4e496860501893f7442018c8875d863948698fb3185ab318c62cd76d8c1030b9a538ab954b4186faa5673854a902b7fb493fb3cf434f6b59da24dfa11156bd35660fb678380300000000000000000c0000003a3388785ba6d33810d8c6606dfa685c9b4d243d4030f16192732c71ff7a1e486eb794617ff81b7dd1891b4c91dee6407522d34743c7d344191bc6771f46095600000000000000000c000000c7edae2591178150c472f36b4c8ed9311b0b69085d52ca3c8fa1061520de8d09080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000003a92e1cb513645dacb2e37314172a02b6b71b725ccb9a2c730efa611c608d15cf93b15267b1dc5a0842a053e7efa03dd0d4061639d7ab008bb19824e25b5043ca2a5e669987dd324d64825b7501522e996ada4386451e604a983b13e551077a51ee114e3bb77a3bd5e96e6b49ace173aa6c6b0232684e7112645f786bc8cd6c59de547a9e97000b2b539b66f55f3e406f65eb3b3bb52734ce817f70f54b002c8e3af93ad517713e0bc66a738532775ce9196d7023ea196d0fe84e138e8571178a58450456c66847fbacfc70978b795e11adbc4dbaeb70046215e35ff021fd367453784df5cd560bc2200c4c6a3e184acfb7140dcdd1be057a484410dec39c57f4c80653d2c57f29694f514c56862f674dcfe77934ddc764b3a4ce1c7d391623940594438d1240377346011e1cccce21fd80423ef7185762ac6c0d57d16900405b85a72b8951981ace6ca538176b740ee91e5c78f6dc24026c4ca00bb7c05903b05fcb120f61a3339ca21b4319abe41e9c5d2a54e7cd8b4d29f45c4f57f6d20cd61fa25717910456de9fbc2f147227183033467d5b25e327c539311eef898d1ba0f3197e0f703a2b69028b04a9dd1c648f42d97765b3ea62539aae4bab2e3e0bdcb5731660988d656aac710e339e2770b2cca34e702ea95f3379686df617ef396e4e1e4d4141644ef39b7c409610ed2ace6d7d4b117e15166f3a6e0c77cfb57708000000000000000c0000007556f957c238406da88e050932b22373875c595c8f92bb23dad21225341c0508527d66113d945247ae304a1940ca712a0445c737eff88524961501368a7ef9372108df783af9b62db00bb3385898ff439ec4140a5a5e911ad36c905588bc37030511715f27ca10391d5f914a05691f3da2c6583a103e283c1b6295380994646fd8783340858e2d7e14273c49fcf52f51ef0d345fd6936e2273e78904951d0a14e2617f341e406e0530e11b3ecd4608258bc17b3972179d782a1a0b748019f445745f35273164ad79c0e884373222cd39ba6cff0d39341b791eef4716717f614c86cdd92087f9e726f64cd25d142f754158fd1e7534cee10df6220c222171452204000000000000000c0000008aab3c03f8fb9f238a818d08c07a7d43480ccb3d53eee32a94315b5725312137fe2ad169eaf0710efded784926779a718da3c038a19aac2d8473913943621a5c2222a17e47ff1b702b0a8c46f9ab5c395c81026de975182f9606d309a888064f9bc44b6b716dc91544066e3dc17fb2329fbf026e77ff1b08ff1f292ee8c73b1f02000000000000000c00000059289e50888049770beed3016333f875f7840333b6e2025723401014cb03196b0e9a600ea735f449c5211c6fe264bb3bed0bc95d71c26b3695269d623c0dac4101000000000000000c000000bf1e94604eecf04673116e361923e3112240192c6e5bd773bbef0761bdd21726" + "attestation_public": "8dead4299b11eb0d7a0513064678f53b7e77e923f79e8912d42f5a79311c4a535f4c770903708a6480203b32b56a1f140c8c9f00", + "attestation_secret": "1d98a02f759edc7981ad8e93a21b32cfe925073c60fd22d96d8a61238fa8486e5f4c770903708a6480203b32b56a1f140c8c9f0000000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c00000056b38d090cfd04026e15e27bf557102722363d6823de7b50912d6a08fd83bf28a9dda54e8ac5ff5f70ede272bba0f50645651404e5981f5fd002540c70043f18c929bd5f567d92600e3cb92723d6f772edf9b60fd26ca8158165000035fd1316ff461d795f1041761044f0183ff4046deaf1b402deff1c0efb8f5e6f0efe5a6a8ed7d45ee15ece292b732d0a6d9dbf29e2b8dd09716c3d1946f1c531d2bce67930882c693c5120458929de3d6218bf35205d2f3e0a047e56f62ce558e525ad22bd34c0674fc19603b91fba2076b8de20fb98ca5d4bb1ea665c06e86f4e214c460d529114eddd3d13b193a01f371de54b9b548b62777b51658491cd525e592e0e00000000000000000c000000055220276b4b3d76f0df2f6839b8365385dc7272e41a0921785e7c2bf1e6b5267444fb7b81c2966e6aef6b6b5aa4a9765600dc76e883e533eb36ff5464be5917d4d307267431b156b28bf107dc0d675c3e0a211f4d63e56ac284641d63c38859f2b49500dbe433030dbea14510c2a55397b25d0eb0fac807f6c0bf58bcb7b16700000000000000000c000000b1973f7651fae6242fc6b350e61bdb6ed311904edb61ac650c9f34130a43e02f763fe049c519ef3f31ab0a0ebc39726baeda3a25afa0630deb335067ecfcb43800000000000000000c00000026ab775478fc7b4bcc585133fe9f5550ea8cca348391d634d30a2b2d2c2411263dbbb24ec5b997690eb122668a3ea067f1b25d14b261f34160c134101228d97900000000000000000c0000008dead4299b11eb0d7a0513064678f53b7e77e923f79e8912d42f5a79311c4a539903ab3e479dc34000febd1291fcb15a7a2367388ffb5e49047ded3dbe338462080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000aea4353dc0bc8b66a76eba1f17962462a3d3d7440a447f54d1a07844051cf43cff4f8751d172e524087a0b6d12650b45f0f757556f0f121417dbf7585a2d5e6609d93273c50e851bc636cf6eff6fb1257d9bf0187d046e38c4268605c9d986732dd1c2431c770a0784e24166a50aec14aaa2206688ce21250c2a6f14b97a2371c50b2102114b142e9735487ccc580936940bc639ade2ea00113c794e4e23bb1a4961be21724bbb76dc1b831163f97302841a7b16566c2571ae82fe413f169d36858cf304b1bb5c6efeec3d795dd53751f0250610f160613791b6cc064389522ec72d914e070567228faa902c186dac44ddd9a502a7063d47df1dcf321a57276c917b1401bcd5db05532708647593da221e529f0372925946a89be46f13292c1da0e2ab5dcbd30342e9741e0d08b0fd17fdb4474db636555637cf381edb491c58d7011c070e71463f7095490597b08358088654370317102d83a69e77e89f0a6e75c0122d47c39e489278aa277af5aa79fe736025a2b08664378b53797d363a0cab781c46befa5b73eeafc56966df6c1bfa1d4737af8b141c9757dc66b15a5657095e03233feb9e662bd97e23e88fd9435944ed740cd2dc5253d4bf6ef93f7a168b454b35a6a2b63b8cba1967cc20e37c7fb2062b092284100d0f52208ba71c6fe74a2a5d00072c2bd6e1fc7823cc2f40993fd658e724a3568faec00fb89bcc5f00000000000000000c0000002791085b3db2c7755593ac10172238524762d32c2e78eb4a06048202bfe60b63ba1e72035db50a25929d0369550da56854b6b76b3facea7052b75931e3b6e6327cb08146224a23095fdd921dd45f6719173fcf01e6da5c7bde1af36473205469ccb70f4a3f9b8a60191064186fe6171f1ff967073c9e6a7a0371841005897203cd50fa4e16cb0c7b861fbb0db266af579c97021dd1e90c7967296e4530518e457bb3ac17ab08910e01a72b56c1d279356df3570bd13f2b517371130675d03f6ef2e7c66c03fc3101662fa84e073eb12259e04e1767bff81ac93a6c35befea0115b834050cabbf74ccb15951defd3c6641c47b402d6988b217317eb4319099d5b00000000000000000c0000005f44064682ce3d065f9e9267cf352c73a124fe083cae4209824c331c78bfbf2f7658e16f09e5fe4d163a5c5719248760e67d380796ed630ef1117e59a84b350744ca250680ca302c29bd0553151f764c7a237f28bbab4d4474155c29e898172e32d4603c6c4e450b4a2db3209471210091c4a4447fbdc24be9b641607bfa933a00000000000000000c0000007e73cb53f151075078d024732749b803a85435007499be31a704153c065543798c551458b3ea893bfb77f2479d28a21429847c3d6b942b6c7cc168688c9e5f1100000000000000000c00000056b38d090cfd04026e15e27bf557102722363d6823de7b50912d6a08fd83bf28080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000009d6e04022d68696c8b700e4e8dd326015f69b15ba2501652f606b4032c496a50f267ee20095f362eac82f97b8a503712841744011e8bcc20459e491204a75f120bdb44314e7a724f37eea811d77ecd12841693148ebaea73983f1903d6a5f667a0de782e107057205a329108cae4447ea29c5a50fab09f36c4d2b529a0df6e7cd49bf7272ca135391c1ed7313077cb3630ec3a3563e1391e84168a74e4495112f7f1e20636ec6b4629125b23c49b2a040844482547f87951b010ba675163d1794dbb7933917b5c5c2cb0a6272607f06f5eefd21cbc947e38a1bb1120e0d74d681d1d432370d7846000906976b6b9c86c33528519712e546b5bbe256058c235355d3ffb23a88c0f4a255f2f7329646017a740dc2f870e4e27b924ab727a9bdb20a5894721832f8d2e2cf4933474bdd3148a675c74e598fc1126dd4d7192f5675f1dd173709c223d77c0c9184c1bfbf91492a47c0436803029133b0b61e74f4018f3dc6d4b48dcca6882a4575ecca21101c592f436d7988248ded4f538ec9d0b793d716d6b57c9d01a7d15411bbf4370046f7599445a13890b188fb71ff9d3bb1edf8f6319d8795d329efbed62a0e26106d7caca2639f7ef756e857264e393da5dadf50d4baef24f6c5b0ae500d5be9f5c4d6a4936a784777287ff85451d78f85c9e8ca8636884ae7c466e296b3ca5d161163703193d232b39672aea2d5178423008000000000000000c0000002522743f638a59197ad2572b37dd84538bac425118bb9a529188066319d2d97c5617496be8a93755a5326a24bcf03b302052806bf8c21b155a180859e31b023e2388c31a39854534e97c2a4190b145014a772e50f1cb95119e9f7e52104596732e91c2580096721b00ec5b469cc254479cd8be7d5a769d7178115d0f5f17e72e3308d3615e4a8e715807b7220b992a2d1ed74b28fae8881740615f0bca537c7dcbd2155ca4e06e3a31d16d05b1c7fd592542ff1c12b8315d4259f37e5736533622c4432657b87913055f2f5b8eb693697e14342816e0bb404eb49237c1218b4613d7ce2ed4409e58305681250ebce12194d7ad128ec4d006c9d8d45a5dd01b7904000000000000000c000000c8a11f4387e4b447af7ef1580f703b7cf7712e481ecdf349677a912335b28c516a703c19e4834d04ec771e389baaed6b6b1dd33cd950ae4c4ede325399027b6204060a2e8926c7041e6a0226066dfe4c3a911b51b776e640996e432d9996eb73b081ff4af1872269dbc2b13e27c80e189872774113ffb44cabf1682398fb426c02000000000000000c00000032a07f5eba8a51253c0657430520765b8de177587286147cd0169a56f777540400279f1700c1fb4b476afb001ca9f3114d53b102a3360c3bfba6b548d2d7825601000000000000000c000000a9dda54e8ac5ff5f70ede272bba0f50645651404e5981f5fd002540c70043f18", + "proposal_public": "de1e2c0a17ae143af14f792904e9272bc14b1625406b0545b52c4a4ea37e2a5a532c7617a2ffb622880fed6cbee2541bfe079d13", + "proposal_secret": "e5175e7d8bd0c07237665b848a02df6752d5990bbdf406011c059814b806054c532c7617a2ffb622880fed6cbee2541bfe079d1300000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000b274ac7087c8d940f587b86263731d33404967232f0cc12ad164a57ddfb1c821510adf4a471233620e2d7e0ddbfbf0700fafcf7a3db5ca2dc1b4ba0854a5c07c0b731165e5489a42f0719b20757fd7053c1aad3591bbcc30c0e8372feaf8765d03b71659ec40b36bfedf77174da331730e91c90aeaa0475dba0f0237796030020e86b96a970ce22f61932c676d7b6a029b200602eff6f078beb7855125766e6410bb591b83022624ef951a5e90450b41ac73bc20cdfc5e0df6c77e79b694db3cdca33052188ebc2773bbb9081d9ffd154618775a93ab3b7152b99c02c0832a0b04eb3e79d042d16d4570074cf7cbea5118ca8d3975563a21c8795650062de30100000000000000000c000000e0a9065c80b7823cb9ac1f6961322030123cdf701afb3b23e82f2c78b477a94974ea395e63098b6592d7ac39a1448f67b5da9f45b4ec0c06ca24a8446ae01947f4d8092a85327a0370618c541a814b465d84687b4c26e5397a366b409b64ab761c0fbf48deb1ab2ad25f054d8e4b7116baee354399465e5bc2290c71ea22323b00000000000000000c0000004389026d92654b2c5fd42b051d0529550e329d7e0b3070191e73cb10a6226d132cda5b2275b3565a125a450d419e79356c705810a01daa11607032143fe8cd4f00000000000000000c0000002343900d684de52e721130672a925874243d2a6b45bf9156f8a2336c3d3696415e56a06a47ded83b0a55ad7e7b42090ae23ee31ea3ea411300389a5a3fc76e4000000000000000000c000000de1e2c0a17ae143af14f792904e9272bc14b1625406b0545b52c4a4ea37e2a5ae6b14e4510ab6905572b490d640c6036a5d1cc153cbb21364677f8325c94886e080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000537c4665b25d657eb1d9b20b484e9e50e05079052b4a9a17583faf48a59e653cb86cc12d176ae33a65bd7b77ca0e402dd45f363075688921825952508cfdaa303f4b24179eff17658bcab7177a942707d870dc5ec846fe70d2d3a647dc12501305c480129542a3652a504f22d102810979115875df0a4439d49c5e7910cdb77ea1e9a401fad07234d5423338ea7f983bb749906577a7533650721d430ce78b30159ed875b9d49a3005c4601590a550626421700717a75a28264f653ded73d315a9e16255d04eba16821e601dbf8a4a285139620d7e0524210ccb785b26410a22a897f637282bf73bdc42286cb5eed35b2051b5088e72783fb66e130c3264ae2a998e854315e8ba32982cc661737c2e4b92f96a2148385e017dd183223833aa3c3888937673706b5e2f475f4b2bd8830316175369dc87d858ef1af755859e131b3ed32f2b5309311daf058435c8e79334ed46ee565a683553feaa6163e8adcb06c107fc224a3e5e0167ec661a17cf0822ed1dad582a8fbd252e12e575239ec2080d23825f215e332a3da6ae51792b1f0a1a355a543372224e13c1743be9f72257ee021502223d9e28233c9c250d30f02881f89513cc4bfa5493a3854e4012014fd3b72357896efd4a03ace07e8567b87e268e077ec5fa6849cc67be18ec25311419e9166d51a7cf1695b2265c3ba2b333e49f526cd899160f03d62154ddaf0f6600000000000000000c00000022d6630a3b21f331b80e845e1ebf6a338672a94fa1d2ef0ce2a1d94ed08ae374c98a9b1e43dadc541f6b5843a1110c588aaf0843aaf86326f0f6c958d73b1e3172dea77bcaf5f863bd8421482fe5551f238e02695d3e32603bf01f5abf97036d5e018521e3c3fb6adf2da86c1e61bb18ae073e7ced45cc6a332a493fd5a68b2f4b2d3a52c571380702f3b127171cf07b5360565641935d6b7da6f31f431ad32445f1ca230cfce00133aeab38444b1631bf85e72cf5110a4341126404f8bd271a2285287d4034b03335894842acd74b54855ee1035a8d090f43fe405cfa66d54d51b0742b3887c03e0fbb2b3d92ca0b444a78e216ee871e360a040c12ff536c6800000000000000000c000000f6e5980389257a41de1d7a2151aecf1d867f8813e26db25b4c48c90421d6fa638241bf541a9c4a08f8595b2e9af2b50c62c4b06214b7553a3b2e7238319c1c5e2e448700525909095ba7905f91dffd070217ad051d93e96b30554927b34af7721437454b36cea91eb02f285e3c91d922672274302031bc5e6c9dd9786e888f2f00000000000000000c000000732a487bc302d5354e94d320ec4d276ec69960322a3b2e075db0390bb6f17951f29dd91b3045cb60b3a2e55f0684ed00c5b5b60c0c749717d8fe2c34cb0fda3900000000000000000c000000b274ac7087c8d940f587b86263731d33404967232f0cc12ad164a57ddfb1c821080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000000c88445dcf40fe4b67b48f65c14bbe2f5e5d2b2816f5e41ba1d1601e820fce31f76f147979d8c24b0f2c197611412656b9e59f5c04e01b3a5dafa07d49cc33037597b05db113ee338acc2763d03ad75f6222a128f179b264d3273762b428ea2afe0d7d518f64421542b7590b2b5b174391e390366cd7fc6476c29a40a2531f64c33db45da4d54e182631126b57465d0b2e55bf6644f00e4dfffd4f657f1adb58d37f9d7443ab2b073ba73c0016091a4a0a7d981d9f19791fe1bae513119ea97b95802517e127c33f53c05a024a5fcd680294f27163284537a473614edbe5670404536649c729e27d9b7c0e5321287d4abd96f4616534a8056557993255adb70887c2a71db064193c8ef5ff70957d9d4eef69975129bee1340373925e842d9e5bb6ef9450bd64f4072906704735564e5f0715d1568e1c2d6fb7b4311a48b39967158205488fc5d267e0293973c2f02e324c72fa08cffd707ba9aa7f2f68f72d36fa6c7b150b66174c0ecfde6e460c105443b57a3b3eff542f2b59596f8570cb4b5d26e351963ad936ae8176111f08952e70f1bd215846ff75f1dbfb1de3f11f1ef2603d082ab33215c2e0a7211df9fa47d09f616103cfea52fb55bf6f011d597659b47d1536962522da29e522752ac5324415d20bb0e85d7de41508432787156f034a655fd3eeb27a4271312abbdfd9120f79095d4ea40b18f428fd0ad54f080b08000000000000000c000000f02d6a57057a171e292fe15a1117445c26a66b06cbc4a3107c81e256c296a82254208c3dbe677b63dc43682e924b9314d4048b5399845f5f07329708a42a241dd52ff71bd7874b7e7ee6f613b29b40471f0dc2255576267761590e1fbcebe32eae59336a3d537b37550a815e810ef93f02a87d09b17a94250d7e7c335ff35953a5cb1213fb1ce8627dd91e7567543f4b44941118b1e7f22e4a98f2216751a56f7b1f166620df4b1a21786905cb22af0d86f4153767a744005c056769c9350a1de2471b13f50ba607abe91c02f6e83810d725fb689a103d52bce07c482d3834064ee83475882ab912c68b821de352395b1ad6141e5c9c49379ef0cd3aaba1cf2904000000000000000c000000b097676752b2c967f8909f162ceb0c50c52b9639e01c9d1dd1efd4354f948e2f5ba52c0ddbf3d06baf048f5c2c407c14ce9aba1d36c19e3da812476daeb5791bceb2f673d407fe670d02a7548794e1792144924058b75b18f5146d7616c15a10061a065f5a6c3526f254055588aeb518f175d54e1b58390e58b50011016ad44d02000000000000000c000000f9821d48c1158d492cc8fd1042f0910ec0cbf2133300ac6dec09ec54acda40032fe40422820bea6b0b564b14c68d5d69f3b0c31995244c1600d25951eee0f84301000000000000000c000000510adf4a471233620e2d7e0ddbfbf0700fafcf7a3db5ca2dc1b4ba0854a5c07c" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/7.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/7.json index 0fbed6a7..f00a6ebc 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/7.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/7.json @@ -1,6 +1,6 @@ { - "attestation_public": "7675f751a6c1821f92daa3513134d055f75b155011f44058b1376919bd623318a5ae8541557404301f3c8d14c15109654f2eab44", - "attestation_secret": "571d11ca22653c8dc50001f47d46990b948021ac520188e8aae65053c085552ba5ae8541557404301f3c8d14c15109654f2eab4400000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000e8a7222c6e9e9124b081695d42f67f031f930f6e7a026710753ae43e386efa6cf0082c63e4cec17002080b6738d9bb67a911b37bc859ea15206f9e7c3d56496a00000000000000000c0000001ea9b42904ab07392439d33c8469260ea930bb67a74e507b56bf702da2ca557b84a3065968d2d44b222bcd46651e24659438e90664164b2438614d3fdcca946b00000000000000000c0000006c149d385712ec3ed0aaeb37b80a612d9e96ce2dc1553e0c0611610422d4d75f4296e177cc9d6075e2a1310df786900e2a763a75eb5e7e25d276935e2aa4677800000000000000000c00000090a54f77060827492115f114ea71730276bc037366404a0a43143477b826030f25bd4e6b871b117d2daef6128318a229a2be53275ee383076b30d20283a39b1a00000000000000000c0000007675f751a6c1821f92daa3513134d055f75b155011f44058b1376919bd623318b6485a640665ce1c48e6a147944a8d10c36c2a35bc3b9d5508a38b186fb7b564080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000001f4aad20f035c230f53cd877a89b3637601c3d23ea23593a435af42707f21526cd54f62d3b9b6c2da54b89382337f4630ee56a5d7eb88a7e81e00976c1c6ec760dc03703702f2665c87d8b70ed38f1396422b225101cbb74f47d18105cff2043dfc08273d02dca2a3e1b9323f5cff47052cd7c6e1fc9802465588557ed7afe06f4b4a55fba77db3879a89d6562eace0260dfd73e6c1cc37a3b52721f490de34dee4527503767151861c19a14d3640728753fb6412f3144582e056429755cca6f4f25572ac00e4045cb41477de9a02e194ab6ec5f039b0c17a5805b4b0bb4b713a5b0181f9ec8362eb951e4309374211655597450302cbe225ff9362d392b474996787f52c4d42571737f7a776cf18331f87bce54570e381eed5579212459ae356058ef54c2cf0a50b3324a3d6575694f61d96618628b432805e5f4101e80bd17c06d0f0f6a7f7b68a0700e78cb4e323cb7ba9d7d7732964300656511d2a82e4718db833695746e7519866e3caa83002bfecfcc72b928256b936395027a0a1a3faa3f7a25600b0d66dd48c331722c565c2a175222ddb8c87538b560426595ae68005acb3bcc6b9b033dda3f421e4bfc432b26817cb0150c55d1c4950dde19fc60ea59222c80c89310f4815a2889e28306ba6b02380a0bfa27c3398209637f7612263bcd5debf8731449855c52469c103dafeb83171616db29266a790800306b6b00000000000000000c000000cac8690394c20f07d8bf4f74fe48eb04c77813495c1ce631d3b3dd3e87de5769d990116a461f0676d932e93116867f133f575075e123e7061562fc6804a0ca5a73b50222f65c5c392a2fd27595da2d401429c265adb01b67bf5dee5066e083586944df4a3ea92f20d86cbb48f3e4890cd1ccdd72cdcc42120a950d76b8148e729ff32018ef6cc57a980fea33a864f475297be43a958e5e6bab59a95ffd1a5663a5b22b511a97013a352ffb03e574981f4dec032cbef6b05a59b6493ac812f329aedfc9734b635a49f5ae165339f872042b13ca022239211925931711c0b507068875b3333614c02319411804af59781afc53f6501cf5af36d632df6dc9b8f70d00000000000000000c0000003b80c955f285a77e5beaa8394768934fc0a0b10cd6face4db132077e80ff9214586de02ef8406a498493956f2db964617231fb02d470a102bac14d1a62909c4d6eada558a994901a76e5944a18328861774f6403e9f9be624e2f3e7350ae641ee4232606aae99538a326385b79d016056c2ac11fc1ea7968fa707912ec372d0200000000000000000c00000024d8093be88f27559f5cc624b5537251931b981f50958137005bb919d23a25669d03fb005503b229f497b11cf8f395712b90fd4b7e920c0cda54f52dc1138c6f00000000000000000c000000e8a7222c6e9e9124b081695d42f67f031f930f6e7a026710753ae43e386efa6c080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000088916006a4bb1541a982ad0610270b45ab39a3053172f85493cbf5174725ee4efacac12cb7930d240fefd827fd5f9c32df6ae91ad7bda0473941896067c65a42cf8378082c59e559a487275adae7000f18e135728cf0737cb922035516770243bfc4ba44b17a4a4c0337ba6097cba5431858415a7961504f1633234929ce98435c62b27176294e552d315a172b6a96577ae8084bb7323067b586ed4264d4f203dc33be69c75fcb4de69c260fe9dd101041a88f737dfe0122c91a83371355551bd5059231ce3d656367df2a2001f9184aa483ea2dd8a80d63d4089e3184c729444ebb2b0175cb293da3ac5d2879ccb870e4cebc6a19f0944848fb73766e59e5579e41d14fb361744fd4dfd0401f30bb6d109d6a56102ce7057f95a43092d760501b1d516bbbacf1314c4e251b49c06a62f8e0e81a00cf882197a6d63ffb621b19c1f278463f26b530ab0f3671dce22038049eb75b37f0790be71f173327a7be5e6479123d13335a0642ccde66e3a22538609f172a7be16c1c25cd63397d605320229caa1b014b104311db654e6c100a20e006691884fb7e648ec5191d73fcc903f6a2a6313474b304f73c7e76ff2c5a7ccd20d644773bb11a1fffbf691d4644774e266b396ba34c11e9ec1610327b2c4726cccd4ca3a4d3360722c16c590bf7108f2f503441466a251998d25f639f3042d856795ac709f3169000c31a6482981308000000000000000c00000005ac337c6fdbd631b1bc574e0828d11729e95f3201f2c92cca5a1a3d264834324ed4474a1a640d4df4639d5bc622e05edd6ab56b5940f1530711256485951b26f61add62f167154fd0210c12a282212d1b2d976f228bb0490f9acc1a7da8c80dc75a6a23fab1a306b482640e628e3e0304edf238c19cb01e050f594d22d2ac1d64109f1c75739e078ca07459c07f0d4c646a7a247473c82376884559bab9a81dc354b7208961e1629c8af50ea3f4ea58e06eef5829fa8f246e5aa660e6da6267a1e77e1a9cba99511e0c6715fc61733bea2103400256ad2d11516523f3d2a03a1ec7646a60ce5a6d980a253c51e1f73a9ab6404ea7af9935a09720192915f86304000000000000000c000000bf9b692826a55f63ed48da691bbb256a80dacf580fe9be1ba357af24edec0244b9d99c0f4f6b9d181427524bb4cefe71d057357dcb677d54cf9ec17b2c110c48e478cd61e3cda02e99ae1a67cc366b3e13ec0234eca591171542e01ba1acb172f3062d1956a206519584b305706c662337943735124c661d5e93f94bd2d2832202000000000000000c000000d63dc0546d31a451aba78321de32dc08713d0c0861e4ae23272ba32d09023e507f36824e99e1f45224474b5e2b0526024ede8135c2fa087635eca55ad2a2350f01000000000000000c000000f0082c63e4cec17002080b6738d9bb67a911b37bc859ea15206f9e7c3d56496a", - "proposal_public": "3a0c56152f245f3c68162e5f21e42752a85c7545b8f6f133216d467a96ad276c2046f80d6e13a14704e50c1e7947c82651407b0d", - "proposal_secret": "ca576dfb2923da37f8d5e2b752b9f54623ae16a19dfd30e652eb6d8d7c22c9982046f80d6e13a14704e50c1e7947c82651407b0d00000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000a4025e4762f1050017acd46bac9a204a86c4d33bc7c2365ba5ef166c43eac668515d162f0e9f55129e5cd40008f16f631e35c36227fa3300610071214089181200000000000000000c00000004a0dd3e23fb2638554f325f8fd9ba68ac2f862c95de445802bcd1708b61da4eaca09f1cce83f737bdb4a33ebfd92e73ece65260f81bcf42411e756b119d525a00000000000000000c0000001e68053faafc627a1ee0d75c2911d731a12e902bd63685210ebe272637e74467b523273636b55d196fbba259cd5fde3f4e7b4d00880c580495dbdf1fccaa587800000000000000000c000000a7a47658adc21743dc45594b8ede315ef2f5934dacbe0c30950183584f672368d6abf20f48a6da05822665595ae8773953e55f3c0323e62dd52da512d8c4095f00000000000000000c0000003a0c56152f245f3c68162e5f21e42752a85c7545b8f6f133216d467a96ad276cb29a37257896c5348f3a72728e0d3f392a45d23b6863487113bdac721ab2ba5e080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000008de4510f51994e73df85260732e0d7275859954795bcaf0779c103393e959737218def2b452c521a96bb854a9527e6123e40951de3ff564b39417c0a6eb06f78158ae91e5628007c82bc3f7c6488c9606b05da0565fbb30d5debb86a605a2502531b2e63a97bf05d8ca8cf05cd54065901476a7b7070bd5564300066a653e165e34e4860e75d9d565ad06242abb0bb55d111e069fd52d11c8139cf1cd3c96c30c98df46537b681228bab153f90c38c1273f351376fde61709219a146f38e0f03640fbf1d2405331406bc920f9d7f4a4b85f77d45411bbe0d2eb05144760cac42a3a4d54fbe825b4801811c66ae5e8e3910357d23ad031969e7cb3640b3aabb6590044627da442e4be3c12d445c7313530354cc7468ea217d39d5fe3bba4c0710c888a276c133716ae8a03468f9d0a82496148606e27926451eaa816d1c322e5207bc736c45c4261f06f470693042565307ea8555c24c620ea125ad61d873aa1aeceeab20ed240c664a4008262cf7ef4afb4de70f8671b94a723ed3377fc9751dc9d2d305c21bb03a578c77627f932260bd993c607c4634608ad1b0754439be771d30f84cec39b4502451d07d81c2f01a809f024f9aa69b12cbe3505b07e89c25f43db03414d0e62995566851cd80983a9ed4a531984c152a9401444acecb231525e8d04122722f584f938769e27eb67cfd318b233b8f2644e432a0332a70172800000000000000000c000000d83ca20c6cd4161f49ec5a743597d359fbc3646eb2eca8011e1d8c6d8c0de81726b8ff2b43fb7444a7fc1114ac70ec616c73d2145321ef5b16f6d06e2929697adcd5bf40d5fedb2b65796b2b1c2f4517f31ccb76cbede8168c551b0918d2053140e85d1d4c3631331f39961525aa7d7a319937096368a65f5fc2591179909f641bbe226216ccf515c1495523769eed4f303e6c17cfa83075cd3328327ffc325f142e0e76d660ed3dfa231969ae4f4230c4b2c8152f14c3508f6fb56a98a25044890c0a4a65fc1d4fd7007309caf6d047168e8126ca1ee648697ce063ad2fa008e2a5da67df868b33a1c8187795ae7b15cc489976186d5e236c9115739c097a7800000000000000000c0000003beaf159c973550e592def4d9bd47d710b24db7d5310426bd468663b6b090c3ecb1b9a2b557e370cde1f726b51f7b42ac5d8555fa47d0264342a3e51a6d7137bc7bcb74ff29bdf7c4f997470937f7c1be14995390727b845ece0da7a308b68793de5c82e16c780795152a55e9b412d5080d6ce1200e5020c777d7a6b9682906c00000000000000000c000000120d82355574143f696684408881e83f8b6e600673d7a276405d345829d235583c49653a13db011110578c0b80e90212fd320b5549ecf1492e0d7631f7d7673000000000000000000c000000a4025e4762f1050017acd46bac9a204a86c4d33bc7c2365ba5ef166c43eac668080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000005364e202d181f30f5037253ad3b986070b997609c2e37b45317508591d8a3c504398c90e6bd8fa71f846d20230425948ce89966bf5910873e582043fddb20709a78a7b5bf9181677c7b8be12ffb8a96e98ccc01d451a1874b554d826827f9b0b65b24d16368763693d49e8320930df7c2571582a0ed5ee1ef9b0f31d069ff45defa880124b3d556aa23bd01816bbcb1103a67d4b03ed612229aaa27661cb9a4a8f64f43f4d1f2b199d3748713684b325e29ce561a1ceb459bf87386295000e5001fe4a3b8fee5e126a60cd3745932a487fce6a1bfbfbd411e8abb038f5d99b3ec0f6181ac1a4c275b5c00203548b0b47f291794cdf4ea06647b21956b6128148e2c16174a5bb4c08c26d6421fbc8a63c362a1f32d5e63a76589b8f7af790eb54a1bda33fa3068866305b231fd8ca944139a5ef0d3c99237c073d861edb2f7b681fddd110ed112629f24d4e1cfd512c37e8e4f35e3cb77d12a2a3923c7b38cd78d447c502b9aa76233255a41201bb3727e6cf900a306083005283c725bdd76d67c7daf340e19f6f63d534b042e8a4196d7e0a842c760696536f220b022678de2da602785a051e6911e052bb44d8287b22db307e43c9dacd7ad195ed70b4df1439991a7c0fec780c4273d06612e1d1f75b7eb9e164a6c01341810c1e751a468109f8627c5e8dbffd0b8c9d2c2bd1e161601ba9a54f9fa6105b0ffafa291550353e08000000000000000c0000004d0535333b39171902eb421f7ec02d2d905f2d16b950fb48addcc61f08b8a3199974796c4a4d085e077f985e6baa6d6d10b4b020a78f3c2068caf04b2c36ce5fb8ea6557c6f4f428f9a4bd25c92e56257ba2f23717463f686827d3020577a56a94b0413b82751c189b5c202d0ba1ac50552df0114fd77b05f54ecf4aa7363d0f19492f2af0c1115ce9f49a07caa1221c703bb74d92f42d2b5554303f29541404850b055449f22c72550b23748036ef17d352832b05d01e44cbe91312d29d292f1b67fa7276c8a531c6e015402fb83723bf56445b1729090c1232c97a427f1c4091a7933a1223104ab1e9144b9d7f16140053e264d5546f7a886f9d5bef237c3404000000000000000c000000eefd9771db1c3c0dde638d3978f98a413c1aa5028c3e7c1b01421d65428ee0136b26d10cb35b430a6b32fb4e5ed80608208f7e6777caac49d66b200b39fc4352337d1552bce6a24e4e26a860b8c5d0486fdb8b0b406eda1883ba4b4e08fe0b161d4ab52088fb7e67747abf20b2c8e776a02171558b597e0e6a0494069207eb2b02000000000000000c0000009222236654337a2c1b2bf7449f57c1700736dd60b51f7a7befb73a15db891306dc30d6042a79d0117029187e4f422c2c635686208d05b138d835d1536e3e347401000000000000000c000000515d162f0e9f55129e5cd40008f16f631e35c36227fa33006100712140891812" + "attestation_public": "1985fb57f9d9300143a6094c2ca1fd3590bf9f7ced89dd2f0defe83720798d0882509669216f696bcfb53528dfafb304d8912227", + "attestation_secret": "cc85cd0548cd3237ae65280c55688c6d5936b169b9907cdb831a5b22424836f382509669216f696bcfb53528dfafb304d891222700000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c00000007ab1e60c88eb76364c12d3ef12a8658a544936542fecf035f994f6424682c4ea47e2e3d410e0a57821cee1541071f38116f19164ad01e24d2c77d43ef4ce40c98fdd678cb8f394b8359dd14577ac727a8c0f42cb7fba7446c58a66873964a7cee53734e6c9dd10decfef679a4a8807072dd605ca3ebf85f3d80a60cf176ea65e7a9744dba26c672daacd809722d295912f1ac5cc4b047266ebf1e7c6eba85263d865a4a35df9d3956f15e136b28eb366692dc4c269137641c2cf23f8b78c15978ed2405cedae411aa700a29d5c68e424b0c4a5d0cc66a2bbe124112ebcc96406ee7032975ecdd62fd055a33afaff17298e7f34782a00e1791217d325dd3db6600000000000000000c000000e4721700df842b6196825d578523d93e4f1949021c77ef1c451ec5649790ae70e1ca7c509cc2ce7c181d74206bc6490ad894566b6b89e91750e66857707fda0369246842856ce15fe7e7ff6fe3f9127b218c5c292751b2258146fe37527a215ac706b93b7201921ceb37de6eff9df8306639ef5d6099d633b1d7944ac451007800000000000000000c000000f753994b286fcb4e511649383803a21810f19d47c7b5fd1795d33738a106f11477f5096b30322c7d528f48422fbe4e1bc4644b731738a44c06fe4022d822b50a00000000000000000c0000002229f955cdb9354c044743599d63327ce43d9408afbe6627e0cf1457c83d0d602aeafa59bf10e40c1d96557226aa0f271749c72caff3c778087c4d2ab8ab1c2f00000000000000000c0000001985fb57f9d9300143a6094c2ca1fd3590bf9f7ced89dd2f0defe83720798d083209bf383fdff6390bd9bc073f3f732d9e16387a1a2f690dda1c703b0fab4525080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000000b444509889b1453f3abbc57f5da3f006d635a6bd8a73a6f4cc23357895ad00a50f2cb4dffc87073ad43440121ff857ef8250b09b83ae732856f292a588be0314acc0769e2a45415288ff63ea5d33759f4265574c1fe60395b62681d8561126ca6e89c67e8188e1714da854fe92a64418d2d217dbecc2f4c1ceca16fee8f767add4b5c69807179462f98311407e94c4a31494d51e138fb20aaafc937a0e7564fd0116f3ea2f2941f23ea1a459081313b636b6b07f9d2985a15a5bc201d51c22cc783f7014c9cac328126cf659474d461d91a731cb2bd141d65fe29674691622b78a30c52e24c3e584a6f8d07bc842123a0685c537b575d7952818a0b1370da14c618b548ecc4af4686273a62cacc212ac8d31b638080773b27056819e3aafc253f09ff5a23d3e14ab4da0d61cb716508ce74f37ca99ebd0214ad520c899c6f6e344e1b6e61462c1801669076921d5528ffd5785d9e4335638ed9305df34793228528c87152cb09758b3203468f180c386edc825ffca11f155613e413f988dc5584daaa0c3f4a6e7427e62c36fb95a44e278efd66a02e9830f721626d0e93ef44ec8c230a0afc8a67514dec62cdf1313d6cff4d63aa2ca820d4f30a321b44167bb584d94d3fd19c48dafd7a432abd32450e9f155ef32aa357d4687c549bc5d13cf84be252da27563a2b2b4725e8a8a95e29f4be7317f6a113bec6e15102e35e0300000000000000000c0000004567a07243705d18843dfa2583303f11d806631d0812ca4bb19fa475a0739842c37d13609a6dd2356853e024c998387bec5d155d0901142e3c323c1915832b63e042915fadb3a3657ac8dc38ee29e94b1fee357253f20544281dc407a64ca00ada87f040909a4d35213511346926ee624fd827014c23b416f17af40c33a14d721fa6ea56a2860f31d30480026be6df26b07afa79962b0f53cc0ca0182739ad16682a8374e54c8c6daa840b692933cf027c1a284b349cd41f19a5b203ddbd923d529f3b3ab242f3421f20773a6d28cc7d6282d9629516990f0f61aa37e7e3c11bda9f8f4065f2057db7769371daf5dc3aa83fc63e6a67ce3d425ae743b111c97100000000000000000c0000005533c6716f125917e731955a57eaa1450962ef3936f6db4a8b0be63a42f81656f42a3b11aa6f05723f85ba3a4cbb17478876f55dd7f8e72a7a3ea136472d9137c5b7d206aea82d73861b38695fb9bd5593e05e747dfb724f1789b6237911760f93db1752bd8efb10fc59bf78f0cdf6766273eb2617ef992cad3dec034e6e765700000000000000000c0000008c7a0b07b742ff1fd2b33b5f97abf00317511e3f67141070a72f582c52027c47e4ac820729e3f0395752ee4c4dabcd1a7397d0531624dc6dde66b514df00796c00000000000000000c00000007ab1e60c88eb76364c12d3ef12a8658a544936542fecf035f994f6424682c4e080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000eb97af361e30677dacd80a27c8812e597399556b06ba181b75be367aaf64505b346b6833a1e0b609856a973e446e5128e6fba069f3699166e7e02752b6ecd9233ba204500cb22d7517459f5e5379337cf8a9846067a77b67106b6d451b0c560dc4f7e50d9f2b51063c5b59548ba47b29c9ce9d7e0bc0cf0c70957a0c04578f1992d95546ad9bcb2659e1b21a10681c138cf48d4c92e51f2d2153cb6e75943b222fa8620cdae2ba24baac2c5b5a2f610d32c7086c627d2248682c2a39b96863715ce1cc021c071d5029614347d4ad1f6597c96f6aca6a6b1d56f1a65de2902f091156a218b136e27390ebe64a8a0cd84441c6833827791b12159da121f9a70f47c0a7113f2d3bd4536bc8cf03ebc77e71b446072a2911720e9614212cd97d14598ff34627670dfe48bb6c8d7ebf36363ce29dc271f352c21871898321ea52680d63014830d898f675c2db1f7ad21b0a5d874f80041f5265084a9f890b621404269c8e7874dae87348ab50c040601b0f73add2b006b4b1542b2e74802257a54d06570886150935836d1157506f9da4a65aad2c0059b8100d20b9add70361ba8d1a2c3ff0048037ce7b1ad74e739b3a615ae663f561e29e7366fff12348a6267e0fd2013c4e5cbd4420e54c5a3282891257b46ecd251d7fb540f7d85041f49a21113c7b1c02fc1b3717f436b9271d0dbd4c08e2fb4f5c66c83392bed042254fe25d08000000000000000c000000e8ee1e07f4589375271a786bd56b1a59a0610b42913afd1b4f32d84e4cd9a2129bc9033c6de8781c2772cf0aaa2fc363fb4a0f5bf7091e1ad6bf0350f844c23919224d53f681d551513006272026ca5245bb0b35a49635709999fe534553d40ef94ac81860e8b5416c36c462447f4e2de5ed8151ef878b53a4286955aa10430e69d2e12168b81c75f67baa3f12a4ce0747665c223e414e7cf7f3ee4959eef4480b35e4271aec432283b6d0489c0d2e2cac552977f1cebb79772f9a34f3439c0b0e449619c93d53525093407cb922f41e1cc2714f620b1a7cdbd245155af8ad4f0847cd4597b0e47524f2b7475175ed5282f90766799bec7e1de08613a43ca35604000000000000000c0000008e1f573c68edbb67792f7477d6d8af1702cf38364f979b1fc095684e228e210022825338ed35976ccd8e2a74e0a9d740b64c895a89d0cd148ac71f1a4aca04118375ae513c73544389559b3442297f2ecb2847683ffb677242da332853442867746a10420372df0f82458d22dd8d02078611f01166aaf13fbe61526d3a901a0e02000000000000000c000000e7ef3d526b69ee38e1e899308d29035c0684ac5df931c54f59eea73b18a95b0b6de4fa404863ae5703f9e078ec8f4e7335820d78fed19112a15afb486087786001000000000000000c000000a47e2e3d410e0a57821cee1541071f38116f19164ad01e24d2c77d43ef4ce40c", + "proposal_public": "60d43f13a5d12e76970cee361acc62599ea6bb1264884361db73c234375bc003a4e64b627a25bc2ed2b6c808f81af2102abb1c04", + "proposal_secret": "8af02960100b0da4cb931800e9aa8fe3ecb145fda0e924bee7c89e32a2fa8231a4e64b627a25bc2ed2b6c808f81af2102abb1c0400000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c00000008545a6b8e159c5947b8286c436f68176e8c6e56adc39718ed6b555825bb6607615757100ee3106ffec21f4f315c8b264c40443cfa74ba21b72c752461a72816a9be91214bf262616c0402055a9cb81475d0071af5b94c46789f3315c38f904a0d59cb17ff13eb44f6598156487e0257864e8a0d94b73e1616bb9a4527104250f08a112b7a5efe6bf92f141cc524af5cfa8f82415d702e13d72b6f4fe55aab3a0a66876c466be0017bd98d1252c76374442afa7bc23ad2268552e732575a571d2cbc4406050a844655dcf465940e6c7d4e12361703b01822de460e5cb676594dd80c3218ed43f96d72351b7edc3dce16c3410a7e343714461089dd0ab2f92a7000000000000000000c0000004f55810a082a9d2b2c084f15288a682c2e34ba00cbaf8763ff369366c8842455e9e97d44fa5a1c4d00f053308c5a7609268322551a4e3f12cf1dd707190eb23744a4f51589cd903b326eff563e7d3a2aee35c21da97dcc06cde1a0641a5f2f29c0b46406450ecd57dfa8c16c8e9d6608b16753647157773671e3155b4233521600000000000000000c000000393e8c285eb7c60bfe47dd27ceb9e817557fc0016a57556eb960a61475d3f4452fd91c52ae3ce54c3743bc6e183972673a4a1a3c109bb73dde43951d32e4c22700000000000000000c000000efd83c70271075065f78b13333834b3c71bd38681ef8ce2b20823135368b292099ae3a20f705a063df75760f447c3433139dbc5d12ee802888fe280a360c0b4000000000000000000c00000060d43f13a5d12e76970cee361acc62599ea6bb1264884361db73c234375bc003c5cdc821de7f210355ddbb1e101c1951d2e3f12cd92ddb684603652051a9b75a080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000017b162a72b04b188ccaae067a31232c22ae6a149cb4fc410ce0967738bfec1316a02b4c9d10ba59224b75690beb5645cf2238556f1a9c31f66d501d70cb632be764e453a018d276b387d84805b26e4517e6d05f635b95650a0cf0738111517d28780830d71ad8238b0295560d54ca1058a3c50361a15f69697a421b18a9ba19933cd22dfe1f8e5294450073f97a4e4864f0632fcc4e4558c8583a58586c0964b9d2d011b0a46368d5e75d135c1b0657dac79301d3421221d314c308b46a76725b38d07163254503800b8b710647d55f66e08d24c6e094529873b578f06bc51420cd9d3e5436970755b67542183f1f3422dfcd520cc7361f48b68e0affe0dc1d56edef474a76487b7cd7bf29034316284f89d530259c3541c246eb510da3e8458af23c45d005970aa304e96e6a7cd348932110438fd9e33d3bbed355c830d85fbc3ea74b48b3986df751106d2d9f35408f9a6b33a7c021702736077ac59f2b6bbb824f21007b76470db5cd524edf876a52dc225fae08ef733c95a1390d4f4c788bc0403179a75f778ed53040c706ba14da7ad86d26db7179979c753c459b35735b2e1b2c1f2193209410b3476afca009b961ab7cf0eb9a300938240d08806c2689c9d15dc08192310b6e7b13a05b482942fb4f119ef51f77937826413e11e677bdf1467d008daf478177a44bd32e8b61b87b2872f8ed725f44bb6660d6aae04100000000000000000c000000ec216f5f47738f4dfc5b6e23825b414261c4bc2ebb577b4d2637ed1f27b8f641873b3e2a822614560d5db5524df7ab0196274422a31c48676251bf43bf413853bb85592b63245d6b0e88eb0e73fae413e58ea722296e235242a009723ce14c56142a8818df880810626745425aa7b836054aea4e881538537ff33b52135f971c6e80ca633aba1e00eb503c3577ac062b56b51057983fb01e70c9762cad456a3e7289d2690558956ee7e02745ef019955d9016915ceaeaa211e1f14634131122e58f1c9735e4cbb12d6d3880e1be4d775376c571e0005f420e04e2d5f0572d92dfc96a50bcb7b094c637a8e011a327e16a864ad2821ad0d21be7dbd1089eace1900000000000000000c000000ffd4226a365a234b33d9d613e775d91ae781de7cb34e2e5b92f3284198ffdd60b0902e03382e121dacdebd074ba1a13427336632b23d192d210ba1126314552beddeaa4328690027d7883e30df75892450324a034edd870efeeacd1640faca4d8cc30f766d33771caab4791cdaf5a86bd24989369986f055dad2ee11c028cb6400000000000000000c000000e180cd2e1236d535d5f9832f64deb675ed64592f5a207163d1e6e440b7e9ef605b347a6a9da3d70776b87b049f3959479d813431e502d06f96bc79280e4a250500000000000000000c00000008545a6b8e159c5947b8286c436f68176e8c6e56adc39718ed6b555825bb6607080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000b975ba3b524ec549b55e244a1d2d5f75ff41a579e05e483ec0dbe43ce53cb77cfe3de002172a0f7c17b54270a9f1466cc8bac271e7204311d809611a3bcfad55c41b326c6460440df4e23b5edc677c1393340b44c60f175abbd03d6f82164a528e30957a46f9d5214501c10c31419a3a3a691d5d0514ff0cd0d7c86681ca151dec19ea5b8a898b7cbe1e18654f9a5f44670e8d2518ce3f5ccb53786eb6febb37e88bee718121e136632239293960bc3a75fb682e25e0ce6a297a6113d212c31959fec8619c5b231c8311cb1fd4ed4a136d76334073733673c11ea92f29e664334720ec1a73d5c74ab402a31a45410634dbc7f925e084e751527681560d0d273c33d9c33f437a0b6c866c3f3aeb4e776f817f762a32bb2d7a04cd6e10e3eea45dfab28417d734092fdee0d571507f5277ed94864bccd79d52e08b1b416e97fd2eb7944f1a07eb037ccee4ed4c5f41ca4bfb8dd61bc860d86c73fcce555ed94a62e7c51a0f9f27ff2f9eb27a2bdf9c72200a44c02fc1d4696ece91195ca3337a644caad05398d5a83e1194b44c74dff6472e2aaa589fcf3261aba1915969ddbf0a13e84a2e14b23a1c6f99f5733df98779fd1eab159629291f5e92b32d49fc3977ffe37644c063ac74efca1e257afd2d5ef86274368b7131072257144ed7564952504b0547986fe56cdcaeb45fc419205062d04d409633291cf5e56258a02ee12108000000000000000c0000007b1d72268d67a62a43bd1753aaeffb36c9d8476e5b47172f19be415503bc3131ac5c436bb4b06604c6cef84c4cb65319b366364fe62c924558c16a5168307a1e41723e57a05f812e6d036119026f656aeb3cad78b7620a13121dd37d38f01c798108a573e26a552b23af6b01c05aa76a7daf2867c7961043be65a1721764203b502bdb7d2397fd3294fe665324cc201c170c9d105faa1a2347cea21846e8ab73bf7a7f29903e3e365951dc4518d93e61b34e7728e67c45757959081c6439873d465b3e633d2bfd17bd75b7379ada8750fc6d702e79320d4d60263b5548317276588f706018b2187227b260395470f15192746c451e8c88397ee95e5d02acfa4e04000000000000000c000000853b772ec3bdf45518bbca3476244e09021e2c48ab96303fc0aea25c6d39bb3286b24c059eb3642da97a030b651b26643e95d3571753dc73d800c2100dc5c4005fb1837bcd83a97a59a71c7396524652d884b540cf270a40fb5bbb2698b9e174081b032e9f03397342e481077b449a4ed573d66a74f62702c482c004d63ab35a02000000000000000c00000033df3b4b03f8f307bd3b4112e9cebc402130a34c31e3ba172e09e75988bb05582386d400424c297a3665f9319fd2e5187450a6700134ae7a1d8f220eb09f942501000000000000000c000000615757100ee3106ffec21f4f315c8b264c40443cfa74ba21b72c752461a72816" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/8.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/8.json index 8caa7aba..b2715fad 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/8.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/8.json @@ -1,6 +1,6 @@ { - "attestation_public": "2613016582d86a2e74c1f040efde24203e247f0769d15362b7ae885537b5532cc7383d4b64ab89203854bd21ba4f893f33e1ec7c", - "attestation_secret": "063667f2fb3ab8f625cd2147cb1796609b25188574927b34d12f916723bb28b0c7383d4b64ab89203854bd21ba4f893f33e1ec7c00000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c000000c75d0e74a95f434d6057c42288e8f71db23a0f3ebe9e251c67588168be8c903854492b1f7306fd425958a51080a5bf4cbb90135af0ad287d71e3320b5a339c5600000000000000000c000000ff2bf416a8d2ea01ac434030bc2f0d467157a94235ed516db0e7f25c3136ac3a547019236269ce3a86b55875d407da2183845e6a8713f30f0c719f298aab4e4200000000000000000c000000b8501d163bc94d7311f85328aa10701821b68c26dad2536d3c4b585d64d291641cfdd7232abacd2f2704343d0623501f49b35a077b83cd3db765632a7b37814c00000000000000000c000000fd59950382edf45fffdd29742ba4871031a45979491321103da5d01eab5f3f7cafc741675c69b033a94c063c757767459200695bf37c504125764037a895276900000000000000000c0000002613016582d86a2e74c1f040efde24203e247f0769d15362b7ae885537b5532c8965676b311cbd330e16bb436063fc26bbd5a073b7cbde5f7bc44d29d9275511080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000004dfabe7cec0ffd3ae813c930190d6b71a9ca23486fad2244314827630902ba236f228c622ac0857cfebe663af0ff60309032cb0c2bc7bd28d463644ec3bab13ac65ad70eae2d7b60ec442a0cc7124e0bd95d7e2c9835ba5e925552557509411dade40d64cce21c32452c773c81545b4fc2bc712472fe272e0a47e653ec6dfb74eef5c633165fae6445c47679d08905475a7c9e397fce281be179fd6664d6eb786c0d86240f063d55baf07c302267331f7992631c7b94b05bdf5d7a555fcfbc348bd5c3385436516f67dd872685f5672cf121f306e4b37d7e50a4ee3431e2842992d8684ed6fc3b33e6d901001b1ce06b01df842aa6cc8557be367b22f61d7d11c68363536f2d2014b15a37469c396276a02c18325d6aed0c2dbc8a05a39c611f23d645777ab7484648bb623e60f71c4f1da6f66aace14c4fe8a1706bd522bf37daa58767bd782e5093eec00244d3ca7665144a4e7602c85f4463eb1841a792102d9f016c3f535f755a56c972666d187e4ac11128e3171767d6b0d358846e99647952b21ab22665441e97f974eff7fd2955784b0ca34d0c50dbbfed327070cd7ad0d63b38e54ff65a2a45867a5a3d7356db45ff5acc5f6535c93c1a0418a25967ef6bd34e79e5b730de75495266176f10ecb85c10b6c85e71fb5ebe0a196acc0b2aa26233249b3b6134ba0b33c4537718c84252293bd8ea081324015489f30f3d00000000000000000c0000002d4654045eeeec5f09e9f8376d07886537a9bd4d11cc392b478368389b8ea9048ee1b635e9e67171a5cd83571fffcc340e7e5c0ef1bafb04709d5013c1a66760a9ce22140cfbc745da96543a4ba8e009b8f926656c351926842c115a4f59c5092795af03032415244c09476dbe8075480086bb22931856414802ec02bc37ff42de5000354a911a0dd08bdd6ca9e89343e9a6106e0492f22f9560bf4672898212aa04c177e6fef468720cc30a451069100fb0ff7e6ae711233bdaf4594881910209ba2e78dbbd45643d055b180cce5b015a87b566567b5067c9194134f5a23448192f955fc17942451f58fb3a4158ed0e2fffcf1f8d5b7d43ac33ff5eccda196500000000000000000c000000c1de0558e35f91765ba81a32599b3f5bfd7cec693180525677d0505484d0f644931843788e1dbf7c339e3f452536326e1a9d5a45aef79d2f4baa207822c1ee1d8443167cfc858a36e8a6832ee770eb6ea0a5e75e9be967360db74d7d64d7a5339f65934bfc7b70573e517c5115f9c4194b820e676a91525bdcc38b5c1b5c046d00000000000000000c0000008980457a344ff4676e1ba53dc26687672d175c03a5130769d2b44f09a49e3b5a94253d561be1da64af63ac6344a38078c8aa32215db2aa15d15b846714074f6b00000000000000000c000000c75d0e74a95f434d6057c42288e8f71db23a0f3ebe9e251c67588168be8c9038080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000001cde321a44da525160ad495221f14b7d14445d3a46253c189411e5371c23236d53e7be1652f6d40d2dd7ca4915dcc03f86be3f13d7acb6538247821bfffff7107c3612652f1f103f72afc973f787371fdb464319fd394d0407385f2618f5357343de684202b1cc15507e0e18f9704e17b6a694375cde7629f4be582acf12720192c4f83bd0a2800253c3c6324627cc70bf7d5031ac962d57b2b9c567a60e511b5a99151d07586d385160a80a0636fa20ca7e7a318e6fb0548526787308e50c2a5b821b6000443e4cf332280a9a17a908983a501710328239ebf1de5a5b15994965de08268234842b4c1a33613ac84c75fd96fb5f90620a1c74c5816c80ba6c03ffa96465cd18ba4c90ce2362c06860790ad4847537178a35a4a6224f95c40e65bf34af1bf03c7e09d8b572386aaef309bd3a871f8c71c500a4ce9f3c69d87841b15dd0668e6b93459b0a5c7977343847dde8a5225d3f10728df91f721950743c3603d546e42ac757e8425955f773335bc437cf3ca9f688579322c832076d5750b1b32c1293d4ad65ea83ab71a3b2bc32a8ffd1020a62c64569b3771e871d575c69e10f62f9369a66a1605f18a1a07702f10cd86bbcbb80363edc663f3eb8086136c7cf1926dd5a219664a21caf9cde31561ee16fdecaca47e91cb362aedb0220ec118016ba48c80429b94203229bd86d769f6f48c43ee174b198b2205ebedf2608000000000000000c000000afbc522b3f05fc62fe2264397f7de074a6a6800e310119748712917c90d3e45ac3ab7a753e26de4e3fdd1215a029c83b7d1d0834fc96110ec1c50d3995dcee01b4d83f22944841554e2a27153c12ac43b72e8b4aad210c6765e10469bfc10f36e254db2ca63ebf7a306b932579c6be5514f2995a2bb073118b8e7b03d36449136958951a35a22b33e8d8f113a28da413ae69bc01d9b39324584cd51a9bd892329c6d637c9c96a1267a568302ac1cf15c89c80d656f2a887219dde7157453ad77f64891420399b552006831448f0b27794561620dd4e1694125b19045027f792eb3a9453ddc62577a45453a1993beb65a2f3ddd50b5df1f75202b6c2d8a2f2d3704000000000000000c000000bfe135183a41cc07ffbdcf4e4704e11978652d27af1db4479f4e292ca4b97062f140eb590340d508405b9e74ae04e65c0d3be255c7f0755c3265fa03c672d16fe994fe387c4fac2b0a0eb33ae93aed33b7c3885472a28c07eff17466a8447448d8d3ad33e257645f5f1905400bfcbc3fc9be8e2784cee44e8765d00732d7bc4202000000000000000c00000017f8753c69a3c166d5f6032d420e650243251e26ebe66443d2a9b81196eac944e428f85354f11356467c237711d52a615329cd0942cc306c72b53a31378c4f2401000000000000000c00000054492b1f7306fd425958a51080a5bf4cbb90135af0ad287d71e3320b5a339c56", - "proposal_public": "0a60101631e36e0d8ab0d663c37f6b4494c1646ad26fd3193ffb233471e5d80ccb2aaa1bd089fc022a26f83689cfa057f0d0aa5f", - "proposal_secret": "08d01f29a09772f5565173a3d928be0290f6fcb7a8789dc69bdcf8a2d580ada2cb2aaa1bd089fc022a26f83689cfa057f0d0aa5f00000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c00000068ae6a23a677593ef24f0960139ab440187800422019357cd054f315c2bb6123e4d6a453a89f94603499d463dd07a64785406048d1581f71167a3c2da9db083d00000000000000000c0000009028922b300e0038a44931261589ac310d090d78fc6f68067069802053e5751f39a0c03d09795645ba43ee5e1b5d2e7e714e8877c5e546395f84b02d59ffda7e00000000000000000c00000024c8612500246209f7d1b966950abd15ed69513c5534487e67335b0b7f1f8b48693162024c7f600059a55b5c8a310b5e23a09e73a7fb5e5d94108e52c557176e00000000000000000c000000a02ce737485fdd247c5c626ecbf5892e6d2dd322a7cf1f74ce6f342ad29e896aa51a2b4d57c7550619b300704d80a0150073ec17494e44009ff0014c10fa152400000000000000000c0000000a60101631e36e0d8ab0d663c37f6b4494c1646ad26fd3193ffb233471e5d80c386bed6d724436162c37992f34f8277a1680c959e3b62544dc01842113fe1830080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000366ac81b0f48b1165f9d976a1737ec0cb64ee2437a6b6d503fe878223f2c1a5540c4bd5ea092f96cf4fa55791eda9b44a3870c5586eb722c93a74d4c33caf11f8cc8777834241e33406f2420fce0005dbf3d60027773fe7cc67ed4483d8f206169d75c231845bb01db71132a32c1ad5e6d206171b392d02e632f9b48684d9a622afba31366e6aa224670544fd0e335088737ec6da46c6f640b213466d5345d23e4853d0f4cd0be71807ab6368a36eb1825862126af83463de20dfc1060e4317befc41c554167c81151fde6005abbf5770d8fdf3a1b56320c9cea82015a7ab314d0bdb6549c4ab510f2c7cd1fac921c7e25161f34e8d567641aea4e7dfca11d26e21e84639d671946c81837391b01c04cb095f23dfae031211642f52016a5f223ef5d87613ed581098569e5066c72b80ce8168e21988d3e0b27e04a2d3eff47091429d21ad688742963f3f169276c546354f72c2f77b28e0ea92cc875262438003bbfe656fcfce526b24a810ba5db155566c6880e7cd07c47c8a57338b2b9182913bbee216faf5e55b045cb636878d351564d3c1fd3828076f18c0370d118c742a73d8a1272fcc27c8354c43cab2c6112efdba563ff503a5483489139bb9936334d014535734b9d53c3bfa069a923f457b8919f661d37f9317796083edaa06c005ef8bf174c7c3360425f8867e4939d3aaca6b60a1afdd911fc17be53630d7e4a00000000000000000c000000b124754c9b1aee1e7d7c8b785881d85136503a2d6062bd3e3be7606fda117925b04a4b417b309118a2ec7e0ea821681ac15e0923e267037411f5ee6304f59768a1cd824dfef0ad3eacc9975714b6aa29ddf22b29db86753d4cb4820d7f05385006a9844455689351f7fcdd5b428edb0fb3bdd97ce8c777482cc893762aa9836b3b34ea2728bb4d1b2b70521c9c5d24617fca475d3651a868b2bdb03dbe0e454d266f931b2513eb2579a055737ba2c31adecc73166580ff071dd70275dff9a7670429b46ea057fe3fa7f48c208f7e3b442fbb6338856b095475f45a5d6da7195a67a2d849cbd17d3f0dea6e057034a608dad6df6636ec7d36f4a36b0ab754426d00000000000000000c000000d1402533fa8ba33a7044955f1c062c3c381e30633533cc766c238a206cc8af027485ce7b29e7b033d45b0377147f334edbfd604aa49c853497d1ff31906eb17d086b1d3e1f362c2072658972ebccb7355de1bf4a0275f1317e991d3e06e0ca6b4aa6944a7ba3046463ac7157b0e81170fa0e162e54de75135beb2514c2de8a6e00000000000000000c000000e4dc3963fc577c4089e55b4ea38fc42d32a49079bc90b85b1cfc67574b4cb43174e1a220a9918855ecc15841ea15552f808f683e48d6a363ad186c47f8717b2f00000000000000000c00000068ae6a23a677593ef24f0960139ab440187800422019357cd054f315c2bb6123080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000003fc21532aff7ce0b4152e506ebc0b97159afed62e24dec39aa2eae323fcf1d7e93a9423c3cb96e30de845f7d6695066fa6c8c810c78e101c949a7e0316713e2afb21cc1e9e68ac3ac519330a0664131cee1e092f05e945288a837363537950791df64e0b41ced1032c77df11d9154a08b604fb435b18872b0d621957e3c38307c087af3a32ee0e674408aa6b584ba41ab13c2b34217a1f512a1b283b5620bd3d9af6a25a7228b13e65ccb6755ec61152ec7adc6fe073e056e6939b790cc8c20188dfcc6895bd9a5bc1c4621fe9be60755cda7e75a14ecc3a145c982ac6d4887537c76822a0298966ac2ecc799d6ca160e779596a6c7f720561c05c1e04bcac1bc0907d07893c6d227aee0274b5018202e388687ef4ad1041baa32f3f50e94f3480815b5f19e28954ddfb83333f85d7122cfca342e541c974926ac31f777c307cf7deba6fd3e5df2b6ed0d52e351c1838b5939039fc347e4f70a0e06555826d3e5e1f297516ea334dc4db2e0377db9e4da647b152741c38765d126a712fa7f8382606cf30ff163d78b8a22e21ec4ff05b8c948545b14b1863bd86c426bebd8f4166ae181276b27e6f399390400a38cc3265d6e5206dfde81f9f32940b5f97377a6e77ca0253dba63830e8d031ed8a83633ff64205b93a0d30bdc1d90cd08dc160389d9a68a13ef97579cfa739907bb42488de6a7d8805cc273a8a4c7447705d4708000000000000000c000000abe4ee3316d1ae208b18920b9663ac20869f4b5865c7a2752a764802d1f5044c9f7d71657d10612a79e141422fe2661c8ac1f636d65c17194cfd44378d48704a0345333b940ba4309598397ed38079779a2c4b6e6c02436be778a83e88d9d064ccfd6f2d69e635240133eb72d2add9171aa894497c3cdb7714c50a3f3578ac492adc963b633047142af4b87b55caa57aa8efd23633c97a72a01da14bdf1be04586c33203914f5a213bea533e5a19e34e10fc3e4116337f2e2ab53d7a0377d822e8da3232bb78f14474f656050f092e6700aa2b08554ef7366be887043dee727976533a7d9b035c5020ae7954b95f7e6e0b1a807152c05232a029ba67eafe984104000000000000000c00000035040c69a66f937d5efbad3065404b5f313121784340d66ebac7116010fe7b10435e77626aeb430ae7010508b4718b00f5abbe5a2cecfc640149556dc570573da32dfa133162f70aafe17a0b45b261186a5ec360d2039c0b456b2a047bb9b552d8bace302866ff78083b5d4491377863f879670053ece14d7c74001f841af30602000000000000000c0000005f47797219547f7450193e7424f99851e817ef1c2617c152890b714c1b1d4e02c8ab434b6bbde7683a73a851722b3c0693fdfd61dbe2a818efa69012947d121101000000000000000c000000e4d6a453a89f94603499d463dd07a64785406048d1581f71167a3c2da9db083d" + "attestation_public": "0b485c69f0e87067ffee2f6a239afe2d3aa4035b886b1365873be256b9d0ec3ce0af41054e01a54a422bb915bcd6c55fb3444810", + "attestation_secret": "509e97d02f992567aa2d6a0df1e40653182f69a54e6ccdf8038f9ad668fc465ee0af41054e01a54a422bb915bcd6c55fb344481000000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c0000002812583eecd821233351480a7df5ec181468e84910b8d02f7ec03553de9d696f4a6b1902b61a7a38012faa6596022214c756c26fe067f45de7459825dee42407ed3b700c68900c64c80398667822c11f9381b407acba760e2d5a3671a65f033933c43a2e4ad2fe5183127961cf0a5e3ec265b837a183ac12c51b340e06cd635fc62bfa43ed2a5d656dcc531f433774204d108e02df0d0e23c10a0029fe79192901b7b97b3c4dbf4aea88ec4318dbb806499e8713a7a5410b465e402bc3d86b75a7095c3c3cc382540fe60b06fcd8675cfaff5b27b0875512b7ca39627b1f2b79625da7260916774965bce442ce8eab3692406c66f36ed14275a5e54cc29c634400000000000000000c000000a57b7708a7d74c5608839c67441ec06613af881af85dab542eb33827c9b09e2f938c1b0618b74c789ba61a56595a0630f0cd4b3189e23b1fec5c7a05cf6d9318856a4f782e83112e4844e84e4a946451cff69502c8a2af4677737762c58b552f9f2ffe4e69c5836434a8e6521f57162018b2822a24e43f6a2f37ea3bf782ef1700000000000000000c000000b8cf172a7732134fa5807905fb22e869e8c9766cfa69df2821e74144ede2be0b8f4bbe109f20c942bfe3c335a7feb96dbdd4c84563bffb5e2003ac799bcb001d00000000000000000c0000005998ce74ce5b652ca717893df0a9dc0d9e206f676cf41f7ab825dc07b963e5183e115310d1d14c1261abbb75785ff236f997cf52c68d6b1ad8a6be59536dda3800000000000000000c0000000b485c69f0e87067ffee2f6a239afe2d3aa4035b886b1365873be256b9d0ec3cc5707418113019795a935e7eb347ba2d5ba55569626dbe1c6961a95cec451051080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000d39ce26d20fa771e25b0ad4426d4297c8dc360573cab99119cc6906e9a1c3d2f9c7e5134c93dfc20e39e8d2c6a498f18e6ac78330a0c9b5978237a631190875e49c607044c4ffe604289d753e135db412985700a0f87ab654cd5a95203b1c16e03d80c423bf77569cec03904d502be1119969f18edb6a323c49c290611428447e24ca74578f0587a1a58d067db998d3fc30dc3532eb606124519db7a0b7b9c33c8468f67bd176130497d512f6c537e5a5765da631804cc2856888b18c0a3593ab61f9e71c0b5da00b6ffe97b0c75de48d0c1f91507179f6357206c6ce91e344319cc1107544a59450cf3e9280676af7b8acd2c4c8b32fe39d64f324fad53a15a59bc934db2865314bd089b488f8b262605135f2267866d34f6ceb232ddcc1911146303425b48dd2e7bce690d4e859b05d061d974a589f241da3d1c49eabe8b1838f5d31e28792427ca98e939f50c4a6c1fce3b5989019751902aa81939f2253e8a52bf6f0d41210237a83b7669ee522861b13514e1600317880ab62b2f37da0c7cf8fa0de1d10f560bcd3a26ddda294056729a11f186d61c745d6314ee6a3219b60cc43f5a0708562c0d000fe723d91ba679b321cee1471138cce64692eab113661a4110c50bb4726d765c1d9c483335d7632a5f1528f704c28a3e1c227ea031e11ba94881264a2639859529c48d770aff7c6a5313cbe946fbf13954aa4bb32500000000000000000c000000fce4e83d971c0a499f78801e4391161419a6ee4994920919eeda64527f74b104fd274f36170a514bf82be95e6fd2ca2032f1c73d67e6ca611d8dcd62db88ac7537f6076b314a2562227d3567a341f81ac9b00a3d871e9a3602ea5222b713cb61f8d0e761d83ecc79e5a8f47108431901b262aa07aee1e01d9f26d869122893175dec725669c52f1e18cd1f37316e7b095554807ee685694c023eb0089ec736547e5cfc50c0d15213c200041df0e54d3454824539496b0b77123cbf370ad3e45aa1a23c4a5e4ce14535177552dce20f0aad274c60fae82321bb240e5f873988332b2dc606d8501f1806e5006ccef0bf6fbf91657c2a729d60b96c7500f605da4300000000000000000c000000830edf0ecf90da51f5f4ab52fbf62d5fae25e739ef58e76941c3a036d0599a7121ff05441955704da166f21d97a8395f1d6d5001e210770d45ff781d40f0e9537258ed2ff18eca2f7d3eff408fc0c6012392393693eb5340d42ff244eac5820b15394012d58d850ae070d7313da8036b5ed2f505c758e346b247a973263e680200000000000000000c0000002f78c83569b2e33ae6a3fe10a100233dd2707109b054b27d9a4c330ad9b81e5430530a17f1033c51693d7e1dca6e34316a7ec350a46c2d2286d1436d7b025c5100000000000000000c0000002812583eecd821233351480a7df5ec181468e84910b8d02f7ec03553de9d696f080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000008bc0275201bfb56c348ba1606d5d804016c20e190e05323c3247c43e407ec20f390da95c1a32d92b88fb4d11dce7392aa724c36e58b29a35c365ff32e926b148c30a5c7aa49f440787642a628f10270d8b3c8320dafad77ed7d4120549aaca3a4036bb68a200f44cbfe7a9771b9fd96505137239944a097ec6cec34cc1da8c5f5d500e2f4cbdc61a1a25aa16a896253604c3be2fe8459d6cde038224341d2c303be84c7e512d4f41ce515115f900742358723e3fd84c5046edd8ac49199c674352fb8e236301eb38aa27e67c9f129b4353e7d4706073795f5c10495129e61c2bcdeafb370a6bd018256bb41206546a6695fee97024bfdd3a4424136ef8457023b72ef45079a133463cc0186e6216bd557d10be23c82bee1ec9394a12f39b8110235e9a01c0d3a44a492ebc40a237e04710d7c129e59ad6328b149c56754c8c31d157634c3ece53221383866178438802ef02d9578b3e0b445906144d8d563838370d5b3cbdee5b53e1b7ae78ad168a23cbfa26138313a93ae8fe157cfb427220f9d8fe6b9304f921bd34ae7dc8b29048f5f50f6b7bbff2440da68c1ff1a30b2634d0b77a354bcb2beae1877a6a988a6e926a0f027e65531ac6f9b94de4b6cb45a0c17e2046cff719b2982e6c511b8521d94b6f2acaf3b937e1594a69286051056a9db57456790b274b35f97beaf36528e7817c59c2135466a2215403a490ae6508000000000000000c000000eaf40a3676e21d413e294526e5b293015f37a7525ed8f46735e4d555a020e97942e31c6787b68503e19f483aff23e51b1e4a971490b23b0ec4211d64e9cf8373dbea154166a0d46074689e44679bc442cf408f5890f46d507511d656ddab124547ec845dbcb45f26f002e078c0b02c7d3155a62f5b250042015b81640bc2784db620fc1da7c57d0396edbd5682b11f4aa7b731158376e60dd529bf018e744615c0fd663ca7e67628da1da2790fe5374fcdb4ee3dd1a3517486abf53edb0c1a28d3d5c21f26641b0685f32250cf07610814d1c85b49eabd67af2acc07294c973ab6f5d66bab68594a96a84b277670d32b7fdf594ebc0a4d7d7aa8af069d11f94404000000000000000c0000005a958150cc51bb361e42d260bec9373d0bf97b62010bb5544049bf2972c7003afdf6c22235526c5286951c3fcd294f201e590c2bd3df662dc75998171eeae9419e989850d3b2904a8c5488424a6dec255a2a0670a5a86671a69b115ccfb5f06f6d74d146018b080890aef548352ba24d8cffbd4bb526cf6b1cbcaa53d78b186202000000000000000c000000d006122f1f8cee2d29512e7edea84c72eeecad6b6ce8524bd7110f3e593d6c40493301518677f94568aecd34f04fec03b289cf1e5b46463b89fd1a08f5c5cd5a01000000000000000c0000004a6b1902b61a7a38012faa6596022214c756c26fe067f45de7459825dee42407", + "proposal_public": "694a122a545ea663b52d8d7e2b5581367f475305d97242330c9ed00f5d4bd2421da80c18208cde128ca16944308ee87d54adf37a", + "proposal_secret": "668decd750a55a06f041b6b12b2b71c991b2eaacf68e40837ee9aa06140deea41da80c18208cde128ca16944308ee87d54adf37a00000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c0000004a381d51520cdb43264b59147dba5e77b0531b4e71037a5a9b48941319f1f61371e40e798cdadb7294d9b0552410c92c148a4419fa38d076f98d1048a5654f6e170ad1510e4dfe4c9fff9242d8c1cf6e3cc10d4640212a59da7c6b60daf73f042419036cd2f7703f3d4fb11c9468db6f7f75252b1dd38831eacf797a48c83e10024b99571006bd3345503a5139b28d191b312660f9c56361d8a5c721ed94536434047a3c6a64976d2a97904a9caac175bb0f3c4bf494b7405cc97341e2e6d16382300123057c7d381afbed25978dec19fd07b83208c0a82374d2d4545c189e395cedf022dddd4c7278b8327cfb29b247a0a81e00cd4dc94c314f0534cf765d1800000000000000000c000000b2a2b218185a286558b4760d12dddc37ee5d2d798ada6d39226033168e19f15e2015737a099f792842e676749bc9d25ad77c7757cb728602e2e5d83cdc69b81e7722f52125adb07cdb3cfb48b9ddd70d4768944ef835b65f78faa7003952b13305a77a36800a272ce61e8b339b7af12d4222e369f05811794b25df2eea1c442a00000000000000000c00000093758d14e4ba0e32c6c53463721011771a98c410019ac872a749fe34383900347a791a3e255a415fdc117b73998d2a57430ef77ea53abb0dcfeaa234e3c5b95600000000000000000c000000ba4bc1402a06aa533fc1547c1bd79f048e6cae5481d7c3064b76620df904ee5f74d7f0402c4e942b0ffb230992b8e728cb979c28fcf7281c9053595dabd7417200000000000000000c000000694a122a545ea663b52d8d7e2b5581367f475305d97242330c9ed00f5d4bd2428ee3931866b3486ec226293671163a1c20492e322c111822af5c8c7b97a98f4e080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c0000005795487da0f8865968e178343bab6a6c65df641881e68d721cddb459bc677f05c080fd0363b98e2faf01ea21f667411c617cd8176e55fa270825b35ef34c257b69e58e32fcfee260eb5dc236c78a1d18a6863541bf18873a7581022e59c7a12b38cbcb15089760207b40de1754c24c3d9092bd14dbd0343242539c79dca1526af1a20b40cdd9e87aadfb5912b7b62c12eb06ae35871c8870b9fb2062c033487c300c187a9abed0774d8c736c9ecea054f3bd0b6d4e3e977daa84fb77a7aff650f62f5e63e4d83743c61430606233f319706705604dcdec2866069e6701fbc31678ea5f45c62c88565efb1569d4b0263195ac3253d0a65971e9bd97793b4e2047dac81f0ddc7821644a899d5babcc91618c71f5537bc8ee172929764c65f42c1e0a7b4f647a669c5517944540226c1238445ce957af40c838d085e613e4888304152688271bda524ec4eaa737971b297895f5cc65c92d01199638cb317b83532e1074ed5e21e2e507108a5c705c815e173c165b1806e1b83db4600925c8e12d3228cf834cfe4f860e1dcc535efae7bb7ad89c1654001cfc0966ecf565a98cee33cc9340746265572441fbf15386fe5f58fd9fb31eae2068316819a634d245e72cd664a10b28a07e3b157eb460e10edc76b4ba2b7a549ce135fcd53f72499c5e6e45e24b6638966676d546c7400d14ec255cee320612e0c42ee811924f0bc38b1b00000000000000000c000000b6396325cf02a640408e6b3bf0bc4661e98a0b10401daf07cbc85a28fd5fff3e0ae994075064091084a3d07d9e02ca09c132ba093ae19c528d5dae553386aa0e6b2f3167bff4cf7150cdba48c7576e5eba18ae1b700c0578b364f204d5f13c131863425de4d8a67d5b51ce58162bc620aedc951b9c2e21163a42937afa387e6a6134b80e835553353a1076161427f058b837a14eb9d27832b4eaa7354d2b7c174ece014b0c1f6a2fccb77a3cf5a1a45447f0de08ae94f67b0fb50c54e24d6c17baca2827d068231dee282a5d6fe7942e2b04e16f1e40ab2990321d5da841314d3ae32054fabb2344fa515e465f0e6a1de0ba53310e0f4619fcc6f74a6346080f00000000000000000c00000008fe056656d41e015599db7cea21a04d6f21bd2cf696563a22ab5673adb78742a5ed0a30a2bbc04383b99e6b978cd307a90f9b5f0c5e684329af9a634c548e0bbacc7f137246d101a9a0bc3d2b9d701ce3c1751439e4da18ab1b98344aabac10ddabc34533e3803960a8ca747a4a256518fbb2744abdd0308031c1125ff6756a00000000000000000c000000aadad61be2f6dd21892bdc03553f75408417d055b0e3052249c74147fd4ed95cfde6d00f889d3c404bfd85446b917a7c6171c861346c6041c86e7a2fcfcca86500000000000000000c0000004a381d51520cdb43264b59147dba5e77b0531b4e71037a5a9b48941319f1f613080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000006709d26ca7c4667e22e2611bf2c296199e1b7b5eb9b7d64f9db1b7408f478a4c8a6e8b15b423af4c9d9fdf0ed9ff7b5c6cba695224af7c7d289f9b2630060f2dd6e81116095ffa729f67e974b3aa8e227e5a05289cda8a54546057356e034a199df2cc3dad31097700dfa8104e37ac6a7964a23889dc505e904200197677504f4430496447b3542eb7b7d81e1d280a49aa8d917d262e6e18ead133511dd8c407d4b7997ba603612788b1f37ab6ca54651eed9f755f46ed1e32f5a817f406143ed1c5951ed79f5879516c184d5b631636497ed57b6072de57c6929d1f6af54a5c8a83e71c8a359d33c152980bab32784c5660ca5537170f3db2808d707a996717dcfcdf321010270be6882b4173da85387bc95a7d5843ff6f9a0d896bf7dc4a37243d605d23dc7f5578e6ed1f8f4fab4284ec8f3143c2aa6f368d222470f38362d5f88f7d07b78a6478fa560aca168641e5cb616ba2012311e6a518696f96c937de13385f1ed9b40076214a4c8ac4985d67cc231140a9ea3e1aff023c7f994678f406fe304bd5c400bf6b0157e235575a6e15cf177eef7410b5d2c106e064a6346668dd46870da4682a488004adbef136cfd0f039ff610118371bca6f88529c2575e41d2a53724077d9b67828b890b938575f1c500a70616f86f7cc5c6d6bf75a3d7fd50c29c63950e0f5f47cacf96d6c7e4b253d7c6c50350cb15e2dd27ee52908000000000000000c00000092e84f09387d71493d7b841aafb67261d82dfa167f44177ecc55af538ddb720fca3b5b2dd4e6444318426f1f963e813ef80f3513d566465c5cb7bc4e30088a0892069b1e535cdf08ac3c0f04d9c4351c8d58274fa1fc07471dbc190c9dc0cb6a1524c5565aa377493b61e451fa804c20f4d1082bc2e2904ae5ca7f4c8d508203d4b778240837a87505e0425f46e10c23f1b5e70ab23af3743cf5d670cc0b552e45eadd28bdd96c04a85fb8541dbef976a132f80eaafc0a5e3e708811c13e05797f44d348c38653675274c25cee442073dd2a303987b3700cece3ae3dd3a9f66bc21a392c263184331de4f74bcf441110f9600820bbe9e617bce13c33de332b6f04000000000000000c00000005060c1359d9c7609f9b3d52c21a506721bfe22f04a7e738eb1c1f759844274e054d18759d1c4c471851b10aa96a665cd5edfe6f7f5c70577ae6777c8357614f3b22f40ffd74296747245d6c92d88462b5896723bc132b26e40a490177f65e74c794c150c0fb44217d75661be8e1873d4c0ac57c9b8fc3182c03614cb33d7c3402000000000000000c0000001b2c314db387c0528fb3a914777913396ffff1061b10094a71a16668f29fa657f7bd3e04caaa282bcb417f63c1e46c3ba658fc10ea82b4015c57284dabab7e0b01000000000000000c00000071e40e798cdadb7294d9b0552410c92c148a4419fa38d076f98d1048a5654f6e" } \ No newline at end of file diff --git a/packages/testing/src/consensus_testing/test_keys/test_scheme/9.json b/packages/testing/src/consensus_testing/test_keys/test_scheme/9.json index 301828c7..a2d98e46 100644 --- a/packages/testing/src/consensus_testing/test_keys/test_scheme/9.json +++ b/packages/testing/src/consensus_testing/test_keys/test_scheme/9.json @@ -1,6 +1,6 @@ { - "attestation_public": "36846e17116bbb09d7dce812b2a0901f2725b47e7c0fac174e7d8c2287c7a77e61982d1b7620991ce6e16641dc8c333a23ed1317", - "attestation_secret": "d7295f8ab7c6818db63df6845237e0c126baef9980cd71c107f6eb50984106af61982d1b7620991ce6e16641dc8c333a23ed131700000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c0000006e4fa763d694c249d835d67910a580425f4a9a79fde14552be0ea45b8ce7e701190d3b3036b4002b691c436b44d3d05d91e4d72dbce6f50fc017f4438461824800000000000000000c000000fe8fa1208aa9c1031023f727397b950e64df81029371b41a87369442c2889d0686bbe509de22aa123760f33814b0a81341a2d164737b4352229431466636eb0600000000000000000c0000003ca8cf38b25c10256ab38f4f60ca5461fd7df35a2fa58c76ccaff010602e15114565bf0b32890d03c4ba09426a89cd6f9485354aa834463b81fb551b10dafc0b00000000000000000c000000de74192a752dc156af6d0940a625f32e6c3ac836257e704154542077252c457cbcedc823b569142a04c8c62628a9f8310c8afd6bd028c67e3d61836ef6b5385e00000000000000000c00000036846e17116bbb09d7dce812b2a0901f2725b47e7c0fac174e7d8c2287c7a77e69257114fd1187438237db1d83a58479bba03b05e1403c3939abb44ce5f2f462080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000a683bc195d85653a61f65635872916782bda5f462a2840778a5d9e2993a5472619b985214a745b298e91bf63574af65d4d9b5f7e7d0c254c2916274e82f8fa75057413669ba37645066feb2a9234656afb718851888ace0bae08cb01fff3040b93b21a7b61ad90727e3b5533e9494b17ff11e57a2f41b608bb166d2bfc930b7976fed7504b5e535312955d6cc9aaf2337a16392967f1e63bbfcc3b1a2b9bf259746d49621cb7016a1fbc99435c94fa205b94144a63642855dab3e717e5bbe37d435d6d560817b922a4ab75195c58e52dd0a21b5b1a044b382cf9165c5e4b6e362d8905545ee3b0621f968d23e81b496e1c4bbf515b6e804ae0321823323d9b33bf9eac131d9bd93563db0e378946db1a3cb3614460295c08832745547431214c7259ce276b853a5be074a9768182e87ace58872ca3737404d09b511e66a12750133d097e2c0e3d6d7a9c6d0e6fb8763658a1dc1d123d5f7866b52604b32ca207a3b4454b340dc93bfb2064671705380b988ee6784b36b01a7b8bb41745ec1478e3f9ec5e623e203e204c3e55d7e2bc47518c0331dc1a3149d520d051163e0646d140d710dedb4a0a87c5c41c08271b1781eddb6771c64d1bbfc2f4051f606230b1bc9d38e7c6ee5eab9ddd30ae6dc221e273907b0db26f1efd24b86069c5e30d45675a3c8a6836559f49c33f5ddb8753bcc97d246c258a730943414be258096f00000000000000000c00000076407078e5e1ee27de66925e98b1086cb23c766adde9886ae971d17af6ff29034cf41b6190681c70d7956e7a6b5f4f54fd8e3b62ffd259614d99517972c3ce00d33f337edf4d510e53105213799a2c2f7e6c8451e7c8442594c7a6614354c175d67ac73d1cf157359e16ed43353524798467a16bf1e90c21d68edb0a3461d34593608c4ef2fb3b0ddfbc881d85837f45795b540fa041967ab63d941a9742cb49d468f2521458115ba2097374f30dea4a620fca2d9b8dee4d1e0c7a07580d810ea200fa46a31c7267fcd266751cdb52645ea6f469f88115200581443a9b5a8137a13beb2570698d55c5cbda729eb380680591e8294d2a7267b6c72536bd5bf30c00000000000000000c00000041f6e02b933fe0539d492f78d5951453db461431bb26c13f733ffe71bacd705e2bfc0b1f8f35996b96dcd517247eb553897f3a024d95d208a850a64cdc7d0a5cfaafef6076357148e23b2940af08f2619e25f67181f1db37a51df329bd8b521f43ca030c1559164bd77a571e3f7d4446e82b4745fa8f8b406d37460e8fb0fe5900000000000000000c0000008a8adc2062bdc10ebb6a8f243cf580112c017b4606173333c1498d7a2ecdf10233e0b86056454276a1ed8472858fba0d96d6a87942114423ff9b5877df96e84a00000000000000000c0000006e4fa763d694c249d835d67910a580425f4a9a79fde14552be0ea45b8ce7e701080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c0000004717993422bf8f6916ec2e1e3c012f6ef8193d1c757c4d495c6a14771f669314ce63e8555a2f570f78787b514f824108e9332b32d3969042ad13ad109472513d85afe963451f5d4a43082a4040becc4a556ea6627f3ea1422d26780d51822c3ba9144a1e8eaecb1d16eb910d67367159e0a20b630662ab606e58244f279aaf08ee08b770049eff50b9761b62bd7d8c6aa55d375dfb5160544976816e0d5a5045191f3e2c6a186615d69f875157a3f205300c6269f179105f220b5d71ab401e3d76622e6f15d33624897c6d2af1235c74ba49bd4fc7cbc7333645641ebbda87789c960b1fad446651c38d0d2754381c5e71208060dd50b2230fca663250af3c1af68d415bbed7d20435c25b5ecf4b6803c6ad586d494b1b6cfd1b8a2ac27725546a74c953d2d1575f68bfaf257a7403309980b836860a1106ddb12a21b95c9e582825b40d64c5215e564d7d13f5b5db1587dc805e27325d50597ac75ead0fe7433b04514f595a187a8f001d0b94757072f939222914d5a217c7891510c04cda63fd55b958f1be205792b1f82ab25e86600b143461c4c8da3b4c10af21788c74597d4b366355d9af634e0e6a3dd2a83632ce4bbd41a597124adfca5f2df5a27f2c5b649d6caaf27f09b2fac81b6f3e950f32c80208cfafa75b0cb2ac22e305593d49b5a836a1c8a36b1720ca235de53f3025c4465bb975dd0da7fc3c460c65116008000000000000000c000000fc5201623e76d1121a96b508db92151eceba8b1484b832691763b8437531a42fbed63d610a8cca1ba819d64111a8b325e883cf48c21c693d85869f5441b4d57b0311e3081fc2921cdc11037ef1aa2062fe68780102798a073221154bab69e303d151ff221212fe3dfccf1d6967ceb2122db11f3b2feaf00bdaca2a4a1a2a6d3313f85649b0c2aa2123ef2b3974c7c30565fffd2f306b4b57b21e896cbe6a105189ee514591a9ae63d992ca1681eb4d791e0f207a8031e80a886fbd408e029f338caac9510ddced291fcad04588ad97366e0a557cc440624f0574007ac1ee3d410f2b4a639954a54c4871d01884967c471d4a676040e1be0e99e01a60eae90b1e04000000000000000c0000009ad51779047470192e3a6664836ea91efbf14254840f810a54e94831be17295a9ef1cc0dc9e61e0de9969519af4e054006ef32746161ef24d494e461f78d2b6284ec967adef5e119d6749e70e037493fe42b8823325b2c01bafb551e39b6a86d4e4409387bab7757676b506822853e045e68ed1039bee63305ee16730229cb6002000000000000000c0000000d96a344273d89738d901b1c542b60116eed51717c3e2817675ab058c31ebc5e7c4e653a4d92a969242b0b524d7f2c6d7d4bee1f542a974c1f1d1f466fd4fa5701000000000000000c000000190d3b3036b4002b691c436b44d3d05d91e4d72dbce6f50fc017f44384618248", - "proposal_public": "be1d2d75bb42c22e455d6d22302b6762a320d078435dfd19e0ae5f64d658ec0c0daa724c76a77779c792c66bf6550a3ea7c84368", - "proposal_secret": "93408d5e7185059db4cacb9867db391352dbd04b81af243d2819100d8a97a3310daa724c76a77779c792c66bf6550a3ea7c8436800000000000000002000000000000000580000000000000000000000fc0100004006000008000000000000000400000000000000140000001400000060000000ac000000f80000004401000000000000000000000c0000002166c343da875d08b84dcf2bd7f0723f7ec84769077101225c72fe2703dda749a11cc337da72e3032c4050215698975f37db6c565e21193205350a289cfd876f00000000000000000c0000009f5aaf56979ecb0ba57827520383e62b96a0213e80881b6057dbb20803de770d1776130c38f8fb604449722e7f6ac0083df18e65d390e22362b97049f5abaa1500000000000000000c00000087289848cc968124c1159b6c4c01977b1b1de02e793fe51e238e6c2ec901a341f983c65acc494472bc71ba4d539a00238bd8e31666a8177edb5a216e4efccf4200000000000000000c0000005273fe3c5d4bf912bb5a815a44a9386a4389802c9fc6ab35c5a961780f86d640cf64d276183bd341ee196909a0989f43337b39788363a602fe48b10e87677f5a00000000000000000c000000be1d2d75bb42c22e455d6d22302b6762a320d078435dfd19e0ae5f64d658ec0cb9fb29637100a168d03e990b4103295a7d546747c806703f8a77a70a5ec4ed78080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000e1e3bf2eae9ffb4f5923da5f4e6ae476bd7a7d00e2c67033ed393436eb5f2856adef264663632b5868371f2f4405277e5270aa2f8202837af69fd25da4a89e503c9cd41ae358276b5bf7fd2128a61058420828290911c83a97103940e0ea5f5288d8254a6824ae25d455605047b96d4e9efd3462f0a8a72980627c230df5bb2f124a427d8227b1394aa6ca634761861acf7b4e27303d2245c6ffef16c888bb49c145b3122ba0e15eb87e106e230eb91bb5f93103a8a64e78e09d8b0058c23b6db1d7f961e992b7023786a43bc1649a16d7f3d4482102c070edf5603fac4ab276d0aabb3b31e1c8494f798f52465050493cebd35ce3b4ad7ba12e795ec51e8f2c0cc6063cf4a6375bb6d353587f419c7818f9442240d88a705751161823ce32117fb2a0776eb4a1119e081a2ac1236d4d692ac854eb6a5a43b43bf5259746de787b18ad1ca106985c1dcef2657e8edb3541cf262d684b776f5439e34a9ed49b4c3a444a34a6651d55dfd54a4f057a925248442d715ef5d26aee6854007261ea367777ff163e03f118fb72ca36b370ab589783d17e1d3d247e595c903101d8ff69ad15622764d0917a0d595b1b330e047954fffa307f99f05065bf463f01eeb85566986364377ff673ad768675d99b9068be502f799d2617517ee30558bef2054f7dc4fc5123ee373f79976f731374c921e1bbbc3d65920d597638c80df528bc0400000000000000000c000000a4b6270287d8b35ac3f5a77c99f9c457a1f71f23213306216874b54f869e661ff509204aa8ab331e93b1694203efdb28d75d823034148c5fffa7e95c505e1734e5396c68411e294c4ffa4f7610b18a2efa35fd136b83f0572e614d1df28ec0150e2d9369c581ef6268a9871666f4c8387efd882bffd39a599d5cd60fc8e8211c22fd1f3207ea9435e185bb1f5fea4e6d86fa7d1e3432576a1afe804970a955026be1777d12741838533d92590502900d3de0136549368a178b497128e3173e0911bce870bd0e7a3812423245c228ea7363e247173d885d0d2b7def6f3025e174769966243cde9b69d9b41246a6b54500f13104225a18970b323d70255195ea2e00000000000000000c0000007d90ff550de1db44012543258fdecf786f669771e9355c6a292e1c53d890c15b512f7572ca268e34e727e30567ec837b55773d05a0eff8496acaa614b4fceb0ae98a39307d00766a3a071a76043c531a12209377bb4f312d8abbd300f4a00419dc023c3998a61a2d1123263a9dd74656ab39d06a723c4a20e2256c27b3a70e3500000000000000000c0000006ec0b43ea96bde540a0b9e0f4b860d272dc7ff5fe6aa651ea0825d46b8b5791fcca17b46cc0d006db7fc1e58f413e40dac7d2e2a4955640db358194dfb5c370800000000000000000c0000002166c343da875d08b84dcf2bd7f0723f7ec84769077101225c72fe2703dda749080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000fa07e1659cb7684e90d4296283f7d04e5afbe921940270392e678072b0c82c234e693a6a25a76521e8dd3e240b569d3e46944e406b83f019414cef75df5c4a264a18862b4374575783088d3c52b23d5401a6cb46f2ba5d69cfb7352579c72169057a1b2e1e6f212858a59d40cceabc0527cb9f7328742532e0ab1207c709af4a01ae331da82b3417e9c23f7ea82f314402fc2a72ca8177650ad875553106d20ec891b57541f4bb1604035f5a774f807ac9506b38128c2e78d96ef30904bcd6295db72a03e44c1f4070282043bf442105dafd282846b4dc4a42263f3bd141ab7155c5646c4822c44786d78a7ade46be642885a754871a386e922022523d20f23fb4cec00ca65e140bd0479970fa8fd72d92c44b17e8491e6ccbc8f34955368e44e66c8f6e6408a2427ddd8f636f7026415288ba2bce69e05f7ba6530f8c01aa00f0467f3fd7f4866a2a37be0513332d62eeb72c37f67a861ce687390e4fe6ad5a40ab637a6609e651ac363a36f1dc5d2daeffc621acdc7a39355dbe4b1b67651eaf28b51326a9847274ad9c23a7eeb10de53fdc5a4e94b055d9e0fa2ca38d9d25551b6873ba7e5671461ff32ca64fab30381dd7637faaf60582c05e6849f73a7734262e6a87c44073a6779026a400f06266039f166bb9fe206309495bf80a8d66ce6d2e693ab4db202cb56b2464bd884038bf6a05dfb480555df5ca2b93a8ea2a08000000000000000c00000033aade7cc2e9c90ad3fb0938b1c7551eec4beb0c0511be5edd64d45b1ac95542cc5f891c940b93238c2bef74669bb476b2ce5d75e81d3a65854f636a0a59f24dec1d8614d35c385b52a0485868085e4ba9ca5a6b77d43f1cd844e83fdb94267a30c2a578371d924b6b820506f7400036c2563320a9a2904f64cda4437626962301757c0f7be47d5b4533ae6a0775c064cfd17725e28fc00d1d24141901c7841279095448a61df07c6b53dd1ea0a7a359c4e6f430cf510634e046724a2da90d3ed135a30fa109112340ae4c763c565f2c60b3f4465024b335027401494e846a53df6d0c7592560a04db21706d99f4d5538f9a47226dcbbf043b616c7037c1db2904000000000000000c000000b1a9d32e11a6e308ec139703c1b8c435782c2a4f002f546da148fd66f4492505c8b72664a5bb403ba495a16e618bba38c8f8d00eb6e8ff3297a2ee6fc198de05181fb3215b73966ad55eb30859cd0e389b09f05be305327b8e1dcd7d605b2a0308cc2d3f62d5f914734d325dc1d1cd58d98f3d56f150d229102c9a61e7f4b13702000000000000000c000000b513ac5d9dcb4e14b840ac0a39c4ff6f008acb143a1fef0d0d3f7f2a1a0caa55d6adfd7cde4a9c62408ba0448b8ce2213df24e2b9748862e637e847e98f16f0401000000000000000c000000a11cc337da72e3032c4050215698975f37db6c565e21193205350a289cfd876f" + "attestation_public": "8a2c99181341db536f3b885abfe55720b982b60a537d2540651ac41d0efaad5c29727c0243d6b36d0de6620c2557084cef6af444", + "attestation_secret": "d9cd0eed9a723b826952a78f43c8d48f691ee93ce8176ac2465d79c3fb618e8229727c0243d6b36d0de6620c2557084cef6af44400000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c000000aada9008a19334507d521513397d7d44ffa7722e256ff35dade0623c587227230346a55ba1bacc68fb88dd68b3868d46480ef205fea9613be7869a0deccf9b4c7a45c2078b764b7463f56129d82b091d30a2055626eb1b58f0ffd66be47f795d55e000019119da15e09ccb6f250eb344480b874e5a2b096c17418e0508ad6a793e6c205e3e0a771ff6cd135775d03e6bea7f247d246c3c65bff23c57f7d82e05cb4a381f47b8ef4a406d292a0e0cad4370eec669ef87517740d79956c465b760a2636a054213ab480bcca718a988817d0b53731928958a0b4e936e4d70d9872ecf61cf4a27c8e258de874a4e60de3c666fdaa01a2fdc0659cd2ade4a3255f02f00000000000000000c00000069f64e256f2d862fe4b3536c8f1fcd7aab0151252ca3f05b9f4c5563b99eed0175e24d6fd687931af001615663470a4f33f381020cfa027cc0ce407b99cbd75025eba06950305931e8d6113490db634bb27f454574845d54fcf7af6ac403084b1e4d347934837d13a0d3aa460ae77b26df3ab31e703cba529630c03b7b59af0d00000000000000000c00000071c5383c582c8a7dfbfbb7219215ac63a66d241df35d8807454d7f7854418b045b1c4a3ab94d5e2fc180ca343b7b1c57a175d24a37540045fbe45e306b35d31b00000000000000000c0000003511b44a93654b35c4da656264cef87b08bea72bca46295363dfd47eb5935f67adc78417c8bfc50836685525b94b602658b6c415b2c49f4a24ee455d3c81bd5b00000000000000000c0000008a2c99181341db536f3b885abfe55720b982b60a537d2540651ac41d0efaad5cc0a7ff4d45918073e85eb205e21b563f5726806ee635ec4de538be7625a0561d080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c000000e509d3690055f56b1eac70555e38b31f9a35b3147f23e76f45b4b742f70a68341c72b037d7870701c8fae12930d88e61eb2a2250bf70c02cc5f2ed72dfecbe2a26ed921fd5052d6f6a74df4fc255096fe4579049b73ef41564b5347e6800c950ce7d100b764b020c0ccf0b79c054c82d777edd5e76d41b3b9a3ef81164d05166a5cf160604ec5a0363e71d238bcb7722a0a13f67b53a794352a7d62d14d2df3e12d8ca6cf499196c7a81622f7db9dc57c80dc508eae5860d2db421167b26da67edd1ef49d450342cfc472944021377653529ce1ed87d72188bd05632e67e255d0417d849240fb65093f73d2c7178fa483688ba0217e2ab61785cea69aa68d573cc575840c442482118f4cf52a2ff42437a5b80085efae062845ef309081430271177ae6075161c0e760e346e9713763b646f8c0a2c6c274ec0af287e58007b4c2f5b8f560522da3ad9c80e245e96853fab8a505d083d0b0b57864f59b70a334e9e744c555fb7675cc188326ffb4b386c15287e585a1dee7e77e64778a2c6bf5effb39c1000d79516483cb824e323a22657d3103042751564860a1756de0e4a27e9da7e79ae15081b1e55885cb8ef4760ba82402ef67eda74845fe80ab5f0ef5690fc0f15c507b80827da707ee4509a67cd58ea426232e860d6468737c431140dacba5d25de6f1513b0d92363a1ebd72eebaee45c539e413367afe8756bca663700000000000000000c0000004a0788747d658c1ee80b6e2105c8741191c20251e846ae6079bedc205f520d6be59375770a55530fd665e953451e7a55a24afb1afe0f2e687fda722fd9d1331801579434190918085a5f3117b6ff667ee923b3501b02b632d5e3bc66e5312765609fcc77131b1239f165d645f0d9902ccbc89142fd1ac94ee8360d19b0ae5c700ccaaa77dedb0c4c8288ea1ef3ac3f37642db63e6a43ba5668355c7942e3e74013cc0b62dbef494e1ed9415b7b93440952c73347e803a909731f26008a4f4d7cd3aae86f7940184869a7194bc898256d270fa32b8a456f1e94e24f6e0b43014c37f9295f2739d86aac77a7142d608b5de848725722a671484319b6549a2f864a00000000000000000c000000e97cca71da429e1fc92e4648a8f87275e5f5e15c29eea709eb42653a70413030e0a7dc009ed3583a25dce050a1126e2eb1458f2fdd701c50e98f591f1ad78d1ec24e1f5ab3476045c9bd73460f82e22a0ddee6392b22515b2a158e2006ed9c70a5c39072d0bed9217bb21c611e36ac19c90dae426ee4c351bab77e29372fb57900000000000000000c0000003110862b431b085e3fdfe95c4db619433057604e4803641ee8d64b59e59505402896af701831a128f28a735c0e3fba5ebf98de332ca52f3eeafe301b4ef1097300000000000000000c000000aada9008a19334507d521513397d7d44ffa7722e256ff35dade0623c58722723080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c00000082373d1f1a8db005e17f160ee3be0b5ddb3a596d133fdb253cf0293d0712c06f3482b75ccb4f24249ffa1667a704dd33b77da46ed805782639788468dea6d114ab7f0948a513a57ec5486818ecfb1c08ffb9fb687ccbf3559a8d2c1c18630345e696b507de69113f1cc9180ec266d824f90f87326467fc2dfdcc366b23ddbb13a4681d1472d92c6ca50a99128b1562463ca92114293eb856a156c8707fe1055883c1f71a0c8a6621a4da91514d9f0353200531142f1bdb1cbc5cae71f514246035c13874de6f7e30fa92433e29f1c0486756da470428b45b6bbb623179b0063001901419d1f86875c4e35b038646ae76273fac1972391f2ab0369a394b2ec66af562bc6b0b21ab463b3eea096ed29e0ae2da7d47c9c5f0520b070d6f358c5113f43d9f52c2e15a0310582056b45a4d1f76f2eb785a02de07d35444371c86cd7837f57b1e9686fa729092b966858ee4344fff4c0db0e94804dc8b9a43d7949e32f047a00ce4dbc903589b1d6be90ae13c556db15391884630fd300c1f1491e119c0d6e30f4b617317e8d5bb69e2b351748853a73a98f390178bf4b56a1fe5f208409ce83cbac3fc481420cc30dc125f31841415600bf7de178086de304ad1b23a3ce8e904a99ae758a3923419a71d101896268c32bfc5165e96cf425d6462572d56c56769d931001210c3e0235491ab281940200068c82e00ec5ea42198ebb87808000000000000000c000000f7509254d6b64c4afe9f9e0ee82dd60b9406f04ac5917b7e2df8ba3e49110904c156b71a0ecb615cb73a294d43a286259aac093224d8600c329693598e78c75f9319dc01a84b65126f82a431775c603e8be05a3fdd0c6b3374f01e2353fed6079dbbea18183b740e8cb42d5c9be74d2d417c3c50b9501f267086e30b41fc7419327dd71c9492e1271ad8ba2b6ce0624c5b8df064e41fea6e2dbed33b5982e8694d00052cf9a4e058a64a8e17413cc70a1005bd36df1e5d61c6fbba610ac2e017d4d92841b10c596fa6b8f23952fab310882d8606750c2e38af76e82c5bc22d7016189f1e969621641b611267b580a05ad9e2a824f3b4633137195400ccd2183504000000000000000c0000001e747412e97c95657348f32c6f6de37a54fc7b4916852d7999cd71359ae2fe3e5caf4e5d8af34361b18c5b0582529b2df57c1a272f216a68ba52817de5cb3b5316c9a669a9526242a0766b1d2a588c5365537802a23ebb412117d77e6e3e3e410f262416498a3949b7da3d6397407969d47b1705f2ee8a258ac1b422f12be21002000000000000000c00000094a923343a33b81d83027842d66a4d278e28db6e82ff8f1bf396c62aa6a86e40a3f3ca45110abf3e86fe0e1c57da8d0b36b9181c10968353f1063732254d7f0801000000000000000c0000000346a55ba1bacc68fb88dd68b3868d46480ef205fea9613be7869a0deccf9b4c", + "proposal_public": "67982a225369f8566554ac5f0aee8535ce298b5708a8801a6f96ae15c7234c154e81f67a9a658e37ab3e18305121b730d7f6253b", + "proposal_secret": "6f6d68afd1b387ed3204f7ab6c0d398d4e9a00b0391c9051d2bf5396e63a5c014e81f67a9a658e37ab3e18305121b730d7f6253b00000000000000007000000000000000580000000000000000000000fc0200004007000008000000000000000400000000000000140000001400000020010000ac010000f80100004402000000000000000000000c0000005c15b5369fbb8245c1fd6a01bbda56741a4b201209f11967ec1ef809aaa52f054f1e7b3ae960737c5e6bec5d2f3d8073151f621b23e3fa2fe2c2b95d570b0e0457bb2c604654574e2d1fd704114b55234ab348191311706870771e0645d2ec2bbb085677c1374e076b08583a37525c1c7e59f72ae2b7a412c8fe4341d9de2a2eacecaf070fd6840cf6b2180bf8252a406a09bf6b745ebe773421ac5cc96496168c897406da70e644c0d5d101cc7b415c583a857a5170ca4bd51f40374718ab2b1d70607afab50a2d7ad6e05455c55d0297c41d7bc3207431832bd85f7067287ac31d674d0ba1a82602bff25411ce9f4b6fc15f010f342a6cafe385467c33f46500000000000000000c0000007237915ca1bbdd4af5d02b7eee8e2305007ceb27d7e42f4296ce7d20e069dd368815790571a59d52ada6277047a4d4656c7821366909fa2a80a43720b2e9ed42a5e52f6d06af4d799448796fa2c4f52a229aed5f80f3ad428cf3c91091700b4f92f2937777afcc686631b9582e741f25c0becc14b1f5080df4b1d62b26330c5700000000000000000c00000038ded37e4ac0f64deda4ff423dd25c7947392a778317232faaa5317176f3017a5c1c566ba4d1044790cb914978bd487e1fac62226234e212bec81140a086b51600000000000000000c0000008fc4d226ef60851f8513d9780eab3b6e0e084b24844cad4ebd0ef330e4de6f06bc8cdc50129f394be45e390211821039c2755f2e6afada11e676a87eb19a1b3d00000000000000000c00000067982a225369f8566554ac5f0aee8535ce298b5708a8801a6f96ae15c7234c15f93f7430737908266295152ffd7fbb7aecc33a611cfd9968b07b9755e39e0972080000000000000000000000000000001400000014000000200200002c030000b80300000404000000000000000000000c00000054f9532ab840a22dbf34b4234ddda34e7ba3862063c3587ca89e280bb70fb71a65cedb0845856c0caebc4d6958364d5ed049710955c4522b4878ba1db84a731f56acc93c2797626c8a2d377ade1142249bd82408615db06daa39f83796d8b146c9fbbe114e79f66758f0654d0f2cea105d531f02c1adea7061bcf9402a1d854240376259e3d37c1f9244a035439636751851332960b5f06bdc592512b508ac553dc8953a63c0f0239190290194f91f6ef4539931ad6c982d0cdb5c6aeb95ae260303882f1915912c4364ec383e0bc21a7ba7e52410ee072e24b3427a3741c238b338e812011c9368e2a86228b041171e73b0d96a7c04201ad775be5759e9362f0fb8da692024c65c31c52763f6fbe676332b1c75f6a10613d142624503d19d42f2665265faeb5b253cda6c3b2712ea109aab16784b7e8e1f198b314e243f0076857f981199e76016e7d0d345d7aae8505b66261aa18697644a7dad26175b2445b5fb3434c50c9e630341227a6b0f7e24daf1ed4e658ddd15f085fe2b023e4654b087be04c6bde73c151b42625ace356498ce0a72f76cc40fc7f62c288b45b11c54a136578b409945668c5c680f18ef6f53603513a4816d66316e8648e4330d219e9445069d842940d58feb662e7d871eb03e7475d70e726e76a5070f8c136f6a9906446b8c25470788e4a649c72239428d03c03587d4eb1585330e77aeda101e00000000000000000c000000b4d9fd452c0ff969b47a1a69c69815797cd4414b2f006b195db0e76c0e84d74379d922204b3dee447b2da52aef9ea360ea324d6c4428cf50b81e520e76dec046c9d9953a444504360d2db176eba5270b54f4e44d4ecc7c641a32ef386085c51c12adbb36482f9c4512aa911634c59955bf77e67e85c4165ee2e0b910e4e12f0cbd78a8035ee9cf3673e72679c827d8620ce96434a3c52b5596b66631b6b2ef24d3ffb96a3b766e21fa949c78ab38605a6c8afe24b71ce65a81e50b5a76798a410eca6e2987532d2bb563194fd470cd09b9ef2104691d43111d390a17295fd22cead965295157a97c816f645b8ebec13de59315164205202cf329b1413518671900000000000000000c0000000f482940fe58c207c11ef1478f2c4c42e8d30f4b760f1c48ba869e63092eba1d20b00515d220f0784843667188b98a6d5ad8f47dc4e0d60cbac9dd6851a4625b1baacc33882d0a5da137515600e95a7bf0b32d1226026157f71eb709d525a555eea0ab2cccd32611c79e9b4e7f582c5d8bd63a1d4fa85f75ca7e9d7df5ad013700000000000000000c000000ec460f20fef0b6407683727822c8eb1aedc90d3902dc88308a1ebd0760bb8e64a3fd410a2f809a4d5e58a02bfc46726b0aa4e4092d6b1376864ca93fd9409b1300000000000000000c0000005c15b5369fbb8245c1fd6a01bbda56741a4b201209f11967ec1ef809aaa52f05080000000000000000000000000000001400000014000000200200002c030000b80300000404000010000000000000000c000000045b42549fc3a85c80a9583e52b0752c327c8f2de6a1c9657828ec0fa054b4790ac03c0aa38ee5434d577a3c0632cb41e2312f6a95c97d0f3da979121fd1da41fc8adb4b9f4d3c188453ff58f0328d48e5491d58d6285867c8a2913175ddbc6401ee0509a176407b8201bb3cfdddd32b845e0d7a6f939e6ac13c1f00baae6522d9f3d5478257d608b582fe396dd5772626cffa53503b59382ce0924cdf2e50737fb5b5106292400eb1f64338b52cd7422e91e43daf7e1b0d1c8e5b3b26921f25d62f5d708d7b00424a19253851bede72efe1a7594bf5244d66c121339589be5826e59849cab15216d87e115ce6ea803e9d29f313da59f5177fe5e14052170a0b1c53962953df0278c0551815d2452a3c9aae0530c3a8ca2e2bc56e6054a0b377cda8796dd820393c62c5243976d55a550600e2208d1479480279c70f1a2e8521c8b83b68d5b7e51a377f96288edb9d6e77c74235dfca3622a266b1735c0b7b0255fd39132399b32055733905795c3c5e6fc4144909948342bc4e4640cedd7200585c74244dbd315424f1243235c3d25a5cd0b26d4be3355eb350226494d55f7c1ab017332fb030314e566439e910db2dddbf7e147e410f1bb26e323da45bb13caaa68714918ce92ee7261220087d4573780c880c3d88d81aae47557c5f99e74c7616687024883a49cd23a44392d7aa3c580c247c7b3c2a6283e72829957d646d08000000000000000c0000001c53b52ade04774c41e26373d492b120e4119a5a46d6aa01372cf026428a4008609aaf06c755a85ff637fc729d407e043d7e2670e9350b796165c4212714526297121a3feffbe55e04a9937ee0a81c26298cfd415a0c5d5adec5af2147c6002611f9df125bb9073bbb63ff14800736027a28fc56a802ed40a570b17a2c9ef8651a998967a300f941adb5fa623557ae768b1032436b7a26373416341276adce0d993145366d448e047c67ca695310a7194a35116e2f4aaf62b9a1b666bfebcb6f0d09d611d8289c1f644fba140e985f302d80187201eb251e98bdb03610755354977c4a2f67c9a262509bc85f37b425459b95cf30bc54111bf78b101714070c7504000000000000000c0000004c43a92860a8d9025c71522b020e4c0ea4d9f763de33715f9fd9844c1683b36c672ef263bab0751ee9daa37778637e4341d4037a61aa670afc0070456a4ec20cda68f16c47ae5d680cb0312dd9105266c3570d33d40bcf721f41641d88ba222025d9c744d6b11c345190e41b76ae9023b973a17e86f42f00719d7a58933d881902000000000000000c000000b2d95729366bf86de5a52f72422f24142c8d9222033bce7df174581dfc8c1e1b5ad0577528479b3df9e9e60e800b8a3347160724e67e172a2bd3f84eaeb96c0401000000000000000c0000004f1e7b3ae960737c5e6bec5d2f3d8073151f621b23e3fa2fe2c2b95d570b0e04" } \ No newline at end of file diff --git a/src/lean_spec/subspecs/containers/__init__.py b/src/lean_spec/subspecs/containers/__init__.py index d5588d5b..6dffe32d 100644 --- a/src/lean_spec/subspecs/containers/__init__.py +++ b/src/lean_spec/subspecs/containers/__init__.py @@ -5,7 +5,7 @@ efficient merkleization. Hash functions used for merkleization differ by devnet. Early devnets use -SHA256. Later devnets will switch to Poseidon2 for better SNARK compatibility. +SHA256. Later devnets will switch to Poseidon1 for better SNARK compatibility. """ from .attestation import ( diff --git a/src/lean_spec/subspecs/poseidon1/__init__.py b/src/lean_spec/subspecs/poseidon1/__init__.py new file mode 100644 index 00000000..04f4932f --- /dev/null +++ b/src/lean_spec/subspecs/poseidon1/__init__.py @@ -0,0 +1,15 @@ +"""Specification for the Poseidon1 permutation.""" + +from .permutation import ( + PARAMS_16, + PARAMS_24, + Poseidon1, + Poseidon1Params, +) + +__all__ = [ + "Poseidon1", + "Poseidon1Params", + "PARAMS_16", + "PARAMS_24", +] diff --git a/src/lean_spec/subspecs/poseidon1/constants.py b/src/lean_spec/subspecs/poseidon1/constants.py new file mode 100644 index 00000000..39c4159b --- /dev/null +++ b/src/lean_spec/subspecs/poseidon1/constants.py @@ -0,0 +1,1219 @@ +"""Round constants for the Poseidon1 permutation over the KoalaBear field.""" + +from __future__ import annotations + +from ..koalabear.field import Fp + +# For width 16: 28 rounds x 16 = 448 constants +# Layout: initial_full (4 x 16) + partial (20 x 16) + terminal_full (4 x 16) +_RAW_CONSTANTS_16: list[int] = [ + # Initial full rounds (4 rounds x 16 constants) + 0x7EE56A48, + 0x11367045, + 0x12E41941, + 0x7EBBC12B, + 0x1970B7D5, + 0x662B60E8, + 0x3E4990C6, + 0x679F91F5, + 0x350813BB, + 0x00874AD4, + 0x28A0081A, + 0x18FA5872, + 0x5F25B071, + 0x5E5D5998, + 0x5E6FD3E7, + 0x5B2E2660, + 0x6F1837BF, + 0x3FE6182B, + 0x1EDD7AC5, + 0x57470D00, + 0x43D486D5, + 0x1982C70F, + 0x0EA53AF9, + 0x61D6165B, + 0x51639C00, + 0x2DEC352C, + 0x2950E531, + 0x2D2CB947, + 0x08256CEF, + 0x1A0109F6, + 0x1F51FAF3, + 0x5CEF1C62, + 0x3D65E50E, + 0x33D91626, + 0x133D5A1E, + 0x0FF49B0D, + 0x38900CD1, + 0x2C22CC3F, + 0x28852BB2, + 0x06C65A02, + 0x7B2CF7BC, + 0x68016E1A, + 0x15E16BC0, + 0x5248149A, + 0x6DD212A0, + 0x18D6830A, + 0x5001BE82, + 0x64DAC34E, + 0x5902B287, + 0x426583A0, + 0x0C921632, + 0x3FE028A5, + 0x245F8E49, + 0x43BB297E, + 0x7873DBD9, + 0x3CC987DF, + 0x286BB4CE, + 0x640A8DCD, + 0x512A8E36, + 0x03A4CF55, + 0x481837A2, + 0x03D6DA84, + 0x73726AC7, + 0x760E7FDF, + # Partial rounds (20 rounds x 16 constants) + 0x54DFEB5D, + 0x7D40AFD6, + 0x722CB316, + 0x106A4573, + 0x45A7CCDB, + 0x44061375, + 0x154077A5, + 0x45744FAA, + 0x4EB5E5EE, + 0x3794E83F, + 0x47C7093C, + 0x5694903C, + 0x69CB6299, + 0x373DF84C, + 0x46A0DF58, + 0x46B8758A, + 0x3241EBCB, + 0x0B09D233, + 0x1AF42357, + 0x1E66CEC2, + 0x43E7DC24, + 0x259A5D61, + 0x27E85A3B, + 0x1B9133FA, + 0x343E5628, + 0x485CD4C2, + 0x16E269F5, + 0x165B60C6, + 0x25F683D9, + 0x124F81F9, + 0x174331F9, + 0x77344DC5, + 0x5A821DBA, + 0x5FC4177F, + 0x54153BF5, + 0x5E3F1194, + 0x3BDBF191, + 0x088C84A3, + 0x68256C9B, + 0x3C90BBC6, + 0x6846166A, + 0x03F4238D, + 0x463335FB, + 0x5E3D3551, + 0x6E59AE6F, + 0x32D06CC0, + 0x596293F3, + 0x6C87EDB2, + 0x08FC60B5, + 0x34BCCA80, + 0x24F007F3, + 0x62731C6F, + 0x1E1DB6C6, + 0x0CA409BB, + 0x585C1E78, + 0x56E94EDC, + 0x16D22734, + 0x18E11467, + 0x7B2C3730, + 0x770075E4, + 0x35D1B18C, + 0x22BE3DB5, + 0x4FB1FBB7, + 0x477CB3ED, + 0x7D5311C6, + 0x5B62AE7D, + 0x559C5FA8, + 0x77F15048, + 0x3211570B, + 0x490FEF6A, + 0x77EC311F, + 0x2247171B, + 0x4E0AC711, + 0x2EDF69C9, + 0x3B5A8850, + 0x65809421, + 0x5619B4AA, + 0x362019A7, + 0x6BF9D4ED, + 0x5B413DFF, + 0x617E181E, + 0x5E7AB57B, + 0x33AD7833, + 0x3466C7CA, + 0x6488DFF4, + 0x71F068F4, + 0x056E891F, + 0x04F1ECCC, + 0x663257D5, + 0x671E31B9, + 0x5871987C, + 0x280C109E, + 0x2A227761, + 0x350A25E9, + 0x5B91B1C4, + 0x7A073546, + 0x01826270, + 0x53A67720, + 0x0ED4B074, + 0x34CF0C4E, + 0x6E751E88, + 0x29BD5F59, + 0x49EC32DF, + 0x7693452B, + 0x3CF09E58, + 0x6BA0E2BF, + 0x7AB93ACF, + 0x3CE597DF, + 0x536E3D42, + 0x147A808D, + 0x5E32EB56, + 0x5A203323, + 0x50965766, + 0x6D44B7C5, + 0x6698636A, + 0x57B84F9F, + 0x554B61B9, + 0x6DA0AB28, + 0x1585B6AC, + 0x6705A2B4, + 0x152872F6, + 0x0F4409FD, + 0x23A9DD60, + 0x6F2B18D4, + 0x65AC9FD4, + 0x2F0EFBEA, + 0x591E67FD, + 0x217CA19B, + 0x469C90CA, + 0x03D60EF5, + 0x4EA7857E, + 0x07C86A4F, + 0x288ED461, + 0x2FE51B22, + 0x7E293614, + 0x2C4BEB85, + 0x5B0B7D11, + 0x1E17DFF6, + 0x089BEAE1, + 0x0A5ACF1A, + 0x2FC33D8F, + 0x60422DC6, + 0x6E1DC939, + 0x635351B9, + 0x55522FC0, + 0x3EB94EF7, + 0x2A24A65C, + 0x2E139C76, + 0x51391144, + 0x78CC0742, + 0x579538F9, + 0x44DE9AAE, + 0x3C2F1E2E, + 0x195747BE, + 0x2496339C, + 0x650B2E39, + 0x52899665, + 0x6CB35558, + 0x0F461C1C, + 0x70F6B270, + 0x3FAAA36F, + 0x62E3348A, + 0x672167CB, + 0x394C880B, + 0x2A46BA82, + 0x63FFB74A, + 0x1CF875D6, + 0x53D12772, + 0x036A4552, + 0x3BDD9F2B, + 0x02F72C24, + 0x02B6006C, + 0x077FE158, + 0x1F9D6EA4, + 0x20904D6F, + 0x5D6534FA, + 0x066D8974, + 0x6198F1F4, + 0x26301AB4, + 0x41F274C2, + 0x00EAC15C, + 0x28B54B47, + 0x2339739D, + 0x48C6281C, + 0x4ED935FC, + 0x3F9187FA, + 0x4A1930A6, + 0x3AD4D736, + 0x0F3F1889, + 0x635A388F, + 0x2862C145, + 0x277ED1E8, + 0x4DB23CAD, + 0x1F1B11F5, + 0x1F3DBA2B, + 0x1C26EB4E, + 0x0F7F5546, + 0x6CD024B0, + 0x67C47902, + 0x793B8900, + 0x0E8A283C, + 0x4590B7EA, + 0x6F567A2B, + 0x5DC97300, + 0x15247BC6, + 0x50567FCB, + 0x133EFF84, + 0x547DC2EF, + 0x34EB3DBB, + 0x12402317, + 0x66C6AE49, + 0x174338B6, + 0x24251008, + 0x1B514927, + 0x062D98D6, + 0x7AF30BBC, + 0x26AF15E8, + 0x70D907A3, + 0x5DFC5CAC, + 0x731F27EC, + 0x53AA7D3F, + 0x63AB0EC6, + 0x216053F4, + 0x18796B39, + 0x19156AFD, + 0x5EEA6973, + 0x6704C6A9, + 0x0DCE002B, + 0x331169C0, + 0x714D7178, + 0x3DDAFFAF, + 0x7E464957, + 0x20CA59EA, + 0x679820C9, + 0x42EF21A1, + 0x798EA089, + 0x14A74FA3, + 0x0C06CF18, + 0x6A4C8D52, + 0x620F6D81, + 0x2220901A, + 0x5277BB90, + 0x230BF95E, + 0x0AD8847A, + 0x5E96E8B6, + 0x77B4056E, + 0x70A50D2C, + 0x5F0EED59, + 0x3646C4DF, + 0x10EB9A87, + 0x21EED6B7, + 0x534ADD36, + 0x6E3E7421, + 0x2B25810E, + 0x1D8F707B, + 0x45318A1A, + 0x677F8FF2, + 0x0258C9E0, + 0x4CD02A00, + 0x2E24FF15, + 0x634A715D, + 0x4AC01E59, + 0x601511E1, + 0x26E9C01A, + 0x4C165C6E, + 0x57CD1140, + 0x3AC6543B, + 0x6787D847, + 0x037DFBF9, + 0x6DD9D079, + 0x4D24B281, + 0x2A6F407D, + 0x0131DF8E, + 0x4B8A7896, + 0x23700858, + 0x2CF5E534, + 0x12AAFC3F, + 0x54568D03, + 0x1A250735, + 0x5331686D, + 0x4CE76D91, + 0x799C1A8C, + 0x2B7A8AC9, + 0x60AEE672, + 0x74F7421C, + 0x3C42146D, + 0x26D369C5, + 0x4AE54A12, + 0x7EEA16D1, + 0x5CE3EAE8, + 0x69F28994, + 0x262B8642, + 0x610D4CC4, + 0x5E1AF21C, + 0x1A8526D0, + 0x316B127B, + 0x3576FE5D, + 0x02D968A0, + 0x4BA00F51, + 0x40BED993, + 0x377FB907, + 0x7859216E, + 0x1931D9D1, + 0x53B0934E, + 0x71914FF7, + 0x4EABAE6C, + 0x7196468E, + 0x164B3CC2, + 0x58CB66C0, + 0x4C147307, + 0x6B3AFCCD, + 0x4236518B, + 0x4AD85605, + 0x291382E1, + 0x1E89B6CF, + 0x5E16C3A8, + 0x2E675921, + 0x24300954, + 0x05E555C3, + 0x78880A24, + # Terminal full rounds (4 rounds x 16 constants) + 0x763A3125, + 0x4F53B240, + 0x18B7FA43, + 0x2BBE8A73, + 0x1C9A12F2, + 0x3F6FD40D, + 0x0E1D4EC4, + 0x1361C64D, + 0x09A8F470, + 0x03D23A40, + 0x109AD290, + 0x28C2FB88, + 0x3B6498F2, + 0x74D8BE57, + 0x6A4277D2, + 0x18C2B3D4, + 0x6252C30C, + 0x07CC2560, + 0x209FE15B, + 0x52A55FAC, + 0x4DF19EB7, + 0x02521116, + 0x5E414FF1, + 0x3CD9A1F4, + 0x005AAD15, + 0x27A53F00, + 0x72BBE9CB, + 0x71D8BD7D, + 0x4194B79A, + 0x48E87A72, + 0x3341553C, + 0x63D34FAA, + 0x132A01E3, + 0x3833E2D9, + 0x49726E04, + 0x054957F8, + 0x7B71BCE4, + 0x73EEC57D, + 0x556E5533, + 0x1FA93FDE, + 0x346A8CA8, + 0x1162DFDE, + 0x5C30D028, + 0x094A4294, + 0x3052DCDA, + 0x37988498, + 0x51F06B97, + 0x65848779, + 0x7599B0D4, + 0x436FDABC, + 0x66C5B77D, + 0x40C86A9E, + 0x27E7055B, + 0x6D0DD9D8, + 0x7E5598B5, + 0x1A4D04F3, + 0x5E3B2BC7, + 0x533B5B2F, + 0x3E33A125, + 0x664D71CE, + 0x382E6C2A, + 0x24C4EB6E, + 0x13F246F7, + 0x07E2D7EF, +] + +# For width 24: 31 rounds x 24 = 744 constants +# Layout: initial_full (4 x 24) + partial (23 x 24) + terminal_full (4 x 24) +_RAW_CONSTANTS_24: list[int] = [ + # Initial full rounds (4 rounds x 24 constants) + 0x1D0939DC, + 0x6D050F8D, + 0x628058AD, + 0x2681385D, + 0x3E3C62BE, + 0x032CFAD8, + 0x5A91BA3C, + 0x015A56E6, + 0x696B889C, + 0x0DBCD780, + 0x5881B5C9, + 0x2A076F2E, + 0x55393055, + 0x6513A085, + 0x547AC78F, + 0x4281C5B8, + 0x3E7A3F6C, + 0x34562C19, + 0x2C04E679, + 0x0ED78234, + 0x5F7A1AA9, + 0x0177640E, + 0x0EA4F8D1, + 0x15BE7692, + 0x6EAFDD62, + 0x71A572C6, + 0x72416F0A, + 0x31CE1AD3, + 0x2136A0CF, + 0x1507C0EB, + 0x1EB6E07A, + 0x3A0CCF7B, + 0x38E4BF31, + 0x44128286, + 0x6B05E976, + 0x244A9B92, + 0x6E4B32A8, + 0x78EE2496, + 0x4761115B, + 0x3D3A7077, + 0x75D3C670, + 0x396A2475, + 0x26DD00B4, + 0x7DF50F59, + 0x0CB922DF, + 0x0568B190, + 0x5BD3FCD6, + 0x1351F58E, + 0x52191B5F, + 0x119171B8, + 0x1E8BB727, + 0x27D21F26, + 0x36146613, + 0x1EE817A2, + 0x71ABE84E, + 0x44B88070, + 0x5DC04410, + 0x2AEAA2F6, + 0x2B7BB311, + 0x6906884D, + 0x0522E053, + 0x0C45A214, + 0x1B016998, + 0x479B1052, + 0x3ACC89BE, + 0x0776021A, + 0x7A34A1F5, + 0x70F87911, + 0x2CAF9D9E, + 0x026AFF1B, + 0x2C42468E, + 0x67726B45, + 0x09B6F53C, + 0x73D76589, + 0x5793EEB0, + 0x29E720F3, + 0x75FC8BDF, + 0x4C2FAE0E, + 0x20B41DB3, + 0x7E491510, + 0x2CADEF18, + 0x57FC24D6, + 0x4D1ADE4A, + 0x36BF8E3C, + 0x3511B63C, + 0x64D8476F, + 0x732BA706, + 0x46634978, + 0x0521C17C, + 0x5EE69212, + 0x3559CBA9, + 0x2B33DF89, + 0x653538D6, + 0x5FDE8344, + 0x4091605D, + 0x2933BDDE, + # Partial rounds (23 rounds x 24 constants) + 0x1395D4CA, + 0x5DBAC049, + 0x51FC2727, + 0x13407399, + 0x39AC6953, + 0x45E8726C, + 0x75A7311C, + 0x599F82C9, + 0x702CF13B, + 0x026B8955, + 0x44E09BBC, + 0x2211207F, + 0x5128B4E3, + 0x591C41AF, + 0x674F5C68, + 0x3981D0D3, + 0x2D82F898, + 0x707CD267, + 0x3B4CCA45, + 0x2AD0DC3C, + 0x0CB79B37, + 0x23F2F4E8, + 0x3DE4E739, + 0x7D232359, + 0x389D82F9, + 0x259B2E6C, + 0x45A94DEF, + 0x0D497380, + 0x5B049135, + 0x3C268399, + 0x78FEB2F9, + 0x300A3EEC, + 0x505165BB, + 0x20300973, + 0x2327C081, + 0x1A45A2F4, + 0x5B32EA2E, + 0x2D5D1A70, + 0x053E613E, + 0x5433E39F, + 0x495529F0, + 0x1EAA1AA9, + 0x578F572A, + 0x698EDE71, + 0x5A0F9DBA, + 0x398A2E96, + 0x0C7B2925, + 0x2E6B9564, + 0x026B00DE, + 0x7644C1E9, + 0x5C23D0BD, + 0x3470B5EF, + 0x6013CF3A, + 0x48747288, + 0x13B7A543, + 0x3EAEBD44, + 0x0004E60C, + 0x1E8363A2, + 0x2343259A, + 0x69DA0C2A, + 0x06E3E4C4, + 0x1095018E, + 0x0DEEA348, + 0x1F4C5513, + 0x4F9A3A98, + 0x3179112B, + 0x524ABB1F, + 0x21615BA2, + 0x23AB4065, + 0x1202A1D1, + 0x21D25B83, + 0x6ED17C2F, + 0x391E6B09, + 0x5E4ED894, + 0x6A2F58F2, + 0x5D980D70, + 0x3FA48C5E, + 0x1F6366F7, + 0x63540F5F, + 0x6A8235ED, + 0x14C12A78, + 0x6EDDE1C9, + 0x58CE1C22, + 0x718588BB, + 0x334313AD, + 0x7478DBC7, + 0x647AD52F, + 0x39E82049, + 0x6FEE146A, + 0x082C2F24, + 0x1F093015, + 0x30173C18, + 0x53F70C0D, + 0x6028AB0C, + 0x2F47A1EE, + 0x26A6780E, + 0x3540BC83, + 0x1812B49F, + 0x5149C827, + 0x631DD925, + 0x001F2DEA, + 0x7DC05194, + 0x3789672E, + 0x7CABF72E, + 0x242DBE2F, + 0x0B07A51D, + 0x38653650, + 0x50785C4E, + 0x60E8A7E0, + 0x07464338, + 0x3482D6E1, + 0x08A69F1E, + 0x3F2AFF24, + 0x5814C30D, + 0x13FECAB2, + 0x61CB291A, + 0x68C8226F, + 0x5C757EEA, + 0x289B4E1E, + 0x0198D9B3, + 0x070A92E6, + 0x2F1B6CB3, + 0x535008BB, + 0x35AF339A, + 0x7A38E92C, + 0x4FF71B5C, + 0x3B193ABA, + 0x34D12A1E, + 0x17E94240, + 0x2EC214DC, + 0x43E09385, + 0x7D546918, + 0x71AF9DFD, + 0x761A21BB, + 0x43FDC986, + 0x05DDA714, + 0x2D0E78B5, + 0x1FCD387B, + 0x76E10A76, + 0x28A112D5, + 0x1A7BD787, + 0x40190DE2, + 0x2E27906A, + 0x2033954E, + 0x20AFD2C8, + 0x71B5ECB2, + 0x57828FB3, + 0x222851D8, + 0x732DF0E9, + 0x73F48435, + 0x7E63EA98, + 0x058BE348, + 0x229E7A5F, + 0x04576A2F, + 0x29939F10, + 0x7AFD830A, + 0x5D6DD961, + 0x0EB65D94, + 0x39DA2B79, + 0x36BCE8BA, + 0x5F53A7D4, + 0x383B1CD2, + 0x1FDC3C5F, + 0x7D9CA544, + 0x77480711, + 0x36C51A1A, + 0x009EA59B, + 0x731B17FD, + 0x201359BD, + 0x22BF6499, + 0x610F1A29, + 0x3C73AA45, + 0x6A092599, + 0x1C7CB703, + 0x79533459, + 0x7EF62D86, + 0x5AB925AB, + 0x67722AB1, + 0x33CA4CFF, + 0x007F7DCE, + 0x0EEAC41E, + 0x4724BEA7, + 0x45EAF64F, + 0x21A6C90F, + 0x094B4150, + 0x0D942630, + 0x18712C30, + 0x3A470338, + 0x6EBA7720, + 0x487827C8, + 0x77013A6D, + 0x4AD07390, + 0x57D802EA, + 0x720F5FD4, + 0x5B8A5357, + 0x3649DB1F, + 0x35EA476A, + 0x4C6589F5, + 0x02C9F31F, + 0x16D04670, + 0x62D74B20, + 0x1DE813CC, + 0x189966ED, + 0x527ADD06, + 0x1704F5AF, + 0x000F1703, + 0x00152A1F, + 0x2F49A365, + 0x40EE4288, + 0x0AB86260, + 0x080C8576, + 0x36C6CC05, + 0x0AB9346F, + 0x62AA3EC8, + 0x51109797, + 0x0FEB1585, + 0x04700024, + 0x01DEE723, + 0x5CD4AAA8, + 0x1FE43CE5, + 0x25C31267, + 0x58512B48, + 0x54147539, + 0x4E340AB9, + 0x563FBAEB, + 0x60C8353A, + 0x65A12D49, + 0x6C499FB2, + 0x7EA07556, + 0x396E2BBB, + 0x31A318F1, + 0x11F855AE, + 0x6EDFFB87, + 0x59977042, + 0x6EC5FA94, + 0x75B4F690, + 0x44B6FC61, + 0x02A8BED8, + 0x4C88C824, + 0x08E31432, + 0x09A4C09F, + 0x4796B47D, + 0x215B7E75, + 0x0C639599, + 0x0D93DD4C, + 0x2FAC41DE, + 0x4F46DADD, + 0x03905848, + 0x2B1C39C1, + 0x25FFF199, + 0x38621F7B, + 0x69E59315, + 0x1874C308, + 0x024A3959, + 0x2BAE1F12, + 0x3C200626, + 0x6BA5D369, + 0x2FE9B97E, + 0x674CC08E, + 0x2CBB9657, + 0x550E56C2, + 0x5B80E0EC, + 0x6549CCFF, + 0x54E3E61A, + 0x0FA689E3, + 0x2C534848, + 0x1EB24382, + 0x61B959B5, + 0x4D5F001E, + 0x003A95CD, + 0x1EDD4507, + 0x621E895D, + 0x7DC6E599, + 0x0FBC2771, + 0x152D0879, + 0x77801087, + 0x6A2DD731, + 0x3644ABA2, + 0x2E43A814, + 0x12FF923F, + 0x01CFE2C9, + 0x35F8A572, + 0x5789FD35, + 0x16F39E7A, + 0x7C0CA31C, + 0x01016283, + 0x2C9DCD96, + 0x5D3C6F4E, + 0x0058A186, + 0x16354360, + 0x502A262B, + 0x2B56F93E, + 0x0BC41ECB, + 0x33C83E8B, + 0x21968FC3, + 0x6364490C, + 0x16A45AA5, + 0x286D873F, + 0x2BE17254, + 0x381FBC06, + 0x0DF309AA, + 0x15D48B84, + 0x0FB2C5DD, + 0x7C440D21, + 0x74908F00, + 0x75520624, + 0x7E58F065, + 0x141E1E41, + 0x6582F4AE, + 0x2C4479E5, + 0x7A09FFF8, + 0x1BAA979F, + 0x45AB39BD, + 0x774F78BC, + 0x3C5F9AA2, + 0x115D9DC9, + 0x4B1546D7, + 0x196C1A55, + 0x6A88FB5E, + 0x4C1CA910, + 0x34869067, + 0x2662DCBB, + 0x0A4625D4, + 0x25B121C8, + 0x1A50CCD2, + 0x490EA316, + 0x42556FFA, + 0x6B5E4F88, + 0x329FAF33, + 0x54F39A88, + 0x3B411E09, + 0x6950AE8E, + 0x310A912C, + 0x63BDDCBA, + 0x347977C0, + 0x52831335, + 0x41F32FC6, + 0x67DD5ACB, + 0x41AE544E, + 0x1D83750A, + 0x4BB58D20, + 0x2F5496EE, + 0x353819EC, + 0x412EE425, + 0x1BFD2747, + 0x32A14699, + 0x2F7BE906, + 0x38AFDA41, + 0x5B1E6316, + 0x7B810B48, + 0x6AEBB30D, + 0x55D94F89, + 0x69DB4833, + 0x3A6ECB6C, + 0x50E7D206, + 0x148A4B69, + 0x1AC5548D, + 0x40019CF9, + 0x1E566F2A, + 0x0998A950, + 0x5BC887F0, + 0x73FBBD18, + 0x341E05A8, + 0x7D0597D5, + 0x582308D9, + 0x7A98ADDF, + 0x0938B854, + 0x544BF13D, + 0x50090144, + 0x13BAF374, + 0x1896A8D5, + 0x75EA7475, + 0x23510DD8, + 0x72C93BCC, + 0x1C41410E, + 0x4B72D5F9, + 0x103CCC4E, + 0x3896BEF2, + 0x2C5E0B1C, + 0x1E2096DE, + 0x15594D47, + 0x04E035CE, + 0x2785D1B1, + 0x795BC87D, + 0x373FECBF, + 0x0B18C3A0, + 0x6516874A, + 0x2B567BE9, + 0x5A2A3D1B, + 0x74D99C04, + 0x437DE605, + 0x047DF991, + 0x322FAAD4, + 0x2EF2F76F, + 0x5F9E7278, + 0x62740235, + 0x18C1E8C2, + 0x0691E203, + 0x3324646D, + 0x59542C9F, + 0x32433D0D, + 0x42C17492, + 0x45AC808A, + 0x685394E0, + 0x316F7193, + 0x5EA108A0, + 0x6BB3F12F, + 0x232F8865, + 0x7C162B62, + 0x52AA9E45, + 0x1B69F8DB, + 0x3EC35206, + 0x1EF086DD, + 0x34D7A5E3, + 0x33AEEA57, + 0x03565CC8, + 0x5BC5FD47, + 0x47ADC343, + 0x1D5857A2, + 0x5E7ECE76, + 0x0239FBA3, + 0x58BDEAD4, + 0x41671AEF, + 0x3C8A9189, + 0x7342ED52, + 0x19871456, + 0x573A02C8, + 0x2EC8AD55, + 0x09C4A997, + 0x34B9B63A, + 0x226DA984, + 0x6B31D16E, + 0x458384D2, + 0x353911E1, + 0x4CFD1256, + 0x163C23AF, + 0x7609C5E0, + 0x76596C08, + 0x087ADAC7, + 0x4FD4B62C, + 0x3692A037, + 0x51C54B62, + 0x133DAF4D, + 0x0C76F623, + 0x387D21F3, + 0x6034ABE5, + 0x7C982E2B, + 0x63A266B4, + 0x4F2B17B8, + 0x0BD62F1D, + 0x70E37A7C, + 0x4F162DA9, + 0x38F0E527, + 0x6CE798D7, + 0x6C74250B, + 0x606F2FAD, + 0x212B041D, + 0x6724FD32, + 0x73AAF9AF, + 0x3AE9B76B, + 0x014FE151, + 0x37687943, + 0x36BB7786, + 0x01DA85EF, + 0x28C618AE, + 0x36706580, + 0x3F5F610D, + 0x2E0B9391, + 0x5750E38D, + 0x00B48D71, + 0x0F1F1D7A, + 0x7107C415, + 0x35C1E287, + 0x26CCCE2F, + 0x4E29277A, + 0x1580EE9D, + 0x18136F74, + 0x530F32AD, + 0x5A19B05D, + 0x3D38B320, + 0x6A3BF1E4, + 0x39E9EDBB, + 0x2CE6A59E, + 0x2DF215E1, + 0x216A17BA, + 0x3A8F3CFA, + 0x0A14D990, + 0x1162E529, + 0x1213C181, + 0x3DAA68F5, + 0x16C570FF, + 0x1063321C, + 0x06A2D0E8, + 0x17C094A4, + 0x39A5D9C9, + 0x086D4802, + 0x67AB7FE3, + 0x67F51392, + 0x3649C2AC, + 0x62AA8CF8, + 0x55B6FDBB, + 0x55C3E972, + 0x2F865724, + 0x314FA653, + 0x029F66F1, + 0x016F80A2, + 0x4B70E0C2, + 0x1782F9AB, + 0x697578EE, + 0x07B2C8B7, + 0x123F6681, + 0x2B78DB24, + 0x2CD8DB9D, + 0x302947B1, + 0x04F4C99A, + 0x1F8BCBBD, + 0x61C782EA, + 0x3459928C, + 0x3EFEC720, + 0x24F2B8F6, + 0x5DEC66B5, + 0x622386CC, + 0x26B70002, + 0x1FA0D640, + 0x6EDEAA0A, + 0x670FF3E1, + 0x18641D8E, + 0x43B68197, + 0x315B1707, + 0x46DB526A, + 0x02FA5277, + 0x36F6EDF9, + 0x31AD912B, + 0x7D518EBD, + 0x61DB2EEA, + 0x0BA28BAD, + 0x3C839E59, + 0x7ED007F1, + 0x74447F8A, + 0x6B4CE5B7, + 0x7272E3A4, + 0x192257D1, + 0x5F882281, + 0x5F890768, + 0x47EEC4CB, + 0x2EF3E6C8, + 0x43D6E4E2, + 0x668CE6BA, + 0x50679E00, + 0x24C067A8, + 0x605BE47C, + 0x324AC2EC, + # Terminal full rounds (4 rounds x 24 constants) + 0x5883788F, + 0x7EBA66AF, + 0x23620F78, + 0x44492C9A, + 0x7CC098A4, + 0x705191FA, + 0x2F7185E2, + 0x6EBBB07E, + 0x23508C3B, + 0x6CB0F0F4, + 0x1190A8C0, + 0x60F8F1D0, + 0x316C16A1, + 0x440742C7, + 0x7643F142, + 0x642F9668, + 0x214B7566, + 0x52A5C469, + 0x1BFD90DA, + 0x1D7D8076, + 0x6E06D1E8, + 0x7D672E6D, + 0x6FD2E3E3, + 0x3257AE18, + 0x75861A51, + 0x0E2996FE, + 0x2BDC228B, + 0x6879FCB8, + 0x14CA9B1C, + 0x29953D92, + 0x36EE671D, + 0x31366E47, + 0x79C4F5F2, + 0x2B8C8639, + 0x073A293D, + 0x32802C31, + 0x4894D32F, + 0x06ACC989, + 0x40D852B1, + 0x508857C4, + 0x2FFE504D, + 0x18BE00C1, + 0x75A114E9, + 0x4ED5922A, + 0x1060EE72, + 0x2176563C, + 0x0B91B242, + 0x6BFBF1A4, + 0x06F94470, + 0x694F4383, + 0x53CADA3E, + 0x1527BFD8, + 0x2BDFE868, + 0x120C2D2C, + 0x7DFD6309, + 0x10B619C2, + 0x0550BC7F, + 0x488CF3DC, + 0x4C5454A2, + 0x00BE2976, + 0x349C9669, + 0x2B4EB07D, + 0x0450BF40, + 0x58DE7343, + 0x3495A265, + 0x2305E3B7, + 0x661DD781, + 0x1C183983, + 0x46992791, + 0x3EB3751F, + 0x38F728C8, + 0x775D0A30, + 0x7636645A, + 0x7125AA5D, + 0x0C3F2DCA, + 0x13B595CC, + 0x5A5E9BCE, + 0x54BB3456, + 0x069A1A5A, + 0x7B9F15EE, + 0x50150189, + 0x68C9157B, + 0x07E06E22, + 0x568AECDB, + 0x1403F847, + 0x436CF5DA, + 0x3F09C026, + 0x652F7B1B, + 0x3E8607F3, + 0x5BB37C57, + 0x1B1A9ECF, + 0x39D11CB0, + 0x1841A51C, + 0x1251AD48, + 0x74FB5EDD, + 0x21FA33C6, +] + +# For width 16 (needs (8 + 20) * 16 = 448 constants). +ROUND_CONSTANTS_16: list[Fp] = [Fp(value=v) for v in _RAW_CONSTANTS_16] + +# For width 24 (needs (8 + 23) * 24 = 744 constants). +ROUND_CONSTANTS_24: list[Fp] = [Fp(value=v) for v in _RAW_CONSTANTS_24] diff --git a/src/lean_spec/subspecs/poseidon1/permutation.py b/src/lean_spec/subspecs/poseidon1/permutation.py new file mode 100644 index 00000000..e7558b7f --- /dev/null +++ b/src/lean_spec/subspecs/poseidon1/permutation.py @@ -0,0 +1,285 @@ +""" +A minimal Python specification for the Poseidon1 permutation. + +Based on "Poseidon: A New Hash Function for Zero-Knowledge Proof Systems". +See https://eprint.iacr.org/2019/458. + +Uses Numba JIT compilation for native-speed permutation. +""" + +from __future__ import annotations + +from typing import Self + +import numpy as np +from numba import njit +from numpy.typing import NDArray +from pydantic import Field, model_validator + +from ...types import StrictBaseModel +from ..koalabear.field import Fp, P +from .constants import ( + ROUND_CONSTANTS_16, + ROUND_CONSTANTS_24, +) + + +def _build_circulant_mds(first_row: list[int], n: int, p: int) -> NDArray[np.int64]: + """ + Expand a circulant matrix from its first row into a dense NxN matrix. + + A circulant matrix C defined by first row [r0, r1, ..., rn-1]: + C[i][j] = r[(j - i) mod n] + """ + matrix = np.zeros((n, n), dtype=np.int64) + for i in range(n): + for j in range(n): + matrix[i][j] = first_row[(j - i) % n] % p + return matrix + + +@njit(cache=True) +def _mds_multiply_jit( + state: NDArray[np.int64], mds: NDArray[np.int64], p: int +) -> NDArray[np.int64]: + """ + Dense MDS matrix-vector multiplication. + + Computes y = MDS * x where MDS is the circulant MDS matrix. + Each product is reduced mod p before accumulation to prevent overflow. + """ + n = state.shape[0] + result = np.empty(n, dtype=np.int64) + for i in range(n): + s = np.int64(0) + for j in range(n): + s += mds[i, j] * state[j] % p + result[i] = s % p + return result + + +@njit(cache=True) +def _permute_jit( + state: NDArray[np.int64], + round_constants: NDArray[np.int64], + mds: NDArray[np.int64], + width: int, + half_rounds_f: int, + rounds_p: int, + p: int, +) -> None: + """ + Full Poseidon1 permutation, compiled to native code. + + Modifies state array in-place. + S-box: x^3 computed as (x*x % p) * x % p to avoid int64 overflow. + + Round structure: AddRoundConstants -> S-box -> MDS multiply. + Unlike Poseidon2, there is no initial linear layer. + """ + const_idx = 0 + + # 1. First half of full rounds. + # + # Full rounds apply the S-box to every state element. + # Note: for S_BOX_DEGREE=3, state**3 would overflow int64 before modulo. + # Expand S-box to `(state*state % P) * state % P` to stay in range. + for _ in range(half_rounds_f): + # Add round constants to entire state. + state[:] = (state + round_constants[const_idx : const_idx + width]) % p + const_idx += width + + # Apply S-box (x -> x^d) to full state. + state[:] = (state * state % p) * state % p + + # Apply dense MDS multiply for diffusion. + state[:] = _mds_multiply_jit(state, mds, p) + + # 2. Partial rounds. + # + # Partial rounds add constants to ALL state elements but apply + # the S-box only to state[0]. The same dense MDS matrix is used. + for _ in range(rounds_p): + # Add round constants to entire state. + state[:] = (state + round_constants[const_idx : const_idx + width]) % p + const_idx += width + + # Apply S-box to first element only. + # This is the main optimization of the Hades design. + state[0] = (state[0] * state[0] % p) * state[0] % p + + # Apply dense MDS multiply. + state[:] = _mds_multiply_jit(state, mds, p) + + # 3. Second half of full rounds. + for _ in range(half_rounds_f): + # Add round constants to entire state. + state[:] = (state + round_constants[const_idx : const_idx + width]) % p + const_idx += width + + # Apply S-box to full state. + state[:] = (state * state % p) * state % p + + # Apply dense MDS multiply for diffusion. + state[:] = _mds_multiply_jit(state, mds, p) + + +class Poseidon1Params(StrictBaseModel): + """Parameters for a specific Poseidon1 instance.""" + + width: int = Field(gt=0, description="The size of the state (t).") + rounds_f: int = Field(gt=0, description="Total number of 'full' rounds.") + rounds_p: int = Field(ge=0, description="Total number of 'partial' rounds.") + mds_first_row: list[Fp] = Field( + min_length=1, + description="First row of the circulant MDS matrix.", + ) + round_constants: list[Fp] = Field( + min_length=1, + description="The list of pre-computed constants for all rounds.", + ) + + @model_validator(mode="after") + def check_lengths(self) -> Self: + """Ensures vector lengths match the configuration.""" + if len(self.mds_first_row) != self.width: + raise ValueError("Length of mds_first_row must equal width.") + + expected_constants = (self.rounds_f + self.rounds_p) * self.width + if len(self.round_constants) != expected_constants: + raise ValueError("Incorrect number of round constants provided.") + + return self + + +class Poseidon1: + """ + Optimized execution engine for Poseidon1. + + Pre-processes parameters into numpy arrays during initialization. + Minimizes overhead during permute calls. + """ + + __slots__ = ("_width", "_half_rounds_f", "_rounds_p", "_mds", "_round_constants") + + _width: int + """State size (t).""" + + _half_rounds_f: int + """Full rounds divided by 2.""" + + _rounds_p: int + """Number of partial rounds.""" + + _mds: NDArray[np.int64] + """Dense circulant MDS matrix.""" + + _round_constants: NDArray[np.int64] + """Flattened array of all round constants.""" + + def __init__(self, params: Poseidon1Params) -> None: + """ + Initialize the engine with validated parameters. + + Converts Fp lists to int64 numpy arrays for speed. + Builds the dense circulant MDS matrix from the first row. + """ + self._width = params.width + self._half_rounds_f = params.rounds_f // 2 + self._rounds_p = params.rounds_p + + # Build the dense circulant MDS matrix from first row. + first_row_ints = [fp.value for fp in params.mds_first_row] + self._mds = _build_circulant_mds(first_row_ints, params.width, P) + + # Pre-convert round constants to numpy array. + self._round_constants = np.array( + [fp.value for fp in params.round_constants], dtype=np.int64 + ) + + def permute(self, current_state: list[Fp]) -> list[Fp]: + """ + Perform the full Poseidon1 permutation. + + Structure: + + 1. First half of full rounds + 2. Partial rounds + 3. Second half of full rounds + + Args: + current_state: List of Fp elements representing the current state. + + Returns: + New state after applying the permutation. + """ + if len(current_state) != self._width: + raise ValueError(f"Input state must have length {self._width}") + + state = np.array([fp.value for fp in current_state], dtype=np.int64) + + _permute_jit( + state, + self._round_constants, + self._mds, + self._width, + self._half_rounds_f, + self._rounds_p, + P, + ) + + return [Fp(value=int(x)) for x in state] + + +# MDS first row for WIDTH = 16 +# +# From Plonky3: koala-bear/src/mds.rs +_MDS_FIRST_ROW_16: list[int] = [1, 1, 51, 1, 11, 17, 2, 1, 101, 63, 15, 2, 67, 22, 13, 3] + +# MDS first row for WIDTH = 24 +# +# From Plonky3: koala-bear/src/mds.rs +_MDS_FIRST_ROW_24: list[int] = [ + 0x2D0AAAAB, + 0x64850517, + 0x17F5551D, + 0x04ECBEB5, + 0x6D91A8D5, + 0x60703026, + 0x18D6F3CA, + 0x729601A7, + 0x77CDA9E2, + 0x3C0F5038, + 0x26D52A61, + 0x0360405D, + 0x68FC71C8, + 0x2495A71D, + 0x5D57AFC2, + 0x1689DD98, + 0x3C2C3DBE, + 0x0C23DC41, + 0x0524C7F2, + 0x6BE4DF69, + 0x0A6E572C, + 0x5C7790FA, + 0x17E118F6, + 0x0878A07F, +] + +# Parameters for WIDTH = 16 +PARAMS_16 = Poseidon1Params( + width=16, + rounds_f=8, + rounds_p=20, + mds_first_row=[Fp(value=v) for v in _MDS_FIRST_ROW_16], + round_constants=ROUND_CONSTANTS_16, +) + +# Parameters for WIDTH = 24 +PARAMS_24 = Poseidon1Params( + width=24, + rounds_f=8, + rounds_p=23, + mds_first_row=[Fp(value=v) for v in _MDS_FIRST_ROW_24], + round_constants=ROUND_CONSTANTS_24, +) diff --git a/src/lean_spec/subspecs/poseidon2/__init__.py b/src/lean_spec/subspecs/poseidon2/__init__.py deleted file mode 100644 index 7f7b1f90..00000000 --- a/src/lean_spec/subspecs/poseidon2/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -"""Specification for the Poseidon2 permutation.""" - -from .permutation import ( - PARAMS_16, - PARAMS_24, - Poseidon2, - Poseidon2Params, -) - -__all__ = [ - "Poseidon2", - "Poseidon2Params", - "PARAMS_16", - "PARAMS_24", -] diff --git a/src/lean_spec/subspecs/poseidon2/constants.py b/src/lean_spec/subspecs/poseidon2/constants.py deleted file mode 100644 index bc567662..00000000 --- a/src/lean_spec/subspecs/poseidon2/constants.py +++ /dev/null @@ -1,388 +0,0 @@ -"""Round constants for the Poseidon2 permutation over the KoalaBear field.""" - -from __future__ import annotations - -from ..koalabear.field import Fp - -# For width 16: 64 external_initial + 20 internal + 64 external_final = 148 constants -_RAW_CONSTANTS_16: list[int] = [ - # External initial (4 rounds × 16 = 64 constants) - 2128964168, - 288780357, - 316938561, - 2126233899, - 426817493, - 1714118888, - 1045008582, - 1738510837, - 889721787, - 8866516, - 681576474, - 419059826, - 1596305521, - 1583176088, - 1584387047, - 1529751136, - 1863858111, - 1072044075, - 517831365, - 1464274176, - 1138001621, - 428001039, - 245709561, - 1641420379, - 1365482496, - 770454828, - 693167409, - 757905735, - 136670447, - 436275702, - 525466355, - 1559174242, - 1030087950, - 869864998, - 322787870, - 267688717, - 948964561, - 740478015, - 679816114, - 113662466, - 2066544572, - 1744924186, - 367094720, - 1380455578, - 1842483872, - 416711434, - 1342291586, - 1692058446, - 1493348999, - 1113949088, - 210900530, - 1071655077, - 610242121, - 1136339326, - 2020858841, - 1019840479, - 678147278, - 1678413261, - 1361743414, - 61132629, - 1209546658, - 64412292, - 1936878279, - 1980661727, - # Internal (20 constants) - 2102596038, - 1533193853, - 1436311464, - 2012303432, - 839997195, - 1225781098, - 2011967775, - 575084315, - 1309329169, - 786393545, - 995788880, - 1702925345, - 1444525226, - 908073383, - 1811535085, - 1531002367, - 1635653662, - 1585100155, - 867006515, - 879151050, - # External final (4 rounds × 16 = 64 constants) - 1423960925, - 2101391318, - 1915532054, - 275400051, - 1168624859, - 1141248885, - 356546469, - 1165250474, - 1320543726, - 932505663, - 1204226364, - 1452576828, - 1774936729, - 926808140, - 1184948056, - 1186493834, - 843181003, - 185193011, - 452207447, - 510054082, - 1139268644, - 630873441, - 669538875, - 462500858, - 876500520, - 1214043330, - 383937013, - 375087302, - 636912601, - 307200505, - 390279673, - 1999916485, - 1518476730, - 1606686591, - 1410677749, - 1581191572, - 1004269969, - 143426723, - 1747283099, - 1016118214, - 1749423722, - 66331533, - 1177761275, - 1581069649, - 1851371119, - 852520128, - 1499632627, - 1820847538, - 150757557, - 884787840, - 619710451, - 1651711087, - 505263814, - 212076987, - 1482432120, - 1458130652, - 382871348, - 417404007, - 2066495280, - 1996518884, - 902934924, - 582892981, - 1337064375, - 1199354861, -] - -# For width 24: 96 external_initial + 23 internal + 96 external_final = 215 constants -_RAW_CONSTANTS_24: list[int] = [ - # External initial (4 rounds × 24 = 96 constants) - 487143900, - 1829048205, - 1652578477, - 646002781, - 1044144830, - 53279448, - 1519499836, - 22697702, - 1768655004, - 230479744, - 1484895689, - 705130286, - 1429811285, - 1695785093, - 1417332623, - 1115801016, - 1048199020, - 878062617, - 738518649, - 249004596, - 1601837737, - 24601614, - 245692625, - 364803730, - 1857019234, - 1906668230, - 1916890890, - 835590867, - 557228239, - 352829675, - 515301498, - 973918075, - 954515249, - 1142063750, - 1795549558, - 608869266, - 1850421928, - 2028872854, - 1197543771, - 1027240055, - 1976813168, - 963257461, - 652017844, - 2113212249, - 213459679, - 90747280, - 1540619478, - 324138382, - 1377377119, - 294744504, - 512472871, - 668081958, - 907306515, - 518526882, - 1907091534, - 1152942192, - 1572881424, - 720020214, - 729527057, - 1762035789, - 86171731, - 205890068, - 453077400, - 1201344594, - 986483134, - 125174298, - 2050269685, - 1895332113, - 749706654, - 40566555, - 742540942, - 1735551813, - 162985276, - 1943496073, - 1469312688, - 703013107, - 1979485151, - 1278193166, - 548674995, - 2118718736, - 749596440, - 1476142294, - 1293606474, - 918523452, - 890353212, - 1691895663, - 1932240646, - 1180911992, - 86098300, - 1592168978, - 895077289, - 724819849, - 1697986774, - 1608418116, - 1083269213, - 691256798, - # Internal (23 constants) - 893435011, - 403879071, - 1363789863, - 1662900517, - 2043370, - 2109755796, - 931751726, - 2091644718, - 606977583, - 185050397, - 946157136, - 1350065230, - 1625860064, - 122045240, - 880989921, - 145137438, - 1059782436, - 1477755661, - 335465138, - 1640704282, - 1757946479, - 1551204074, - 681266718, - # External final (4 rounds × 24 = 96 constants) - 328586442, - 1572520009, - 1375479591, - 322991001, - 967600467, - 1172861548, - 1973891356, - 1503625929, - 1881993531, - 40601941, - 1155570620, - 571547775, - 1361622243, - 1495024047, - 1733254248, - 964808915, - 763558040, - 1887228519, - 994888261, - 718330940, - 213359415, - 603124968, - 1038411577, - 2099454809, - 949846777, - 630926956, - 1168723439, - 222917504, - 1527025973, - 1009157017, - 2029957881, - 805977836, - 1347511739, - 540019059, - 589807745, - 440771316, - 1530063406, - 761076336, - 87974206, - 1412686751, - 1230318064, - 514464425, - 1469011754, - 1770970737, - 1510972858, - 965357206, - 209398053, - 778802532, - 40567006, - 1984217577, - 1545851069, - 879801839, - 1611910970, - 1215591048, - 330802499, - 1051639108, - 321036, - 511927202, - 591603098, - 1775897642, - 115598532, - 278200718, - 233743176, - 525096211, - 1335507608, - 830017835, - 1380629279, - 560028578, - 598425701, - 302162385, - 567434115, - 1859222575, - 958294793, - 1582225556, - 1781487858, - 1570246000, - 1067748446, - 526608119, - 1666453343, - 1786918381, - 348203640, - 1860035017, - 1489902626, - 1904576699, - 860033965, - 1954077639, - 1685771567, - 971513929, - 1877873770, - 137113380, - 520695829, - 806829080, - 1408699405, - 1613277964, - 793223662, - 648443918, -] - -# For width 16 (needs 8*16 + 20 = 148 constants). -ROUND_CONSTANTS_16: list[Fp] = [Fp(value=v) for v in _RAW_CONSTANTS_16] - -# For width 24 (needs 8*24 + 23 = 215 constants). -ROUND_CONSTANTS_24: list[Fp] = [Fp(value=v) for v in _RAW_CONSTANTS_24] diff --git a/src/lean_spec/subspecs/poseidon2/permutation.py b/src/lean_spec/subspecs/poseidon2/permutation.py deleted file mode 100644 index 7db0e654..00000000 --- a/src/lean_spec/subspecs/poseidon2/permutation.py +++ /dev/null @@ -1,355 +0,0 @@ -""" -A minimal Python specification for the Poseidon2 permutation. - -Based on "Poseidon2: A Faster Version of the Poseidon Hash Function". -See https://eprint.iacr.org/2023/323. - -Uses Numba JIT compilation for native-speed permutation. -""" - -from __future__ import annotations - -from typing import Final, Self - -import numpy as np -from numba import njit -from numpy.typing import NDArray -from pydantic import Field, model_validator - -from ...types import StrictBaseModel -from ..koalabear.field import Fp, P -from .constants import ( - ROUND_CONSTANTS_16, - ROUND_CONSTANTS_24, -) - -_M4_T: Final[NDArray[np.int64]] = np.array( - [ - [2, 3, 1, 1], - [1, 2, 3, 1], - [1, 1, 2, 3], - [3, 1, 1, 2], - ], - dtype=np.int64, -).T -""" -Base 4x4 MDS matrix, pre-transposed. - -Pre-transposition enables efficient row-vector multiplication: `v @ M.T`. -""" - - -@njit(cache=True) -def _m4_multiply(chunks: NDArray[np.int64], m4t: NDArray[np.int64], p: int) -> NDArray[np.int64]: - """ - Multiply each row of `chunks` by the M4 matrix. - - Equivalent to `chunks @ m4t % p`. - Numba's `@` operator requires scipy and float arrays, - so we use an explicit loop instead. Numba unrolls these - small fixed-size loops, so overhead is ~12% vs native matmul. - """ - result = np.empty_like(chunks) - for c in range(chunks.shape[0]): - for j in range(4): - s = np.int64(0) - for k in range(4): - s += chunks[c, k] * m4t[k, j] - result[c, j] = s % p - return result - - -@njit(cache=True) -def _external_linear_layer_jit( - state: NDArray[np.int64], m4t: NDArray[np.int64], p: int -) -> NDArray[np.int64]: - """ - Apply the external linear layer (M_E). - - Provides strong diffusion across the entire state. - Used in full rounds. - - For state size t=4k, constructed from M4 to form a circulant-like matrix. - Efficient while ensuring any single element change affects all others. - - See Appendix B of the paper. - """ - # Apply M4 to each 4-element chunk. - # Provides strong local diffusion within each block. - chunks = state.reshape(-1, 4) - chunks = _m4_multiply(chunks, m4t, p) - - # Apply outer circulant structure for global diffusion. - # Equivalent to multiplying by circ(2*I, I, ..., I) after M4 stage. - sums = np.zeros(4, dtype=np.int64) - for c in range(chunks.shape[0]): - for i in range(4): - sums[i] += chunks[c, i] - - # Add corresponding sum to each element. - return (chunks + sums).reshape(-1) % p - - -@njit(cache=True) -def _internal_linear_layer_jit( - state: NDArray[np.int64], diag_vector: NDArray[np.int64], p: int -) -> NDArray[np.int64]: - """ - Apply the internal linear layer (M_I). - - Used during partial rounds. - Optimized for speed. - - Matrix structure: M_I = J + D - - - J is the all-ones matrix - - D is a diagonal matrix - - This allows O(t) computation instead of O(t^2): - - M_I * s = J*s + D*s - - J*s is a vector where each element equals the sum of all elements in s. - """ - # J*state: sum of all elements (broadcast to vector). - # D*state: element-wise multiplication with diagonal. - state_sum = state.sum() - - # new_state[i] = state_sum + diag_vector[i] * state[i] - return (state_sum + (diag_vector * state)) % p - - -@njit(cache=True) -def _permute_jit( - state: NDArray[np.int64], - round_constants: NDArray[np.int64], - diag_vector: NDArray[np.int64], - m4t: NDArray[np.int64], - width: int, - half_rounds_f: int, - rounds_p: int, - p: int, -) -> None: - """ - Full Poseidon2 permutation, compiled to native code. - - Modifies state array in-place. - S-box: x^3 computed as (x*x % p) * x % p to avoid int64 overflow. - """ - const_idx = 0 - - # 1. Initial linear layer. - # - # Prevents certain algebraic attacks. - # Ensures the permutation begins with a diffusion layer. - state[:] = _external_linear_layer_jit(state, m4t, p) - - # 2. First half of full rounds. - # - # Note: for S_BOX_DEGREE=3, state**3 would overflow int64 before modulo. - # Values reach up to 2^93, but int64 max is 2^63. - # Expand S-box to `(state*state % P) * state % P` to stay in range. - for _ in range(half_rounds_f): - # Add round constants to entire state. - state[:] = (state + round_constants[const_idx : const_idx + width]) % p - const_idx += width - - # Apply S-box (x -> x^d) to full state. - state[:] = (state * state % p) * state % p - - # Apply external linear layer for diffusion. - state[:] = _external_linear_layer_jit(state, m4t, p) - - # 3. Partial rounds. - for _ in range(rounds_p): - # Add single round constant to first element. - state[0] = (state[0] + round_constants[const_idx]) % p - const_idx += 1 - - # Apply S-box to first element only. - # This is the main optimization of the Hades design. - state[0] = (state[0] * state[0] % p) * state[0] % p - - # Apply internal linear layer. - state[:] = _internal_linear_layer_jit(state, diag_vector, p) - - # 4. Second half of full rounds. - for _ in range(half_rounds_f): - # Add round constants to entire state. - state[:] = (state + round_constants[const_idx : const_idx + width]) % p - const_idx += width - - # Apply S-box to full state. - state[:] = (state * state % p) * state % p - - # Apply external linear layer for diffusion. - state[:] = _external_linear_layer_jit(state, m4t, p) - - -class Poseidon2Params(StrictBaseModel): - """Parameters for a specific Poseidon2 instance.""" - - width: int = Field(gt=0, description="The size of the state (t).") - rounds_f: int = Field(gt=0, description="Total number of 'full' rounds.") - rounds_p: int = Field(ge=0, description="Total number of 'partial' rounds.") - internal_diag_vectors: list[Fp] = Field( - min_length=1, - description=("Diagonal vectors for the efficient internal linear layer matrix (M_I)."), - ) - round_constants: list[Fp] = Field( - min_length=1, - description="The list of pre-computed constants for all rounds.", - ) - - @model_validator(mode="after") - def check_lengths(self) -> Self: - """Ensures vector lengths match the configuration.""" - if len(self.internal_diag_vectors) != self.width: - raise ValueError("Length of internal_diag_vectors must equal width.") - - expected_constants = (self.rounds_f * self.width) + self.rounds_p - if len(self.round_constants) != expected_constants: - raise ValueError("Incorrect number of round constants provided.") - - return self - - -class Poseidon2: - """ - Optimized execution engine for Poseidon2. - - Pre-processes parameters into numpy arrays during initialization. - Minimizes overhead during permute calls. - """ - - __slots__ = ("_width", "_half_rounds_f", "_rounds_p", "_diag_vector", "_round_constants") - - _width: int - """State size (t).""" - - _half_rounds_f: int - """Full rounds divided by 2.""" - - _rounds_p: int - """Number of partial rounds.""" - - _diag_vector: NDArray[np.int64] - """Diagonal vector for internal linear layer (M_I).""" - - _round_constants: NDArray[np.int64] - """Flattened array of all round constants.""" - - def __init__(self, params: Poseidon2Params) -> None: - """ - Initialize the engine with validated parameters. - - Converts Fp lists to int64 numpy arrays for speed. - """ - self._width = params.width - self._half_rounds_f = params.rounds_f // 2 - self._rounds_p = params.rounds_p - - # Pre-convert to numpy arrays. - # Avoids overhead in the hot loop. - self._diag_vector = np.array( - [fp.value for fp in params.internal_diag_vectors], dtype=np.int64 - ) - self._round_constants = np.array( - [fp.value for fp in params.round_constants], dtype=np.int64 - ) - - def permute(self, current_state: list[Fp]) -> list[Fp]: - """ - Perform the full Poseidon2 permutation. - - Structure: - - 1. Initial linear layer - 2. First half of full rounds - 3. Partial rounds - 4. Second half of full rounds - - Args: - current_state: List of Fp elements representing the current state. - - Returns: - New state after applying the permutation. - """ - if len(current_state) != self._width: - raise ValueError(f"Input state must have length {self._width}") - - state = np.array([fp.value for fp in current_state], dtype=np.int64) - - _permute_jit( - state, - self._round_constants, - self._diag_vector, - _M4_T, - self._width, - self._half_rounds_f, - self._rounds_p, - P, - ) - - return [Fp(value=int(x)) for x in state] - - -# Parameters for WIDTH = 16 -PARAMS_16 = Poseidon2Params( - width=16, - rounds_f=8, - rounds_p=20, - internal_diag_vectors=[ - Fp(value=-2), - Fp(value=1), - Fp(value=2), - Fp(value=1) / Fp(value=2), - Fp(value=3), - Fp(value=4), - Fp(value=-1) / Fp(value=2), - Fp(value=-3), - Fp(value=-4), - Fp(value=1) / Fp(value=2**8), - Fp(value=1) / Fp(value=8), - Fp(value=1) / Fp(value=2**24), - Fp(value=-1) / Fp(value=2**8), - Fp(value=-1) / Fp(value=8), - Fp(value=-1) / Fp(value=16), - Fp(value=-1) / Fp(value=2**24), - ], - round_constants=ROUND_CONSTANTS_16, -) - -# Parameters for WIDTH = 24 -PARAMS_24 = Poseidon2Params( - width=24, - rounds_f=8, - rounds_p=23, - internal_diag_vectors=[ - Fp(value=-2), - Fp(value=1), - Fp(value=2), - Fp(value=1) / Fp(value=2), - Fp(value=3), - Fp(value=4), - Fp(value=-1) / Fp(value=2), - Fp(value=-3), - Fp(value=-4), - Fp(value=1) / Fp(value=2**8), - Fp(value=1) / Fp(value=4), - Fp(value=1) / Fp(value=8), - Fp(value=1) / Fp(value=16), - Fp(value=1) / Fp(value=32), - Fp(value=1) / Fp(value=64), - Fp(value=1) / Fp(value=2**24), - Fp(value=-1) / Fp(value=2**8), - Fp(value=-1) / Fp(value=8), - Fp(value=-1) / Fp(value=16), - Fp(value=-1) / Fp(value=32), - Fp(value=-1) / Fp(value=64), - Fp(value=-1) / Fp(value=2**7), - Fp(value=-1) / Fp(value=2**9), - Fp(value=-1) / Fp(value=2**24), - ], - round_constants=ROUND_CONSTANTS_24, -) diff --git a/src/lean_spec/subspecs/validator/registry.py b/src/lean_spec/subspecs/validator/registry.py index 0b8e4215..feb66cdc 100644 --- a/src/lean_spec/subspecs/validator/registry.py +++ b/src/lean_spec/subspecs/validator/registry.py @@ -15,7 +15,7 @@ 2. **validator-keys-manifest.yaml** - Contains key metadata and file paths: key_scheme: SIGTopLevelTargetSumLifetime32Dim64Base8 - hash_function: Poseidon2 + hash_function: Poseidon1 num_validators: 3 validators: - index: 0 @@ -85,7 +85,7 @@ class ValidatorManifest(BaseModel): """Signature scheme identifier (e.g., SIGTopLevelTargetSumLifetime32Dim64Base8).""" hash_function: str - """Hash function used (e.g., Poseidon2).""" + """Hash function used (e.g., Poseidon1).""" encoding: str """Encoding type (e.g., TargetSum).""" diff --git a/src/lean_spec/subspecs/xmss/constants.py b/src/lean_spec/subspecs/xmss/constants.py index 3c391827..f239cbcb 100644 --- a/src/lean_spec/subspecs/xmss/constants.py +++ b/src/lean_spec/subspecs/xmss/constants.py @@ -11,13 +11,16 @@ from __future__ import annotations +import math from typing import Final +from pydantic import model_validator + from lean_spec.config import LEAN_ENV from lean_spec.types import StrictBaseModel, Uint64 from lean_spec.types.constants import OFFSET_BYTE_LENGTH -from ..koalabear import P_BYTES, Fp +from ..koalabear import P_BYTES, Fp, P class XmssConfig(StrictBaseModel): @@ -45,8 +48,11 @@ def LIFETIME(self) -> Uint64: # noqa: N802 BASE: int """The alphabet size for the digits of the encoded message.""" - FINAL_LAYER: int - """Number of top layers of the hypercube to map the hash output into.""" + Z: int + """Number of base-`BASE` digits extracted from each field element.""" + + Q: int + """Quotient such that `Q * BASE^Z == P - 1`.""" TARGET_SUM: int """The required sum of all codeword chunks for a signature to be valid.""" @@ -79,18 +85,19 @@ def LIFETIME(self) -> Uint64: # noqa: N802 """The output length of the main tweakable hash function.""" CAPACITY: int - """The capacity of the Poseidon2 sponge, defining its security level.""" - - POS_OUTPUT_LEN_PER_INV_FE: int - """Output length per invocation for the message hash.""" + """The capacity of the Poseidon1 sponge, defining its security level.""" - POS_INVOCATIONS: int - """Number of invocations for the message hash.""" + @model_validator(mode="after") + def _validate_decomposition(self) -> XmssConfig: + """Verify that Q * BASE^Z == P - 1.""" + if self.Q * self.BASE**self.Z != P - 1: + raise ValueError(f"Q * BASE^Z must equal P-1={P - 1}") + return self @property - def POS_OUTPUT_LEN_FE(self) -> int: # noqa: N802 - """Total output length for the message hash.""" - return self.POS_OUTPUT_LEN_PER_INV_FE * self.POS_INVOCATIONS + def MH_HASH_LEN_FE(self) -> int: # noqa: N802 + """Number of Poseidon output field elements needed for the aborting decode.""" + return math.ceil(self.DIMENSION / self.Z) @property def PUBLIC_KEY_LEN_BYTES(self) -> int: # noqa: N802 @@ -121,10 +128,11 @@ def SIGNATURE_LEN_BYTES(self) -> int: # noqa: N802 PROD_CONFIG: Final = XmssConfig( MESSAGE_LENGTH=32, LOG_LIFETIME=32, - DIMENSION=64, + DIMENSION=46, BASE=8, - FINAL_LAYER=77, - TARGET_SUM=375, + Z=8, + Q=127, + TARGET_SUM=200, MAX_TRIES=100_000, PARAMETER_LEN=5, TWEAK_LEN_FE=2, @@ -132,8 +140,6 @@ def SIGNATURE_LEN_BYTES(self) -> int: # noqa: N802 RAND_LEN_FE=7, HASH_LEN_FE=8, CAPACITY=9, - POS_OUTPUT_LEN_PER_INV_FE=15, - POS_INVOCATIONS=1, ) @@ -142,7 +148,8 @@ def SIGNATURE_LEN_BYTES(self) -> int: # noqa: N802 LOG_LIFETIME=8, DIMENSION=4, BASE=4, - FINAL_LAYER=6, + Z=2, + Q=133169152, TARGET_SUM=6, MAX_TRIES=100_000, PARAMETER_LEN=5, @@ -151,8 +158,6 @@ def SIGNATURE_LEN_BYTES(self) -> int: # noqa: N802 RAND_LEN_FE=7, HASH_LEN_FE=8, CAPACITY=9, - POS_OUTPUT_LEN_PER_INV_FE=15, - POS_INVOCATIONS=1, ) diff --git a/src/lean_spec/subspecs/xmss/message_hash.py b/src/lean_spec/subspecs/xmss/message_hash.py index 13deb074..16956351 100644 --- a/src/lean_spec/subspecs/xmss/message_hash.py +++ b/src/lean_spec/subspecs/xmss/message_hash.py @@ -1,30 +1,30 @@ """ -Defines the "Top Level" message hashing for the signature scheme. +Defines the message hashing for the signature scheme using aborting hypercube encoding. -### The Challenge: Efficiently Finding a Valid Codeword +### The Challenge: Efficiently Encoding a Message as a Codeword The "Target Sum" signature scheme requires the signer to find a `codeword` whose -digits sum to a specific value. This is equivalent to hashing a message and hoping the -output is on a single, specific "layer" of a high-dimensional hypercube. The -probability of this can be low, forcing the signer to try many times with different -randomness (`rho`). - -### The Solution: "Top Level" Hashing - -This module implements a more efficient approach. Instead of targeting a single layer, -we define a valid codeword as any vertex that lies within the **top `D` layers** of the -hypercube (where `D` is `FINAL_LAYER` in the configuration). This significantly -increases the target space, drastically reducing the number of retries the signer needs. - -This process involves three main stages: -1. **Input Preparation**: All inputs (message, epoch, randomness, etc.) are - unambiguously encoded into a uniform format (lists of field elements). -2. **Extended Hashing**: Poseidon2 is called iteratively to generate a long, - pseudorandom output digest, effectively behaving like an eXtendable-Output - Function (XOF). -3. **Mapping to Hypercube**: The long digest is treated as a large number, which - is then safely and deterministically mapped to a unique vertex within the - allowed top layers of the hypercube. +digits sum to a specific value. This requires hashing a message and mapping the +output to a vertex in a high-dimensional hypercube. + +### The Solution: Aborting Hypercube Encoding + +This module implements a circuit-friendly encoding based on rejection sampling of +individual field elements, eliminating all big-integer arithmetic. + +For KoalaBear (`P = 2^31 - 2^24 + 1`), `P - 1 = Q * BASE^Z`, so each field element +can be decomposed into `Z` base-`BASE` digits after dividing by `Q`. The only reject +case is `A_i == P - 1` (probability ~4.7e-10 per FE — essentially never aborts). + +This is backed by the "Aborting Random Oracles" paper which proves +indifferentiability from a theta-aborting random oracle when modeling Poseidon as a +standard random oracle. + +The encoding proceeds in two stages: + +1. **Input Preparation**: All inputs are encoded into field elements. +2. **Poseidon Hashing + Aborting Decode**: Poseidon1 produces `ceil(DIMENSION/Z)` + field elements, each decoded into `Z` base-`BASE` digits via rejection sampling. """ from __future__ import annotations @@ -38,7 +38,7 @@ ) from lean_spec.types import Bytes32, StrictBaseModel, Uint64 -from ..koalabear import Fp, P +from ..koalabear import Fp from ._validation import enforce_strict_types from .constants import ( PROD_CONFIG, @@ -46,17 +46,12 @@ TWEAK_PREFIX_MESSAGE, XmssConfig, ) -from .hypercube import ( - hypercube_find_layer, - hypercube_part_size, - map_to_vertex, -) from .types import Parameter, Randomness from .utils import int_to_base_p class MessageHasher(StrictBaseModel): - """An instance of the "Top Level" message hasher for a given config.""" + """An instance of the message hasher using aborting hypercube encoding.""" config: XmssConfig """Configuration parameters for the hasher.""" @@ -77,7 +72,7 @@ def encode_message(self, message: Bytes32) -> list[Fp]: The message bytes are interpreted as a single little-endian integer, which is then decomposed into its base-`P` representation, where `P` is the field prime. This provides a canonical mapping from bytes to - the algebraic structure required by Poseidon2. + the algebraic structure required by Poseidon1. """ # Interpret the 32 little-endian bytes as a single large integer. acc = int.from_bytes(message, "little") @@ -99,46 +94,39 @@ def encode_epoch(self, epoch: Uint64) -> list[Fp]: # Decompose the integer into its base-P representation. return int_to_base_p(acc, self.config.TWEAK_LEN_FE) - def _map_into_hypercube_part(self, field_elements: list[Fp]) -> list[int]: + def _aborting_decode(self, field_elements: list[Fp]) -> list[int] | None: """ - Maps a long, pseudorandom digest to a unique vertex within the top layers - of the signature hypercube. + Decodes Poseidon output field elements into base-`BASE` digits via rejection sampling. - This is the core of the "Top Level" strategy. It takes a large, uniformly - random number and maps it to a point in a smaller, highly structured set. + For each field element `A_i`: - ### Mapping Algorithm + 1. If `A_i >= Q * BASE^Z` (i.e. `A_i == P - 1`), abort and return `None`. + 2. Compute `d_i = A_i // Q`, an integer in `[0, BASE^Z - 1]`. + 3. Decompose `d_i` into `Z` base-`BASE` digits, least significant first. - 1. **Integer Reconstruction**: The input list of field elements is - interpreted as the base-P representation of a single, very large integer. - - 2. **Modular Reduction**: This integer is reduced modulo the `domain_size`, - which is the total number of vertices in the target top layers. This - step maps the large random value to a unique index within the target set. - - 3. **Index to Vertex**: This unique index is then deterministically - converted first into a `(layer, offset)` pair, and finally into the - specific coordinates of the corresponding hypercube vertex. + Collect all digits and return the first `DIMENSION` of them. """ - # Get the config for this scheme. config = self.config + threshold = config.Q * config.BASE**config.Z - # Combine field elements into one large integer (big-endian, base-P). - acc = 0 + digits: list[int] = [] for fe in field_elements: - acc = acc * P + fe.value + a = fe.value + + # Rejection: the only failing case is A_i == P - 1. + if a >= threshold: + return None - # Reduce this integer modulo the size of the target domain. - # - # The target domain is the set of all vertices in layers 0..FINAL_LAYER. - domain_size = hypercube_part_size(config.BASE, config.DIMENSION, config.FINAL_LAYER) - acc %= domain_size + # Integer quotient removes the Q-residue, leaving a uniform value in [0, BASE^Z - 1]. + d = a // config.Q - # Find which layer the resulting index falls into, and its offset. - layer, offset = hypercube_find_layer(config.BASE, config.DIMENSION, acc) + # Decompose d into Z base-BASE digits, least significant first. + for _ in range(config.Z): + digits.append(d % config.BASE) + d //= config.BASE - # Map the offset within the layer to a unique vertex. - return map_to_vertex(config.BASE, config.DIMENSION, layer, offset) + # Take exactly DIMENSION digits. + return digits[: config.DIMENSION] def apply( self, @@ -146,21 +134,12 @@ def apply( epoch: Uint64, rho: Randomness, message: Bytes32, - ) -> list[int]: + ) -> list[int] | None: """ - Applies the full "Top Level" message hash and mapping procedure. + Applies message hashing followed by aborting hypercube decode. - This function generates a long pseudorandom digest by iteratively calling - Poseidon2 and then maps this digest to a candidate codeword (a vertex in - the hypercube). - - ### Hashing with Extended Output - - A single Poseidon2 compression call produces a relatively short output. To - generate a sufficiently large random number for the hypercube mapping, this - function calls Poseidon2 multiple times in a loop. The iteration number `i` - is used as a domain separator for each call, effectively creating a simple - eXtendable-Output Function (XOF) from the fixed-output hash. + Hashes the inputs with Poseidon1 to produce `MH_HASH_LEN_FE` field elements, + then decodes them into a candidate codeword via rejection sampling. Args: parameter: The public parameter `P`. @@ -169,27 +148,19 @@ def apply( message: The 32-byte message to be hashed. Returns: - A candidate codeword, represented as a list of `DIMENSION` integers - (the coordinates of a vertex in the hypercube). + A candidate codeword (list of `DIMENSION` digits in `[0, BASE-1]`), + or `None` if the aborting decode rejects. """ # Encode the message and epoch as field elements. message_fe = self.encode_message(message) epoch_fe = self.encode_epoch(epoch) - # Iteratively call Poseidon2 to generate a long hash output. - # - # The base input (rho || P || epoch || message) is reused each iteration. + # Call Poseidon1 once to produce the required number of output field elements. base_input = list(rho.data) + list(parameter.data) + epoch_fe + message_fe - poseidon_outputs: list[Fp] = [] - output_len = self.config.POS_OUTPUT_LEN_PER_INV_FE - for i in range(self.config.POS_INVOCATIONS): - # Append iteration number as domain separator and hash. - poseidon_outputs.extend( - self.poseidon.compress(base_input + [Fp(value=i)], 24, output_len) - ) - - # Map the final aggregated list of field elements into a hypercube vertex. - return self._map_into_hypercube_part(poseidon_outputs) + poseidon_output = self.poseidon.compress(base_input, 24, self.config.MH_HASH_LEN_FE) + + # Decode the field elements into base-BASE digits via rejection sampling. + return self._aborting_decode(poseidon_output) PROD_MESSAGE_HASHER = MessageHasher(config=PROD_CONFIG, poseidon=PROD_POSEIDON) diff --git a/src/lean_spec/subspecs/xmss/poseidon.py b/src/lean_spec/subspecs/xmss/poseidon.py index cbe0ccf0..d5f645d6 100644 --- a/src/lean_spec/subspecs/xmss/poseidon.py +++ b/src/lean_spec/subspecs/xmss/poseidon.py @@ -1,18 +1,18 @@ """ -Defines the Poseidon2 hash functions for the Generalized XMSS scheme. +Defines the Poseidon1 hash functions for the Generalized XMSS scheme. -### The Cryptographic Engine: Why Poseidon2? +### The Cryptographic Engine: Why Poseidon1? This module provides the low-level cryptographic engine for all internal hashing -operations. It is built on **Poseidon2** hash function. +operations. It is built on **Poseidon1** hash function. -The choice of Poseidon2 is deliberate and critical for the scheme's ultimate goal. -Unlike traditional hashes like SHA-3, Poseidon2 is an **arithmetization-friendly** +The choice of Poseidon1 is deliberate and critical for the scheme's ultimate goal. +Unlike traditional hashes like SHA-3, Poseidon1 is an **arithmetization-friendly** (or **SNARK-friendly**) hash function. Its algebraic structure is simple, making it exponentially faster to prove and verify inside a zero-knowledge proof system, which is essential for aggregating many signatures into a single, compact proof. -This file provides wrappers for the two primary ways Poseidon2 is used: +This file provides wrappers for the two primary ways Poseidon1 is used: 1. **Compression Mode**: A fast, fixed-input-size mode for hashing small, predictable data structures like a single hash digest or a pair of them. @@ -27,37 +27,37 @@ from lean_spec.types import StrictBaseModel from ..koalabear import Fp -from ..poseidon2.permutation import ( +from ..poseidon1.permutation import ( PARAMS_16, PARAMS_24, - Poseidon2, - Poseidon2Params, + Poseidon1, + Poseidon1Params, ) from ._validation import enforce_strict_types from .utils import int_to_base_p class PoseidonXmss(StrictBaseModel): - """An instance of the Poseidon2 hash engine for the XMSS scheme.""" + """An instance of the Poseidon1 hash engine for the XMSS scheme.""" - params16: Poseidon2Params - """Poseidon2 parameters for 16-width permutation.""" + params16: Poseidon1Params + """Poseidon1 parameters for 16-width permutation.""" - params24: Poseidon2Params - """Poseidon2 parameters for 24-width permutation.""" + params24: Poseidon1Params + """Poseidon1 parameters for 24-width permutation.""" @model_validator(mode="after") def _validate_strict_types(self) -> PoseidonXmss: """Reject subclasses to prevent type confusion attacks.""" - enforce_strict_types(self, params16=Poseidon2Params, params24=Poseidon2Params) + enforce_strict_types(self, params16=Poseidon1Params, params24=Poseidon1Params) return self def compress(self, input_vec: list[Fp], width: int, output_len: int) -> list[Fp]: """ - Implements the Poseidon2 hash in **compression mode**. + Implements the Poseidon1 hash in **compression mode**. This mode is used for hashing fixed-size inputs and is the most efficient - way to use Poseidon2. It is used for traversing hash chains and building + way to use Poseidon1. It is used for traversing hash chains and building the internal nodes of the Merkle tree. ### Compression Algorithm @@ -66,13 +66,13 @@ def compress(self, input_vec: list[Fp], width: int, output_len: int) -> list[Fp] 1. **Padding**: The `input_vec` is padded with zeros to match the full state `width`. 2. **Permutation**: The core cryptographic permutation is applied to the padded state. 3. **Feed-Forward**: The original padded input is added element-wise to the - permuted state. This is a key feature of the Poseidon2 design that + permuted state. This is a key feature of the Poseidon1 design that provides security against certain attacks. 4. **Truncation**: The result is truncated to the desired `output_len`. Args: input_vec: The list of field elements to be hashed. - width: The state width of the Poseidon2 permutation (16 or 24). + width: The state width of the Poseidon1 permutation (16 or 24). output_len: The number of field elements in the output digest. Returns: @@ -90,8 +90,8 @@ def compress(self, input_vec: list[Fp], width: int, output_len: int) -> list[Fp] # Create a padded input by extending with zeros to match the state width. padded_input = list(input_vec) + [Fp(value=0)] * (width - len(input_vec)) - # Apply the Poseidon2 permutation. - permuted_state = Poseidon2(params).permute(padded_input) + # Apply the Poseidon1 permutation. + permuted_state = Poseidon1(params).permute(padded_input) # Apply the feed-forward step, adding the input back element-wise. final_state = [p + i for p, i in zip(permuted_state, padded_input, strict=True)] @@ -138,7 +138,7 @@ def sponge( width: int, ) -> list[Fp]: """ - Implements the Poseidon2 hash using the **sponge construction**. + Implements the Poseidon1 hash using the **sponge construction**. This mode is used for hashing large or variable-length inputs. In this scheme, it is specifically used to hash the Merkle tree leaves, which consist of many @@ -162,7 +162,7 @@ def sponge( input_vec: The input data of arbitrary length. capacity_value: The domain-separating value from `safe_domain_separator`. output_len: The number of field elements in the final output digest. - width: The width of the Poseidon2 permutation. + width: The width of the Poseidon1 permutation. Returns: A hash digest of `output_len` field elements. @@ -188,7 +188,7 @@ def sponge( state[rate:] = capacity_value # Create the engine once for efficiency. - engine = Poseidon2(params) + engine = Poseidon1(params) # Absorb the input in rate-sized chunks. for i in range(0, len(padded_input), rate): diff --git a/src/lean_spec/subspecs/xmss/target_sum.py b/src/lean_spec/subspecs/xmss/target_sum.py index b6a80f77..fc94cc24 100644 --- a/src/lean_spec/subspecs/xmss/target_sum.py +++ b/src/lean_spec/subspecs/xmss/target_sum.py @@ -75,6 +75,10 @@ def encode( # Hash the inputs to map them to a potential codeword (a vertex in the hypercube). codeword_candidate = self.message_hasher.apply(parameter, epoch, rho, message) + # The aborting decode may reject if a field element equals P - 1. + if codeword_candidate is None: + return None + # A codeword is valid only if it lies on the predefined hypercube layer. # # This is verified by checking if the sum of its coordinates equals TARGET_SUM. diff --git a/src/lean_spec/subspecs/xmss/tweak_hash.py b/src/lean_spec/subspecs/xmss/tweak_hash.py index 3657f051..60717190 100644 --- a/src/lean_spec/subspecs/xmss/tweak_hash.py +++ b/src/lean_spec/subspecs/xmss/tweak_hash.py @@ -1,9 +1,9 @@ """ -Defines the Tweakable Hash function using Poseidon2. +Defines the Tweakable Hash function using Poseidon1. ### The Problem: Hash Function Overload -In a complex cryptographic scheme like XMSS, a single hash function (like Poseidon2) +In a complex cryptographic scheme like XMSS, a single hash function (like Poseidon1) is used for many different purposes: 1. Hashing iteratively to form **hash chains**. 2. Hashing pairs of nodes to build the **Merkle tree**. @@ -97,7 +97,7 @@ def _encode_tweak(self, tweak: TreeTweak | ChainTweak, length: int) -> list[Fp]: Encodes a structured tweak object into a list of field elements. It converts a high-level tweak context (like "Merkle tree, level 5, index 3") - into a low-level format that can be consumed by the Poseidon2 hash function. + into a low-level format that can be consumed by the Poseidon1 hash function. ### Encoding Algorithm @@ -144,10 +144,10 @@ def apply( message_parts: list[HashDigestVector], ) -> HashDigestVector: """ - Applies the tweakable Poseidon2 hash function to a message. + Applies the tweakable Poseidon1 hash function to a message. This is the main entry point for all internal hashing operations. It prepares - the inputs and routes them to the appropriate Poseidon2 function based on + the inputs and routes them to the appropriate Poseidon1 function based on the input size, ensuring optimal performance and security. ### Hashing Algorithm @@ -157,7 +157,7 @@ def apply( 2. **Mode Selection**: - For small inputs (1 or 2 `HashDigest` parts), it uses the highly - efficient **compression mode** of Poseidon2. + efficient **compression mode** of Poseidon1. - For large inputs (many `HashDigest` parts, like a Merkle leaf), it uses the more flexible **sponge mode**. @@ -175,7 +175,7 @@ def apply( # Encode the high-level tweak structure into a list of field elements. encoded_tweak = self._encode_tweak(tweak, config.TWEAK_LEN_FE) - # Route to the correct Poseidon2 mode based on the input size. + # Route to the correct Poseidon1 mode based on the input size. if len(message_parts) == 1: # Case 1: Hashing a single digest (used in hash chains). # diff --git a/src/lean_spec/subspecs/xmss/types.py b/src/lean_spec/subspecs/xmss/types.py index 99ac8178..41fe7fc0 100644 --- a/src/lean_spec/subspecs/xmss/types.py +++ b/src/lean_spec/subspecs/xmss/types.py @@ -27,7 +27,7 @@ class PRFKey(BaseBytes): The fixed length of a hash digest in field elements. Derived from `TARGET_CONFIG.HASH_LEN_FE`. This corresponds to the output length -of the Poseidon2 hash function used in the XMSS scheme. +of the Poseidon1 hash function used in the XMSS scheme. """ # Calculate the maximum number of nodes in a sparse Merkle tree layer: @@ -49,7 +49,7 @@ class HashDigestVector(SSZVector[Fp]): """ A single hash digest represented as a fixed-size vector of field elements. - This is the SSZ-compliant representation of a Poseidon2 hash output. + This is the SSZ-compliant representation of a Poseidon1 hash output. In SSZ notation: `Vector[Fp, HASH_DIGEST_LENGTH]` The fixed size enables efficient serialization when used in collections, diff --git a/tests/lean_spec/subspecs/poseidon1/test_permutation.py b/tests/lean_spec/subspecs/poseidon1/test_permutation.py new file mode 100644 index 00000000..45b0119b --- /dev/null +++ b/tests/lean_spec/subspecs/poseidon1/test_permutation.py @@ -0,0 +1,101 @@ +"""Tests for the Poseidon1 permutation for widths 16 and 24. + +Test vectors are taken from Plonky3 (koala-bear/src/poseidon1.rs). +To verify independently, run `cargo test` in the Plonky3 koala-bear crate. +""" + +import pytest + +from lean_spec.subspecs.koalabear.field import Fp +from lean_spec.subspecs.poseidon1.permutation import ( + PARAMS_16, + PARAMS_24, + Poseidon1, + Poseidon1Params, +) + +# --- Test Vectors (from Plonky3 koala-bear/src/poseidon1.rs) --- + +# Input vector for width 16: [0, 1, 2, ..., 15] +INPUT_16 = [Fp(value=i) for i in range(16)] + +# Expected output for width 16. +# +# From Plonky3. +EXPECTED_16 = [ + Fp(value=610090613), + Fp(value=935319874), + Fp(value=1893335292), + Fp(value=796792199), + Fp(value=356405232), + Fp(value=552237741), + Fp(value=55134556), + Fp(value=1215104204), + Fp(value=1823723405), + Fp(value=1133298033), + Fp(value=1780633798), + Fp(value=1453946561), + Fp(value=710069176), + Fp(value=1128629550), + Fp(value=1917333254), + Fp(value=1175481618), +] + +# Input vector for width 24: [0, 1, 2, ..., 23] +INPUT_24 = [Fp(value=i) for i in range(24)] + +# Expected output for width 24. +# +# From Plonky3. +EXPECTED_24 = [ + Fp(value=511672087), + Fp(value=215882318), + Fp(value=237782537), + Fp(value=740528428), + Fp(value=712760904), + Fp(value=54615367), + Fp(value=751514671), + Fp(value=110231969), + Fp(value=1905276435), + Fp(value=992525666), + Fp(value=918312360), + Fp(value=18628693), + Fp(value=749929200), + Fp(value=1916418953), + Fp(value=691276896), + Fp(value=1112901727), + Fp(value=1163558623), + Fp(value=882867603), + Fp(value=673396520), + Fp(value=1480278156), + Fp(value=1402044758), + Fp(value=1693467175), + Fp(value=1766273044), + Fp(value=433841551), +] + + +@pytest.mark.parametrize( + "params, input_state, expected_output", + [ + (PARAMS_16, INPUT_16, EXPECTED_16), + (PARAMS_24, INPUT_24, EXPECTED_24), + ], + ids=["width_16", "width_24"], +) +def test_permutation_vector( + params: Poseidon1Params, input_state: list[Fp], expected_output: list[Fp] +) -> None: + """ + Test the Poseidon1 permutation against known answer vectors. + + Serves as a regression test to ensure logic consistency. + Reference: Plonky3 koala-bear/src/poseidon1.rs tests. + """ + engine = Poseidon1(params) + output_state = engine.permute(input_state) + + assert len(output_state) == params.width + assert output_state == expected_output, ( + f"Permutation output for width {params.width} did not match." + ) diff --git a/tests/lean_spec/subspecs/poseidon2/test_permutation.py b/tests/lean_spec/subspecs/poseidon2/test_permutation.py deleted file mode 100644 index f141d82e..00000000 --- a/tests/lean_spec/subspecs/poseidon2/test_permutation.py +++ /dev/null @@ -1,132 +0,0 @@ -"""Tests for the Poseidon2 permutation for widths 16 and 24.""" - -import pytest - -from lean_spec.subspecs.koalabear.field import Fp -from lean_spec.subspecs.poseidon2.permutation import ( - PARAMS_16, - PARAMS_24, - Poseidon2, - Poseidon2Params, -) - -# --- Test Vectors --- - -# Input vector for width 16 -INPUT_16 = [ - Fp(value=894848333), - Fp(value=1437655012), - Fp(value=1200606629), - Fp(value=1690012884), - Fp(value=71131202), - Fp(value=1749206695), - Fp(value=1717947831), - Fp(value=120589055), - Fp(value=19776022), - Fp(value=42382981), - Fp(value=1831865506), - Fp(value=724844064), - Fp(value=171220207), - Fp(value=1299207443), - Fp(value=227047920), - Fp(value=1783754913), -] -# Expected output for width 16. -EXPECTED_16 = [ - Fp(value=190453639), - Fp(value=458899855), - Fp(value=383789123), - Fp(value=1958965770), - Fp(value=1470307143), - Fp(value=135446903), - Fp(value=1980271247), - Fp(value=26609194), - Fp(value=337889870), - Fp(value=543343594), - Fp(value=900082402), - Fp(value=1267415354), - Fp(value=1018710090), - Fp(value=902823573), - Fp(value=1161524658), - Fp(value=1483653556), -] - -# Input vector for width 24 -INPUT_24 = [ - Fp(value=886409618), - Fp(value=1327899896), - Fp(value=1902407911), - Fp(value=591953491), - Fp(value=648428576), - Fp(value=1844789031), - Fp(value=1198336108), - Fp(value=355597330), - Fp(value=1799586834), - Fp(value=59617783), - Fp(value=790334801), - Fp(value=1968791836), - Fp(value=559272107), - Fp(value=31054313), - Fp(value=1042221543), - Fp(value=474748436), - Fp(value=135686258), - Fp(value=263665994), - Fp(value=1962340735), - Fp(value=1741539604), - Fp(value=2026927696), - Fp(value=449439011), - Fp(value=1131357108), - Fp(value=50869465), -] -# Expected output for width 24. -EXPECTED_24 = [ - Fp(value=556605495), - Fp(value=885256863), - Fp(value=899046610), - Fp(value=1365261647), - Fp(value=799824470), - Fp(value=1363091631), - Fp(value=588658632), - Fp(value=173515151), - Fp(value=783308499), - Fp(value=1346358755), - Fp(value=1865380489), - Fp(value=1166148328), - Fp(value=1402826941), - Fp(value=434428806), - Fp(value=928050984), - Fp(value=1402941053), - Fp(value=201160368), - Fp(value=1850628943), - Fp(value=651578331), - Fp(value=12196116), - Fp(value=759351756), - Fp(value=948448587), - Fp(value=1529251366), - Fp(value=456048743), -] - - -@pytest.mark.parametrize( - "params, input_state, expected_output", - [ - (PARAMS_16, INPUT_16, EXPECTED_16), - (PARAMS_24, INPUT_24, EXPECTED_24), - ], - ids=["width_16", "width_24"], -) -def test_permutation_vector( - params: Poseidon2Params, input_state: list[Fp], expected_output: list[Fp] -) -> None: - """ - Test the Poseidon2 permutation against known answer vectors. - - Serves as a regression test to ensure logic consistency. - """ - engine = Poseidon2(params) - output_state = engine.permute(input_state) - - assert len(output_state) == params.width - assert output_state == expected_output, ( - f"Permutation output for width {params.width} did not match." - ) diff --git a/tests/lean_spec/subspecs/validator/test_registry.py b/tests/lean_spec/subspecs/validator/test_registry.py index df19872c..eb7cfd0b 100644 --- a/tests/lean_spec/subspecs/validator/test_registry.py +++ b/tests/lean_spec/subspecs/validator/test_registry.py @@ -155,7 +155,7 @@ def test_from_yaml_loads_assigned_validators(self, tmp_path: Path) -> None: yaml.dump( { "key_scheme": "SIGTopLevelTargetSumLifetime32Dim64Base8", - "hash_function": "Poseidon2", + "hash_function": "Poseidon1", "encoding": "TargetSum", "lifetime": 32, "log_num_active_epochs": 5, @@ -224,7 +224,7 @@ def test_from_yaml_unknown_node_returns_empty(self, tmp_path: Path) -> None: yaml.dump( { "key_scheme": "SIGTopLevelTargetSumLifetime32Dim64Base8", - "hash_function": "Poseidon2", + "hash_function": "Poseidon1", "encoding": "TargetSum", "lifetime": 32, "log_num_active_epochs": 5, @@ -253,7 +253,7 @@ def test_from_yaml_skips_missing_manifest_entries(self, tmp_path: Path) -> None: yaml.dump( { "key_scheme": "SIGTopLevelTargetSumLifetime32Dim64Base8", - "hash_function": "Poseidon2", + "hash_function": "Poseidon1", "encoding": "TargetSum", "lifetime": 32, "log_num_active_epochs": 5, @@ -300,7 +300,7 @@ def test_from_yaml_empty_file_returns_empty(self, tmp_path: Path) -> None: yaml.dump( { "key_scheme": "SIGTopLevelTargetSumLifetime32Dim64Base8", - "hash_function": "Poseidon2", + "hash_function": "Poseidon1", "encoding": "TargetSum", "lifetime": 32, "log_num_active_epochs": 5, @@ -329,7 +329,7 @@ def test_from_yaml_missing_key_file_raises(self, tmp_path: Path) -> None: yaml.dump( { "key_scheme": "SIGTopLevelTargetSumLifetime32Dim64Base8", - "hash_function": "Poseidon2", + "hash_function": "Poseidon1", "encoding": "TargetSum", "lifetime": 32, "log_num_active_epochs": 5, @@ -365,7 +365,7 @@ def test_from_yaml_invalid_key_file_raises(self, tmp_path: Path) -> None: yaml.dump( { "key_scheme": "SIGTopLevelTargetSumLifetime32Dim64Base8", - "hash_function": "Poseidon2", + "hash_function": "Poseidon1", "encoding": "TargetSum", "lifetime": 32, "log_num_active_epochs": 5, diff --git a/tests/lean_spec/subspecs/xmss/test_message_hash.py b/tests/lean_spec/subspecs/xmss/test_message_hash.py index f5d0175d..d3fb56f7 100644 --- a/tests/lean_spec/subspecs/xmss/test_message_hash.py +++ b/tests/lean_spec/subspecs/xmss/test_message_hash.py @@ -1,8 +1,8 @@ """ -Tests for the "Top Level" message hashing and encoding logic. +Tests for the message hashing and aborting hypercube encoding logic. """ -from lean_spec.subspecs.koalabear import Fp +from lean_spec.subspecs.koalabear import Fp, P from lean_spec.subspecs.xmss.constants import ( TEST_CONFIG, TWEAK_PREFIX_MESSAGE, @@ -57,10 +57,45 @@ def test_encode_epoch() -> None: seen_encodings.add(encoding) -def test_apply_output_is_in_correct_hypercube_part() -> None: +def test_aborting_decode_known_decomposition() -> None: + """Verifies aborting decode with a hand-computed example.""" + hasher = TEST_MESSAGE_HASHER + config = TEST_CONFIG + + # For TEST_CONFIG: Q=133169152, BASE=4, Z=2 + # If A_i = Q * 5 = 665845760, then d_i = 5, digits = [5 % 4, 5 // 4] = [1, 1] + # If A_i = Q * 0 = 0, then d_i = 0, digits = [0, 0] + fe_list = [Fp(value=config.Q * 5), Fp(value=0)] + result = hasher._aborting_decode(fe_list) + assert result is not None + # First FE: d=5, digits (LSB first) = [1, 1] + # Second FE: d=0, digits (LSB first) = [0, 0] + # Take first DIMENSION=4 digits + assert result == [1, 1, 0, 0] + + +def test_aborting_decode_boundary() -> None: + """Tests that FE = P-2 succeeds and FE = P-1 aborts.""" + hasher = TEST_MESSAGE_HASHER + config = TEST_CONFIG + + # P - 2 is the largest valid value (just below Q * BASE^Z = P - 1). + fe_valid = [Fp(value=P - 2)] * hasher.config.MH_HASH_LEN_FE + result = hasher._aborting_decode(fe_valid) + assert result is not None + assert len(result) == config.DIMENSION + assert all(0 <= d < config.BASE for d in result) + + # P - 1 triggers the abort (A_i >= Q * BASE^Z). + fe_abort = [Fp(value=P - 1)] + result = hasher._aborting_decode(fe_abort) + assert result is None + + +def test_apply_output_is_valid_codeword() -> None: """ - Tests that the output of `apply` is a valid vertex that lies within - the top `FINAL_LAYER` layers of the hypercube. + Tests that the output of `apply` is `None` or a valid codeword with + DIMENSION digits each in `[0, BASE-1]`. """ config = TEST_CONFIG hasher = TEST_MESSAGE_HASHER @@ -73,23 +108,11 @@ def test_apply_output_is_in_correct_hypercube_part() -> None: message = Bytes32(b"\xaa" * 32) # Call the message hash function. - vertex = hasher.apply(parameter, epoch, randomness, message) - - # Verify the properties of the output vertex. - # - # The length of the vertex must be equal to the hypercube's dimension. - assert len(vertex) == config.DIMENSION - # Each coordinate must be smaller than the base `w`. - assert all(0 <= coord < config.BASE for coord in vertex) - - # Check that the vertex lies in the correct set of layers. - # - # By definition, a vertex is in layer `d` if `d = v*(w-1) - sum(coords)`. - # - # We require `d <= FINAL_LAYER`. - # - # This is equivalent to `sum(coords) >= v*(w-1) - FINAL_LAYER`. - coord_sum = sum(vertex) - min_required_sum = (config.BASE - 1) * config.DIMENSION - config.FINAL_LAYER - - assert coord_sum >= min_required_sum, "Vertex is not in the top layers" + result = hasher.apply(parameter, epoch, randomness, message) + + # The aborting decode may return None, but in practice it almost never does. + assert result is not None + + # Verify the properties of the output codeword. + assert len(result) == config.DIMENSION + assert all(0 <= coord < config.BASE for coord in result) diff --git a/tests/lean_spec/subspecs/xmss/test_security_levels.py b/tests/lean_spec/subspecs/xmss/test_security_levels.py new file mode 100644 index 00000000..9f1c14ed --- /dev/null +++ b/tests/lean_spec/subspecs/xmss/test_security_levels.py @@ -0,0 +1,294 @@ +""" +Validates that XMSS parameter choices achieve adequate classical and quantum security. + +Based on: + +- [DKKW25c] "Hash-Based Multi-Signatures for Post-Quantum Ethereum" + (https://eprint.iacr.org/2025/055.pdf) +- [HKKTW26] "Aborting Random Oracles" + (https://eprint.iacr.org/2026/016) + +The security analysis follows the framework of [DKKW25c] Section 6. Theorem 1 +gives an advantage bound as the sum of five terms. Each term divided by attacker +running time must be at most `2^{-(k + log5)}`, yielding four independent +constraints (Parameter Requirements 2 and 3): + +1. Digest (SM-UD/SM-PRE via Eq 8-9 / Eq 15) +2. Public parameter (SM-TCR via Eq 6-7 / Eq 16) +3. Message hash (SM-rTCR via Eq 10 / Eq 13) +4. Randomness (SM-rTCR via Eq 10 / Eq 14) + +The abort correction from [HKKTW26] Corollary 1 and Remark 14 adjusts the +message hash bound: the aborting decode effectively enlarges the output space +to `|H|/(1 - theta)`, where `theta` is the abort probability. +""" + +import math + +import pytest + +from lean_spec.subspecs.koalabear import P +from lean_spec.subspecs.xmss.constants import PROD_CONFIG, XmssConfig +from lean_spec.subspecs.xmss.hypercube import _calculate_layer_size + + +def _compute_security_levels(config: XmssConfig) -> dict[str, float]: + """ + Computes classical and quantum security levels for an XMSS configuration. + + Returns a dict with keys: + + - `k_classical`: effective classical security (bits) + - `k_quantum`: effective quantum security (bits) + - `expected_attempts`: expected signing attempts per message + - `signing_failure_log2`: log2 of probability that all MAX_TRIES attempts fail + """ + v = config.DIMENSION + w_bits = int(math.log2(config.BASE)) + base = config.BASE + + # Bit sizes of the parameter spaces. + # + # Each KoalaBear field element contributes floor(log2(P)) = 31 bits. + fe_bits = 31 + bits_digest = config.HASH_LEN_FE * fe_bits + bits_param = config.PARAMETER_LEN * fe_bits + bits_rand = config.RAND_LEN_FE * fe_bits + + # Raw message hash output: v chunks of w bits each. + bits_msg = v * w_bits + + # Abort correction from [HKKTW26] Corollary 1, Remark 14. + # + # Each field element aborts iff A_i >= Q * BASE^Z (i.e., A_i == P - 1). + # The non-abort probability per FE is (Q * BASE^Z) / P = (P - 1) / P. + # Over ell = ceil(v / Z) field elements, the total non-abort probability is: + # (1 - theta) = ((P - 1) / P) ^ ell + # + # The aborting rTCR bound ([HKKTW26] Corollary 1) gains a factor (1 - theta), + # which is equivalent to hashing into a space of size |H| / (1 - theta). + # This adds -log2(1 - theta) bits to the effective message hash output. + wz = base**config.Z + q = config.Q + ell = math.ceil(v / config.Z) + + non_abort_total = ((q * wz) / P) ** ell + abort_correction_bits = -math.log2(non_abort_total) + + bits_msg_eff = bits_msg + abort_correction_bits + + # Useful logarithmic constants. + log5 = math.log2(5) + log12 = math.log2(12) + log3 = math.log2(3) + log_lifetime = math.log2(config.LIFETIME) + logv = math.log2(v) + log_max_tries = math.log2(config.MAX_TRIES) + logqs = math.log2(config.LIFETIME) + + # Classical security: minimum over four attack surfaces. + # + # Each bound derives from the requirement that each of the five terms in + # Theorem 1 satisfies Adv_i / T(A) <= 2^{-(k_C + log5)}. + k_classical = min( + # [DKKW25c] Eq (15): SM-UD + SM-PRE on the digest hash Th. + bits_digest - log5 - 2 * w_bits - log_lifetime - logv, + # [DKKW25c] Eq (16): SM-TCR on the public parameter space. + bits_param - log5 - 3, + # [DKKW25c] Eq (13) + [HKKTW26] Corollary 1: SM-rTCR on message hash. + bits_msg_eff - log5 - 1, + # [DKKW25c] Eq (14): SM-rTCR randomness reprogramming. + bits_rand - log5 - logqs - log_max_tries - 1, + ) + + # Quantum security: minimum over four attack surfaces. + # + # Uses quantum ROM bounds from [DKKW25c] Table 1. + k_quantum = min( + # [DKKW25c] Eq (15), quantum: digest hash. + bits_digest / 2 - log5 - 2 * w_bits - log_lifetime - logv - log12, + # [DKKW25c] Eq (16), quantum: public parameter. + (bits_param - 5) / 2 - log5 - 2, + # [DKKW25c] Eq (13) + [HKKTW26] Corollary 1, quantum: message hash. + (bits_msg_eff - 3) / 2 - log5 - 1, + # [DKKW25c] Eq (14), quantum: randomness reprogramming. + (bits_rand - logqs) / 2 - log5 - log3 - log_max_tries, + ) + + # Expected signing attempts for target-sum encoding. + # + # [DKKW25c] Construction 6, Lemma 7: the number of valid codewords is + # |C| = #{x in Z_W^v : sum(x_i) = T}, the layer size at distance + # d = v*(W-1) - T from the sink vertex. The inclusion-exclusion formula + # from _calculate_layer_size gives |C|. + # + # Success probability per attempt = P(no abort) * P(target layer | no abort). + d = v * (base - 1) - config.TARGET_SUM + layer_size = _calculate_layer_size(base, v, d) + layer_prob = layer_size / base**v + success_prob = non_abort_total * layer_prob + expected_attempts = 1 / success_prob + + # [DKKW25c] Lemma 3: correctness error is delta^K where delta = 1 - success_prob. + signing_failure_log2 = config.MAX_TRIES * math.log2(1 - success_prob) + + return { + "k_classical": k_classical, + "k_quantum": k_quantum, + "expected_attempts": expected_attempts, + "signing_failure_log2": signing_failure_log2, + } + + +def test_prod_classical_security() -> None: + """Production parameters must achieve at least 128-bit classical security.""" + levels = _compute_security_levels(PROD_CONFIG) + assert levels["k_classical"] >= 128, ( + f"Classical security {levels['k_classical']:.2f} bits is below 128" + ) + + +def test_prod_quantum_security() -> None: + """Production parameters must achieve at least 64-bit quantum security.""" + levels = _compute_security_levels(PROD_CONFIG) + assert levels["k_quantum"] >= 64, f"Quantum security {levels['k_quantum']:.2f} bits is below 64" + + +def test_prod_signing_efficiency() -> None: + """Signing must succeed within a reasonable number of attempts on average.""" + levels = _compute_security_levels(PROD_CONFIG) + + # Expected attempts should be manageable (< 1000). + assert levels["expected_attempts"] < 1000, ( + f"Expected {levels['expected_attempts']:.2f} signing attempts is too high" + ) + + # The probability of MAX_TRIES consecutive failures must be astronomically small. + # log2(failure_prob) < -128 means failure probability < 2^{-128}. + assert levels["signing_failure_log2"] < -128, ( + f"Signing failure probability 2^{levels['signing_failure_log2']:.2f} is too high" + ) + + +def test_prod_abort_probability_is_negligible() -> None: + """ + The aborting decode rejection probability must be negligible. + + From [HKKTW26] Section 6.1: each FE has abort probability 1/P. + Over `ceil(v/Z)` FEs, the total abort probability is approximately + `ceil(v/Z) / P`. + """ + config = PROD_CONFIG + ell = math.ceil(config.DIMENSION / config.Z) + + # Per-FE non-abort probability: (Q * BASE^Z) / P = (P - 1) / P. + non_abort_per_fe = (config.Q * config.BASE**config.Z) / P + total_non_abort = non_abort_per_fe**ell + + # The abort probability should be less than 2^{-28} (~3.7e-9). + abort_prob = 1 - total_non_abort + assert abort_prob < 2**-28, f"Abort probability {abort_prob:.2e} is not negligible" + + +def test_prod_decomposition_invariant() -> None: + """ + Validates the fundamental relationship Q * BASE^Z == P - 1. + + From [HKKTW26] Section 6.1: for KoalaBear, P - 1 = 2^24 * 127. + With BASE = 2^w, the decomposition requires w | 24 so that + Z = 24 / w digits can be extracted from each field element. + """ + config = PROD_CONFIG + + # Core decomposition invariant (also checked at config construction time). + assert config.Q * config.BASE**config.Z == P - 1 + + # w must divide 24 for the rejection sampling to work with KoalaBear. + # + # P - 1 = 2^24 * 127, and BASE = 2^w, so we need w | 24. + w_bits = int(math.log2(config.BASE)) + assert config.BASE == 2**w_bits, "BASE must be a power of 2" + assert 24 % w_bits == 0, f"w={w_bits} must divide 24" + + # Z must equal 24 / w for the optimal decomposition (alpha = 1). + assert config.Z == 24 // w_bits, f"Z={config.Z} must equal 24/w={24 // w_bits}" + + +def test_prod_mh_hash_len_is_consistent() -> None: + """ + The Poseidon output length must produce enough digits to cover DIMENSION. + + From [HKKTW26] Section 6.1: ell = ceil(v / z) field elements produce + ell * z >= v base-w digits. + """ + config = PROD_CONFIG + assert config.MH_HASH_LEN_FE * config.Z >= config.DIMENSION + + +def test_prod_binding_constraint_is_message_hash() -> None: + """ + Verify the binding (smallest) constraint is the message hash for both + classical and quantum security, matching the design intent from [DKKW25c]. + """ + config = PROD_CONFIG + v = config.DIMENSION + w_bits = int(math.log2(config.BASE)) + fe_bits = 31 + + bits_digest = config.HASH_LEN_FE * fe_bits + bits_param = config.PARAMETER_LEN * fe_bits + bits_rand = config.RAND_LEN_FE * fe_bits + bits_msg = v * w_bits + + log5 = math.log2(5) + log_lifetime = math.log2(config.LIFETIME) + logv = math.log2(v) + log_max_tries = math.log2(config.MAX_TRIES) + + # Classical: the message hash bound v*w - log5 - 1 should be the tightest. + classical_bounds = [ + bits_digest - log5 - 2 * w_bits - log_lifetime - logv, + bits_param - log5 - 3, + bits_msg - log5 - 1, + bits_rand - log5 - log_lifetime - log_max_tries - 1, + ] + assert classical_bounds.index(min(classical_bounds)) == 2, ( + "Classical binding constraint should be message hash (index 2)" + ) + + +@pytest.mark.parametrize( + "param_name, value", + [ + ("DIMENSION", 46), + ("BASE", 8), + ("Z", 8), + ("Q", 127), + ("TARGET_SUM", 200), + ("LOG_LIFETIME", 32), + ("PARAMETER_LEN", 5), + ("TWEAK_LEN_FE", 2), + ("MSG_LEN_FE", 9), + ("RAND_LEN_FE", 7), + ("HASH_LEN_FE", 8), + ("CAPACITY", 9), + ], +) +def test_prod_config_matches_reference(param_name: str, value: int) -> None: + """ + Guards against accidental parameter drift. + + These values must match the canonical Rust implementation (leanSig). + """ + assert getattr(PROD_CONFIG, param_name) == value + + +def test_print_security_summary(capsys: pytest.CaptureFixture[str]) -> None: + """Prints a human-readable summary of the security analysis (informational).""" + levels = _compute_security_levels(PROD_CONFIG) + print("\n--- XMSS Production Security Summary ---") + print(f"Classical security: {levels['k_classical']:.2f} bits") + print(f"Quantum security: {levels['k_quantum']:.2f} bits") + print(f"Expected sign attempts: {levels['expected_attempts']:.2f}") + print(f"Signing failure (log2): {levels['signing_failure_log2']:.2f}") + print("----------------------------------------") diff --git a/tests/lean_spec/subspecs/xmss/test_strict_types.py b/tests/lean_spec/subspecs/xmss/test_strict_types.py index a0e45af4..ac27014e 100644 --- a/tests/lean_spec/subspecs/xmss/test_strict_types.py +++ b/tests/lean_spec/subspecs/xmss/test_strict_types.py @@ -8,7 +8,7 @@ import pytest from pydantic import ValidationError -from lean_spec.subspecs.poseidon2.permutation import Poseidon2Params +from lean_spec.subspecs.poseidon1.permutation import Poseidon1Params from lean_spec.subspecs.xmss.constants import PROD_CONFIG, TEST_CONFIG, XmssConfig from lean_spec.subspecs.xmss.interface import GeneralizedXmssScheme from lean_spec.subspecs.xmss.message_hash import PROD_MESSAGE_HASHER, MessageHasher @@ -327,27 +327,27 @@ def test_poseidon_accepts_exact_types(self) -> None: assert poseidon.params16 == PROD_POSEIDON.params16 def test_poseidon_rejects_subclass_params16(self) -> None: - """PoseidonXmss rejects Poseidon2Params subclass for params16.""" + """PoseidonXmss rejects Poseidon1Params subclass for params16.""" - class CustomParams(Poseidon2Params): + class CustomParams(Poseidon1Params): pass - custom_params = Poseidon2Params.__new__(CustomParams) + custom_params = Poseidon1Params.__new__(CustomParams) custom_params.__dict__.update(PROD_POSEIDON.params16.__dict__) - with pytest.raises(TypeError, match="params16 must be exactly Poseidon2Params"): + with pytest.raises(TypeError, match="params16 must be exactly Poseidon1Params"): PoseidonXmss(params16=custom_params, params24=PROD_POSEIDON.params24) def test_poseidon_rejects_subclass_params24(self) -> None: - """PoseidonXmss rejects Poseidon2Params subclass for params24.""" + """PoseidonXmss rejects Poseidon1Params subclass for params24.""" - class CustomParams(Poseidon2Params): + class CustomParams(Poseidon1Params): pass - custom_params = Poseidon2Params.__new__(CustomParams) + custom_params = Poseidon1Params.__new__(CustomParams) custom_params.__dict__.update(PROD_POSEIDON.params24.__dict__) - with pytest.raises(TypeError, match="params24 must be exactly Poseidon2Params"): + with pytest.raises(TypeError, match="params24 must be exactly Poseidon1Params"): PoseidonXmss(params16=PROD_POSEIDON.params16, params24=custom_params) def test_poseidon_rejects_wrong_type_params16(self) -> None: