nimbus-eth1/fluffy/tests/beacon_light_client_tests/light_client_test_data.nim

31 lines
150 KiB
Nim
Raw Normal View History

# Nimbus - Portal Network
# Copyright (c) 2022 Status Research & Development GmbH
# Licensed and distributed under either of
# * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT).
# * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0).
# at your option. This file may not be copied, modified, or distributed except according to those terms.
{.push raises: [Defect].}
import stew/byteutils
# bootstrap for epoch with merge block
const bootstrapHex = "60b747000000000018d305000000000023fd2bf54d3f71f13ee0ced4ab42970231bc67fc7fd1e933bb38cd184a90ac6df1bcb3404de7155e2b51f942f091b7d699bd3c32ee8ab3e30e64474f8e90196faebeb48401ced0bd795d19fd1162654192220d7c3f4bbfc93fcd7a76b43b3a6480ef074cf85a1fa38e704c05073f2def4b6ab67fe958fcdd5bc42573f1cb82eac1657ed399ee4e3cda0d3d7ac1e2429f8bfb483ca6701d63ee4fff867044a4f50342b0381e2570301b4057c0ac9360340bf1b776d8d06a80919c7369c54a3fbbb7014062e9150c2941cabbd6e9e2712cc6bd596801682ade219364a22f7dd2a5a30c7394268d17fa48e371c7b41e5a88a0df47bf53dd729eeae58b487dbe06f7cfa855bcf78396bdcab622852c3caa5d1d6c556788c857b689c711792de936228d929afaf940cf30295d28748a395b0f01097a4519d1977e8292d8ec8966943840dfbef204c99e27a94c426fb768fe59a7873450f2e85ed0b66596391649b7e3b4b660a6138e58526cdaff38c70d63e1e6a56f54c24181b920c65aae87a333968137214d4eced416b6fc0f8075c7855838aa0aec26dd41b079d61deff66e1edcfd146b5f03d38e8d2d5815b54db6b7b092ff63e4119e57fc324a6431efc00d13af7b8e0addda3a239abd219968bedc5ad81f36c7cf387e0f80e4bd29d2e73f2fa6f550d46176b706a2b776a5b301608acf26746b94342a3132a5705e45b0fc8a0405c713249c6e0305294139278d7901876e441c36d56a7ef4f6c632cfc018dae58bca6c1fb4e43fb6af1a8c97ae240ace999c8bf899105ff18b09277f778216825ef4bf2a7a1472b4dc1a5290ab73c20b89708eacc893cb348262995f7f5e576d933f7501d10599f9396b0076341e0ab9dcf24dd6edb163d9d7d5d3fc02a1327925bfbbc8e976db08db405761b8b5ff37194dc984281cc904a411d7ce33314e94950a8f71de218196eb577139272ddfe260c01aebcd89548a365d6214d6059442618dbe44db1392ac72e94371985171b2b58415c42a78ca0007eba179c5df23ff201bc684affa197f33ac5c443706d8bd8db6ca5dffa34127118d78d09fbebcacb100748600587d7d032cde218c41916b644f51dbfebab668054986aee1e0165c7b775fb2493eda3cd86eddade62657808d159a7afc773e66fc565d514e0fd43d477494f6d4d7a425420b0fd6b4662bb3171f7f2c8530619244c4fefe438965b822aa787228d51fb5084f5b7e87399e871325de4d3279cf56431d672899d3efcdd30be64b70b9482da4355a8f09fe8596710ca0b24ddccac9091b7ca51d59f87dee4c4e355ca878ce6e9eb27383c3f84f48e7d2401fa20f854db84b3a4476bc977ad8976e5ff4f556fe68ef31a65fd831188dc4541edf50662d006258951d714b45576f60cdd37719e7898bcf76a7d9866afa86dfe3a4e42e4f217a327b17b790ea83adce07961357c4194f419525c034a512d81bd30db6bde2c866a2dce69d8ca5a2557174597f03fca3379e424c5286005ba2f0cc0948d693ed67c0ecea8186ad4c0927f5ef7790c9c4463dc3e28faaeb1eab018c125311db30f58cc90a4ab42c2c2ef5bf12d592b16540be2615883cab02544e3f44bba43531ecc93d9ce18349bf39da6e5e5e90c9586fd2e4d7dfffa9f867a494c3de7e145b6f2e3ca2662112be61dbac9911702a1e25ba7f9bcfaad1285f71f633c01722c58556e0359c543906a0e8da2486e8e6ba730dbd44b4dd6c8ea7d2789a3519d6aebf6ec65a7fa39a1ea7d7950b61292c0850f16378fef0ee52ceb144ce6a3dc57f7e12c2b3233bd04b4a2c4222dc3eb972c447eac7da942bd6a744959b041e31a3ad567724536af288b4cb280a77e873b9d511b203f0a759ebff2ed659612295e37b96ec673aaa998b96de5a1a1d5a0cab83c1d7f00f6f9ef1f4906d59ba4d3b46bb8a4d602014c4ee2b1e21fc92f7a9e0e01a99fc50b72a60a33d0914e02500166aa2f18fabf37bf2944fb73ddbcd7cdc33b8606514254418c48b9ecc1b36700480bad674c68692d6b1608b8c68897a53ffe1db908a7156a069e25392757c8179a981bfbe6e3f2ee20f65a07d34dc6d3c302bf57048862d740f35051e32776ebd2f46f775867c8218b5501500a58d414fdcb2a78dd6f55a278045cc607c72be0903da0ab6e98edeb78499ac3b336f806dcc16b2d1f56c84089989fa612d56c17eb6a5702b34a83878bc43cc3d52a0dbe9ff2fc2fe10881facbe09f777f4cb6ab0b4530bfb0bfcfdbdadf2d0f7f354c412315d4f59053dd78b3ad2727ab093680a018807dd4cb88a794bb8ec7bda26f041f40c0501910e190f57961b960b7ba48a9a0176db376b3501a0a6552958c31089d5e53bd1f8958f99c39975af625f4b6cd290aa43415952a9a8899262e54d7e450ca1cc5259e340fab10b52c855f844112a264b29fc98dcadeb3d180c00684733931135b09d895922e6713911c4ab79afc257b13c2f16b6a1f0a005db87ee057b0a027f37ffaa94ef3f59a5664f3bfa5da0c13d86a7126b1f1e68a4d7aeacaca43970a28930589e7eb8afbfa5cc99e30955ae4c130ca2c34a6635ca73fad659fa79006b36bb8713a158d3133fd392e2bf0e59eea9db54c0c7588899351490ea9b72671e6d508fd49af8975b0cd6ad188082ea7120e114c230dcd0fc28501257c4fb12cae06759dc361a19de8f8f89c73c0f6fdb3244a01300c9740a765e4c66addfef5b28770b7e39a9665cbe0ac67a68112c28ed800bad82beedc23d8874be169997be7aa898c1f239faf6d551eec025191fd5a384ad2158d953a526f110d413e2559474695df7217dc1c3782971e995226b054712b15700139
2022-11-03 08:12:32 +00:00
const lightClientUpdateHex = "6cac470000000000a2a6050000000000989604e65d66d380233f025b10f7b99b8bdf8610ae627ed61825266fbe1aa15a9e33aeeb92443af6d49f7b1b4f6c8f973be374b548db40b5f32f82db57cd29349a4fe9c882bde3ad2ac67b67795c1f89de57c6f1e361c60415375ad0d19605d0928540d3a8819e60842076668e9907f9d9664c8a8a5a94f658a0da1cdfdac6114a0781f13b5e402fa4283f7f4e2e973c8706beb542fc4c83c7de6b4a3530a8174859a98bfe96587ef166bbae213b268ec21ed0ad166f4e32ff820b37823e533ba3afafa8eea4a9408278602ce5830d474355c50dbe34162e53482aa093de4328f26a602aacc01134d3e3dcc55aed33c48a5442438ea51b9af7fde941360f5506ddfc77f55e341fdfdb41b41f39a6507186e6a3e9131f91f2e48098b4c0fa502caf3f28449cbe9e540ea50c70e1f899e77f365758565a2f344d90d558d9b8002a6b6cdf844269a9551ee0f6bde6f3135b917295a0d935c5031fa7e44dbb28cdd37a6c2cbd1a949c3f097deacbdd1ea3f29e117efd04989955eaea2e97ad717151b414d12d3a69ed7e083972c1dfd65681ef7ea6ab4f2b549c5032db6a24e07e8f3e52f656835ee7a4ea5ebc6fce106530aecd990d2730d3c207c3191c8cdcf6107052051924391546ab75ef796157635761c6bd1c53c61f1bd437a5b3dfd302178876951e388070b161655f2cf9a9bd11d96590b37315cb562c33aac5067d21d943d2c01d0e1f6773412e5474fa102fc7afcfad0448288767069998d41a123701208c11414adcbf37e0f6748f4a27eebe5bf65d155039bbd90b027a0e27aaf327895f1f6fa1cc47b23b08edb3f0b375768782422c85b45643f051da52e3e584fc4ff84aaf8dcceec257db7a0a516669a3b4664e87cf747da6738cea5163c3ebdabeb7b9292e1cd7e56933362502b8139cfa51fd254011acaf58d0782904db71dca1bcad4fe4630905aba558094175007610d574702ab4be6b9a743a031f850dcf3a2a6950d30b82c76ea37dbe7a949cc2897bda78b921684614fbe5f9d59d96b2d0b3e10d4b31ea58439e93ccee6d48cc1e8020e3da96456ca9626ba597943c2fb2d53179105881f8a170251f75d00c493054c770572aee3c8da2b73558ba6e3640e61210417d0c0bf9954d4e0a02fb15b7fb043a90b09539a73c67c1b9a4a33fb11987960547e4a7e08cbd1083d340ad9df29ff42d94c44f02301d1c41539adb93013a6a05c30d51e69642808985f82fc3983c2e4fbc823d8e657b9e316bc56116041d43f0b9d071501790163f6bb83b9223e1ad84213922d889102a230ef141300adc09c0244019f0a694a05d05eaa23e9d6cca506b65dd9529665c38629979a70f04def4a9eab96ae21ff84254c45070cff7430e8fdc3e4d5c2ee6258e8c79b63898185390151b295c2c9d9e2278c6b5c15ec364dbca1fc9d02ce5e60188286fd49e5d28212d0930aad3980451864fa8d4fbf036c50297ea652a5cde1c03d29793a300f7316de7a1a20572320484f55827cb24b4a2617fbcc9fab7fcf2ed34f1f7408d3fb8237a020495f10edff34c8054efe1e58eeec2cf197352a41a1fd84f873378675339974960a6bd4bc604dfe9eeb48c254d79b02c0f599f4015f18da1a566b47c275cf617bdb57dceb1f939fd75d77bdb56db0a19c9cb8ac162876dfba53d7b9f3b5a953c7d3a8b0013c152a2aa4070a8748f16c999e9591dd315ff0a3ded207c0986feba3fd518ebbab34f39d3e1a8c6e20c90528f5c84995c5ef8811ff38b7b4f726a33abd6b81d5e7df4abb0d1679d96b90416e675c5db1c0b33cf83343be00f99e3b6af34bc5975d67990fd1c0eb0c355d0d97c769e0fcdfbb7c443fdc0c4b339f2014618a390da2f4f0c3c12dfb1548ed1db6fc6a8dbcd6ec38d2e76b6119844b9af369940731baafa375490290e463020ab93115c9ef785693020a2ae99cd438902180c130f4f17008e92a88759128fdf186fd923649857903211b5d1f133b3bd30f94825257c3f26510ff784f1a99eaba01364d1b3357173a89629c60667415794271f26d237b16efb497fe0a76a8e4085c22ed8a5787e1ee403abc8987b138fffec05e12eddfc2c807de040c3ae4cc904468eefed8581c8bc07c4280d885be6fa3b226c36b75b4b6af8903f4d06b7fb7cbb04db3ba75ec290e1d2bebc0bb4e572923b1d7ab7fbda1da4239d2b4f3aad0e9df0aa05a713623f83680c58d88c8b980d483f4cfd0b02a5b74018d23f251ed4d56260309905d1f0cc8d2c66dd0e671dc7a8eff07a896eea22f31fa16b182fa2bde02acabb01f3b5ae10f796f43558580b2275dcc203ae38475ee872555d692202e429b5f9ea54aaefedeac8ed7f5c548e33de3d501b68a30ce7442d6f27dd376d380fff252f32bc7f47184c25dbfa5efccabc860082370f13c21149de4819fffc69291916b004ab9f36a79a9f73a625b761f62ae9522dedbfd46270098eb151c5f7a3451f8752804a23e30ac8c7fa86a597bc346b51e1919bb096a58fa5e4bfe19569244af3fb8c8d489c22d1f4880250d302c351d2a811cf11a88fd2c7a6948b9c3dfa474133ab62669f2859821dd9fa6b84b18b781fea0e5204ca05a49fea6eacdd61edff660e8d6e40e1a188ece121fd53942cd75ea111dbbd404d7f119dd76b0933cc8ebc39e7fb0bc067e45c18584c94c380757b45c74254d16a4d330bde257b69e25075a85124a6612ec04a3f0b938298fdb2e914851d2a914041963521755192dd89ec303454a7af020670cdbce2ce1f0b8269b968f439ce66962f3bd6a7c6b54d3cd02e279a313b395368af985f59b6640283f61cc49e40125f0edbfb4120a05583028
const lightClientUpdate1Hex = "f6c34700000000006db605000000000032e35433b6bd8d415ed3df8dd54570e3e238ae6334e8899a54bf9804515d8d58293fcbbadbcdd05ed855e2b2286654030221f4177adc7cfa7d39ac414de06a9aa3eeee65a64fb83399522005b11170f228b21eef30be6f481d30695695064ac29484fced5c619a27d9d61af73af33ab3ac72b64b0928facaf8ebc967d657d9e0f3623e752709992bad1bdf9c3a3b253b8ab10cc8099a7e8d2ad1a4d0a537aa7bb3f04d57f877d3da9e2762f3d479cc18e154a9f4e7f5879ba029387f5916cc8bb74902e3aa238a69197b56f619216f2cc099eb2778eb3129e54913705613889720b33d18ba1e4e636dbc917e3d12552a8b80447b98a89ca3417b5d669cb5e45cd772619820b6071e80efd9cfe8c3898889c38f2a1be7513813b59493a43578e584370e937d211f8fa5ba772f1bb8aa43b4917f39846f1870cea8d2fcb2759643a6c8330ddfa5df4868ddc5e2458f7026aede0afd24a01fb8c7eec60cf2feec1eb19a364573d1dbb1d954a0a22498bac237db96ec3ed7e9c90e1cd1f0b59b9ba8966c02169af100668639cc15f518d7e45b3eb1286a64086dd1c0e68e099bd7689dbef697b17bbb01cf902dade9678a0eb6078f523423e9ff2b4ecda9ec00c58cf0f0aa7d8504585d2c379a404c8e4e7ceb6c82ed434838c70eeabfec212238a68210d2ddff385fddf235d9aa5d4be5cbc8953925ed17f66dcf1e6af1cc16533526000037f902d3b21cb9a5563b3816c0af8eb9496c74abfbb3ca2a98c02162d7715f846aa5051680e8f0bed3ab191a47d683d70b6fcaa5f9e82012948e68b501b20dfeeb9c8f121e30c4943390afe5445053be1d1535c13b35abb366e637cdc34f6691ceab31ecd561eb429a484ce7bfae2c7e23a996eaa1785474108c574d28ec1068df44d404de6302560acf7c3c62f06727f84b2f56814e23402ca6c4d2f38293d1f59db356c0020bc43bc6fcdf69a53c417a06c1a59f38e931796bc7318621aeb6ae4f6cebde9141055d25eb10e9a1211fdc56cb6d8ce08d9e2e8d488c17394730f062800345ef513ded3bf3ed27315aadde8bb01b80ec025097c547ad8f949ec33d116fadda6b5c39b84339279693a5d20179606df0659c30386c9e03fe133228c83a372fe2158aa19c3e621159ae5af7b06bf86f2a7aabb9f87c0a56d3707002f68cbe835f7045466a7dab4a718356bc8616b4dd23eb0ffad1c5dc33d9b07eb9a2aa665fd27941d2b045d85ae7537078a2065f19ebb362735ad313e850d80cc397c046ac630b7aa9098668744e8b9118c8f2aa24799d11c9ca0ee6f4abc31ae3072896ead170f1cc93ac4969f7fa4864f210debad59b6f494c85d11f3fab98ba26154f66a6f3fe4c0254b48af4293a32b0a3b9fb21d0065f3ad6bcda4709cc1178052e1d9b31f4b09a4e525861b416d89637d266b1a099b3fba6f7d60978a8e20e47eb246defc4e2d75863d2e357dac3398fb5020b88937f69e84311cd950e37096e24b3a18138cec0e0f17eff12109fe5df224cf86f8f18d38cb1fe66e0e19977a7cb6509eb9473b319f2e8daa3d84ec5f8b4482fd9205f043e37888d5c1c3788f6a24d1daaaa659f9325e0710d5e3a3898e5a14a7d08f7c8cc042ba7a216185a27afe610556e006a583f1ca53056b534873fbd1ecc4463108f3b1ee13c2ba260c7d354884796a22f1ecdbe779362dc25b24dfea81bd98bf945ba71e5bf86a82aef21816bc143de5c83353288672b1dc781a1714596225e88ada77e2db35e04b9bfe2d59b2ab60deb465f9284016ae28e5b82a39ae32fe74eaf1724cc13a5f361ff74c764afdb8c300d0475769735f38f616a14e876b06ef1c5bc7ee953679e64bfe6e9200b00789a632d9da537bcf58bdb157b6f39e224ea4209b22a99934c6b5dc996b7dc8b1c3ccecbf74688bc1d217fa4a76c3cdd709a61610c6a148bcbbe4f4de1e6c4f9496e0a1071aba36c3117980cc0d59a004d16f62c4889334be3ee652029d71b8020b317be7900dac2837f7a12422ecfe1c4830e7edcf7b349c221064799c9d410e1570747061c3f9ff97428aebeef4ac99cb3ac49d1fad4084458abe87b9f5ade10d1023575fa977025dd44e3ad1a925ea947350a93b742e2a16ada62a2c5311d8f931ce0e0829b405f1947a732a7cc201aa751e425bab1f6821539a72b9f2ff667763c57a82fd3f73bf0be6e9e458c74d0350c706fbe23c6a263333fc947e97ba1a68185ae56a7ec28e79d7b28b9f5e755e476f5156da4cdad44cc8235c3cdbe5e365b21bce38c98411bbdfd53d2bac0f210a159599091970832e8646b51029a89cc31e80d55eefa375c2f80a29ceb466bd39b0c7307719e3d46e2cfd5378eacd712b76aca5eab2f7a0027f02c433e07605355ecbf268f4393351e426f72751fd35869dde03a939e2d3c6edf48cc41992d9008973a1c877bfd105f584e9a8f9a80773ed04978bb4e7c75e40a17c832b97da60077309f9107dc4867c8a9846fe570f4199528d9854696627b9e38edfd106a21fe75b2b1acc0bdfadeac40b6a1f9049d4565a52072ef85df826be94f54da5c1307415b2b974fde09add587db05d351d8fb5ad0cc146551d4b4b4e9d6f50d5eacb8bf183075a8afddd728f3f64a587f0d1d22128994f2e7e59583177e8d9c35c28f7ea49a8cf9d6829baa7bb06206cc0d50ee0b9e7fa12d8206a6f8d85a58c3e321e35fb98711def57fcf0710348a5343d2f8668daf4cb9174df54fe82ee32e08208bd0a25949e55661f8615ceec260b5fe632996a7e0970d24e3eb7eade45fd4f7941a0474b12448cd20d4f74f9d9335f4f66d5900cd65d9237d0d84f8613d6782b3e9ec
2022-11-03 08:12:32 +00:00
const lightClientFinalityUpdateHex = "c0944b0000000000c9a90300000000006592efc86bcbec40089236714969b722d8d7959143352343a8ececf2249301076dc06b2dd0db664b650d2ddc4eb93e66e3e04cbe48792e8a548c140aa6ce9b48782f61f2f22379f48496fe46f985fc847ae1037431065c266e5e35bde9c2d96e80944b0000000000181d04000000000067c56b943c2f675d14eda966f49e0770c14b787c1a110d8afde5685802c2cd72c6a6ac803b52db1b54f546df2b6fcbc1a183fd1fe0bb140aa8ddfe7f1273866de52f0093645d011468823506cb04899f6b502f64cc4fdb7096c34193e61ab747a45c02000000000000000000000000000000000000000000000000000000000066643d84b06888be939498f352d0d74c2f8271578a34f315c6387dac995a84348d38d1863bc3e3009228f49eb91a69b72a8400f3ece13ed0ac56902f2ba8be8e408162be20793635f30d56017fb0e820ce9dbfe8b1d4532a339a33a6bddc7c99b8e16b33456f81799718d165f5bf75861f8df8f0e99201d9fbfb7c288597eac604cf9c45403e10e0e043ef0c5734eefa2a71014bce222cd8f036bfc8fe2927e4fffffff7ffbdfbf7ffff7ffdfffefffffffffffffffffffffff7ffbffefffffffffffffffffffffffbfffffffffffffffffffffffeffeffffffffff7fbffffff930b286947d7e3d1b7c117ca09e6566c592dda54f714c43f039e61b475403c88cbe889c1df0b06f182776e2613cf6bbf083a6f2424ea1696c6500942010970740a0a334c5b1887f0f25fd76a87d1b8e61da540c212e8acf612dc369bb572d5b8c1944b0000000000"
const lightClientOptimisticUpdateHex = "b2944b000000000059d20600000000002fcb02f3de6192458bed0eff1992aaa98d5590a32a01fe96ef449e6bce803ab99e3b54169d85bb91798a1a621ef158766efccd61116697e98e06cc0535adbbd7c4826fcc8533a06f13848c375fab80695c4d99a5d1fb1f05118d095be39aaa4ffffffffffffffff7ffff7ffdeffffffffffffffffffffffffff7ffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7ffffffffa10f053de563e0e40da3df39038dcd57ecf0bd58c796fbb76d8f0d1fe8741aa18ce762a82eca147fcdb9b49af16a75470e9ec1474f3e978a20f0dfb97bbe8c9bade890d7d62fc3122129c6abb7b691e2787ebe5f51fae7060f4cb04d364d468ab3944b0000000000"
const
bootstrapBytes* = byteutils.hexToSeqByte(bootstrapHex)
2022-11-03 08:12:32 +00:00
lightClientUpdateBytes* = byteutils.hexToSeqByte(lightClientUpdateHex)
lightClientUpdateBytes1* = byteutils.hexToSeqByte(lightClientUpdate1Hex)
2022-11-03 08:12:32 +00:00
lightClientFinalityUpdateBytes* =
byteutils.hexToSeqByte(lightClientFinalityUpdateHex)
lightClientOptimisticUpdateBytes* =
byteutils.hexToSeqByte(lightClientOptimisticUpdateHex)