def __init__(self, net, my_share_hashes, my_doa_share_hashes): forest.Tracker.__init__( self, delta_type=forest.get_attributedelta_type( dict( forest.AttributeDelta.attrs, work=lambda share: bitcoin_data.target_to_average_attempts( share.target), min_work=lambda share: bitcoin_data. target_to_average_attempts(share.max_target), ))) self.net = net self.verified = forest.Tracker( delta_type=forest.get_attributedelta_type( dict( forest.AttributeDelta.attrs, work=lambda share: bitcoin_data.target_to_average_attempts( share.target), my_count=lambda share: 1 if share.hash in my_share_hashes else 0, my_doa_count=lambda share: 1 if share.hash in my_doa_share_hashes else 0, my_orphan_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data[ 'stale_info'] == 'orphan' else 0, my_dead_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data[ 'stale_info'] == 'doa' else 0, )), subset_of=self) self.get_cumulative_weights = WeightsSkipList(self)
def __init__(self, net): forest.Tracker.__init__(self, delta_type=forest.get_attributedelta_type(dict(forest.AttributeDelta.attrs, work=lambda share: bitcoin_data.target_to_average_attempts(share.target), min_work=lambda share: bitcoin_data.target_to_average_attempts(share.max_target), ))) self.net = net self.verified = forest.SubsetTracker(delta_type=forest.get_attributedelta_type(dict(forest.AttributeDelta.attrs, work=lambda share: bitcoin_data.target_to_average_attempts(share.target), )), subset_of=self) self.get_cumulative_weights = WeightsSkipList(self)
def __init__(self, net, my_share_hashes, my_doa_share_hashes): forest.Tracker.__init__(self, delta_type=forest.get_attributedelta_type(dict(forest.AttributeDelta.attrs, work=lambda share: bitcoin_data.target_to_average_attempts(share.target), min_work=lambda share: bitcoin_data.target_to_average_attempts(share.max_target), ))) self.net = net self.verified = forest.Tracker(delta_type=forest.get_attributedelta_type(dict(forest.AttributeDelta.attrs, work=lambda share: bitcoin_data.target_to_average_attempts(share.target), my_count=lambda share: 1 if share.hash in my_share_hashes else 0, my_doa_count=lambda share: 1 if share.hash in my_doa_share_hashes else 0, my_orphan_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data['stale_info'] == 253 else 0, my_dead_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data['stale_info'] == 254 else 0, )), subset_of=self) self.get_cumulative_weights = WeightsSkipList(self)
def __init__(self, net, my_share_hashes, my_doa_share_hashes): forest.Tracker.__init__(self) self.net = net self.verified = forest.Tracker(delta_type=forest.get_attributedelta_type(dict(forest.AttributeDelta.attrs, my_count=lambda share: 1 if share.hash in my_share_hashes else 0, my_doa_count=lambda share: 1 if share.hash in my_doa_share_hashes else 0, my_orphan_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data['stale_info'] == 253 else 0, my_dead_announce_count=lambda share: 1 if share.hash in my_share_hashes and share.share_data['stale_info'] == 254 else 0, ))) self.verified.get_nth_parent_hash = self.get_nth_parent_hash # self is a superset of self.verified self.get_cumulative_weights = skiplists.WeightsSkipList(self)