Some Electrum RPCs (yet to be implemented) require the scripthash index, and imo it does not make sense to allow partial Electrum functionality. So make sure the index is available when the Electrum server is enabled.
Details
Details
- Reviewers
Fabien - Group Reviewers
Restricted Project - Commits
- rABCb4ca4a8c259c: [chronik] make -chronikelectrumbind require -chronikscripthashindex
ninja check-functional
Diff Detail
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- chronik_electrum_scripthash
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Event Timeline
| chronik/chronik-cpp/chronik.cpp | ||
|---|---|---|
| 60 ↗ | (On Diff #52404) | I like auto, but here really... bool is the same number of chars |
Comment Actions
Tail of the build log:
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s ----------------------------|---------|----------|---------|---------|------------------------------ All files | 16.22 | 17.79 | 11.15 | 25.88 | ecash-lib | 0 | 0 | 0 | 0 | eslint.config.js | 0 | 0 | 0 | 0 | ecash-lib/dist/ffi | 0 | 0 | 0 | 0 | ecash_lib_wasm_browser.js | 0 | 0 | 0 | 0 | 3-336 ecash_lib_wasm_nodejs.js | 0 | 0 | 0 | 0 | 1-264 ecash-lib/src | 22.8 | 19.47 | 13.75 | 43.85 | consts.ts | 0 | 100 | 100 | 0 | 6-8 ecc.ts | 30.76 | 83.33 | 22.22 | 57.14 | 23-31 hash.ts | 35.29 | 83.33 | 22.22 | 66.66 | 14,17,20 index.ts | 0 | 0 | 0 | 0 | indexBrowser.ts | 0 | 0 | 0 | 0 | indexNodeJs.ts | 0 | 0 | 0 | 0 | initBrowser.ts | 0 | 100 | 0 | 0 | 11-13 initNodeJs.ts | 53.84 | 100 | 66.66 | 85.71 | 12 op.ts | 20.13 | 23.33 | 36.36 | 39.47 | ...4,107,109,117-122,133-161 opcode.ts | 50.2 | 83.33 | 100 | 100 | 1 script.ts | 19.26 | 17.64 | 9.67 | 33.33 | ...5-42,50,55,62-173,182-193 sigHashType.ts | 38.66 | 25 | 38.46 | 76.31 | 26-58 tx.ts | 16.48 | 11.9 | 4.76 | 31.91 | ...8,143-145,150-151,156,176 txBuilder.ts | 8.02 | 9.61 | 4.54 | 16.48 | ...0,234-237,246-250,256-260 unsignedTx.ts | 6.69 | 5 | 2.56 | 12.58 | ...0,344-345,350-351,356-357 ecash-lib/src/address | 11.35 | 15.15 | 5.12 | 22.41 | address.ts | 10.95 | 11.36 | 3.22 | 21.05 | ...3,239-240,255-256,266-344 legacyaddr.ts | 12.04 | 22.72 | 12.5 | 25 | 15-19,23-38,70-111,124-128 ecash-lib/src/ffi | 8.38 | 1.44 | 1.88 | 8.59 | ecash_lib_wasm_browser.js | 0 | 0 | 0 | 0 | 3-336 ecash_lib_wasm_nodejs.js | 18.36 | 5 | 4.34 | 18.62 | ...0-155,171-243,250-251,255 ecash-lib/src/io | 19.54 | 32 | 24.19 | 38.16 | bytes.ts | 3.77 | 62.5 | 6.66 | 7.4 | 13-64 hex.ts | 29.87 | 50 | 22.22 | 61.76 | 33-37,41-45,50,58,66-68 int.ts | 0 | 0 | 0 | 0 | str.ts | 46.15 | 83.33 | 40 | 85.71 | 15 varsize.ts | 6.12 | 13.15 | 20 | 12 | 14-24,35-47 writer.ts | 0 | 0 | 0 | 0 | writerbytes.ts | 22.03 | 21.87 | 33.33 | 43.33 | 33,42-67,79 writerlength.ts | 33.33 | 83.33 | 30.76 | 62.5 | 26-36 ecash-lib/src/test | 22.15 | 24.63 | 20.58 | 42.1 | testRunner.ts | 22.15 | 24.63 | 20.58 | 42.1 | ...-75,87-89,102-112,122-207 ecash-lib/src/token | 14.28 | 17.24 | 7.14 | 27.52 | alp.ts | 9.37 | 15.62 | 4.34 | 18.29 | ...3,127-131,135-137,141-145 common.ts | 54.54 | 83.33 | 100 | 100 | 1 empp.ts | 26.08 | 50 | 14.28 | 50 | 11-14,22-28 slp.ts | 14.76 | 7.35 | 4 | 28.2 | ...7,174-178,185-197,201-211 ----------------------------|---------|----------|---------|---------|------------------------------ ##teamcity[blockOpened name='Code Coverage Summary'] ##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='456'] ##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='2811'] ##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='161'] ##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='905'] ##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='51'] ##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='457'] ##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='448'] ##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='1731'] ##teamcity[blockClosed name='Code Coverage Summary'] mv: cannot stat 'test_results/ecash-lib-integration-tests-junit.xml': No such file or directory Build ecash-lib-integration-tests failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-chronik) failed.
Tail of the build log:
Doc-tests chronik-bridge running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-db running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-http running 1 test test chronik/chronik-http/src/protobuf.rs - protobuf::Protobuf (line 29) ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s Doc-tests chronik-indexer running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-plugin running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-plugin-common running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-plugin-impl running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-proto running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-util running 2 tests test chronik/chronik-util/src/log.rs - log::log (line 65) ... ignored test chronik/chronik-util/src/log.rs - log::log_chronik (line 87) ... ignored test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s ninja: build stopped: cannot make progress due to previous errors. Build build-chronik failed with exit code 1
Comment Actions
Tail of the build log:
2025-01-27T16:20:00.512000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
Running Unit Tests for Test Framework Modules
[1msetup_scripts/ecash-agora_base.py[0m started
[1msetup_scripts/ecash-agora_base.py[0m failed, Duration: 1 s
[1mstdout:[0m
[1mstderr:[0m
Traceback (most recent call last):
File "/work/test/functional/setup_scripts/ecash-agora_base.py", line 65, in <module>
EcashAgoraSetup().main()
File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 172, in main
exit_code = self.shutdown()
^^^^^^^^^^^^^^^
File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 398, in shutdown
self.stop_nodes()
File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 653, in stop_nodes
node.stop_node(wait=wait, wait_until_stopped=False)
File "/work/test/functional/setup_scripts/../test_framework/test_node.py", line 515, in stop_node
self.stop(wait=wait)
^^^^^^^^^
File "/work/test/functional/setup_scripts/../test_framework/test_node.py", line 283, in __getattr__
assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
^^^^^^^^^^^^^^^^^^^^
AssertionError: [node 0] Error: RPC not initialized
[1m
TEST | STATUS | DURATION
[0m[0;31msetup_scripts/ecash-agora_base.py | ✖ Failed | 1 s
[0m[0;31m[1m
ALL | ✖ Failed | 1 s (accumulated)
[0m[0mRuntime: 1 s
Test runner completed with code 1
------------|---------|----------|---------|---------|----------------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------|---------|----------|---------|---------|----------------------------------------------
All files | 3.9 | 6.94 | 3.4 | 7.66 |
ad.ts | 6.6 | 15.62 | 20 | 12.72 | 6,33-100,127-146
agora.ts | 3.57 | 3.01 | 1.56 | 7.04 | 14,42,47,114-493,545-950,970-976
consts.ts | 57.14 | 83.33 | 100 | 100 | 1
index.ts | 0 | 0 | 0 | 0 |
oneshot.ts | 5 | 22.72 | 4 | 9.87 | 5,77-223,234-251,263-270,279-286
partial.ts | 2.2 | 3.73 | 1.92 | 4.32 | ...7,1332-1342,1352-1371,1388-1395,1405-1412
------------|---------|----------|---------|---------|----------------------------------------------
##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='43']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='1101']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='25']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='360']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='5']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='147']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='43']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='561']
##teamcity[blockClosed name='Code Coverage Summary']
mv: cannot stat 'test_results/ecash-agora-integration-tests-junit.xml': No such file or directory
Build ecash-agora-integration-tests failed with exit code 1Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-chronik-plugins) failed.
Tail of the build log:
Doc-tests chronik-bridge running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-db running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-http running 1 test test chronik/chronik-http/src/protobuf.rs - protobuf::Protobuf (line 29) ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s Doc-tests chronik-indexer running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-plugin running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-plugin-common running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-plugin-impl running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-proto running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests chronik-util running 2 tests test chronik/chronik-util/src/log.rs - log::log (line 65) ... ignored test chronik/chronik-util/src/log.rs - log::log_chronik (line 87) ... ignored test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s ninja: build stopped: cannot make progress due to previous errors. Build build-chronik-plugins failed with exit code 1
Comment Actions
Tail of the build log:
[1msetup_scripts/chronik-client_block_and_blocks.py[0m started
[1msetup_scripts/chronik-client_block_and_blocks.py[0m failed, Duration: 2 s
[1mstdout:[0m
[1mstderr:[0m
Traceback (most recent call last):
File "/work/test/functional/setup_scripts/chronik-client_block_and_blocks.py", line 58, in <module>
ChronikClient_Block_Setup().main()
File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 172, in main
exit_code = self.shutdown()
^^^^^^^^^^^^^^^
File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 398, in shutdown
self.stop_nodes()
File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 653, in stop_nodes
node.stop_node(wait=wait, wait_until_stopped=False)
File "/work/test/functional/setup_scripts/../test_framework/test_node.py", line 515, in stop_node
self.stop(wait=wait)
^^^^^^^^^
File "/work/test/functional/setup_scripts/../test_framework/test_node.py", line 283, in __getattr__
assert self.rpc is not None, self._node_msg("Error: RPC not initialized")
^^^^^^^^^^^^^^^^^^^^
AssertionError: [node 0] Error: RPC not initialized
[1m
TEST | STATUS | DURATION
[0m[0;31msetup_scripts/chronik-client_block_and_blocks.py | ✖ Failed | 2 s
[0m[0;31m[1m
ALL | ✖ Failed | 2 s (accumulated)
[0m[0mRuntime: 2 s
Test runner for chronik-client_block_and_blocks completed with code 1
----------------------|---------|----------|---------|---------|------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------|---------|----------|---------|---------|------------------------------------
All files | 4.69 | 0.45 | 1.05 | 4.58 |
chronik-client | 100 | 100 | 100 | 100 |
index.ts | 100 | 100 | 100 | 100 |
chronik-client/proto | 3.87 | 0.49 | 1.38 | 3.91 |
chronik.ts | 3.87 | 0.49 | 1.38 | 3.91 | ...7,6332-6371,6379-6483,6487-6496
chronik-client/src | 8.33 | 0 | 0 | 7.59 |
ChronikClient.ts | 4.91 | 0 | 0 | 4.91 | ...20-392,405-462,476-580,648-1451
failoverProxy.ts | 4.67 | 0 | 0 | 4.8 | 33-327
hex.ts | 31.57 | 0 | 0 | 33.33 | 33-37,41-45,49-62,66-68
validation.ts | 26.82 | 0 | 0 | 18.91 | 14-49,54-55,62-63,73-88
----------------------|---------|----------|---------|---------|------------------------------------
##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='147']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='3132']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='12']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='2645']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='6']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='567']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='142']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='3097']
##teamcity[blockClosed name='Code Coverage Summary']
mv: cannot stat 'test_results/chronik-client-integration-tests-junit.xml': No such file or directory
Build chronik-client-integration-tests failed with exit code 1Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-chronik) failed.
Failed tests logs:
====== Bitcoin ABC functional tests: chronik_electrum_basic.py ======
------- Stdout: -------
2025-01-28T13:24:46.634000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250128_132138/chronik_electrum_basic_230
2025-01-28T13:25:48.633000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
File "/work/test/functional/test_framework/test_node.py", line 792, in assert_start_raises_init_error
ret = self.process.wait(timeout=self.rpc_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 1262, in wait
return self._wait(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 1989, in _wait
raise TimeoutExpired(self.args, timeout)
subprocess.TimeoutExpired: Command '['/work/abc-ci-builds/build-chronik/src/bitcoind', '-datadir=/work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250128_132138/chronik_electrum_basic_230/node0', '-logtimemicros', '-logthreadnames', '-logsourcelocations', '-debug', '-debugexclude=libevent', '-debugexclude=leveldb', '-uacomment=testnode-0', '-chronik', '-chronikscripthashindex=0']' timed out after 60 seconds
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/work/test/functional/test_framework/test_framework.py", line 149, in main
self._run_test_internal()
File "/work/test/functional/test_framework/test_framework.py", line 139, in _run_test_internal
self.run_test()
File "/work/test/functional/chronik_electrum_basic.py", line 32, in run_test
self.test_init_errors()
File "/work/test/functional/chronik_electrum_basic.py", line 59, in test_init_errors
self.node.assert_start_raises_init_error(
File "/work/test/functional/test_framework/test_node.py", line 831, in assert_start_raises_init_error
self._raise_assertion_error(assert_msg)
File "/work/test/functional/test_framework/test_node.py", line 266, in _raise_assertion_error
raise AssertionError(self._node_msg(msg))
AssertionError: [node 0] bitcoind should have exited within 60s with expected error Error: The -chronikelectrumbind option requires -chronikscripthashindex to be true.
2025-01-28T13:25:48.686000Z TestFramework (INFO): Stopping nodes
2025-01-28T13:25:48.686000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250128_132138/chronik_electrum_basic_230
2025-01-28T13:25:48.686000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250128_132138/chronik_electrum_basic_230/test_framework.log
2025-01-28T13:25:48.686000Z TestFramework (ERROR):
2025-01-28T13:25:48.687000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250128_132138/chronik_electrum_basic_230' to consolidate all logs
2025-01-28T13:25:48.687000Z TestFramework (ERROR):
2025-01-28T13:25:48.687000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2025-01-28T13:25:48.687000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2025-01-28T13:25:48.687000Z TestFramework (ERROR):Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_electrum_basic.py
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-chronik-plugins) failed.
Failed tests logs:
====== Bitcoin ABC functional tests: chronik_electrum_basic.py ======
------- Stdout: -------
2025-01-28T13:27:29.527000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250128_132510/chronik_electrum_basic_230
2025-01-28T13:28:30.431000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
File "/work/test/functional/test_framework/test_node.py", line 792, in assert_start_raises_init_error
ret = self.process.wait(timeout=self.rpc_timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 1262, in wait
return self._wait(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 1989, in _wait
raise TimeoutExpired(self.args, timeout)
subprocess.TimeoutExpired: Command '['/work/abc-ci-builds/build-chronik-plugins/src/bitcoind', '-datadir=/work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250128_132510/chronik_electrum_basic_230/node0', '-logtimemicros', '-logthreadnames', '-logsourcelocations', '-debug', '-debugexclude=libevent', '-debugexclude=leveldb', '-uacomment=testnode-0', '-chronik', '-chronikscripthashindex=0']' timed out after 60 seconds
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/work/test/functional/test_framework/test_framework.py", line 149, in main
self._run_test_internal()
File "/work/test/functional/test_framework/test_framework.py", line 139, in _run_test_internal
self.run_test()
File "/work/test/functional/chronik_electrum_basic.py", line 32, in run_test
self.test_init_errors()
File "/work/test/functional/chronik_electrum_basic.py", line 59, in test_init_errors
self.node.assert_start_raises_init_error(
File "/work/test/functional/test_framework/test_node.py", line 831, in assert_start_raises_init_error
self._raise_assertion_error(assert_msg)
File "/work/test/functional/test_framework/test_node.py", line 266, in _raise_assertion_error
raise AssertionError(self._node_msg(msg))
AssertionError: [node 0] bitcoind should have exited within 60s with expected error Error: The -chronikelectrumbind option requires -chronikscripthashindex to be true.
2025-01-28T13:28:30.487000Z TestFramework (INFO): Stopping nodes
2025-01-28T13:28:30.488000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250128_132510/chronik_electrum_basic_230
2025-01-28T13:28:30.488000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250128_132510/chronik_electrum_basic_230/test_framework.log
2025-01-28T13:28:30.488000Z TestFramework (ERROR):
2025-01-28T13:28:30.488000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250128_132510/chronik_electrum_basic_230' to consolidate all logs
2025-01-28T13:28:30.488000Z TestFramework (ERROR):
2025-01-28T13:28:30.488000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2025-01-28T13:28:30.489000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2025-01-28T13:28:30.489000Z TestFramework (ERROR):Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_electrum_basic.py