code.vegaprotocol.io/vega@v0.79.0/core/rewards/overflow_weight_test.go (about)

     1  // Copyright (C) 2023 Gobalsky Labs Limited
     2  //
     3  // This program is free software: you can redistribute it and/or modify
     4  // it under the terms of the GNU Affero General Public License as
     5  // published by the Free Software Foundation, either version 3 of the
     6  // License, or (at your option) any later version.
     7  //
     8  // This program is distributed in the hope that it will be useful,
     9  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    10  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    11  // GNU Affero General Public License for more details.
    12  //
    13  // You should have received a copy of the GNU Affero General Public License
    14  // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    15  
    16  package rewards
    17  
    18  import (
    19  	"testing"
    20  
    21  	"code.vegaprotocol.io/vega/core/types"
    22  	"code.vegaprotocol.io/vega/libs/num"
    23  	"code.vegaprotocol.io/vega/logging"
    24  
    25  	"github.com/stretchr/testify/require"
    26  )
    27  
    28  // TestMainnet is reproducing the issue https://github.com/vegaprotocol/vega/issues/7253 by setting up the validator delegations data to what it was at the end of epoch 417.
    29  // The issue that caused this overflow is related to one party (2fd6dfb33917e0438746a3d0f70175a6ba528f497649cbcd8e0d1c8607182e2d) having very small fraction of the delegation
    30  // on the node - when the normalised weights are summed, with rounding errors it gets to more than 1 - with precision error of 4e-16. The delegator weight to adjust is chosen
    31  // at random with the rng seeded at block time 7656707 - this leads to choosing this party for adjustment to correct the precision error - however as the error is 4e-16 and
    32  // the delegator weight is 3e-16, we're still left with 1e-16 of precision error which leads to an overflow downstream.
    33  func TestMainnet(t *testing.T) {
    34  	epochSeq := "417"
    35  	accountID := "564"
    36  	asset := "VEGA"
    37  	rewardBalance, _ := num.UintFromString("5309254511561007668206", 10)
    38  	valScore := map[string]num.Decimal{
    39  		"126751c5830b50d39eb85412fb2964f46338cce6946ff455b73f1b1be3f5e8cc": num.MustDecimalFromString("0.050881379571504"),  // Greenfield
    40  		"25794776055552a92e7b27dd8f15563ffb78defe7694d6c4da8bb258daca897c": num.MustDecimalFromString("0.0834987626715796"), // Lovali
    41  		"43697a3e911d8b70c0ce672adde17a5c38ca8f6a0486bf85ed0546e1b9a82887": num.MustDecimalFromString("0.1113619817008983"), // B-Harvest
    42  		"4f69b1784656174e89eb094513b7136e88670b42517ed0e48cb6fd3062eb8478": num.MustDecimalFromString("0.1100534177603672"), // NodesGuru
    43  		"55504e9bfd914a7bbefa342c82f59a2f4dee344e5b6863a14c02a812f4fbde32": num.MustDecimalFromString("0.0881331817231271"), // RBF
    44  		"5ca98e0dd81143fafea3a3abcefafee73f3886ac97053db8b446593e75c10e9d": num.MustDecimalFromString("0.0808134106659369"), // P2P.ORG
    45  		"6f4a5c540b31d7643cd0187fab82fa26edae53f8aeb6fdcf9b257fd61c74b245": num.MustDecimalFromString("0.025347555405046"),  // Validatrium
    46  		"74023df02b8afc9eaf3e3e2e8b07eab1d2122ac3e74b1b0222daf4af565ad3dd": num.MustDecimalFromString("0.0694684349820005"), // XPRV
    47  		"8d33c6e06207ed5735c8b5b6c0c6234f44eb381b242a25a538ed3315369d2203": num.MustDecimalFromString("0.1113619817008983"), // Nala
    48  		"9c2a9590fd4767a8e4649c87bb79f43265833d20ad578ae15db338ca582ab042": num.MustDecimalFromString("0.0008843255783061"), // Staking cabin
    49  		"ac735acc9ab11cf1d8c59c2df2107e00092b4ac96451cb137a1629af5b66242a": num.MustDecimalFromString("0.0962839697186531"), // Figment
    50  		"b861c11eb825d55f835aec898b3caae66a681a354bcb59651d5b3faf02b34844": num.MustDecimalFromString("0.1113619817008983"), // Commodum
    51  		"f3022974212780ea1196af08fd2e8a9c0d784d0be8e97637bd5e763ac4c219bd": num.MustDecimalFromString("0.0605496168207846"), // Staking facilities
    52  	}
    53  	delegatorShare := num.MustDecimalFromString("0.883")
    54  	maxPayout, _ := num.UintFromString("700000000000000000000", 10)
    55  	logger := logging.NewTestLogger()
    56  
    57  	po := calculateRewardsByStake(epochSeq, asset, accountID, rewardBalance, valScore, loadValidatorData(t), delegatorShare, maxPayout, logger)
    58  	// 5309254511561007415197 = 5309.254511561
    59  	require.Equal(t, "5309254511561007415197", po.totalReward.String())
    60  }
    61  
    62  func loadValidatorData(t *testing.T) []*types.ValidatorData {
    63  	t.Helper()
    64  	vd := []*types.ValidatorData{
    65  		validatorDataGreenfield(t),
    66  		validatorDataLovali(t),
    67  		validatorDataBHarvest(t),
    68  		validatorDataNodesGuru(t),
    69  		validatorDataRBF(t),
    70  		validatorDataP2P(t),
    71  		validatorDataValidatrium(t),
    72  		validatorDataXPRV(t),
    73  		validatorDataNala(t),
    74  		validatorDataStakingCabin(t),
    75  		validatorDataFigment(t),
    76  		validatorDataCommodum(t),
    77  		validatorDataStakingFacilities(t),
    78  	}
    79  
    80  	for _, v := range vd {
    81  		byDele := v.StakeByDelegators
    82  		tot := num.UintZero()
    83  		for _, u := range v.Delegators {
    84  			tot.AddSum(u)
    85  		}
    86  		require.Equal(t, byDele, tot)
    87  	}
    88  
    89  	return vd
    90  }
    91  
    92  func validatorDataGreenfield(t *testing.T) *types.ValidatorData {
    93  	t.Helper()
    94  
    95  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
    96  	stakedByDelegates, _ := num.UintFromString("1313996185506943737679345", 10)
    97  
    98  	delegatorsString := map[string]string{
    99  		"315a67162bb8fd09a2dd744a5b8d3a6a47bff3cc9667318a485a800a2f7c09e6": "57143145715728578642928",
   100  		"3f9d85c5587e138af8863981c334148d16079a79e037fe1d271b23f54cb20f4e": "22222222222222222222222",
   101  		"f10e64b969211b740ccaba21b07a733392d3eedd46533f37e48da0bd6dce86b9": "28571857149264381502481",
   102  		"e478591fa3903d8ed92af221a3dc6dc638f3f85cf9503c99cda9d5c36a44faeb": "3197817799001307812649",
   103  		"37f587ba07ae7a265456ec3796ac08d77696db93d70c3ee77869e134064757fe": "100000000000000000000",
   104  		"6757970d2514199f55cc1de69a6f445517c36023415a8f0f4cfc9f5301181ed8": "106826178576673003627",
   105  		"d620db61fe3efe25e9120d89f7ceca35a05b456354294dfc1cb80ad0832a36b0": "1000000000000000000000",
   106  		"f6556d21fdf6800e9161e7c4663b0852f1498e09b727806fac8d1e60dd2212b1": "100000000000000000000001",
   107  		"f146fb64f34255fd6410d2c8c63c6b5bdfaf7bc32ea904f199b229575b462d59": "50000000000000000000",
   108  		"6813011576912946506d7f020d72b9c4a7569606d3fafae2f93062c19cc161ff": "179550000000000000000",
   109  		"cf9dd5ea55fcc221745312ea6b2df09f91affa37d29e35f94ad1628a7ac66271": "18886900038752381726",
   110  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
   111  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "21274824110000000000000",
   112  		"12ea16901a295a513b1df5ecc4c66cb06b0864aa679a359ca1106dd44a4d6e44": "94999000000000000000000",
   113  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "10582010529100526455026",
   114  		"ce168afe6fa9ad5cd2339f85ba0b2910e07875ad367209765e66a9a3429bb434": "54938435202977474087429",
   115  		"af89d35bc90855bf82b029f1f7f25633077ff597ec94538094449caa56657e01": "100000000000000000000000",
   116  		"32db1e486edf49a25f43610418c59b2abd479db6bd226699fef8dfaf5623b967": "27908993584742341793953",
   117  		"509d433f032785af81f238d777a1c2dd4137076fe96c80a59582518d7f4abcf6": "41985705241113179102994",
   118  		"c60e9d294a3910c37c06f6285a84698cd9f4ad3afd33123c7aa76cde1815e78f": "107511385621614398102",
   119  		"f36635ebbeec47a6d144b64e19bfed3a0700a5b1deea01f868f304b8c560bb1e": "400000000000000000000",
   120  		"1a20f954b95b2190b8c97aa0b413b684abf238aebd71345ae57d5ef193be0a64": "53442915586287627947905",
   121  		"c5e848c0a5b3d936a53ee45256f8195a326f731ac71b986e6207353ebe06bca5": "48127589786111389491",
   122  		"ba54a39b5a90ac431500c6d584afccce058a29606aa6e62d3b0e02aae786423a": "131198000000000000000",
   123  		"c0e6931e82a1039932a4d6c90cd1dc555460637f8dde57cda59215df355f859f": "10200000000000000000",
   124  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "10582275085990904072098",
   125  		"647d3ed03018c12928387413bbdedb6aa9c90e27d791c1a36954813a851f9a60": "400000000000000000000",
   126  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "20000200000000000000000",
   127  		"5d2c70ff69179b87fb6258973c87b9b48af5abaa9f4efdbee7b297fa348d988e": "28571420000000000000001",
   128  		"4be62a9c8e632398a6522242faa8e9ed1495565da31c6b9d783a01a3c9d9c580": "20000000000000000000",
   129  		"2a82986f52ca9faccfc01ea77e79bd39992ce64340209460341fb0f672cb1af9": "99998418809838165187044",
   130  		"823206c1e4cb50acb78eab62b34e12debc4ed5bade6da5a78b19d450b521f297": "100000000000000000000000",
   131  		"2a0ec3e532cec24bfe2d48e3645fad5a708f86d126fd57fec54d7f9e8be5e3b8": "60000000000000000000000",
   132  		"2925bd83da520c08dcfb98ccaaf6c5a4b27e64ebd0b0cf48852e6ca5d0582a96": "6024530137651404371625",
   133  		"8a7a297a9c67616870feed2c69e1b2c81a9f40e982d8aad28fdcfb60b6cc3ce8": "58716821907084261187604",
   134  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "106411734824047648439858",
   135  		"8dba38bd55c63112266e58320fd5e9344fd8dea467ade8b798a823dd679b4516": "133382361111111108842",
   136  		"0db03b71dd2a270c45975000371a7d62e719379487ee656fa6c410e17fb372c0": "4973136161334055629372",
   137  		"5bfcb37de00458491bba30ca66a62f16dce39715924fba57966f64ad5d8ab3d5": "116666666666666661666666",
   138  		"92ece048f03fa00eae291d2f4430948c4b7de3e6d1d3cb8eb1624f7446a775eb": "11234936798203099780567",
   139  		"95cf7d0def451f2b0039fd8ded5c6258f9d5bc75537cd47e3abc95dea51610c0": "1042000000000000000000",
   140  		"0090108f806c96e679af6ec43e92f8c9b0961f61a916d46dcdfb9850d7139ed6": "20006450000000000000000",
   141  		"3cd4768d73b97a90e23d4299d3ae647418c22848e1bd753a8a2e71e7c0b482a9": "22222555560555635495134",
   142  		"61f78f91cb01e07dd98ef65d10b814e830cfa083463ccda7e0916fe522124441": "28571430000000000000000",
   143  	}
   144  
   145  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   146  	for k, v := range delegatorsString {
   147  		delegators[k], _ = num.UintFromString(v, 10)
   148  	}
   149  
   150  	return &types.ValidatorData{
   151  		NodeID:            "126751c5830b50d39eb85412fb2964f46338cce6946ff455b73f1b1be3f5e8cc",
   152  		PubKey:            "a6e6f7daf8610f9242ab6ab46b394f6fb79cf9533d48051ca7a2f142b8b700a8",
   153  		TmPubKey:          "0ShTSZ9Ss8AFHuDz1nIGMrGucjXhFdJyUTT7Eqibjq8=",
   154  		SelfStake:         selfStake,
   155  		StakeByDelegators: stakedByDelegates,
   156  		Delegators:        delegators,
   157  	}
   158  }
   159  
   160  func validatorDataLovali(t *testing.T) *types.ValidatorData {
   161  	t.Helper()
   162  
   163  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
   164  	stakedByDelegates, _ := num.UintFromString("2207844900124439167834299", 10)
   165  
   166  	delegatorsString := map[string]string{
   167  		"dfe5e01df5d3da4b58faf22569861dcee6e30637ec27c754ae9be47c1bb31587": "199300000000000000000",
   168  		"fcd2499ac6fcae5775795c45cc64a7211efe975a38a77a1c28fbb0ddddab5f8f": "784881633043724073939",
   169  		"d6db25f88914ee66f79da0f32f4bb615126d57abc567b4f9d8d105913834f9e1": "24331378179099763273960",
   170  		"5d2c70ff69179b87fb6258973c87b9b48af5abaa9f4efdbee7b297fa348d988e": "57142860000000000000000",
   171  		"36e38933b527440e163bae960bd8bab92417859ee49f4bc53905baa64e109c98": "27298980000000000000000",
   172  		"5bfcb37de00458491bba30ca66a62f16dce39715924fba57966f64ad5d8ab3d5": "408333333333333345833337",
   173  		"5b05603b644a264976da4aae0846cfd7076ebd8567737a399781de02e46d899f": "197639999999900000000",
   174  		"58da591436da27895aecf428cb32bc666c03735db38ec84f3d91956ab96f531f": "248970000000000000000",
   175  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "20000000000000000000000",
   176  		"509d433f032785af81f238d777a1c2dd4137076fe96c80a59582518d7f4abcf6": "140730107099451052590933",
   177  		"50950fecdf3ab232c308cd45d88cecc21fc8d722689cabff45ca5f7cb27e2fbd": "75000000000000000000000",
   178  		"5049479d815c5dee41565652a9cf4f7eed4d6ca0dcaaf9fd61649d0b36c900e2": "75000000000000000000000",
   179  		"429672b329dffd6bea2f3a923c9af7c86bec51d1bbc37bd7a494b48a3f7b7eda": "450000000000000000000",
   180  		"3fd55fe5a39c63d1ea63800ee9214b54ebdc6406fe1857ccebaf4c89dc4de0c6": "40000000000000000000000",
   181  		"3c49efe9d8666d0df2f7a7657e597253e8c1e1e50d56827f19628bfb89a79742": "40000000000000000000000",
   182  		"3f9d85c5587e138af8863981c334148d16079a79e037fe1d271b23f54cb20f4e": "22222222222222222222222",
   183  		"3cd4768d73b97a90e23d4299d3ae647418c22848e1bd753a8a2e71e7c0b482a9": "22222555560555635495134",
   184  		"d620db61fe3efe25e9120d89f7ceca35a05b456354294dfc1cb80ad0832a36b0": "1000000000000000000000",
   185  		"3f60e8efca1e7dbc0bcee827d519d7748545f4882a16060fd436eababbeef46a": "40000000000000000000000",
   186  		"3dafdcbcbdcd3ca2afd8db8f06395703d7def5951f45704bc7f98ff3c65ae636": "300000000000000000000",
   187  		"3d1cfe5243ac4883774649262e3b59290d93f81e0bace3ee9ff9f947a20c87b4": "199650000000000000000",
   188  		"d4d1be907062cc05b021c6655c7e70539140642c44fb867ea368d60ea41416fa": "248420000000000000000",
   189  		"cef80fb8c290e40c38ce8750098b64aed6a21d76b0db3e2fe1b13ae1d34583c0": "197260000000000000000",
   190  		"fe8cb45edc4819c0a856e9a5d52ad59b7d1a7608b41f71093d8ad6cde737399c": "75000000000000000000000",
   191  		"ce168afe6fa9ad5cd2339f85ba0b2910e07875ad367209765e66a9a3429bb434": "2191208500383715251669",
   192  		"c9a51d60920443f92e3ef6970aceadee93d9c86c86577db273a660db1d3d80bb": "198270000000000000000",
   193  		"078d4b6946d3bc0d43d341a153071172f13ec1d8ac38697426cb1e3cac3c5716": "200000000000000000000001",
   194  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "20000000000000000000000",
   195  		"c0e6931e82a1039932a4d6c90cd1dc555460637f8dde57cda59215df355f859f": "45900000000000000000",
   196  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "21164550171981808144196",
   197  		"010f0947ef0590a62352dc2bd954f52c073bbad8205dc35164309ecd9fbc0eea": "248230000000000000000",
   198  		"bd2ad661e4bbf42e0d76ee66684a9291d40bb0136633e81a1420b7467a5e7360": "3000000000000000000",
   199  		"bca3c28793af6ac6c0b541ee43fca720c17213df1cde046e815834f6a0a4377a": "449110000000000000000",
   200  		"1965976853c05c8b28a74e0eb624875f97cfbc86f55cb165ee4ed616641185f5": "200000000000000000000001",
   201  		"f4f7a7777601f184fe6688650332c6bf65190d2818b16ca73f67ee2cfa1f271d": "27298980000000000000000",
   202  		"1a09c5eb38fe2b196e1b38974b0960136239519b3eb8bab7f7a2007237961b11": "249820000000000000000",
   203  		"f10e64b969211b740ccaba21b07a733392d3eedd46533f37e48da0bd6dce86b9": "57143714298528763004962",
   204  		"a764613e062c540fccbb200be2925547b3d43a89d4c03140471d66362ea47d9c": "666169872468117029260",
   205  		"efe799e85b2e4a92567977de8daca622c9b436c217b32e4fe596edba686974a4": "27298980000000000000000",
   206  		"278fb35c7e41580eca5b9f6ade3389bc89b238ecdb4f7dd68363673e66314f77": "61921444498649885733622",
   207  		"8990664dc6d5f70db4d7db16a75fdd71a3b8fe7d155bf1b4643491fcb95f85e6": "8500000000000000000000",
   208  		"896a079f7c2db1e7176605c1aaf6940351fcab4b84bc7119433818d26da21ba4": "666670000000000000000",
   209  		"8960fc7a00fed33283c80fbe6b87eeab0e2748f67dcd8e320c87240c831f5d53": "250000000000000000000",
   210  		"e478591fa3903d8ed92af221a3dc6dc638f3f85cf9503c99cda9d5c36a44faeb": "3197817799001307812649",
   211  		"0b18accda759fa49249e64bc549f883c3375c9027d746b152865841537d99dc2": "40000000000000000000000",
   212  		"2a0ec3e532cec24bfe2d48e3645fad5a708f86d126fd57fec54d7f9e8be5e3b8": "20000000000000000000000",
   213  		"81eeb513ace2f804509c7cf1c145a707f525064e105e5cb24d1e0f54f82b299c": "199300000000000000000",
   214  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "21164021058201052910053",
   215  		"815ad653d3b384c4d810c36493aa25c7a2f890f9ba4342bf8e09376d7b312493": "100000000000000000000",
   216  		"7c713f27b1321b497f2669da6ddd8bf7423fa1c3728b6280432dea576122fb76": "199330000000000000000",
   217  		"77204d8ba0ea79400536db9781c22c151e6c025f6d48084ce9127d16affe6c0b": "249190000000000000000",
   218  		"76e870ab020e49ab07dd0fb2c96b08509c94483d26e366138cd9941463b5fa14": "197389999999900000000",
   219  		"74dd78990520a3c5b21580c0aa9a806cc76710226ad0b969571175c6a58a6d44": "28572840000000000000001",
   220  		"71112b78717e30f7c928f041e6c5e9eeaa00d2f1fa0576f2a5632654fd92480f": "249510000000000000000",
   221  		"6813011576912946506d7f020d72b9c4a7569606d3fafae2f93062c19cc161ff": "179550000000000000000",
   222  		"017d82c270b020da8049624fa36fadadd03ba96c4bbf193b546078a4efe143be": "249230000000000000000",
   223  		"67d7f2abe67137abc1e5684be0c936a17463252d302770d92bfbe68100e0279c": "75000000000000000000000",
   224  		"e290a73659011d18705bd955823484a5575b76637524896b35fcaaa6c12ee34b": "249400000000000000000",
   225  		"66ff445b5a1b011de5e26203cad83e3e405c24feff0187bc01af2a0d93d92650": "801670000000000000000",
   226  		"315a67162bb8fd09a2dd744a5b8d3a6a47bff3cc9667318a485a800a2f7c09e6": "57143145715728578642928",
   227  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "111783272807618969599461",
   228  		"00eb75705269f3fb1cf9c092104d10858e5e7a39d5b6230238782dc14f96c6ef": "75000000000000000000000",
   229  		"32db1e486edf49a25f43610418c59b2abd479db6bd226699fef8dfaf5623b967": "12349267374171426215971",
   230  		"622753582c7ae1cf970bb26af2c84120d95223abb133f9b326bd192a0d9ee835": "3500000000000000000000",
   231  		"61f78f91cb01e07dd98ef65d10b814e830cfa083463ccda7e0916fe522124441": "57142860000000000000000",
   232  		"da95fc58384cba5ab510ebf7ec01d6df8ed09fc303900e412b9e19c592a77359": "893500000000000000000",
   233  		"d9de9c2cce234ce5463b68dae80bda43600b5d737fa1ded2421ce7f581eaf9ad": "19000000000000000000",
   234  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
   235  	}
   236  
   237  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   238  	for k, v := range delegatorsString {
   239  		delegators[k], _ = num.UintFromString(v, 10)
   240  	}
   241  
   242  	return &types.ValidatorData{
   243  		NodeID:            "25794776055552a92e7b27dd8f15563ffb78defe7694d6c4da8bb258daca897c",
   244  		PubKey:            "b7e500deb24cc19bd6ebb2311997f0904ca0d9e51541249e9650ab41fd8ac376",
   245  		TmPubKey:          "2ze1jT6SxaWUI9yECwYJaPIf1lBSU7myu6wfe4wqnMs=",
   246  		SelfStake:         selfStake,
   247  		StakeByDelegators: stakedByDelegates,
   248  		Delegators:        delegators,
   249  	}
   250  }
   251  
   252  func validatorDataBHarvest(t *testing.T) *types.ValidatorData {
   253  	t.Helper()
   254  
   255  	selfStake, _ := num.UintFromString("42088032374378619877608", 10)
   256  	stakedByDelegates, _ := num.UintFromString("3723187306812624851459603", 10)
   257  
   258  	delegatorsString := map[string]string{
   259  		"3f9d85c5587e138af8863981c334148d16079a79e037fe1d271b23f54cb20f4e": "22222222222222222222222",
   260  		"92ece048f03fa00eae291d2f4430948c4b7de3e6d1d3cb8eb1624f7446a775eb": "7539536492145813686273",
   261  		"3c49efe9d8666d0df2f7a7657e597253e8c1e1e50d56827f19628bfb89a79742": "40000000000000000000000",
   262  		"3fd55fe5a39c63d1ea63800ee9214b54ebdc6406fe1857ccebaf4c89dc4de0c6": "40000000000000000000000",
   263  		"8a7a297a9c67616870feed2c69e1b2c81a9f40e982d8aad28fdcfb60b6cc3ce8": "58716821907084261187604",
   264  		"0ab4eff04606da53d728fd6fa128c3d233f1e333515956f323c71bd4825315a0": "400000000000000000000",
   265  		"d620db61fe3efe25e9120d89f7ceca35a05b456354294dfc1cb80ad0832a36b0": "2002420000000000000000",
   266  		"fe4b5dc6a7ae2c137a59c29a40d0e3919c6cbb4af7dfcbba4400f9ce036821ea": "2033795482942709264147",
   267  		"32bf53521d203f87b268593e133bfaf7982068ee6afcf7833ec8d7daf2f0f9ff": "40000000000000000000",
   268  		"36e38933b527440e163bae960bd8bab92417859ee49f4bc53905baa64e109c98": "23620610000000000000000",
   269  		"37f587ba07ae7a265456ec3796ac08d77696db93d70c3ee77869e134064757fe": "850000000000000000000",
   270  		"5587e0fc9f013eb6bc9a790ad47c044dee46aed971eeb2e25119e4c48c87826a": "200000000000000000000",
   271  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
   272  		"82cc61d78b3b6e7b15e00a3bd9e478c46db4d70f6ecc55a0c83e0b52f3e64e99": "304061206333310968801",
   273  		"82978c1d74527087faea489fddf6554239a62d7d56fa47d3ea8138e8e22a6691": "611423225700502140619460",
   274  		"3c112999c374075f9bca71b55f4eb9a169ff56fe25291a907f7b46f8ce334f45": "1500000000000000000000",
   275  		"dfcf53bb8a7ca5256341128b8943dfe70b6b5a7da90a1bb6328d360659349408": "250000000000000000000",
   276  		"5e7b5522e049f1344d39944b6ff5fd986ce44db31aaf718301f63d13448ae686": "161165401008120138195701",
   277  		"43558301ad8c194caebce4f0494c4e786e194283bcdfe1a34918908662da6f90": "123880700000000000000",
   278  		"6615a5e6cdf22868437e0c108507ad91553efa1e54cc5be398fb6e430bb1b7c7": "11107440136940288204817",
   279  		"2a0ec3e532cec24bfe2d48e3645fad5a708f86d126fd57fec54d7f9e8be5e3b8": "60000000000000000000000",
   280  		"440547c035b386d2910ff16e3ac590673ff1f80e04411f72a266aef6e35be82c": "4497087745680291286529",
   281  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "125518862214713724782510",
   282  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "15873020793651039682552",
   283  		"f8993701788881ecc69245c0e234d13c1ac7e83be9ce7a3fee0a4f3f25e5fdb4": "333317142122406994686",
   284  		"45ebb5adb216bc18de527adfc7ee96cf4dee556518e90291ee4120c31561c2b6": "50000000000000000000",
   285  		"2a82986f52ca9faccfc01ea77e79bd39992ce64340209460341fb0f672cb1af9": "25000395297540458703239",
   286  		"509d433f032785af81f238d777a1c2dd4137076fe96c80a59582518d7f4abcf6": "22195086471073046221838",
   287  		"5d2c70ff69179b87fb6258973c87b9b48af5abaa9f4efdbee7b297fa348d988e": "28571430000000000000000",
   288  		"7ebf57ec8adfb8736549d6cd95dae610e7a74dce55324481d8ef0f8d4745d638": "400000000000000000000",
   289  		"315a67162bb8fd09a2dd744a5b8d3a6a47bff3cc9667318a485a800a2f7c09e6": "28570562852814264071314",
   290  		"61f78f91cb01e07dd98ef65d10b814e830cfa083463ccda7e0916fe522124441": "28571430000000000000001",
   291  		"5bfcb37de00458491bba30ca66a62f16dce39715924fba57966f64ad5d8ab3d5": "116666666666666661666666",
   292  		"0b18accda759fa49249e64bc549f883c3375c9027d746b152865841537d99dc2": "40000000000000000000000",
   293  		"164fe3566007c5800b1e8ace419a8b8e132312e2131bbc645d931237cea501df": "64877333494534932565",
   294  		"c19644c931e506e3c69c8f6147a733b3cd95ef52770438a9149aaf6b8421bfea": "1309204228982000000000000",
   295  		"2c279486df29238a436fc9558ce3c6b1a6c5dd59c6f6b19cc848b426800b1911": "435369830215401626401",
   296  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "10000000000000000000000",
   297  		"1731c3898a0add41947b4393f385fc02e3c487f0a43d88c677d0d9c4732467bd": "400000000000000000000",
   298  		"c4cccb0632a5aea8e282969aacac7616efcebdb42cc6b1c94c629895f47e2848": "200000000000000000000",
   299  		"74dd78990520a3c5b21580c0aa9a806cc76710226ad0b969571175c6a58a6d44": "15871020000000000000000",
   300  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "15873417629111609245659",
   301  		"31eaed3a560d7964ea30592d54fd5f1cb2e0e5ee4dea80df14b7a339eae3ad54": "400000000000000000000",
   302  		"bd2ad661e4bbf42e0d76ee66684a9291d40bb0136633e81a1420b7467a5e7360": "30000000000000000000",
   303  		"d698953b848e3d7d514ded68fc96b4fa6eba4967cf4ea986a5eb94b10491187b": "2726674667811201385835",
   304  		"6ec0b4a1042452709e9fb96e37456860aff1943fbaba8ceae58f8bad49eddd87": "605000000000000000000",
   305  		"2dffa282f0dc761c1f05f1325520dc57c8578da8f8032a85f14a8d8806193ba9": "16005000975641383934067",
   306  		"6cb63bb50b366b465310853924d0bf8a1530d6cbd91e363f2922c7428dad0f91": "619624300000000000000",
   307  		"bc6121ad365077ed1caf4df71925d2fd22e4f26ec539f091f5039d8cf74dfc8a": "200000000000000000000000",
   308  		"c55f30a2c3f0d810a5e79408b712d39798d75dbed641b0946bae7cf04deb32f2": "650000000000000000000",
   309  		"f4f7a7777601f184fe6688650332c6bf65190d2818b16ca73f67ee2cfa1f271d": "23620610000000000000000",
   310  		"1a20f954b95b2190b8c97aa0b413b684abf238aebd71345ae57d5ef193be0a64": "53442915586287627947905",
   311  		"b8e4dd22b7a71b2dceb86b6332e57aba0887b70d416fef9b21676b562c778cbb": "22989592783017874897868",
   312  		"6813011576912946506d7f020d72b9c4a7569606d3fafae2f93062c19cc161ff": "179550000000000000000",
   313  		"b6eb16590266dfeee77a4c713b8b0e60606d84c49e61a6b42e0492fde013766b": "432500000000000000000",
   314  		"b1fec05e73a7ad57620dea46c8d13fb9f24ef4a043903b8caf45174791d7e923": "1000000000000000000000",
   315  		"b1e0fba7e49e26148ab1bd60eee8aa704a95689062acc795dd02614a268af6ad": "997967700000000000000",
   316  		"150062fac53dd808fe39379eddc644c68f5962fac6872e8e9ea393ebef4f618d": "200000000000000000000",
   317  		"af89d35bc90855bf82b029f1f7f25633077ff597ec94538094449caa56657e01": "112778637760000300000003",
   318  		"136e5fccf78808a46a34633c9b168e15328989a0f827a60f3de65ecadfe03e6a": "800000000000000000000",
   319  		"d5ad669840bfecddbc5b082d4122ec8ebdaf72d631b77320dd65c76628c160ca": "75038413106399111633282",
   320  		"f10e64b969211b740ccaba21b07a733392d3eedd46533f37e48da0bd6dce86b9": "28568857104413710985114",
   321  		"0ec4cf7332c43f90d291571a54fadd9afc99cfb3473e1feb6289419542cf7ea3": "400000000000000000000",
   322  		"3f60e8efca1e7dbc0bcee827d519d7748545f4882a16060fd436eababbeef46a": "40000000000000000000000",
   323  		"a976996e43d194c29081c42dbcaf0f5b73b44acb055f0c74c0420f039023b64e": "100000000000000000000",
   324  		"f0ce41f07f47d9afe5a8e25ea43aeac8489100499862be337371f1eb6585a7c9": "1822516891956459319684",
   325  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "21274824110000000000000",
   326  		"20748d0e607ca013af59a57762ac605f86ccf9f7125832b9c36a999c1a72b07e": "18732263540000000000",
   327  		"3cd4768d73b97a90e23d4299d3ae647418c22848e1bd753a8a2e71e7c0b482a9": "22222555560555635495134",
   328  		"219a9e0b12004eca7027d6529681e54a993ca353673eb3b9a65958bb0702c529": "40000000000000000000000",
   329  		"a2b58cea5dac1707d40ceb1e3f32aab410fce9923f4ef28695b91c89932a7319": "595536187627222297726",
   330  		"9a0dd809d3686a41ffcdca4fd08ad98a7960d57a5cf9a8c90f95fce0bacc8518": "250000000000000000000",
   331  		"9862239353f99dddbd77625fa3381b0139a29082ad7334e7fa7e69250f626038": "200000000000000000000000",
   332  		"efe799e85b2e4a92567977de8daca622c9b436c217b32e4fe596edba686974a4": "23620610000000000000000",
   333  	}
   334  
   335  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   336  	for k, v := range delegatorsString {
   337  		delegators[k], _ = num.UintFromString(v, 10)
   338  	}
   339  
   340  	return &types.ValidatorData{
   341  		NodeID:            "43697a3e911d8b70c0ce672adde17a5c38ca8f6a0486bf85ed0546e1b9a82887",
   342  		PubKey:            "68ed0770fc3e67b74d09c05443243d27e29a8513dc0e8628beb98338cd509159",
   343  		TmPubKey:          "vQVqN1N0+k1GtGZmB8gb1b9BR/cdcYFZtxgiywaTVYM=",
   344  		SelfStake:         selfStake,
   345  		StakeByDelegators: stakedByDelegates,
   346  		Delegators:        delegators,
   347  	}
   348  }
   349  
   350  func validatorDataNodesGuru(t *testing.T) *types.ValidatorData {
   351  	t.Helper()
   352  
   353  	selfStake, _ := num.UintFromString("3027453900000000000000", 10)
   354  	stakedByDelegates, _ := num.UintFromString("2845557482534759273396884", 10)
   355  
   356  	delegatorsString := map[string]string{
   357  		"004ee8e8ff27eba2528218ed4ce8e16d979dd85f5272d42055707c80c05fe0d0": "333330000000000000000",
   358  		"00eb75705269f3fb1cf9c092104d10858e5e7a39d5b6230238782dc14f96c6ef": "50000000000000000000001",
   359  		"023f7eda860d434fae04c54d233480a78c4daacec1c985499d6066bc5ddb2e93": "200000000000000000000",
   360  		"037ca2550f7d8a655c105bf02463ce2315fe8254a5eba0ddda0fcc8ad4ec269d": "300000000000000000000",
   361  		"06cf7957705f23276c9f5d9d65e341b6b64973f8f64b2856a1c514e16393e49d": "450000000000000000000",
   362  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "42329100343963616288893",
   363  		"0ab868faee7274cfd35aaa868d578716d08bf39b1dd8149d93468869ea47eae8": "450000000000000000000",
   364  		"0b18accda759fa49249e64bc549f883c3375c9027d746b152865841537d99dc2": "40000000000000000000000",
   365  		"0b6cef9c32d32993e8851f22cada4db132cbc562dbacfb5d338d80361a2ceb1d": "199560000000000000000",
   366  		"0d72308a35a9021b4080440ab87f6cb928d49ada38fa3bcbf3cc9039faea5163": "400000000000000000000",
   367  		"0e0cd4e9074a5e3773c91c3a5aa8431d074fd090952830febc4bea3857969e06": "94000000000000000000",
   368  		"0f36526980480f528007e61f98669e85f4542e112c5acbe882ad0283d4863afe": "249510000000000000000",
   369  		"103d23f5662fd7effad141ffcc0b1e899079c3b9605b81bfddc99c7e170b3bf8": "200000000000000000000",
   370  		"12135cc05a07c037b820378c4c961717d208c3e8084f9ae90270f6da02b2866c": "200000000000000000000",
   371  		"146c04522f942007ac9315ec16c1fb73710b353ed80108da61883d7f3e0c2cf1": "36967893279927955745083",
   372  		"15223121288d4bd491c3330b24360a9548431bcc9a804e2959c96189bd1a0187": "96088111393887972701679",
   373  		"1662a75dad6711ad4e479c25c8d0f2f3958967284d52ee4b4b2ba6decaf7dfde": "400000000000000000000",
   374  		"183c6f29203ba4b5a1bb4370375b8d88d256de994dbf66cf4fc6ea38d413466d": "200000000000000000000",
   375  		"18d30e227a3c59985b68849d67689762d60cac3061b71689d5010faefcbe38d9": "400000000000000000000",
   376  		"18f6f57a4a53e8658e70196cb76d325dd918def834f28e4e5e032d90a62cc3cd": "387684292577326392241",
   377  		"1965976853c05c8b28a74e0eb624875f97cfbc86f55cb165ee4ed616641185f5": "200000000000000000000001",
   378  		"1c00a49d3d6aac3444b684499a01ecf4197568667094a75e3470978b23502cd1": "199310000000000000000",
   379  		"1cda97a36bb402c61da69c9dfd5e5dae048c57dd92e168867a50561412de91ec": "100000000000000000000",
   380  		"1de481513ea2559268e54483fbb7666f384ef486d41d922ccaea55d5603e3c0f": "449280000000000000000",
   381  		"1e2dbb06c565dafa74b23ed92510243101fce37f698468e41de14d95bef450d8": "3537365993514404590152",
   382  		"1ec20e8f452db1271aebf0e54f720bca7df6f995fd01fade90a55b2931545c7e": "100000000000000000000",
   383  		"1ef4834bed51e2a222b6b7413e23f4321bd61b571a99c78d40a97275d97118fe": "650000000000000000000",
   384  		"2210bdd380a598f4eb326e2e4367335a0d7ec1a033253286f235be149c2179e8": "238000000000000000000",
   385  		"252befd3d68e1951dc12b6e23a3810c02737933ac984008684c01d5f3e6c1fe2": "1300000000000000000000",
   386  		"258a6210486c83ca6240011817173f871daf3e52ff1f4d3bb134ab1a94376e06": "250000000000000000000",
   387  		"272f78ccfb1ce267896f4c17958b5c8e1c40dbac7d972a43091718b3f4b72cf8": "250000000000000000000",
   388  		"292ff72f654e237a0c7e4ae9db30ec2b4dd61377eee6e57e44eae436ac9febf6": "199680000000000000000",
   389  		"297025fd49e606ed861e4eeceee56c3d02dad184fe57de93f75afe00588c1850": "400000000000000000000",
   390  		"2bfce73f0bfba940dbad85460cc20c510c229dfd6fe493c2e57ec6f420550e54": "400000000000000000000",
   391  		"3001df3c4b8a066538a1e71a8617a4588044690de59f93170120ccd8f749b827": "199560000000000000000",
   392  		"309e5b560db52104e660c0e254d3046ddda6e08156f90fbbce81d83fba3f3a64": "58539665900000000000000",
   393  		"30c985dcb53c2d4c7a62c2765ce6a7c0d90baab0d694b8b583b79cb83d615620": "249310000000000000000",
   394  		"314cbec7a7a6005e894369afc6f8f4ee5ba99901423957c7247357701ae1640c": "80000000000000000000000",
   395  		"322c1d8654eeaf2da2403059e81a90ada56df3a4e08d574aefb48b0788ce63d7": "250000000000000000000",
   396  		"32db1e486edf49a25f43610418c59b2abd479db6bd226699fef8dfaf5623b967": "14904288210206893708946",
   397  		"33d250940a5e2b48d18cc01a7c32018b0d066fcda5039d54316c2a221d0dc41d": "400000000000000000000",
   398  		"3417221423fd53cdfadd73a40d3395b3c475c865ec4af7264e6d3f4dc2a96723": "800000000000000000000",
   399  		"35f7f02d06d2bee4517c81575211952cbde4e412f2dd73e837cf373ef4299ec4": "1763550800000000000000",
   400  		"360ad1f9a470a2a17a86716d7f49f34f7836a57dd9ae202306b9764107b32e04": "200000000000000000000",
   401  		"362f75ed50f40fd0c4ecf4a32dc1c8cd6503839edb98bccd50f3d9681c8623f7": "268536396000000000000",
   402  		"3674268a4d9c751e0476e6c948c91bd8c0a794888885c7bfbfdd807d49e13b9d": "2495828092000000000000",
   403  		"36bff8487f42fab0cb259fef26ed45120a70c9733a6fd931b24b6cf18f5c72d5": "200000000000000000000",
   404  		"36e38933b527440e163bae960bd8bab92417859ee49f4bc53905baa64e109c98": "54597970000000000000000",
   405  		"3700b6cda1ebcae3d6fa89983fcf0c8728cd8dc994d823d5c92223c98bfe722f": "262000000000000000000",
   406  		"3c112999c374075f9bca71b55f4eb9a169ff56fe25291a907f7b46f8ce334f45": "1500000000000000000000",
   407  		"3cd4768d73b97a90e23d4299d3ae647418c22848e1bd753a8a2e71e7c0b482a9": "22222555560555635495134",
   408  		"3d28a225e61f4b6b27f706f1825b8f9fd5b8aa7ef22e7aaae77aa25deb1b4ff5": "730476522011785830977",
   409  		"3f56a014f6391a34aa8a0042487f98ce380df227f9f2ea47d39e581d903c4da2": "5500000000000000000000",
   410  		"3f9d85c5587e138af8863981c334148d16079a79e037fe1d271b23f54cb20f4e": "22222222222222222222222",
   411  		"40c152e066e3f30aa423b9c3e099632dec283157fecb4a84db6f639b0a7a3a3f": "200000000000000000000000",
   412  		"4266f8c38a72324378b165908e0d5eb88b2a1200a6227382b640aea2cc74e56c": "32470569905279713045689",
   413  		"45a0628d7bfb6a023cd567e88de4467c4828da8278fbb650884901a825bbef45": "2319266098670059961214",
   414  		"465973494c68fce3053688e20a68f734c8d68b34e3561d0f6f1457655f58d556": "250000000000000000000",
   415  		"47dbe7afc2542eabde1343729448827571a3a05672a0d180b642d534287b514c": "663027670637344638270",
   416  		"487a5373863b9a0e46623eeb82eb47480341073f78f4a1267ec07c3a9dee09da": "199190000000000000000",
   417  		"488b6ebf1d8bb729144dc13de3fc5cbef42daa4be98f05b9a1a07840eff3a0a4": "250000000000000000000",
   418  		"4b320baa77fdc414e005c32fca0f777e7af543ad154cce64d3170db4350bcb57": "1200000000000000000000",
   419  		"4feb153568724936c060c8e24437af43853f6ff2d7fa72324de775aaca0fcc95": "1718096961170000000000",
   420  		"5049479d815c5dee41565652a9cf4f7eed4d6ca0dcaaf9fd61649d0b36c900e2": "50000000000000000000001",
   421  		"50950fecdf3ab232c308cd45d88cecc21fc8d722689cabff45ca5f7cb27e2fbd": "50000000000000000000000",
   422  		"509d433f032785af81f238d777a1c2dd4137076fe96c80a59582518d7f4abcf6": "76635105518948793493653",
   423  		"51b2638606b363ad3fdef1b7596b44b281db2fc2b771533b1ed8c49dd87b3c70": "220000000000000000000",
   424  		"52bc65291f8f0fad4d3cd9ea6adac1b5895bcc2f1e99332187da164d8a341099": "20000000000000000000",
   425  		"52f3ae9168f04b4c88842a96af37ba051af5454cde721daa537a7fdaa7b38441": "400000000000000000000",
   426  		"533be6ef8a81123e23e95b6fb1779b046efc65522ce5d7b2836bf00a5b443497": "400000000000000000000",
   427  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "21274824110000000000000",
   428  		"556f255ed24a3f33ec3c71402f34443a523ed420048d3c63b64073d4025be21b": "200000000000000000000",
   429  		"5587e0fc9f013eb6bc9a790ad47c044dee46aed971eeb2e25119e4c48c87826a": "450000000000000000000",
   430  		"59fa373a9fb9f0002e316900a754fc7b53b73ae4a8697f07ab801278855a81d9": "249370000000000000000",
   431  		"5a72ca917c6017bb79cbeedaa94616b17912382af919f1ca551821d898134e79": "30000000000000000000",
   432  		"5bfcb37de00458491bba30ca66a62f16dce39715924fba57966f64ad5d8ab3d5": "116666666666666661666666",
   433  		"5ca0f1a6811f234cba269b9c48b82a0bf9198107ab01364ff0c151329aaac866": "265384356995146091298",
   434  		"5cb760aa7ac544f789e47610be4de5e3ddb298c190878756446edb2aecdd17ae": "997305000000000000000",
   435  		"5e7b5522e049f1344d39944b6ff5fd986ce44db31aaf718301f63d13448ae686": "53721800336040046065233",
   436  		"5f13f8bc65aa5c23a2cac0051cc3d38cb5256447bdb2ce1b1c95a339e20dac9a": "250000000000000000000",
   437  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
   438  		"610b00d7c43fd4e4f514d92a366f66865930b81e35bcae4d9fb9680e07a28a36": "9398469158205622845349",
   439  		"617658c5dab1cd1d58132fe14d1f6b98d1eb6885bc6c00805dc32a5076eb9ccf": "725000000000000000000",
   440  		"61c0e056c2bc893e1dd06fef360e2f48bbab6e7d824da1831a1b21e68bd981fe": "5412617602384574824517",
   441  		"61dec1b405c49487e9d50f6f8efe081d61bf30253ce67d431cdffa888e1bd1e1": "120000000000000000000",
   442  		"6334b344440e432b35d096f015076c3dacc2327b951fbc0148f2f64b85b9c34c": "199500000000000000000",
   443  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "108491412868955279585341",
   444  		"6615a5e6cdf22868437e0c108507ad91553efa1e54cc5be398fb6e430bb1b7c7": "18103389974781098554673",
   445  		"6794223ce33d443c3ca155ba83f5faf11c6f2c0ad02d7c723835867212e9e356": "14000000000000000000",
   446  		"67d7f2abe67137abc1e5684be0c936a17463252d302770d92bfbe68100e0279c": "50000000000000000000001",
   447  		"6813011576912946506d7f020d72b9c4a7569606d3fafae2f93062c19cc161ff": "179550000000000000000",
   448  		"6b072d5b1e890d27b104c6c7d02e4e4eb8253cafdcd27ff3338d16aaf7e2e788": "200000000000000000000",
   449  		"6b1e808cf000c22cbee5d346d98bf79efc8af23b87a82b9a4baedfbcbea44bd2": "200000000000000000000",
   450  		"6b6e7c37635dca38a63a6eabeb745d6d0de6a8eea8fe034d0e9e7efe437f6512": "10000000000000000000",
   451  		"6d0410c1bdb508ed6f8b6085c21ad9668a42184acf6b32ce800787a0c202635a": "180781427031885973847",
   452  		"7029c99676b8254f56f4265f4150df1544980fa9f150d98b886b581156edf54d": "39500000000000000000",
   453  		"7087c82c463b7ad69ed1ac5c268db508c38b89040b7ac9e26abf7d774b7a8c3d": "9537130113264074385688",
   454  		"708b6d1c241f62546b189eb90caca198002d01a648c74a20abf5f16d8e923b97": "7230430000000000000000",
   455  		"71591030ecf38cce014efc1393895303ded35bb41b8d77769b6b34fe2ad2e406": "400000000000000000000",
   456  		"7426e659f0af379f52ec1ad1fcca5328bb301cb55dbbd2b16ca907207337fa84": "20000000000000000000000",
   457  		"743885f74e09c2b1bb6cf7e6e477f40a13bc84d31afb93a1040985d61f6c8179": "262000000000000000000",
   458  		"74dd78990520a3c5b21580c0aa9a806cc76710226ad0b969571175c6a58a6d44": "42328040000000000000000",
   459  		"7557bbfd702d60e7a100df0474705092b348eeca049344dcb7b08fbc910e8403": "600000000000000000000",
   460  		"75ff08a5aa23ac94c5ad69a2f6701b5cd80691af750b30cf1440420657ffe480": "400000000000000000000",
   461  		"7714fe36486d13573b1608278d43512275f33d5c432330cda29e71321e8d3b86": "412000000000000000000",
   462  		"79284e30c492a7bed67b7d96f6c6865eeebc6418663b1b9ef3595cb86ce75f2f": "346660000000000000000",
   463  		"7d6c0ab2a1f2137740114d91bab88a49e47dd770e83eb25fc669f396d9072cf6": "249590000000000000000",
   464  		"7e1f8f548cbd2b13c0074b680624e237fb457c0d1553d68bc61a2e2e448cc805": "400000000000000000000",
   465  		"7f0dde6ad23dbf238e0701aa1fec1fbb3cf9554b861bede1e5f5f30e080bb204": "400000000000000000000",
   466  		"7fab04c8e0326b2e3be9578d4eb66e2bafd36e86109ac9d26f5b1bbc80656a7e": "200000000000000000000",
   467  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "42328042116402105820105",
   468  		"81e9d049082d017d1c4c87f5bd44d3e8d043ec5c458ca00b6b3ca3d356db193d": "800000000000000000000",
   469  		"85574001c09dd09e4524164e31428c7a8c209a6c8da37ce1436eb9974303a79e": "249160000000000000000",
   470  		"8a7a297a9c67616870feed2c69e1b2c81a9f40e982d8aad28fdcfb60b6cc3ce8": "58716821907084261187604",
   471  		"8bd97ec3d85e277def3ef45069ce72209c765a12800cb2ed2d8b8e9dc4e20cda": "134766177950155434594",
   472  		"8c103efb23eb7a2dc3f0f62f00ce48bdbc3a2da74dc30decbb4d9e43780956bd": "24726557854517735140915",
   473  		"8dba38bd55c63112266e58320fd5e9344fd8dea467ade8b798a823dd679b4516": "133382361111111108844",
   474  		"8ed44b53ab21fed4034d1d175d6dbc3ffbf3458306e900b5b4e97253a3741ba3": "675000000000000000000",
   475  		"8f2956afb88e83b0c59880ca57efd18ee0357d8608ee40ef36c0538aa99035a5": "200000000000000000000",
   476  		"92ddd41c3b7a0979cce4f1402b69c3d181c5ce3309946d47f8bb06eabfca5c42": "93825100000000000000",
   477  		"94202d7c0dddd59338aa320739df51395db458737baf21d2070326065f8b7c27": "287000000000000000000",
   478  		"95f2644e5c5cb217ddb661bd1955ed4f0592b6f55793592647e9717963ffb7bf": "7000000000000000000",
   479  		"9a3233240ae936ca3d2574126d103487fb6306b565ae487d02ef5434b9d82580": "245361743078060172888",
   480  		"a0a1d899d09353301aadd5c17b4bb35bd92fa661a98588e5655aac935d554fd7": "1289136234414400000000",
   481  		"a0d87216b14869542795da238ac5582cbd6a5fcbf495d8f08960a9e24298d482": "30000000000000000",
   482  		"a26a3282595c15660cbd183bb88fade66782ca5ed343e0402a39912b6507a967": "484548223350253802354",
   483  		"a6f9591b0064d75b8076aa40b2017e649f7b5ec76ecc97977b03572a58a7993a": "1271679813955963897797",
   484  		"a764613e062c540fccbb200be2925547b3d43a89d4c03140471d66362ea47d9c": "1000255063765941485369",
   485  		"a907b47fb728a469fc7c0967f2b85bc31369883cbec757dbc3f8b9d7a91d26cc": "305000000000000000000",
   486  		"a9f8c7525e5a400eb7034861207d53164c4362a6e5c8431faee6adb4e878a1b1": "2000000000000000000000",
   487  		"aa5260ed0ab7fb352778e638f7205c991899834ce81cd4c133bbeaaaee7f9a51": "650000000000000000000",
   488  		"ae5d7b6d5ed030a476e2a8acb0d7965fdbfb9535d492b1287def26005f7b5a75": "223730920982280143724936",
   489  		"af2c9d6323eb00c67682ec52beb2b71a11fc37c13a22d96037e0025e22ca3fa8": "100361454664901066163",
   490  		"b017c4a801e9bf3c50b393062a90dc7b774be2d8a57dd3fdad00b37d6324590f": "4000000000000000000",
   491  		"b35a87e4bbc0dcf8dfd1900708fa11f8832d8983ab6ad2283c64591b0a7eff6e": "250000000000000000000",
   492  		"b3c22a4b6b88f63b0dc8ce7bbc28f7560a68edcd7991f26b259681014913ceef": "662037041716482577033",
   493  		"b51516e23888de818a2b5eb0d82e4243e0a6ac751160fd248ac7563d337c4656": "400000000000000000000",
   494  		"b55eb83e13997a916e3b3c11895e05b5a765056ef033cddf43f39a16a9a0f1f6": "300000000000000000000",
   495  		"b5dc64cc514c6f31ea70e4030e97778d1d77f9397cdcb1423ed0f7a20e5be92a": "1200072203890223791360",
   496  		"b67d8da158a2163ecb73cd15f76bc54045aac96069804b43cef0d92137d84f06": "200000000000000000000",
   497  		"b6c7d01b18540c483cc1e1ce4e16361fa35385d6b32c198602c175f992991a4f": "1989309255073961157190",
   498  		"b6eb16590266dfeee77a4c713b8b0e60606d84c49e61a6b42e0492fde013766b": "332500000000000000001",
   499  		"ba1852e258cadf378737660b3d3198026f81c0f138074fcd8536b2a5d7dd855f": "333330000000000000000",
   500  		"bb9f3b4e8f8d705b847923849eaa28309328c576f7945b52a7cf101f40cefaff": "199389999999900000000",
   501  		"bc3a70ac95f130613dacd42971d74d9329957ada7a8c2336da3027ee0bd44565": "199350000000000000000",
   502  		"bcbe754bf723c7fe48f2dcad326125468927938bb4710a547386f94a2818911b": "249570000000000000000",
   503  		"bdb3e80bc51da2064888c27278476ee3cffb82e06bb3f888d817077dc4188f36": "200000000000000000000",
   504  		"bf3120001282bc1d37aea4a0c92cf6f2c0c5e59ddea8570d13dcc2a5c32e6d50": "1400000000000000000000",
   505  		"bfc307a3da52e456a8441f02235d3cc5b0a29991482d6dc51338ee785fc01aea": "300000000000000000000",
   506  		"c0902f984e1f13017ee7312ba85a1b7ee91c10aca339d7072067fea51fb2138a": "249480000000000000000",
   507  		"c0bd015d6773cb10756ab86a2f427ade0a59aae4ea6753c2d1f622155b91fc2b": "400787000000000000000",
   508  		"c17aabb3c3ebc559230e1679ea2c1760d367fe4dec525fcb77266f4958fcbf51": "360000000000000000000",
   509  		"c19aba4a012f3530cc59316885b61bbe2dd952ac6fdc642e3e2d72a0c670e1da": "305200000000000000000",
   510  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "20000200000000000000000",
   511  		"c46236fc694f3cd0a70bc7ace49cf9a551d15c365cbf6541ce2421938ea8e64c": "103317222323884628602",
   512  		"c5814ba0a237d8925aa1bedf4315808987e5c94a8c253a4bef878cb30da19534": "2000000000000000000000",
   513  		"c8a6011e06d2d890f8a2c9fd5c44627a28ac5bce5d55265184d38131f9580cb5": "295800000000000000000",
   514  		"c96b25650e53d481e882d8fe1ea9d8ae10f97cff594c7291831a831e0e204198": "100000000000000000000",
   515  		"c9cf0ab36c9f507abf3f0b5cccd83df462349d5cc914b169ce90d5c24ea68ecc": "240000000000000000000",
   516  		"c9ff0ba3da92ad07ad7be4d423bbbbcda9256fac8e01ef16549c1815c7336ee3": "400000000000000000000",
   517  		"ceffa229951bee785efba0cf98527fb0e9664a5bf72680509b295da4d24930c4": "17419246000000000000000",
   518  		"d10fe51884cee6e7da9d96fecec71192afd5b9f36e27e560e03e6943910add0d": "800000000000000000000",
   519  		"d12d7d3960038bded23dd40203e90acaf41e938c2fee3d1de63ecec7fa22595a": "400000000000000000000",
   520  		"d1497c252eb08698fbe4fcdb13c506e5a0ef3630c6064705046e749ec43a5f6e": "400000000000000000000",
   521  		"d3051c68e12ed1a70a6dcde097e22a283baa55bcae27d8ac00e017702c49228e": "650000000000000000000",
   522  		"d5ad669840bfecddbc5b082d4122ec8ebdaf72d631b77320dd65c76628c160ca": "420720171051063230982812",
   523  		"d620db61fe3efe25e9120d89f7ceca35a05b456354294dfc1cb80ad0832a36b0": "1000000000000000000000",
   524  		"d7b24c5a2c37d2ab4fee96852ec210b14d6c2716dabea97b8dc5f16eab1f4bec": "249580000000000000000",
   525  		"d99a4fc1a4a21d67b3a7500a53559236a2d9602d57d5d221e29fd2d9a1eab61a": "400000000000000000000",
   526  		"d9b69f6e931dc9b90b1b959f4981e8fd44eb4ea1110c3361a7ffd8fcb2addcb0": "400000000000000000000",
   527  		"dc8926cd4be336bc61034a3b34debf55439514eba8d866a080743cdce70d08b8": "200000000000000000000",
   528  		"dd9b5ad75a665dae7ba8f6ef52c50e286499b0a0fef7fcff6c763e4011591a2b": "249370000000000000000",
   529  		"de7ebd44f0389d9227fbbdeadb0489fbc0465eec44375060eda2ba22ca534699": "39000000000000000000",
   530  		"e113862dbd5be88e53e5c09cf379bbe6ef576745bafb2cbc9657637666d3f25f": "289670553211401766734",
   531  		"e17481fab8c24a3b82e73fd46cbddd1aa4b83bc94431d57a194bfe073a578dd5": "200000000000000000000",
   532  		"e1f88a3e6b5b8a73067aa188507d54d2f91cd68166d1eb6b5b02f4a817943459": "10000000000000000000",
   533  		"e321a66787f24e2052cfe39ffc63906eeb0d9859f62ced1177412a5523d3cc06": "206500000000000000000",
   534  		"e478591fa3903d8ed92af221a3dc6dc638f3f85cf9503c99cda9d5c36a44faeb": "3198817799001307812652",
   535  		"e578326a0a1d1eec2056d3907ee6a65568688c3884ef63ccb7a48811f15301f9": "81000000000000000000",
   536  		"e7671f3a7b2ca7f4b331edfe8d0f7980dd0ed676bcbcc494b2c02a9694e149e9": "197910000000000000000",
   537  		"e87bec8ca10d3e93966028f10d257f60116c17b92f7339853202177dd24f4070": "200000000000000000000",
   538  		"e925fbe37f6358536f7ce82d6220b7d4c9588cdb65b93675fd5880eb31506c69": "299970000000000000000",
   539  		"e95a239964eca05512db546af3f76a9d99a175f3a5e907d77808146ffbf14a8c": "1494000000000000000000",
   540  		"ea02dbdead5d98011c97c25d6ec6d4b6f889b93be478f035bdbf4ced592e6b6c": "100000000000000000000",
   541  		"eb99d8d0178948a1b29cff07573a2a368e18c20ae31ed74e589e42be5d62fa54": "1572077890000000000000",
   542  		"eb9fbbbaff2f26be71ff800aa6313681b2df1c6861a954f0a0f8fb84b084ef2c": "200000000000000000000",
   543  		"ec8c26ca45325eacbe34f1a93d90e419911556c78faa1fb7821c3bacab043371": "199540000000000000000",
   544  		"eccaabd00d28d4146bc2d0af2e60eb40c051fd73ba09fa640dac1dff5cb44e26": "225000000000000000000",
   545  		"ee8365bc4e8c4f52270d914db1c24b95883c3bb28c384adffb19a5cc5373c275": "50000000000000000000",
   546  		"efe799e85b2e4a92567977de8daca622c9b436c217b32e4fe596edba686974a4": "54597970000000000000000",
   547  		"f0aba9d638306e0642dea4484ca2f2229834fbf976f8ed9dd173a357109e0d76": "414903300000000000000",
   548  		"f0ce41f07f47d9afe5a8e25ea43aeac8489100499862be337371f1eb6585a7c9": "7950104552128240726846",
   549  		"f146fb64f34255fd6410d2c8c63c6b5bdfaf7bc32ea904f199b229575b462d59": "50000000000000000000",
   550  		"f17e4efade0209799ba48045e804df8b7615b2d93ab95abd300b032e100e3a13": "200000000000000000000",
   551  		"f42b834d75f9ecb7b8167277fdae6ff664085d69588c508ada655d7876961558": "500000000000000000000",
   552  		"f4f7a7777601f184fe6688650332c6bf65190d2818b16ca73f67ee2cfa1f271d": "54597970000000000000000",
   553  		"f61e33041100e14d6f5f9c91571f278698eb97dfc4ef2cdc89eb2a6e4b1bfb5d": "200000000000000000000001",
   554  		"f6fe8c840d48d0007bf981ed014f52ec7f668229b2dd098f2fab059b362e126d": "200000000000000000000",
   555  		"f70460f4e6a1040efc1e2f91fbb441a734a45ca9619628b8aa50ce75a648715a": "120339999999900000000",
   556  		"f75cde0ead4971aa310ba040bb2fb351dc6fe8b39696a2792cf02dc2d5c67c27": "600670000000000000000",
   557  		"f8993701788881ecc69245c0e234d13c1ac7e83be9ce7a3fee0a4f3f25e5fdb4": "250012857877593005314",
   558  		"f99e2993647041e936d17c35497c3046c774da56739b9edc7de1aced13d2dafe": "400000000000000000000",
   559  		"fe8cb45edc4819c0a856e9a5d52ad59b7d1a7608b41f71093d8ad6cde737399c": "50000000000000000000001",
   560  	}
   561  
   562  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   563  	for k, v := range delegatorsString {
   564  		delegators[k], _ = num.UintFromString(v, 10)
   565  	}
   566  
   567  	return &types.ValidatorData{
   568  		NodeID:            "4f69b1784656174e89eb094513b7136e88670b42517ed0e48cb6fd3062eb8478",
   569  		PubKey:            "f4686749895bf51c6df4092ef6be4279c384a3c380c24ea7a2fd20afc602a35d",
   570  		TmPubKey:          "uBr9FP/M/QyVtOa3j18+hjksXra7qxCa7e25/FVW5c0=",
   571  		SelfStake:         selfStake,
   572  		StakeByDelegators: stakedByDelegates,
   573  		Delegators:        delegators,
   574  	}
   575  }
   576  
   577  func validatorDataRBF(t *testing.T) *types.ValidatorData {
   578  	t.Helper()
   579  
   580  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
   581  	stakedByDelegates, _ := num.UintFromString("2278209061614239621819203", 10)
   582  
   583  	delegatorsString := map[string]string{
   584  		"ab66b6a41a04f1a5769b53941289035bd9d154cf6bf678433057e42977742d0a": "1486870941278220470223618",
   585  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "128691158169732899049283",
   586  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "21164021058201052910053",
   587  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "20000200000000000000000",
   588  		"3671ba3bb20a01e4f687688023df8c3892e4d6e07d8d0b8c61b0d50870212d4a": "1203300000000000000000",
   589  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "21274824110000000000000",
   590  		"37f587ba07ae7a265456ec3796ac08d77696db93d70c3ee77869e134064757fe": "100000000000000000000",
   591  		"6813011576912946506d7f020d72b9c4a7569606d3fafae2f93062c19cc161ff": "179550000000000000000",
   592  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
   593  		"d620db61fe3efe25e9120d89f7ceca35a05b456354294dfc1cb80ad0832a36b0": "2000000000000000000000",
   594  		"7724456e3e3d305346e62d69d33b64cd89869fc3904a22da1510b8384b6a0053": "2111728551898590269994",
   595  		"509d433f032785af81f238d777a1c2dd4137076fe96c80a59582518d7f4abcf6": "14796724314048697481232",
   596  		"24d7fc5990bd5fb4416bda83fcff77a5a1a41bcd5e0395ffd0bb2ca6c57d7ff8": "21903878387546091193",
   597  		"92ece048f03fa00eae291d2f4430948c4b7de3e6d1d3cb8eb1624f7446a775eb": "11234936798203099780569",
   598  		"3cd4768d73b97a90e23d4299d3ae647418c22848e1bd753a8a2e71e7c0b482a9": "22222555560555635495135",
   599  		"3f9d85c5587e138af8863981c334148d16079a79e037fe1d271b23f54cb20f4e": "22222222222222222222222",
   600  		"4848ec0aec237e4928ee6674ec6e24a031c0323307fba0a8392818e36aa14758": "755515623592481348404",
   601  		"ae5d7b6d5ed030a476e2a8acb0d7965fdbfb9535d492b1287def26005f7b5a75": "183831264717878763220687",
   602  		"5587e0fc9f013eb6bc9a790ad47c044dee46aed971eeb2e25119e4c48c87826a": "400000000000000000000",
   603  		"37a49975e7c4d632366ed642e01542ad9d98d21ba1beb40ecf700c85eaf503d9": "400000000000000000000",
   604  		"2ac169c57d1bc20ce8d34f5a05ee40f5c245b0777c67f0e46b194278a32c0dd7": "194999169000000000000001",
   605  		"1c17bc56431e89696271e926aed53e40fcd7690ba2a3f755b5be5ccc6d40ba4d": "458670000000000000000",
   606  		"af89d35bc90855bf82b029f1f7f25633077ff597ec94538094449caa56657e01": "100000000000000000000000",
   607  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "21164550171981808144196",
   608  		"74dd78990520a3c5b21580c0aa9a806cc76710226ad0b969571175c6a58a6d44": "21164020000000000000000",
   609  		"8b44c7bad3bb75ba8a9953b7b42ee8da4295c5d06b9ce0c09624112bf4bfda0a": "792050000000000000000",
   610  		"18f8b607aad9ef2cd57f2d233766b0c576b27a3e0c50c9db713c00e518c0bbdc": "148756159316355582616",
   611  	}
   612  
   613  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   614  	for k, v := range delegatorsString {
   615  		delegators[k], _ = num.UintFromString(v, 10)
   616  	}
   617  
   618  	return &types.ValidatorData{
   619  		NodeID:            "55504e9bfd914a7bbefa342c82f59a2f4dee344e5b6863a14c02a812f4fbde32",
   620  		PubKey:            "0ac70c4ccc7f961614fe49b93e639ddf916269b7dcf8391db264cefeadf5a6b7",
   621  		TmPubKey:          "GaMcnnlXJGAgf43pQIg3UBwQqlyLRH7ow+CTzzVtBIQ=",
   622  		SelfStake:         selfStake,
   623  		StakeByDelegators: stakedByDelegates,
   624  		Delegators:        delegators,
   625  	}
   626  }
   627  
   628  func validatorDataP2P(t *testing.T) *types.ValidatorData {
   629  	t.Helper()
   630  
   631  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
   632  	stakedByDelegates, _ := num.UintFromString("2088746616957912946602959", 10)
   633  
   634  	delegatorsString := map[string]string{
   635  		"d620db61fe3efe25e9120d89f7ceca35a05b456354294dfc1cb80ad0832a36b0": "1000000000000000000000",
   636  		"597621a91e59991072d460c406737776bb55e9bf9ba9d94b91aecddc52bff7a3": "400000000000000000000",
   637  		"8a7a297a9c67616870feed2c69e1b2c81a9f40e982d8aad28fdcfb60b6cc3ce8": "58716821907084261187604",
   638  		"2a0ec3e532cec24bfe2d48e3645fad5a708f86d126fd57fec54d7f9e8be5e3b8": "60000000000000000000000",
   639  		"823206c1e4cb50acb78eab62b34e12debc4ed5bade6da5a78b19d450b521f297": "59998892000000000000000",
   640  		"85836c811d28dbaffe150a9c422ccc987690b1c5efff17f2105b885c74a5080e": "5412289129709609976018",
   641  		"574576449f2de51be60fe9cee1c98aa29235f5de90f8968739fe8c2bb7d587de": "1800000000000000000000",
   642  		"5608ac16918bfb96df102f3860a00adec4a65a9d5f9790403b35ff85f51cbdf7": "400000000000000000000",
   643  		"54f4e5a8d651082a33e2fe698edea3c95a60961b3a0f100b481b162c4bfa50d6": "325848414291526755280",
   644  		"654ba5bbe6fdf20df104b7d8009ca5e0a3cdc69693a47f62bb24adb2f9158313": "1000000000000000000000",
   645  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "21274824110000000000000",
   646  		"dbcc25e4a603dfa320820a93ed253bffbd9d5faa13890bdbb693b32f27d2b5af": "200000000000000000000",
   647  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "117448685191631172629665",
   648  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "21164021058201052910053",
   649  		"509d433f032785af81f238d777a1c2dd4137076fe96c80a59582518d7f4abcf6": "22195086471073046221870",
   650  		"3850b3369bf10b734174aebf35a0afb4fe4ebb9b016cf39819cd4f8d8393a93d": "200000000000000000000",
   651  		"314cbec7a7a6005e894369afc6f8f4ee5ba99901423957c7247357701ae1640c": "80000000000000000000000",
   652  		"d5ad669840bfecddbc5b082d4122ec8ebdaf72d631b77320dd65c76628c160ca": "3827129140423813857289",
   653  		"412ae402e6b6a7deac9ee4fe3b41879c4bc91f0735edc0c83757185ff2e7b03b": "100000000000000000000",
   654  		"6757970d2514199f55cc1de69a6f445517c36023415a8f0f4cfc9f5301181ed8": "106826178576673003627",
   655  		"dd07581de3cd84f9e8ce970e7b60a1e7c2112f275dd33dbd9012466cd07d3d84": "250000000000000000000",
   656  		"3fd55fe5a39c63d1ea63800ee9214b54ebdc6406fe1857ccebaf4c89dc4de0c6": "60000000000000000000000",
   657  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "21164550171981808144196",
   658  		"3f9d85c5587e138af8863981c334148d16079a79e037fe1d271b23f54cb20f4e": "22222222222222222222222",
   659  		"3c49efe9d8666d0df2f7a7657e597253e8c1e1e50d56827f19628bfb89a79742": "60000000000000000000000",
   660  		"6813011576912946506d7f020d72b9c4a7569606d3fafae2f93062c19cc161ff": "179550000000000000000",
   661  		"36e38933b527440e163bae960bd8bab92417859ee49f4bc53905baa64e109c98": "23620610000000000000000",
   662  		"3f60e8efca1e7dbc0bcee827d519d7748545f4882a16060fd436eababbeef46a": "60000000000000000000000",
   663  		"3cd4768d73b97a90e23d4299d3ae647418c22848e1bd753a8a2e71e7c0b482a9": "22222555560555635495135",
   664  		"d3001b1450cfef18a413be78b2a0e348b43a496bb797cd194ebf62b59dd9fa7b": "5000000000000000000000",
   665  		"2dffa282f0dc761c1f05f1325520dc57c8578da8f8032a85f14a8d8806193ba9": "16005000975641383934067",
   666  		"cdf98a7393a2f8a26b5404f575f48b70738e84ced008075c3275b40b44ecbdd9": "400000000000000000000",
   667  		"15223121288d4bd491c3330b24360a9548431bcc9a804e2959c96189bd1a0187": "96088111393887972701680",
   668  		"f0ce41f07f47d9afe5a8e25ea43aeac8489100499862be337371f1eb6585a7c9": "13401604548169374903265",
   669  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "20000200000000000000000",
   670  		"efe799e85b2e4a92567977de8daca622c9b436c217b32e4fe596edba686974a4": "23620610000000000000000",
   671  		"bf9a6cf091cfa6a66af539c624a13d084cf6811d3f2173e9a525af3eb89f7b6b": "42809456647878268810702",
   672  		"5bfcb37de00458491bba30ca66a62f16dce39715924fba57966f64ad5d8ab3d5": "116666666666666661666669",
   673  		"195f2fdf520974aeac02d2d8579b0f91573571a0fb3404be1b58c4eca7c4ce6c": "261458635165000447624",
   674  		"1a20f954b95b2190b8c97aa0b413b684abf238aebd71345ae57d5ef193be0a64": "53442915586287627947905",
   675  		"74dd78990520a3c5b21580c0aa9a806cc76710226ad0b969571175c6a58a6d44": "21164020000000000000000",
   676  		"f70c205259535722b5db1dac75241c011ffb94684a9ff676597b685ff3fb8244": "200000000000000000000001",
   677  		"026378bb6722f93bc51e715848538d104e0f9e44dac11dd958eaa726ac1418de": "494445984064416089885",
   678  		"ea7e2c939fcc1df0711027f43f7be5de7364e47515727722083dab62cea8dbb1": "51999778400000000000000",
   679  		"b28beb517aba8c7b46e1cd44273ab41f6c98a49c7dbbd500ce9f1c43876bb53e": "1000000000000000000",
   680  		"af89d35bc90855bf82b029f1f7f25633077ff597ec94538094449caa56657e01": "100000000000000000000000",
   681  		"fc11eb9935f013380d3880cd6eb2a3d92018acea08164c2b963b04001e92cc6b": "600000000000000000000",
   682  		"77c3cbb5bca1c43332465bd4321bd67292a966c56b9604f104b840ad8f703dd2": "440000000000000000000",
   683  		"aadb964374e0bdcab4a0de44ddea2abfa86edbcab4c6806ce6789348451a1d06": "310000000000000000000",
   684  		"a83db4f31882f517456ff67fb90130387f5cffbbf561ba17650b8da6ba98d494": "7000000000000000000000",
   685  		"36f9278511c7d5258694d8a6fb453a9a9a458535734b0bfeafe739736452af34": "133000000000000000000",
   686  		"f4f7a7777601f184fe6688650332c6bf65190d2818b16ca73f67ee2cfa1f271d": "23620610000000000000000",
   687  		"79328e31556e594daca18e3aa8cffa5487e1cc9967a24f5242b7e89777eecc4b": "51222117235958994963",
   688  		"7a362f7f7f30280e56ab9d2fac96b6371a1aced0bf98768ca12e02acc2d87280": "200000000000000000000",
   689  		"7a542a71397aeefb4cbeaf5cdd565d475cbc87c63eb469c95497a5a6c2874797": "330417966905125000000000",
   690  		"9d999093d8671a1334eb94edac304b8bdf9d9df1c622d80875def10debcf1297": "449800000000000000000",
   691  		"9d60e7c41ea9be0987699d2acfcd1d3883f7c446d054a6625a1164dc11f37b7c": "13552442244500000000000",
   692  		"21d35914d0d537b97c0e310861142eba79158f99c0df32e3a116410d07f91cfb": "125000000000000000000",
   693  		"9862239353f99dddbd77625fa3381b0139a29082ad7334e7fa7e69250f626038": "200000000000000000000000",
   694  		"92069f646b755d2392c34feba562a3cb0a7b96e9889446d19efa885e6f0b1c7b": "260000000000000000000",
   695  		"2a82986f52ca9faccfc01ea77e79bd39992ce64340209460341fb0f672cb1af9": "25000395297540458703239",
   696  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
   697  	}
   698  
   699  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   700  	for k, v := range delegatorsString {
   701  		delegators[k], _ = num.UintFromString(v, 10)
   702  	}
   703  
   704  	return &types.ValidatorData{
   705  		NodeID:            "5ca98e0dd81143fafea3a3abcefafee73f3886ac97053db8b446593e75c10e9d",
   706  		PubKey:            "aad2be546ba83cbcab4c1d57ebe22b4a942f294f54333f1a7c2c9ef0e9fe19bb",
   707  		TmPubKey:          "7xmxwJpTnPHt6u+18ggFIJzlTWtfKSLKBFkGD6AC99o=",
   708  		SelfStake:         selfStake,
   709  		StakeByDelegators: stakedByDelegates,
   710  		Delegators:        delegators,
   711  	}
   712  }
   713  
   714  func validatorDataValidatrium(t *testing.T) *types.ValidatorData {
   715  	t.Helper()
   716  
   717  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
   718  	stakedByDelegates, _ := num.UintFromString("653087434371911101588945", 10)
   719  
   720  	delegatorsString := map[string]string{
   721  		"0d572effd1830895585637abaf30cb828f7d64240e1924fdf9f5d30df93f8233": "81000000000000000000000",
   722  		"f114a84512834c8f4cd74487d01e5953ee123ce7ace79e587db3be16f3b63e1c": "200000000000000000000001",
   723  		"59593d97067d1dd22f4439973f2187d776bb4711fade599f515524c42964f327": "80000000000000000000000",
   724  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "10000000000000000000000",
   725  		"654ba5bbe6fdf20df104b7d8009ca5e0a3cdc69693a47f62bb24adb2f9158313": "1000000000000000000000",
   726  		"ae5d7b6d5ed030a476e2a8acb0d7965fdbfb9535d492b1287def26005f7b5a75": "141457147074418700000000",
   727  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "22549648220000000000001",
   728  		"2a0ec3e532cec24bfe2d48e3645fad5a708f86d126fd57fec54d7f9e8be5e3b8": "115338881233083707200566",
   729  		"8774cd8e46464ae7074047a8b1316a5c98973d5df7f8424b08acac82d9570c1f": "1741757844408694388377",
   730  	}
   731  
   732  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   733  	for k, v := range delegatorsString {
   734  		delegators[k], _ = num.UintFromString(v, 10)
   735  	}
   736  
   737  	return &types.ValidatorData{
   738  		NodeID:            "6f4a5c540b31d7643cd0187fab82fa26edae53f8aeb6fdcf9b257fd61c74b245",
   739  		PubKey:            "2c7c9eb1083cc9d4f048d2e0f4a5876637fe9e24bd7f7dbe1b5820f2ca633fab",
   740  		TmPubKey:          "TuOE7G7yAxOcYTL36venCrk4kidaMPzDM9LyXYXk/fg=",
   741  		SelfStake:         selfStake,
   742  		StakeByDelegators: stakedByDelegates,
   743  		Delegators:        delegators,
   744  	}
   745  }
   746  
   747  func validatorDataXPRV(t *testing.T) *types.ValidatorData {
   748  	t.Helper()
   749  
   750  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
   751  	stakedByDelegates, _ := num.UintFromString("1795097155676775448302633", 10)
   752  
   753  	delegatorsString := map[string]string{
   754  		"2a82986f52ca9faccfc01ea77e79bd39992ce64340209460341fb0f672cb1af9": "25000395297540458703239",
   755  		"61f78f91cb01e07dd98ef65d10b814e830cfa083463ccda7e0916fe522124441": "28571430000000000000000",
   756  		"32db1e486edf49a25f43610418c59b2abd479db6bd226699fef8dfaf5623b967": "12773826669759319731078",
   757  		"315a67162bb8fd09a2dd744a5b8d3a6a47bff3cc9667318a485a800a2f7c09e6": "28571572857864289321414",
   758  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "160554935215173884637857",
   759  		"6813011576912946506d7f020d72b9c4a7569606d3fafae2f93062c19cc161ff": "179550000000000000000",
   760  		"e017240b3ed7ab95e12e9eac660518dfab111e492dc0425414e65ae2ad100696": "200000000000000000000001",
   761  		"7426e659f0af379f52ec1ad1fcca5328bb301cb55dbbd2b16ca907207337fa84": "21998116400000000000000",
   762  		"74dd78990520a3c5b21580c0aa9a806cc76710226ad0b969571175c6a58a6d44": "10582010000000000000000",
   763  		"0b18accda759fa49249e64bc549f883c3375c9027d746b152865841537d99dc2": "40000000000000000000000",
   764  		"7c8594343cdfd726f8f46d97e80d3a6ac578cadb9d303f1c8acedb119b5d1b58": "236838122129983555201876",
   765  		"2a0ec3e532cec24bfe2d48e3645fad5a708f86d126fd57fec54d7f9e8be5e3b8": "120000000000000000000000",
   766  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "10582010529100526455026",
   767  		"8990664dc6d5f70db4d7db16a75fdd71a3b8fe7d155bf1b4643491fcb95f85e6": "4000000000000000000000",
   768  		"901fda1de157753a654abaf34f0b3cc4cb5418a33118d16be823b0d63eff7087": "581000944255131952412",
   769  		"92ece048f03fa00eae291d2f4430948c4b7de3e6d1d3cb8eb1624f7446a775eb": "15081335071447986752593",
   770  		"ae5d7b6d5ed030a476e2a8acb0d7965fdbfb9535d492b1287def26005f7b5a75": "5537600421766344634171",
   771  		"1ccd184e732fd0d5b27a8bffc1192889234ef17d59ed69b663cded752ad4062b": "100000000000000000000",
   772  		"1a20f954b95b2190b8c97aa0b413b684abf238aebd71345ae57d5ef193be0a64": "53442915586287627947905",
   773  		"bd2ad661e4bbf42e0d76ee66684a9291d40bb0136633e81a1420b7467a5e7360": "2000000000000000000",
   774  		"f70c205259535722b5db1dac75241c011ffb94684a9ff676597b685ff3fb8244": "200000000000000000000001",
   775  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "20000200000000000000000",
   776  		"15223121288d4bd491c3330b24360a9548431bcc9a804e2959c96189bd1a0187": "13495573283037244148147",
   777  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "10582275085990904072098",
   778  		"f10e64b969211b740ccaba21b07a733392d3eedd46533f37e48da0bd6dce86b9": "28571857149264381502481",
   779  		"3cd4768d73b97a90e23d4299d3ae647418c22848e1bd753a8a2e71e7c0b482a9": "22222555560555635495135",
   780  		"3f9d85c5587e138af8863981c334148d16079a79e037fe1d271b23f54cb20f4e": "22222222222222222222222",
   781  		"407974728b0235992038e25371cfa72730a9c24cd08fbfbb90f8aa3e579d1b28": "273224723298115705564453",
   782  		"d5ad669840bfecddbc5b082d4122ec8ebdaf72d631b77320dd65c76628c160ca": "26949792028482006903781",
   783  		"509d433f032785af81f238d777a1c2dd4137076fe96c80a59582518d7f4abcf6": "34032465922312004206880",
   784  		"d620db61fe3efe25e9120d89f7ceca35a05b456354294dfc1cb80ad0832a36b0": "1000000000000000000000",
   785  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "21274824110000000000000",
   786  		"5bfcb37de00458491bba30ca66a62f16dce39715924fba57966f64ad5d8ab3d5": "116666666666666661666666",
   787  		"363f0a0bbb0028f8fd56d1ff9b2bd02bd71d2efdd940068b2ec2923ec48d292e": "600000000000000000000",
   788  		"5d2c70ff69179b87fb6258973c87b9b48af5abaa9f4efdbee7b297fa348d988e": "28571430000000000000000",
   789  		"5ff7fec076c0bba71b14ab4a143f838c85dc40bf5f8adbe0cb33bed9be8fe44a": "1284749226949557183197",
   790  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
   791  	}
   792  
   793  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   794  	for k, v := range delegatorsString {
   795  		delegators[k], _ = num.UintFromString(v, 10)
   796  	}
   797  
   798  	return &types.ValidatorData{
   799  		NodeID:            "74023df02b8afc9eaf3e3e2e8b07eab1d2122ac3e74b1b0222daf4af565ad3dd",
   800  		PubKey:            "10b06fec6398d9e9d542d7b7d36933a1e6f0bb0631b0e532681c05123d4bd5aa",
   801  		TmPubKey:          "hz528OlxLZoV+476oJP2lzrhAZwZNjjLAfvpd2wLvcg=",
   802  		SelfStake:         selfStake,
   803  		StakeByDelegators: stakedByDelegates,
   804  		Delegators:        delegators,
   805  	}
   806  }
   807  
   808  func validatorDataNala(t *testing.T) *types.ValidatorData {
   809  	t.Helper()
   810  
   811  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
   812  	stakedByDelegates, _ := num.UintFromString("3427974781894323142068191", 10)
   813  
   814  	delegatorsString := map[string]string{
   815  		"af37a3ec177f16804b096f5c00b98910d73043d32180d13c9d778803df3b4955": "111764554000000000000001",
   816  		"75d8b35fcedf51e0f91f59ee2f85a417def42eeb2da2fd9329991c5f77825b58": "297000000000000000000",
   817  		"15223121288d4bd491c3330b24360a9548431bcc9a804e2959c96189bd1a0187": "2000000000000000000000",
   818  		"4d34ea4665f35827058897d90d51ccdcc7692436fe33db3457192df69d9611a6": "400000000000000000000",
   819  		"66e30954b947f45556fac9a17123e47d417015341105ba13d79be1c4230338b3": "230640000000000000000",
   820  		"1aef1a2c531f3ab152ea5082d9b31afcb3a05d7ba599c74adf9607847494eebf": "25700727256897875329",
   821  		"fa7677f33a9ffa792448f02aa836c39a0d33ff49c462dc97dc2540ebb37c38e5": "142000000000000000000001",
   822  		"7557bbfd702d60e7a100df0474705092b348eeca049344dcb7b08fbc910e8403": "600000000000000000000",
   823  		"9a3233240ae936ca3d2574126d103487fb6306b565ae487d02ef5434b9d82580": "736085229234180493369",
   824  		"626d962b2f2c65464503809c6185f315db5e4d4a439d2bf64bf091ba0abb5b54": "30000000000000000000",
   825  		"e3ac4e601d5492b8282f04a82043b4ea3003ea17c6f206db01a988df2512a799": "2271195403139947495771",
   826  		"11cb5df5e33d2e78ebba411c5e28939f3095d3a3d8a7f86904663337149bda18": "13027000000000000000000",
   827  		"63d05d1aa15e01bdd984007fdfa362003fda3f6534086867439eb4b6c76679fa": "393000000000000000000",
   828  		"d620db61fe3efe25e9120d89f7ceca35a05b456354294dfc1cb80ad0832a36b0": "1000000000000000000000",
   829  		"b5a97cdb0e66f65fd631045c57afec56bf9720aedc2b868109ba4a23761a67c4": "48603353666480217124",
   830  		"f7213cfe3d5a3095c709e1ed0734e4544a6e8bdaf8d0a98db3f3fadac89779a3": "8399000000000000000000",
   831  		"216699c6c94e728dfbd25e4115e19ab8666b202f41ff217ef6d4d9d5264866c1": "22322129975000000000000",
   832  		"013d43a56d613795a78e87fd0ec6a02921abb67544e17d39538553e97c2e8e6f": "1472816897733635250525",
   833  		"164fe3566007c5800b1e8ace419a8b8e132312e2131bbc645d931237cea501df": "70000000000000000000",
   834  		"91a2bb6e803d2d2d726cd6eba6a7c335d5db818651b4e096e7e2262980cd29a0": "218602505775244476609",
   835  		"9204e85b6b09c817cc3a72e16ee9d8eae0456f4c9f25b853bb6d15d963abbbbb": "20000000000000000000",
   836  		"3246cb39ecd4faef2cbb9940a7d0295bee408730b2882a2eff9e1f146b615219": "13992000000000000000000",
   837  		"30e31f0f9e88da63e2dc3bb54dc98befe176162833a04402481084bc648d2287": "397800000000000000000",
   838  		"4454bff0182d02fd54245eff64587673d2342e0b732b2042ed8346d51803560b": "108611954592000000000",
   839  		"9cb81e1c8dfed7721b3fb9aefef8fa51767774fb5a21d003268a8d9b5ea8945f": "43333148660000000000000",
   840  		"353c1a5ceb90b88b36d153faa71ace22f4ddebc1511711a4a889d9a6115b4c45": "4876041848280703039389",
   841  		"b8e4dd22b7a71b2dceb86b6332e57aba0887b70d416fef9b21676b562c778cbb": "4225473530587407104375",
   842  		"cf9dd5ea55fcc221745312ea6b2df09f91affa37d29e35f94ad1628a7ac66271": "15000000000000000000",
   843  		"7c7d3fe5f95b7bd04b117e49f13a277ce703e3a5f7c59d9690cb62f01e26bc65": "25000000000000000000",
   844  		"8cb1cc9b54f5e1c4cd39cdc8cfc757eb817a69faf6513f90639e7bf92b715e7c": "7000000000000000000000",
   845  		"e2aa448cf56827462186cc743eac3efb4ff62595293cca12f2ed5c5f72d608fd": "34994676000000100000001",
   846  		"5a69c3c00e5326b7aaa888fd9dc3e33b1da72a94530daba102edceda13659836": "400000000000000000000",
   847  		"e25f8ab9e48895411714dd6f2cd91e26ead1844fbe66d0a38a710cba3f7271ed": "9934000000000000000000",
   848  		"9073b46471a9cffc5db08e1295d876939546e45bcff92dee34800bc6ba51700d": "1451450300000000000000",
   849  		"99dfe7d3646bbe56b43a87f95ac5f2e29005b3d7c20c52f9088bd7fae0588430": "627573123734700000000000",
   850  		"a4e7aa6d1b0f1617527213f5003d1ddf2c190f5ab10c3f206384625e779264ff": "272229975307454950473468",
   851  		"2b24026fcac83b524636e31b79d047c6b9f3e94e3c245feb7b8f6224ba6e046b": "200000000000000000000",
   852  		"f146fb64f34255fd6410d2c8c63c6b5bdfaf7bc32ea904f199b229575b462d59": "50000000000000000000",
   853  		"4a7932b6e3d7c81fbbbaddece24f662f08192dbbae323d5bb9efaafd5f37a088": "9912406400000000000000",
   854  		"ef535d2cc3107b03aeb59c453429d28e6e69d7f0264433889bae8a7a50457eb3": "149102319350000000000",
   855  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "91708174683444977434122",
   856  		"3c112999c374075f9bca71b55f4eb9a169ff56fe25291a907f7b46f8ce334f45": "1500000000000000000000",
   857  		"7c65fccbb0281bab62b83d436b9058e3ae064e4ee95fc1f5777fd4ae2379aade": "142020000000000000000001",
   858  		"cfb666209f42d4f9d5865c323de551fdb3bfaaa6ea0ddfb73c4b6549ed2e2008": "165147233184881550517",
   859  		"52526473c0850eeac2066ef43d7f3570a05532d03b3c257837e5c312a8892fe1": "5330902419308644048790",
   860  		"838c57616b7e7a00aa90a0129430313fb16540b8effa47071a1b8b8ae3b02845": "200000000000000000000",
   861  		"dfcf53bb8a7ca5256341128b8943dfe70b6b5a7da90a1bb6328d360659349408": "500000000000000000000",
   862  		"357bca4e31f6ee450d774c96d98a5d9921292e2a56703184f46b0f90c4f2b757": "113420000000000000000001",
   863  		"65ff76033202f64f867edbb1f6c4140204793b7fa01fe115d3d71b125a447b42": "50000000000000000000",
   864  		"0f89c6c0d1ffcdf94ba3ddacd9166c4c75f8268031d32cc302db08945ea0d014": "100069999999900005684",
   865  		"9f833641d6e05e7270534fa201b4f2e02582976846ac78ecbb33bcd9af51d789": "400000000000000000000",
   866  		"bd4707cbc0ffc8db7b8aee2070810c163774c1ce9d6ec4db99606c97f8a903b3": "177200000000000000000",
   867  		"ff52674d3279c88ccedbf54217f76a77c764c8598675a12bf736f096596c3050": "38395537077319041965",
   868  		"28d4f4f4b5c931c2f8f6e782b754d36dfd48bd4cae381c85a2a4df760c965109": "370000000000000000000",
   869  		"09e7673a68c5575c215cb4cbe8c1aed23818b6c86697a1a444dba0709ec8d208": "5400000000000000000000",
   870  		"8c103efb23eb7a2dc3f0f62f00ce48bdbc3a2da74dc30decbb4d9e43780956bd": "407831703971950550093042",
   871  		"be964becc334477c977e0b23ab6e11813ba3f0cad7be10dbadd3e70e9da42854": "2296907759007005007160",
   872  		"a05bae633c19a346fe2ca7efe12a747ecd14148ecf1d4e5d821dc2cc63d040dc": "799994460000000000000000",
   873  		"35954c254dbf8ba306686a0c526ce050761cbcfe48f9747978c2b5749544f568": "12832940000000000000000",
   874  		"4e3c812a296f606d31d0e2e5cda758a0ff9e349194c4e0052404f6961d997b52": "11935909975000000000000",
   875  		"bfa1a44eb204783c6b9387c0d8557f102a39749a94e5f816050ddeff00fdb77b": "421714976535000000000",
   876  		"4f41c11b4e73232a1f1dac7844f36ccbcc77935359efe4fd4c815763a68d4b63": "220000000000000000000",
   877  		"a8a785c2a3ef31d080cb7e4cc1779333567e65544578a8cfccfb3cf6e44b6bf0": "300000000000000000000",
   878  		"17cfe2280e15fccdf7fa11bbb227bd86d422d02aa56276e361627d1c00cbb9ff": "1875757063719067128957",
   879  		"8e6b46fb3b576009459bdac7b51a847520372d4de733bf30f57f1d504211af59": "114800000000000000000",
   880  		"79593f39cea0176fbbf50cf5e0fad5e0931a0069d015e6249723df021dfb22e6": "400000000000000000000",
   881  		"a8e38bb3390d363475996ab4d7365441f82509340d5bffbe079887b2cf5dd1e7": "120897202930154445890",
   882  		"d247513ed0c93e4ed7a9a918c8b5cac1d42026c1bb2cf6540b6d0dcf0165ccb4": "142020000000000000000001",
   883  		"e8a57d5e7d6fd99d18f9ae23ec2c405d95ffcf81e3489211afb192c671fd95a7": "163384615384615384614",
   884  		"40c152e066e3f30aa423b9c3e099632dec283157fecb4a84db6f639b0a7a3a3f": "149997230000000000000000",
   885  		"4a121cb59998b74c4e4567abccf99eab84ee054b0345b657f89736663f641766": "1200000000000000000000",
   886  		"a92f493aeed483e67f2c3c1f3e4974fdd66b9842df482f454a70123d09f1538f": "136759759938529828741",
   887  		"a26a3282595c15660cbd183bb88fade66782ca5ed343e0402a39912b6507a967": "1062605752961082911260",
   888  		"d90e08071b8fb01676eb204e2802e964c3b5288bd7906d21a857f623aebf165f": "400000000000000000000",
   889  		"3dafdcbcbdcd3ca2afd8db8f06395703d7def5951f45704bc7f98ff3c65ae636": "300000000000000000000",
   890  		"3de97266d902bd4bcc3f8230adde237e1c702d858c32e0664444717c4d1e8a7c": "1303650000000000000000",
   891  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
   892  		"ddd8635137e04ec76cb049906a968e117e1294b062a2dfdeb5573f759dc46d22": "2105450440420000000000",
   893  		"2044da3dce7b981c42249a00eddf31fa3e43efc3ff615889339672440e53f1e4": "2298088600000000000000",
   894  		"e8af0d6c9cb130a40c37a634f61ccafba5e019e7b1df32a2fc770e68f1ff87f9": "16917743199816148569881",
   895  		"219a9e0b12004eca7027d6529681e54a993ca353673eb3b9a65958bb0702c529": "7008000000000000000000",
   896  		"6813011576912946506d7f020d72b9c4a7569606d3fafae2f93062c19cc161ff": "179550000000000000000",
   897  		"46eadc1fc928f92c7aaf78289273c4f2202549342ff3789c5f5515fbd700fc09": "14859000000000000000000",
   898  		"d4e2cef44307823cd51c85c7a3a4a11a26ba8917169fdb5f672f911853090a5c": "60342123916422369658",
   899  		"cc66594d295a9d53bb4fbfab404e75a27e697518d9a38ce90547ba1f0f254299": "221582332957297821944",
   900  		"784ac26a34ebdecd0a4e76a985397441fc8f4248b92ec3e342a5a590757efe1d": "142020000000000000000001",
   901  		"97b25ee10715b2ba0d6d86500275612274545abe33518596281468564445b82c": "5000000000000000000000",
   902  		"ad3c0baa212292ca8d0ec94050912e36d0f7ab8bd2392a60b2925d6a82b9036b": "1065000000000000000000",
   903  		"cdf3fa1ecc9c341778a331a6a82541f51f1a8a339709502e6636be399475515f": "1101000000000000000000",
   904  		"8e9848b0e3371fdbd6aaf183f1d398eb1380b51232d328cb0322662f31d2ee7c": "635276100000000000000",
   905  	}
   906  
   907  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   908  	for k, v := range delegatorsString {
   909  		delegators[k], _ = num.UintFromString(v, 10)
   910  	}
   911  
   912  	return &types.ValidatorData{
   913  		NodeID:            "8d33c6e06207ed5735c8b5b6c0c6234f44eb381b242a25a538ed3315369d2203",
   914  		PubKey:            "7d69327393cdfaaae50e5e215feca65273eafabfb38f32b8124e66298af346d5",
   915  		TmPubKey:          "7kRL1jCJH8QUDTHK90/Nz9lIAvl8/s1Z70XL1EXFkaM=",
   916  		SelfStake:         selfStake,
   917  		StakeByDelegators: stakedByDelegates,
   918  		Delegators:        delegators,
   919  	}
   920  }
   921  
   922  func validatorDataStakingCabin(t *testing.T) *types.ValidatorData {
   923  	t.Helper()
   924  
   925  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
   926  	stakedByDelegates, _ := num.UintFromString("454791602029454766317197", 10)
   927  
   928  	delegatorsString := map[string]string{
   929  		"9e14aa386b2726286dacbd4b9b226dc0219efee812ba10a396dcffb319d27ffa": "137580982485445322967072",
   930  		"d5a907eae0544c70c00ffe3d91320a00ee823db9b2d375111135378a56905892": "940060553956733862233",
   931  		"d5ad669840bfecddbc5b082d4122ec8ebdaf72d631b77320dd65c76628c160ca": "36475860676572573694658",
   932  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "30000800000000000000000",
   933  		"0d572effd1830895585637abaf30cb828f7d64240e1924fdf9f5d30df93f8233": "21000000000000000000000",
   934  		"15223121288d4bd491c3330b24360a9548431bcc9a804e2959c96189bd1a0187": "3000000000000000000000",
   935  		"ae5d7b6d5ed030a476e2a8acb0d7965fdbfb9535d492b1287def26005f7b5a75": "223730920982280135793234",
   936  		"c39d6c65b33420bf2e82425d6e6eacbd2d1bcb87de3c884f264edbd7865ad104": "2062977331200000000000",
   937  	}
   938  
   939  	delegators := make(map[string]*num.Uint, len(delegatorsString))
   940  	for k, v := range delegatorsString {
   941  		delegators[k], _ = num.UintFromString(v, 10)
   942  	}
   943  
   944  	return &types.ValidatorData{
   945  		NodeID:            "9c2a9590fd4767a8e4649c87bb79f43265833d20ad578ae15db338ca582ab042",
   946  		PubKey:            "a7030aabc0df87e0a3878862521b6acb03d827815825f4561d2857d4da94ada6",
   947  		TmPubKey:          "8yBLSAE2QSVJGR7XQEHjp7b98gnzZ86+okjJwuVObAY=",
   948  		SelfStake:         selfStake,
   949  		StakeByDelegators: stakedByDelegates,
   950  		Delegators:        delegators,
   951  	}
   952  }
   953  
   954  func validatorDataFigment(t *testing.T) *types.ValidatorData {
   955  	t.Helper()
   956  
   957  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
   958  	stakedByDelegates, _ := num.UintFromString("2489181263810490400281421", 10)
   959  
   960  	delegatorsString := map[string]string{
   961  		"72702bcf01de0f423c26a538e17f7d99be994b75c55791858c25c03168895c58": "147747400000000000000",
   962  		"6ed1a13b25d91513326cd91b8ec734b047e78b9143de00c1f2871a21672ea4d0": "62993882880317325305101",
   963  		"a26a3282595c15660cbd183bb88fade66782ca5ed343e0402a39912b6507a967": "531302876480541455630",
   964  		"4be62a9c8e632398a6522242faa8e9ed1495565da31c6b9d783a01a3c9d9c580": "20000000000000000000",
   965  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "20000200000000000000000",
   966  		"d5ad669840bfecddbc5b082d4122ec8ebdaf72d631b77320dd65c76628c160ca": "3788430123037941889723",
   967  		"a4ebea2c56e2ea78b23234a67523650487fa874ee7a0b1d1ebf2bf05069da62a": "131508997002991732178",
   968  		"a6d2a2a98662051862c8a2ca31df245db72e0846e24ce0790422455008e511c7": "7317067784814747351",
   969  		"6ea29dccf5dcc453b597558f5f9623205d23d86edf3c5f965e7e03fa55b0833b": "503245882925490657903",
   970  		"146c04522f942007ac9315ec16c1fb73710b353ed80108da61883d7f3e0c2cf1": "2834772110047740442521",
   971  		"c60e9d294a3910c37c06f6285a84698cd9f4ad3afd33123c7aa76cde1815e78f": "169754819402549046899",
   972  		"e3e270f664993dba61358e46e7785bff6d30f3f27b453136657084a4462fc8e8": "200000000000000000000",
   973  		"f0ce41f07f47d9afe5a8e25ea43aeac8489100499862be337371f1eb6585a7c9": "7257530317546093650922",
   974  		"c9cf0ab36c9f507abf3f0b5cccd83df462349d5cc914b169ce90d5c24ea68ecc": "360000000000000000000",
   975  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "2116453017148079559414",
   976  		"28a9031498f22c821227fc5cf9cbbd61a73d6061bc1b2f38873e08f2548777cc": "200000000000000000000",
   977  		"4667c9d3d03b15ec538ca177e24d89202ad8b51039beb81a2cdd26c0e2238e20": "4322531913657232283284",
   978  		"0ddcb37148075f507fda723b8d4c34b4d1cc9ab11254b138ce01115705dbef64": "300000000000000000000",
   979  		"a8351fbb50bbcb5d6f6dbc4201c50f7d7cdef0da9ae6adb48fb5834988d08aef": "785438561824261382860000",
   980  		"ce168afe6fa9ad5cd2339f85ba0b2910e07875ad367209765e66a9a3429bb434": "109876870405954948174861",
   981  		"5d2d6bc36606ba640309b004ce98655b0ea7bbf35c579966b65793fac5669e70": "400000000000000000000",
   982  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
   983  		"cf98d509565d60cc46c5a7c84e4f85f7cb343f502829c26ff7bd69d8f400f9f7": "436148000000000000000000",
   984  		"cf9dd5ea55fcc221745312ea6b2df09f91affa37d29e35f94ad1628a7ac66271": "50000000000000000000",
   985  		"a8a403b55d697fe0f141e3485ece1b5ca755cc58ed49c1bf7dac700b36eb3c53": "250000000000000000000",
   986  		"6bdb70e9afb85d48ed905f92d112240384a14f59f8d6d36aeb27228cb4c2e126": "1000000000000000000",
   987  		"4264bdc144224934d8c322595af09298c195b9e9e847b2aa0f82ba89639cae0a": "1018061376741962855707",
   988  		"3cefa629a6077bcdac8c41eaf64f1f1c3a500cd2c746f8e659280737a616253d": "250000000000000000000",
   989  		"32db1e486edf49a25f43610418c59b2abd479db6bd226699fef8dfaf5623b967": "2555020836035467492980",
   990  		"103d23f5662fd7effad141ffcc0b1e899079c3b9605b81bfddc99c7e170b3bf8": "400000000000000000000",
   991  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "2116400105820005291000",
   992  		"e2ae9e883d90af906bbd2b889a9972778dde67ba677e8d11f44b939cc0012069": "82863396124882102714138",
   993  		"3c112999c374075f9bca71b55f4eb9a169ff56fe25291a907f7b46f8ce334f45": "1500000000000000000000",
   994  		"e4f16e5fb38aec1299348845f012f695eedf6348d61a9d76733797dd3aca6cd9": "5086458300000000000000",
   995  		"3fb176643498946bba96114e941f592de100f6c3134aac03f93cc9faef1a6c17": "1000000000000000000000",
   996  		"3017044e58e5782404eb110b4ac82baacd7248cd35f6a9e4adc81e6297b7b970": "500921476714384969400",
   997  		"8f7e561a4477742337af5aad060639c757594df76a730799503b6dcea20139af": "400000000000000000000",
   998  		"e45de4df70abf920f8a1b650795471150a973de166fcd99760de265aba800caf": "400000000000000000000",
   999  		"9818c84ba607e251b199bb132e54f23017727f8063924678c49c12dd1de19e1d": "1596180024252572604395",
  1000  		"ae45b4ab84483706a565320206fa124768c432cd3928140ca45cfc63657d5f9c": "200000000000000000000",
  1001  		"aead4aa833be8ed41afbc0a595ef0ed1eb4f153d82f3d5fafb66844c5ab4f391": "241665038000000000000",
  1002  		"622753582c7ae1cf970bb26af2c84120d95223abb133f9b326bd192a0d9ee835": "5000000000000000000000",
  1003  		"36f9278511c7d5258694d8a6fb453a9a9a458535734b0bfeafe739736452af34": "133000000000000000000",
  1004  		"1aef1a2c531f3ab152ea5082d9b31afcb3a05d7ba599c74adf9607847494eebf": "527000000000000000000",
  1005  		"b51516e23888de818a2b5eb0d82e4243e0a6ac751160fd248ac7563d337c4656": "443620950920000000000",
  1006  		"f446c9e17a92ee96aee1b916f287faa8f0031f194e36f8c982faec0623cf949b": "44196928373372699966579",
  1007  		"b6782e9719489a1ff3ffa6f40211a1472a7a5637d65bbf0d2a66f40ad1f6d389": "1000000000000000000000",
  1008  		"e3ac4e601d5492b8282f04a82043b4ea3003ea17c6f206db01a988df2512a799": "1459015730086737600000",
  1009  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "21274824110000000000000",
  1010  		"83a6f430d08e9d5155487f9e265c79a04dd62b2ba3a16799f61a8ffe1f72a8e6": "200000000000000000000",
  1011  		"255816851d9731e4ff9557f423eb2d7c8767bd736c8da522c443249dfef58cc1": "49500115197603233979920",
  1012  		"64c6c8a03d5a8d5757e832ffd025e92cf48e27599fcd50f4f614bb7690e86c45": "200000000000000000000",
  1013  		"1965976853c05c8b28a74e0eb624875f97cfbc86f55cb165ee4ed616641185f5": "200000000000000000000001",
  1014  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "103041475947935141089531",
  1015  		"bd8010cecb63ed15976c5268b917d8298c4530a3e5f7c8b2c61913fa7b389eca": "0",
  1016  		"6615a5e6cdf22868437e0c108507ad91553efa1e54cc5be398fb6e430bb1b7c7": "23117486592424521725468",
  1017  		"a05bae633c19a346fe2ca7efe12a747ecd14148ecf1d4e5d821dc2cc63d040dc": "500000000000000000000000",
  1018  		"397e862fa54bca2694969dde374f0b9c1717101a9b49b2d9bdd9a264c64cfe5c": "509583990134438186515",
  1019  		"82eff0e070efc4d5577d6cb5916264961303cacfac050a585a2bbf42b1eaff12": "400000000000000000000",
  1020  	}
  1021  
  1022  	delegators := make(map[string]*num.Uint, len(delegatorsString))
  1023  	for k, v := range delegatorsString {
  1024  		delegators[k], _ = num.UintFromString(v, 10)
  1025  	}
  1026  
  1027  	return &types.ValidatorData{
  1028  		NodeID:            "ac735acc9ab11cf1d8c59c2df2107e00092b4ac96451cb137a1629af5b66242a",
  1029  		PubKey:            "07c616caa7d2f12ece01466463ead4ebc921bc9ac79a05e28c5208beffa49f40",
  1030  		TmPubKey:          "YnG3Ll/e/k1kVEvms90GAuwdf3N20CESh4wAritLgyU=",
  1031  		SelfStake:         selfStake,
  1032  		StakeByDelegators: stakedByDelegates,
  1033  		Delegators:        delegators,
  1034  	}
  1035  }
  1036  
  1037  func validatorDataCommodum(t *testing.T) *types.ValidatorData {
  1038  	t.Helper()
  1039  
  1040  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
  1041  	stakedByDelegates, _ := num.UintFromString("3904518767074040776450434", 10)
  1042  
  1043  	delegatorsString := map[string]string{
  1044  		"d756fbc23828721900b982212127d42e3d37e5bf56d8710d065581fe06850258": "249170000000000000000",
  1045  		"8f83f75a5711a864e1f6461633b773013770fcb35f2ac1d9dafd8c107281f86b": "200000000000000000000",
  1046  		"5bfcb37de00458491bba30ca66a62f16dce39715924fba57966f64ad5d8ab3d5": "408333333333333345833337",
  1047  		"92635cb322f61d853f8ae47c4c1782b7eea404cbc09bdef62befa2ffe753143b": "247760000000000000000",
  1048  		"92d4d4bc7648745bdb8dbb6e8c54a793fc8da02128e0350885f032350e31425e": "28666038182555080017",
  1049  		"2a82986f52ca9faccfc01ea77e79bd39992ce64340209460341fb0f672cb1af9": "25000395297540458703239",
  1050  		"2401e6d8b1e7a0196bf7a94c86bb203ce7a40bd7de28fc71c0279a129ed6c27b": "250000000000000000000",
  1051  		"7e9de3ff514f89454b771472c5753e23949d2161599708e2d21e156b217af04d": "200000000000000000000001",
  1052  		"e478591fa3903d8ed92af221a3dc6dc638f3f85cf9503c99cda9d5c36a44faeb": "3196817799001307812649",
  1053  		"96a5ea43284d9f259d7dd296c6057083dd9d1d5a6bf1cc3ee6c83bd629c569e7": "200000000000000000000",
  1054  		"974538d7a34e51c5c50d2c3976ecb6a16627e142e4543fe8d67f3cfcd8e42506": "1358804541132258401628",
  1055  		"21d35914d0d537b97c0e310861142eba79158f99c0df32e3a116410d07f91cfb": "125000000000000000000",
  1056  		"9862239353f99dddbd77625fa3381b0139a29082ad7334e7fa7e69250f626038": "200000000000000000000000",
  1057  		"9a3233240ae936ca3d2574126d103487fb6306b565ae487d02ef5434b9d82580": "386802884442208404228",
  1058  		"9be8b3eb0b9e89bfbae3ef02dc2008e9c0428818b2384c660a8b38ea52032914": "198419999999900000000",
  1059  		"9c2c0cd8eb07e0e944307c43d90f96dfcf9719fafb2cb8f724eb593ab47cf1fd": "200000000000000000000001",
  1060  		"7c7d3fe5f95b7bd04b117e49f13a277ce703e3a5f7c59d9690cb62f01e26bc65": "25000000000000000000",
  1061  		"9fe5f4d5be6c22b383195dfd2176aad756633c4997301b143582b601ed3eb225": "200000000000000000000",
  1062  		"e5c0562203d00cbafb8226bd1c9e6e3b215625d4e25ca3ea1fb531fc8e182676": "17465257885458570064970",
  1063  		"a26a3282595c15660cbd183bb88fade66782ca5ed343e0402a39912b6507a967": "1061543147208121830754",
  1064  		"a325b7be1e4d2423ae27ca7bc5efc535276c98583d0939435c0084ac5a73c699": "500000000000000000000",
  1065  		"7929e318807c5c62d7aa339bb94e73b45e5a437fb137057bed4dd1199d9eeb77": "1400000000000000000000",
  1066  		"790c083f4be921df64a305641c026525c655f52482e7efda8e9f896ba46207d0": "200000000000000000000",
  1067  		"a8a3b9e0624ebce1a3cf3ad2e947e1f0b5c0962b61b81dbb4342915185f51308": "100000000000000000000",
  1068  		"a976996e43d194c29081c42dbcaf0f5b73b44acb055f0c74c0420f039023b64e": "150000000000000000000",
  1069  		"e8a57d5e7d6fd99d18f9ae23ec2c405d95ffcf81e3489211afb192c671fd95a7": "72615384615384615386",
  1070  		"78a6c67c8630c8be90c2c30ec696e05485f011178722591874bba780832fce79": "249200000000000000000",
  1071  		"78a3882e3b556a76967bf4e7ced8cf40ffcbe41d73a292508cd178b1e3f3388f": "127002759791418344540000",
  1072  		"aaee60220328e69c6a78e9b821f3644d171e711f93c67133dbd20dcbe1bedd59": "200000000000000000000",
  1073  		"ac36b326e84f563b312b8fe66e4875b615993b96eed97d2f4640df74d2273d00": "200000000000000000000",
  1074  		"ad3c0baa212292ca8d0ec94050912e36d0f7ab8bd2392a60b2925d6a82b9036b": "625000000000000000000",
  1075  		"ae45b4ab84483706a565320206fa124768c432cd3928140ca45cfc63657d5f9c": "200000000000000000000",
  1076  		"f4f7a7777601f184fe6688650332c6bf65190d2818b16ca73f67ee2cfa1f271d": "47241220000000000000000",
  1077  		"244d04e32ff6254d1283ffd44727c5d787279c550a8ce8bcc6e5368e2720f54c": "12654441420480750089338",
  1078  		"ae5d7b6d5ed030a476e2a8acb0d7965fdbfb9535d492b1287def26005f7b5a75": "56932730245570039220688",
  1079  		"fe8cb45edc4819c0a856e9a5d52ad59b7d1a7608b41f71093d8ad6cde737399c": "75000000000000000000000",
  1080  		"7557bbfd702d60e7a100df0474705092b348eeca049344dcb7b08fbc910e8403": "17010542624066922301",
  1081  		"eb4f12c8f207879dbb229513f911260ad937fda522b3395258e92090e3ee6a01": "198400000000000000000",
  1082  		"0480fbda537fcd5d55467f131b9bc1672de899178c1e5b3ef7fb0410def4c5c2": "400000000000000000000",
  1083  		"74dd78990520a3c5b21580c0aa9a806cc76710226ad0b969571175c6a58a6d44": "39154030000000000000000",
  1084  		"b6cd7a798a2557d68777afa055aa456f4fb6bcb689d5d67e0bfa3cc8408ba017": "5384608600000000000000",
  1085  		"1a5a2d15bc6824b0ab7928d9b753d10de01451aa1525a5a47bd96cbba38ab334": "1000000000000000000000",
  1086  		"b7449faaa13e508ea7e572a240638e4508d91b3d036fb83f4ca0c862f74dc46a": "262132777427918811660",
  1087  		"61a446daca11faa804563b3a93d6042054f85914a28b259509b5d94b06afdd66": "100000000000000000000",
  1088  		"b8e4dd22b7a71b2dceb86b6332e57aba0887b70d416fef9b21676b562c778cbb": "10937058330643661258426",
  1089  		"b97829266528ac3f57f446c9f6c5643164364b57b54078f910d34ee7b4c09e34": "400000000000000000000",
  1090  		"eec83382accfe9bb60273bbae1191cd0725235ec4e00c0bafe6f52d69b584f8e": "250000000000000000000",
  1091  		"bc6121ad365077ed1caf4df71925d2fd22e4f26ec539f091f5039d8cf74dfc8a": "200000000000000000000000",
  1092  		"e017240b3ed7ab95e12e9eac660518dfab111e492dc0425414e65ae2ad100696": "200000000000000000000001",
  1093  		"bd2ad661e4bbf42e0d76ee66684a9291d40bb0136633e81a1420b7467a5e7360": "30000000000000000000",
  1094  		"be6734e49d5124d9d93a286c5d28ddca79a2e7a21cfd3c183b79e8d4cf55cc51": "250000000000000000000",
  1095  		"bf2ea92ac1fd7dcf77e9cd0890546622c833ac06c816d2dd76c9fa7aee717570": "299108256340000000000",
  1096  		"708b6d1c241f62546b189eb90caca198002d01a648c74a20abf5f16d8e923b97": "8242865997390796617431",
  1097  		"efe799e85b2e4a92567977de8daca622c9b436c217b32e4fe596edba686974a4": "47241220000000000000000",
  1098  		"164fe3566007c5800b1e8ace419a8b8e132312e2131bbc645d931237cea501df": "70000000000000000000",
  1099  		"157cf668952b3f4d6655d28ac6580bc5257a55fcf896e27a1091b61c7bced668": "81934269075034937475080",
  1100  		"15223121288d4bd491c3330b24360a9548431bcc9a804e2959c96189bd1a0187": "3187751638014146357467",
  1101  		"2d76d9690a8f1ccdfdc9a5a7c6cb3df4ec01a213e03088150015969a04966b00": "3852000000000000000000",
  1102  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
  1103  		"c1caf7dc77d3104c3f3ce964f8cac5ab0f1284897d3273ac34a302150aeeb464": "10000000000000000000000",
  1104  		"c3dc96f61aa689513b7d6e5d81872789fdb12751015f15296b8eaad701cc44a9": "398900000000000000000",
  1105  		"00eb75705269f3fb1cf9c092104d10858e5e7a39d5b6230238782dc14f96c6ef": "75000000000000000000000",
  1106  		"c55dc26965f8b7aaa75677691c033c7975578141c8b4b515049725673c2d95c0": "10000000000000000000",
  1107  		"5d2c70ff69179b87fb6258973c87b9b48af5abaa9f4efdbee7b297fa348d988e": "57142860000000000000000",
  1108  		"6ea29dccf5dcc453b597558f5f9623205d23d86edf3c5f965e7e03fa55b0833b": "2705290150111400824638",
  1109  		"c60e9d294a3910c37c06f6285a84698cd9f4ad3afd33123c7aa76cde1815e78f": "169754819402549046900",
  1110  		"c93a8e272d6e225db21d59e47229761adb47afbcc7603c129c8fd7cf2886e5ea": "248510000000000000000",
  1111  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "31741825132719574625638",
  1112  		"cc95c4812ad35c335c24e901383af8e56cd3d5cb6594e8e3ebcf8ec07f74e956": "198310000000000000000",
  1113  		"6c9a4a3f4db645b839654d9d6552fdc0591756b476af8581846756a4312298f0": "27927754630159485272470",
  1114  		"6c54feab38625ce04e92b70e0e9ca1814c823dda8af18f7281725cad8d082bf1": "333330000000000000000",
  1115  		"cffff9a0af9f7782e0c32bdc78fee68c22e3d942cffc78cebec7aff2f3ab79e3": "200000000000000000000001",
  1116  		"d10fe51884cee6e7da9d96fecec71192afd5b9f36e27e560e03e6943910add0d": "981474403585857002363",
  1117  		"f10e64b969211b740ccaba21b07a733392d3eedd46533f37e48da0bd6dce86b9": "57143714298528763004962",
  1118  		"d1c0a18bd8c8efb7d2bdcc88fc12876359fd0092c763d353437701d8a31b7120": "250000000000000000000",
  1119  		"f1456a21881e6e2e9dfb42ac2d201cfdc85eeda1d62cb14c640c6d2d5f566b70": "8874840701927947422491",
  1120  		"3cd4768d73b97a90e23d4299d3ae647418c22848e1bd753a8a2e71e7c0b482a9": "22220555530555163265269",
  1121  		"d4b1fed984d2c6bfd7a5deb19ba0e50138749a081d55343050e333ab8d4c7454": "198090000000000000000",
  1122  		"3f56a014f6391a34aa8a0042487f98ce380df227f9f2ea47d39e581d903c4da2": "1000000000000000000000",
  1123  		"3f5d8535eaea8580361bb8daedb06aeb6592f2e62bc950f9bfe7517d6c2e96e4": "272194536187978384615",
  1124  		"6883556ee2e55b67e2bf0e9161a230b3a957f61175da1a56a5cba0554d4fe9ba": "332922561815000000000",
  1125  		"6813011576912946506d7f020d72b9c4a7569606d3fafae2f93062c19cc161ff": "179550000000000000000",
  1126  		"67d7f2abe67137abc1e5684be0c936a17463252d302770d92bfbe68100e0279c": "75000000000000000000000",
  1127  		"5eaff059e8fd678ebbbef4719152e26a3e5b39174d8b7495445f959e33f63c3c": "497228700000000000000",
  1128  		"3f9d85c5587e138af8863981c334148d16079a79e037fe1d271b23f54cb20f4e": "22222222222222222222222",
  1129  		"3c112999c374075f9bca71b55f4eb9a169ff56fe25291a907f7b46f8ce334f45": "1606529437344376685110",
  1130  		"679c298644bd8ed1a4e75a511a9e9a572d1741148803310904f61cc68731d6c7": "200000000000000000000001",
  1131  		"f146fb64f34255fd6410d2c8c63c6b5bdfaf7bc32ea904f199b229575b462d59": "50000000000000000000",
  1132  		"40c152e066e3f30aa423b9c3e099632dec283157fecb4a84db6f639b0a7a3a3f": "300000000000000000000000",
  1133  		"3017044e58e5782404eb110b4ac82baacd7248cd35f6a9e4adc81e6297b7b970": "586293140637546974108",
  1134  		"4266f8c38a72324378b165908e0d5eb88b2a1200a6227382b640aea2cc74e56c": "5429000000000000000000",
  1135  		"3a1e4548b23cc072c1d21e5d6fbc292d500db4de93d93c4696c077842e5a9b1b": "259998892000000000000000",
  1136  		"437108fb142520c2942d2d946bfef4177f323e57cc18b8f4d3b8874024f40cf5": "830942500000000000000",
  1137  		"45a0628d7bfb6a023cd567e88de4467c4828da8278fbb650884901a825bbef45": "1666014062530206362844",
  1138  		"4729ba453ecd46dabc7447d9dead8dab8a7c4dbcef64981765720085c237709a": "200000000000000000000",
  1139  		"662acd253a5fdf65b0942a7f62231dfe12ab5c24a4e364bcdaaaad9005bc7c64": "198010000000000000000",
  1140  		"49e022c2a355f7cfa659c099c8984456b077b80247b40e19dae26265d485733d": "32900000000000000000",
  1141  		"4a24260ca3a1ee37302f24f7321f0a3e0200c05a8ecbd0abbc7d0a102f29c146": "2088002931771179323280",
  1142  		"4c89c032c6f943ff55f02ce156e9d93344b12fc6361d32f6ac3d2cb9b285a810": "4739776941104115502896",
  1143  		"4d15f1eeb7cbe2963c6eb94b241c7956818873bc330bf3571e14362e837e8393": "1741979973402676835602",
  1144  		"4e3984da293de1ea02e854544d9d6b0ac13b10dd81a00440ae8d10f27623fd32": "198220000000000000000",
  1145  		"d5ad669840bfecddbc5b082d4122ec8ebdaf72d631b77320dd65c76628c160ca": "23423089470395879533503",
  1146  		"5049479d815c5dee41565652a9cf4f7eed4d6ca0dcaaf9fd61649d0b36c900e2": "75000000000000000000000",
  1147  		"50950fecdf3ab232c308cd45d88cecc21fc8d722689cabff45ca5f7cb27e2fbd": "75000000000000000000000",
  1148  		"392536a1c58942e0aa56c0815a405554f6598d2d7f08c62df7931bb2fe76a15a": "499360946530177552365",
  1149  		"65ff76033202f64f867edbb1f6c4140204793b7fa01fe115d3d71b125a447b42": "50000000000000000000",
  1150  		"0f6f2be0f97103b81a777a681da5103b0c4e3fc42016698d4a86e47a11500796": "200000000000000000000",
  1151  		"509d433f032785af81f238d777a1c2dd4137076fe96c80a59582518d7f4abcf6": "54747879961980180680603",
  1152  		"0389616e4541a4aa9c99e4ca8e068c9b19ab4d9ef114c26865b97c5dca317918": "515439800000000000000",
  1153  		"527393770aa640a16d5af319a5e9cc0fd0895c83e65e872c4329e231a7f6d091": "344349300000000000000",
  1154  		"52b723e66df1bc182de4c935b0d0d0e93931dd8ca96c5f6c3702d18b7f33eb83": "319926047864165898312",
  1155  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "95513470836409789478301",
  1156  		"37f587ba07ae7a265456ec3796ac08d77696db93d70c3ee77869e134064757fe": "5000000000000000000",
  1157  		"3565734bdf3f17858544e4ee06c01a554195311c921f1e81304e7f1d99f49c56": "250000000000000000000",
  1158  		"315a67162bb8fd09a2dd744a5b8d3a6a47bff3cc9667318a485a800a2f7c09e6": "28571572857864289321414",
  1159  		"54a4c02d2f2bf79922b6032186cc4d03dcc8d9f9881b130c82248fd8e3e2f287": "21274824110000000000000",
  1160  		"d620db61fe3efe25e9120d89f7ceca35a05b456354294dfc1cb80ad0832a36b0": "1000000000000000000000",
  1161  		"576d60c6fc4d63ae2beb4b854485c48ef3c8e4dc882d1616a165c964a9bf54d1": "248660000000000000000",
  1162  		"61f78f91cb01e07dd98ef65d10b814e830cfa083463ccda7e0916fe522124441": "57142850000000000000000",
  1163  		"0ea947db486a9c4040fd5ae563ffbc05379d28fb7ecb9697140092e32ba636b4": "248500000000000000000",
  1164  		"32db1e486edf49a25f43610418c59b2abd479db6bd226699fef8dfaf5623b967": "92168584115643057073",
  1165  		"36e38933b527440e163bae960bd8bab92417859ee49f4bc53905baa64e109c98": "47241220000000000000000",
  1166  		"3425b5e3d33956d9fd8a8d3806e29940d5ecc0f347955de80d2608fe8db9b678": "248160000000000000000",
  1167  		"832c43dee864b27cbbb9b6804bd66780c0a7786beadcb8dd24c33f78dc8ef70d": "262516573067891439696",
  1168  		"8679da787a94f7389b8231bf9ba0dbc41b2042d7fc9d090ea593c0a504d67ce4": "584299608559627730076",
  1169  		"88e1034191b0cdf6d5f1562110633dc6e4cce875b97a0ba22d490ef70d92bfb5": "248150000000000000000",
  1170  		"8218d363beb1ad27bf0ab6565ab9d777865b0c952eb786621b257790e6eb762b": "5400000000000000000000",
  1171  		"278fb35c7e41580eca5b9f6ade3389bc89b238ecdb4f7dd68363673e66314f77": "24000000000000000000000",
  1172  		"e3ac4e601d5492b8282f04a82043b4ea3003ea17c6f206db01a988df2512a799": "1459015730086737600000",
  1173  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "31746031587301579365079",
  1174  	}
  1175  
  1176  	delegators := make(map[string]*num.Uint, len(delegatorsString))
  1177  	for k, v := range delegatorsString {
  1178  		delegators[k], _ = num.UintFromString(v, 10)
  1179  	}
  1180  
  1181  	return &types.ValidatorData{
  1182  		NodeID:            "b861c11eb825d55f835aec898b3caae66a681a354bcb59651d5b3faf02b34844",
  1183  		PubKey:            "cf295dff6d9506e8a905d168a44dfcff2f64bd0a6671783a469f8322959c62e2",
  1184  		TmPubKey:          "+eIIplOcSftzYKXdSIvSmG0LgK6avHDYK3LpECe1JNs=",
  1185  		SelfStake:         selfStake,
  1186  		StakeByDelegators: stakedByDelegates,
  1187  		Delegators:        delegators,
  1188  	}
  1189  }
  1190  
  1191  func validatorDataStakingFacilities(t *testing.T) *types.ValidatorData {
  1192  	t.Helper()
  1193  
  1194  	selfStake, _ := num.UintFromString("3000000000000000000000", 10)
  1195  	stakedByDelegates, _ := num.UintFromString("1564245523970431452483919", 10)
  1196  
  1197  	delegatorsString := map[string]string{
  1198  		"9c2c0cd8eb07e0e944307c43d90f96dfcf9719fafb2cb8f724eb593ab47cf1fd": "200000000000000000000001",
  1199  		"657c2a8a5867c43c831e24820b7544e2fdcc1cf610cfe0ece940fe78137400fd": "118487559054921581817491",
  1200  		"8438b8cdd82d96d8cfba33778ea5ee663efa943d84c8105910cc3139c231abbc": "200000000000000000000",
  1201  		"37f587ba07ae7a265456ec3796ac08d77696db93d70c3ee77869e134064757fe": "100000000000000000000",
  1202  		"9af279800294dfafb93225430906e9370af9a4eba2fa831384468b012ac22128": "129999446000000000000001",
  1203  		"bc6121ad365077ed1caf4df71925d2fd22e4f26ec539f091f5039d8cf74dfc8a": "200000000000000000000003",
  1204  		"5c242b1f4689f1f8df56ff236e291dc29cb44af498c6456601d35229f113158f": "250000000000000000000",
  1205  		"81d47b3068c9ff8e25eec7c83b74eb2c61073a1862f925b644b4b234c21e835c": "2116400105820005291000",
  1206  		"1965976853c05c8b28a74e0eb624875f97cfbc86f55cb165ee4ed616641185f5": "200000000000000000000001",
  1207  		"b6eb16590266dfeee77a4c713b8b0e60606d84c49e61a6b42e0492fde013766b": "33000000000000000000",
  1208  		"823206c1e4cb50acb78eab62b34e12debc4ed5bade6da5a78b19d450b521f297": "100000000000000000000000",
  1209  		"2fd6dfb33917e0438746a3d0f70175a6ba528f497649cbcd8e0d1c8607182e2d": "399999540",
  1210  		"f6556d21fdf6800e9161e7c4663b0852f1498e09b727806fac8d1e60dd2212b1": "100000000000000000000000",
  1211  		"2e855575f0d0ca4a3d3e21f51072ac30be6ebcc03cff6778fdd99bffbec89879": "200000000000000000000",
  1212  		"b5189227c96f64ea2206850f1a2b95c96820f4c95a8706d2ec04db74d723f169": "248780000000000000000",
  1213  		"8dba38bd55c63112266e58320fd5e9344fd8dea467ade8b798a823dd679b4516": "213411777777777782314",
  1214  		"ddd5d54f88ca51dcaf490fbcfbd4dd3417127b3d1483b949695bc91406ebe9eb": "40000000000000000000",
  1215  		"dae2599728c5a9bc2a62fc4b04e4de93bb68147bc9fd1ec373b9ce784397639a": "400000000000000000000",
  1216  		"2dffa282f0dc761c1f05f1325520dc57c8578da8f8032a85f14a8d8806193ba9": "16005000975641383934067",
  1217  		"675c8a16935ac532e04c59a201b76db0d762722f139beaa4696e5e3c335303d5": "199530000000000000000",
  1218  		"b4fbf64187c267a60f3103df8bccba106b3c2da9b477acbe00fd3eafce81d8db": "200000000000000000000",
  1219  		"d4e2cef44307823cd51c85c7a3a4a11a26ba8917169fdb5f672f911853090a5c": "1709693510965300470968",
  1220  		"d3a2083ea3514a01425cc374b2f9ce2116b939585e838c2e58aa29a4dda8b26a": "249000000000000000000",
  1221  		"622753582c7ae1cf970bb26af2c84120d95223abb133f9b326bd192a0d9ee835": "2000000000000000000000",
  1222  		"0ae5b0200633d145def1f53b93617f2ced3de3413c0f2360e5c7438880f40aef": "248800000000000000000",
  1223  		"0b9b8e6b3b5fd194283a21c87545270a06fbfa1f69d539ee9f39b1ad23ad4fd0": "200000000000000000000",
  1224  		"d10fe51884cee6e7da9d96fecec71192afd5b9f36e27e560e03e6943910add0d": "800000000000000000000",
  1225  		"cf9dd5ea55fcc221745312ea6b2df09f91affa37d29e35f94ad1628a7ac66271": "30000000000000000000",
  1226  		"f641c0b2f51df0c833a93b93f9b6d8916eb9f920676dae590c0e052fb194455b": "248940000000000000000",
  1227  		"7557bbfd702d60e7a100df0474705092b348eeca049344dcb7b08fbc910e8403": "374193479000000000000",
  1228  		"5e49bb3c6c695d7bff99f672cbea6fae90e6d605bf10665e27c9f3da9fbb1535": "200000000000000000000",
  1229  		"449afde1d593337049370f3bb82d26ab4c060dfd7791c632e1f505705a29c0db": "982926600000000000000",
  1230  		"4544b8100fae4f60d2e42692fe40e4010fa3941e519d35e03cfc548ad881fe77": "200000000000000000000",
  1231  		"cf98d509565d60cc46c5a7c84e4f85f7cb343f502829c26ff7bd69d8f400f9f7": "436148000000000000000000",
  1232  		"278fb35c7e41580eca5b9f6ade3389bc89b238ecdb4f7dd68363673e66314f77": "18776515962175907828130",
  1233  		"45a0628d7bfb6a023cd567e88de4467c4828da8278fbb650884901a825bbef45": "1109280085126989137350",
  1234  		"45ebb5adb216bc18de527adfc7ee96cf4dee556518e90291ee4120c31561c2b6": "82000000000000000000",
  1235  		"ce6ad7e9a6db92e3c2a691911568122e5b14195070541596dada991f16a49fe3": "2404841653877134419520",
  1236  		"6d21b316dcfd5497ec58e0d994aeee2769f11d92d1045e24bd8bb93d03d14ba8": "459860936730950036655",
  1237  		"cb82b9f17d6bb6f55ff16b20211f4c330a444765cd0d560c6656c6a75ef5e64b": "199610000000000000000",
  1238  		"d6452896318c7b4b95a73c5ea6f64849420f8e5ccb02d979031730915b70ff92": "197940000000000000000",
  1239  		"47e5656f48884ec3964fcfba8695dd10676b72c10cd5e79505ddc7aae17ffd6f": "11288710360277971513",
  1240  		"6615a5e6cdf22868437e0c108507ad91553efa1e54cc5be398fb6e430bb1b7c7": "6071989231008213054998",
  1241  		"13d6bc8794787e3f7adde1c30b80279ef8593c84fa508d42e4771d0f279c7546": "400000000000000000000",
  1242  		"2a0fd7e1db9604e7c153eb99baf7fa08c55683493304b589241de5d23e0d4b14": "249280000000000000000",
  1243  		"5a9e13c403b9cbd1c00dbcafc9655a47c57b72218d06a308233a43c37a12189b": "250000000000000000000",
  1244  		"c5e848c0a5b3d936a53ee45256f8195a326f731ac71b986e6207353ebe06bca5": "252000000000000000000",
  1245  		"397e862fa54bca2694969dde374f0b9c1717101a9b49b2d9bdd9a264c64cfe5c": "447121617155637867414",
  1246  		"78b7b6533f18446e0419a739977f92ef22169d67e7e14bdbc559ded8ac8e2ac0": "400000000000000000000",
  1247  		"6ea29dccf5dcc453b597558f5f9623205d23d86edf3c5f965e7e03fa55b0833b": "5953874111038732562017",
  1248  		"5b63f40486ed8ecf90dfd118724efc404e0a03966c372b402376ae9c905769d2": "249200000000000000000",
  1249  		"080556a89932104c8dfa7ee0001ac9c63a397cf52399efc50356305655161363": "2116453017148079559414",
  1250  		"dfd4fd3e0d9255c08edd0e6db677c0826677fbccde75a771b4934730d6c72d10": "198340000000000000000",
  1251  		"603f97f4499634372cc0fe50f4a0834bdf662d0b54c15b0bac5832367bae239b": "1000000000000000000",
  1252  		"91921fd08b21a0f106d240241352834fba190c9352c16eb0b7535a6be2e3dbae": "120000070000000000000",
  1253  		"bd47bcd3daca4c21f45388c5905beeeb1a3000ac85acb43adcb48daf79ae218c": "242000000000000000000",
  1254  		"708b6d1c241f62546b189eb90caca198002d01a648c74a20abf5f16d8e923b97": "7678377757611037345508",
  1255  		"a764613e062c540fccbb200be2925547b3d43a89d4c03140471d66362ea47d9c": "1000255063765941485369",
  1256  		"da8f631495bbca3c5951a01ec8e34a3619ddc9ea331c7a5b5e40d2dfe98e2e73": "513223558307147413941",
  1257  		"389547cb1f52d2c5a8e3e1ed001725a0aa9e7b9431d07cab0d4b15771248ade4": "332950000000000000000",
  1258  		"790c083f4be921df64a305641c026525c655f52482e7efda8e9f896ba46207d0": "200000000000000000000",
  1259  		"e579ad50873b812c11cd076aa46db6babde6bb6d9fca71f0427ba24886d33c52": "248440000000000000000",
  1260  		"2cdfc2d03ecaa807f8b4c32c815c9289e1182111f0d6233278dd52dc431b134b": "47450691998954506704",
  1261  		"65ebc92f2583ba83eac414d2504ac24395ab0fae588812a1f3a765d3f729dcab": "249020000000000000000",
  1262  		"8e6b01520e921ac149534dedbb45d886e02eb4c0849b7d819843beb401ae9d3d": "248530000000000000000",
  1263  		"8350d34ec8d9ebef66a87ced6bc9f69d1989580b2308c0ed7003502df45258d3": "533330000000000000000",
  1264  		"f8a6e4bd8667fe211d9fc31643412350c2a69e9c1f4b1435863eaed81a818913": "666670000000000000000",
  1265  		"52ad592b2791251dc4d9732800c74f16deef8e3c8a0d3baacfeb01dc095d4ac8": "250000000000000000000",
  1266  	}
  1267  
  1268  	delegators := make(map[string]*num.Uint, len(delegatorsString))
  1269  	for k, v := range delegatorsString {
  1270  		delegators[k], _ = num.UintFromString(v, 10)
  1271  	}
  1272  
  1273  	return &types.ValidatorData{
  1274  		NodeID:            "f3022974212780ea1196af08fd2e8a9c0d784d0be8e97637bd5e763ac4c219bd",
  1275  		PubKey:            "672552932d651349641fa3181578a2fe98bb5deedfcda0b480d05442a41b76af",
  1276  		TmPubKey:          "Chx00Gr/+/tzwoZVUdMzcIl6O79muzwUIveCfGXaemc=",
  1277  		SelfStake:         selfStake,
  1278  		StakeByDelegators: stakedByDelegates,
  1279  		Delegators:        delegators,
  1280  	}
  1281  }
  1282  
  1283  func TestWeightAdjustment(t *testing.T) {
  1284  	parties := []string{"1", "2", "3"}
  1285  	weights := map[string]num.Decimal{"1": num.DecimalFromFloat(0.2), "2": num.DecimalFromFloat(0.7), "3": num.DecimalFromFloat(0.1)}
  1286  	totalWeight := num.DecimalOne()
  1287  
  1288  	adjustWeights(weights, totalWeight, parties, num.DecimalOne())
  1289  	require.Equal(t, "0.2", weights["1"].String())
  1290  	require.Equal(t, "0.7", weights["2"].String())
  1291  	require.Equal(t, "0.1", weights["3"].String())
  1292  
  1293  	// add a precision error of 0.11
  1294  	totalWeight = num.DecimalFromFloat(1.11)
  1295  	adjustWeights(weights, totalWeight, parties, num.DecimalOne())
  1296  
  1297  	// the adjustment must be 0.7 (the largest weight)
  1298  	require.Equal(t, "0.2", weights["1"].String())
  1299  	require.Equal(t, "0.59", weights["2"].String())
  1300  	require.Equal(t, "0.1", weights["3"].String())
  1301  
  1302  	// the adjustment must be in 0.59 (the largest weight)
  1303  	totalWeight = num.DecimalFromFloat(1.1)
  1304  	adjustWeights(weights, totalWeight, parties, num.DecimalOne())
  1305  	require.Equal(t, "0.2", weights["1"].String())
  1306  	require.Equal(t, "0.49", weights["2"].String())
  1307  	require.Equal(t, "0.1", weights["3"].String())
  1308  
  1309  	weights = map[string]num.Decimal{"1": num.DecimalFromFloat(0.21), "2": num.DecimalFromFloat(0.2), "3": num.DecimalFromFloat(0.2), "4": num.DecimalFromFloat(0.2), "5": num.DecimalFromFloat(0.2)}
  1310  	parties = []string{"1", "2", "3", "4", "5"}
  1311  
  1312  	// no one delegator can be adjusted on its own, choose the first adjust it fully, then move on to the next and adjust the remaining
  1313  	// the latter bit is not really tested because after adjusting the first weight, the total is actually already less than 1 so it stops.
  1314  	totalWeight = num.DecimalFromFloat(1.25)
  1315  	adjustWeights(weights, totalWeight, parties, num.DecimalOne())
  1316  	require.Equal(t, "0", weights["1"].String())
  1317  	require.Equal(t, "0.2", weights["2"].String())
  1318  	require.Equal(t, "0.2", weights["3"].String())
  1319  	require.Equal(t, "0.2", weights["4"].String())
  1320  	require.Equal(t, "0.2", weights["5"].String())
  1321  }