From c9d0377dada79e121ca18c72f47cc18fe3a677c4 Mon Sep 17 00:00:00 2001 From: Naohiro Yoshida Date: Thu, 28 Sep 2023 18:09:55 +0900 Subject: [PATCH] fix test Signed-off-by: Naohiro Yoshida --- light-client/src/client.rs | 78 +++++++++++++++++------------ light-client/src/client_state.rs | 10 ++-- light-client/src/consensus_state.rs | 18 ++++--- 3 files changed, 60 insertions(+), 46 deletions(-) diff --git a/light-client/src/client.rs b/light-client/src/client.rs index 16687c5..64bf2d6 100644 --- a/light-client/src/client.rs +++ b/light-client/src/client.rs @@ -425,8 +425,8 @@ mod test { #[test] fn test_success_create_client() { - let client_state = hex!("0a272f6962632e6c69676874636c69656e74732e7061726c69612e76312e436c69656e745374617465124a088f4e1214aa43d337145e8930d01cb4e60abf6595c692921e1a200000000000000000000000000000000000000000000000000000000000000000220310c8012a020864320410c0843d").to_vec(); - let consensus_state = hex!("0a2a2f6962632e6c69676874636c69656e74732e7061726c69612e76312e436f6e73656e737573537461746512460a20c3608871098f21b59607ef3fb9412a091de9246ad1281a92f5b07dc2f465b7a01a2095ec85e33c9b37a199994464ea84512a8ebbb62dea3817dbe2f8eacd7c702ff12015").to_vec(); + let client_state = hex!("0a272f6962632e6c69676874636c69656e74732e7061726c69612e76312e436c69656e745374617465124d08381214151f3951fa218cac426edfe078fa9e5c6dcea5001a2000000000000000000000000000000000000000000000000000000000000000002205109b9ea90f2a040880a305320410c0843d").to_vec(); + let consensus_state = hex!("0a2a2f6962632e6c69676874636c69656e74732e7061726c69612e76312e436f6e73656e7375735374617465126c0a2056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b42110de82d5a8061a209c59cf0b5717cb6e2bd8620b7f3481605c8abcd45636bdf45c86db06338f0c5e22207a1dede35f5c835fecdc768324928cd0d9d9161e8529e1ba1e60451f3a9d088a").to_vec(); let client = ParliaLightClient::default(); let mock_consensus_state = BTreeMap::new(); let ctx = MockClientReader { @@ -438,11 +438,13 @@ mod test { let result = client .create_client(&ctx, any_client_state.clone(), any_consensus_state.clone()) .unwrap(); - assert_eq!(result.height.revision_height(), 200); + assert_eq!(result.height.revision_height(), 32132891); match result.commitment { Commitment::UpdateClient(data) => { - assert_eq!(data.new_height.revision_height(), 200); + assert_eq!(data.new_height, result.height); + let cs = ConsensusState::try_from(any_consensus_state).unwrap(); + assert_eq!(data.timestamp.as_unix_timestamp_secs(), 1695891806); assert_eq!( data.timestamp.as_unix_timestamp_secs(), cs.timestamp.as_unix_timestamp_secs() @@ -458,42 +460,47 @@ mod test { #[test] fn test_success_update_client_epoch() { - let header = hex!("0a222f6962632e6c69676874636c69656e74732e7061726c69612e76312e48656164657212d3460ab3110ab011f908ada0871f560e6d52c518e46fdd0a898672d921ddeea55d4e64874242aaae99d65340a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940bac492386862ad3df4b666bc096b0505bb694daa01790d75b56a82a3e2fbf524136580d2547ec2caf48242fa0da4fbe40ad47cc9aa0d9c4fe9949f631099f546eb92968d4a50234db9929e2757bc880e6e4a5fade69a063b724279c541bd0d1e672086d31c4c58e73b1857ec68bfa0d98a56d84284743b90100b4ba0b62a2e8f5dadc5f6d5f820f59bb536ada426f1f9652395fe787233113b9dd479e3171847c0fc174d2cb4efe13908976ce27e2ee600a14761cba9cfc62d3cc61fe15bf614ec92719e54e32ee2f7cf5bbe7e9fe577a1ebbd41373f36264210dec5e7fea5626fbd7f99ea68d2e2fa85a5abb7ea509c57a0b68b472cfae1cb2f04a35af77d25bcf00e5d425980b949d966704df6caac658ababbdc85212bd2003d4a09fda37c335265c5b8c26164ce238a2bb92803bf3828d8a8cb33861a12da4abdff60447d836dc5883c3df0370b673f407d166d8a9bdfdbb70b2baaef748b7b4dab191eaf8aadb3f0076047553ab096c8faa81f4e75e09f2ed1efda3500c028401e96e8884084fe2c6840108fb9f8465129d75b906add88301020b846765746888676f312e32302e35856c696e7578000000b19df4a2150bac492386862ad3df4b666bc096b0505bb694dab0bec348681af766751cb839576e9c515a09c8bffa30a46296ccc56612490eb480d03bf948e10005bbcc0421f90b3d4e2465176c461afb316ebc773c61faee85a6515daa8a923564c6ffd37fb2fe9f118ef88092e8762c7addb526ab7eb1e772baef85181f892c731be0c1891a50e6b06262c816295e26495cef6f69dfa69911d9d8e4f3bbadb89b977cf58294f7239d515e15b24cfeb82494056cf691eaf729b165f32c9757c429dba5051155903067e56ebe3698678e912d4c407bbe49438ed859fe965b140dcf1aab71a993c1f7f6929d1fe2a17b4e14614ef9fc5bdc713d6631d675403fbeefac55611bf612700b1b65f4744861b80b0f7d6ab03f349bbafec1551819b8be1efea2fc46ca749aa184248a459464eec1a21e7fc7b71a053d9644e9bb8da4853b8f872cd7c1d6b324bf1922829830646ceadfb658d3de009a61dd481a114a2e761c554b641742c973867899d38a80967d39e406a0a9642d41e9007a27fc1150a267d143a9f786cd2b5eecbdcc4036273705225b956d5e2f8f5eb95d2570f657164e5b75689b64b7fd1fa275f334f28e1896a26afa1295da81418593bd12814463d9f6e45c36a0e47eb4cd3e5b6af29c41e2a3a5636430155a466e216585af3ba772b61c6014342d914470ec7ac2975be345796c2b81db0422a5fd08e40db1fc2368d2245e4b18b1d0b85c921aaaafd2e341760e29fc613edd39f71254614e2055c3287a517ae2f5b9e386cd1b50a4550696d957cb4900f03ab84f83ff2df44193496793b847f64e9d6db1b3953682bb95edd096eb1e69bbd357c200992ca78050d0cbe180cfaa018e8b6c8fd93d6f4cea42bbb345dbc6f0dfdb5bec73a8a257074e82b881cfa06ef3eb4efeca060c2531359abd0eab8af1e3edfa2025fca464ac9c3fd123f6c24a0d788694859f8ccdafcc39f3c7d6ebf637c9151673cbc36b888819ec5ec3e97e1f03bbb4bb6055c7a5feac8f4f259df58349a32bb5cb377e2cb1f362b77f1dd398cfd3e9dba46138c3a6f79b60359f141df90a0c745125b131caaffd12b772e180fbf38a051c97dabc8aaa0126a233a9e828cdafcc7422c4bb1f4030a56ba364c54103f26bad91508b5220b741b218c5d6af1f979ac42bc68d98a5a0d796c6ab01b659ad0fbd9f515893fdd740b29ba0772dbde9b4635921dd91bd2963a0fc855e31f6338f45b211c4e9dedb7f2eb09de7b4dd66d7c2c7e57f628210187192fb89d4b99dd4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000be807dddb074639cd9fa61b47676c064fc50d62cb1f2c71577def3144fabeb75a8a1c8cb5b51d1d1b4a05eec67988b8685008baa17459ec425dbaebc852f496dc92196cdcc8e6d00c17eb431350c6c50d8b8f05176b90b11b3a3d4feb825ae9702711566df5dbf38e82add4dd1b573b95d2466fa6501ccb81e9d26a352b96150ccbf7b697fd0a419d1d6bf74282782b0b3eb1413c901d6ecf02e8e28939e8fb41b682372335be8070199ad3e8621d1743bcac4cc9d8f0f6e10f41e56461385c8eb5daac804fe3f2bca6ce739e9ae3261a475a27bb1028f140bc2a7c843318afd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ea0a6e3c511bbd10f4519ece37dc24887e11b55db2d4c6283c44a1c7bd503aaba7666e9f0c830e0ff016c1c750a5e48757a713d0836b1cabfd5c281b1de3b77d1c192183ee226379db83cffc681495730c11fdde79ba4c0cae7bc6faa3f0cc3e6093b633fd7ee4f86970926958d0b7ec80437f936acf212b78f0cd095f4565fff144fd458d233a5bef0274e31810c9df02f98fafde0f841f4e66a1cd98cbf822e4bc29f1701ac0350a3d042cd0756e9f74822c6481773ceb000641c51b870a996fe0f6a844510b1061f38cd0f8b5831dfffbb86087bb6f1e9e8bc158072307c2d797331856ec209dd4cd867df6e49a7a210f7d1092dd037c656ed2d69329662f08d8017309627a192dba64a92a429bc8ef6c586b13878c34eec8a1633e32a9bf0c7084083dfa68e5852cd6ef5bac2ba918c93dbef84c8401e96e86a0ba1f0f867bb7aeda57294ce981a84ec911510ef965c73c3d6f897c6b61159fd78401e96e87a0871f560e6d52c518e46fdd0a898672d921ddeea55d4e64874242aaae99d65340806588b147d1ce91fa7774c5d1eea2601d8a7a653aab2a253fdf856d6c70ecfb7631ecdc2da5b9eedc1f32358d4d7b4017cf67e8713ad32d2997079a673824d9e000a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800a9d060a9a06f90317a053587d2d6d7100994262d5cb084ac962a78ae72bdb2ffafa3c007dc190356f27a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942465176c461afb316ebc773c61faee85a6515daaa0b7f310d5734381d26a5ffe97b0b331a4f1f94e7ab6a59726bb3e5f611a61b24ba04644fab994a803f1f663c636df74c05a5f8344141f49efe9d28c9b4dbe6a43a7a08d89b3e7d19af75ca305418295b988149ebbb46413f01465e875808b632c2d73b9010080a482600228167d00886844d2301a1304044222410884003a03c3e22000a316a14673286814d0211829ac1004394094a50840194202544c0ae02411612de44a80448042830001208550890948309ce82819a009814e490284840085818010b0018c2022cf5a4ca3924b98d281422a190a200076e41bc4140c1c00185d2212764208c20d9230081d238614843263421d10642dad6967209dadba91c0181370e80a61801152402311040522cc1f0c02810cbbf3900fc24000400c00204000a049208c379222ac081c11d040c3000050202bdc05c01448c1b6515252328a80ec2038139c591400212901a130d2016c0b020c53142a2933f6c0e31d48551a491c42028401e96e8984085832a7837c11698465129d78b90118d88301020b846765746888676f312e31392e38856c696e7578000000b19df4a2f8b5831dfffbb8608c49558ae9f018fae57e83a949fae380e1f7c05fa403626cf98ea3aa3b45de4ea2cbed3c07441b9532c3d8ee0be27a5512e20f95338c5c1aea818883e775f73b37a71bce8ae211707470a181afec2bff1d58e33225c81d66b51acbfb9a430091f84c8401e96e87a0871f560e6d52c518e46fdd0a898672d921ddeea55d4e64874242aaae99d653408401e96e88a053587d2d6d7100994262d5cb084ac962a78ae72bdb2ffafa3c007dc190356f27803da9b49a325fdb2bc2e9657096dcab49466cc3e824eca7d945800712461bb4c135276accfc8918b52fd53809f2088d7195673f2be2b18762c6add8582a0b770000a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800a9d060a9a06f90317a0b68f9919612eb6c227c62f5cbad0c5cd9ea2fa8d48b2d0b21d14cd709b8811eba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347942a7cdd959bfe8d9487b2a43b33565295a698f7e2a036ab7e0938a39b57fe243ba0dc0df6f8bad5b2f474d19d1929366e200d3b49caa08e01b6869cb93cf4e478a4f30cf9a936cb440dd7bc591c858918004d6f5d4842a0134c6f2ef88b73b577435b27d72d3a3200b97c67247cf2d68311e99dad40651ab9010090b687e6dbac58590e095dcff008bd829b41c26489db9449711d65e30c10e4758fd9340d63c91680452930fb16322388d711c63e23815760e07785b2046e70962dc0cc3183c501a85522c10b011f5b7c35f6e0a307d6ca47eb863040e9c02ee1829d142aaf52363904c92bb40930befb3b1d4fc3809904c9666ce015445f147571096025777e5ba1c8e2742128e0088e12741c5ded221aba376f8f5b990838e09a1c4ab477b03768b0cd6c4fbf001aaa519931cb06a4821417a216ac22807354e5da17b21e041bce72b48193e6c0d060afa20d86b452651605dbc616104cfda898f4a628194ce59db139acb727c14b4c690e5d2a416960432aee84444c3d014f028401e96e8a8408583b0083bf143a8465129d7bb90118d88301020b846765746888676f312e31392e38856c696e7578000000b19df4a2f8b5831dfffbb860960b770d582065d3c4b20a5f879d34a16044d5bb3d85151fe3a985d1ef1a4012a212ca3b142a973717d7679e460665fa119d05c4c0601228040f60d0f06dd7730e8526ca447bbc7c397f071eda239cc773476557eacfad1f7c42cb1f91d8d8a4f84c8401e96e88a053587d2d6d7100994262d5cb084ac962a78ae72bdb2ffafa3c007dc190356f278401e96e89a0b68f9919612eb6c227c62f5cbad0c5cd9ea2fa8d48b2d0b21d14cd709b8811eb80b2c721688caac367e18a4b05efaccfeb1905523326fe9b0ef699711fd1f37bed6db2924b793413fbb409b6ab88e2969285e276af20917d5f8e829a02c43cbc7e00a000000000000000000000000000000000000000000000000000000000000000008800000000000000008012051087dda50f1a951df90e92f90211a0357d1979d3135e06db834c1101e0f1b959346a69e7021972e2cb3408515d7a63a0ace291322d01e7bd3a9025f61cfb427dcfde43133d6d58d5f3004f4b23e2832ca0d1a659e52724695341fc794409633aaba7269da69dd460c9028a194e6180b3e8a0672f25b0edf17e85ca3230e963f6e98069e8fa3c582b1512154b2462859c7bcca083d05a675fa28af167f7f28ae32dfbf1cfb808802ff3bda4e12d45d3486f6b54a0a85202635db3f39a1d35aef48285e6b8635e0666edd60aef08a0dec59224fde1a0198b902f853b2218dcde1aadf475e2a7aaa293b11b852683569de28d362d8aa7a03a1108f0637ed5793ed37a96b114221973b6a5e32b2edd67055e0a59de576c6fa043acc8ee21eaf0edab7fed0486579a0f6248431f994abe9aee063d7bb542be6aa0052ce3afa366296c983003fbdbb5c9f643a7fa53a857d6b883d6e3459c775feda0cd2c401d808b6ca2d28218d7ab8dfd5945c3d0740f96ab28e465e9db1cd4af39a0bac7579d8971274bac6d8fa11634781c288a27471beeae4669af4c21de4ec8e1a06d3345fa69779f8d80e935a499bd5c6d8244e6ac8b57cf816a5b4ee267ba5f73a069994f05946ee4f9927193e7b4441d755b8b6e30d1262b0c6ad656a29a8cc3cca0d7d142e9d91a55a330be187ac9bfec7fa0a7f89a178955fac364bcf577a2f7f4a041ac7f6c906c04bf1383064110450b7dbb39100b525d588b1f736488c0d8d99480f90211a06ddf25820c0568451dfeb6efaecb28001721f94814660f69778274094b5aef2ca06b31b13aae426eb3d0faa804303aa794a9f071dbb6787466018e55f1c048e712a0e294e2c4336f58f99af19485e257c3a8c343bb882d7ee05adb5d99203e351ca1a0da2541a4affc4711f5a3e20594a0d4294a7323028bd421bcc0ded992ba3db91ca03403550c190f8442c59f13ff7419c33abdbc7ceed8d67ce0b1ad07b11bf28998a09a1a6fdebdc2c5ba78c0353927cb78b9c7a2b957961786c63388fb4fc174cdf2a04bdf081ba2144f4809d39c806e4393d4e8dc898518e08b388499f168fd0fbfe7a0db7dfe8b39310cfb772c40a6c76b00db6ba2ba0b4354a3b368aa1d7152f9475aa07473d952fa6bd85f3d6d004dd7baf9e2ddc45108b016932e98099eab8fb1cbf5a042fb997eb2821e42350d49e5a190f2b8e595e184e93d0154e169e96cb090d4c1a0a049b15333f93b3be0bdc5e89d32e050481f4c26b6799930a86997de94caede9a086bbc0610426bcd1c2669cc25ebfdfd0e52c709793ab78fd5f0edff9af6c7fdfa00909f9ac77fe95aa1e5c9ddc41597204235bbda4db823d62e84076724a50d407a09eabb85f9d37f5f97bd488195b5914e2595e6f0a1d458c6432e90c97f61a8f68a0d58f7c5b18818a19683f4dd22bd2871eccfe76dbd30a4fba9a8b0583efe4e382a0fe3198625599608e00b1298adfe1f59213ee86f28556e291298f929fe5089b8680f90211a0c47b2e44fd4ed8fa717ca0f105233237125014f13a0050b6a9aa9edb7451c664a0c3a15313adc2764d0531a459b81a982dfa2cfe4b2010aef2427be744598e0bf9a0d14204aa3652d5c7c11602408d102e34f695531ef4fd3fc17fde8f8463ba5d17a0eb0c3b6633e50463663ef402640acf72d96d2445698c171b5bb471f6062f3223a0f1991f089b495bbd292e9d85f943aee007e53509b76abe615b8c732b47bd8eb9a0d4b84a2d03c426a0377bfa3a159b843edf916714e15c88e4800091b5fdf35eb6a046e6f3c80db1a835871e3867c960aa1b8ed147de44495b9b6203237a3c3d0f90a01d510c5c9e7c5f3cefa1faed192f7848c9e42f3b7a9a50d53940f5aa280dc502a041bcad5ea542ed94e59c7dd9bb2965cb845b42264c90fa5b54e48a7e582fa3f3a0fab7a864a5bcd03895f302562b37c412a9459dade2fbb6bbed3feb7944291dafa01118dddcc946cd317d752b87f6317ac7ee7447bfbc1b8b892498e18fb6594ca8a0f378be75a7615ecd74839e887c0f77a440b4be192d224325484d2479d89e5222a09ab72ae2b5bae5434dc3641d5c13d45fe9bbff9abbe1cd812815b67be2410ba5a08cde5555e94584642bddf2a9289e33b439fdafdfe3fa2c413c8a47e369921762a05455ee3639cae608bc81315c8795fb4696140f43f260cab31f782a6e410d51eba0f3f1e5bcfe98c9626c32fabab3d5190940a598214e809196f71c36f2b4d52bda80f90211a059e735fc7c606f81024267cdf81079299fd1364d261e0f4b2bd43bd22580b65ea0f504247083808c5c75fb3afb0ca8309041da199cd66c5589a98d932e416bcd20a030a4c090a243b0996ce3c3f2fcab9e6885da01f2ed5738713e1bdb9497313315a0f2c7a14bbd68b054268c041c778ebea4228c4694141d5e126167b4a3bf6cce25a0736703b7f09ce564f9f7d006184757b1b40988624a68f6a8f6008b0223741810a083e1e44783fe0f73620b56da9174de544ee2feb56c6322b2c0d79b27cb862814a08eec4a8d0bde6a20c6d42b7328e375545cbc73c800531fe3099559e9cf48cd57a0a1acefe7847283159b55ab03a17bfa6d3104a520330c79e45289350980d7ff23a0a1f55de56daf9b225a3c38782ed1f2576e662cb6d09dfe3f450646ea7789d341a0ac5a6523628c1d2a633a27439b3f3ab2c85f84e97f48310a63e76aee27d08ca9a0dfe701c573c432d5c7e0636d509af0ae040a09604b06e9c7595a0ae16f13481ba027bdf79e22712b2111a5ede3308f590e27222dbd18db366512f269392cbb852da02e7b7cc243219c76e25e038c063a0722d80819bc4aec8a3ef6fac6fc1b996395a0292af8ef362338da7bc2993ef0a8a82d4d2df3095da064631472d16abc472d29a0fb8e4f8c7613f88a1aced065197bd7fa39bed78ded37a761a301651a16d47daea02c7522ed81382adc0837242116beedbb6d0ba66151483af0370ecf470091e56580f90211a082ff627bf0f38ff31fe885aeb8986ba5aebfcb067a47f22d6044b30f7577dac1a02442b8dc79f6ac96b2e0c8b0405e50930184d55b1e25014c90beb4d8573851f9a06ad89c1c815bec0d984bbd190ee5d00657d05a963cfa34bd6488b5d7ca457698a01701615a46f26ced0620497ffe2785c476e4f24a63af51ef671192ad598366e2a00032959d31daa43087dd49dd37359350c3c28c1423998692c096a483c657d5f1a079cdef978d33c988c74d1b2069e6cf08c370687bd9526f605e7b4939d49d7052a01141a508a62cbe474267aa567b06a210f725dedef403c1089fd126a50bd3bba1a0687ee363d6bb566664f837a4068ea58800f4394514ded7ca74e9295880e8259ea0d9cc1d989bce5ef8a77bd545f1dbf9aeaac00cbac25101245d85dc3af7da6b3fa0dedaeb0630564ff68a7ff6e4dc7ba77830c96c70a00bd0ee2c66e5dd91fb199fa0993c1546abbf753eff524f835f0293c39b1f0f8bae831fbfb7a6a7468b6d0f63a005b505e0b0ef30f90cfe111420c8d9f91ad102204f6c8926dae9fbab724922fca02556b823b245d29e87ba070ff50bbfadc6ac15e6bb70ade7bde7db25426da669a063f9fdbc537bbb0493fa0ba311637b79027a3b864fc49cf8e241b85d47108fd5a0ca64786a8429f2ea6fde5a4bc36eb849b5f54397db56c03089733e3f5f78c7b9a056f355bd2995e5b296fc64b520bb228748c778c737b0fe9b524465b27d054dfc80f90211a05f93540f4317a4c6d8b73556a7ffdab6fcf0aa36af84b8c4bd2a3e7114e2da4ea05dd8c13b1b83485911f5e1185669f7d5559c260193a72e52597a3e80736c248ca03d50a67e8ec93696c35865d9f03814e95406c8d04e5decc320b9a24e5beee1baa0a928e2ea8773ba69dde5344d69069b237667dbaaa69e86133d4e444e432799b1a0c95d5749c2cae6185f60645dac23ec7e3c4392d091d19fbac1ec41b8e4c7a036a0762aeb8161d2b1b8a5ee51d1ede36f51cc2dad7e0c4d0ff097b89c831aff8c35a0957a8eaaac924688482d21a95b7a7f01889ab39a7a50d58efaaffa9e486ae071a0fa59d52ce31992709b7380abb4db6a33327763297b3c94791f348d886c7125faa08a831384faa68f9caa047a6200464e11cfe5f9f700a5ed9435e5241d9d2a501ca020630d0f41d1f38c61fc8d3fc6170f6f11fc52ade454930a3b5e4f4491b47467a06fba95fbb4882cb19b68a47253d7b9572d95f4f56516e78b896b4cc2bcf932bfa05fd40548cfae17d12e103db98572f22cdc8dd3ec670be570727a7ff68f6bce9fa032efe866f058f79ef06de75f682e10773576eb9fca3f950fda96ea9926784685a05c170d685d29417781f678b746174c7500e7c228b4bd71bcfe9f5421742a0b67a0c3fb71b77522f06c4a4e4cb7029e7faeb747b8e446460586ea0d5e9abae68cd9a03f2294bf8bea287c7afafde4b39aaa56716230ef425ece688f6a78fcadf5f49e80f9013180a0c2cb770a3d18eb1214a782cc81b79a7fd772716c2d050ef66011095c3774e8f7a08fc7d7da06fba7ffa69b095aae41147e3a55b89644682057cedab705ba7aefd5a05975b434f69398107a4d1729f8f56e75247df09c65b1a750797818607bf118df80a026cea4c13260b2a1dd74bb6fcc7cc36162d2856ce691a36165c633ba68f7b783a0f7b0c667509a4ce937c487b45bc53c0700543daf4f8c127fbe475b4e1084d2328080a0454eca3fcc32afd4c4000ccbb47732bbce342b1a9d374fb5872162f2c873625fa0b3e6c44579a731cc730a5472e83c6098fa2943e5b2c72f4475f0afea76848a87a03b8c951788b8c93366aedbf88f6c1ca6085cd0249025ce542f19294b40bb92f180a0910a16034638fe1058b69cdcd9eb004c2f21e1f4203e60ff09c4241a2047ab89808080e482000ea07b2632b8b97e159d88f112a8dd9d44df2f3c4502e0c79a29297ea7f61f41f311f851a030590b16841225b9590cdc95b19176201d442ca0b931c6e4314d20a1c772ea9ba052e8f9f247cd159c65b304863d444087f6a60d7dbec3a0e4fa09f007b5a1c64f808080808080808080808080808080f86c9c20120c458c4c09a9448628f84e81161b308d5c4041a3d3a1ea329d0eb84df84b0487400e8b4f1c9c00a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47022440bac492386862ad3df4b666bc096b0505bb694dab0bec348681af766751cb839576e9c515a09c8bffa30a46296ccc56612490eb480d03bf948e10005bbcc0421f90b3d4e22442465176c461afb316ebc773c61faee85a6515daa8a923564c6ffd37fb2fe9f118ef88092e8762c7addb526ab7eb1e772baef85181f892c731be0c1891a50e6b06262c81622442a7cdd959bfe8d9487b2a43b33565295a698f7e200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022442d4c407bbe49438ed859fe965b140dcf1aab71a993c1f7f6929d1fe2a17b4e14614ef9fc5bdc713d6631d675403fbeefac55611bf612700b1b65f4744861b80b0f7d6ab022443f349bbafec1551819b8be1efea2fc46ca749aa184248a459464eec1a21e7fc7b71a053d9644e9bb8da4853b8f872cd7c1d6b324bf1922829830646ceadfb658d3de009a224461dd481a114a2e761c554b641742c973867899d38a80967d39e406a0a9642d41e9007a27fc1150a267d143a9f786cd2b5eecbdcc4036273705225b956d5e2f8f5eb95d25224469c77a677c40c7fbea129d4b171a39b7a8ddabfab2317f59d86abfaf690850223d90e9e7593d91a29331dfc2f84d5adecc75fc39ecab4632c1b4400a3dd1e1298835bcca224470f657164e5b75689b64b7fd1fa275f334f28e1896a26afa1295da81418593bd12814463d9f6e45c36a0e47eb4cd3e5b6af29c41e2a3a5636430155a466e216585af3ba7224472b61c6014342d914470ec7ac2975be345796c2b81db0422a5fd08e40db1fc2368d2245e4b18b1d0b85c921aaaafd2e341760e29fc613edd39f71254614e2055c3287a5122447ae2f5b9e386cd1b50a4550696d957cb4900f03ab84f83ff2df44193496793b847f64e9d6db1b3953682bb95edd096eb1e69bbd357c200992ca78050d0cbe180cfaa018e22448b6c8fd93d6f4cea42bbb345dbc6f0dfdb5bec73a8a257074e82b881cfa06ef3eb4efeca060c2531359abd0eab8af1e3edfa2025fca464ac9c3fd123f6c24a0d788694852244a6f79b60359f141df90a0c745125b131caaffd12b772e180fbf38a051c97dabc8aaa0126a233a9e828cdafcc7422c4bb1f4030a56ba364c54103f26bad91508b5220b7412244b218c5d6af1f979ac42bc68d98a5a0d796c6ab01b659ad0fbd9f515893fdd740b29ba0772dbde9b4635921dd91bd2963a0fc855e31f6338f45b211c4e9dedb7f2eb09de72244be807dddb074639cd9fa61b47676c064fc50d62cb1f2c71577def3144fabeb75a8a1c8cb5b51d1d1b4a05eec67988b8685008baa17459ec425dbaebc852f496dc92196cd2244cc8e6d00c17eb431350c6c50d8b8f05176b90b11b3a3d4feb825ae9702711566df5dbf38e82add4dd1b573b95d2466fa6501ccb81e9d26a352b96150ccbf7b697fd0a4192244d1d6bf74282782b0b3eb1413c901d6ecf02e8e28939e8fb41b682372335be8070199ad3e8621d1743bcac4cc9d8f0f6e10f41e56461385c8eb5daac804fe3f2bca6ce7392244e2d3a739effcd3a99387d015e260eefac72ebea1956c470ddff48cb49300200b5f83497f3a3ccb3aeb83c5edd9818569038e61d197184f4aa6939ea5e9911e3e98ac6d212244e9ae3261a475a27bb1028f140bc2a7c843318afd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002244ea0a6e3c511bbd10f4519ece37dc24887e11b55db2d4c6283c44a1c7bd503aaba7666e9f0c830e0ff016c1c750a5e48757a713d0836b1cabfd5c281b1de3b77d1c1921832244ee226379db83cffc681495730c11fdde79ba4c0cae7bc6faa3f0cc3e6093b633fd7ee4f86970926958d0b7ec80437f936acf212b78f0cd095f4565fff144fd458d233a5b2244ef0274e31810c9df02f98fafde0f841f4e66a1cd98cbf822e4bc29f1701ac0350a3d042cd0756e9f74822c6481773ceb000641c51b870a996fe0f6a844510b1061f38cd0").to_vec(); - let height = 32075400; - let trusted_height = 32075399; - let current_validator_hash = - hex!("c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"); // empty validator set - let previous_validator_hash = - hex!("b0299bc3fb924a497af5fa224e795ffeddd8e71020849d3a3e3fbdac1ed2c743"); - let new_validators_hash = - hex!("4af89b921fa1bbac1199b809d9f3ec506b8719aae60f6dc31c03264c8a332307"); + let header = hex!("0a222f6962632e6c69676874636c69656e74732e7061726c69612e76312e48656164657212d3460ab2110aaf11f908aca00705d9b6ca31705a6c3d9e64ba854cc6ffd9dba493d6e4f6b8ff761371a8578aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493479469c77a677c40c7fbea129d4b171a39b7a8ddabfaa0397ac2e8ce7207e051a3d6e1c11c9917d01c60874c241255c3539efa05717861a0bf07da59757c37630bb44f4b70d59e28a199d83a0abc462ef4127e3089b6d492a0757af3d587ca4964f48083f98538c7363dac9687074efcfd2cca020eff1afe71b90100002a0344144c359d884482ccd810204a130cc006e4001c50790225280629719baab11ca920610a04ce59764e051ff3118997da18241a80210102449944233b89ecd1dcfb2544680e11d8030d9e045c6566580d851240b0268e049107920115a28c26843b8e6720b937458a8ca344a962884492ab008bd4004419443088702dc7a359e961830868f0409836858896c299c4647da5684cd44a231959c55890d5e063ad8a08a396d2105aa087242e30a5025820140143c2d312120234e15408a84ce520368f861d699e1120048dd2121029a2492bd003b84b7d259557362628f04836bfc8010fb461ad0b9c029e0c312b93952980a96264c2dc80652c45d801d8c8028401ea4d308408583b00837d50d68465153b9db906add98301020b846765746889676f312e31392e3132856c696e75780000b19df4a2150bac492386862ad3df4b666bc096b0505bb694dab0bec348681af766751cb839576e9c515a09c8bffa30a46296ccc56612490eb480d03bf948e10005bbcc0421f90b3d4e2465176c461afb316ebc773c61faee85a6515daa8a923564c6ffd37fb2fe9f118ef88092e8762c7addb526ab7eb1e772baef85181f892c731be0c1891a50e6b06262c816295e26495cef6f69dfa69911d9d8e4f3bbadb89b977cf58294f7239d515e15b24cfeb82494056cf691eaf729b165f32c9757c429dba5051155903067e56ebe3698678e912a7cdd959bfe8d9487b2a43b33565295a698f7e20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f349bbafec1551819b8be1efea2fc46ca749aa184248a459464eec1a21e7fc7b71a053d9644e9bb8da4853b8f872cd7c1d6b324bf1922829830646ceadfb658d3de009a61dd481a114a2e761c554b641742c973867899d38a80967d39e406a0a9642d41e9007a27fc1150a267d143a9f786cd2b5eecbdcc4036273705225b956d5e2f8f5eb95d2569c77a677c40c7fbea129d4b171a39b7a8ddabfab2317f59d86abfaf690850223d90e9e7593d91a29331dfc2f84d5adecc75fc39ecab4632c1b4400a3dd1e1298835bcca70f657164e5b75689b64b7fd1fa275f334f28e1896a26afa1295da81418593bd12814463d9f6e45c36a0e47eb4cd3e5b6af29c41e2a3a5636430155a466e216585af3ba772b61c6014342d914470ec7ac2975be345796c2b81db0422a5fd08e40db1fc2368d2245e4b18b1d0b85c921aaaafd2e341760e29fc613edd39f71254614e2055c3287a517ae2f5b9e386cd1b50a4550696d957cb4900f03ab84f83ff2df44193496793b847f64e9d6db1b3953682bb95edd096eb1e69bbd357c200992ca78050d0cbe180cfaa018e8b6c8fd93d6f4cea42bbb345dbc6f0dfdb5bec73a8a257074e82b881cfa06ef3eb4efeca060c2531359abd0eab8af1e3edfa2025fca464ac9c3fd123f6c24a0d78869485a6f79b60359f141df90a0c745125b131caaffd12b772e180fbf38a051c97dabc8aaa0126a233a9e828cdafcc7422c4bb1f4030a56ba364c54103f26bad91508b5220b741b218c5d6af1f979ac42bc68d98a5a0d796c6ab01b659ad0fbd9f515893fdd740b29ba0772dbde9b4635921dd91bd2963a0fc855e31f6338f45b211c4e9dedb7f2eb09de7be807dddb074639cd9fa61b47676c064fc50d62cb1f2c71577def3144fabeb75a8a1c8cb5b51d1d1b4a05eec67988b8685008baa17459ec425dbaebc852f496dc92196cdcc8e6d00c17eb431350c6c50d8b8f05176b90b11b3a3d4feb825ae9702711566df5dbf38e82add4dd1b573b95d2466fa6501ccb81e9d26a352b96150ccbf7b697fd0a419d1d6bf74282782b0b3eb1413c901d6ecf02e8e28939e8fb41b682372335be8070199ad3e8621d1743bcac4cc9d8f0f6e10f41e56461385c8eb5daac804fe3f2bca6ce739e2d3a739effcd3a99387d015e260eefac72ebea1956c470ddff48cb49300200b5f83497f3a3ccb3aeb83c5edd9818569038e61d197184f4aa6939ea5e9911e3e98ac6d21e9ae3261a475a27bb1028f140bc2a7c843318afd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ea0a6e3c511bbd10f4519ece37dc24887e11b55db2d4c6283c44a1c7bd503aaba7666e9f0c830e0ff016c1c750a5e48757a713d0836b1cabfd5c281b1de3b77d1c192183ee226379db83cffc681495730c11fdde79ba4c0cae7bc6faa3f0cc3e6093b633fd7ee4f86970926958d0b7ec80437f936acf212b78f0cd095f4565fff144fd458d233a5bef0274e31810c9df02f98fafde0f841f4e66a1cd98cbf822e4bc29f1701ac0350a3d042cd0756e9f74822c6481773ceb000641c51b870a996fe0f6a844510b1061f38cd0f8b5831fbfffb86096f790ad37894ffd35953cae42592d5551694e2e8771b63b8a2782c371e5f536a326643289e635ca982be2da0a85c0c411afac679ee27b998d6d09c91ef33979d54600fc28b71cd98b4567f8d11ba154ca496a76b26fc7f2f75cc39f0d4e1b56f84c8401ea4d2ea0f693c8c85ee7e089ae04dd0a33d52fe27688a6701fa99ba7df94f1a084ab9cb78401ea4d2fa00705d9b6ca31705a6c3d9e64ba854cc6ffd9dba493d6e4f6b8ff761371a8578a807b11d9c635ee317e2fbc2193734451f7a01887bf574a0920bec81d60618ee10272133bdd622310f4aec78682d2b2ebda7c25c1e3067609b6a728b52f594aa07300a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800a9e060a9b06f90318a0bb08d6dc051ed82b6b8080df66812eb535a2613e296b701f9f58069e733b3fe3a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493479470f657164e5b75689b64b7fd1fa275f334f28e18a0f3fbf6bddc9030204e59381f002372c2bfb32d8a3caa4cc73cea14017554b6c8a0c19f010aa87c66b53a6925b5d4e23bdf14889f928ff226d3cebca75a78a10ce7a014f653f28b84764f24c70a83b1b7667a85d15b4ed83c9df927167e57e23c66eeb9010000e303212e435cf670fb004f90d254548a4200009d808249d93b01b316634000868450c386cd60892b02a41a01b699048d24b59a160958885c5f8e804b2702a05f22ec063b4a02e0c180840e3d485e2d21d4b8606464bc866c96354d88828a24fca9b03a3e7e20ddb8930a003103584618388155b4352887e20d84d11240089c0a6ef0076219430a80817c0a8e01219904a4260d214f301821188de49d2624a526b2804026932138771428043f0c402191a107294009c095726930311c74b86aef29e45bb69ba8961c9686a3ca301122b1852386a4902215c333504a002be87946b0aac594c36188c3150052c2024146000f20ca4b7c45c8b20d33141a730565028401ea4d318408583b00840174bd348465153ba0b90118d88301020b846765746888676f312e31392e38856c696e7578000000b19df4a2f8b5831fbfffb86090ceb0e3ec47029b836f3f7262c96359d9458a742c433cb84341bb381e058614c2ad98153ad82e4db3f51b4e0e2223020d93a01d856f09f68d4024fef4a0f41b505b20c9be33dccfdfe02fd37bc10e972389acc0b4d5b9269cec3824fb79b053f84c8401ea4d2fa00705d9b6ca31705a6c3d9e64ba854cc6ffd9dba493d6e4f6b8ff761371a8578a8401ea4d30a0bb08d6dc051ed82b6b8080df66812eb535a2613e296b701f9f58069e733b3fe38025de50f01de98667d3c10b05f39dd05bdf65b5a1d97a5dd71cc5bff6ee261e4e20d33f639309291b750265a00e1a00639af72b0993e1a993529c198ce74507a701a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800a9d060a9a06f90317a08fc9cfe5fd28410cecd6138832714767b500522e561c9cb01af535a68269c9fea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493479472b61c6014342d914470ec7ac2975be345796c2ba04792014704f04c8bc3ba1017bf5b30fa8378c5497729fd3b5d865d9f61836103a0f68adfaf02168134f214a11f1e6a7d0a140b6f6fa217532a502987ffc91f1ddba06e3a31cbdf3dc43103d80f557977500e62da48605cc8348c86ae689de28cbf1cb90100016c42814c30915248c0a4418f7296534f41e3d58e99cdce457346f01580190fc892180a393490a1a302a21f50361b919d28505883cf44384917673110663ea12c8c77496961eca9039dc14bd5335135607b9c02bd4f2273acf6f358c4295139f028bdb3fa46a09855119450e480cd0c5e00e209880c046949246551826232d34ae63901861ad14c12e2970f30c47f8c94a65d87463a1c19032bd2e1d8884df5da703d4c728be001576874b58b5e1402e43982a88512998018301522d8c420402748f74f9818b98a19a80e46331218a0e1f3230c0048829f0550cb4272e0e0ca8e719e302f2850111f3c32d183c25143920ec138d071d16aa3a0ae58409960c8028401ea4d3284084fe2c683bf505a8465153ba3b90118d88301020b846765746888676f312e32302e35856c696e7578000000b19df4a2f8b5831fbfffb8608397a05ef5251b3671608b8470645187ac6dd7cd8fe6dfc77a40c6222cd64291860421b3fe56c14c452bfc9fe066a44611ac4bd25978548c86275dd0e5b9eecdd9a78d81e4da10fa02132e7a38a4fdcd9b1bb6041f4871ad5123a33ab3f81b94f84c8401ea4d30a0bb08d6dc051ed82b6b8080df66812eb535a2613e296b701f9f58069e733b3fe38401ea4d31a08fc9cfe5fd28410cecd6138832714767b500522e561c9cb01af535a68269c9fe808b2af80d8b1d44f57a9acf43d933b143e94e4ce779c9651fabd2715a9045337262a45b511bf335e38e0bf5667181d39012d796de99887ed861ab6e0ed4bca03700a0000000000000000000000000000000000000000000000000000000000000000088000000000000000080120510af9aa90f1a951df90e92f90211a04713a483109986d389a4e95426bcd65f33f3e232f2c065e7d040e0630251d0a3a003b170bb0f8230432c3b94a370477525004cc604fa76b006ed60e8a058e6cb3ba0efd31994b317925e436be3f12a78d6dbb2d3ee61a4ae29a9369e5fb49f75d32ca0677b99bd046fb297b85e27dced2db3658e4594bbae116ec18863096dce56a0aea06558e26e5f27659ecf1353a00f75065c4c9cd492b2e8eddf83df7a7a47d2a8e0a0c4af51d612ee2baa1e51f463bea96ba13a8e46fdfd787a8ae6ae698281f81217a0a71cd746289c046c72f4ebae3b55e92d910062889f923a797f798fabbe69edc0a0a0ad5eaa618be26e55494acc5e1e4928807bfdf69262bf9b8fd66d8f7f369cc8a03c6793ba378c5b06ed75829a21d9aff5edd0b011d9de4eaa1ef68eeb0e978ddba01104b1ac1e906f65d94ef9257ad7b11171795c419e954a90b75de6ca103fbc36a00e32a7e4953b34c7a21a579d4e4867292871210c7401e3835d6c00b3e46693f7a04c2a55faaccf97bbd9a0c755a33fa67f31fcb384c4dd190df20f9cf7c150536aa0d3faeac6bf4cd7d4096a27fd6d2c8f6c54dfd28a580e73f2dafdf4d212b81284a080eb2a896f05a31b6bc6348ec74b9e37a8088bad64202dc25e4003a6f79e504fa07ca9b7d18cde25bc06ce811c8bd22fea000752859a35c4d647e846952acf1445a0bca2ffd301d3f69c98ecf5047c7e3a8e1916c980c43741c7471231dfb63a105080f90211a0b2bc44bc337e7bfd76e0218d44fa16990dcdd3085cde8123c9c299c84c65d92da0b8d5a2447f5a71095618a60896443398a6a4166ecae6218fb5e00aabd7bde829a059c26d60d16f50e0cbfb6be0c4fccf73df3abe39739c6a70228dfcb0a337db1ca00fa45eefaf3396b0b6a3bea9b2591b99ccaace5d56bcc5f2e0a78d264a14debfa0d833377e72357048a1fbd1901988d471a1b3b6111b8bee29c8281f964fff5ca0a0ad3021d90182590b96cd0f560c6e2ac07b85c2c393a98f10d232751efa197055a0435cb3ab2cabded3ad989c72a6c31aed321ed6be4f75d787186f7b4c654bb508a0b1b069c75caadcac2e00530785514455d80be948a60f5c926dbcaf96fa39ffa4a0c95adaba6bb24cce808ee62828450b365cba3cdb5e1f9c9f3daa104ba1498e16a0ad46befad64ea12c9eda4fa395365c88c7f011ca58613606fa00cc7380036b49a0383d7ed79221de6e2cf6fa29e605cc61c0af36ee56499ef99feb7550637d8832a00831e11d1225b1e31f56f0d9da348a70365169c8227ba9061e94823f9a6913c5a0b375bfd36388e6352aaaa3d7ce6ce393cfa78ac4bd625ccbd010aa1b1708631aa0b387f7a759c459551b80f2fe83242f721948cfecd6b4e464da1deb2333733244a0f24518266dce58792079e1d7a40f5be3de64e36a253d2a78b03fd68fda41f500a0cc0f6f7b0ad0da8aac640ca0283f66a4475474be03c6808c4dec77bb9104fd0680f90211a02715dd34ece7945b8555e340e34784255acb6eed03f162538fadad1acd96f0f0a0b8dd0c30a090a6657d01133b973d72ad2bef2a6f84ed8ec0f678640b3be08539a0b73ef40d386e41e15d05323fa9f95a37bd4a609efa628e23ca350a4ce0458c52a0ac8eb7789ced17c9214977c5b9c3275cdbd70432950ad4baa5fe41753c8bd68aa0b8da885bd03916ee8009380f9e81dcdf32f1bb12ba7f279cc4b9fa82e975be74a0032f860437619166368a1ce0a842a99de3fb6bcda2cafa3534a099d84b2e29c2a0ff78de750b74fddc3d33b330df70253fdc47cd70b9a1ec3660f40e032e0af684a094df8ea321190c12be6f8a98f58cdf16415253e4c55107cf277b818ffa4fd79fa0849f2c8cf5293171145f0b69faea5aedc18e959cabfae7a8f25cdada0d6e8251a0d4bf1cf6462cc0d1a06734b13c1dee8d01732d9ab63b573788aa0ac037abc12da0def72c32cd84a8f47a9604a37748f5470ba1dc3bf22cd9bde13accb24a9da674a0b8f9ceb015d0f0ea1e1569bd752592f92ee18f9bbbaa34847a90205a2f8f55e8a0bf3100b16d6c95f4e4d427cadb83ed88dc9a63747cb02986199cc1e4c1416499a05acc66816be19656c6301757d043ae6934aaa9ba352da3d5d2b37fb44a5c4e68a015c50ccd7bfffc022550daa1367e6f1c4d03d083729bd183f61af7fe82ba7dbba003a2f656a7eeb73cccecdf1913a82e1166328fc4df915e6c39e3e6e064cf14ab80f90211a002c829e627561fa3154b3ec95b011bc1ea816f5d47ef1850d64d18f5ffd88cbea0aebeefea4c5f040ed4deef6ec92886eb77250cc193e586738356a4b05be10ceba0492c13661bd1a7983234f64c0926e50ed5479f4e2f26ee6ab51d1d333336a4a8a0384f5e5370cd739a195eb5aa8b1eac9fbd8ec1dcb86925f72b5e39851fbdac8aa049ffb67f5046e8517a8aa6c4afd34cf25174d703bec16c464a47ddef94a81e93a0136464920c0e9b3005083f770b56d5f86a30ac7f58fdc78a414e0605b5344ed2a08474f9894ea04fade44f1b00574d6cf9c5ea9b89821c2404ff8811b0756a9f27a03bd3740bd88722edcd68bdaa7da9d68eb13df8610dffef6e09e1ade84ac8eeaca0e6dc4f2672382b86b5d430e959cf183f7a2d4581e017e681d2c91502adfc4e59a0e570f005dd28c89db782d1e0dd68f0ea98a24324bc41daec16e5067ec1f8397da0c27f2ceb07543ff59fd64fe0b582bc05d2bbfc2669676bdf4348af0e37948d9ea0d2e0fb0566a7156109b709d0249f29e5dbb09c813bedc61dd51c10ec4f66d624a0597c2eef57aafcd1c73b3a641d0c77c51a055f4bfbdf07a72902fed2ecb94b97a0ef8f42b77054cb893bd2a710576c921bd1a680fb2023e4c56b94bf9e814a5545a06d1f808dfa8bd4ae4148f63a8ffbf672b3f44d07bda521f5b2a7b77de6827b99a0d6546b8f5187f15779bef449266e1ad1cdc2042543d2e975ce49062d87465c8a80f90211a0aa92d917d9f39bf6e807ba2f240ad1c89295e529256d6c1664e63a20d07dac5ca01132e6b559dc4fa87d8fe0faf0169a584e594a1bdfc7d9bdaf2b5284647dbba5a0d4365201efa0ae8d261e7b0b46890901dff48a1e88488af53e07d910b1539623a092b17ad714173ec4787f0b3b9d2dfa96680861e093b5121441ffcde64183d074a00aaf93e20c49c40fe6006d73bf9a6addb47cab73ea5df9b451ab6f4ff03fbb62a06ee9cd0ab79c83a96b33e61e1f466e498708cbbbca1c905d4cc0d7973858b96aa0fa8c99b3ae85eba3cc96fcf3bb337e87e7c9012fc5533b5413d7ca44c94bce82a0f9ee63d2c8e7ff4d30076036b87e11273d9b6843a35817534be0915020c7f87ea096c53d12d3b05f6820325ddfe9480a2faef13949ba60db8ff0667f91ff446d11a04d98297a896312d18da40240ed9a527f4c01c73edd3ea1f7c28338d1d863d97ca0e515381cf1ef9c897431a6e0dc3d4a550b1b970041dbdf894ee28e353b8ca12ea0ecde492e22ff7d9a1f89a17ca8268de6f99f08637427ea031accbe8e9360f1e7a003fc4e648aafdadd7a9fa7cb534103f08dc699413ecda22bda46898bfb792429a0b46a167c66b50c74227d03a68971e124fdd011d6c90f5a08f6fe30ae34de603ca02d5e9564a9e3e749109c834568a7bb13d52379f1aa9f7c50848e74e55f869a7ba08b21835c94138cbbfdd9f54562f0ed96dd7ea97bae467a35299368e214881b3280f90211a05f93540f4317a4c6d8b73556a7ffdab6fcf0aa36af84b8c4bd2a3e7114e2da4ea05dd8c13b1b83485911f5e1185669f7d5559c260193a72e52597a3e80736c248ca03d50a67e8ec93696c35865d9f03814e95406c8d04e5decc320b9a24e5beee1baa0a928e2ea8773ba69dde5344d69069b237667dbaaa69e86133d4e444e432799b1a0ebb2cbf0c3314ddf681f21a29fa17b320094684ba35e725bc36bbc407821cfa3a0762aeb8161d2b1b8a5ee51d1ede36f51cc2dad7e0c4d0ff097b89c831aff8c35a0957a8eaaac924688482d21a95b7a7f01889ab39a7a50d58efaaffa9e486ae071a046c10b0c15aa83973ea4b108f50bad2638941550fce7c9308c8b968abee271f8a08a831384faa68f9caa047a6200464e11cfe5f9f700a5ed9435e5241d9d2a501ca020630d0f41d1f38c61fc8d3fc6170f6f11fc52ade454930a3b5e4f4491b47467a04539a99793f29484fdbd39b606f27265499acb3c24461f48858655f07166f0dfa05fd40548cfae17d12e103db98572f22cdc8dd3ec670be570727a7ff68f6bce9fa032efe866f058f79ef06de75f682e10773576eb9fca3f950fda96ea9926784685a05c170d685d29417781f678b746174c7500e7c228b4bd71bcfe9f5421742a0b67a0c3fb71b77522f06c4a4e4cb7029e7faeb747b8e446460586ea0d5e9abae68cd9a03f2294bf8bea287c7afafde4b39aaa56716230ef425ece688f6a78fcadf5f49e80f9013180a0c2cb770a3d18eb1214a782cc81b79a7fd772716c2d050ef66011095c3774e8f7a08fc7d7da06fba7ffa69b095aae41147e3a55b89644682057cedab705ba7aefd5a05975b434f69398107a4d1729f8f56e75247df09c65b1a750797818607bf118df80a026cea4c13260b2a1dd74bb6fcc7cc36162d2856ce691a36165c633ba68f7b783a0f7b0c667509a4ce937c487b45bc53c0700543daf4f8c127fbe475b4e1084d2328080a0454eca3fcc32afd4c4000ccbb47732bbce342b1a9d374fb5872162f2c873625fa0b3e6c44579a731cc730a5472e83c6098fa2943e5b2c72f4475f0afea76848a87a03b8c951788b8c93366aedbf88f6c1ca6085cd0249025ce542f19294b40bb92f180a0a10cfa51ae290afebd64a5b530db7088fa0b02f22ce9b0838135b422b885dee5808080e482000ea07b2632b8b97e159d88f112a8dd9d44df2f3c4502e0c79a29297ea7f61f41f311f851a030590b16841225b9590cdc95b19176201d442ca0b931c6e4314d20a1c772ea9ba052e8f9f247cd159c65b304863d444087f6a60d7dbec3a0e4fa09f007b5a1c64f808080808080808080808080808080f86c9c20120c458c4c09a9448628f84e81161b308d5c4041a3d3a1ea329d0eb84df84b0487400e8b4f1c9c00a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47022440bac492386862ad3df4b666bc096b0505bb694dab0bec348681af766751cb839576e9c515a09c8bffa30a46296ccc56612490eb480d03bf948e10005bbcc0421f90b3d4e22442465176c461afb316ebc773c61faee85a6515daa8a923564c6ffd37fb2fe9f118ef88092e8762c7addb526ab7eb1e772baef85181f892c731be0c1891a50e6b06262c81622442d4c407bbe49438ed859fe965b140dcf1aab71a993c1f7f6929d1fe2a17b4e14614ef9fc5bdc713d6631d675403fbeefac55611bf612700b1b65f4744861b80b0f7d6ab0224435ebb5849518aff370ca25e19e1072cc1a9fabcaa7f3e2c0b4b16ad183c473bafe30a36e39fa4a143657e229cd23c77f8fbc8e4e4e241695dd3d248d1e51521eee66191422443f349bbafec1551819b8be1efea2fc46ca749aa184248a459464eec1a21e7fc7b71a053d9644e9bb8da4853b8f872cd7c1d6b324bf1922829830646ceadfb658d3de009a224461dd481a114a2e761c554b641742c973867899d38a80967d39e406a0a9642d41e9007a27fc1150a267d143a9f786cd2b5eecbdcc4036273705225b956d5e2f8f5eb95d25224469c77a677c40c7fbea129d4b171a39b7a8ddabfab2317f59d86abfaf690850223d90e9e7593d91a29331dfc2f84d5adecc75fc39ecab4632c1b4400a3dd1e1298835bcca224470f657164e5b75689b64b7fd1fa275f334f28e1896a26afa1295da81418593bd12814463d9f6e45c36a0e47eb4cd3e5b6af29c41e2a3a5636430155a466e216585af3ba7224472b61c6014342d914470ec7ac2975be345796c2b81db0422a5fd08e40db1fc2368d2245e4b18b1d0b85c921aaaafd2e341760e29fc613edd39f71254614e2055c3287a512244733fda7714a05960b7536330be4dbb135bef0ed6b0245c33bc556cfeb013cd3643b30dbdef6df61a0be3ba00cae104b3c587083852e28f8911689c7033f7021a8a1774c922447ae2f5b9e386cd1b50a4550696d957cb4900f03ab84f83ff2df44193496793b847f64e9d6db1b3953682bb95edd096eb1e69bbd357c200992ca78050d0cbe180cfaa018e22448b6c8fd93d6f4cea42bbb345dbc6f0dfdb5bec73a8a257074e82b881cfa06ef3eb4efeca060c2531359abd0eab8af1e3edfa2025fca464ac9c3fd123f6c24a0d788694852244a6f79b60359f141df90a0c745125b131caaffd12b772e180fbf38a051c97dabc8aaa0126a233a9e828cdafcc7422c4bb1f4030a56ba364c54103f26bad91508b5220b7412244b218c5d6af1f979ac42bc68d98a5a0d796c6ab01b659ad0fbd9f515893fdd740b29ba0772dbde9b4635921dd91bd2963a0fc855e31f6338f45b211c4e9dedb7f2eb09de72244b4dd66d7c2c7e57f628210187192fb89d4b99dd40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002244be807dddb074639cd9fa61b47676c064fc50d62cb1f2c71577def3144fabeb75a8a1c8cb5b51d1d1b4a05eec67988b8685008baa17459ec425dbaebc852f496dc92196cd2244cc8e6d00c17eb431350c6c50d8b8f05176b90b11b3a3d4feb825ae9702711566df5dbf38e82add4dd1b573b95d2466fa6501ccb81e9d26a352b96150ccbf7b697fd0a4192244d1d6bf74282782b0b3eb1413c901d6ecf02e8e28939e8fb41b682372335be8070199ad3e8621d1743bcac4cc9d8f0f6e10f41e56461385c8eb5daac804fe3f2bca6ce7392244e2d3a739effcd3a99387d015e260eefac72ebea1956c470ddff48cb49300200b5f83497f3a3ccb3aeb83c5edd9818569038e61d197184f4aa6939ea5e9911e3e98ac6d212244ea0a6e3c511bbd10f4519ece37dc24887e11b55db2d4c6283c44a1c7bd503aaba7666e9f0c830e0ff016c1c750a5e48757a713d0836b1cabfd5c281b1de3b77d1c1921832244ee226379db83cffc681495730c11fdde79ba4c0cae7bc6faa3f0cc3e6093b633fd7ee4f86970926958d0b7ec80437f936acf212b78f0cd095f4565fff144fd458d233a5b").to_vec(); + let height = 32132400; + let trusted_height = 32132399; + let trusted_current_validator_hash = + hex!("880933dd26eba6255d4f9b1c9320617e5cc16518f3bbbc220aaeb89ef369c93d"); // empty validator set + let trusted_previous_validator_hash = + hex!("7c0ea8823feb8e0fd957e278877c2a1a136ead93c139af33a6cbc0e1073b5198"); + let new_current_validator_hash = + hex!("68cb7028b64a594a53093461eb0abfb2979f488d6f14662f882ca814dbbc289e"); // empty validator set + let new_previous_validator_hash = + hex!("880933dd26eba6255d4f9b1c9320617e5cc16518f3bbbc220aaeb89ef369c93d"); do_test_success_update_client( header, height, trusted_height, - current_validator_hash, - new_validators_hash, - previous_validator_hash, + trusted_current_validator_hash, + trusted_previous_validator_hash, + new_current_validator_hash, + new_previous_validator_hash, ) } #[test] fn test_success_update_client_non_epoch() { - let header = hex!("0a222f6962632e6c69676874636c69656e74732e7061726c69612e76312e4865616465721284520a9d060a9a06f90317a0c7c01f6cba8aa49af0105daba5d8bdb8cff1db0341c53774835ca07461abaf0ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794d1d6bf74282782b0b3eb1413c901d6ecf02e8e28a0e95a0d37eb4cc1eb4dfa8e63a25db4d5701b2522773d7489e68d2763f3845bdea04ab7314366d8a215c2053793bff7d614ab7a1eba435cc17a429acab39a440941a0a2fff925b581f29606b17a0a1aeb71ef56ef8b0c85c71cfa2af1541242d2af90b9010043f61698aa0a769828d08cc5821fca60d034864195c8bb136d130553903071a79f8e7d79288e30a07a289627665e4edcce325d4ac76ac34d667ced270dab6cc225a40519cd638de019e150c97baac876bb308de96d5319e621c49d01840d5e50ac5a49673f0751addcd3c448f194ad438aa6a5538650c4e8632f2750009a25b3703f2c81a2b74077449a1f188d20181c00f494ed21ae18ecb903bf7194bf19b20a5ec81096b53972119861ec3a1e2e95c8a01a8c8811dba41d70a122c1ab90df7deeec3af0fbb417ba06400960997497635d8721b6a8933421b34acb71bba58c2035951592707d2ba514b3c9872793258c11ad9add6b86ca1b742ccb02ab053e028401e96e4384084fd22683d263178465129ca6b90118d88301020b846765746888676f312e32302e35856c696e7578000000b19df4a2f8b58315fffbb860a1faed72cdd39d319cef3ad299807ea7e0b87e6135e04549581d72612de7dc340d43124c7111113f97f34f7a33f441250abf6017c3e5024d5203b94fceb6aa54777f912c19ca3fcb634e2a129a53e5116b73e211b88373023b15c7c0b4064ba8f84c8401e96e41a02514ccc8e7d0b3ff1625fe8f873e74427c87bfda3c0924ecd1e5453789b0d0ef8401e96e42a0c7c01f6cba8aa49af0105daba5d8bdb8cff1db0341c53774835ca07461abaf0b801907ae11b7d42f76c886a355ac430c4390b6e8d3be40a28ead7d3e73d6fc32aa261d171c54f3ca91991804ecf7e658be6c0f6a1eb110e53947e4806f693a5bec00a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800a9d060a9a06f90317a0ade1bef95cd2f398d5a1549547dc5167c53cfdd638386101bc72c22df1c26496a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794e2d3a739effcd3a99387d015e260eefac72ebea1a00e2cda9be08134808256f2740667f5ef0dfe44c0225d701314e37ecc4759d24fa000fda08b048b49f32be740dd3e384c6d67cd3c1105c88a30f84ca3ba20b6bde5a03481f332cbdeb87d920e5b4e66fcb0489754c362e760cdf1190c2ead7ebe4301b9010026240a005266545c08186945832a28d080419e5084a02938fc0a87939903a1a2cbd352c7680a1001802019820e1e4bc288939e1a048a2240e5290990092522906c8c4c581dc42068014f448db841083ab6b80843032e014330fe1420caa422100a498c3afe720d24e8631090a17bed49aeac00da2e490a1b02018c1e4a1e2528aa0aed329bb8428b039076885200089dd23ca449310a64596080c0d4092d38a58a00050c1b0829a2ab4c41cc8b00815004832448220a0200c10810a12117022c258a261a4548ca9610b06842010050082590030184b8da3d095bd7ce3115ea8208b4a80912e15b70012d42a7c0d00b09c930692bc9b827618129ac50ea39a14a028401e96e4484085821f783951f3d8465129ca9b90118d88301020b846765746888676f312e31392e38856c696e7578000000b19df4a2f8b58315fffbb860a8bd399d904dc2910e26270ce84bf4a655589b32b2ca7a56ee557b91e8343d50534d286428ef804525160cc67842d0ac0ee7fbe19a16b91e363e6723f4482a2ee47ebb01eeb3461f5c15d6040414392975689bfb57ee861d1c745d5c43bc762bf84c8401e96e42a0c7c01f6cba8aa49af0105daba5d8bdb8cff1db0341c53774835ca07461abaf0b8401e96e43a0ade1bef95cd2f398d5a1549547dc5167c53cfdd638386101bc72c22df1c2649680762dfb30ff5d4c9b9373bdbd0eb88247200c2eb844f4d6b5c248516eab2b949f049b2156cc01230709a4f96931fba4a7a15383479ebed8cfe0b3110c3e07700301a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800ae6040ae304f90260a08a1b2fb1ec526cca217afa0973eee552c4107c202072976351ae5cd7ba4c92a2a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794e9ae3261a475a27bb1028f140bc2a7c843318afda04aea7a9a81f2fe53944cfb40e74401819e87c11c0d5bd1465031806d54a46db1a096f1b9c2b04e5897eb35230dcfef6c060b8937657b2f071535341a126ec88fc9a00c0c20b83cbc2995d06051089e91aa1c2b42681dba542dc45a296904bf532cf4b90100fdffa7f722eafdfeef1dfeffba1caef6ddfceacfa55f8dfeb93f57c23655b137e574b8e0ff9237b9d32ebf3a963fa7fcda8ef5ad2683fbf7dfb4f5d69bfe77ee9cd5eeff9bd5fe7543b9bfafbd7fdefdfdba77fda9669d9abdfee759b2efff4f8fddf6bfffcf5fbaf459a67ef1faab0db9feaddbbeccf45febfe9f7fbfeccab37fca1a6c3fde2dd7c6ceb6189e543cbfb4e6d5ede97e7eeffdbdaf7d6be1bf37df649b7df3bf9ffeff4ccf54bffed4fe99f33efcfcb2ad4b34fc85abf4da6ed6e5efffdef1e59fdfd2f42db4cac73f7be7d7e7f2effcd7f7b73fd4fe0f0ff5543b7da22f39e9e955bb6d727be5ba5fbcfbfeeffb5f76877b6faa2f4fbf2979b8028401e96e458408583b0084019e1bae8465129cacb861d88301020a846765746888676f312e32302e35856c696e7578000000b19df4a259f9bc6d0e00b23f6cb14d8755e4e99cf30daa94bdda2fa6651e455be66b089c052916b402aee3951790eb32ba464725e73fd685e07fe4dfe1095f8ebd18120a00a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800a9d060a9a06f90317a06e2895a82d0bcf4163f9cdf09289c53de332dccc691cde7a75e10dea9f55547ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ea0a6e3c511bbd10f4519ece37dc24887e11b55da0dbd61c2bc08b5c05b260eae68af5c9e11859dc6c3c00bf1a3b84f60151b010fba01e8d7c7e60376cbf78a18ec080e44f46d19acc60d17b4e7b876d67ea9465fe0ba08c823455e8d54319e4be72115253bac786fe1a53d53d223a8b1275e8c5492dbbb9010012f482041ab21ffdca0496f48b0a1d189780a7c305896a492b2be102160605b1861a517052479011c329b6625d34ae81e9c39e1e1b0a9827a19038dc5335aaa21515b650a9114f20a183b53ded21c7fd29f4a5e809729920a79d2413a3a13f409aa9d46fcf569c2c5e69097c8939ab383f178e798069d569ae7fee11c2a290bd441aaca10770108e10882c96102a5f38d0254f9fb23328b8f1ab9046b9d2dcac07f16008b3937512241a104e4b8404f2049faf9d40dac10236b200e881f1397126aa847f3262084e00f2c4173a76311af2ce3f8683480055811256ee4128ec642b94a80b11ecd7c42135325e990101042dab040323bbe459c3222c08ca29749a028401e96e468408583b0083e729b78465129cafb90118d88301020b846765746888676f312e31392e38856c696e7578000000b19df4a2f8b58315fffbb8608cedda6ee3f1daec19b21665c33fd506d66226801f6b52e1b767126bd46ec2763fb3bd29fe90b27b555b87e749ebd56c1065d69eb12f9e3b2d12c366e7d564c5c0d1342b1199328eb48c7a4b03b51e03dc4ba4b9e98dd55ae1997f3775e8c7d1f84c8401e96e43a0ade1bef95cd2f398d5a1549547dc5167c53cfdd638386101bc72c22df1c264968401e96e45a06e2895a82d0bcf4163f9cdf09289c53de332dccc691cde7a75e10dea9f55547b80f00fc225dca94174f11d47fdbcd0c459d395b516b45ff3438ff1c1ebc74df0627c1e9f6a4c003d0ebf2bdbfe31fb9405a05deb79a824a748da302c999d8ee90e00a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800a9d060a9a06f90317a0ed58856865140e0c80c2ade0853bc732b5eb3e13fe5b974fa92cd73cb9583f09a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ee226379db83cffc681495730c11fdde79ba4c0ca0ca689d5a9513f2b1c391c547b7bd6213bd1bdac60340fe149adc30bb6713e6ffa062fa5710aba3e06a088bcbcb066db6ede82a4fa31ddee13582550f7ba69d0f7aa083492edb9ade01599d58fafe75bc2c41aec1c1a295c97d2aa1ff47d220feb395b901009c7b2eaf234e74d8d4759edf8a4f6563da61415087d84e78237d011410c54b16e74c1067488d72075272a862541733d2fd9a7ada821810506510b51398368296e54514816f44e0217349871a0b98e36effb729afbefc09c710f4414f82aa4f91effd1d23ce1f103e5f2f9be09b3fa9f5ba4997df8cdc0f2883b5ec9b9bbcccbeef1bb6665bc7fbdab0a96404dc30099c922c0e6d7996be18b925e74eddee94300671a09057b7fe031e6c75feba7617d8c58f8fc996d634b0dfed0a3318fee29f25b81e7e514ddf1e5c8b09c38acf94b8e6cef6cad698df7c5112460a7604f5d4b619ec6937287513515d425a7ae83b4a53325cbedbf5c7eb8ed81925eb6d49e9028401e96e478408583b0083f97f758465129cb2b90118d88301020a846765746888676f312e32302e34856c696e7578000000b19df4a2f8b5831dfffbb8608fe3deb962839d1ebfe179eeb5b84e9ca1e26a41a7cc22af519ac09b5d7f365caecb5597edd870f5b37ccf5d41ea2ee908e85b1f8abd351ede45b64b6fa8d7c73d3de393e294c3150c77545a3cfebb711a66121492ee91a970b84b94db6a86a9f84c8401e96e45a06e2895a82d0bcf4163f9cdf09289c53de332dccc691cde7a75e10dea9f55547b8401e96e46a0ed58856865140e0c80c2ade0853bc732b5eb3e13fe5b974fa92cd73cb9583f0980ee6127616270a5bfb96d7fd9fe659bd175b7ea566e73236480fa14d216cfaf386b88dc2ae873c0c3fb9229b69908f410c541941e5f3e12ffbee8aad4dc6d9c6101a0000000000000000000000000000000000000000000000000000000000000000088000000000000000080120510c2dca50f1a951df90e92f90211a071036fca551d76014a8cfb2517b27bfeb50af39f9848b988e584b69567dcd68ca00ca52a79b81082e5a749035f4632bab422fa6cac98880f287a681f0a9a055f2ba05cccc202dc62e18e9810117e5968ed62059539a06e0d652c663c72696d95644da0a0a90f210d2a6c3c0d061c53fa674b062365976ef309bc1699612adc5bbada16a0193ea1b464a461f801dab00f09dc6c212262d2ea14f8efc8f0202beb33911e42a022b35cb8aab83e13d438f2e893f839837aacf8106eec0f3ab970744b47bb2973a0d2769bef6ab7f2f5737f5169544538d4a1e9bb5e2d616bb89db7083bf2d01f9ea0bb51b3f2c1d982ba3f5ff7d950eb19567cfae256026df168e6105ef6f9e3cec3a02be16e833fd90ccbfe75cb0779521646ca355042154c9c71ab60c309b17abb1ca00a21b0f5123f97c640d64c4cdd60643c8570388b628f044c748cee172da0ef90a0df100b364ba11f53fe70a638f6e2f11377c4cb5d0d68b10283697013a1b75d75a0402a1d0041fa6f160da0ae90dba76fd67e169d0af71c663dd1ff9ec3f07849a6a00182e1fc3ebfab78b814e86d02a53cb234824164da7790433e146c91a09d18f9a033f2a91e8fcabdc0b3074f3ffc6973d952e7496204322fcbde90a180d74d252ca00dd182a6dea8a68a722df65e2833f5e2ae4d32b9fd695b11f9fdcef8faecb64ea0b7e05d15a93a36b37a516f8dd0200795ce1f68d513221dfdf313b942ffbf970580f90211a03f9d52a95b981e04b741b1ce20e4c057e314bb414421f528f4d7124b0827d7a7a06c74b9e389645256f4212f16711ed79de83a8d14c6973dcd58c881a51e37cf6ba074ee7dce41352a9fab04c55941cdaf19960a76de3851fcf5b3f7e0df4d7247a4a0663442f671f8ea896673b18f661864ee29ed58bd2d4888cc25aee20b97be914da0ff7aa125cbe4c2f9bcf0daa0f9ff0554cdae63539a7950333012f323c7d4fe1ea017a366a0db477a13d751d8e90380340f3678885424c67e545557eae01eb1419aa0f5afa01830ca7318d6b77e8d32fed31890c364686a386719badecccf9cf992efa0b228de725f75477ebd0f9e160198928eb1806df08a3d3b9a021d1b5928eb0b34a0496018599233663a78e5d2efcc91505cba192eb0f1f1b4ae1a641c92fb41039ea0357e6f9f59c0d0c9097472ec6e31b69bf8adac721846967edb116f635394e1a9a035eba52de9c6edcb139d9b2d338b1744dc625596c28a492cca20d6a0c6c15315a0c780eec1c17befdc798edafcb926bd6904f4f481c9e8bd234fc7ce907d0b8066a077e1855a8314c74ed483073eb7be9c3ff958ade86f1e6fa2e9dd4a2f113981aea074cf7dec6f746898f166722b2668364ce14a046a92f4b8aca5fa80e28e29e97aa0fb811d0c9c12506566d8344a56239de93c053f8af35dec5d68d494349c242878a071f45bc5fd19d1654ecbba8fb45936e1520ef1149d68b785d7b344d799329cee80f90211a00a4e80813a844097d5c8a7185a0f98cccfbba4ae6dd1e3fe9b55c43b7c185215a0ccb8ac75ac2ad9532812b7838abf7d329a3cabcbb94b8bb57047384faa190e05a0a8c9dafff7f0481545dcec96e9bf74d867310e4bdbc20eb6cab06f3935a87db4a0b96c76691c40b96ce62ad0a5d873e445618342e5cd3e552525b4631663cba539a0f18cc4183abb56fb2ee0af115b5c7ca0f793d509bcfe17a67388a0d64b35dfd4a0ac0bbd3fbbfa7e0b443d2016bc6e2ab8f9db19ac2b202490b087deefe6add4d4a0879b6ab0eab16ae1f692d760bcd335f27acd9511085da0a964c9cc7e0ff3726ca0504231b13d9e689ee6443b748bc064f2b9c476a9273cec7414fb188129d9fc3ca0f5878054c115f1bf75082923c666307488b5f2f09483cdc965a6c47453bbd0c4a083c40b810f0baf96e1ab064ce1149875239b97e2a44caed647342bb742d92f1fa0570856a4f58dc693f78a9c6148f6704891863b6e366024e2deb6720c65ee9105a0f378be75a7615ecd74839e887c0f77a440b4be192d224325484d2479d89e5222a09ab72ae2b5bae5434dc3641d5c13d45fe9bbff9abbe1cd812815b67be2410ba5a010c5e1f8aeae61858f924d520993e1f59130c6265fb9608bf273b00f7f23a4d2a0c06d05ca06fa0f1dcae478de9685a2eabf2e1c35adf03518560199634f3ad4a2a0b173918c492ffeadff8987fcb6d64e698806005a1395075945e7a10c375fcba280f90211a059e735fc7c606f81024267cdf81079299fd1364d261e0f4b2bd43bd22580b65ea0f504247083808c5c75fb3afb0ca8309041da199cd66c5589a98d932e416bcd20a030a4c090a243b0996ce3c3f2fcab9e6885da01f2ed5738713e1bdb9497313315a0f2c7a14bbd68b054268c041c778ebea4228c4694141d5e126167b4a3bf6cce25a0736703b7f09ce564f9f7d006184757b1b40988624a68f6a8f6008b0223741810a083e1e44783fe0f73620b56da9174de544ee2feb56c6322b2c0d79b27cb862814a08eec4a8d0bde6a20c6d42b7328e375545cbc73c800531fe3099559e9cf48cd57a0a1acefe7847283159b55ab03a17bfa6d3104a520330c79e45289350980d7ff23a0a1f55de56daf9b225a3c38782ed1f2576e662cb6d09dfe3f450646ea7789d341a0ac5a6523628c1d2a633a27439b3f3ab2c85f84e97f48310a63e76aee27d08ca9a0dfe701c573c432d5c7e0636d509af0ae040a09604b06e9c7595a0ae16f13481ba027bdf79e22712b2111a5ede3308f590e27222dbd18db366512f269392cbb852da02e7b7cc243219c76e25e038c063a0722d80819bc4aec8a3ef6fac6fc1b996395a0292af8ef362338da7bc2993ef0a8a82d4d2df3095da064631472d16abc472d29a0fb8e4f8c7613f88a1aced065197bd7fa39bed78ded37a761a301651a16d47daea0c5bbb7a42ce7e8bd07cd6ae51a6ff79b25260f446aad86e17bd44f1d6b538edd80f90211a082ff627bf0f38ff31fe885aeb8986ba5aebfcb067a47f22d6044b30f7577dac1a02442b8dc79f6ac96b2e0c8b0405e50930184d55b1e25014c90beb4d8573851f9a06ad89c1c815bec0d984bbd190ee5d00657d05a963cfa34bd6488b5d7ca457698a01701615a46f26ced0620497ffe2785c476e4f24a63af51ef671192ad598366e2a00032959d31daa43087dd49dd37359350c3c28c1423998692c096a483c657d5f1a079cdef978d33c988c74d1b2069e6cf08c370687bd9526f605e7b4939d49d7052a01141a508a62cbe474267aa567b06a210f725dedef403c1089fd126a50bd3bba1a0687ee363d6bb566664f837a4068ea58800f4394514ded7ca74e9295880e8259ea0d9cc1d989bce5ef8a77bd545f1dbf9aeaac00cbac25101245d85dc3af7da6b3fa0dedaeb0630564ff68a7ff6e4dc7ba77830c96c70a00bd0ee2c66e5dd91fb199fa0993c1546abbf753eff524f835f0293c39b1f0f8bae831fbfb7a6a7468b6d0f63a005b505e0b0ef30f90cfe111420c8d9f91ad102204f6c8926dae9fbab724922fca02556b823b245d29e87ba070ff50bbfadc6ac15e6bb70ade7bde7db25426da669a063f9fdbc537bbb0493fa0ba311637b79027a3b864fc49cf8e241b85d47108fd5a0ca64786a8429f2ea6fde5a4bc36eb849b5f54397db56c03089733e3f5f78c7b9a056f355bd2995e5b296fc64b520bb228748c778c737b0fe9b524465b27d054dfc80f90211a05f93540f4317a4c6d8b73556a7ffdab6fcf0aa36af84b8c4bd2a3e7114e2da4ea05dd8c13b1b83485911f5e1185669f7d5559c260193a72e52597a3e80736c248ca03d50a67e8ec93696c35865d9f03814e95406c8d04e5decc320b9a24e5beee1baa0a928e2ea8773ba69dde5344d69069b237667dbaaa69e86133d4e444e432799b1a0c95d5749c2cae6185f60645dac23ec7e3c4392d091d19fbac1ec41b8e4c7a036a0762aeb8161d2b1b8a5ee51d1ede36f51cc2dad7e0c4d0ff097b89c831aff8c35a0957a8eaaac924688482d21a95b7a7f01889ab39a7a50d58efaaffa9e486ae071a0fa59d52ce31992709b7380abb4db6a33327763297b3c94791f348d886c7125faa08a831384faa68f9caa047a6200464e11cfe5f9f700a5ed9435e5241d9d2a501ca020630d0f41d1f38c61fc8d3fc6170f6f11fc52ade454930a3b5e4f4491b47467a06fba95fbb4882cb19b68a47253d7b9572d95f4f56516e78b896b4cc2bcf932bfa05fd40548cfae17d12e103db98572f22cdc8dd3ec670be570727a7ff68f6bce9fa032efe866f058f79ef06de75f682e10773576eb9fca3f950fda96ea9926784685a05c170d685d29417781f678b746174c7500e7c228b4bd71bcfe9f5421742a0b67a0c3fb71b77522f06c4a4e4cb7029e7faeb747b8e446460586ea0d5e9abae68cd9a03f2294bf8bea287c7afafde4b39aaa56716230ef425ece688f6a78fcadf5f49e80f9013180a0c2cb770a3d18eb1214a782cc81b79a7fd772716c2d050ef66011095c3774e8f7a08fc7d7da06fba7ffa69b095aae41147e3a55b89644682057cedab705ba7aefd5a05975b434f69398107a4d1729f8f56e75247df09c65b1a750797818607bf118df80a026cea4c13260b2a1dd74bb6fcc7cc36162d2856ce691a36165c633ba68f7b783a0f7b0c667509a4ce937c487b45bc53c0700543daf4f8c127fbe475b4e1084d2328080a0454eca3fcc32afd4c4000ccbb47732bbce342b1a9d374fb5872162f2c873625fa0b3e6c44579a731cc730a5472e83c6098fa2943e5b2c72f4475f0afea76848a87a03b8c951788b8c93366aedbf88f6c1ca6085cd0249025ce542f19294b40bb92f180a0910a16034638fe1058b69cdcd9eb004c2f21e1f4203e60ff09c4241a2047ab89808080e482000ea07b2632b8b97e159d88f112a8dd9d44df2f3c4502e0c79a29297ea7f61f41f311f851a030590b16841225b9590cdc95b19176201d442ca0b931c6e4314d20a1c772ea9ba052e8f9f247cd159c65b304863d444087f6a60d7dbec3a0e4fa09f007b5a1c64f808080808080808080808080808080f86c9c20120c458c4c09a9448628f84e81161b308d5c4041a3d3a1ea329d0eb84df84b0487400e8b4f1c9c00a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47022440bac492386862ad3df4b666bc096b0505bb694dab0bec348681af766751cb839576e9c515a09c8bffa30a46296ccc56612490eb480d03bf948e10005bbcc0421f90b3d4e22442465176c461afb316ebc773c61faee85a6515daa8a923564c6ffd37fb2fe9f118ef88092e8762c7addb526ab7eb1e772baef85181f892c731be0c1891a50e6b06262c81622442a7cdd959bfe8d9487b2a43b33565295a698f7e200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022442d4c407bbe49438ed859fe965b140dcf1aab71a993c1f7f6929d1fe2a17b4e14614ef9fc5bdc713d6631d675403fbeefac55611bf612700b1b65f4744861b80b0f7d6ab022443f349bbafec1551819b8be1efea2fc46ca749aa184248a459464eec1a21e7fc7b71a053d9644e9bb8da4853b8f872cd7c1d6b324bf1922829830646ceadfb658d3de009a224461dd481a114a2e761c554b641742c973867899d38a80967d39e406a0a9642d41e9007a27fc1150a267d143a9f786cd2b5eecbdcc4036273705225b956d5e2f8f5eb95d25224470f657164e5b75689b64b7fd1fa275f334f28e1896a26afa1295da81418593bd12814463d9f6e45c36a0e47eb4cd3e5b6af29c41e2a3a5636430155a466e216585af3ba7224472b61c6014342d914470ec7ac2975be345796c2b81db0422a5fd08e40db1fc2368d2245e4b18b1d0b85c921aaaafd2e341760e29fc613edd39f71254614e2055c3287a5122447ae2f5b9e386cd1b50a4550696d957cb4900f03ab84f83ff2df44193496793b847f64e9d6db1b3953682bb95edd096eb1e69bbd357c200992ca78050d0cbe180cfaa018e22448b6c8fd93d6f4cea42bbb345dbc6f0dfdb5bec73a8a257074e82b881cfa06ef3eb4efeca060c2531359abd0eab8af1e3edfa2025fca464ac9c3fd123f6c24a0d7886948522449bb832254baf4e8b4cc26bd2b52b31389b56e98bab764a39ff81dad720d5691b852898041a3842e09ecbac8025812d51b32223d8420e6ae51a01582220a10f7722de67c12244b4dd66d7c2c7e57f628210187192fb89d4b99dd40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002244b8f7166496996a7da21cf1f1b04d9b3e26a3d0778974616fe8ab950a3cded19b1d16ff49c97bf5af65154b3b097d5523eb213f3d35fc5c57e7276c7f2d83be87ebfdcdf92244be807dddb074639cd9fa61b47676c064fc50d62cb1f2c71577def3144fabeb75a8a1c8cb5b51d1d1b4a05eec67988b8685008baa17459ec425dbaebc852f496dc92196cd2244cc8e6d00c17eb431350c6c50d8b8f05176b90b11b3a3d4feb825ae9702711566df5dbf38e82add4dd1b573b95d2466fa6501ccb81e9d26a352b96150ccbf7b697fd0a4192244d1d6bf74282782b0b3eb1413c901d6ecf02e8e28939e8fb41b682372335be8070199ad3e8621d1743bcac4cc9d8f0f6e10f41e56461385c8eb5daac804fe3f2bca6ce7392244e2d3a739effcd3a99387d015e260eefac72ebea1956c470ddff48cb49300200b5f83497f3a3ccb3aeb83c5edd9818569038e61d197184f4aa6939ea5e9911e3e98ac6d212244e9ae3261a475a27bb1028f140bc2a7c843318afd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002244ea0a6e3c511bbd10f4519ece37dc24887e11b55db2d4c6283c44a1c7bd503aaba7666e9f0c830e0ff016c1c750a5e48757a713d0836b1cabfd5c281b1de3b77d1c1921832244ee226379db83cffc681495730c11fdde79ba4c0cae7bc6faa3f0cc3e6093b633fd7ee4f86970926958d0b7ec80437f936acf212b78f0cd095f4565fff144fd458d233a5b2244ef0274e31810c9df02f98fafde0f841f4e66a1cd98cbf822e4bc29f1701ac0350a3d042cd0756e9f74822c6481773ceb000641c51b870a996fe0f6a844510b1061f38cd02a440bac492386862ad3df4b666bc096b0505bb694dab0bec348681af766751cb839576e9c515a09c8bffa30a46296ccc56612490eb480d03bf948e10005bbcc0421f90b3d4e2a442465176c461afb316ebc773c61faee85a6515daa8a923564c6ffd37fb2fe9f118ef88092e8762c7addb526ab7eb1e772baef85181f892c731be0c1891a50e6b06262c8162a442a7cdd959bfe8d9487b2a43b33565295a698f7e20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a442d4c407bbe49438ed859fe965b140dcf1aab71a993c1f7f6929d1fe2a17b4e14614ef9fc5bdc713d6631d675403fbeefac55611bf612700b1b65f4744861b80b0f7d6ab02a443f349bbafec1551819b8be1efea2fc46ca749aa184248a459464eec1a21e7fc7b71a053d9644e9bb8da4853b8f872cd7c1d6b324bf1922829830646ceadfb658d3de009a2a4461dd481a114a2e761c554b641742c973867899d38a80967d39e406a0a9642d41e9007a27fc1150a267d143a9f786cd2b5eecbdcc4036273705225b956d5e2f8f5eb95d252a4469c77a677c40c7fbea129d4b171a39b7a8ddabfab2317f59d86abfaf690850223d90e9e7593d91a29331dfc2f84d5adecc75fc39ecab4632c1b4400a3dd1e1298835bcca2a4470f657164e5b75689b64b7fd1fa275f334f28e1896a26afa1295da81418593bd12814463d9f6e45c36a0e47eb4cd3e5b6af29c41e2a3a5636430155a466e216585af3ba72a4472b61c6014342d914470ec7ac2975be345796c2b81db0422a5fd08e40db1fc2368d2245e4b18b1d0b85c921aaaafd2e341760e29fc613edd39f71254614e2055c3287a512a447ae2f5b9e386cd1b50a4550696d957cb4900f03ab84f83ff2df44193496793b847f64e9d6db1b3953682bb95edd096eb1e69bbd357c200992ca78050d0cbe180cfaa018e2a448b6c8fd93d6f4cea42bbb345dbc6f0dfdb5bec73a8a257074e82b881cfa06ef3eb4efeca060c2531359abd0eab8af1e3edfa2025fca464ac9c3fd123f6c24a0d788694852a44a6f79b60359f141df90a0c745125b131caaffd12b772e180fbf38a051c97dabc8aaa0126a233a9e828cdafcc7422c4bb1f4030a56ba364c54103f26bad91508b5220b7412a44b218c5d6af1f979ac42bc68d98a5a0d796c6ab01b659ad0fbd9f515893fdd740b29ba0772dbde9b4635921dd91bd2963a0fc855e31f6338f45b211c4e9dedb7f2eb09de72a44be807dddb074639cd9fa61b47676c064fc50d62cb1f2c71577def3144fabeb75a8a1c8cb5b51d1d1b4a05eec67988b8685008baa17459ec425dbaebc852f496dc92196cd2a44cc8e6d00c17eb431350c6c50d8b8f05176b90b11b3a3d4feb825ae9702711566df5dbf38e82add4dd1b573b95d2466fa6501ccb81e9d26a352b96150ccbf7b697fd0a4192a44d1d6bf74282782b0b3eb1413c901d6ecf02e8e28939e8fb41b682372335be8070199ad3e8621d1743bcac4cc9d8f0f6e10f41e56461385c8eb5daac804fe3f2bca6ce7392a44e2d3a739effcd3a99387d015e260eefac72ebea1956c470ddff48cb49300200b5f83497f3a3ccb3aeb83c5edd9818569038e61d197184f4aa6939ea5e9911e3e98ac6d212a44e9ae3261a475a27bb1028f140bc2a7c843318afd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a44ea0a6e3c511bbd10f4519ece37dc24887e11b55db2d4c6283c44a1c7bd503aaba7666e9f0c830e0ff016c1c750a5e48757a713d0836b1cabfd5c281b1de3b77d1c1921832a44ee226379db83cffc681495730c11fdde79ba4c0cae7bc6faa3f0cc3e6093b633fd7ee4f86970926958d0b7ec80437f936acf212b78f0cd095f4565fff144fd458d233a5b2a44ef0274e31810c9df02f98fafde0f841f4e66a1cd98cbf822e4bc29f1701ac0350a3d042cd0756e9f74822c6481773ceb000641c51b870a996fe0f6a844510b1061f38cd0").to_vec(); - let height = 32075331; - let trusted_height = 32075330; - let current_validator_hash = - hex!("b0299bc3fb924a497af5fa224e795ffeddd8e71020849d3a3e3fbdac1ed2c743"); - let previous_validator_hash = - hex!("36c22009156634746c09820947a6f98f7d1b599873c76906b386330eab26c083"); - let new_validators_hash = keccak_256_vec(&[]); + let header = hex!("0a222f6962632e6c69676874636c69656e74732e7061726c69612e76312e48656164657212fb460a9d060a9a06f90317a0f5fb5621602256b40fdd7d600233e492e28a8e7f8cebe002912c7e4332e7e466a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794e9ae3261a475a27bb1028f140bc2a7c843318afda058873f1157e9d58f5e8fa2996a9d59a27866bfaf56c3f895977bdc6d8ca311eba06c70d5c2008f915246077ba75a7a5184377ab6cd0aa0f6ca8454ac458be19d9fa0e484c2a76c6d6406503f92fddeb362e17f7dba59dc1742eec5d1123de68650ecb901002a63a2c419c35d16491c8057a566888af320f7c0dd8a982b79530113930aaa99874131646f8cb075462832f99f7e60f7e1195d1cc4af736271589055996fe2e614c0d448c36598d8637fc08aa1516879adbc41b37a5749691a169d4b856c2420625f8a7a4e1e8849c0ff764085c8af13890a34fb2891cc7e605594707a5844507eadb1646e03122846c375121e9b480d143e2e07ed90962a17af00f2c101786b23b68286f21f4b10350c63cccf2a3e3374e76a8e0d98510404c22a6241ce1908f5a2578242102b2691e8caffce2357a4a15672e618fdae9f631af5166eb4e978f674a13817fbbd82273d43826227c5c44c2c34236cbac7d162fb8d723a09049d028401ea4dce8408583b0083bfb9278465153d77b90118d88301020a846765746888676f312e32302e35856c696e7578000000b19df4a2f8b5831dffd7b860af48432dd32cffc38bbf4ce4ddeb2697812099622b360cf37b5b203be558f5ab28bce4c472050bdde4fc7b7fec5a7cf701806ff3fd39f363f516ad92b8dd38972454414a097ad39b20a94a16fb6ba72f011fc15b56da1d6525641b950d2beb9ef84c8401ea4dcca0bb9c3ffe1643ac13021ec62c1bc1f5031ad095e96cc7785d8b822ef3cdd8ef408401ea4dcda0f5fb5621602256b40fdd7d600233e492e28a8e7f8cebe002912c7e4332e7e46680835481cec538c438251b9278aa35689b9dfb25ac169c2dde1e6cdbff420737c3510b7b54d22e702384ee483f9d77ef11190b9c09e822234b5b8e6d56bc7fbdd601a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800a9d060a9a06f90317a08c5026b118984d8469b193b2e44993a742a1fc0dee23e1f032cfc53549082c82a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ea0a6e3c511bbd10f4519ece37dc24887e11b55da0883c14ea5b0077ae6f9abfd4dc226470b1c8b276558757983cca097305d5a8e1a03e1cd24b436b81881cff6cfd02a0615c286acfc7a8002afdd885340501505dc2a09f9287a377e013600cbb8d68751ee31f132245dd5f355712160aa406b5d2deadb901004662425a820015ab025a4060906d28c301146260981c1528793a013ad51804a09628dbe040c418010a38b881a61e329328010092002a500ad80c48c0012638b854496c2025642d002932980920283d2a3d568d30075c291f000e8404960188402abe092b422ea80720450810830d0d613b0c4053020344457424a411422a046152e1a10004b3047484882401cc92108110246c8deb6670cee56810e8946488363e8294a656a84302355002040a4a1422fc68100905204184c003a6e631c63808e2007d060082dd1710e0208290841d21aa4227ce02701596441570468726f26b9478880100834010197507236a219902e94845e8200e48048f038600998a1090028401ea4dcf8408583b0083861cff8465153d7ab90118d88301020b846765746888676f312e31392e38856c696e7578000000b19df4a2f8b5831dfff7b8608522891a4ca0ec4cc9c3afb759c076f441e3126cb0097315fb6c8930f6c630e4ff294959d7ab2c19434691ce30938c6e0373f12c7332fff2f6c47267c450a1981d89958a28cd4a45799d49f655cc4664b2ca1a80c7f754f16fea79c076579f94f84c8401ea4dcda0f5fb5621602256b40fdd7d600233e492e28a8e7f8cebe002912c7e4332e7e4668401ea4dcea08c5026b118984d8469b193b2e44993a742a1fc0dee23e1f032cfc53549082c82808acc45039ffea5ccb1bc7ed83879656b21ad07fba9ad4061a14e6ab0effe428f450ba438b0dd3babd5aca8bcf440e3bec74afe12a147574b342cdfa95b043dfc00a00000000000000000000000000000000000000000000000000000000000000000880000000000000000800a9d060a9a06f90317a055c23ffad7c3ddefd581ccf26d9f3ff06b391506e3ef4c5401eec0639c545826a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794ee226379db83cffc681495730c11fdde79ba4c0ca07fe87e32a2c82d020598b082beed5c027b2c2f36fc01ff20d705351980e6f475a028d15a5ba2ac95142bb49e238c59b0517dcc352eb1aa2d7a7e20820d68a580a3a0f80b0d4dc0b2908bc64ed3f488496b7e4ef03c25658a584b1e5f43e42472717eb90100062192a087977b3d8a0c0a7790547c617384f54c9a8218c8237e55b2de079282bd80117212e42020aa5336ea705a26c5b7d18d9684ee71a96468e4856227a6304ea29d7b8fc00d9931b18d18abcd5a3e641a887c93e4693ea6ef7413b2b65911ac2a3b7c4a0eae1da9ff10bcb918eb034aaf3c473a84cc0ae210bc5127198637c6be650510bbfa6fa5c93d2489d65c2cd076c6fda16a47eb2520f8ff88e4217f16dd632523ae0866778f67475365e7c0f4b8d3a105c4928f58311ee8e55f8bd33cac4e12a349c79bc2b10296db261104bc86d147d003581751906c5ea626e44d2e99940651e36a3003052f4ac59149a8b7aa450b3fbc4878a94027544a5fcdf8028401ea4dd08408583b0083eb89ca8465153d7db90118d88301020a846765746888676f312e32302e34856c696e7578000000b19df4a2f8b5831dfff7b86091e4a9ea9858f38ea2f42d4953fa604b4da8d11aa0aaae70a8ba948fef35b9be0cacf4025fcdaadbc01b1694cf0dd744153b9b30f32ce3baef15f1429b907e1fd0566556797739d32ea0efc2651d86e097052a9c98c11d6d5618fd65c7cca96af84c8401ea4dcea08c5026b118984d8469b193b2e44993a742a1fc0dee23e1f032cfc53549082c828401ea4dcfa055c23ffad7c3ddefd581ccf26d9f3ff06b391506e3ef4c5401eec0639c545826807db22fcd9e0a69e58bb080a8d02a343f282c5763bd63aa15221b6a24fa06cc7e1e9f984749afef9b51802ad2bd788b771ba052878920be581af5fe0e64d4633500a0000000000000000000000000000000000000000000000000000000000000000088000000000000000080120510cd9ba90f1a951df90e92f90211a09c4ef726cfa7f9f4094ed0fa9be2e0673c9dbd76461b7f42eb65c5114964edd4a0932212422fa4b93a84cce76f84f61c636ad8d81df0324d1d00ed9153cd058b6ca042c47f499d5abbdd9340d07416274f12696ca7382c6359321f337d373b561f05a043337b5bff6b4934ac86a793aebd99fc5dcc79749c57f0ebaf3c9b6a5a647a9aa05c8a9f8fce33d90757db319d14c4e5e2b839564fab3f27f694129128d0a52ca4a0ab06e30df9a7240ca6923a6e4fd5dd0d840a1a4c1723b8819aec93a9f4312ef7a0ca6cb4ca5d02a5e91688603de6f13b0e3c219f9a2ca6b81b6f90779884f38a50a094ba47d00e71873eae12ce3616a4aae5e2d10f31fc89f08e8953b7dca7c7d81ca0a3eee641d71ede3bacf494774a4c18b6faad3032bc7fb1a11d30f6fffc0936b2a0b7579d6f23961f400a5dcbe971f9ababa69272dbebaebc0748d7fb002117f251a0109840c8bcf4dcc1f4d44aac6e180b24789d0ab66fcb6d0398a593c0c3981aa5a031ea2a49b061edee052cba551456ab3b7415eff7c6972c7e7bc78c4c7b6bc3fda006618ab2fe0c859ec14da253c57881dd3a6f1a0314d66a75f7a660d22c1e8789a02548d2be01aaa4f810b5ffa414cdc10d7e3795db8b181ca07166d3cf2ad7b700a0126660828148de6844177c8a06d2c6faf74a3806c2e8fdaba52a30fd292062d2a0395bda03e22bc05d30275ef4d164beebaefe9a2f99dfd03d6bc9452f322fc8e980f90211a0062dcff912ea75c4155dec0348a8e6f8c9f04b7809ef699403acc525ce9fa599a05303dbb6dc97db005341c542ba6ab0c041796a8fce04db83fb350fe6f13506aea0c1e7e349d269abd368be49604bcf88fb35e297302112d28540140492095402dca0540b9d78a711f6f5007d5e08b404b9bf587f90717d5ff90d0e2bee1722f27013a0ef0e5a1a70ac76acc84af42ece6a1917358c73dfc87bfdc6d6e19a700be75441a089b14b3752fa5ebcf3f9165e51aee5add775dbaa7d2b8c57b0a7fb59a4ce750ca0fadee6eec24ec6af9a0e8eee34600bcb1a3cbc70694fbdc7fb697a92c25a4d4ea0b97f08c27451e6daf0412d98b42b0be746e0cfdce65d17f7f4618fe9f70d24d0a09b32501413eecf6d7d32a33a14b7d527fcee3b7a917aa92ba76e603243588fc4a02cb60342d4bbbebdbf3400de81527f25af2a20b519108b14d7d8fee71fe0483ea02b0c3806b9c53c1abb5887f9642448540417e61a7ac8918e13ca6fd6a04f78c1a0725b58ffb557a1641f0c08f268dfdbf8e3ad4636b764f7199a7e680400c2382aa07b51590b882bc36e36c99443e7a45a965cc6a7029c994156d2adccc6bdac92c5a0bbee0ceee6abe0cc725c8c8064f415d9fb730260360965beb967ba263d0684fca0d4a13d93b6f64475c986534d23a934571df5c4d9ac39bcb6778ae4b24da03490a0aa377677045c86d617187134cedd0a2cbfebe26427887601aa490bfe0e33585880f90211a0422f861ed84851cd8f71194b1d5e83c9e5e0d31786dbb442ee798617e6463c77a00465af1421235785b140a9f28f15b7fdd38d8cc95c3f6f553ba173aa7d5d8a99a0521c1390d9953783ed955acd4b5ea7aee1019de4538700f566fcfc6ac88d0541a0f504cc9423ac45e9ca8beee07a9e809679e3a05333204816f6bc40233bd3fa75a0a96b795fcf817794b48784bf61dbb5942ad310c89932b49bf761be041be45a33a0d5cdc8111f6780dfd353cb51856c17d611f5745f21d8e327b6dd5ffbc9779d67a0d613c4892d5e977a99ac6ee0c97735db529df9536516c255d623ebc4dd41623fa0442b2cc122239b290d819f5c8ab58c16a350c7a0b4db457439ae1513f947096ca0381b2c5a5626d406fadf957bc7b8f7c356b8708849d6b3df2210ae9f266b7568a01447d6fad1a02d13225639a0b4993898ff94f66b812f2c43458bab96cff55e9fa0286410d81dd789cc1c96b9169a4ccb3c42a8bcf8542e36b7a7a38bfb84dc4bc0a0b76b4389bc07a72ad65a37d96bee081ac9182993aa005ddd5501d907a29e6405a064a5d0cf645c3de06a7a32a5cccccb8b39ac8cc9f990aa83b19119acc099fa72a0dd73acd26feb256286d3653e3ad491f63f559e602f6ac0798932a0c4bb19649ca05b294b23201ec6deff386a093d057698701d997f92ab0cb10c5971fcf98208a9a07af3b4bde8f18b5694e2571187c520b67fb11dd6e628df89ee31655e2f65504a80f90211a002c829e627561fa3154b3ec95b011bc1ea816f5d47ef1850d64d18f5ffd88cbea0aebeefea4c5f040ed4deef6ec92886eb77250cc193e586738356a4b05be10ceba0492c13661bd1a7983234f64c0926e50ed5479f4e2f26ee6ab51d1d333336a4a8a0384f5e5370cd739a195eb5aa8b1eac9fbd8ec1dcb86925f72b5e39851fbdac8aa049ffb67f5046e8517a8aa6c4afd34cf25174d703bec16c464a47ddef94a81e93a03435b5fa32dae9bd9c831f27fd9315a12ddb452e9d14524d3adc1d0119b08644a08474f9894ea04fade44f1b00574d6cf9c5ea9b89821c2404ff8811b0756a9f27a03bd3740bd88722edcd68bdaa7da9d68eb13df8610dffef6e09e1ade84ac8eeaca0e6dc4f2672382b86b5d430e959cf183f7a2d4581e017e681d2c91502adfc4e59a05166472f539138139c2de909a10df951a366d848d16cd0b30c1ac1b5303c0ac3a0c27f2ceb07543ff59fd64fe0b582bc05d2bbfc2669676bdf4348af0e37948d9ea0d2e0fb0566a7156109b709d0249f29e5dbb09c813bedc61dd51c10ec4f66d624a0597c2eef57aafcd1c73b3a641d0c77c51a055f4bfbdf07a72902fed2ecb94b97a0ef8f42b77054cb893bd2a710576c921bd1a680fb2023e4c56b94bf9e814a5545a06d1f808dfa8bd4ae4148f63a8ffbf672b3f44d07bda521f5b2a7b77de6827b99a0d6546b8f5187f15779bef449266e1ad1cdc2042543d2e975ce49062d87465c8a80f90211a0aa92d917d9f39bf6e807ba2f240ad1c89295e529256d6c1664e63a20d07dac5ca01132e6b559dc4fa87d8fe0faf0169a584e594a1bdfc7d9bdaf2b5284647dbba5a0d4365201efa0ae8d261e7b0b46890901dff48a1e88488af53e07d910b1539623a092b17ad714173ec4787f0b3b9d2dfa96680861e093b5121441ffcde64183d074a00aaf93e20c49c40fe6006d73bf9a6addb47cab73ea5df9b451ab6f4ff03fbb62a06ee9cd0ab79c83a96b33e61e1f466e498708cbbbca1c905d4cc0d7973858b96aa0fa8c99b3ae85eba3cc96fcf3bb337e87e7c9012fc5533b5413d7ca44c94bce82a0f9ee63d2c8e7ff4d30076036b87e11273d9b6843a35817534be0915020c7f87ea096c53d12d3b05f6820325ddfe9480a2faef13949ba60db8ff0667f91ff446d11a04d98297a896312d18da40240ed9a527f4c01c73edd3ea1f7c28338d1d863d97ca0e515381cf1ef9c897431a6e0dc3d4a550b1b970041dbdf894ee28e353b8ca12ea0ecde492e22ff7d9a1f89a17ca8268de6f99f08637427ea031accbe8e9360f1e7a003fc4e648aafdadd7a9fa7cb534103f08dc699413ecda22bda46898bfb792429a0b46a167c66b50c74227d03a68971e124fdd011d6c90f5a08f6fe30ae34de603ca02d5e9564a9e3e749109c834568a7bb13d52379f1aa9f7c50848e74e55f869a7ba08b21835c94138cbbfdd9f54562f0ed96dd7ea97bae467a35299368e214881b3280f90211a05f93540f4317a4c6d8b73556a7ffdab6fcf0aa36af84b8c4bd2a3e7114e2da4ea05dd8c13b1b83485911f5e1185669f7d5559c260193a72e52597a3e80736c248ca03d50a67e8ec93696c35865d9f03814e95406c8d04e5decc320b9a24e5beee1baa0a928e2ea8773ba69dde5344d69069b237667dbaaa69e86133d4e444e432799b1a0ebb2cbf0c3314ddf681f21a29fa17b320094684ba35e725bc36bbc407821cfa3a0762aeb8161d2b1b8a5ee51d1ede36f51cc2dad7e0c4d0ff097b89c831aff8c35a0957a8eaaac924688482d21a95b7a7f01889ab39a7a50d58efaaffa9e486ae071a046c10b0c15aa83973ea4b108f50bad2638941550fce7c9308c8b968abee271f8a08a831384faa68f9caa047a6200464e11cfe5f9f700a5ed9435e5241d9d2a501ca020630d0f41d1f38c61fc8d3fc6170f6f11fc52ade454930a3b5e4f4491b47467a04539a99793f29484fdbd39b606f27265499acb3c24461f48858655f07166f0dfa05fd40548cfae17d12e103db98572f22cdc8dd3ec670be570727a7ff68f6bce9fa032efe866f058f79ef06de75f682e10773576eb9fca3f950fda96ea9926784685a05c170d685d29417781f678b746174c7500e7c228b4bd71bcfe9f5421742a0b67a0c3fb71b77522f06c4a4e4cb7029e7faeb747b8e446460586ea0d5e9abae68cd9a03f2294bf8bea287c7afafde4b39aaa56716230ef425ece688f6a78fcadf5f49e80f9013180a0c2cb770a3d18eb1214a782cc81b79a7fd772716c2d050ef66011095c3774e8f7a08fc7d7da06fba7ffa69b095aae41147e3a55b89644682057cedab705ba7aefd5a05975b434f69398107a4d1729f8f56e75247df09c65b1a750797818607bf118df80a026cea4c13260b2a1dd74bb6fcc7cc36162d2856ce691a36165c633ba68f7b783a0f7b0c667509a4ce937c487b45bc53c0700543daf4f8c127fbe475b4e1084d2328080a0454eca3fcc32afd4c4000ccbb47732bbce342b1a9d374fb5872162f2c873625fa0b3e6c44579a731cc730a5472e83c6098fa2943e5b2c72f4475f0afea76848a87a03b8c951788b8c93366aedbf88f6c1ca6085cd0249025ce542f19294b40bb92f180a0a10cfa51ae290afebd64a5b530db7088fa0b02f22ce9b0838135b422b885dee5808080e482000ea07b2632b8b97e159d88f112a8dd9d44df2f3c4502e0c79a29297ea7f61f41f311f851a030590b16841225b9590cdc95b19176201d442ca0b931c6e4314d20a1c772ea9ba052e8f9f247cd159c65b304863d444087f6a60d7dbec3a0e4fa09f007b5a1c64f808080808080808080808080808080f86c9c20120c458c4c09a9448628f84e81161b308d5c4041a3d3a1ea329d0eb84df84b0487400e8b4f1c9c00a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47022440bac492386862ad3df4b666bc096b0505bb694dab0bec348681af766751cb839576e9c515a09c8bffa30a46296ccc56612490eb480d03bf948e10005bbcc0421f90b3d4e22442465176c461afb316ebc773c61faee85a6515daa8a923564c6ffd37fb2fe9f118ef88092e8762c7addb526ab7eb1e772baef85181f892c731be0c1891a50e6b06262c81622442d4c407bbe49438ed859fe965b140dcf1aab71a993c1f7f6929d1fe2a17b4e14614ef9fc5bdc713d6631d675403fbeefac55611bf612700b1b65f4744861b80b0f7d6ab0224435ebb5849518aff370ca25e19e1072cc1a9fabcaa7f3e2c0b4b16ad183c473bafe30a36e39fa4a143657e229cd23c77f8fbc8e4e4e241695dd3d248d1e51521eee66191422443f349bbafec1551819b8be1efea2fc46ca749aa184248a459464eec1a21e7fc7b71a053d9644e9bb8da4853b8f872cd7c1d6b324bf1922829830646ceadfb658d3de009a224461dd481a114a2e761c554b641742c973867899d38a80967d39e406a0a9642d41e9007a27fc1150a267d143a9f786cd2b5eecbdcc4036273705225b956d5e2f8f5eb95d25224469c77a677c40c7fbea129d4b171a39b7a8ddabfab2317f59d86abfaf690850223d90e9e7593d91a29331dfc2f84d5adecc75fc39ecab4632c1b4400a3dd1e1298835bcca224470f657164e5b75689b64b7fd1fa275f334f28e1896a26afa1295da81418593bd12814463d9f6e45c36a0e47eb4cd3e5b6af29c41e2a3a5636430155a466e216585af3ba7224472b61c6014342d914470ec7ac2975be345796c2b81db0422a5fd08e40db1fc2368d2245e4b18b1d0b85c921aaaafd2e341760e29fc613edd39f71254614e2055c3287a512244733fda7714a05960b7536330be4dbb135bef0ed6b0245c33bc556cfeb013cd3643b30dbdef6df61a0be3ba00cae104b3c587083852e28f8911689c7033f7021a8a1774c922447ae2f5b9e386cd1b50a4550696d957cb4900f03ab84f83ff2df44193496793b847f64e9d6db1b3953682bb95edd096eb1e69bbd357c200992ca78050d0cbe180cfaa018e22448b6c8fd93d6f4cea42bbb345dbc6f0dfdb5bec73a8a257074e82b881cfa06ef3eb4efeca060c2531359abd0eab8af1e3edfa2025fca464ac9c3fd123f6c24a0d788694852244a6f79b60359f141df90a0c745125b131caaffd12b772e180fbf38a051c97dabc8aaa0126a233a9e828cdafcc7422c4bb1f4030a56ba364c54103f26bad91508b5220b7412244b218c5d6af1f979ac42bc68d98a5a0d796c6ab01b659ad0fbd9f515893fdd740b29ba0772dbde9b4635921dd91bd2963a0fc855e31f6338f45b211c4e9dedb7f2eb09de72244b4dd66d7c2c7e57f628210187192fb89d4b99dd40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002244be807dddb074639cd9fa61b47676c064fc50d62cb1f2c71577def3144fabeb75a8a1c8cb5b51d1d1b4a05eec67988b8685008baa17459ec425dbaebc852f496dc92196cd2244cc8e6d00c17eb431350c6c50d8b8f05176b90b11b3a3d4feb825ae9702711566df5dbf38e82add4dd1b573b95d2466fa6501ccb81e9d26a352b96150ccbf7b697fd0a4192244d1d6bf74282782b0b3eb1413c901d6ecf02e8e28939e8fb41b682372335be8070199ad3e8621d1743bcac4cc9d8f0f6e10f41e56461385c8eb5daac804fe3f2bca6ce7392244e2d3a739effcd3a99387d015e260eefac72ebea1956c470ddff48cb49300200b5f83497f3a3ccb3aeb83c5edd9818569038e61d197184f4aa6939ea5e9911e3e98ac6d212244ea0a6e3c511bbd10f4519ece37dc24887e11b55db2d4c6283c44a1c7bd503aaba7666e9f0c830e0ff016c1c750a5e48757a713d0836b1cabfd5c281b1de3b77d1c1921832244ee226379db83cffc681495730c11fdde79ba4c0cae7bc6faa3f0cc3e6093b633fd7ee4f86970926958d0b7ec80437f936acf212b78f0cd095f4565fff144fd458d233a5b2a440bac492386862ad3df4b666bc096b0505bb694dab0bec348681af766751cb839576e9c515a09c8bffa30a46296ccc56612490eb480d03bf948e10005bbcc0421f90b3d4e2a442465176c461afb316ebc773c61faee85a6515daa8a923564c6ffd37fb2fe9f118ef88092e8762c7addb526ab7eb1e772baef85181f892c731be0c1891a50e6b06262c8162a44295e26495cef6f69dfa69911d9d8e4f3bbadb89b977cf58294f7239d515e15b24cfeb82494056cf691eaf729b165f32c9757c429dba5051155903067e56ebe3698678e912a442a7cdd959bfe8d9487b2a43b33565295a698f7e20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a443f349bbafec1551819b8be1efea2fc46ca749aa184248a459464eec1a21e7fc7b71a053d9644e9bb8da4853b8f872cd7c1d6b324bf1922829830646ceadfb658d3de009a2a4461dd481a114a2e761c554b641742c973867899d38a80967d39e406a0a9642d41e9007a27fc1150a267d143a9f786cd2b5eecbdcc4036273705225b956d5e2f8f5eb95d252a4469c77a677c40c7fbea129d4b171a39b7a8ddabfab2317f59d86abfaf690850223d90e9e7593d91a29331dfc2f84d5adecc75fc39ecab4632c1b4400a3dd1e1298835bcca2a4470f657164e5b75689b64b7fd1fa275f334f28e1896a26afa1295da81418593bd12814463d9f6e45c36a0e47eb4cd3e5b6af29c41e2a3a5636430155a466e216585af3ba72a4472b61c6014342d914470ec7ac2975be345796c2b81db0422a5fd08e40db1fc2368d2245e4b18b1d0b85c921aaaafd2e341760e29fc613edd39f71254614e2055c3287a512a447ae2f5b9e386cd1b50a4550696d957cb4900f03ab84f83ff2df44193496793b847f64e9d6db1b3953682bb95edd096eb1e69bbd357c200992ca78050d0cbe180cfaa018e2a448b6c8fd93d6f4cea42bbb345dbc6f0dfdb5bec73a8a257074e82b881cfa06ef3eb4efeca060c2531359abd0eab8af1e3edfa2025fca464ac9c3fd123f6c24a0d788694852a44a6f79b60359f141df90a0c745125b131caaffd12b772e180fbf38a051c97dabc8aaa0126a233a9e828cdafcc7422c4bb1f4030a56ba364c54103f26bad91508b5220b7412a44b218c5d6af1f979ac42bc68d98a5a0d796c6ab01b659ad0fbd9f515893fdd740b29ba0772dbde9b4635921dd91bd2963a0fc855e31f6338f45b211c4e9dedb7f2eb09de72a44be807dddb074639cd9fa61b47676c064fc50d62cb1f2c71577def3144fabeb75a8a1c8cb5b51d1d1b4a05eec67988b8685008baa17459ec425dbaebc852f496dc92196cd2a44cc8e6d00c17eb431350c6c50d8b8f05176b90b11b3a3d4feb825ae9702711566df5dbf38e82add4dd1b573b95d2466fa6501ccb81e9d26a352b96150ccbf7b697fd0a4192a44d1d6bf74282782b0b3eb1413c901d6ecf02e8e28939e8fb41b682372335be8070199ad3e8621d1743bcac4cc9d8f0f6e10f41e56461385c8eb5daac804fe3f2bca6ce7392a44e2d3a739effcd3a99387d015e260eefac72ebea1956c470ddff48cb49300200b5f83497f3a3ccb3aeb83c5edd9818569038e61d197184f4aa6939ea5e9911e3e98ac6d212a44e9ae3261a475a27bb1028f140bc2a7c843318afd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a44ea0a6e3c511bbd10f4519ece37dc24887e11b55db2d4c6283c44a1c7bd503aaba7666e9f0c830e0ff016c1c750a5e48757a713d0836b1cabfd5c281b1de3b77d1c1921832a44ee226379db83cffc681495730c11fdde79ba4c0cae7bc6faa3f0cc3e6093b633fd7ee4f86970926958d0b7ec80437f936acf212b78f0cd095f4565fff144fd458d233a5b2a44ef0274e31810c9df02f98fafde0f841f4e66a1cd98cbf822e4bc29f1701ac0350a3d042cd0756e9f74822c6481773ceb000641c51b870a996fe0f6a844510b1061f38cd0").to_vec(); + let height = 32132558; + let trusted_height = 32132557; + let trusted_current_validator_hash = + hex!("68cb7028b64a594a53093461eb0abfb2979f488d6f14662f882ca814dbbc289e"); + let trusted_previous_validator_hash = + hex!("880933dd26eba6255d4f9b1c9320617e5cc16518f3bbbc220aaeb89ef369c93d"); + let new_current_validator_hash = trusted_current_validator_hash; + let new_previous_validator_hash = trusted_previous_validator_hash; do_test_success_update_client( header, height, trusted_height, - current_validator_hash, - new_validators_hash, - previous_validator_hash, + trusted_current_validator_hash, + trusted_previous_validator_hash, + new_current_validator_hash, + new_previous_validator_hash, ) } @@ -502,9 +509,10 @@ mod test { header: Vec, height: u64, trusted_height: u64, - current_validator_hash: Hash, - new_validators_hash: Hash, - previous_validator_hash: Hash, + trusted_current_validator_hash: Hash, + trusted_previous_validator_hash: Hash, + new_current_validator_hash: Hash, + new_previous_validator_hash: Hash, ) { let any: Any = header.try_into().unwrap(); let header = Header::try_from(any.clone()).unwrap(); @@ -513,8 +521,8 @@ mod test { let client_id = ClientId::new(&client.client_type(), 1).unwrap(); let mut mock_consensus_state = BTreeMap::new(); let trusted_cs = ConsensusState { - current_validators_hash: current_validator_hash, - previous_validators_hash: previous_validator_hash, + current_validators_hash: trusted_current_validator_hash, + previous_validators_hash: trusted_previous_validator_hash, ..Default::default() }; mock_consensus_state.insert(Height::new(0, trusted_height), trusted_cs.clone()); @@ -542,7 +550,11 @@ mod test { assert_eq!(new_consensus_state.timestamp, header.timestamp().unwrap()); assert_eq!( new_consensus_state.current_validators_hash, - new_validators_hash + new_current_validator_hash + ); + assert_eq!( + new_consensus_state.previous_validators_hash, + new_previous_validator_hash ); match &data.commitment { Commitment::UpdateClient(data) => { diff --git a/light-client/src/client_state.rs b/light-client/src/client_state.rs index 9e40ec6..20b6746 100644 --- a/light-client/src/client_state.rs +++ b/light-client/src/client_state.rs @@ -269,15 +269,15 @@ mod test { #[test] fn test_try_from_any() { - let relayer_client_state_protobuf = hex!("0a272f6962632e6c69676874636c69656e74732e7061726c69612e76312e436c69656e745374617465124b08381214151f3951fa218cac426edfe078fa9e5c6dcea5001a200000000000000000000000000000000000000000000000000000000000000000220510a9ba900f2a020864320410c0843d").to_vec(); - let any: Any = relayer_client_state_protobuf.try_into().unwrap(); - let cs: ClientState = any.try_into().unwrap(); + let cs = hex!("0a272f6962632e6c69676874636c69656e74732e7061726c69612e76312e436c69656e745374617465124d08381214151f3951fa218cac426edfe078fa9e5c6dcea5001a200000000000000000000000000000000000000000000000000000000000000000220510af9da90f2a040880a305320410c0843d").to_vec(); + let cs: Any = cs.try_into().unwrap(); + let cs: ClientState = cs.try_into().unwrap(); assert_eq!(0, cs.latest_height.revision_number()); - assert_eq!(31726889, cs.latest_height.revision_height()); + assert_eq!(32132783, cs.latest_height.revision_height()); assert_eq!(56, cs.chain_id.id()); assert_eq!(0, cs.chain_id.version()); - assert_eq!(100, cs.trusting_period.as_secs()); + assert_eq!(86400, cs.trusting_period.as_secs()); assert_eq!(1, cs.max_clock_drift.as_millis()); assert_eq!( hex!("151f3951FA218cac426edFe078fA9e5C6dceA500"), diff --git a/light-client/src/consensus_state.rs b/light-client/src/consensus_state.rs index cc834e9..070b535 100644 --- a/light-client/src/consensus_state.rs +++ b/light-client/src/consensus_state.rs @@ -119,19 +119,21 @@ mod test { #[test] fn test_try_from_any() { - // This is ibc-parlia-relay's unit test data - let relayer_consensus_state_protobuf = hex!("0a2a2f6962632e6c69676874636c69656e74732e7061726c69612e76312e436f6e73656e737573537461746512440a20c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4701a2073b0a7eec725ec1c4016d9cba46fbdac22478f8eadb6690067b2aa943afa0a9c").to_vec(); - let any: Any = relayer_consensus_state_protobuf.try_into().unwrap(); - let cs: ConsensusState = any.try_into().unwrap(); + let cs = hex!("0a2a2f6962632e6c69676874636c69656e74732e7061726c69612e76312e436f6e73656e7375735374617465126c0a2056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b42110de82d5a8061a209c59cf0b5717cb6e2bd8620b7f3481605c8abcd45636bdf45c86db06338f0c5e22207a1dede35f5c835fecdc768324928cd0d9d9161e8529e1ba1e60451f3a9d088a").to_vec(); + let cs: Any = cs.try_into().unwrap(); + let cs: ConsensusState = cs.try_into().unwrap(); - // Check if the result are same as relayer's one assert_eq!( - hex!("73b0a7eec725ec1c4016d9cba46fbdac22478f8eadb6690067b2aa943afa0a9c"), + hex!("9c59cf0b5717cb6e2bd8620b7f3481605c8abcd45636bdf45c86db06338f0c5e"), cs.current_validators_hash ); - assert_eq!(0, cs.timestamp.as_unix_timestamp_secs()); assert_eq!( - hex!("c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"), + hex!("7a1dede35f5c835fecdc768324928cd0d9d9161e8529e1ba1e60451f3a9d088a"), + cs.previous_validators_hash + ); + assert_eq!(1695891806, cs.timestamp.as_unix_timestamp_secs()); + assert_eq!( + hex!("56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"), cs.state_root ); }