ignore activation for headless supports
This commit is contained in:
parent
b0cf25bf5c
commit
83107ad877
1 changed files with 14 additions and 3 deletions
|
@ -713,7 +713,7 @@ class BlockProcessor:
|
||||||
spent_support, support_amount = self.pending_support_txos.pop((txin_num, txin.prev_idx))
|
spent_support, support_amount = self.pending_support_txos.pop((txin_num, txin.prev_idx))
|
||||||
self.pending_supports[spent_support].remove((txin_num, txin.prev_idx))
|
self.pending_supports[spent_support].remove((txin_num, txin.prev_idx))
|
||||||
supported_name = self._get_pending_claim_name(spent_support)
|
supported_name = self._get_pending_claim_name(spent_support)
|
||||||
# print(f"\tspent support for lbry://{supported_name}#{spent_support.hex()}")
|
print(f"\tspent support for lbry://{supported_name}#{spent_support.hex()}")
|
||||||
self.pending_removed_support[supported_name][spent_support].append((txin_num, txin.prev_idx))
|
self.pending_removed_support[supported_name][spent_support].append((txin_num, txin.prev_idx))
|
||||||
return StagedClaimtrieSupport(
|
return StagedClaimtrieSupport(
|
||||||
spent_support, txin_num, txin.prev_idx, support_amount
|
spent_support, txin_num, txin.prev_idx, support_amount
|
||||||
|
@ -721,6 +721,7 @@ class BlockProcessor:
|
||||||
spent_support, support_amount = self.db.get_supported_claim_from_txo(txin_num, txin.prev_idx)
|
spent_support, support_amount = self.db.get_supported_claim_from_txo(txin_num, txin.prev_idx)
|
||||||
if spent_support:
|
if spent_support:
|
||||||
supported_name = self._get_pending_claim_name(spent_support)
|
supported_name = self._get_pending_claim_name(spent_support)
|
||||||
|
if supported_name is not None:
|
||||||
self.pending_removed_support[supported_name][spent_support].append((txin_num, txin.prev_idx))
|
self.pending_removed_support[supported_name][spent_support].append((txin_num, txin.prev_idx))
|
||||||
activation = self.db.get_activation(txin_num, txin.prev_idx, is_support=True)
|
activation = self.db.get_activation(txin_num, txin.prev_idx, is_support=True)
|
||||||
self.removed_active_support[spent_support].append(support_amount)
|
self.removed_active_support[spent_support].append(support_amount)
|
||||||
|
@ -933,6 +934,8 @@ class BlockProcessor:
|
||||||
abandoned_support_check_need_takeover = defaultdict(list)
|
abandoned_support_check_need_takeover = defaultdict(list)
|
||||||
for claim_hash, amounts in self.removed_active_support.items():
|
for claim_hash, amounts in self.removed_active_support.items():
|
||||||
name = self._get_pending_claim_name(claim_hash)
|
name = self._get_pending_claim_name(claim_hash)
|
||||||
|
if name is None:
|
||||||
|
continue
|
||||||
controlling = get_controlling(name)
|
controlling = get_controlling(name)
|
||||||
if controlling and controlling.claim_hash == claim_hash and \
|
if controlling and controlling.claim_hash == claim_hash and \
|
||||||
name not in names_with_abandoned_controlling_claims:
|
name not in names_with_abandoned_controlling_claims:
|
||||||
|
@ -952,7 +955,12 @@ class BlockProcessor:
|
||||||
name = self.pending_claims[self.pending_claim_txos[claim_hash]].name
|
name = self.pending_claims[self.pending_claim_txos[claim_hash]].name
|
||||||
staged_is_new_claim = not self.pending_claims[self.pending_claim_txos[claim_hash]].is_update
|
staged_is_new_claim = not self.pending_claims[self.pending_claim_txos[claim_hash]].is_update
|
||||||
else:
|
else:
|
||||||
k, v = self.db.get_claim_txo(claim_hash)
|
supported_claim_info = self.db.get_claim_txo(claim_hash)
|
||||||
|
if not supported_claim_info:
|
||||||
|
# the supported claim doesn't exist
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
k, v = supported_claim_info
|
||||||
name = v.name
|
name = v.name
|
||||||
staged_is_new_claim = (v.root_tx_num, v.root_position) == (k.tx_num, k.position)
|
staged_is_new_claim = (v.root_tx_num, v.root_position) == (k.tx_num, k.position)
|
||||||
ops.extend(get_delayed_activate_ops(
|
ops.extend(get_delayed_activate_ops(
|
||||||
|
@ -993,6 +1001,9 @@ class BlockProcessor:
|
||||||
amount = self.db.get_support_txo_amount(
|
amount = self.db.get_support_txo_amount(
|
||||||
activated.claim_hash, activated_txo.tx_num, activated_txo.position
|
activated.claim_hash, activated_txo.tx_num, activated_txo.position
|
||||||
)
|
)
|
||||||
|
if amount is None:
|
||||||
|
print("\tskip activate support for non existent claim")
|
||||||
|
continue
|
||||||
self.staged_activated_support[activated.claim_hash].append(amount)
|
self.staged_activated_support[activated.claim_hash].append(amount)
|
||||||
self.pending_activated[activated.name][activated.claim_hash].append((activated_txo, amount))
|
self.pending_activated[activated.name][activated.claim_hash].append((activated_txo, amount))
|
||||||
print(f"\tactivate {'support' if txo_type == ACTIVATED_SUPPORT_TXO_TYPE else 'claim'} "
|
print(f"\tactivate {'support' if txo_type == ACTIVATED_SUPPORT_TXO_TYPE else 'claim'} "
|
||||||
|
|
Loading…
Reference in a new issue