diff --git a/src/qt/bitcoinstrings.cpp b/src/qt/bitcoinstrings.cpp --- a/src/qt/bitcoinstrings.cpp +++ b/src/qt/bitcoinstrings.cpp @@ -638,8 +638,6 @@ "Wallet needed to be rewritten: restart %s to complete"), QT_TRANSLATE_NOOP("bitcoin-abc", "Wallet options:"), QT_TRANSLATE_NOOP("bitcoin-abc", "Warning"), - QT_TRANSLATE_NOOP("bitcoin-abc", - "Warning: unknown new rules activated (versionbit %i)"), QT_TRANSLATE_NOOP("bitcoin-abc", "Whether to operate in a blocks only mode (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-abc", "Zapping all transactions from wallet..."), diff --git a/src/qt/locale/bitcoin_cs.ts b/src/qt/locale/bitcoin_cs.ts --- a/src/qt/locale/bitcoin_cs.ts +++ b/src/qt/locale/bitcoin_cs.ts @@ -3621,10 +3621,6 @@ Warning Upozornění - - Warning: unknown new rules activated (versionbit %i) - Upozornění: aktivována neznámá nová pravidla (verzový bit %i) - Whether to operate in a blocks only mode (default: %u) Zda fungovat v čistě blokovém režimu (výchozí: %u) @@ -3906,4 +3902,4 @@ Chyba - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_da.ts b/src/qt/locale/bitcoin_da.ts --- a/src/qt/locale/bitcoin_da.ts +++ b/src/qt/locale/bitcoin_da.ts @@ -3621,10 +3621,6 @@ Warning Advarsel - - Warning: unknown new rules activated (versionbit %i) - Advarsel: Ukendte nye regler aktiveret (versionsbit %i) - Whether to operate in a blocks only mode (default: %u) Hvorvidt der skal arbejdes i kun-blokke-tilstand (standard: %u) @@ -3911,4 +3907,4 @@ Fejl - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_de.ts b/src/qt/locale/bitcoin_de.ts --- a/src/qt/locale/bitcoin_de.ts +++ b/src/qt/locale/bitcoin_de.ts @@ -3609,10 +3609,6 @@ Warning Warnung - - Warning: unknown new rules activated (versionbit %i) - Warnung: Unbekannte neue Regeln aktiviert (Versionsbit %i) - Whether to operate in a blocks only mode (default: %u) Legt fest ob nur Blöcke Modus aktiv sein soll (Standard: %u) @@ -3890,4 +3886,4 @@ Fehler - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_en.ts b/src/qt/locale/bitcoin_en.ts --- a/src/qt/locale/bitcoin_en.ts +++ b/src/qt/locale/bitcoin_en.ts @@ -4656,11 +4656,6 @@ Warning Warning - - - Warning: unknown new rules activated (versionbit %i) - - Whether to operate in a blocks only mode (default: %u) diff --git a/src/qt/locale/bitcoin_en_GB.ts b/src/qt/locale/bitcoin_en_GB.ts --- a/src/qt/locale/bitcoin_en_GB.ts +++ b/src/qt/locale/bitcoin_en_GB.ts @@ -2413,10 +2413,6 @@ Warning Warning - - Warning: unknown new rules activated (versionbit %i) - Warning: unknown new rules activated (versionbit %i) - Whether to operate in a blocks only mode (default: %u) Whether to operate in a blocks only mode (default: %u) @@ -2642,4 +2638,4 @@ Error - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_es.ts b/src/qt/locale/bitcoin_es.ts --- a/src/qt/locale/bitcoin_es.ts +++ b/src/qt/locale/bitcoin_es.ts @@ -3625,10 +3625,6 @@ Warning Aviso - - Warning: unknown new rules activated (versionbit %i) - Advertencia: nuevas reglas desconocidas activadas (versionbit %i) - Whether to operate in a blocks only mode (default: %u) Si se debe o no operar en un modo de solo bloques (predeterminado: %u) @@ -3916,4 +3912,4 @@ Error - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_es_ES.ts b/src/qt/locale/bitcoin_es_ES.ts --- a/src/qt/locale/bitcoin_es_ES.ts +++ b/src/qt/locale/bitcoin_es_ES.ts @@ -3445,10 +3445,6 @@ Warning Aviso - - Warning: unknown new rules activated (versionbit %i) - Advertencia: nuevas reglas desconocidas activadas (versionbit %i) - Whether to operate in a blocks only mode (default: %u) Si se debe o no operar en un modo de solo bloques (predeterminado: %u) @@ -3683,4 +3679,4 @@ Error - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_fa.ts b/src/qt/locale/bitcoin_fa.ts --- a/src/qt/locale/bitcoin_fa.ts +++ b/src/qt/locale/bitcoin_fa.ts @@ -1713,10 +1713,6 @@ Warning هشدار - - Warning: unknown new rules activated (versionbit %i) - هشدار: قوانین جدید ناشناخته‌ای فعال شده‌اند (نسخه‌بیت %i) - Password for JSON-RPC connections JSON-RPC عبارت عبور برای ارتباطات diff --git a/src/qt/locale/bitcoin_fr.ts b/src/qt/locale/bitcoin_fr.ts --- a/src/qt/locale/bitcoin_fr.ts +++ b/src/qt/locale/bitcoin_fr.ts @@ -3617,10 +3617,6 @@ Warning Avertissement - - Warning: unknown new rules activated (versionbit %i) - Avertissement : nouvelles règles inconnues activées (bit de version %i) - Whether to operate in a blocks only mode (default: %u) Faut-il fonctionner en mode blocs seulement (par défaut : %u) @@ -3906,4 +3902,4 @@ Erreur - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_it.ts b/src/qt/locale/bitcoin_it.ts --- a/src/qt/locale/bitcoin_it.ts +++ b/src/qt/locale/bitcoin_it.ts @@ -3102,10 +3102,6 @@ Warning Attenzione - - Warning: unknown new rules activated (versionbit %i) - Attenzione: nuove regole non conosciute attivate (versionbit %i) - Whether to operate in a blocks only mode (default: %u) Imposta se operare in modalità solo blocchi (default: %u) @@ -3331,4 +3327,4 @@ Errore - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_ja.ts b/src/qt/locale/bitcoin_ja.ts --- a/src/qt/locale/bitcoin_ja.ts +++ b/src/qt/locale/bitcoin_ja.ts @@ -3622,10 +3622,6 @@ Warning 警告 - - Warning: unknown new rules activated (versionbit %i) - 警告: 未知の新しいルールが有効化されました (バージョンビット %i) - Whether to operate in a blocks only mode (default: %u) ブロック限定モードにおいて動作を行うかどうか (初期値: %u) @@ -3911,4 +3907,4 @@ エラー - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_ko_KR.ts b/src/qt/locale/bitcoin_ko_KR.ts --- a/src/qt/locale/bitcoin_ko_KR.ts +++ b/src/qt/locale/bitcoin_ko_KR.ts @@ -2801,10 +2801,6 @@ Warning 경고 - - Warning: unknown new rules activated (versionbit %i) - 경고: 알려지지 않은 새로운 규칙이 활성화되었습니다. (버전비트 %i) - Whether to operate in a blocks only mode (default: %u) 블록 전용 모드로 동작할지 여부 (기본값: %u) @@ -3030,4 +3026,4 @@ 오류 - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_nl.ts b/src/qt/locale/bitcoin_nl.ts --- a/src/qt/locale/bitcoin_nl.ts +++ b/src/qt/locale/bitcoin_nl.ts @@ -3377,10 +3377,6 @@ Warning Waarschuwing - - Warning: unknown new rules activated (versionbit %i) - Waarschuwing: onbekende nieuwe regels geactiveerd (versionbit %i) - Whether to operate in a blocks only mode (default: %u) Om in alleen een blokmodus te opereren (standaard: %u) @@ -3614,4 +3610,4 @@ Fout - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_pt_BR.ts b/src/qt/locale/bitcoin_pt_BR.ts --- a/src/qt/locale/bitcoin_pt_BR.ts +++ b/src/qt/locale/bitcoin_pt_BR.ts @@ -3613,10 +3613,6 @@ Warning Atenção - - Warning: unknown new rules activated (versionbit %i) - Aviso: Novas regras estranhas foram ativadas (versionbit %i) - Whether to operate in a blocks only mode (default: %u) Quando operar em modo de blocos somente (padrãp: %u) @@ -3902,4 +3898,4 @@ Erro - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_pt_PT.ts b/src/qt/locale/bitcoin_pt_PT.ts --- a/src/qt/locale/bitcoin_pt_PT.ts +++ b/src/qt/locale/bitcoin_pt_PT.ts @@ -2602,10 +2602,6 @@ Warning Aviso - - Warning: unknown new rules activated (versionbit %i) - Aviso: ativadas novas regras desconhecidas (versionbit %i) - Whether to operate in a blocks only mode (default: %u) Se operar apenas num modo de blocos (predefinição: %u) @@ -2819,4 +2815,4 @@ Erro - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_ru.ts b/src/qt/locale/bitcoin_ru.ts --- a/src/qt/locale/bitcoin_ru.ts +++ b/src/qt/locale/bitcoin_ru.ts @@ -3617,10 +3617,6 @@ Warning Внимание - - Warning: unknown new rules activated (versionbit %i) - Внимание: неизвестные правила вступили в силу(versionbit %i) - Whether to operate in a blocks only mode (default: %u) Будет работать в режиме только блоков (по умолчанию: %u) @@ -3906,4 +3902,4 @@ Ошибка - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_sv.ts b/src/qt/locale/bitcoin_sv.ts --- a/src/qt/locale/bitcoin_sv.ts +++ b/src/qt/locale/bitcoin_sv.ts @@ -2746,10 +2746,6 @@ Warning Varning - - Warning: unknown new rules activated (versionbit %i) - Varning: okända nya regler aktiverade (versionsbit %i) - Whether to operate in a blocks only mode (default: %u) Ska allt göras i endast block-läge (förval: %u) @@ -2975,4 +2971,4 @@ Fel - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_tr.ts b/src/qt/locale/bitcoin_tr.ts --- a/src/qt/locale/bitcoin_tr.ts +++ b/src/qt/locale/bitcoin_tr.ts @@ -3617,10 +3617,6 @@ Warning Uyarı - - Warning: unknown new rules activated (versionbit %i) - Uyarı: bilinmeyen yeni kurallar etkinleştirilmiştir (versionbit %i) - Whether to operate in a blocks only mode (default: %u) Sadece blok kipinde çalışılıp çalışılmayacağı (varsayılan: %u) diff --git a/src/qt/locale/bitcoin_zh_CN.ts b/src/qt/locale/bitcoin_zh_CN.ts --- a/src/qt/locale/bitcoin_zh_CN.ts +++ b/src/qt/locale/bitcoin_zh_CN.ts @@ -3435,10 +3435,6 @@ Warning 警告 - - Warning: unknown new rules activated (versionbit %i) - 警告: 不明的交易规则被启用了(versionbit %i) - Whether to operate in a blocks only mode (default: %u) 是否用块方进行 (%u) @@ -3657,4 +3653,4 @@ 错误 - \ No newline at end of file + diff --git a/src/qt/locale/bitcoin_zh_TW.ts b/src/qt/locale/bitcoin_zh_TW.ts --- a/src/qt/locale/bitcoin_zh_TW.ts +++ b/src/qt/locale/bitcoin_zh_TW.ts @@ -3618,10 +3618,6 @@ Warning 警告 - - Warning: unknown new rules activated (versionbit %i) - 警告: 不明的交易規則被啟用了(versionbit %i) - Whether to operate in a blocks only mode (default: %u) 是否要用只要區塊模式運作(預設值: %u) @@ -3907,4 +3903,4 @@ 錯誤 - \ No newline at end of file + diff --git a/src/validation.cpp b/src/validation.cpp --- a/src/validation.cpp +++ b/src/validation.cpp @@ -1921,42 +1921,6 @@ return nVersion; } -/** - * Threshold condition checker that triggers when unknown versionbits are seen - * on the network. - */ -class WarningBitsConditionChecker : public AbstractThresholdConditionChecker { -private: - int bit; - -public: - WarningBitsConditionChecker(int bitIn) : bit(bitIn) {} - - int64_t BeginTime(const Consensus::Params ¶ms) const override { - return 0; - } - int64_t EndTime(const Consensus::Params ¶ms) const override { - return std::numeric_limits::max(); - } - int Period(const Consensus::Params ¶ms) const override { - return params.nMinerConfirmationWindow; - } - int Threshold(const Consensus::Params ¶ms) const override { - return params.nRuleChangeActivationThreshold; - } - - bool Condition(const CBlockIndex *pindex, - const Consensus::Params ¶ms) const override { - return ((pindex->nVersion & VERSIONBITS_TOP_MASK) == - VERSIONBITS_TOP_BITS) && - ((pindex->nVersion >> bit) & 1) != 0 && - ((ComputeBlockVersion(pindex->pprev, params) >> bit) & 1) == 0; - } -}; - -// Protected by cs_main -static ThresholdConditionCache warningcache[VERSIONBITS_NUM_BITS]; - // Returns the script flags which should be checked for a given block static uint32_t GetBlockScriptFlags(const Config &config, const CBlockIndex *pChainTip) { @@ -2549,29 +2513,7 @@ if (!IsInitialBlockDownload()) { int nUpgraded = 0; const CBlockIndex *pindex = chainActive.Tip(); - for (int bit = 0; bit < VERSIONBITS_NUM_BITS; bit++) { - WarningBitsConditionChecker checker(bit); - ThresholdState state = - checker.GetStateFor(pindex, consensusParams, warningcache[bit]); - if (state == THRESHOLD_ACTIVE || state == THRESHOLD_LOCKED_IN) { - if (state == THRESHOLD_ACTIVE) { - std::string strWarning = - strprintf(_("Warning: unknown new rules activated " - "(versionbit %i)"), - bit); - SetMiscWarning(strWarning); - if (!fWarned) { - AlertNotify(strWarning); - fWarned = true; - } - } else { - warningMessages.push_back( - strprintf("unknown new rules are about to activate " - "(versionbit %i)", - bit)); - } - } - } + // Check the version of the last 100 blocks to see if we need to // upgrade: for (int i = 0; i < 100 && pindex != nullptr; i++) { @@ -4914,9 +4856,6 @@ setDirtyBlockIndex.clear(); setDirtyFileInfo.clear(); versionbitscache.Clear(); - for (int b = 0; b < VERSIONBITS_NUM_BITS; b++) { - warningcache[b].clear(); - } for (BlockMap::value_type &entry : mapBlockIndex) { delete entry.second; diff --git a/test/functional/p2p-versionbits-warning.py b/test/functional/p2p-versionbits-warning.py deleted file mode 100755 --- a/test/functional/p2p-versionbits-warning.py +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/env python3 -# Copyright (c) 2016 The Bitcoin Core developers -# Distributed under the MIT software license, see the accompanying -# file COPYING or http://www.opensource.org/licenses/mit-license.php. - -from test_framework.mininode import * -from test_framework.test_framework import BitcoinTestFramework -from test_framework.util import * -import re -import time -from test_framework.blocktools import create_block, create_coinbase - -''' -Test version bits' warning system. - -Generate chains with block versions that appear to be signalling unknown -soft-forks, and test that warning alerts are generated. -''' - -VB_PERIOD = 144 # versionbits period length for regtest -VB_THRESHOLD = 108 # versionbits activation threshold for regtest -VB_TOP_BITS = 0x20000000 -VB_UNKNOWN_BIT = 27 # Choose a bit unassigned to any deployment - -WARN_UNKNOWN_RULES_MINED = "Unknown block versions being mined! It's possible unknown rules are in effect" -WARN_UNKNOWN_RULES_ACTIVE = "unknown new rules activated (versionbit {})".format( - VB_UNKNOWN_BIT) -VB_PATTERN = re.compile("^Warning.*versionbit") - - -class TestNode(NodeConnCB): - def on_inv(self, conn, message): - pass - - -class VersionBitsWarningTest(BitcoinTestFramework): - def set_test_params(self): - self.setup_clean_chain = True - self.num_nodes = 1 - - def setup_network(self): - self.alert_filename = os.path.join(self.options.tmpdir, "alert.txt") - # Open and close to create zero-length file - with open(self.alert_filename, 'w', encoding='utf8') as _: - pass - self.extra_args = [ - ["-alertnotify=echo %s >> \"" + self.alert_filename + "\""]] - self.setup_nodes() - - # Send numblocks blocks via peer with nVersionToUse set. - def send_blocks_with_version(self, peer, numblocks, nVersionToUse): - tip = self.nodes[0].getbestblockhash() - height = self.nodes[0].getblockcount() - block_time = self.nodes[0].getblockheader(tip)["time"] + 1 - tip = int(tip, 16) - - for _ in range(numblocks): - block = create_block(tip, create_coinbase(height + 1), block_time) - block.nVersion = nVersionToUse - block.solve() - peer.send_message(msg_block(block)) - block_time += 1 - height += 1 - tip = block.sha256 - peer.sync_with_ping() - - def test_versionbits_in_alert_file(self): - with open(self.alert_filename, 'r', encoding='utf8') as f: - alert_text = f.read() - assert(VB_PATTERN.match(alert_text)) - - def run_test(self): - # Setup the p2p connection and start up the network thread. - test_node = TestNode() - - connections = [] - connections.append( - NodeConn('127.0.0.1', p2p_port(0), self.nodes[0], test_node)) - test_node.add_connection(connections[0]) - - NetworkThread().start() # Start up network handling in another thread - - # Test logic begins here - test_node.wait_for_verack() - - # 1. Have the node mine one period worth of blocks - self.nodes[0].generate(VB_PERIOD) - - # 2. Now build one period of blocks on the tip, with < VB_THRESHOLD - # blocks signaling some unknown bit. - nVersion = VB_TOP_BITS | (1 << VB_UNKNOWN_BIT) - self.send_blocks_with_version(test_node, VB_THRESHOLD - 1, nVersion) - - # Fill rest of period with regular version blocks - self.nodes[0].generate(VB_PERIOD - VB_THRESHOLD + 1) - # Check that we're not getting any versionbit-related errors in - # get*info() - assert(not VB_PATTERN.match(self.nodes[0].getinfo()["errors"])) - assert(not VB_PATTERN.match(self.nodes[0].getmininginfo()["errors"])) - assert(not VB_PATTERN.match( - self.nodes[0].getnetworkinfo()["warnings"])) - - # 3. Now build one period of blocks with >= VB_THRESHOLD blocks signaling - # some unknown bit - self.send_blocks_with_version(test_node, VB_THRESHOLD, nVersion) - self.nodes[0].generate(VB_PERIOD - VB_THRESHOLD) - # Might not get a versionbits-related alert yet, as we should - # have gotten a different alert due to more than 51/100 blocks - # being of unexpected version. - # Check that get*info() shows some kind of error. - assert(WARN_UNKNOWN_RULES_MINED in self.nodes[0].getinfo()["errors"]) - assert(WARN_UNKNOWN_RULES_MINED in self.nodes[ - 0].getmininginfo()["errors"]) - assert(WARN_UNKNOWN_RULES_MINED in self.nodes[ - 0].getnetworkinfo()["warnings"]) - - # Mine a period worth of expected blocks so the generic block-version warning - # is cleared, and restart the node. This should move the versionbit state - # to ACTIVE. - self.nodes[0].generate(VB_PERIOD) - self.stop_nodes() - # Empty out the alert file - with open(self.alert_filename, 'w', encoding='utf8') as _: - pass - self.start_nodes() - - # Connecting one block should be enough to generate an error. - self.nodes[0].generate(1) - assert(WARN_UNKNOWN_RULES_ACTIVE in self.nodes[0].getinfo()["errors"]) - assert( - WARN_UNKNOWN_RULES_ACTIVE in self.nodes[0].getmininginfo()["errors"]) - assert(WARN_UNKNOWN_RULES_ACTIVE in self.nodes[0].getnetworkinfo()[ - "warnings"]) - self.stop_nodes() - self.test_versionbits_in_alert_file() - - # Test framework expects the node to still be running... - self.start_nodes() - - -if __name__ == '__main__': - VersionBitsWarningTest().main() diff --git a/test/functional/timing.json b/test/functional/timing.json --- a/test/functional/timing.json +++ b/test/functional/timing.json @@ -1,83 +1,91 @@ [ { "name": "abandonconflict.py", - "time": 15 + "time": 14 }, { "name": "abc-cmdline.py", - "time": 11 + "time": 9 }, { "name": "abc-high_priority_transaction.py", - "time": 15 + "time": 11 }, { "name": "abc-mempool-accept-txn.py", - "time": 5 + "time": 4 }, { "name": "abc-p2p-compactblocks.py", - "time": 222 + "time": 194 }, { "name": "abc-p2p-fullblocktest.py", - "time": 108 + "time": 77 + }, + { + "name": "abc-replay-protection.py", + "time": 5 }, { "name": "abc-rpc.py", - "time": 4 + "time": 2 + }, + { + "name": "abc-transaction-ordering.py", + "time": 7 }, { "name": "assumevalid.py", - "time": 16 + "time": 14 }, { "name": "bip65-cltv-p2p.py", - "time": 9 + "time": 6 }, { "name": "bip68-112-113-p2p.py", - "time": 28 + "time": 21 }, { "name": "bip68-sequence.py", - "time": 33 + "time": 36 }, { "name": "bip9-softforks.py", - "time": 51 + "time": 40 }, { "name": "bipdersig-p2p.py", - "time": 14 + "time": 6 }, { "name": "bitcoin_cli.py", - "time": 4 + "time": 3 }, { "name": "blockchain.py", - "time": 10 + "time": 9 }, { "name": "dbcrash.py", - "time": 1257 + "time": 923 }, { "name": "decodescript.py", - "time": 4 + "time": 3 }, { "name": "disablewallet.py", - "time": 4 + "time": 2 }, { "name": "disconnect_ban.py", - "time": 8 + "time": 16 }, { "name": "example_test.py", - "time": 3 + "time": 14 }, { "name": "forknotify.py", @@ -85,7 +93,7 @@ }, { "name": "fundrawtransaction.py", - "time": 83 + "time": 41 }, { "name": "getblocktemplate_longpoll.py", @@ -93,63 +101,63 @@ }, { "name": "getchaintips.py", - "time": 6 + "time": 5 }, { "name": "httpbasics.py", - "time": 4 + "time": 3 }, { "name": "import-rescan.py", - "time": 8 + "time": 32 }, { "name": "importmulti.py", - "time": 22 + "time": 14 }, { "name": "importprunedfunds.py", - "time": 4 + "time": 3 }, { "name": "invalidateblock.py", - "time": 10 + "time": 8 }, { "name": "invalidblockrequest.py", - "time": 5 + "time": 4 }, { "name": "invalidtxrequest.py", - "time": 6 + "time": 3 }, { "name": "keypool-topup.py", - "time": 13 + "time": 26 }, { "name": "keypool.py", - "time": 10 + "time": 31 }, { "name": "listsinceblock.py", - "time": 8 + "time": 9 }, { "name": "listtransactions.py", - "time": 18 + "time": 11 }, { "name": "maxuploadtarget.py", - "time": 58 + "time": 53 }, { "name": "mempool_limit.py", - "time": 9 + "time": 8 }, { "name": "mempool_packages.py", - "time": 10 + "time": 60 }, { "name": "mempool_persist.py", @@ -161,31 +169,31 @@ }, { "name": "mempool_resurrect_test.py", - "time": 5 + "time": 3 }, { "name": "mempool_spendcoinbase.py", - "time": 4 + "time": 3 }, { "name": "merkle_blocks.py", - "time": 5 + "time": 4 }, { "name": "minchainwork.py", - "time": 13 + "time": 16 }, { "name": "mining.py", - "time": 10 + "time": 4 }, { "name": "multi_rpc.py", - "time": 7 + "time": 5 }, { "name": "multiwallet.py", - "time": 16 + "time": 10 }, { "name": "net.py", @@ -193,67 +201,63 @@ }, { "name": "nulldummy.py", - "time": 4 + "time": 15 }, { "name": "p2p-acceptblock.py", - "time": 11 + "time": 7 }, { "name": "p2p-compactblocks.py", - "time": 27 + "time": 25 }, { "name": "p2p-feefilter.py", - "time": 51 + "time": 22 }, { "name": "p2p-fullblocktest.py", - "time": 197 + "time": 136 }, { "name": "p2p-leaktests.py", - "time": 12 + "time": 13 }, { "name": "p2p-mempool.py", - "time": 4 + "time": 13 }, { "name": "p2p-timeouts.py", "time": 64 }, - { - "name": "p2p-versionbits-warning.py", - "time": 12 - }, { "name": "preciousblock.py", - "time": 5 + "time": 4 }, { "name": "prioritise_transaction.py", - "time": 27 + "time": 11 }, { "name": "proxy_test.py", - "time": 8 + "time": 5 }, { "name": "pruning.py", - "time": 1841 + "time": 1387 }, { "name": "rawtransactions.py", - "time": 15 + "time": 17 }, { "name": "receivedby.py", - "time": 24 + "time": 11 }, { "name": "reindex.py", - "time": 16 + "time": 14 }, { "name": "resendwallettransactions.py", @@ -265,11 +269,11 @@ }, { "name": "rpcbind_test.py", - "time": 28 + "time": 27 }, { "name": "rpcnamedargs.py", - "time": 4 + "time": 25 }, { "name": "sendheaders.py", @@ -277,58 +281,62 @@ }, { "name": "signmessages.py", - "time": 4 + "time": 12 }, { "name": "signrawtransactions.py", - "time": 3 + "time": 2 }, { "name": "txn_clone.py", - "time": 6 + "time": 5 }, { "name": "txn_clone.py --mineblock", - "time": 18 + "time": 6 }, { "name": "txn_doublespend.py", - "time": 10 + "time": 27 }, { "name": "txn_doublespend.py --mineblock", - "time": 18 + "time": 6 }, { "name": "uptime.py", - "time": 5 + "time": 3 }, { "name": "wallet-accounts.py", - "time": 3 + "time": 8 }, { "name": "wallet-dump.py", - "time": 8 + "time": 11 }, { "name": "wallet-encryption.py", - "time": 11 + "time": 9 }, { "name": "wallet-hd.py", - "time": 27 + "time": 107 }, { "name": "wallet.py", - "time": 53 + "time": 45 }, { "name": "walletbackup.py", - "time": 121 + "time": 110 }, { "name": "zapwallettxes.py", - "time": 21 + "time": 15 + }, + { + "name": "zmq_test.py", + "time": 5 } ] \ No newline at end of file