Skip to content

Commit 258e2d5

Browse files
authored
Jailed validator fix (#355)
1 parent 33decfe commit 258e2d5

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

scripts/devgenesis.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,17 @@ def _get_balance(genesis, address, denom):
120120
if amount["denom"] == denom:
121121
amount = int(amount["amount"])
122122
break
123-
if amount is not 0:
123+
if amount != 0:
124124
break
125125
return amount
126126

127127

128+
def _get_unjailed_validator(genesis):
129+
for val_info in genesis["app_state"]["staking"]["validators"]:
130+
if not val_info["jailed"]:
131+
return val_info
132+
133+
128134
def main():
129135
args = parse_commandline()
130136

@@ -174,7 +180,7 @@ def main():
174180
genesis = json.load(export_file)
175181
print("reading genesis export...complete")
176182

177-
val_infos = genesis["app_state"]["staking"]["validators"][0]
183+
val_infos = _get_unjailed_validator(genesis)
178184
if not val_infos:
179185
print("Genesis file does not contain any validators")
180186
sys.exit(1)
@@ -188,9 +194,7 @@ def main():
188194
print(f"Replacing validator {target_validator_operator_address}...")
189195

190196
val_addr = None
191-
genesis["app_state"]["staking"]["validators"][0]["consensus_pubkey"][
192-
"key"
193-
] = validator_pubkey
197+
val_infos["consensus_pubkey"]["key"] = validator_pubkey
194198
for val in genesis["validators"]:
195199
if val["pub_key"]["value"] == target_validator_public_key:
196200
val["pub_key"]["value"] = validator_pubkey

0 commit comments

Comments
 (0)