From 7e0e16e20839b8a01da63790288f7f88a0d37e02 Mon Sep 17 00:00:00 2001 From: Sergey <83376337+freak12techno@users.noreply.github.com> Date: Fri, 30 Aug 2024 03:14:28 +0300 Subject: [PATCH] chore: add tendermint http test (#73) * chore: add queue test * chore: add Tendermint RPC test --- assets/empty.json | 1 + assets/rpc-block-invalid.json | 3 + assets/rpc-block.json | 1142 +++++++++++++++++ assets/rpc-tendermint-error.json | 9 + assets/rpc-tendermint-validators-1.json | 911 +++++++++++++ assets/rpc-tendermint-validators-2.json | 731 +++++++++++ assets/rpc-tendermint-validators-empty.json | 5 + ...dermint-validators-invalid-pagination.json | 20 + pkg/tendermint/http.go | 25 +- pkg/tendermint/http_test.go | 288 +++++ pkg/tendermint/queue_test.go | 25 + 11 files changed, 3144 insertions(+), 16 deletions(-) create mode 100644 assets/empty.json create mode 100644 assets/rpc-block-invalid.json create mode 100644 assets/rpc-block.json create mode 100644 assets/rpc-tendermint-error.json create mode 100644 assets/rpc-tendermint-validators-1.json create mode 100644 assets/rpc-tendermint-validators-2.json create mode 100644 assets/rpc-tendermint-validators-empty.json create mode 100644 assets/rpc-tendermint-validators-invalid-pagination.json create mode 100644 pkg/tendermint/http_test.go create mode 100644 pkg/tendermint/queue_test.go diff --git a/assets/empty.json b/assets/empty.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/assets/empty.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/assets/rpc-block-invalid.json b/assets/rpc-block-invalid.json new file mode 100644 index 0000000..6b339e3 --- /dev/null +++ b/assets/rpc-block-invalid.json @@ -0,0 +1,3 @@ +{ + "result": {} +} \ No newline at end of file diff --git a/assets/rpc-block.json b/assets/rpc-block.json new file mode 100644 index 0000000..5b22551 --- /dev/null +++ b/assets/rpc-block.json @@ -0,0 +1,1142 @@ +{ + "jsonrpc": "2.0", + "id": -1, + "result": { + "block_id": { + "hash": "53A5F2661EED14BDBBE5344393D96ECDB2226FBD50C0DFB9AB11CC4A36CB372D", + "parts": { + "total": 1, + "hash": "B5116941995EA2D3571BA1A5750890E9B7514C35D398A342C464AB096D987837" + } + }, + "block": { + "header": { + "version": { + "block": "11" + }, + "chain_id": "cosmoshub-4", + "height": "21955288", + "time": "2024-08-29T23:44:38.101718702Z", + "last_block_id": { + "hash": "9FC45B3DF38056ABA5BDEF9E672B98666FA37D31F2AD0B39E57B5C08D8272CE4", + "parts": { + "total": 1, + "hash": "15747AE792F6D87BCCC29463A9D187B10692669DDF8DDC52734368DB8331746F" + } + }, + "last_commit_hash": "E8FAF972932039D9C9E198C0E67F38A77EA175611F62A25CF98024A40495C36C", + "data_hash": "BC26B49A979D1E611474A348A6D77A0BD475EB86FC93BDD82DB25A82B6AF740B", + "validators_hash": "2F279DA3723396C41192143A28FB89FAC70BA16D096660972627525F4B293B8F", + "next_validators_hash": "3C21D760FD9638AF19FACBA67934A8D10FB6A872814CE34E596E3AF87D75F296", + "consensus_hash": "0C71A481C6151E5FE9DF617F5E8374F61A49EA07885794EEA940ADFD2993D9FE", + "app_hash": "DC02E2F7F4EA10CF6B253ED24770539E36872FF86F5435C9629E5AE17F1F93E2", + "last_results_hash": "7320982252A35EA031779ECC5048F67A4FAA0F55F050D103CA8D641C0EBD04E4", + "evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855", + "proposer_address": "AC2D56057CD84765E6FBE318979093E8E44AA18F" + }, + "data": { + "txs": [ + "CqMBCqABCjcvY29zbW9zLmRpc3RyaWJ1dGlvbi52MWJldGExLk1zZ1dpdGhkcmF3RGVsZWdhdG9yUmV3YXJkEmUKLWNvc21vczE0ZHR3YzBtczd3YWpxNmQwYXIwenVyOWd5NmNheXFhajBocHU1YRI0Y29zbW9zdmFsb3BlcjFmc2c2MzVuNXZnYzdqYXp6OXN4NTcyNXduYzN4cWdyN2F3eGFhZxJoClEKRgofL2Nvc21vcy5jcnlwdG8uc2VjcDI1NmsxLlB1YktleRIjCiED4v+ROmTcwEjc7is6sK7WeUa6jCVzcLYEL4HuKG509ZYSBAoCCH8YpgISEwoNCgV1YXRvbRIENDUzMBCwojIaQM27EwUP3JKc94t/11ptOcqba37CBvXS5H0vWp9jg3BvPyolUTR3oXCONHYzav/pqzf/aDwzXdQ/pIQGeaztPvc=", + "ClUKUwobL2Nvc21vcy5nb3YudjFiZXRhMS5Nc2dWb3RlEjQIugcSLWNvc21vczF6enI1bGhqcDBmcmNjZWM0Zmh6NXI4Zzh1N2VjM2doazZudGZrahgBEmYKUApGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQNrxUbJ5LRdKGLFt5qe5xxbyixrGNeiU1oAPcywujWmbRIECgIIfxg2EhIKDAoFdWF0b20SAzYxMBCzmQYaQJuyx9vrMS/di9FleaIYyJDtBTOGhAOrGpajy+dHPwLYJpw6uyipjpSM7EGYfbH/FuRmccQ5ekQgARBpkjetoz0=", + "ClUKUwobL2Nvc21vcy5nb3YudjFiZXRhMS5Nc2dWb3RlEjQIvAcSLWNvc21vczE1dHp1eGx3bXl6NWFkODJ3dXMwdjQyczQ3cG55emg1Y3UyZ21yMhgCEmYKUApGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQLIq8oZdg5ai/4zqRsqzXyrOoSOVh4hy47APZWAKfuU3xIECgIIfxgHEhIKDAoFdWF0b20SAzYxMBCFmQYaQNCEofhrp4iBFLcy1/jW8C/O9kRygS0WVUb3uNYB6jrKJ8Ku5QBpwsVhJNoFyuqfs4oZYlSLdgz/F+katADl8TY=" + ] + }, + "evidence": { + "evidence": [] + }, + "last_commit": { + "height": "21955287", + "round": 0, + "block_id": { + "hash": "9FC45B3DF38056ABA5BDEF9E672B98666FA37D31F2AD0B39E57B5C08D8272CE4", + "parts": { + "total": 1, + "hash": "15747AE792F6D87BCCC29463A9D187B10692669DDF8DDC52734368DB8331746F" + } + }, + "signatures": [ + { + "block_id_flag": 2, + "validator_address": "D68EEC0D2E8248F1EC64CDB585EDB61ECA432BD8", + "timestamp": "2024-08-29T23:44:38.099796178Z", + "signature": "ywcQSgS9uYhLWYR5YO1DPjnxYnvApm3ulD0UsJ9EQNCHTj0ohVy5Fs3YrtmgS7zQJC/yL+yFesEsB8kmaH/6AA==" + }, + { + "block_id_flag": 2, + "validator_address": "099E2B09583331AFDE35E5FA96673D2CA7DEA316", + "timestamp": "2024-08-29T23:44:38.163763016Z", + "signature": "3vIhtx0YMjOsGxK+q/AV3mWeFNnjVUOYea3Z5Zh6+1k8fj7GBodWpOb9jWEB81AuH7lAqmvypfn0vu3UU8K8CA==" + }, + { + "block_id_flag": 2, + "validator_address": "D2D458F9209ECB8CA2AAB1D99E06611B812A8797", + "timestamp": "2024-08-29T23:44:38.175646441Z", + "signature": "lfYhz5F5Klj8c6em3MfSHgit6dya6HWDiEyv/iWKtK8F03skjBnqx0n3Wc6TnLyK/rlP5W480B3Wa82IAJXrDw==" + }, + { + "block_id_flag": 2, + "validator_address": "1CED30733D1625C89AB698677606D0E37B3676A9", + "timestamp": "2024-08-29T23:44:38.06918108Z", + "signature": "5j+Swc/XxOsoChps/vf1jJX4x50MJUBWrkGU1pV6Y6V14rgATm27bot8b9VwgxC3syyqJ5YKCCjnbPSvUDgtBA==" + }, + { + "block_id_flag": 2, + "validator_address": "9CF8AE1FD507F97A054250582FFE52922C8D3705", + "timestamp": "2024-08-29T23:44:38.10028276Z", + "signature": "VPnSf57y7eorMtwKxldlt2p07RONQyLgQgqM4O56jI+RXNLM03PgM/H63k7NyOyDzYztjUNji1LUCM2/OzOsDA==" + }, + { + "block_id_flag": 2, + "validator_address": "2199EAE894CA391FA82F01C2C614BFEB103D056C", + "timestamp": "2024-08-29T23:44:35.032107398Z", + "signature": "UCAgxCbEut6PK44JsTeT25koj2tfQC0XZtT3RcGAPSo/wad4KBgW/Or4UwrTGtCewrW8HZ6iJsAMLCZaq46xCw==" + }, + { + "block_id_flag": 2, + "validator_address": "25445D0EB353E9050AB11EC6197D5DCB611986DB", + "timestamp": "2024-08-29T23:44:38.127705425Z", + "signature": "ADHTTl6eq41V4QazWez7G+sNuyf6EcTltMT04wIam1N/vBgARzEggGOVEJCSWERbD8ZEJVebEov1qFceM2UDCA==" + }, + { + "block_id_flag": 2, + "validator_address": "FB4FB25A61B493A5BF8E3CD4B5E8F5B404DA8E23", + "timestamp": "2024-08-29T23:44:38.288552106Z", + "signature": "kFNAEmefItsM2b2WSY7Og5Bqr725DpgTCgEkHg7t0H1ODcatlceuPKsC0w2EDw+qz4Xd2lXYm2th8lL0u/vnCA==" + }, + { + "block_id_flag": 2, + "validator_address": "3B845C9AF1D69E9FBB620B69AB226B28BAC97985", + "timestamp": "2024-08-29T23:44:38.164869037Z", + "signature": "2Ll+ARebo1dl2E/t6gPO45Bt90sVzqvpVMHYSG+xCXT7fqFJgoI8GZ38ckn++6/oMqmz1Jph49i4B8IJ6D2/Ag==" + }, + { + "block_id_flag": 2, + "validator_address": "6D701FA59532688DF16BAF9521137E8C14CBB316", + "timestamp": "2024-08-29T23:44:38.270962679Z", + "signature": "h3Pe+gcwL31bEF0tP2qjkfUJghgH5VtPhL1iKGnJppXgzgLxBQym11cbz5Y77lkTVDRmtvobv/fWFyp5XC+1DA==" + }, + { + "block_id_flag": 2, + "validator_address": "AC2D56057CD84765E6FBE318979093E8E44AA18F", + "timestamp": "2024-08-29T23:44:38.075889852Z", + "signature": "NlVcNAQJHWp2KpFh0DEQtCvoKS3R8tkvCmCq/AsT7ifSIA5R+YNkcJ0yN5FHa+q0dK0gGNBTCK/aU+N8Q+vOCA==" + }, + { + "block_id_flag": 2, + "validator_address": "15F4811CAD3266058AA182D3EFC8D9DA2A4A57E7", + "timestamp": "2024-08-29T23:44:38.044790722Z", + "signature": "p8mrkSk2sypMt/qLz2wOw4to84fneyRAee4yTcmvwwfziSSnMjv9TFrkwyngLWN+EIPKCfnuewcJR5X3E7VrCw==" + }, + { + "block_id_flag": 2, + "validator_address": "F59734A896A7689436BC3422244FD862AE189C5C", + "timestamp": "2024-08-29T23:44:38.379895048Z", + "signature": "jiWVzkNStRGFB8lsbqD46k46HX/xKqNpLIEbnV8sKZaIRhg/iHIjlPPDlH76W5pKS5qP89SHVvRMOPmIzL2PDg==" + }, + { + "block_id_flag": 2, + "validator_address": "679B89785973BE94D4FDF8B66F84A929932E91C5", + "timestamp": "2024-08-29T23:44:38.065039338Z", + "signature": "FIMqzgMDstjTm2K94rVYh5l59kZKvDNPQG0AE/B5zC9kq+CRYGi/gKlBuXHpksIv8yexgxvrSSKgRm3ckNByDg==" + }, + { + "block_id_flag": 2, + "validator_address": "DA6AAAA959C9EF88A3EB37B1F107CB2667EBBAAB", + "timestamp": "2024-08-29T23:44:38.085408055Z", + "signature": "w+IW2zi1bya8oMZKdtBwCsr66hH5STT4biFtmnbw3EGl5rOWyw07+FLAXzQXFWiS201cqFGZSHmg/5H0GLqOAg==" + }, + { + "block_id_flag": 2, + "validator_address": "978B1D128C6B2FAC528C7F96B7D2EDDDF82A1B9E", + "timestamp": "2024-08-29T23:44:38.163292963Z", + "signature": "hLPVjebGJaTH1jgY2O7W3mLlFGl03+1T8go6rttP86BlGLp+f1S+5wfjaymIsDY+NkLERmdQV/qJQPyRRwo2Bg==" + }, + { + "block_id_flag": 2, + "validator_address": "31920F9BC3A39B66876CC7D6D5E589E10393BF0E", + "timestamp": "2024-08-29T23:44:38.09271931Z", + "signature": "IxfV4oRUtjpvUF7EX9jr9L4qBJ6Dcd1hM1B9dZMdWpL7LUbRSS+k/hy7mq3y62GL989MXY5Bf9mHsrQDHVLyAw==" + }, + { + "block_id_flag": 2, + "validator_address": "51DB2566204EE266427EA8A6CB719835AB170BE9", + "timestamp": "2024-08-29T23:44:38.096617419Z", + "signature": "KLSYrDGb1nePtKdz9ml6hivK6VqNNLH4W6HseOhHU09F86yIf+pN3d18f73IZE17y509romk5sDLyi5C+jHJBA==" + }, + { + "block_id_flag": 2, + "validator_address": "019B9CA2944D3CC36C7C73283EF3D58E56C8A5D4", + "timestamp": "2024-08-29T23:44:38.148698862Z", + "signature": "z9tyaLGsJje7vfS+Uw2QhnzqWUb6t6cFP/R3z3qUzpoLHqZJ3g5t2a1VO+kha39cumWsQ7DSk+nBppvu3J8xBw==" + }, + { + "block_id_flag": 2, + "validator_address": "5A59DC8746FD727FDDD5CBF5CBB90C6F616CCF9B", + "timestamp": "2024-08-29T23:44:38.062122832Z", + "signature": "tQcZhzZ1IS7lQMzvRvwawDpVc2IdpsTfiulRCfK70Hi0OEVeGEpAf4FD9FXtChzkGmUbNq4MOMztCkL07a4YDg==" + }, + { + "block_id_flag": 2, + "validator_address": "CC87F56B58621811E2B5A47F38C6166E295CE36E", + "timestamp": "2024-08-29T23:44:38.162092343Z", + "signature": "6N/RMsU3FR3pHDP7C2SQD35jVi7OyAfUkc8f05w/EGkvyvUXTFvSjc6BqyyDkcwlLbhdsl8Jjl0PrZZmqx8HBg==" + }, + { + "block_id_flag": 2, + "validator_address": "0B42E47F154E24D10184BB12E32347AAC61C6B80", + "timestamp": "2024-08-29T23:44:38.157844494Z", + "signature": "7NqsqkX3+ZkL+wPqUuoy0LNaQWtxfSD8d/wOJq+Au8SnepjyLXFijDEJkQnF9WI5zITNWEEcmXxrSHKLdBO3AQ==" + }, + { + "block_id_flag": 2, + "validator_address": "3DC4DD610817606AD4A8F9D762A068A81E8741E2", + "timestamp": "2024-08-29T23:44:38.130716481Z", + "signature": "tgpkXX0rwr7oBPhP5anlHmhPjxMQ4MFyt2i/ZSWEWEs5uHo5A1X65UEcXoXlao0fZBJH9QjKFfhW2K8wf2UVAA==" + }, + { + "block_id_flag": 2, + "validator_address": "83F47D7747B0F633A6BA0DF49B7DCF61F90AA1B0", + "timestamp": "2024-08-29T23:44:38.103417491Z", + "signature": "7t68dXus2NgmTb1G0dv5278ztk0bvLZFDU0cXjs8SRwdGpLWr3ImbjSAt5vCLCzFfal4JFf1FsKc3m/LzPPxBg==" + }, + { + "block_id_flag": 2, + "validator_address": "E070FA4F050BAF7EA2761C52A6A5715780681939", + "timestamp": "2024-08-29T23:44:38.063619423Z", + "signature": "BScmkAHBdL+MXrh1SVY4nFCgfS57hb0rpcxpvHByD1jbbVtoXX35tKJwtVsFOZdx5xlXnrt4oyqZpdT92KMqAw==" + }, + { + "block_id_flag": 2, + "validator_address": "B9ECE1D7B4DD80E868263EA3AAF272B9C7F1292D", + "timestamp": "2024-08-29T23:44:38.088140945Z", + "signature": "sZ7FztaC8G7snbjp3anxAkWYBrjckCGB2pNhSbbHgpAd38JFDHRPq27pdwDdmvwQhTqTZhfamyDJC1DQ64r3AA==" + }, + { + "block_id_flag": 2, + "validator_address": "4EB1282675F724B59026F2173C23F0DC9936F118", + "timestamp": "2024-08-29T23:44:38.089655715Z", + "signature": "llnydrIPdLYJIRMt79u97yQWM8H2QkrXN1iC4TxHt72FDa1vJSNvp6+0bLAdwzMvx1X/G5W5nfQ+jUszI6ATDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "00CCEECFD01B2D333A1B56ABF7CFF8A6B8ED25B1", + "timestamp": "2024-08-29T23:44:38.11488848Z", + "signature": "PBSK5cdmNfW+n40k36s9Hx/RKSmPiHkAsfzyddAHh9hrXuA5e+qS/iIEpo15aeWqm+1E84SoIoLm09hfbicVCg==" + }, + { + "block_id_flag": 2, + "validator_address": "D9F8A41B782AA6A66ADC81F953923C7DCE7B6001", + "timestamp": "2024-08-29T23:44:38.112623221Z", + "signature": "JFOT58IROoq0Zh9itgvLzGjHFkFxnXhtoz6ms9fD4DHLVEOB3nG+Dqhmo5UOTMcLqJVxdomFR1cZYV8y3WEYDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "81965FE8A15FA8078C9202F32E4CFA72F85F2A22", + "timestamp": "2024-08-29T23:44:38.099097174Z", + "signature": "A36GHu7s3saaleakX7FxTazebQVFM1uiCA8P1LwcwjurDlFGcuaPbfaRg3Y9GRLnq+kG9r5FVmt/EtXferE8Cg==" + }, + { + "block_id_flag": 2, + "validator_address": "8F168F8AA2B85C328DE762FA1345C58153B671A7", + "timestamp": "2024-08-29T23:44:38.060319817Z", + "signature": "cvFaKYkyIkZ9V8iqd3YcNRWp28IaQ9NDpI7IBahwOWjd9j3Lfz5ytMxpezcvaZZDmyWhD+hcaT2aFevpXykpAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "170FEFD6D7F4A69AAE70A24415FC4E2C928DE2E5", + "timestamp": "2024-08-29T23:44:38.120778147Z", + "signature": "HNbBJejyFvA5GaoQr6AFktW7E2Vg6T8ftX8g3kCcK6JYXNrsn91VezvI4MU85Adiywsui500hri5r6N2PgvhCw==" + }, + { + "block_id_flag": 2, + "validator_address": "95E060D07713070FE9822F6C50BD76BCCBF9F17A", + "timestamp": "2024-08-29T23:44:31.048325263Z", + "signature": "fNE/Wp3rn7sK+gozxC2bFm+KCdZqefwC2OBZjYs7SoNd2HqL5xE5X/uq1YFW4JnksqjwOb7GStEJRiVipLFNCA==" + }, + { + "block_id_flag": 2, + "validator_address": "84B3D8922BA2F24A39477EC14957991BE1AE7765", + "timestamp": "2024-08-29T23:44:38.079493859Z", + "signature": "/rGI+BPZMU9QXPa2p74FDP7vqZ/3fzkz5CA0WSkKdIvNp7I5dFHnK30OdLAUrKBitRN+FUVctN+tcqA21fnCDg==" + }, + { + "block_id_flag": 2, + "validator_address": "D540AB022088612AC74B287D076DBFBC4A377A2E", + "timestamp": "2024-08-29T23:44:38.186752314Z", + "signature": "oER+JJNKg0QulCMc/F5HP18Kfi51vBKq4FI+bKU+JS/J65ad7KQWawxCR9fQH9Aun1xS8EyPa0YpJBplEhbaDw==" + }, + { + "block_id_flag": 2, + "validator_address": "75DAB316F4CA1367F532AB71A80B7FA65AB69039", + "timestamp": "2024-08-29T23:44:38.449880311Z", + "signature": "5taR68dqqzW9X+6+jNgjVsFu6Qml/E3fJywOjsSKD7coItnOZ+TB07lD+fJecW7M1haUNj3slpzSItorOalgAA==" + }, + { + "block_id_flag": 2, + "validator_address": "8E0EE37B7B1A038DD145E30F1EF97DF3619EF429", + "timestamp": "2024-08-29T23:44:38.330098349Z", + "signature": "PJzxKrtSu0y63lSwa34x9ygJ57kmnZK6DYDRLcTADjoMHYVzpKz71VqqCcIBnZhYQDrE5ZKFQBQ56AvoXXi0CQ==" + }, + { + "block_id_flag": 2, + "validator_address": "DF9283DA25B296426E97438614D1C62DC1019D84", + "timestamp": "2024-08-29T23:44:38.065815176Z", + "signature": "Q4G963zOk7SMEHtKkVejNs4iyvL3KCRPqiwoJoslLB4QTigco0GXY4hzBKuU8iFAPcUVCI8N8aJk0pGxLb2ABA==" + }, + { + "block_id_flag": 2, + "validator_address": "46A3F8B8393BAA153C40E5722EAE82EA0D48B32D", + "timestamp": "2024-08-29T23:44:38.258766141Z", + "signature": "MS+g2mUupxHXfXiSCl7wmz4lmSNLPKbNO4j34uUdWFepHT92L1rtvupXnnflEEawaxuX9XgyDC9ywWGWtY/mCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "7B3A2EFE5B3FCDF819FCF52607314CEFE4754BB6", + "timestamp": "2024-08-29T23:44:38.174535892Z", + "signature": "qB5MvHCmAKVao6ENgdubQ8iPuhrubVF+P6AL32gzeyCT8LCdwqf3FtoldNFmI3dRHW7eh4DJ+Rwp4PBAJzeLCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "BDB046259EB7FB74A28015E31E64CEE9F0802199", + "timestamp": "2024-08-29T23:44:38.111003506Z", + "signature": "xtzywRLFQ3tYAg+tcGmAYyzbNYtwkdRMl/5gM5g+es7sCnK1UpvkCyPdRMTRGFW/q24w2hZMbljk8HQRYzT2BQ==" + }, + { + "block_id_flag": 2, + "validator_address": "59AC672068F7AE75ED8F5300FC3261C92B909A0A", + "timestamp": "2024-08-29T23:44:38.088043589Z", + "signature": "BEfKIMXPi7il7Vz58mk2W5goPqtBwql1Qfy1LRwgoFkH9HnMRvBR6SMhtnaTqM0rYTVqzGBzXJWuaZZor0ANCg==" + }, + { + "block_id_flag": 2, + "validator_address": "0ABBA36C54DD0CA6A790AEF96A01D4392E36345F", + "timestamp": "2024-08-29T23:44:38.078190643Z", + "signature": "NMkJh1PexFrNjBfW9mAQ0V0DyM0XSXtelVeO4IsxEK+Nluw3r/+QIUY6+/PN4ltZBal38c6jeaZxSLn57pM+Bg==" + }, + { + "block_id_flag": 2, + "validator_address": "604A449780F090BC6CBBB1D59934A20A124F93C1", + "timestamp": "2024-08-29T23:44:38.076457026Z", + "signature": "GgDwQt+TraOP/68r9ojCW7xFGP0mkpLQpBNjhyS7hvmjoUib3Mv5CMUxzI3MGZIN6r46T6grTg/XEbtWppzCBg==" + }, + { + "block_id_flag": 2, + "validator_address": "D14A542E8756C3A942D9FD8873DC2E9A7798A17F", + "timestamp": "2024-08-29T23:44:38.067125096Z", + "signature": "WeKjkyDybghbNkszobRFfywz7ZIWH2UpVe+Ieai5SGMin59BozTmp0bJK8r97RcSagEG7iIBnfAAp6JCVS0SBw==" + }, + { + "block_id_flag": 2, + "validator_address": "91C823A744DE50F91C17A46B624EDF8F7150A7DD", + "timestamp": "2024-08-29T23:44:38.094717366Z", + "signature": "Jn0ZjFHbAEAAf+5bc3Y69+isu3m+xT1ClaPCOAoYLFqPddvokbwbOwYtaRQC77QZZzr956AH74otXxZNoG1eBw==" + }, + { + "block_id_flag": 2, + "validator_address": "671460930CCDC9B06C5D055E4D550EB8DAF2291E", + "timestamp": "2024-08-29T23:44:38.101718702Z", + "signature": "FTO5fCuiaSw3RxexZAk9hHYmncXHLLI6UY4vgsTlbN4doc8Xm9fr/l8OiZM0gOFof7aR2xQvbqbDaoMvv0JxCg==" + }, + { + "block_id_flag": 2, + "validator_address": "B442035488D7901D75D8F9AEFF04F64DF7BE160E", + "timestamp": "2024-08-29T23:44:38.130628803Z", + "signature": "ePq2XwX35aOmKwb1cVC3XsIKG3dAh7ZoEm7juWEsJzIOD1OusBbfiaH/p2oOayNlUKPDz/nT6iqqPuNlGgsJBA==" + }, + { + "block_id_flag": 2, + "validator_address": "6CB47D786B2F350C13A60BB77D398AC82E900985", + "timestamp": "2024-08-29T23:44:38.096991774Z", + "signature": "FFZwMQ7oq8BOeeADQe32lSwP24xAnPuicZQGGaIXOXMxUuQAtUWMl0NnFb93dZWHCERZHdVGF1GV9MuebU/iBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "C5327D64CDF4A04BE1206E65F5B61D44923630E6", + "timestamp": "2024-08-29T23:44:38.024925072Z", + "signature": "2obcWih9erjy/N4gR2a+uXnyomW4pQekP017+VqKx0/ThWmUnIbawt1jKfI7Tt8fquTZhwbv2gtaL/AdcYdGAg==" + }, + { + "block_id_flag": 2, + "validator_address": "3B49CA97C4969033163A872152870489EDEBF080", + "timestamp": "2024-08-29T23:44:38.128038959Z", + "signature": "aCCXoYtnfRqI2BUy41Kq8izdiw5z3/zyGHSrMdOTjxW/3oltYMGukQ6R6Zua0uputcdIz4xX3cYvITOTMnMBCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "F6FD6365ACC5382B6AD6566CD2971904B75F7E24", + "timestamp": "2024-08-29T23:44:38.163607797Z", + "signature": "mE1ubMRrmeF5R+JcnaQTOPpBF5OMviwB3ZlkTuXOviT6r1IkwCWGGV1EeGm7HVwC3feBAt0MmC5up22hO1l0AA==" + }, + { + "block_id_flag": 2, + "validator_address": "B31581E9FF571045531370E2D4895A2D6FEDECFB", + "timestamp": "2024-08-29T23:44:38.167445715Z", + "signature": "IH/lvO/4MC0+te0WHFSwofwFYEuPM4h248XmixCuNMIn4bPHsYMTyov2CG7/kpGdRlXQZ//TuDMY2/TcxoO6Ag==" + }, + { + "block_id_flag": 2, + "validator_address": "7B3D01F754DFF8474ED0E358812FD437E09389DC", + "timestamp": "2024-08-29T23:44:38.092123833Z", + "signature": "ArWfq7CZs1GnIDwNTOjK7iSqSW45+MIxYF5PfoOW1QYELWfblxz8GPjn8OXaW3wLTRG/vJRjZW2nYKdoDELGBw==" + }, + { + "block_id_flag": 2, + "validator_address": "60AAACB82FAB9D90CB2DF0AA0CCE4555101ED90C", + "timestamp": "2024-08-29T23:44:38.251612152Z", + "signature": "PU1WbQPAliWbIGHwh6sP4PZoB2MsJbYDTsLJQ0BJpqJY2xd6e1egnoVWk7hiboq/4esqERHBtIZL110tvX8mDw==" + }, + { + "block_id_flag": 2, + "validator_address": "51205659A717DFFB96E054F8BD1108730E17AEA7", + "timestamp": "2024-08-29T23:44:38.202526769Z", + "signature": "LjQdBTWYi6ppVTr0gWrxH+1OzzAO7p0rvP0oT3Rb69/UApkocKG9Nj+7+bLP1K2gwL7QK6bMhvWcmYc5rv6dCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "BB76BC6322C7533A7CCD3AF1C089C7B3971FB012", + "timestamp": "2024-08-29T23:44:38.115589505Z", + "signature": "1Uww3+CZN6yiCVUqF86vxmmRgTB+nrOdhjovkBC6uqiY/hBAQPfbiYWH1yMC0j+jFxgq70p4z8sI9rkEr1vxDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "B4E1085F1C9EBB0EA994452CB1B8124BA89BED1A", + "timestamp": "2024-08-29T23:44:38.076971556Z", + "signature": "E+MqXylF8Ddq+HK4ovZDPvCrpIZzohgS9th1fxFLpKujUksue7/DIg8ARRjzNMSLdfCxfNeYHAHWb3JMzTvbBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "495BA7E759C0FDDE0C5FF52195089A19A1748B70", + "timestamp": "2024-08-29T23:44:38.122504954Z", + "signature": "9IYFOwbp4Gge1lF1d1V3SR86KzURtMqjMF6J8YpjR9SzAH84Ro/mX/0hTlZ+fS/kpXv39gSIMu0JNrDN4nmvCA==" + }, + { + "block_id_flag": 2, + "validator_address": "D269A81C7741F458C31DB7FB14C58176421FB2F8", + "timestamp": "2024-08-29T23:44:38.072484322Z", + "signature": "Y6QOhdcMNlLOLVF4yUOCRSBDSU7RFZikS9dnWt8uoibAu+x7kpYmTn86DP69nqke/oaJVhcM2n56ZETsvcC/Cg==" + }, + { + "block_id_flag": 2, + "validator_address": "C05AA296EAFDAD046F72B10438EC53F51B0DC50A", + "timestamp": "2024-08-29T23:44:38.11769524Z", + "signature": "YMDYvhAAQTSwKaaYPJhuZ5sIFmIvpj289m9HVgZmq8zxPjiWTkv/mNkVHakQvublEKWPdgSPplZbRYf6yJOXBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "9AD0AA18A92A1A4374426ED9B8192D1D6C3D2691", + "timestamp": "2024-08-29T23:44:38.128610142Z", + "signature": "icB8aHseEKYc7lj9WBoPnTXYWUbswoWP16TCzVzwmZ3IZHYPapL6mB07qC3OyzhuXbl8aP4xR7xnPcUuEQ9nCg==" + }, + { + "block_id_flag": 2, + "validator_address": "2C2A5E9B9EF903164FA2BD3F140571DDF02A00CC", + "timestamp": "2024-08-29T23:44:38.127323598Z", + "signature": "XJiFRgYtVJ/n+sPJNT13et4NuLuJmY263ftZ0aKvSEaZdLXgJMWhJXxlT/R16+bt6JBOFBA4lnQurWe0ZMr/BA==" + }, + { + "block_id_flag": 2, + "validator_address": "49BBFB1BA1A75052E3226E8E1E0EFEB33918B8B2", + "timestamp": "2024-08-29T23:44:38.183007587Z", + "signature": "RsWuq2XuJUrKShDu60gFRk2acPn55xpbqZGYuEHAmuX4N4DIIwAqrcKix5/Wn/T1WgCUnbbgEBjZO/ePW6VLAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "9713818DA540B2AD40CD3A821865F1CA288A1BAA", + "timestamp": "2024-08-29T23:44:38.0623682Z", + "signature": "4H4jSfcCFJ7TgpH0P1b/cURk0RuoAyDoLpFmdlN2xmy+wS4wYng6TycOZKrL9nTX6S1MLImKkm8wEHMy9/F3CQ==" + }, + { + "block_id_flag": 2, + "validator_address": "13EE3F05F20C6AD8FD27CBEF33DD61D5F99ECF6F", + "timestamp": "2024-08-29T23:44:38.167827723Z", + "signature": "UrcchbfIfKjqSzqZ6LWLQlCWNN448zcZjbcRkcAj4QDSfioGZYg6TRyPpDpF56sldLcwd7IklKfsHelDilKPDg==" + }, + { + "block_id_flag": 2, + "validator_address": "6BD4705021332A90B92397D8D72CA3950CB858EB", + "timestamp": "2024-08-29T23:44:38.222746187Z", + "signature": "G4n6yTAcG0W2EjJYBa6EssTNWHg5H8PlGT1KYEB14TlYscnzT8/xxGwdloEmJYRUMeoGzFVznwm7kdZ0gQizAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "B2BF68AD4CED6FE8F71AACAD01003436EBE0729F", + "timestamp": "2024-08-29T23:44:38.286255959Z", + "signature": "KggQg4bhmK+fkbutMjnIan/bwDEJr7hJcngkwya3K7fr0ZB2uHSDpl+KUi2SYO9zsT+INn85275EGfjP/0pfBg==" + }, + { + "block_id_flag": 2, + "validator_address": "C7CAA9535CA625AB0447C307975D12523810715A", + "timestamp": "2024-08-29T23:44:38.190410773Z", + "signature": "muOAAVggYYsmmsJu8LZroBcPU8GgnH+O0Ioo2I51EHdPW2G4B4LcI2cQYP2IhQxVbgIH0dVITQsoCkxN1y3DDw==" + }, + { + "block_id_flag": 2, + "validator_address": "F8E5032B98D5D32442E325B6970B434F752E113E", + "timestamp": "2024-08-29T23:44:38.059343802Z", + "signature": "h0GOHNkXfH62S+Fn6tC//B49WzYP7GKdAyUAe5yVsZRYiHFZ3wHx4vqW27eGfozASLRW4aCs8nBY6g76QTV1Bw==" + }, + { + "block_id_flag": 2, + "validator_address": "108E47FC1B8546F98F7EA52F2547CC44497DB1BF", + "timestamp": "2024-08-29T23:44:38.051384386Z", + "signature": "bMeCANlttiZgGpoEq3QqvmqHCyMcKpS0BvxhOTU/IPjinrMe67w1PFdE5qvQcOgIlt2oqnK+1BSzNn2dvHajBA==" + }, + { + "block_id_flag": 2, + "validator_address": "6EA863B44BA369F739E65595770DAB92C89A9212", + "timestamp": "2024-08-29T23:44:38.149729081Z", + "signature": "u2ZEAoFJ7q0hrczhQ/MS0PLLlYUt9Z5fxcedG/onHJvWCPC2mLnBOmVSRbLahTPpBBHDQdEwAo5qpZcrEBIkCg==" + }, + { + "block_id_flag": 2, + "validator_address": "08065D40B9D4AD5126ACF0BAC8033094835720FD", + "timestamp": "2024-08-29T23:44:38.118813224Z", + "signature": "Oz7P8YgaRXrcLr6Xk2BM+QSB6S6lTXurKMSUVtBlKCkluD1pbxSUoHKokrYRCysUQSQJYiMqIf5kIUwtoQa3CQ==" + }, + { + "block_id_flag": 2, + "validator_address": "1AE0BD432F9A5122474A646325D1AFA6068692E9", + "timestamp": "2024-08-29T23:44:38.266672036Z", + "signature": "nCTtj58YPk2Ag5mblUevih5abUuYdGRx6M8MykCJstQFjmKNttFTEusQyx8UhDlzPs1IDqe8e0Bu7LFr2sUaCA==" + }, + { + "block_id_flag": 2, + "validator_address": "68F5BBEACEF114C720EA9C98BFA2FFDE01C54FD1", + "timestamp": "2024-08-29T23:44:38.415081697Z", + "signature": "GDqVRy1ILUyKfUBSh7QSi54B8aNbLOXnF6uKm9wIWF+zFZh91j+ZBPqIyGm3+Ox0snnO11+jUYyn09S14o2MDA==" + }, + { + "block_id_flag": 2, + "validator_address": "52E1646134432BF9532B4881C6ED32E40AE5A2DD", + "timestamp": "2024-08-29T23:44:38.080137946Z", + "signature": "uywWpPndAuVB4WOwLU1srmtnskUsH+YStvgVpkJ31CgfqVbdcHrwuLnqjo3L1Tj/nah4mH7TsBKMF9ptBEYcCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "39EAD95102132963B257E366FC98521E74DFC690", + "timestamp": "2024-08-29T23:44:38.110155695Z", + "signature": "ENcFUwI+8Eea4jYxT8aILcL/Iw9vhS8cRMG76fOGY6pLGrEyz+dRP/y/avMagyG1ynEgfeSZIXfLcdwJD425AA==" + }, + { + "block_id_flag": 2, + "validator_address": "846BE4F39E3122D2A2D3FE5454E2561073E95538", + "timestamp": "2024-08-29T23:44:38.10649531Z", + "signature": "V/z67zU/69trPtlU38jnFT46K7ilSi9wUFu/hw/F6rkHgJZHkvWxGFzW7V8qrhu3MiHHz34BZpGYiIKdhLeuAg==" + }, + { + "block_id_flag": 2, + "validator_address": "CC05882978FC5FDD6A7721687E14C0299AE004B8", + "timestamp": "2024-08-29T23:44:38.117435831Z", + "signature": "/MsVhF8pxxmnxGQE7f6ClObLXLv4UyPzLabYc3qAA6Sm51SL4STz7BXFsX8bqgAZdc447US4rlrHuvR9yoJXDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "592F17BB8CF36AA35867659F8B0E9E76E11BCFBA", + "timestamp": "2024-08-29T23:44:38.15362939Z", + "signature": "tX3fK8XCRdDVdnuSoyt7c8l6Pkq3880AxPTYQHMnaYAw3rD9+myHUT1QXARG0pDGVVsWxaSpqEgTbaT0CkeVBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "696ABC95186FD65A07050C28AB00C9358A315030", + "timestamp": "2024-08-29T23:44:38.229732695Z", + "signature": "Zq5LcZjR6MBZLtEsKcQY04zaRyDF0HXF8eo6w75hB+uXoU8vklAUIAgiEd7BdgGWtdBIFuRblsc4RFqJP9Q5Aw==" + }, + { + "block_id_flag": 2, + "validator_address": "CB33F8217C07952ECA18F53C1FEAF913E9143137", + "timestamp": "2024-08-29T23:44:38.120918534Z", + "signature": "3NdkGqBPFI8RYzKdp7CQmRZ+qChEvdTgGQuLmK7lqRcCRPv6Yg1g+OuCAg7inBgJLQ3KjreP7p3K03e9fa60Cw==" + }, + { + "block_id_flag": 2, + "validator_address": "B236B2A23AD716A9D8D856A0CBA762F323515C5F", + "timestamp": "2024-08-29T23:44:38.198371582Z", + "signature": "vQIhNaqdpr3eP/KWuBA0/4sxmwgr57bds6ivM/OvpKKdVm3AP/EXqBa2f2vVQrb3zkbvrLY9VyfOv/4yqg2DDA==" + }, + { + "block_id_flag": 2, + "validator_address": "25A9D452D35F12050ADEE6B31934BB85C2817D76", + "timestamp": "2024-08-29T23:44:38.130099068Z", + "signature": "yqgDunybwKmeyit4et3NKeu79lQONkZd23RCHQneQ452uM68lfu+aWC51Lz2u/c4Py959ge5IIZV10YdOxt9Aw==" + }, + { + "block_id_flag": 2, + "validator_address": "ED509E78097E1306A91FEDE8E85B75D06BDDF6E3", + "timestamp": "2024-08-29T23:44:38.064428455Z", + "signature": "9xluGJfy5aNVd8QLddGE2j8g+SC2A5wCmYO0ZlIkFf2gUmopFC2sK7eOgswt3TNHCR+zMrKPWMv0Y4sIJbZtAw==" + }, + { + "block_id_flag": 2, + "validator_address": "9C17C94F7313BB4D6E064287BEEDE5D3888E8855", + "timestamp": "2024-08-29T23:44:38.090276989Z", + "signature": "G/Cvs8f47k6lhbg24wFqGLqg0Y1nLsE5KO1iM1A0ODfOZL7RdRcJFG3jkLd0Qlb1RFRomXcGYF/Z/yAh/ShiCA==" + }, + { + "block_id_flag": 2, + "validator_address": "78F1D7A9773FC922739E0A3705A7CA06BEA30883", + "timestamp": "2024-08-29T23:44:38.176690446Z", + "signature": "QvXUGnNpm4L+qP8iSTOJJ/R9rfiRZoncUH9BzKbsSmZJAEUDH2spAl+ngKcncahvGBvs/oaPzZir9OUCXOFvDg==" + }, + { + "block_id_flag": 2, + "validator_address": "37C8A99DC15238D453C0FBEE7C2ACBEDFD27C1E4", + "timestamp": "2024-08-29T23:44:38.18686886Z", + "signature": "61wLTEIH2ywstglggEc0Gn/fVifIKQR2feMD7HOhXNCOg05zi2SzXw1Vk7Y4Mt6AUWxoTDiSPurKYW27ljOoDA==" + }, + { + "block_id_flag": 2, + "validator_address": "E31533B82AC67AA1788B70BD7E985BEF8E1252A1", + "timestamp": "2024-08-29T23:44:38.150289567Z", + "signature": "RdK6T4WJz58PZ69g/ZhdtidYWRmMbAhibye8ZxHIjS7r10POQvMhkrTb1qpjzan60WhwnprDUqgMP6okl4raBw==" + }, + { + "block_id_flag": 2, + "validator_address": "58D29D3BCCEDEEE4B78F560584D7592CFF0947C9", + "timestamp": "2024-08-29T23:44:38.186371587Z", + "signature": "pUDRwpFPcxhZAMutf1F4vNGxYsgyTrqVLn5H6kz3LBAXMtyHS83hebBLcvodeLHKiSXkXqcYR8IdVlRmLztrCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "78A0BDAA6925BA19436CDF2A18FCE337C8C54520", + "timestamp": "2024-08-29T23:44:38.066969302Z", + "signature": "IdmCrthCiNPxSn5KZaRUo03Nb1wG4dUDJ02b+0+gQS4TPIqmpXJEadlq6ZC7GXkCAERBiTKMUs5fyLUtOh8cDA==" + }, + { + "block_id_flag": 2, + "validator_address": "AB7BBA86C7095D5BB2AF937398A4F96945AE15C3", + "timestamp": "2024-08-29T23:44:38.128942706Z", + "signature": "EIujzA4kwwAeF1KJoonr9RPLuZTlIucW9dxXBINf5sKoZSQhL/xCpb9QJtyFOn1cT7g6ootjM0Jcxxq8TkAYBA==" + }, + { + "block_id_flag": 2, + "validator_address": "407F144D1C9DEA4EE6A8CBC2D4C022A657506B83", + "timestamp": "2024-08-29T23:44:38.066839543Z", + "signature": "upMKncwDOpp/gAkBxRG30mymFbYj6ZViyZtEBl7G0WdXymjo3LFiuqqGNm2RgmovDRW/LM0NCk+XNuV1jkuwDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "59C270B760D49A286E2D8706C39FDE641925B5CE", + "timestamp": "2024-08-29T23:44:38.127089354Z", + "signature": "pP59suLEC9mc2nIPuGrCoMyXWmNX8zvE54M1Zpi4jcGoHGCajnbe25XLNLaSDGFKTXxFMUAs3bCh0jsyf3ejAA==" + }, + { + "block_id_flag": 2, + "validator_address": "F2AAEE5726BFE2A7B794F0DC414F3644A159C7C9", + "timestamp": "2024-08-29T23:44:38.176291185Z", + "signature": "Ku8Hhn8rLSaNEwQAzBkq/ZRz9eiAbUBZbixvREHhKuFteaamXnTsT/dCTliTZDXZeobAbjKHfyt/GxauSsJ0Bg==" + }, + { + "block_id_flag": 2, + "validator_address": "46759662382FCB47C7A7BF025583A415A05143E8", + "timestamp": "2024-08-29T23:44:38.072276167Z", + "signature": "wj3JX6IGKLlfp/nTmm6GSFpMp2Opvbl35Q7vxUdu3IKXCmrRGWubs/H4v27o7FYYGYxPJr/DFCmMH7O77E9mBw==" + }, + { + "block_id_flag": 2, + "validator_address": "672B3ABDEA631ECA654928ADD4B1596FDB5A16B1", + "timestamp": "2024-08-29T23:44:38.062992348Z", + "signature": "I48USf1bOXoZUycYTh+Xt4A0EX7Wq5nmEp+3zfGCZi0G46rBTzNMqzr4u3PpCNIAojs8u0pceCY1q7BvCzyVDA==" + }, + { + "block_id_flag": 2, + "validator_address": "734D445D854593CEFB8EF0C443E9238F07E777AA", + "timestamp": "2024-08-29T23:44:38.222075662Z", + "signature": "qC2zuxArS3DleC39gfpu8J6+VnoxzSvrOp0cU24x+B9ve4L8V8Pnr/EH3K8JCsxmC7iG7Cm16qEp/OY4eLegAg==" + }, + { + "block_id_flag": 2, + "validator_address": "AD3983F9D94FC08BD56F73FFCE5A857D7437077D", + "timestamp": "2024-08-29T23:44:38.158625216Z", + "signature": "3u8saTL7y5jSS8noaROjUEdxOt0od/avaEggAhLnonfPQR/Z4SiGaHpUkheRDQPFGIsbsEB1W/f1sqs9GSOdCA==" + }, + { + "block_id_flag": 2, + "validator_address": "D0ACC7204D713CFF9FB449F2D52C0545DC7C13E9", + "timestamp": "2024-08-29T23:44:38.235764602Z", + "signature": "CY66dxs1bbhkXtZjyTOG3mPp5ca+cVzAm0VGrnzREQWUdcNUZXjRwFGVnAUPZDubDEVGEpRQ7EZZ6a42zmrZCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "B5B32011EC0714DE2AA550E085A8B20036A10E83", + "timestamp": "2024-08-29T23:44:38.100093939Z", + "signature": "0cXPkMxBtj0NVmrN1P7Tc0NKICirhJscvtuURs+o+8ugnUcy7Wx1jE8piysAAogz4LQ1HK2E+ZLwmlFaFHkZCA==" + }, + { + "block_id_flag": 2, + "validator_address": "BB5DD48E6621A2103FBFB2FA9A5DE861E3E5532D", + "timestamp": "2024-08-29T23:44:38.094168557Z", + "signature": "dc1114zTK6nLkXL0i/6mRwFOpko1pps95L3frD5mCK5pmYMX/p8aL4lpxTL0Uj2uuwB+sL2b6cD56swztmyzBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "3363E8F97B02ECC00289E72173D827543047ACDA", + "timestamp": "2024-08-29T23:44:38.170473907Z", + "signature": "jdJteMWEe9nBcqnmHUevfdrTquwBOCsRkc/i47Z4Yv2V8qAJ9uVgmGGibt+uxZNUbcun5wSpI+C7UGgQOGj9Cg==" + }, + { + "block_id_flag": 2, + "validator_address": "477367218C9F92C3AD99B5D734A346CF7E8A3287", + "timestamp": "2024-08-29T23:44:38.086656749Z", + "signature": "JCDhj276zzLMjODXgchMIZNd26KUXERh8lDvCtyfMpnTmS/Bwj1M2ca/Nq8obMfpJ+snh1d+z8PCqBL5mmSJAg==" + }, + { + "block_id_flag": 2, + "validator_address": "7420B73F10289ACA18ACCD1CB5AB54882C04D2D5", + "timestamp": "2024-08-29T23:44:38.083872933Z", + "signature": "mJLYF8eZqmyqNh7c9bEedejxLczq3BuIw3IvvnJRKH5XNIFm94zedywWGV6QtrmQb14xf5SqkFK4lde0j2PaAg==" + }, + { + "block_id_flag": 2, + "validator_address": "12C2AA0DE66FA3F9D664D03D5D6F6D8216B6DA81", + "timestamp": "2024-08-29T23:44:38.075466162Z", + "signature": "0vdZRO+STIh167IQXroS7srtZycX4d3DP4q1+owWaU8152BG9a9Yrj0psbZ2VCGq2AMRHAgUo1UudmOTe4pkCw==" + }, + { + "block_id_flag": 2, + "validator_address": "782238ADDDAB20A994DF2A66506A6FD9706CB98F", + "timestamp": "2024-08-29T23:44:38.074822721Z", + "signature": "If4mS3NbSYpWkfNKJa4NVfXP1hZuwwJiQJxwqdof8CNzGsd+74EVicXGcygSy6V6afuLhciW1/dHheuqst6/CQ==" + }, + { + "block_id_flag": 2, + "validator_address": "8F40A46873156271C4AF17C6C0F6494F456EC0E1", + "timestamp": "2024-08-29T23:44:38.181182895Z", + "signature": "WR+N/2u+TY1HuvBKI9DmGC9sKC5joOiopIPuQsyOKb6X1D+EkjpLTvzS1Un/1Tw0obt+nuXVfGiGdZVO6WsuBw==" + }, + { + "block_id_flag": 2, + "validator_address": "000001E443FD237E4B616E2FA69DF4EE3D49A94F", + "timestamp": "2024-08-29T23:44:38.157548272Z", + "signature": "5IFtnnSEieIlBz9F1b9sK/T510ZuJT80n6JJXk1TE/1Kfo69gbrQrBket5k/D2IQQs4m63XuDWu/B05YXV6GBA==" + }, + { + "block_id_flag": 2, + "validator_address": "85530E727F953AAF9E2C4563A34493C2EF5A55CC", + "timestamp": "2024-08-29T23:44:38.117623357Z", + "signature": "IlKoXtYZpaNoN41DCGheQq70CRqpMvJOa0LHX5rgrOIo+c0SBwEnTUnbYH3Zb4m6FuiUtrKXB1xVDeHAd0hmCw==" + }, + { + "block_id_flag": 2, + "validator_address": "B4CC03F2ACA22C43DE1ED385A104BA86B7462792", + "timestamp": "2024-08-29T23:44:38.131057036Z", + "signature": "qciSKi4PYgCTDnH7n255GuJm2t2DwgnBipueHZ33ocFEaUGAWuC21cWfNSoYW32C5ZO3xZZ0GKctvfXA8e3kBA==" + }, + { + "block_id_flag": 2, + "validator_address": "A4F1D5534F3FA905A4DA606E8A10834976511FF7", + "timestamp": "2024-08-29T23:44:38.143519989Z", + "signature": "OP8mDHEiGpCFr283tFv1yvIa89MfqZ99BAq4QxFKKBH/fDav58mVw3XCF4wO+TzXAy61Y8ElWCWECqW6NgvUCA==" + }, + { + "block_id_flag": 2, + "validator_address": "C52ACDB32057F5C731BBDD48460B93C3500DD324", + "timestamp": "2024-08-29T23:44:38.091126815Z", + "signature": "nE/imtNkFdAOQyND8SdqTh/eGHE8vrFbCa1WWrzFcjtehHTm5omc72fkwfatBO2KV4/kJiIXk+ByO74F/2fYAg==" + }, + { + "block_id_flag": 2, + "validator_address": "D5EDC934314C89B45952620E9C992B1DC9018442", + "timestamp": "2024-08-29T23:44:38.11017036Z", + "signature": "vG1paN59WbkUGbBZGSE/JFGCJDQd5UfC7diqNSOginrXKGQxjAA5l3GaUBNm/9uliTvSn+vIq35BBmQzVlY9CA==" + }, + { + "block_id_flag": 2, + "validator_address": "B0765A2F6FCC11D8AC46275FAC06DD35F54217C1", + "timestamp": "2024-08-29T23:44:38.170444171Z", + "signature": "sY3DLAW/wN/wMdIMNmGAfHa982vG7g7z1UEEjVDbK5xtFZoO1gth7dxeFhGB6qND+JkmXxsK+SfrJi281c2KDA==" + }, + { + "block_id_flag": 2, + "validator_address": "C2DDD9700CF5DEC0457DC423829B31EA8FD4F9D4", + "timestamp": "2024-08-29T23:44:38.073547348Z", + "signature": "EqCYGmFXtht9hNJOCvKIxR6ypgfEeZAx+uNCEBiRRZG4Q//4qsKJcD3TFsTt+H/2ODvde2WCx5xHDh+FAdp9Dg==" + }, + { + "block_id_flag": 2, + "validator_address": "2DF871BCA6733FE3AD33F69A06F8AAC4C6B5BB00", + "timestamp": "2024-08-29T23:44:38.138978108Z", + "signature": "u7NXdZfNpYZBvdwGHn+2gsfOy+JEO24EomtnSa8sP7sBpa2DPYlY5hVsWKZAR8psehOCq+3T++Elo18CAH0gBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "BBE55ED9B2E416E2B37C13BBEE9CD6E7AE314716", + "timestamp": "2024-08-29T23:44:38.06449854Z", + "signature": "FB9TukWqFBBMBgjgPZmP34aJxPRFwylXNnJi4zEOLFNietj/ngrQjJfpKOT6q9cB3UxWYsT7NzOqNdYE5QKZAA==" + }, + { + "block_id_flag": 2, + "validator_address": "6E2234F881817A7DB997D59400518591F692A14C", + "timestamp": "2024-08-29T23:44:38.112272997Z", + "signature": "k73/yIwFQj/x2929I1dvFw0+ZIlBM20ncxWBC4tmXasb4c4w9aknFf9q8pl06vDkokR0+kziBgG4450xw0TAAA==" + }, + { + "block_id_flag": 2, + "validator_address": "C2356622B495725961B5B201A382DD57CD3305EC", + "timestamp": "2024-08-29T23:44:38.154921236Z", + "signature": "yxUeii3vN2t41bC753tGxud8wwNzAgYscM8CiOJDXAZUMlSK8PoKV5d1vcxY1/g23uMWnHZ0m8D647F6lEsqCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "C4F6210CB772C0B37FF8520547EC26BEFDB1193B", + "timestamp": "2024-08-29T23:44:38.149982554Z", + "signature": "vhyUc8eRH+TixQxPAfn6Um8BnVFjPC1KN61xURHbUmPE1t0Kfy0ZGAPvAABwfL6dR9oo6RA0/CFsE3B0ZkXvCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "B2336DC86A74A6F8552D7F686AC0983EF4E0B0CE", + "timestamp": "2024-08-29T23:44:38.326901056Z", + "signature": "B5WhkcJ+qJnbPEKALI2c1133HvZY9G3RlXpS4y0KA7m8PYzD3Mn3ZSrJfbAvgRaLzhEek7PkoXgCPVrIKOjPDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "6A4D14A7AC9B4F7C7F28DC9046E5029D1BF09F41", + "timestamp": "2024-08-29T23:44:38.074645639Z", + "signature": "c5mPcY99BuWVjlglnBwJtskB7RZt1QjzD3LPwa3o70r4aV5ZSKoy8mtSWmWV9V8Gg82wEAkyt8MkLNOGb2JPCg==" + }, + { + "block_id_flag": 2, + "validator_address": "FAEF5C328BB4D49C509C254C6D0E5E7304309AD6", + "timestamp": "2024-08-29T23:44:38.212592614Z", + "signature": "KdpmbQMbB6//fXUVa9vjWFX/r/5TrVQbDuSqgTBSSa7rwjmZ5/59jZ+gVu8BOPc2drMy9pdeKlVFWTrdqsnJCg==" + }, + { + "block_id_flag": 2, + "validator_address": "818964B4FB36D28109C3E853778B33231B27C5FC", + "timestamp": "2024-08-29T23:44:38.233694349Z", + "signature": "XlsnnmQpYf9z4qOKxxPePGj5Nyp8DC4HY7JeEzGQAzUn50TS8sFvY5H50mX6NuDxy3QOLFqpBP56F+ZlbC5JAA==" + }, + { + "block_id_flag": 2, + "validator_address": "B8D9C7132A42B248574436AC203005D61B3F5AA5", + "timestamp": "2024-08-29T23:44:38.088410417Z", + "signature": "Wh3DBzAF8rThZ/KLsJSJM778XG3BHtAlupHAAwFUZAAvY8L7WQIl59jkTnLUQUaqb7re6rLZVfP10v1MJXyeDg==" + }, + { + "block_id_flag": 2, + "validator_address": "0939CD5EE88F6E4101175096450BB25D2DFAACE8", + "timestamp": "2024-08-29T23:44:38.086950036Z", + "signature": "BhR7UxB4uKbEvAzmb3lX296juXlf+yJWkudHa1NU6CvdRSRAd5sh9/pTrkBT2vh+M+iOGUu4SCX3XwkBlXNDAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "6A51554E8C0CF3165A01C675A98A2C38B6EB512C", + "timestamp": "2024-08-29T23:44:38.165249954Z", + "signature": "AI/twIUC7hpoXtBldqUjMY6CjI5Cic3LWC9p0VVb4NUVCSreqrXSj0mYHkABf8j9OWMX+PcuwCoVQZFVRZTWAw==" + }, + { + "block_id_flag": 2, + "validator_address": "5C17605BCEBCE13A7BA58DA1BE0175B8281E9646", + "timestamp": "2024-08-29T23:44:38.121464502Z", + "signature": "loH8opiXKJ+3QgfHQoVcxZZ49w49sWN12CAq161YbzWQOXu5VHECQ95eiDtIQPdtI+UwuKzswuj+5Vb+WFkRAg==" + }, + { + "block_id_flag": 2, + "validator_address": "48FD560D3CB0B552924CBC0F9C2BA68883FA1135", + "timestamp": "2024-08-29T23:44:38.118683093Z", + "signature": "ZZA243Spkyzf2MROxVSjtDviFZ1qGhwr1r2Zh0wex746KU/roF8xmJP/pzmfD8YjHHsPPz1SfT77M3KWC4U5BA==" + }, + { + "block_id_flag": 2, + "validator_address": "1639E3486FD75E5447FFD26232A80F1ACE76CD8A", + "timestamp": "2024-08-29T23:44:38.136826019Z", + "signature": "aCjjjxwG3QQ4AdaC87JaZBaCP3iXcvf3D05qQ+41d9uAKWrj3yreKP3Tk3vKbGDYjYmxJ1EoL0GKWyPUslbrDA==" + }, + { + "block_id_flag": 2, + "validator_address": "21223475CE86F3C7CD5E985AA88FC24A29C97813", + "timestamp": "2024-08-29T23:44:38.137267807Z", + "signature": "BhD0LzWVgyZ5WgW9jaA5WQaDrd6/sLZfcUKa6Z3ss26KyxAbdbzSIiPLYFxMp5VsIgTUCV6J1IMG8aTwUHq0Bw==" + }, + { + "block_id_flag": 2, + "validator_address": "9DC4012099BE743189074B85E49891AE3B3FEE9B", + "timestamp": "2024-08-29T23:44:38.079504319Z", + "signature": "Jg9VBIepWXLFs/oHnGDqBpUaTm9MSMfHjr3n1AsDfJWhlRsP7yg42UZ6f7/UOgM+/h9Sk93WAzIOGB80yQTcCA==" + }, + { + "block_id_flag": 2, + "validator_address": "9C15C2E717D3DD96AF0924D234405AE98B12BE7F", + "timestamp": "2024-08-29T23:44:38.07299947Z", + "signature": "PNCwML6IvVwA+0GftjXeLAUSiCdI7AfQDyATurMQTL6OWTSrVL165DFgnB2QxxbukPaOILLTRYSldM3caEh2DA==" + }, + { + "block_id_flag": 2, + "validator_address": "9DF8E338C85E879BC84B0AAA28A08B431BD5B548", + "timestamp": "2024-08-29T23:44:38.157284724Z", + "signature": "oJsavW+kkhlc/AvSj0/TscBzVW6WlYoEAkRTPrI9JQ4gx3QBlF9a1HUP3o1u4ZCmA8zVvGF5u9RRaBbQsJrDAA==" + }, + { + "block_id_flag": 2, + "validator_address": "3A66B4B5C4329A14D451955D403BB763DACD87CA", + "timestamp": "2024-08-29T23:44:38.126244045Z", + "signature": "ZbEGqp6AZ6H5yvxAK8LjLb/voR0trhZ51ImwKksoOJxJW6I31pDLqEe6ZIFttmvuCgkA6XApikJaWvaKNloWCw==" + }, + { + "block_id_flag": 2, + "validator_address": "AE456A85A5C6D46FA350C3EC2DCB00D661359E20", + "timestamp": "2024-08-29T23:44:38.081378895Z", + "signature": "wxvmskjl7gLwKRkn1MKmYlPTsbM+Dd8Qr/7/sqhgVFhVfOzYi8FNcMRjc09+37Z8U3jwVx2caTTnlgA/H4HKDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "2B9A55D3BF93D7375DD207B75C5ED4D2B91D9146", + "timestamp": "2024-08-29T23:44:38.089131756Z", + "signature": "8lXBXpHpAT1ywrCZ5iSJH3jMy/lQt0p4guHAlTIRTOaPG1YmTllI3CX57d3JKsvC0PJCXrSp6H21lLlLnFFyCw==" + }, + { + "block_id_flag": 2, + "validator_address": "24935D59FAA94E793652CBF4716C6041CD7AA400", + "timestamp": "2024-08-29T23:44:38.072018877Z", + "signature": "DM58DIYApsBarrF+wsM4Jojm1Ql5729Nc3EyS2OlOUlwxf8sY88AQCHVfwPhKMZqDxxuDd95+yfT92NWoVYgDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "1AEA8AD7C2BB352C01CDFD6BE21CE8E3B6FCE593", + "timestamp": "2024-08-29T23:44:38.092876673Z", + "signature": "7c4R+qiVvk6l3b+1aip8/iGbQny28iwutr/oV3jvjsuGzpiva2kSKnNt/opq7cIIhfNqjCJXv93jQb0jj8L4DQ==" + }, + { + "block_id_flag": 2, + "validator_address": "3A0AE77CF62CD9420CA0A5C01E8DD57441676E5C", + "timestamp": "2024-08-29T23:44:38.245272859Z", + "signature": "06Va0SEyZjHZIqHdH4U+/aYks8X9SZRWMeGt1X+bb6jHegJk5Bn2C7VM32gsHm0nICm924NTMmerIrjIDwa7AQ==" + }, + { + "block_id_flag": 2, + "validator_address": "42D6705E716616B4A5442BDAA050B7C6E9FDDE43", + "timestamp": "2024-08-29T23:44:38.137414063Z", + "signature": "DEwHkMiC864x7w9W4R0tKoA8nANJZQ4eEovyJEpL3FTA3/iBkkOWyC+1ISyhXwsd4r8Co5Joc922e2TvDOi+Bw==" + }, + { + "block_id_flag": 2, + "validator_address": "D4C1FE6B5803DC81486BB3870A35E91131F14196", + "timestamp": "2024-08-29T23:44:38.214795429Z", + "signature": "M8QxVqJeR7Ac2YNtkWltrqFZnIYF885PVGD1ZY3P1Fuc0WEPvYuWxhQ/36uEUCSkSNcoI3VpwDXFFg8zQUNMBA==" + }, + { + "block_id_flag": 2, + "validator_address": "6C4EC11EB897B964A706FD02AA83977BB3FE0952", + "timestamp": "2024-08-29T23:44:38.255628801Z", + "signature": "jhpICuLw+H80+T2QyJvIQru3oVPDJyDpM5K6i+cUpTa4MHm0Wrji3GyzaL+JFGg+tFdOyr4YUWnUEFzrXI3vBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "B441A6DCF90192E939A65617EEEAD383FD922C5F", + "timestamp": "2024-08-29T23:44:38.207075446Z", + "signature": "H1GOmOKrmfYmh3G0nzqVcqCt0METma4o/ZqGeR5rwCdXe2ju7cRlFQLQd6g7cp8jH2XEerZNdMpPxkNM1i6eBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "BC0AA11E6DFAE242D9E54A83BEBDB3A122C5E098", + "timestamp": "2024-08-29T23:44:38.063107425Z", + "signature": "BrjCxR0hYEEuTt2xkXRMpOUXqqitzJkTPD4imrEa+dbbF0q7RETE/KUb4iI4RyNIDJm8p60VtsqwF2CPyi7xAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "220415F1CC4021AFB153CE8F3A8EB70DC91F58AD", + "timestamp": "2024-08-29T23:44:38.125450743Z", + "signature": "ncvIn8dOcGtLeqXK0yFFSEamBXgBYgKHwN/4gvQw1PO8JKIUuqRPfaVwq/OYSm9se1Mwgwe9G5tZ2xS0WKKhBw==" + }, + { + "block_id_flag": 2, + "validator_address": "FD5D54E0D9E4768FEA4C0DFFDC89FA96B6657F32", + "timestamp": "2024-08-29T23:44:38.096152938Z", + "signature": "nhqN7Lv2UpQDC5zNgd7zoymI0nlYNN1XQnhJskQ9JX2jo+8kVn5tntwY03IBZINd4rSCaLq0oRlH6B5EdKAYDA==" + }, + { + "block_id_flag": 2, + "validator_address": "6C50CC44B4F1DC32ABD2970D8ACECB204ACCEF85", + "timestamp": "2024-08-29T23:44:38.071678188Z", + "signature": "ebq6zJTl6zLeXrUppHTPNnggP8LgEBHpKpGwhkttFNsG1hV+k0tE8mkAGAzZQogDv4SsDbgEB0tdqnRRrxOuBg==" + }, + { + "block_id_flag": 2, + "validator_address": "2C9CCC317FB283D54AC748838A64F29106039E51", + "timestamp": "2024-08-29T23:44:38.11341929Z", + "signature": "dm+6xi5B8h0CpmdCR4MYBfSHwwri74BmXTvrKLqvoonPZ4gTmzX5gsTDnnb2/8TFsWsQg8EvoaeppWKZyOwvCA==" + }, + { + "block_id_flag": 2, + "validator_address": "08F1DC39C9966130B9608EB8C234FA2174361FA2", + "timestamp": "2024-08-29T23:44:38.103802672Z", + "signature": "v3aqfUxKy78BF/3cjCagwXeyjdCkZfICd9Lbnz3+OMXw4dvZdQIMjIn25miZonIu7dP/dsqXHvQ8ERKalLK3Ag==" + }, + { + "block_id_flag": 2, + "validator_address": "ABF56B06881572FD0E8CF3DDFC29D8790CF86DE0", + "timestamp": "2024-08-29T23:44:38.145550428Z", + "signature": "6O787wC0ebcgwRoQNdxA/EfQ0EneW6eXMPvYTMc1BrbO54Wjk0EmG9sSzCblDgZfY4KwIhYvgqY2r/bbyjrEDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "000AA5ABF590A815EBCBDAE070AFF50BE571EB8B", + "timestamp": "2024-08-29T23:44:38.095644777Z", + "signature": "2K83CK6oFj5SPjfEFbX27fmP+a9oenqcj1AQvN+AUaDc1QXA+2kXC7/tg2yIltOaGIA1zYjV44L+5oM6Aza1AQ==" + }, + { + "block_id_flag": 2, + "validator_address": "B0155252D73B7EEB74D2A8CC814397E66970A839", + "timestamp": "2024-08-29T23:44:38.171077285Z", + "signature": "w0qv4G6Gj0khuJkPgriMch49CueM/DkIWA8DfFSzOMjWoePABKTK+6yILyhgPHsMm/kgcQb41L5il4TlVJc+CQ==" + }, + { + "block_id_flag": 2, + "validator_address": "A7D9E6DB8CA5E46A61AC36235D4C8185F7BF11A4", + "timestamp": "2024-08-29T23:44:38.18793375Z", + "signature": "apRReQx5L9zdqRzmHs6GeD5sl7YVnwbGVJdpo1J9Xwg6E+gkZji250MCE5ljVKNl5LWJp9jP3NpgIoTwWafeAw==" + }, + { + "block_id_flag": 2, + "validator_address": "70C5B4E6779C59A24CFD9146581E27021C2AEC26", + "timestamp": "2024-08-29T23:44:38.105191125Z", + "signature": "mh6qpqOhYbCi9OgAHFUNyk8TsZjtU3+2oefA6j27+z24FLonFo1HstLuqySZ9GjA8Z2TIFO3s7hsSYlKf15TCg==" + }, + { + "block_id_flag": 2, + "validator_address": "B543A7DF48780AEFEF593A003CD060B593C4E6B5", + "timestamp": "2024-08-29T23:44:38.094072673Z", + "signature": "x6BuMp58StSq62b1AUB3fsiSzNDI7HDl8oOawRzjjQwb0WfrRCAgBNyGwTOVXupRHGjc4IHKjm0BdlnCWBbMBw==" + }, + { + "block_id_flag": 2, + "validator_address": "5D741966C127B6F66C09CC86DC9E4AC2E28263C7", + "timestamp": "2024-08-29T23:44:38.11260553Z", + "signature": "oaR4iju+uLIOpx/sp/H8HjgvawJXtt2yosEO/em4VpewwW/P+l7IyhFe1U4E592vTsJX4v0uBDAY9w41EccBCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "88A65045F5EE502560826DA07F739BA9EBA8470C", + "timestamp": "2024-08-29T23:44:38.245877425Z", + "signature": "rxmfLmq0W2fRXMFEBi+OOjhZPu+r+SHMUhvknlX41mJxY+jYcApxBoJh3ltOwSSjlURaF7RgdwQL7LgmZxC+BQ==" + }, + { + "block_id_flag": 2, + "validator_address": "EBED694E6CE1224FB1E8A2DD8EE63A38568B1E2B", + "timestamp": "2024-08-29T23:44:38.186999192Z", + "signature": "WIfYHveWHRHihXeBeOENHD1930UmN5MQCrNx2WsshWxL1sUAdT+oDoTnofnW4uRE8HsEhZpb4LTKN+7wubs6BA==" + }, + { + "block_id_flag": 2, + "validator_address": "57713BB7421C7FEB381B863FC87DED5E829AA961", + "timestamp": "2024-08-29T23:44:38.081874058Z", + "signature": "6+1XN8R1YOzruAtO/GkYz8+WFEYhjqLxQLZJ29DSaHTKfaQB6yWqaXTErLRVtpyO9byUxqN5UmcHM1n2IUFRCw==" + }, + { + "block_id_flag": 2, + "validator_address": "37C294DB858DE3BCE9B828F54F0EC4460E0FC5AB", + "timestamp": "2024-08-29T23:44:38.173612878Z", + "signature": "ii5PT4AxS4EDqCg46wIb9N3U/RqENYR9WSuws/rLjU3Nmo1L+QfURY4WVnxy8y7hteEhCFaNOE7mE6ex/V1nBg==" + }, + { + "block_id_flag": 2, + "validator_address": "8AD0BAF8CED3FB50E80AAE0503A27DBD2857657E", + "timestamp": "2024-08-29T23:44:38.14667915Z", + "signature": "1jrkFSVV1ClTEUaXQNPlDpS804ZfZMwxFTeOGl0+MNsIkInzKv6OrIb5OhCtZDjZQ8MQ/hFcJTg8hL8Z23Z3DQ==" + }, + { + "block_id_flag": 2, + "validator_address": "808D6B054A0B6D3FF5F5EAF0A65CFC64C543F833", + "timestamp": "2024-08-29T23:44:38.135098579Z", + "signature": "ZyRPQJg23phe4dfIYg9vrL547U95DkIxnIdEbxDKo80MKtP5Q9OrOHQKTrMuZ2l2ulPLsMSH0/btQTgy19jUAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "906B072AEDA053B19643456E63DED233640D2D91", + "timestamp": "2024-08-29T23:44:38.158484267Z", + "signature": "eSF44gETfaHBd7y7zWxvkpXRfqCmsTx02fp0WncYYMNsJ9r7Iq5DKpH+m916D6GDMoQWA6VW2WLki7eGHsclAA==" + }, + { + "block_id_flag": 2, + "validator_address": "8C8802A921114169D2581CD46E3CA6853F6F2A7F", + "timestamp": "2024-08-29T23:44:38.069637656Z", + "signature": "/djJl+mBOhR1X8XfHcyOpAG8mYoCcPRTcQo7kWGmtAju2ANLqWr5D98l05n1DkTCGs5HDji6rLHssPtHRcvGDw==" + }, + { + "block_id_flag": 2, + "validator_address": "75CF712C0B8BBBE179FB3C1E647797110C56DC88", + "timestamp": "2024-08-29T23:44:38.098535726Z", + "signature": "SaHS+VHR5iWzjv98m6w4wclNV4tQ1pXy7GcfYq/XusX+xcfp4H3gFtLrqAOACShqCeDrKCM6ob9DIdLeedcWAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "4289F79D6DB33096BADC366981B663BA3CB3F85B", + "timestamp": "2024-08-29T23:44:38.148927368Z", + "signature": "kEH3nnsdacVA3hHIbmR/+TGOFu80bSJuS5E/akvEghBtFcMQppMlziexswoP9Q2swSA9PSq0y6HI+NbPeo/TDg==" + }, + { + "block_id_flag": 2, + "validator_address": "AA355DECB1BCB6B6B24ED87B24918CF33FF19149", + "timestamp": "2024-08-29T23:44:38.243401874Z", + "signature": "1aBJdqPMbRxnPUqUohCxs0VOb+iB3IRzYciAZfJPoYQ/mDZ909h4MlSOnQY6OzkL159GT7nODwflNOMSBJ/EBQ==" + }, + { + "block_id_flag": 2, + "validator_address": "B399CADBBD1F5DFB957ED290D204C5B1C3379E4E", + "timestamp": "2024-08-29T23:44:38.189067051Z", + "signature": "H7v48BTD5nHNMhVBNt5Hx9QMHbfLSSvvwfQJ/0yJ5zwNoqyOy8SDZrND7uIeUftJ8b+kUYCepNxgenz+EXysAw==" + }, + { + "block_id_flag": 2, + "validator_address": "9CF389DCC22F0070A641E76F483566B23B834B49", + "timestamp": "2024-08-29T23:44:38.186580464Z", + "signature": "H0eRuIBXZJb2Os62mdB3u0dMO5H2ZGuEvh3FpsmoK+AzAjiFTjQ1UQfelX57dAdlDXzyh1B8NAjarCtpjMfbAA==" + }, + { + "block_id_flag": 2, + "validator_address": "009037C2C75632F3BF9E39A11C0E81EACB262D9E", + "timestamp": "2024-08-29T23:44:38.211934642Z", + "signature": "9eEUCRAlMeKc29DxYrDDVAVRrIiAmas0OHc2VoQLASW8DUE1l3IcR4Ymmv/lZh3+rxbjUEkKQY/r/daAi892BA==" + }, + { + "block_id_flag": 2, + "validator_address": "FB6D209DDFEC949533ECD5360A8F05F0DB58159E", + "timestamp": "2024-08-29T23:44:38.127951767Z", + "signature": "RqhL4OxKSyGu1AzlqneNuWUwdaG55o9oiuIprMobQRwLluDkgBVk3VF41JA5Mwa66eC94qkhuT0Rf/GtZcHSDQ==" + }, + { + "block_id_flag": 2, + "validator_address": "A47115C09F846F46F499F381B35B452725204987", + "timestamp": "2024-08-29T23:44:38.083264988Z", + "signature": "v04Yoy23y3i8PcyaYqVKSnkf1LzsBnRyzratj7w3GwQeqxH0YcUBFQPo0TM1R9RhrqAGiwxxN8p5+aalkJFLDw==" + }, + { + "block_id_flag": 2, + "validator_address": "BAC33F340F3497751F124868F049EC2E8930AC2F", + "timestamp": "2024-08-29T23:44:38.137533741Z", + "signature": "ISbZGSX6RFw2otx8qPMG+v8gdYp4ttLyZbtE+5A5Y7Uwfat0vh0KlO3Vl1v46M8GrBBldylXpyoJ7D7EPXsrCQ==" + }, + { + "block_id_flag": 2, + "validator_address": "CE768033D727C6A28980AEF7372D124327C810A8", + "timestamp": "2024-08-29T23:44:38.066744487Z", + "signature": "5RKXR0dvK0bWNpfJqfhKl5QWmZa+iuW4qzjxZuk5hGiLe2u38L0Kg19el7SdZLKb1xYcTPoE0wXXdauj1R+zAQ==" + }, + { + "block_id_flag": 2, + "validator_address": "F980289635BF436027DB3A5AE06A0B9E7778819C", + "timestamp": "2024-08-29T23:44:38.096159732Z", + "signature": "1zG56Lr2LcYSHaI6EnDVsP4u4kzzbFKGVxP2FiT3wmcNCnXWhJIJAw742CDd2q7o1Dj5BFHjoLQF/K5z06/sCw==" + }, + { + "block_id_flag": 2, + "validator_address": "D7F7C79487C10A5CF1ABEB1DBD81E8D49757C422", + "timestamp": "2024-08-29T23:44:38.129540942Z", + "signature": "AJKSTpCjrIFnRpxIAD9EEqlx8r2dwRvobRU2camMuzebH6t3AbLORAlO8Y+efFIhGRS7cX1lZ6j3er73p2CdCw==" + }, + { + "block_id_flag": 2, + "validator_address": "8FE3CFFA6A07B093E441BB84DA1B6DABF53AFA2D", + "timestamp": "2024-08-29T23:44:38.249802677Z", + "signature": "S2MAgNqksbl0eGebCRfaafGFO3VMPOTdDJfJBdTydOIoOQkmwbjfqqvp2EERrWOApkqwG9v6gZGyaXJSTnBcBw==" + }, + { + "block_id_flag": 2, + "validator_address": "EB1DF22507B79CE700F86C4C8B13D7DF01DFDA9C", + "timestamp": "2024-08-29T23:44:38.125308452Z", + "signature": "2uLh7gZV1j9FECu0///9Cb8MSeqYqdlTBZB0jGQOfgzBB148mqYI+nMeDoCm+tGFUCi8Ki+FBWNy0fqUs7XACA==" + } + ] + } + } + } +} diff --git a/assets/rpc-tendermint-error.json b/assets/rpc-tendermint-error.json new file mode 100644 index 0000000..d3790bc --- /dev/null +++ b/assets/rpc-tendermint-error.json @@ -0,0 +1,9 @@ +{ + "jsonrpc": "2.0", + "id": -1, + "error": { + "code": -32603, + "message": "Internal error", + "data": "height 1 is not available, lowest height is 17966501" + } +} \ No newline at end of file diff --git a/assets/rpc-tendermint-validators-1.json b/assets/rpc-tendermint-validators-1.json new file mode 100644 index 0000000..061178e --- /dev/null +++ b/assets/rpc-tendermint-validators-1.json @@ -0,0 +1,911 @@ +{ + "jsonrpc": "2.0", + "id": -1, + "result": { + "block_height": "21955392", + "validators": [ + { + "address": "D68EEC0D2E8248F1EC64CDB585EDB61ECA432BD8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "LtiHVLCcE+oFII0vpIl9mfkGDmk9BpPg1eUkvKnO4xw=" + }, + "voting_power": "24631503", + "proposer_priority": "78144233" + }, + { + "address": "099E2B09583331AFDE35E5FA96673D2CA7DEA316", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "e3BehnEIlGUAnJYn9V8gBXuMh4tXO8xxlxyXD1APGyk=" + }, + "voting_power": "12231418", + "proposer_priority": "20060242" + }, + { + "address": "D2D458F9209ECB8CA2AAB1D99E06611B812A8797", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hUDXospsiB6oJVvkRVB2IyanCHs5hiaeqoEWzp9be8w=" + }, + "voting_power": "12001499", + "proposer_priority": "-44133485" + }, + { + "address": "1CED30733D1625C89AB698677606D0E37B3676A9", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "dhhD3I5QbtC870Il4IzML5Q2AwVDiSn9/HJ9w09Rgdg=" + }, + "voting_power": "10326278", + "proposer_priority": "47230766" + }, + { + "address": "9CF8AE1FD507F97A054250582FFE52922C8D3705", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "13QaXby84V+Ueu3Y8NpasgALcRXzl29k2A9K/3FRQHM=" + }, + "voting_power": "8859081", + "proposer_priority": "51261589" + }, + { + "address": "2199EAE894CA391FA82F01C2C614BFEB103D056C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "C+VWc34ZF6n/QoIAXo4191OwKxQWpbFnrGKCqcNbe1E=" + }, + "voting_power": "8435092", + "proposer_priority": "48577899" + }, + { + "address": "25445D0EB353E9050AB11EC6197D5DCB611986DB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GUqbUS+7PeplNfxVcnDIyrXTLJPNdJQ4MQ6kBg5eYpw=" + }, + "voting_power": "8010144", + "proposer_priority": "-18338210" + }, + { + "address": "FB4FB25A61B493A5BF8E3CD4B5E8F5B404DA8E23", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "68r8DAukUPMCZMD36AjOsf6qRTFj+V25uaE1EAFRAAI=" + }, + "voting_power": "7490575", + "proposer_priority": "-2039504" + }, + { + "address": "3B845C9AF1D69E9FBB620B69AB226B28BAC97985", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "8KD85R8EMmFataztLyUO40jp1o21+A6pbsoAL/m1SBI=" + }, + "voting_power": "5842650", + "proposer_priority": "48608859" + }, + { + "address": "6D701FA59532688DF16BAF9521137E8C14CBB316", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Aum3ZbNR/pFXYLA5yeL4Zeyr6v1BFrjy6sABnvyWnjw=" + }, + "voting_power": "5733332", + "proposer_priority": "44896579" + }, + { + "address": "AC2D56057CD84765E6FBE318979093E8E44AA18F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0kNlxBMpm+5WtfHIG1xsWatOXTKPLtmSqn3EiEIDZeI=" + }, + "voting_power": "5687365", + "proposer_priority": "-13819838" + }, + { + "address": "15F4811CAD3266058AA182D3EFC8D9DA2A4A57E7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "7EXK4t6Ri9QBfQS8K2rMY9mvBIUfecr2JL3FPDqKirc=" + }, + "voting_power": "5400581", + "proposer_priority": "81428612" + }, + { + "address": "F59734A896A7689436BC3422244FD862AE189C5C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Qajjf1kiAJ0M1UcH1TSUYLP13kgE128Av1XmGQO711c=" + }, + "voting_power": "5153188", + "proposer_priority": "-63042820" + }, + { + "address": "679B89785973BE94D4FDF8B66F84A929932E91C5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Roh99RlsnDKHUFYUcQVHk2S84NeZfZdpc+CBb6NREhM=" + }, + "voting_power": "5126416", + "proposer_priority": "-33461478" + }, + { + "address": "DA6AAAA959C9EF88A3EB37B1F107CB2667EBBAAB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "KbhRasSMxRtStejqK/Ayzexm/DtavlfbNjWGznPXMlE=" + }, + "voting_power": "4953254", + "proposer_priority": "85660941" + }, + { + "address": "978B1D128C6B2FAC528C7F96B7D2EDDDF82A1B9E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "IP8ovHc8UqvtfE7NxHLk4Phf4RLsikwOgobyD+e6gpA=" + }, + "voting_power": "4877779", + "proposer_priority": "38046039" + }, + { + "address": "31920F9BC3A39B66876CC7D6D5E589E10393BF0E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "lh/p8UTp1kF8+4noOeInUG3PuWpFzk6Mnopj0updt4I=" + }, + "voting_power": "4622499", + "proposer_priority": "-87766279" + }, + { + "address": "51DB2566204EE266427EA8A6CB719835AB170BE9", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ovdfH/edW89+uiB0lHC5OnCbQfKtkn8G1RHZiOP4sYQ=" + }, + "voting_power": "4590488", + "proposer_priority": "39798214" + }, + { + "address": "019B9CA2944D3CC36C7C73283EF3D58E56C8A5D4", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "pTcg/QVBC+LzpR0BuynDpMkNh4tajyeKCOtmWMfkvFU=" + }, + "voting_power": "3768157", + "proposer_priority": "30895963" + }, + { + "address": "5A59DC8746FD727FDDD5CBF5CBB90C6F616CCF9B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "CM0tuwBVM2UPzc1eKOvvraQdSnIWC3riTabKQc2pvYc=" + }, + "voting_power": "3542989", + "proposer_priority": "-61639737" + }, + { + "address": "CC87F56B58621811E2B5A47F38C6166E295CE36E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BewhITg/tAUf0yKYX4HbkHM+CsL8JwWPaPWG4Y0vCkE=" + }, + "voting_power": "3265205", + "proposer_priority": "-93438238" + }, + { + "address": "0B42E47F154E24D10184BB12E32347AAC61C6B80", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "U4ssXnFQCpZV/hZh+r3L71ZloasEcXR//LdIVR9zQb4=" + }, + "voting_power": "3153125", + "proposer_priority": "-93536032" + }, + { + "address": "3DC4DD610817606AD4A8F9D762A068A81E8741E2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "kV3qRBIfvOsBRS+YygBbRX/oNgxeGRtmAe4BuKjUB6A=" + }, + "voting_power": "2655894", + "proposer_priority": "114256407" + }, + { + "address": "83F47D7747B0F633A6BA0DF49B7DCF61F90AA1B0", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "W459Kbdx+LJQ7dLVASW6sAfdqWqNRSXnvc53r9aOx/o=" + }, + "voting_power": "2503574", + "proposer_priority": "-29556003" + }, + { + "address": "E070FA4F050BAF7EA2761C52A6A5715780681939", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "t9l8HjwxL8WVwanxbZTOv7YNeUIp5EnMwg2xaVgi8I0=" + }, + "voting_power": "2499032", + "proposer_priority": "-21148610" + }, + { + "address": "B9ECE1D7B4DD80E868263EA3AAF272B9C7F1292D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0wQ1SJucRxDeAVwCQzFinkm3K0UkOlnkf5Ll+BluDQA=" + }, + "voting_power": "2319818", + "proposer_priority": "69827788" + }, + { + "address": "4EB1282675F724B59026F2173C23F0DC9936F118", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "5qKdBzdr8XHw2BWR/8yEceFRWEjGpzsqBo6q0OVkf9g=" + }, + "voting_power": "2292351", + "proposer_priority": "-7398004" + }, + { + "address": "00CCEECFD01B2D333A1B56ABF7CFF8A6B8ED25B1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "4JG2XY/etwz9fe4rDCAUkaIxpI9jmgiJqKqZQxp3758=" + }, + "voting_power": "2180382", + "proposer_priority": "103238032" + }, + { + "address": "D9F8A41B782AA6A66ADC81F953923C7DCE7B6001", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "n9bW9hmvwSwm/AnJtDwZNGA+2RSoQsfoMFsc2Rrb0vY=" + }, + "voting_power": "2053502", + "proposer_priority": "98350424" + }, + { + "address": "81965FE8A15FA8078C9202F32E4CFA72F85F2A22", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "PflSgb+lC1GI22wc6N/54cNzD7KSYQyCWR5LuQxjYVY=" + }, + "voting_power": "1974007", + "proposer_priority": "-29793389" + }, + { + "address": "8F168F8AA2B85C328DE762FA1345C58153B671A7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "247X8BFWuLJHBxLi9nQFs9B9vG3u6Mak4bRn88USyI0=" + }, + "voting_power": "1875649", + "proposer_priority": "-76216731" + }, + { + "address": "170FEFD6D7F4A69AAE70A24415FC4E2C928DE2E5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "N7D/fL/Hgpz1UG5J/wLgo5GXvQM11/lJyCg1BjAqUjY=" + }, + "voting_power": "1852993", + "proposer_priority": "62725070" + }, + { + "address": "95E060D07713070FE9822F6C50BD76BCCBF9F17A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ahgQzIOmCh5+A9iGXJRh8AKNlk4NCcOiPebzZEuIN3A=" + }, + "voting_power": "1733034", + "proposer_priority": "107668726" + }, + { + "address": "84B3D8922BA2F24A39477EC14957991BE1AE7765", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "LdzSojUSWLkp1vfoEHABOmiqV/7baG77vqnaTJpwvJM=" + }, + "voting_power": "1701291", + "proposer_priority": "118943262" + }, + { + "address": "D540AB022088612AC74B287D076DBFBC4A377A2E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "T2/RQlkfKOBz6eCt/drq8pCIQUPmk2e8QFJ39IsA96M=" + }, + "voting_power": "1514780", + "proposer_priority": "-29305909" + }, + { + "address": "75DAB316F4CA1367F532AB71A80B7FA65AB69039", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "khWkK81bJAgsgLL2GsoTKevosSJ+82VklvpC8gOh6yk=" + }, + "voting_power": "1431077", + "proposer_priority": "26885980" + }, + { + "address": "8E0EE37B7B1A038DD145E30F1EF97DF3619EF429", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "SpROiLOBv3fWINvXvgXHDMLMjVM/9x24WpC3AH/aTbY=" + }, + "voting_power": "1414788", + "proposer_priority": "27225961" + }, + { + "address": "DF9283DA25B296426E97438614D1C62DC1019D84", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wYgizm1MoU4+QMPV0lPlESo/Z5YzDbfna562kOUNU4s=" + }, + "voting_power": "1375018", + "proposer_priority": "5783718" + }, + { + "address": "46A3F8B8393BAA153C40E5722EAE82EA0D48B32D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "7IAdsrLz+vP28D/JJZwWUdKe+8KWUN8TskXxch+8p6g=" + }, + "voting_power": "1335072", + "proposer_priority": "-32265258" + }, + { + "address": "7B3A2EFE5B3FCDF819FCF52607314CEFE4754BB6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "11pGwt6bot1EC5xeug8mulFNBBWsHV+X7XrxLUmTNF8=" + }, + "voting_power": "1226499", + "proposer_priority": "-21814435" + }, + { + "address": "BDB046259EB7FB74A28015E31E64CEE9F0802199", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "WAeQesC3BNtVnZwJKie5DAOjD3Kljg82b5c7j/TB+l0=" + }, + "voting_power": "1165810", + "proposer_priority": "78147789" + }, + { + "address": "59AC672068F7AE75ED8F5300FC3261C92B909A0A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GVMm63xk7LbRmtdcQ8g02lcsEVNyN1iT1xyVQKRM3Pk=" + }, + "voting_power": "1092641", + "proposer_priority": "-124351850" + }, + { + "address": "0ABBA36C54DD0CA6A790AEF96A01D4392E36345F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "uEUR1gpesU4bnSWL2TOXOf3org2mCYhQHMYkiCJyMD4=" + }, + "voting_power": "1052735", + "proposer_priority": "-60645414" + }, + { + "address": "604A449780F090BC6CBBB1D59934A20A124F93C1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BsYoKd7a+RqAjeHxDYvSVdJPIZ6xzclm3J+gDgOxPYM=" + }, + "voting_power": "1003734", + "proposer_priority": "-63688770" + }, + { + "address": "D14A542E8756C3A942D9FD8873DC2E9A7798A17F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Zvd+ILfG9q1jPnZfOOYdZOuNLThLdCRPkvRV+HrXkCs=" + }, + "voting_power": "1002064", + "proposer_priority": "67460522" + }, + { + "address": "91C823A744DE50F91C17A46B624EDF8F7150A7DD", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/VS/bgueXBoNDsrzxxaX64RIL//2wHb9VZ0Jd67+AqQ=" + }, + "voting_power": "966848", + "proposer_priority": "-122941155" + }, + { + "address": "671460930CCDC9B06C5D055E4D550EB8DAF2291E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "2k346W3w8NFAQh21j1hBp+Mvur+ZhHFuEQk8DEOlN+c=" + }, + "voting_power": "949012", + "proposer_priority": "-348526" + }, + { + "address": "B442035488D7901D75D8F9AEFF04F64DF7BE160E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+vm6bfYlarAQPbuIOTacPcpRn30QgyDALavlFlX2I44=" + }, + "voting_power": "931330", + "proposer_priority": "-56412304" + }, + { + "address": "6CB47D786B2F350C13A60BB77D398AC82E900985", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "3yAYBP6Jfv+iagCf0fRotrGEkUE6tuT+A4AE4LL8vTk=" + }, + "voting_power": "921882", + "proposer_priority": "-75075868" + }, + { + "address": "C5327D64CDF4A04BE1206E65F5B61D44923630E6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "FxSjsSvWPbw5NQczsh0+QRWqYTVauFJd/MateonbfO8=" + }, + "voting_power": "886958", + "proposer_priority": "-88901311" + }, + { + "address": "3B49CA97C4969033163A872152870489EDEBF080", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "1FK61DPUP98venFsFPmX4JqLmDMcw2tBmOY2eyoCy0g=" + }, + "voting_power": "867436", + "proposer_priority": "-51111865" + }, + { + "address": "F6FD6365ACC5382B6AD6566CD2971904B75F7E24", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Dsa37AnpBF50qRG80KWD3eHlbtH+4G6hsMzImFhTJSE=" + }, + "voting_power": "837012", + "proposer_priority": "-70358653" + }, + { + "address": "B31581E9FF571045531370E2D4895A2D6FEDECFB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "t0Yoals7uv2cJJugTF8e1f/2pA/vasY37LbBG79n2xY=" + }, + "voting_power": "835837", + "proposer_priority": "-7345088" + }, + { + "address": "7B3D01F754DFF8474ED0E358812FD437E09389DC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "V4ooPEhtI8lNENMVfkFfyUdldUOGtSqRjNZcxhpqKQA=" + }, + "voting_power": "781544", + "proposer_priority": "-84185312" + }, + { + "address": "60AAACB82FAB9D90CB2DF0AA0CCE4555101ED90C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "IGUdZ439/uCgUwGmqOd5QMUKtpI8taUQnpbdcTJdc/Q=" + }, + "voting_power": "779465", + "proposer_priority": "17764917" + }, + { + "address": "51205659A717DFFB96E054F8BD1108730E17AEA7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XJXB9ZVBXZNG9uUOfvHmrDmB4L8NiV0INOHdXbG0PWA=" + }, + "voting_power": "779190", + "proposer_priority": "-33461774" + }, + { + "address": "BB76BC6322C7533A7CCD3AF1C089C7B3971FB012", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "YAQR/TLMuDMgOTS/KcMdU80y2JAze7DX/GELq9uqdEM=" + }, + "voting_power": "778270", + "proposer_priority": "1195945" + }, + { + "address": "B4E1085F1C9EBB0EA994452CB1B8124BA89BED1A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+LbXwDMu37jkBRBLFtXazRfEd2ytSAkIncZ/Ng+6jVI=" + }, + "voting_power": "763936", + "proposer_priority": "-60191755" + }, + { + "address": "495BA7E759C0FDDE0C5FF52195089A19A1748B70", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XpwOWhL/yHq5VDUYbpP6Vi5Sw+rYOw7uY2vUqPNc+fk=" + }, + "voting_power": "690411", + "proposer_priority": "-116325863" + }, + { + "address": "D269A81C7741F458C31DB7FB14C58176421FB2F8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "HiJx5FTqpD8Uy4s22yFnm16RNGu5jCzjLA5OED8NQPg=" + }, + "voting_power": "684079", + "proposer_priority": "-5207456" + }, + { + "address": "C05AA296EAFDAD046F72B10438EC53F51B0DC50A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "R4LrtuAhUoIqFUOYM3efQcN0myWx9LqV8f8UaYWR0eE=" + }, + "voting_power": "673027", + "proposer_priority": "79461604" + }, + { + "address": "9AD0AA18A92A1A4374426ED9B8192D1D6C3D2691", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "7eHS9nARXr4gyuuDVxbQC2CDVkEa22ye3uHhcbeLurc=" + }, + "voting_power": "661167", + "proposer_priority": "101716935" + }, + { + "address": "2C2A5E9B9EF903164FA2BD3F140571DDF02A00CC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "g2acQR2m9vJoeZMqnol7l+JY+dGo4EiizyB1Owwn3CQ=" + }, + "voting_power": "654075", + "proposer_priority": "97686569" + }, + { + "address": "49BBFB1BA1A75052E3226E8E1E0EFEB33918B8B2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "fjKz5EcrpVII/MzwTF/d+3FHEIMJtSZfU9WMaH+b/Ok=" + }, + "voting_power": "620782", + "proposer_priority": "-100281028" + }, + { + "address": "9713818DA540B2AD40CD3A821865F1CA288A1BAA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "gvvk7fborWsqtB4pseZL+QWab7iJnT0PZYs+0oFa2BA=" + }, + "voting_power": "619856", + "proposer_priority": "24144936" + }, + { + "address": "13EE3F05F20C6AD8FD27CBEF33DD61D5F99ECF6F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "P5bVXtQROUYluem7UhCW4Xg/SvFijRlSmq6daONPk7M=" + }, + "voting_power": "595447", + "proposer_priority": "-24712206" + }, + { + "address": "6BD4705021332A90B92397D8D72CA3950CB858EB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "A6LZ/bCDFj6t5yB7tOKso9Vr2uEcCbjq8H1rsY12NJo=" + }, + "voting_power": "591384", + "proposer_priority": "-34210644" + }, + { + "address": "B2BF68AD4CED6FE8F71AACAD01003436EBE0729F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vGSKfbQyKApvBhinpOOA0XQAdjxceihYNwtGskfZGyQ=" + }, + "voting_power": "564332", + "proposer_priority": "-81725988" + }, + { + "address": "C7CAA9535CA625AB0447C307975D12523810715A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Umw7tz4oFvJu2N9DsIU4RsVGfqqCOutsepwgzUXHO6M=" + }, + "voting_power": "563339", + "proposer_priority": "56970613" + }, + { + "address": "F8E5032B98D5D32442E325B6970B434F752E113E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XN2+6Dh/5bCBWyk2ytv0ecSX+Hi9jdNxAYG70xHuqqw=" + }, + "voting_power": "554436", + "proposer_priority": "-85041461" + }, + { + "address": "108E47FC1B8546F98F7EA52F2547CC44497DB1BF", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "f2UyfyYKIZppUi4joaKosboHZbtsIrVsHFPk9/P6Be4=" + }, + "voting_power": "545771", + "proposer_priority": "1516408" + }, + { + "address": "6EA863B44BA369F739E65595770DAB92C89A9212", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "1JnB586AElesgc95XXB45DM7jAhZqKpqLxbSNOFd2cU=" + }, + "voting_power": "537866", + "proposer_priority": "-106802035" + }, + { + "address": "08065D40B9D4AD5126ACF0BAC8033094835720FD", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "QrlLxAIPjBJ9Sky2FVnLNek/Lh/lnMWt+lajbf5gTvw=" + }, + "voting_power": "529463", + "proposer_priority": "-107900715" + }, + { + "address": "1AE0BD432F9A5122474A646325D1AFA6068692E9", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "pk7vL9YoXJy5A3EOyesIvZ5qlxc2qsW99Kk/VzobkgY=" + }, + "voting_power": "526444", + "proposer_priority": "19882978" + }, + { + "address": "68F5BBEACEF114C720EA9C98BFA2FFDE01C54FD1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "XiGz/D6eg3KdjaFB0uYIJwkOTW5xZcFRxJmHcQYB3zg=" + }, + "voting_power": "511645", + "proposer_priority": "103304817" + }, + { + "address": "52E1646134432BF9532B4881C6ED32E40AE5A2DD", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "FyNWogoOiQFRVwtJj8KywlyJpUFhmPzekSkDvrbSTvM=" + }, + "voting_power": "508096", + "proposer_priority": "-44717936" + }, + { + "address": "39EAD95102132963B257E366FC98521E74DFC690", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wTpxfK1qRDevJkNWR20w+GQ3+OV9hASGJDJDJNGGkRk=" + }, + "voting_power": "501207", + "proposer_priority": "-63165497" + }, + { + "address": "846BE4F39E3122D2A2D3FE5454E2561073E95538", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "W9ITG4nnL9YkFziREMpzc1jBOLfmdiNmhbBkumYmCO8=" + }, + "voting_power": "493844", + "proposer_priority": "-93560016" + }, + { + "address": "CC05882978FC5FDD6A7721687E14C0299AE004B8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "fUj2rJ8mWqSdo8FX47dhWni++/oxOSduCBgymD4GCiU=" + }, + "voting_power": "486340", + "proposer_priority": "-60739545" + }, + { + "address": "592F17BB8CF36AA35867659F8B0E9E76E11BCFBA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "IeTUELQs74lZj6+ktOM4UN+UVbAbiweas9uC1vQ/Onk=" + }, + "voting_power": "475869", + "proposer_priority": "-52039158" + }, + { + "address": "696ABC95186FD65A07050C28AB00C9358A315030", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "GghJGDl/JZSZ07B2ARdvvJ8SPKtoi/dh8PbYSui359I=" + }, + "voting_power": "473439", + "proposer_priority": "71761450" + }, + { + "address": "CB33F8217C07952ECA18F53C1FEAF913E9143137", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "2xWuWOFp6r8AtEEmB96w36ZcKLgumqAAFlZcxe2bJPs=" + }, + "voting_power": "461731", + "proposer_priority": "28129771" + }, + { + "address": "B236B2A23AD716A9D8D856A0CBA762F323515C5F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "yUj/VORRHG1dF/T8mYR558yANp265MVhRwcpTl8IWvA=" + }, + "voting_power": "448899", + "proposer_priority": "90194870" + }, + { + "address": "25A9D452D35F12050ADEE6B31934BB85C2817D76", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "6GzDGmdrmJf34j9o/QOnZ7v2vhwtCBmkaFVG0Pk7z5A=" + }, + "voting_power": "446005", + "proposer_priority": "58553114" + }, + { + "address": "ED509E78097E1306A91FEDE8E85B75D06BDDF6E3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Lbk6LJSg/x/Paa6Wk15P12B7+EE2G35Lem+edKZ6siE=" + }, + "voting_power": "443539", + "proposer_priority": "17226238" + }, + { + "address": "9C17C94F7313BB4D6E064287BEEDE5D3888E8855", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Mvh+7UDaXgmj4Fst0ZUdx++MJmoq4B9M6mdgNc8H2pM=" + }, + "voting_power": "432471", + "proposer_priority": "57595664" + }, + { + "address": "78F1D7A9773FC922739E0A3705A7CA06BEA30883", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+VG4LZ/BDB76bSfecmi1MbBxvjk85vEln4mVSmWaB4Y=" + }, + "voting_power": "427136", + "proposer_priority": "107104036" + }, + { + "address": "37C8A99DC15238D453C0FBEE7C2ACBEDFD27C1E4", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Z8Bs/NBxshUqUG4gJI0/O6qMn/H/ZoD16Rl0tejctY0=" + }, + "voting_power": "419743", + "proposer_priority": "45508574" + }, + { + "address": "E31533B82AC67AA1788B70BD7E985BEF8E1252A1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "CTqPJAIdMz8F360TcADAii9/tEeI4CvTK4JfBD6DwXI=" + }, + "voting_power": "416104", + "proposer_priority": "40065737" + }, + { + "address": "58D29D3BCCEDEEE4B78F560584D7592CFF0947C9", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "yHsfXtgIr8Drb6+pcEa141QSdlkki6AyNrLmyCwO8CA=" + }, + "voting_power": "413305", + "proposer_priority": "-110734927" + }, + { + "address": "78A0BDAA6925BA19436CDF2A18FCE337C8C54520", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "5jmurYd0trU/LO3bml9mblRfCGhR8j4TjfYK2ZsjouY=" + }, + "voting_power": "402611", + "proposer_priority": "-22764646" + }, + { + "address": "AB7BBA86C7095D5BB2AF937398A4F96945AE15C3", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hJVGDRYocrGGdGH5ETrObxH5Az20wq60+0gqEhznXXY=" + }, + "voting_power": "396255", + "proposer_priority": "47611500" + }, + { + "address": "407F144D1C9DEA4EE6A8CBC2D4C022A657506B83", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "cOgTyf7W0kbPzsWAL1T/G+VHiciCVzSFiBaGJ47MYBw=" + }, + "voting_power": "390576", + "proposer_priority": "-2351026" + }, + { + "address": "59C270B760D49A286E2D8706C39FDE641925B5CE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "IT//4T/UK3SRf8e/e2gbAogzrQ7EtiV2Mpy+rGR4In0=" + }, + "voting_power": "382590", + "proposer_priority": "-96264623" + }, + { + "address": "F2AAEE5726BFE2A7B794F0DC414F3644A159C7C9", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "TGYyxdzPSE4wDhigXKmqNmtiuAeg3c597WhkGXcbVLw=" + }, + "voting_power": "373876", + "proposer_priority": "8889181" + }, + { + "address": "46759662382FCB47C7A7BF025583A415A05143E8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "FCTclUMmyeW0/Zi3vhO5b9+O9HKVCps4faHDj5Xx4Lo=" + }, + "voting_power": "366189", + "proposer_priority": "-38685854" + }, + { + "address": "672B3ABDEA631ECA654928ADD4B1596FDB5A16B1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "pv13kpg8c/StIH94jkfI3IGux17as+plR4UpMexydKY=" + }, + "voting_power": "365336", + "proposer_priority": "94922433" + }, + { + "address": "734D445D854593CEFB8EF0C443E9238F07E777AA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "s11j8L7dxnSWJR8piA8ncX8NQhNT7zDfBiphviLxlWk=" + }, + "voting_power": "363672", + "proposer_priority": "83376381" + }, + { + "address": "AD3983F9D94FC08BD56F73FFCE5A857D7437077D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "YDmfkE694oyAciDeNtO/wPyN/kCVA3wWsX/Lecr2E0A=" + }, + "voting_power": "359993", + "proposer_priority": "-24115294" + }, + { + "address": "D0ACC7204D713CFF9FB449F2D52C0545DC7C13E9", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "bEstw+QioqJum3h001Mvby4kfKTC3g4EONffGy0S0gU=" + }, + "voting_power": "349706", + "proposer_priority": "59610121" + } + ], + "count": "100", + "total": "180" + } +} diff --git a/assets/rpc-tendermint-validators-2.json b/assets/rpc-tendermint-validators-2.json new file mode 100644 index 0000000..55efc47 --- /dev/null +++ b/assets/rpc-tendermint-validators-2.json @@ -0,0 +1,731 @@ +{ + "jsonrpc": "2.0", + "id": -1, + "result": { + "block_height": "21955396", + "validators": [ + { + "address": "B5B32011EC0714DE2AA550E085A8B20036A10E83", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0PoQzviEQrLd/HjlpGJYVm2Rb3LXZkmhuuZ5/pbL16Q=" + }, + "voting_power": "341241", + "proposer_priority": "-12104774" + }, + { + "address": "BB5DD48E6621A2103FBFB2FA9A5DE861E3E5532D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "sO/vfG76XMutSsa/b3bA880XQTEXUMgOZdxBr/GZUJw=" + }, + "voting_power": "331686", + "proposer_priority": "3967622" + }, + { + "address": "3363E8F97B02ECC00289E72173D827543047ACDA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "mPnu910hOOa1tAQ7pbOLFDxvllbQUmrbtGjqQrYg1nM=" + }, + "voting_power": "328682", + "proposer_priority": "2711623" + }, + { + "address": "477367218C9F92C3AD99B5D734A346CF7E8A3287", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "1Ak5QLknwlDRdxbkVLIMi0EUq9CjLHuRLu2ZHtA3v7o=" + }, + "voting_power": "328297", + "proposer_priority": "17058817" + }, + { + "address": "7420B73F10289ACA18ACCD1CB5AB54882C04D2D5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "nuzJ97cOU9W6eoQtnDnoJNG7knZTU0dScg/3Xuws0cQ=" + }, + "voting_power": "325423", + "proposer_priority": "-73485502" + }, + { + "address": "12C2AA0DE66FA3F9D664D03D5D6F6D8216B6DA81", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/3KWOdnPhCcHvQydh3z4Dg8cUDhzeKCugIv+FNQ9ASw=" + }, + "voting_power": "324465", + "proposer_priority": "-23493483" + }, + { + "address": "782238ADDDAB20A994DF2A66506A6FD9706CB98F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "/KLuKq5b6EFtJDRrUcXqsz3xVQN25e9AWSEC1QWd8O0=" + }, + "voting_power": "323944", + "proposer_priority": "83167096" + }, + { + "address": "8F40A46873156271C4AF17C6C0F6494F456EC0E1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "y93r6Bb+MMcF6jX12yWRKPU6DEjuHQsjPKT4ln86Fa4=" + }, + "voting_power": "322391", + "proposer_priority": "51167359" + }, + { + "address": "000001E443FD237E4B616E2FA69DF4EE3D49A94F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "9tK9IT+FPdf2qm+5c2qaxi10sWP+3erWTKgftn2PaQM=" + }, + "voting_power": "314637", + "proposer_priority": "74932854" + }, + { + "address": "85530E727F953AAF9E2C4563A34493C2EF5A55CC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0PIJIxF7zNKbME1AxbweH7mE4dCYz08BuuiUSdGzncw=" + }, + "voting_power": "311941", + "proposer_priority": "-98906758" + }, + { + "address": "B4CC03F2ACA22C43DE1ED385A104BA86B7462792", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "sgYnzrP98JYHQrEiJxYHMLRHyUQcB05HcTtO/Xjbkfc=" + }, + "voting_power": "308060", + "proposer_priority": "-102930824" + }, + { + "address": "A4F1D5534F3FA905A4DA606E8A10834976511FF7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "A1rnWvZI4N1rlS2RG+gR0utmUp5n4CB3La4iQsdTwAs=" + }, + "voting_power": "303396", + "proposer_priority": "28583599" + }, + { + "address": "C52ACDB32057F5C731BBDD48460B93C3500DD324", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "lgJcii0W2QanDlXpb/9gZJAJ3X9l+tqArhYAmNUJ1lw=" + }, + "voting_power": "286416", + "proposer_priority": "90556451" + }, + { + "address": "D5EDC934314C89B45952620E9C992B1DC9018442", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "5RNZbutSqesWjKl0UJ7VsXBWyweVxxcWgy9PzD6qVes=" + }, + "voting_power": "284627", + "proposer_priority": "-6908530" + }, + { + "address": "B0765A2F6FCC11D8AC46275FAC06DD35F54217C1", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "inTpwtq2gc0g86M+Sovdk7wCxe68QG0Kxr2XO9S/q+0=" + }, + "voting_power": "274875", + "proposer_priority": "-128636787" + }, + { + "address": "C2DDD9700CF5DEC0457DC423829B31EA8FD4F9D4", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "EeLdzXVGnPdqBBprGO3BsfQsyNMGsxjoyzNOFBZLNZA=" + }, + "voting_power": "268805", + "proposer_priority": "-108672224" + }, + { + "address": "2DF871BCA6733FE3AD33F69A06F8AAC4C6B5BB00", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "n9Mi6q5iU4aG0C24i0Ne4Dpd2lenw/4vjs1moQsciLw=" + }, + "voting_power": "264466", + "proposer_priority": "-84988199" + }, + { + "address": "BBE55ED9B2E416E2B37C13BBEE9CD6E7AE314716", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OSa2Cqx+3R0KEZVHjFMXvS3Z4TDXUkHwH3qsMfMRRGc=" + }, + "voting_power": "260277", + "proposer_priority": "34618504" + }, + { + "address": "6E2234F881817A7DB997D59400518591F692A14C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "EbpW+vs11yVlXtMEnJBtH+CghPyUcVVbzbTTSmhC4M8=" + }, + "voting_power": "253775", + "proposer_priority": "-108108158" + }, + { + "address": "C2356622B495725961B5B201A382DD57CD3305EC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "pZBzfgX8aJXz9tqGvz75NnJB0wAFsMrfxY6FTnYMZ0Q=" + }, + "voting_power": "253160", + "proposer_priority": "54633032" + }, + { + "address": "C4F6210CB772C0B37FF8520547EC26BEFDB1193B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "oTsqdRcvZbCfgwow/kHhiurC4w7dSeSK8mUyJaFvfyc=" + }, + "voting_power": "252516", + "proposer_priority": "49224942" + }, + { + "address": "B2336DC86A74A6F8552D7F686AC0983EF4E0B0CE", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "efOai5jzck+C46Zt8ruUcD1w2E7wnDnL9u2ATsODIPg=" + }, + "voting_power": "247840", + "proposer_priority": "14716762" + }, + { + "address": "6A4D14A7AC9B4F7C7F28DC9046E5029D1BF09F41", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "BwSYh4IhEy0kwQyqW0Nj35ACuAsuwdW9lXHkFiPJI9Q=" + }, + "voting_power": "245650", + "proposer_priority": "108707862" + }, + { + "address": "FAEF5C328BB4D49C509C254C6D0E5E7304309AD6", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "bDO9bUrbyg0f1pTpmjjZU5cgsweCWdwL6HUVnsKJi7k=" + }, + "voting_power": "243658", + "proposer_priority": "-27232209" + }, + { + "address": "818964B4FB36D28109C3E853778B33231B27C5FC", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "+WXgBcxP3hgEm75hKp1xW/vRSM/apOlwhm+E6kbgnaE=" + }, + "voting_power": "238335", + "proposer_priority": "-41532402" + }, + { + "address": "B8D9C7132A42B248574436AC203005D61B3F5AA5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "dHJLjV0TkgEE3ye2Jv4ahyY32tQScvmJv5lq80dE2+Y=" + }, + "voting_power": "237503", + "proposer_priority": "61218562" + }, + { + "address": "0939CD5EE88F6E4101175096450BB25D2DFAACE8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "s2Z7UYuNl3jSvM20qlRcZV4z8fDCgfRFV5pxAPoMGX8=" + }, + "voting_power": "236656", + "proposer_priority": "-77255071" + }, + { + "address": "6A51554E8C0CF3165A01C675A98A2C38B6EB512C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "MxwiMTxBOMgJJcNcn2iePozLlvC3rEB/lIJiVbu0atA=" + }, + "voting_power": "233487", + "proposer_priority": "-46165327" + }, + { + "address": "5C17605BCEBCE13A7BA58DA1BE0175B8281E9646", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "JiVwIUBeyFUqz1zbaY+Oybq89aSl9yDxwwmx+J5CdiY=" + }, + "voting_power": "224037", + "proposer_priority": "-6490967" + }, + { + "address": "48FD560D3CB0B552924CBC0F9C2BA68883FA1135", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wXMVIoVMpD8vPS/U1+6Cm+jpoMSoyGprQYyMnVtNaWc=" + }, + "voting_power": "223153", + "proposer_priority": "88094013" + }, + { + "address": "1639E3486FD75E5447FFD26232A80F1ACE76CD8A", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "I1pCYhsRQasjvFNFv+RH52T/Hv/sbKH53RBOp4Wp/14=" + }, + "voting_power": "222232", + "proposer_priority": "90327301" + }, + { + "address": "21223475CE86F3C7CD5E985AA88FC24A29C97813", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wUITCsvuysiVpQP9fUynw3fsIRX+qMBQjFoHwwaXeS8=" + }, + "voting_power": "217100", + "proposer_priority": "78586293" + }, + { + "address": "9DC4012099BE743189074B85E49891AE3B3FEE9B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "6Mf3hC1oiYE5mAOTGTmlA61zJJr+GHyGu4WUWO/mREo=" + }, + "voting_power": "213219", + "proposer_priority": "-14645255" + }, + { + "address": "9C15C2E717D3DD96AF0924D234405AE98B12BE7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "5RNwKUQWY66sHLpDWTH4OudE7tqe8HWbI9nGNziHR1s=" + }, + "voting_power": "211694", + "proposer_priority": "-31676520" + }, + { + "address": "9DF8E338C85E879BC84B0AAA28A08B431BD5B548", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "TjzJhR+Eeze5QWaeHlWDi8KmmB/d9/G1j9xOSK0aOVk=" + }, + "voting_power": "210960", + "proposer_priority": "-18482436" + }, + { + "address": "3A66B4B5C4329A14D451955D403BB763DACD87CA", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "aXA4JRGbIKAMgRvaw3pP+4KLZsqHbJz6yadx2gv92UA=" + }, + "voting_power": "203306", + "proposer_priority": "56302618" + }, + { + "address": "AE456A85A5C6D46FA350C3EC2DCB00D661359E20", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "QdNNFlJHRDGroJVBvb7WpPeZUSeqs5uaLSElffERa7w=" + }, + "voting_power": "202515", + "proposer_priority": "-87568867" + }, + { + "address": "2B9A55D3BF93D7375DD207B75C5ED4D2B91D9146", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "g/K/WCk6kfg6kiymEObDD31v6QPRra8JYEFJPd0SOq0=" + }, + "voting_power": "200286", + "proposer_priority": "34995974" + }, + { + "address": "24935D59FAA94E793652CBF4716C6041CD7AA400", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "pliS5qC9jE3r5n8GrbuCpl5eKZ7lKkFF2E9mBzL2x4Y=" + }, + "voting_power": "199821", + "proposer_priority": "20118758" + }, + { + "address": "1AEA8AD7C2BB352C01CDFD6BE21CE8E3B6FCE593", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "DdZjDxgmWzB6cqk1OjRjiKJ7dAGUt18xeh4Qorh930s=" + }, + "voting_power": "198413", + "proposer_priority": "-66572566" + }, + { + "address": "3A0AE77CF62CD9420CA0A5C01E8DD57441676E5C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "JvOQo/mnYPFGsEB/iE1CMe47wUZkHBKBZ1ML0Xt5Jrc=" + }, + "voting_power": "197951", + "proposer_priority": "-7204305" + }, + { + "address": "42D6705E716616B4A5442BDAA050B7C6E9FDDE43", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "K7PFMeLp0twwz3RDAvlWoz0N6vTsCg6KeKx8xwUm5Hw=" + }, + "voting_power": "196784", + "proposer_priority": "65745035" + }, + { + "address": "D4C1FE6B5803DC81486BB3870A35E91131F14196", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "NJIh2w4S0NIHpWqGhjFBdLoGf6ppHRZiSPrY7p99NFo=" + }, + "voting_power": "195460", + "proposer_priority": "73393412" + }, + { + "address": "6C4EC11EB897B964A706FD02AA83977BB3FE0952", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "gn05Ah+rnFOlgMLwYJRmvHyMJzswDNoQOepjzThH4vc=" + }, + "voting_power": "193817", + "proposer_priority": "111140257" + }, + { + "address": "B441A6DCF90192E939A65617EEEAD383FD922C5F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "395JCx088iaRHumfIzJCaOhTCBn9eTi9l+xmKfp/Z98=" + }, + "voting_power": "193134", + "proposer_priority": "-38735315" + }, + { + "address": "BC0AA11E6DFAE242D9E54A83BEBDB3A122C5E098", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "U7Qc5P1gFX467tB+UMy9gFBiNT6lsrVV4jaiO99FTRo=" + }, + "voting_power": "191913", + "proposer_priority": "-77670747" + }, + { + "address": "220415F1CC4021AFB153CE8F3A8EB70DC91F58AD", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "hXWKc5cfl9i5pl1/+pnnijnIznAmQcuLtejmuu5kB9A=" + }, + "voting_power": "186875", + "proposer_priority": "-25115009" + }, + { + "address": "FD5D54E0D9E4768FEA4C0DFFDC89FA96B6657F32", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "6Sn2gbsgiFAkZY5mbe/YdBtO9SLV+AZgRFg7cLqrd04=" + }, + "voting_power": "186304", + "proposer_priority": "107330598" + }, + { + "address": "6C50CC44B4F1DC32ABD2970D8ACECB204ACCEF85", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0Nu7qOxlaLNKgOKM2Ck0fB6aKdsH1tjOeJw18VtES2g=" + }, + "voting_power": "184832", + "proposer_priority": "-102011995" + }, + { + "address": "2C9CCC317FB283D54AC748838A64F29106039E51", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZOvaws6Rz4Pl8mThEEh3IR7rsnx213jY9smYC1GcC6o=" + }, + "voting_power": "182893", + "proposer_priority": "29389535" + }, + { + "address": "08F1DC39C9966130B9608EB8C234FA2174361FA2", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "4jkFAWNCgmrEevSVOjqGGnVCwqgdXnffb70gW6sUaJc=" + }, + "voting_power": "179013", + "proposer_priority": "-53845513" + }, + { + "address": "ABF56B06881572FD0E8CF3DDFC29D8790CF86DE0", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "kOw24M8wA1V0IRpFLwMAt2V9mXFwb7XDbZmrxErSBHA=" + }, + "voting_power": "178671", + "proposer_priority": "26083679" + }, + { + "address": "000AA5ABF590A815EBCBDAE070AFF50BE571EB8B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "yWPYIfSf5yi/MlBzEZx2yMhOJ/daXRx8Eg3NOso8V7c=" + }, + "voting_power": "178424", + "proposer_priority": "-13076712" + }, + { + "address": "B0155252D73B7EEB74D2A8CC814397E66970A839", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "w3rKE+tQoLK8G+XPmjn+NszCk07iQ0sWaBbN5hQZcBY=" + }, + "voting_power": "176664", + "proposer_priority": "18763543" + }, + { + "address": "A7D9E6DB8CA5E46A61AC36235D4C8185F7BF11A4", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "Ukt5MB8TGQthSbzMWUiwA1+AwwOoxXGk0IAHl6qzZVA=" + }, + "voting_power": "174769", + "proposer_priority": "-123011586" + }, + { + "address": "70C5B4E6779C59A24CFD9146581E27021C2AEC26", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "aek+Unn7MEILEBjeTqP3ONLJ6wwoQxC+6NuXY90xx0Q=" + }, + "voting_power": "174365", + "proposer_priority": "-25016744" + }, + { + "address": "B543A7DF48780AEFEF593A003CD060B593C4E6B5", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "KjPuAGkJQWb0ImqKuS3DAFat7LvIVmiWhEGRur1twck=" + }, + "voting_power": "174274", + "proposer_priority": "39290640" + }, + { + "address": "5D741966C127B6F66C09CC86DC9E4AC2E28263C7", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "KDfZS95BDOjVAfIb5h8+3/QWnDtygldvMll1oPTy5do=" + }, + "voting_power": "173501", + "proposer_priority": "-1264316" + }, + { + "address": "88A65045F5EE502560826DA07F739BA9EBA8470C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "wShrvIuQC+GsUYAM3GZj/dMoDqKtGXKl6XQ2yQCkA5s=" + }, + "voting_power": "169561", + "proposer_priority": "-3311749" + }, + { + "address": "EBED694E6CE1224FB1E8A2DD8EE63A38568B1E2B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "z/Dg9WU/rlIB+LaQVMMHW/a7rvalfIcyz3VdOwfvguc=" + }, + "voting_power": "167696", + "proposer_priority": "-106534124" + }, + { + "address": "57713BB7421C7FEB381B863FC87DED5E829AA961", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "OQ9dO3Q6d75hZg+xAG+ijQtTTJbGezf8PlKmtOuUJjo=" + }, + "voting_power": "165268", + "proposer_priority": "78127418" + }, + { + "address": "37C294DB858DE3BCE9B828F54F0EC4460E0FC5AB", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "82ogNgS0v8YdJk5AJywhRyLKjO7GS05dQboyDkxKQOQ=" + }, + "voting_power": "165209", + "proposer_priority": "6340111" + }, + { + "address": "8AD0BAF8CED3FB50E80AAE0503A27DBD2857657E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "lg5XnIspoSR2uWJuDya/bt2rKrdAH8xOlcKatPF+ZIY=" + }, + "voting_power": "162184", + "proposer_priority": "-103368964" + }, + { + "address": "808D6B054A0B6D3FF5F5EAF0A65CFC64C543F833", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "486fL5jJ7HOtGXXdkei2Sy1OijidPiiw4b/OhnCzNw4=" + }, + "voting_power": "159520", + "proposer_priority": "46376896" + }, + { + "address": "906B072AEDA053B19643456E63DED233640D2D91", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "RmZrhXPQnlezA123kDhWU15gM+vEAmnyNhcVex9Eucg=" + }, + "voting_power": "150325", + "proposer_priority": "116361297" + }, + { + "address": "8C8802A921114169D2581CD46E3CA6853F6F2A7F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "SZ4TwijZt9Su1uidR3UVgnvIsRian8XVs6DYqYztaBU=" + }, + "voting_power": "146967", + "proposer_priority": "-1932056" + }, + { + "address": "75CF712C0B8BBBE179FB3C1E647797110C56DC88", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "jJ8FNaA3OSuKVUKJGTpFU5o3M+zMxnHljPZnrd6UQKc=" + }, + "voting_power": "143287", + "proposer_priority": "-40942373" + }, + { + "address": "4289F79D6DB33096BADC366981B663BA3CB3F85B", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "DII5EDAA8DgdTcM0Jfycb02DIF9FTLvOcJsruxbLdmc=" + }, + "voting_power": "142612", + "proposer_priority": "3248129" + }, + { + "address": "AA355DECB1BCB6B6B24ED87B24918CF33FF19149", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "vyy9v4qujrI5Xh2KP2x5I8Q7qWNwfqAtW0Ijs4QA3d4=" + }, + "voting_power": "140385", + "proposer_priority": "106271809" + }, + { + "address": "B399CADBBD1F5DFB957ED290D204C5B1C3379E4E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "tMWGQvEx9x1u0E9o9sGsqCaNlm8ImDyJsQcpUhxNoKE=" + }, + "voting_power": "135521", + "proposer_priority": "95074550" + }, + { + "address": "9CF389DCC22F0070A641E76F483566B23B834B49", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "0txFmbl4WHKIGOFfSLNLEc6kHZIpx58VNRhhU+fNon8=" + }, + "voting_power": "134129", + "proposer_priority": "92621749" + }, + { + "address": "009037C2C75632F3BF9E39A11C0E81EACB262D9E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "o+qPFJ66zagsptOWGsSpr7viNdw6anGFe2Mg8qO3yhs=" + }, + "voting_power": "132897", + "proposer_priority": "44297884" + }, + { + "address": "FB6D209DDFEC949533ECD5360A8F05F0DB58159E", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "YtjzJJrPwO/Rn/Q0NsyV6voKPfzqbpr0Bd7igApKqG4=" + }, + "voting_power": "118858", + "proposer_priority": "-82250607" + }, + { + "address": "A47115C09F846F46F499F381B35B452725204987", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "ZnQe1qWDBJGVtAswTbBI8pc/bK5qKwt+sdt9rpTA7LE=" + }, + "voting_power": "104862", + "proposer_priority": "-93904715" + }, + { + "address": "BAC33F340F3497751F124868F049EC2E8930AC2F", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "9KA7fKlALPdKPb7SM4UGlpnbSU4U9U1A4c3u8V2KdTs=" + }, + "voting_power": "93154", + "proposer_priority": "113475467" + }, + { + "address": "CE768033D727C6A28980AEF7372D124327C810A8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "t4RElYQBKVnkJxtrcLe24/CR1Ph88Q++rQLVaR5jNk0=" + }, + "voting_power": "80388", + "proposer_priority": "-96172818" + }, + { + "address": "F980289635BF436027DB3A5AE06A0B9E7778819C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "5rIPekexZrX7jZiksVxpE11ljqCDbLFPui0RkBxFTxE=" + }, + "voting_power": "79059", + "proposer_priority": "91448259" + }, + { + "address": "D7F7C79487C10A5CF1ABEB1DBD81E8D49757C422", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "bW7LvG5NrrcOVfkiFZDQOEiewyOnnGUvExCC8fx5SV8=" + }, + "voting_power": "75296", + "proposer_priority": "-79509872" + }, + { + "address": "8FE3CFFA6A07B093E441BB84DA1B6DABF53AFA2D", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "weH0gbAWGno4QnZ52bH53W9UNxR1rxyvWfLOIsRKrx8=" + }, + "voting_power": "49450", + "proposer_priority": "-106308602" + }, + { + "address": "EB1DF22507B79CE700F86C4C8B13D7DF01DFDA9C", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "SvXDJ2mUsZeH1s1u8WInNVpWxO7+xoxivk/HwqgAiRo=" + }, + "voting_power": "37223", + "proposer_priority": "-20783978" + } + ], + "count": "80", + "total": "180" + } +} diff --git a/assets/rpc-tendermint-validators-empty.json b/assets/rpc-tendermint-validators-empty.json new file mode 100644 index 0000000..9edc138 --- /dev/null +++ b/assets/rpc-tendermint-validators-empty.json @@ -0,0 +1,5 @@ +{ + "result": { + "validators": [] + } +} \ No newline at end of file diff --git a/assets/rpc-tendermint-validators-invalid-pagination.json b/assets/rpc-tendermint-validators-invalid-pagination.json new file mode 100644 index 0000000..df3fe67 --- /dev/null +++ b/assets/rpc-tendermint-validators-invalid-pagination.json @@ -0,0 +1,20 @@ +{ + "jsonrpc": "2.0", + "id": -1, + "result": { + "block_height": "21955392", + "validators": [ + { + "address": "D68EEC0D2E8248F1EC64CDB585EDB61ECA432BD8", + "pub_key": { + "type": "tendermint/PubKeyEd25519", + "value": "LtiHVLCcE+oFII0vpIl9mfkGDmk9BpPg1eUkvKnO4xw=" + }, + "voting_power": "24631503", + "proposer_priority": "78144233" + } + ], + "count": "xxx", + "total": "yyy" + } +} diff --git a/pkg/tendermint/http.go b/pkg/tendermint/http.go index 022b2f4..2c24a23 100644 --- a/pkg/tendermint/http.go +++ b/pkg/tendermint/http.go @@ -43,13 +43,9 @@ func (rpc *RPC) GetBlock(height int64) (*responses.SingleBlockResponse, error) { queryURL = fmt.Sprintf("/block?height=%d", height) } - var response responses.SingleBlockResponse - if err := rpc.Get(queryURL, constants.QueryTypeBlock, &response, rpc.clients, func(v interface{}) error { - response, ok := v.(*responses.SingleBlockResponse) - if !ok { - return errors.New("error converting block") - } - + var blockResponse responses.SingleBlockResponse + if err := rpc.Get(queryURL, constants.QueryTypeBlock, &blockResponse, rpc.clients, func(v interface{}) error { + response, _ := v.(*responses.SingleBlockResponse) if response.Error != nil { return fmt.Errorf("error in Tendermint response: %s", response.Error.Data) } @@ -63,7 +59,7 @@ func (rpc *RPC) GetBlock(height int64) (*responses.SingleBlockResponse, error) { return nil, err } - return &response, nil + return &blockResponse, nil } func (rpc *RPC) GetActiveSetAtBlock(height int64) (map[string]bool, error) { @@ -78,12 +74,9 @@ func (rpc *RPC) GetActiveSetAtBlock(height int64) (map[string]bool, error) { page, ) - var response responses.ValidatorsResponse - if err := rpc.Get(queryURL, constants.QueryTypeHistoricalValidators, &response, rpc.clients, func(v interface{}) error { - response, ok := v.(*responses.ValidatorsResponse) - if !ok { - return errors.New("error converting validators") - } + var validatorsResponse responses.ValidatorsResponse + if err := rpc.Get(queryURL, constants.QueryTypeHistoricalValidators, &validatorsResponse, rpc.clients, func(v interface{}) error { + response, _ := v.(*responses.ValidatorsResponse) if response.Error != nil { return fmt.Errorf("error in Tendermint response: %s", response.Error.Data) @@ -98,7 +91,7 @@ func (rpc *RPC) GetActiveSetAtBlock(height int64) (map[string]bool, error) { return nil, err } - validatorsCount, err := strconv.Atoi(response.Result.Total) + validatorsCount, err := strconv.Atoi(validatorsResponse.Result.Total) if err != nil { rpc.logger.Warn(). Err(err). @@ -106,7 +99,7 @@ func (rpc *RPC) GetActiveSetAtBlock(height int64) (map[string]bool, error) { return nil, err } - for _, validator := range response.Result.Validators { + for _, validator := range validatorsResponse.Result.Validators { activeSetMap[validator.Address] = true } diff --git a/pkg/tendermint/http_test.go b/pkg/tendermint/http_test.go new file mode 100644 index 0000000..03dc775 --- /dev/null +++ b/pkg/tendermint/http_test.go @@ -0,0 +1,288 @@ +package tendermint + +import ( + "errors" + "main/assets" + configPkg "main/pkg/config" + loggerPkg "main/pkg/logger" + "main/pkg/metrics" + "testing" + + "github.com/jarcoal/httpmock" + "github.com/stretchr/testify/require" + "gopkg.in/guregu/null.v4" +) + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetBlockFail(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/block", + httpmock.NewErrorResponder(errors.New("custom error")), + ) + + response, err := lcdFetcher.GetBlock(0) + + require.Error(t, err) + require.ErrorContains(t, err, "custom error") + require.Nil(t, response) +} + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetBlockError(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/block", + httpmock.NewBytesResponder(200, assets.GetBytesOrPanic("rpc-tendermint-error.json")), + ) + + response, err := lcdFetcher.GetBlock(0) + + require.Error(t, err) + require.ErrorContains(t, err, "error in Tendermint response") + require.Nil(t, response) +} + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetBlockInvalid(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/block", + httpmock.NewBytesResponder(200, assets.GetBytesOrPanic("rpc-block-invalid.json")), + ) + + response, err := lcdFetcher.GetBlock(0) + + require.Error(t, err) + require.ErrorContains(t, err, "malformed result of block") + require.Nil(t, response) +} + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetBlockOkLatest(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/block", + httpmock.NewBytesResponder(200, assets.GetBytesOrPanic("rpc-block.json")), + ) + + response, err := lcdFetcher.GetBlock(0) + + require.NoError(t, err) + require.NotNil(t, response) +} + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetBlockOkNotLatest(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/block?height=123", + httpmock.NewBytesResponder(200, assets.GetBytesOrPanic("rpc-block.json")), + ) + + response, err := lcdFetcher.GetBlock(123) + + require.NoError(t, err) + require.NotNil(t, response) +} + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetValidatorsFail(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/validators?height=123&per_page=100&page=1", + httpmock.NewErrorResponder(errors.New("custom error")), + ) + + response, err := lcdFetcher.GetActiveSetAtBlock(123) + + require.Error(t, err) + require.ErrorContains(t, err, "custom error") + require.Nil(t, response) +} + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetValidatorsTendermintError(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/validators?height=123&per_page=100&page=1", + httpmock.NewBytesResponder(200, assets.GetBytesOrPanic("rpc-tendermint-error.json")), + ) + + response, err := lcdFetcher.GetActiveSetAtBlock(123) + + require.Error(t, err) + require.ErrorContains(t, err, "error in Tendermint response") + require.Nil(t, response) +} + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetValidatorsNoValidators(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/validators?height=123&per_page=100&page=1", + httpmock.NewBytesResponder(200, assets.GetBytesOrPanic("rpc-tendermint-validators-empty.json")), + ) + + response, err := lcdFetcher.GetActiveSetAtBlock(123) + + require.Error(t, err) + require.ErrorContains(t, err, "malformed result of validators active set") + require.Nil(t, response) +} + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetValidatorsInvalidPagination(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/validators?height=123&per_page=100&page=1", + httpmock.NewBytesResponder(200, assets.GetBytesOrPanic("rpc-tendermint-validators-invalid-pagination.json")), + ) + + response, err := lcdFetcher.GetActiveSetAtBlock(123) + + require.Error(t, err) + require.ErrorContains(t, err, "invalid syntax") + require.Nil(t, response) +} + +//nolint:paralleltest // disabled due to httpmock usage +func TestLcdGetValidatorsOk(t *testing.T) { + httpmock.Activate() + defer httpmock.DeactivateAndReset() + + config := &configPkg.ChainConfig{ + Name: "chain", + RPCEndpoints: []string{"https://example.com"}, + } + logger := loggerPkg.GetNopLogger() + + metricsManager := metrics.NewManager(*logger, configPkg.MetricsConfig{Enabled: null.BoolFrom(false)}) + lcdFetcher := NewRPC(config, *logger, metricsManager) + + httpmock.RegisterResponder( + "GET", + "https://example.com/validators?height=123&per_page=100&page=1", + httpmock.NewBytesResponder(200, assets.GetBytesOrPanic("rpc-tendermint-validators-1.json")), + ) + + httpmock.RegisterResponder( + "GET", + "https://example.com/validators?height=123&per_page=100&page=2", + httpmock.NewBytesResponder(200, assets.GetBytesOrPanic("rpc-tendermint-validators-2.json")), + ) + + response, err := lcdFetcher.GetActiveSetAtBlock(123) + + require.NoError(t, err) + require.NotNil(t, response) + require.Len(t, response, 180) +} diff --git a/pkg/tendermint/queue_test.go b/pkg/tendermint/queue_test.go new file mode 100644 index 0000000..20724c5 --- /dev/null +++ b/pkg/tendermint/queue_test.go @@ -0,0 +1,25 @@ +package tendermint + +import ( + "main/pkg/types" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestQueue(t *testing.T) { + t.Parallel() + + queue := NewQueue(1) + + block := &types.Block{Height: 123} + require.False(t, queue.Has(block)) + require.Empty(t, queue.Data, 1) + + queue.Add(block) + require.True(t, queue.Has(block)) + require.Len(t, queue.Data, 1) + + queue.Add(&types.Block{Height: 456}) + require.Len(t, queue.Data, 1) +}