Skip to content

Commit fb138b8

Browse files
committed
fixes
1 parent 255c2cb commit fb138b8

File tree

6 files changed

+15
-15
lines changed

6 files changed

+15
-15
lines changed

counterparty-core/counterpartycore/lib/cli/server.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,6 @@ def __init__(self, args, log_stream=None):
689689
logger.debug(f"Config: {custom_config}")
690690

691691
def run_server(self):
692-
CurrentState().set_ledger_state("Starting")
693692
# download bootstrap if necessary
694693
if (
695694
not os.path.exists(config.DATABASE) and self.args.catch_up == "bootstrap"
@@ -786,7 +785,7 @@ def run(self):
786785

787786
def stop(self):
788787
logger.info("Shutting down...")
789-
CurrentState().set_ledger_state("Stopping")
788+
CurrentState().set_ledger_state(self.db, "Stopping")
790789

791790
# Ensure all threads are stopped
792791
if self.follower_daemon:

counterparty-core/counterpartycore/lib/ledger/currentstate.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,9 @@ def set_current_tx_hash(self, tx_hash):
8383
def set_parsing_mempool(self, parsing_mempool):
8484
self.state["PARSING_MEMPOOL"] = parsing_mempool
8585

86-
def set_ledger_state(self, status):
86+
def set_ledger_state(self, ledger_db, status):
8787
# use db to share Ledger state with other processes
88-
with LedgerDBConnectionPool().connection() as ledger_db:
89-
set_config_value(ledger_db, "LEDGER_STATE", status)
88+
set_config_value(ledger_db, "LEDGER_STATE", status)
9089

9190
def current_block_index(self):
9291
return self.state.get("CURRENT_BLOCK_INDEX")
@@ -115,7 +114,7 @@ def parsing_mempool(self):
115114

116115
def ledger_state(self):
117116
with LedgerDBConnectionPool().connection() as ledger_db:
118-
return get_config_value(ledger_db, "LEDGER_STATE")
117+
return get_config_value(ledger_db, "LEDGER_STATE") or "Starting"
119118

120119

121120
class ConsensusHashBuilder(metaclass=helpers.SingletonMeta):

counterparty-core/counterpartycore/lib/parser/blocks.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,7 @@ def rollback(db, block_index=0, force=False):
543543
if not force and block_index > CurrentState().current_block_index():
544544
logger.debug("Block index is higher than current block index. No need to reparse.")
545545
return
546+
CurrentState().set_ledger_state(db, "Rollbacking")
546547
block_index = max(block_index, config.BLOCK_FIRST)
547548
# clean all tables
548549
step = f"Rolling Ledger DB back to block {block_index}..."
@@ -587,6 +588,7 @@ def reparse(db, block_index=0):
587588
if block_index > CurrentState().current_block_index():
588589
logger.debug("Block index is higher than current block index. No need to reparse.")
589590
return
591+
CurrentState().set_ledger_state(db, "Reparsing")
590592
cursor = db.cursor()
591593
# clean all tables except assets' blocks', 'transaction_outputs' and 'transactions'
592594
with log.Spinner(f"Rolling database back to block {block_index}..."):
@@ -881,7 +883,7 @@ def catch_up(db, check_asset_conservation=True):
881883
fetcher = None
882884

883885
try:
884-
CurrentState().set_ledger_state("Catching Up")
886+
CurrentState().set_ledger_state(db, "Catching Up")
885887
# update the current block index
886888
current_block_index = ledger.blocks.last_db_index(db)
887889
if current_block_index == 0:

counterparty-core/counterpartycore/lib/parser/follow.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def get_zmq_notifications_addresses():
6565

6666
def start_blockchain_watcher(db):
6767
try:
68-
CurrentState().set_ledger_state("Following")
68+
CurrentState().set_ledger_state(db, "Following")
6969
return BlockchainWatcher(db)
7070
except exceptions.BitcoindZMQError as e:
7171
logger.error(e)

counterparty-core/counterpartycore/test/units/ledger/currentstate_test.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ def test_currentstate(ledger_db, current_block_index, monkeypatch):
2020
currentstate.CurrentState().set_parsing_mempool(False)
2121
assert not currentstate.CurrentState().parsing_mempool()
2222

23-
assert currentstate.CurrentState().ledger_state() == "starting"
24-
currentstate.CurrentState().set_ledger_state("running")
25-
assert currentstate.CurrentState().ledger_state() == "running"
26-
currentstate.CurrentState().set_ledger_state("starting")
27-
assert currentstate.CurrentState().ledger_state() == "starting"
23+
assert currentstate.CurrentState().ledger_state() == "Starting"
24+
currentstate.CurrentState().set_ledger_state(ledger_db, "Following")
25+
assert currentstate.CurrentState().ledger_state() == "Following"
26+
currentstate.CurrentState().set_ledger_state(ledger_db, "Catching Up")
27+
assert currentstate.CurrentState().ledger_state() == "Catching Up"
2828

2929
currentstate.CurrentState().set("toto", "tata")
3030
assert currentstate.CurrentState().get("toto") == "tata"

counterparty-core/counterpartycore/test/units/ledger/markets_test.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ def test_markets(ledger_db, defaults):
66
assert len(markets.get_open_btc_orders(ledger_db, defaults["addresses"][0])) == 1
77

88
original_state = currentstate.CurrentState().ledger_state()
9-
currentstate.CurrentState().set_ledger_state("catching up")
9+
currentstate.CurrentState().set_ledger_state(ledger_db, "Catching Up")
1010
assert len(markets.get_matching_orders(ledger_db, "tx_hash", "BTC", "XCP")) == 2
11-
currentstate.CurrentState().set_ledger_state(original_state)
11+
currentstate.CurrentState().set_ledger_state(ledger_db, original_state)
1212

1313
open_orders = ledger_db.execute(
1414
"""SELECT rowid FROM (

0 commit comments

Comments
 (0)