Skip to content

Instantly share code, notes, and snippets.

@papacarp
Created September 29, 2020 18:31
Show Gist options
  • Save papacarp/56cf7fadec3b33316fdc03de69a6c269 to your computer and use it in GitHub Desktop.
Save papacarp/56cf7fadec3b33316fdc03de69a6c269 to your computer and use it in GitHub Desktop.
# live stake
import json
with open('ls220.json') as json_file:
ledger = json.load(json_file)
pooldelegators={}
utxovalues={}
total_utxo=0
poolowners={}
delegatorrewards={}
if '_delegationState' in ledger['esLState'] and '_dstate' in ledger['esLState']['_delegationState'] and '_delegations' in ledger['esLState']['_delegationState']['_dstate']:
for item in ledger['esLState']['_delegationState']['_dstate']['_delegations']:
poolid=item[1]
keyhash = item[0]['key hash']
if poolid not in pooldelegators:
pooldelegators[poolid]={}
if keyhash not in pooldelegators[poolid]:
pooldelegators[poolid][keyhash]={"u":0,"r":0}
if '_utxoState' in ledger['esLState'] and '_utxo' in ledger['esLState']['_utxoState']:
for item in ledger['esLState']['_utxoState']['_utxo']:
stadd = ledger['esLState']['_utxoState']['_utxo'][item]['address'][58:114]
if stadd not in utxovalues:
utxovalues[stadd]=0
utxovalues[stadd]=utxovalues[stadd]+ledger['esLState']['_utxoState']['_utxo'][item]['amount']
total_utxo=total_utxo+ledger['esLState']['_utxoState']['_utxo'][item]['amount']
if '_rewards' in ledger['esLState']['_delegationState']['_dstate']:
for item in ledger['esLState']['_delegationState']['_dstate']['_rewards']:
rewards=item[1]
keyhash=item[0]['key hash']
if keyhash not in delegatorrewards:
delegatorrewards[keyhash]=rewards
else:
delegatorrewards[keyhash]=delegatorrewards[keyhash]+rewards
total_utxo=total_utxo+rewards
for poolid in pooldelegators:
if poolid!='95c4956f7a137f7fe9c72f2e831e6038744b6307d00143b2447e6443':
continue
poolvalue=0
for keyhash in pooldelegators[poolid]:
if keyhash in utxovalues:
pooldelegators[poolid][keyhash]['u']=utxovalues[keyhash]
poolvalue=poolvalue+utxovalues[keyhash]
if keyhash in delegatorrewards:
pooldelegators[poolid][keyhash]['r']=delegatorrewards[keyhash]
poolvalue=poolvalue+delegatorrewards[keyhash]
print(poolvalue)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment