Skip to content
Snippets Groups Projects
Commit f6cebec4 authored by Holger's avatar Holger
Browse files

Revert changes for Fix corner case last_irreversible_block_num == head_block_number

parent 14a2eb70
No related branches found
No related tags found
2 merge requests!5Taken current version of master branch in the https://github.com/holgern/beem,!4Original changes pushed to master at https://github.com/holgern/beem
...@@ -387,7 +387,10 @@ class TransactionBuilder(dict): ...@@ -387,7 +387,10 @@ class TransactionBuilder(dict):
""" """
dynBCParams = self.blockchain.get_dynamic_global_properties(use_stored_data=False) dynBCParams = self.blockchain.get_dynamic_global_properties(use_stored_data=False)
if use_head_block: # fix for corner case where last_irreversible_block_num == head_block_number
# then int(dynBCParams["last_irreversible_block_num"]) + 1 does not exists
# and BlockHeader throws error
if use_head_block or int(dynBCParams["last_irreversible_block_num"]) == int(dynBCParams["head_block_number"]):
ref_block_num = dynBCParams["head_block_number"] & 0xFFFF ref_block_num = dynBCParams["head_block_number"] & 0xFFFF
ref_block_prefix = struct.unpack_from( ref_block_prefix = struct.unpack_from(
"<I", unhexlify(dynBCParams["head_block_id"]), 4 "<I", unhexlify(dynBCParams["head_block_id"]), 4
...@@ -395,15 +398,7 @@ class TransactionBuilder(dict): ...@@ -395,15 +398,7 @@ class TransactionBuilder(dict):
else: else:
# need to get subsequent block because block head doesn't return 'id' - stupid # need to get subsequent block because block head doesn't return 'id' - stupid
from .block import BlockHeader from .block import BlockHeader
from .exceptions import BlockDoesNotExistsException block = BlockHeader(int(dynBCParams["last_irreversible_block_num"]) + 1, blockchain_instance=self.blockchain)
try:
block = BlockHeader(int(dynBCParams["last_irreversible_block_num"]) + 1, blockchain_instance=self.blockchain)
except BlockDoesNotExistsException:
# fix for corner case where last_irreversible_block_num == head_block_number
# then int(dynBCParams["last_irreversible_block_num"]) + 1 does not exists
# and BlockHeader throws error
time.sleep(3)
block = BlockHeader(int(dynBCParams["last_irreversible_block_num"]) + 1, blockchain_instance=self.blockchain)
ref_block_num = dynBCParams["last_irreversible_block_num"] & 0xFFFF ref_block_num = dynBCParams["last_irreversible_block_num"] & 0xFFFF
ref_block_prefix = struct.unpack_from( ref_block_prefix = struct.unpack_from(
"<I", unhexlify(block["previous"]), 4 "<I", unhexlify(block["previous"]), 4
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment