Beispiel #1
0
    def get_voting_power(self, account: str) -> float:
        """
        Calculate real voting power instead of stale info in get_account()

        :param str account: account name
        :return: voting power 0-100
        """

        acc = Account(account)
        vp = acc.voting_power()

        last_vote_time = parse_time(acc['last_vote_time'])
        elapsed_time = datetime.utcnow() - last_vote_time

        regenerated_power = STEEMIT_100_PERCENT * elapsed_time.total_seconds(
        ) / STEEMIT_VOTE_REGENERATION_SECONDS
        current_power = min(vp + regenerated_power / 100, 100)

        return current_power
Beispiel #2
0
def get_voting_power(steemd_instance, account):
    """ Calculate real voting power instead of stale info in get_account()
        :param Steem steemd_instance: Steem() instance to use when accesing a RPC
        :param str account: account name
    """

    try:
        a = Account(account, steemd_instance=steemd_instance)
        vp = a.voting_power()
    except Exception as e:
        log.error('error in get_voting_power(): %s', e)
        return False

    last_vote_time = datetime.strptime(a['last_vote_time'],
                                       '%Y-%m-%dT%H:%M:%S')
    elapsed_time = datetime.utcnow() - last_vote_time

    regenerated_power = STEEMIT_100_PERCENT * elapsed_time.total_seconds(
    ) / STEEMIT_VOTE_REGENERATION_SECONDS
    current_power = vp + regenerated_power / 100
    if current_power > 100:
        current_power = 100
    return current_power