From dc61a1c3bdc1b77a6dfd857bec65db687709bc55 Mon Sep 17 00:00:00 2001 From: Antoine Poinsot Date: Wed, 7 Dec 2022 11:42:17 +0100 Subject: [PATCH] commands: remove discrepancy between blockheight and block_height --- doc/API.md | 4 ++-- src/commands/mod.rs | 6 +++--- tests/test_chain.py | 22 +++++++++++----------- tests/test_framework/lianad.py | 2 +- tests/test_rpc.py | 10 +++++----- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/doc/API.md b/doc/API.md index e94b480b..71793a82 100644 --- a/doc/API.md +++ b/doc/API.md @@ -50,7 +50,7 @@ This command does not take any parameter for now. | -------------------- | ------- | -------------------------------------------------------------------------------------------------- | | `version` | string | Version following the [SimVer](http://www.simver.org/) format | | `network` | string | Answer can be `mainnet`, `testnet`, `regtest` | -| `blockheight` | integer | The block height we are synced at. | +| `block_height` | integer | The block height we are synced at. | | `sync` | float | The synchronization progress as percentage (`0 < sync < 1`) | | `descriptors` | object | Object with the name of the descriptor as key and the descriptor string as value | | `rescan_progress` | float or null | Progress of an ongoing rescan as a percentage (between 0 and 1) if there is any | @@ -91,7 +91,7 @@ This command does not take any parameter for now. | -------------- | ------------- | ------------------------------------------------------------------------------------------------------------------ | | `amount` | int | Value of the TxO in satoshis. | | `outpoint` | string | Transaction id and output index of this coin. | -| `block_height` | int or null | Blockheight the transaction was confirmed at, or `null`. | +| `block_height` | int or null | Block height the transaction was confirmed at, or `null`. | | `spend_info` | object | Information about the transaction spending this coin. See [Spending transaction info](#spending_transaction_info). | diff --git a/src/commands/mod.rs b/src/commands/mod.rs index 5ec14b98..c38f8fc2 100644 --- a/src/commands/mod.rs +++ b/src/commands/mod.rs @@ -201,14 +201,14 @@ impl DaemonControl { pub fn get_info(&self) -> GetInfoResult { let mut db_conn = self.db.connection(); - let blockheight = db_conn.chain_tip().map(|tip| tip.height).unwrap_or(0); + let block_height = db_conn.chain_tip().map(|tip| tip.height).unwrap_or(0); let rescan_progress = db_conn .rescan_timestamp() .map(|_| self.bitcoin.rescan_progress().unwrap_or(1.0)); GetInfoResult { version: VERSION.to_string(), network: self.config.bitcoin_config.network, - blockheight, + block_height, sync: self.bitcoin.sync_progress(), descriptors: GetInfoDescriptors { main: self.config.main_descriptor.clone(), @@ -615,7 +615,7 @@ pub struct GetInfoDescriptors { pub struct GetInfoResult { pub version: String, pub network: bitcoin::Network, - pub blockheight: i32, + pub block_height: i32, pub sync: f64, pub descriptors: GetInfoDescriptors, /// The progress as a percentage (between 0 and 1) of an ongoing rescan if there is any diff --git a/tests/test_chain.py b/tests/test_chain.py index 6d54ae1b..eb2b7e6c 100644 --- a/tests/test_chain.py +++ b/tests/test_chain.py @@ -15,41 +15,41 @@ def get_coin(lianad, outpoint_or_txid): def test_reorg_detection(lianad, bitcoind): """Test we detect block chain reorganization under various conditions.""" initial_height = bitcoind.rpc.getblockcount() - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == initial_height) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == initial_height) # Re-mine the last block. We should detect it as a reorg. bitcoind.invalidate_remine(initial_height) lianad.wait_for_logs( ["Block chain reorganization detected.", "Tip was rolled back."] ) - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == initial_height) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == initial_height) # Same if we re-mine the next-to-last block. bitcoind.invalidate_remine(initial_height - 1) lianad.wait_for_logs( ["Block chain reorganization detected.", "Tip was rolled back."] ) - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == initial_height) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == initial_height) # Same if we re-mine a deep block. bitcoind.invalidate_remine(initial_height - 50) lianad.wait_for_logs( ["Block chain reorganization detected.", "Tip was rolled back."] ) - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == initial_height) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == initial_height) # Same if the new chain is longer. bitcoind.simple_reorg(initial_height - 10, shift=20) lianad.wait_for_logs( ["Block chain reorganization detected.", "Tip was rolled back."] ) - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == initial_height + 10) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == initial_height + 10) def test_reorg_exclusion(lianad, bitcoind): """Test the unconfirmation by a reorg of a coin in various states.""" initial_height = bitcoind.rpc.getblockcount() - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == initial_height) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == initial_height) # A confirmed received coin addr = lianad.rpc.getnewaddress()["address"] @@ -78,7 +78,7 @@ def test_reorg_exclusion(lianad, bitcoind): # Reorg the chain down to the initial height, excluding all transactions. current_height = bitcoind.rpc.getblockcount() bitcoind.simple_reorg(initial_height, shift=-1) - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == current_height + 1) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == current_height + 1) # They must all be marked as unconfirmed. new_coin_a = get_coin(lianad, coin_a["outpoint"]) @@ -99,7 +99,7 @@ def test_reorg_exclusion(lianad, bitcoind): bitcoind.rpc.sendrawtransaction(c_spend_tx) bitcoind.generate_block(1, wait_for_mempool=5) new_height = bitcoind.rpc.getblockcount() - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == new_height) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == new_height) assert all( c["block_height"] == new_height for c in lianad.rpc.listcoins()["coins"] ), (lianad.rpc.listcoins()["coins"], new_height) @@ -145,7 +145,7 @@ def test_reorg_status_recovery(lianad, bitcoind): txids = [bitcoind.rpc.sendtoaddress(addr, 0.5670) for addr in addresses] bitcoind.generate_block(1, wait_for_mempool=txids) initial_height = bitcoind.rpc.getblockcount() - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == initial_height) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == initial_height) # Both coins are confirmed. Spend the second one then get their infos. wait_for(lambda: len(list_coins()) == 2) @@ -162,7 +162,7 @@ def test_reorg_status_recovery(lianad, bitcoind): # spending the second coin will be mined at the height the reorg happened). bitcoind.simple_reorg(initial_height, shift=0) new_height = bitcoind.rpc.getblockcount() - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == new_height) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == new_height) new_coin_a = get_coin(lianad, coin_a["outpoint"]) assert coin_a == new_coin_a new_coin_b = get_coin(lianad, coin_b["outpoint"]) @@ -178,7 +178,7 @@ def test_rescan_edge_cases(lianad, bitcoind): list_coins = lambda: lianad.rpc.listcoins()["coins"] sorted_coins = lambda: sorted(list_coins(), key=lambda c: c["outpoint"]) wait_synced = lambda: wait_for( - lambda: lianad.rpc.getinfo()["blockheight"] == bitcoind.rpc.getblockcount() + lambda: lianad.rpc.getinfo()["block_height"] == bitcoind.rpc.getblockcount() ) def reorg_shift(height, txs): diff --git a/tests/test_framework/lianad.py b/tests/test_framework/lianad.py index 8a9096ae..c321a8f0 100644 --- a/tests/test_framework/lianad.py +++ b/tests/test_framework/lianad.py @@ -157,7 +157,7 @@ class Lianad(TailableProc): bitcoind.node_rpc.unloadwallet(wallet_path) self.start() wait_for( - lambda: self.rpc.getinfo()["blockheight"] == bitcoind.rpc.getblockcount() + lambda: self.rpc.getinfo()["block_height"] == bitcoind.rpc.getblockcount() ) def start(self): diff --git a/tests/test_rpc.py b/tests/test_rpc.py index 6e8488a0..66db99e5 100644 --- a/tests/test_rpc.py +++ b/tests/test_rpc.py @@ -11,7 +11,7 @@ def test_getinfo(lianad): res = lianad.rpc.getinfo() assert res["version"] == "0.1" assert res["network"] == "regtest" - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == 101) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == 101) res = lianad.rpc.getinfo() assert res["sync"] == 1.0 assert "main" in res["descriptors"] @@ -58,7 +58,7 @@ def test_listcoins(lianad, bitcoind): # And if this spending tx gets confirmed. bitcoind.generate_block(1, wait_for_mempool=spend_txid) curr_height = bitcoind.rpc.getblockcount() - wait_for(lambda: lianad.rpc.getinfo()["blockheight"] == curr_height) + wait_for(lambda: lianad.rpc.getinfo()["block_height"] == curr_height) spend_info = lianad.rpc.listcoins()["coins"][0]["spend_info"] assert spend_info["txid"] == spend_txid assert spend_info["height"] == curr_height @@ -315,7 +315,7 @@ def test_start_rescan(lianad, bitcoind): bitcoind.generate_block(random.randint(1, 5), wait_for_mempool=2) wait_for(lambda: all_spent(to_spend)) wait_for( - lambda: lianad.rpc.getinfo()["blockheight"] == bitcoind.rpc.getblockcount() + lambda: lianad.rpc.getinfo()["block_height"] == bitcoind.rpc.getblockcount() ) # Receiving addresses are derived at much higher indexes now. @@ -345,7 +345,7 @@ def test_start_rescan(lianad, bitcoind): assert rescan_progress is None or 0 <= rescan_progress <= 1 wait_for(lambda: lianad.rpc.getinfo()["rescan_progress"] is None) wait_for( - lambda: lianad.rpc.getinfo()["blockheight"] == bitcoind.rpc.getblockcount() + lambda: lianad.rpc.getinfo()["block_height"] == bitcoind.rpc.getblockcount() ) assert coins_before == sorted_coins() @@ -366,7 +366,7 @@ def test_listtransactions(lianad, bitcoind): def wait_synced(): wait_for( - lambda: lianad.rpc.getinfo()["blockheight"] == bitcoind.rpc.getblockcount() + lambda: lianad.rpc.getinfo()["block_height"] == bitcoind.rpc.getblockcount() ) best_block = bitcoind.rpc.getbestblockhash()