X-Git-Url: https://git.novaco.in/?p=p2pool.git;a=blobdiff_plain;f=p2pool%2Fwork.py;h=df9f787061f1e5529a755100a11b5871d3070d8d;hp=f0a989dc86c6772774176bcade36b990b0adb4e9;hb=4cde79363018833bd47e411d12dff8263a17c8e6;hpb=62a65ed608004510a8207ba16a2acacfd3aaef24 diff --git a/p2pool/work.py b/p2pool/work.py index f0a989d..df9f787 100644 --- a/p2pool/work.py +++ b/p2pool/work.py @@ -220,10 +220,10 @@ class WorkerBridge(worker_interface.WorkerBridge): tx_hashes = [bitcoin_data.hash256(bitcoin_data.tx_type.pack(tx)) for tx in self.current_work.value['transactions']] tx_map = dict(zip(tx_hashes, self.current_work.value['transactions'])) - if self.node.best_share_var.value is None: + previous_share = self.node.tracker.items[self.node.best_share_var.value] if self.node.best_share_var.value is not None else None + if previous_share is None: share_type = p2pool_data.Share else: - previous_share = self.node.tracker.items[self.node.best_share_var.value] previous_share_type = type(previous_share) if previous_share_type.SUCCESSOR is None or self.node.tracker.get_height(previous_share.hash) < self.node.net.CHAIN_LENGTH: @@ -253,7 +253,7 @@ class WorkerBridge(worker_interface.WorkerBridge): local_addr_rates = self.get_local_addr_rates() lookbehind = 3600//self.node.net.SHARE_PERIOD block_subsidy = self.node.bitcoind_work.value['subsidy'] - if self.node.tracker.get_height(previous_share.hash) > lookbehind: + if previous_share is not None and self.node.tracker.get_height(previous_share.hash) > lookbehind: expected_payout_per_block = local_addr_rates.get(pubkey_hash, 0)/p2pool_data.get_pool_attempts_per_second(self.node.tracker, self.node.best_share_var.value, lookbehind) \ * block_subsidy*(1-self.donation_percentage/100) # XXX doesn't use global stale rate to compute pool hash if expected_payout_per_block < self.node.net.PARENT.DUST_THRESHOLD: