Page MenuHomePhabricator

[chronik] Add the blockchain.scripthash.subscribe endpoint
AcceptedPublic

Authored by Fabien on Wed, May 14, 12:30.

Details

Reviewers
PiRK
Group Reviewers
Restricted Project
Summary
Test Plan

Tested against fulcrum and an address of mine to check the format matches (status expected)

./test/functional/test_runner.py chronik_electrum_*

Event Timeline

Tail of the build log:

-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: event 
-- Found Boost component headers: /usr/include (found suitable version "1.74.0", minimum required is "1.64")
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.2.4", minimum required is "1.9")  
-- Found NATPMP component natpmp: /usr/lib/x86_64-linux-gnu/libnatpmp.so
-- Found NATPMP: /usr/include   
-- Performing Test fuzz_target_builds_without_main_fuzz
-- Performing Test fuzz_target_builds_without_main_fuzz - Failed
-- Found BerkeleyDB component CXX: /usr/lib/x86_64-linux-gnu/libdb_cxx-5.3.so
-- Found BerkeleyDB: /usr/include (found suitable version "5.3.28", minimum required is "5.3") found components: CXX 
-- Found SQLite3: /usr/include (found suitable version "3.40.1", minimum required is "3.7.17") 
-- Found ZeroMQ component zmq: /usr/lib/x86_64-linux-gnu/libzmq.so
-- Found ZeroMQ: /usr/include (found suitable version "4.3.4", minimum required is "4.1.5")  
-- Could NOT find Protobuf (missing: Protobuf_DIR)
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so (found version "3.21.12") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.15")  
-- Looking for EVP_MD_CTX_new
-- Looking for EVP_MD_CTX_new - found
-- Found QREncode component qrencode: /usr/lib/x86_64-linux-gnu/libqrencode.so
-- Found QREncode: /usr/include   
-- Rust Toolchain: 1.76.0-x86_64-unknown-linux-gnu
-- Rust Target: x86_64-unknown-linux-gnu
-- Determining required link libraries for target x86_64-unknown-linux-gnu
-- Required static libs for target x86_64-unknown-linux-gnu: gcc_s;util;rt;pthread;m;dl;c
-- Required link flags for target x86_64-unknown-linux-gnu: 
-- Found Rust: /root/.rustup/toolchains/1.76.0-x86_64-unknown-linux-gnu/bin/rustc (found version "1.76.0") 
-- Using Corrosion as a subdirectory
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
CMake Error at abc-ci-builds/build-chronik/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:24 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 101"

Call Stack (most recent call first):
  abc-ci-builds/build-chronik/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:229 (_cargo_metadata)
  abc-ci-builds/build-chronik/_deps/corrosion-src/cmake/Corrosion.cmake:1044 (_generator_add_cargo_targets)
  chronik/CMakeLists.txt:110 (corrosion_import_crate)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-chronik/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-chronik/CMakeFiles/CMakeError.log".
Build build-chronik failed with exit code 1

Note this require some change to the karyon lib that are not published yet

Tail of the build log:

-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: event 
-- Found Boost component headers: /usr/include (found suitable version "1.74.0", minimum required is "1.64")
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.2.4", minimum required is "1.9")  
-- Found NATPMP component natpmp: /usr/lib/x86_64-linux-gnu/libnatpmp.so
-- Found NATPMP: /usr/include   
-- Performing Test fuzz_target_builds_without_main_fuzz
-- Performing Test fuzz_target_builds_without_main_fuzz - Failed
-- Found BerkeleyDB component CXX: /usr/lib/x86_64-linux-gnu/libdb_cxx-5.3.so
-- Found BerkeleyDB: /usr/include (found suitable version "5.3.28", minimum required is "5.3") found components: CXX 
-- Found SQLite3: /usr/include (found suitable version "3.40.1", minimum required is "3.7.17") 
-- Found ZeroMQ component zmq: /usr/lib/x86_64-linux-gnu/libzmq.so
-- Found ZeroMQ: /usr/include (found suitable version "4.3.4", minimum required is "4.1.5")  
-- Could NOT find Protobuf (missing: Protobuf_DIR)
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so (found version "3.21.12") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.15")  
-- Looking for EVP_MD_CTX_new
-- Looking for EVP_MD_CTX_new - found
-- Found QREncode component qrencode: /usr/lib/x86_64-linux-gnu/libqrencode.so
-- Found QREncode: /usr/include   
-- Rust Toolchain: 1.76.0-x86_64-unknown-linux-gnu
-- Rust Target: x86_64-unknown-linux-gnu
-- Determining required link libraries for target x86_64-unknown-linux-gnu
-- Required static libs for target x86_64-unknown-linux-gnu: gcc_s;util;rt;pthread;m;dl;c
-- Required link flags for target x86_64-unknown-linux-gnu: 
-- Found Rust: /root/.rustup/toolchains/1.76.0-x86_64-unknown-linux-gnu/bin/rustc (found version "1.76.0") 
-- Using Corrosion as a subdirectory
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
CMake Error at abc-ci-builds/chronik-client-integration-tests/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:24 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 101"

Call Stack (most recent call first):
  abc-ci-builds/chronik-client-integration-tests/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:229 (_cargo_metadata)
  abc-ci-builds/chronik-client-integration-tests/_deps/corrosion-src/cmake/Corrosion.cmake:1044 (_generator_add_cargo_targets)
  chronik/CMakeLists.txt:110 (corrosion_import_crate)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/chronik-client-integration-tests/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/chronik-client-integration-tests/CMakeFiles/CMakeError.log".
Build chronik-client-integration-tests failed with exit code 1

Tail of the build log:

> npm run build


> chronik-client@3.1.1 build
> tsc


added 235 packages, and audited 237 packages in 5s

39 packages are looking for funding
  run `npm fund` for details

4 vulnerabilities (3 moderate, 1 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

> chronik-client@3.1.1 build
> tsc

/work/modules/ecash-lib-wasm /work/abc-ci-builds/ecash-agora-integration-tests
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-agora-integration-tests failed with exit code 2

Tail of the build log:

/work/modules/ecashaddrjs /work/abc-ci-builds/ecash-lib-integration-tests

> ecashaddrjs@2.0.0 prepublish
> npm run build


> ecashaddrjs@2.0.0 build
> tsc


added 480 packages, and audited 481 packages in 4s

44 packages are looking for funding
  run `npm fund` for details

7 vulnerabilities (6 moderate, 1 high)

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

> ecashaddrjs@2.0.0 build
> tsc

/work/modules/ecash-lib-wasm /work/abc-ci-builds/ecash-lib-integration-tests
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-lib-integration-tests failed with exit code 2

Tail of the build log:

-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: event 
-- Found Boost component headers: /usr/include (found suitable version "1.74.0", minimum required is "1.64")
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.2.4", minimum required is "1.9")  
-- Found NATPMP component natpmp: /usr/lib/x86_64-linux-gnu/libnatpmp.so
-- Found NATPMP: /usr/include   
-- Performing Test fuzz_target_builds_without_main_fuzz
-- Performing Test fuzz_target_builds_without_main_fuzz - Failed
-- Found BerkeleyDB component CXX: /usr/lib/x86_64-linux-gnu/libdb_cxx-5.3.so
-- Found BerkeleyDB: /usr/include (found suitable version "5.3.28", minimum required is "5.3") found components: CXX 
-- Found SQLite3: /usr/include (found suitable version "3.40.1", minimum required is "3.7.17") 
-- Found ZeroMQ component zmq: /usr/lib/x86_64-linux-gnu/libzmq.so
-- Found ZeroMQ: /usr/include (found suitable version "4.3.4", minimum required is "4.1.5")  
-- Could NOT find Protobuf (missing: Protobuf_DIR)
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so (found version "3.21.12") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.15")  
-- Looking for EVP_MD_CTX_new
-- Looking for EVP_MD_CTX_new - found
-- Found QREncode component qrencode: /usr/lib/x86_64-linux-gnu/libqrencode.so
-- Found QREncode: /usr/include   
-- Rust Toolchain: 1.76.0-x86_64-unknown-linux-gnu
-- Rust Target: x86_64-unknown-linux-gnu
-- Determining required link libraries for target x86_64-unknown-linux-gnu
-- Required static libs for target x86_64-unknown-linux-gnu: gcc_s;util;rt;pthread;m;dl;c
-- Required link flags for target x86_64-unknown-linux-gnu: 
-- Found Rust: /root/.rustup/toolchains/1.76.0-x86_64-unknown-linux-gnu/bin/rustc (found version "1.76.0") 
-- Using Corrosion as a subdirectory
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
CMake Error at abc-ci-builds/build-chronik-plugins/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:24 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 101"

Call Stack (most recent call first):
  abc-ci-builds/build-chronik-plugins/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:229 (_cargo_metadata)
  abc-ci-builds/build-chronik-plugins/_deps/corrosion-src/cmake/Corrosion.cmake:1044 (_generator_add_cargo_targets)
  chronik/CMakeLists.txt:110 (corrosion_import_crate)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-chronik-plugins/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-chronik-plugins/CMakeFiles/CMakeError.log".
Build build-chronik-plugins failed with exit code 1

Tail of the build log:

-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: event 
-- Found Boost component headers: /usr/include (found suitable version "1.74.0", minimum required is "1.64")
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.2.4", minimum required is "1.9")  
-- Found NATPMP component natpmp: /usr/lib/x86_64-linux-gnu/libnatpmp.so
-- Found NATPMP: /usr/include   
-- Performing Test fuzz_target_builds_without_main_fuzz
-- Performing Test fuzz_target_builds_without_main_fuzz - Failed
-- Found BerkeleyDB component CXX: /usr/lib/x86_64-linux-gnu/libdb_cxx-5.3.so
-- Found BerkeleyDB: /usr/include (found suitable version "5.3.28", minimum required is "5.3") found components: CXX 
-- Found SQLite3: /usr/include (found suitable version "3.40.1", minimum required is "3.7.17") 
-- Found ZeroMQ component zmq: /usr/lib/x86_64-linux-gnu/libzmq.so
-- Found ZeroMQ: /usr/include (found suitable version "4.3.4", minimum required is "4.1.5")  
-- Could NOT find Protobuf (missing: Protobuf_DIR)
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so (found version "3.21.12") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.15")  
-- Looking for EVP_MD_CTX_new
-- Looking for EVP_MD_CTX_new - found
-- Found QREncode component qrencode: /usr/lib/x86_64-linux-gnu/libqrencode.so
-- Found QREncode: /usr/include   
-- Rust Toolchain: 1.76.0-x86_64-unknown-linux-gnu
-- Rust Target: x86_64-unknown-linux-gnu
-- Determining required link libraries for target x86_64-unknown-linux-gnu
-- Required static libs for target x86_64-unknown-linux-gnu: gcc_s;util;rt;pthread;m;dl;c
-- Required link flags for target x86_64-unknown-linux-gnu: 
-- Found Rust: /root/.rustup/toolchains/1.76.0-x86_64-unknown-linux-gnu/bin/rustc (found version "1.76.0") 
-- Using Corrosion as a subdirectory
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
CMake Error at abc-ci-builds/build-chronik-plugins/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:24 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 101"

Call Stack (most recent call first):
  abc-ci-builds/build-chronik-plugins/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:229 (_cargo_metadata)
  abc-ci-builds/build-chronik-plugins/_deps/corrosion-src/cmake/Corrosion.cmake:1044 (_generator_add_cargo_targets)
  chronik/CMakeLists.txt:110 (corrosion_import_crate)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-chronik-plugins/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-chronik-plugins/CMakeFiles/CMakeError.log".
Build build-chronik-plugins failed with exit code 1

Tail of the build log:

/work/modules/ecashaddrjs /work/abc-ci-builds/ecash-lib-integration-tests

> ecashaddrjs@2.0.0 prepublish
> npm run build


> ecashaddrjs@2.0.0 build
> tsc


added 480 packages, and audited 481 packages in 4s

44 packages are looking for funding
  run `npm fund` for details

7 vulnerabilities (6 moderate, 1 high)

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

> ecashaddrjs@2.0.0 build
> tsc

/work/modules/ecash-lib-wasm /work/abc-ci-builds/ecash-lib-integration-tests
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-lib-integration-tests failed with exit code 2

Tail of the build log:

-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: event 
-- Found Boost component headers: /usr/include (found suitable version "1.74.0", minimum required is "1.64")
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.2.4", minimum required is "1.9")  
-- Found NATPMP component natpmp: /usr/lib/x86_64-linux-gnu/libnatpmp.so
-- Found NATPMP: /usr/include   
-- Performing Test fuzz_target_builds_without_main_fuzz
-- Performing Test fuzz_target_builds_without_main_fuzz - Failed
-- Found BerkeleyDB component CXX: /usr/lib/x86_64-linux-gnu/libdb_cxx-5.3.so
-- Found BerkeleyDB: /usr/include (found suitable version "5.3.28", minimum required is "5.3") found components: CXX 
-- Found SQLite3: /usr/include (found suitable version "3.40.1", minimum required is "3.7.17") 
-- Found ZeroMQ component zmq: /usr/lib/x86_64-linux-gnu/libzmq.so
-- Found ZeroMQ: /usr/include (found suitable version "4.3.4", minimum required is "4.1.5")  
-- Could NOT find Protobuf (missing: Protobuf_DIR)
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so (found version "3.21.12") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.15")  
-- Looking for EVP_MD_CTX_new
-- Looking for EVP_MD_CTX_new - found
-- Found QREncode component qrencode: /usr/lib/x86_64-linux-gnu/libqrencode.so
-- Found QREncode: /usr/include   
-- Rust Toolchain: 1.76.0-x86_64-unknown-linux-gnu
-- Rust Target: x86_64-unknown-linux-gnu
-- Determining required link libraries for target x86_64-unknown-linux-gnu
-- Required static libs for target x86_64-unknown-linux-gnu: gcc_s;util;rt;pthread;m;dl;c
-- Required link flags for target x86_64-unknown-linux-gnu: 
-- Found Rust: /root/.rustup/toolchains/1.76.0-x86_64-unknown-linux-gnu/bin/rustc (found version "1.76.0") 
-- Using Corrosion as a subdirectory
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
CMake Error at abc-ci-builds/chronik-client-integration-tests/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:24 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 101"

Call Stack (most recent call first):
  abc-ci-builds/chronik-client-integration-tests/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:229 (_cargo_metadata)
  abc-ci-builds/chronik-client-integration-tests/_deps/corrosion-src/cmake/Corrosion.cmake:1044 (_generator_add_cargo_targets)
  chronik/CMakeLists.txt:110 (corrosion_import_crate)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/chronik-client-integration-tests/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/chronik-client-integration-tests/CMakeFiles/CMakeError.log".
Build chronik-client-integration-tests failed with exit code 1

Tail of the build log:

> npm run build


> chronik-client@3.1.1 build
> tsc


added 235 packages, and audited 237 packages in 5s

39 packages are looking for funding
  run `npm fund` for details

4 vulnerabilities (3 moderate, 1 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

> chronik-client@3.1.1 build
> tsc

/work/modules/ecash-lib-wasm /work/abc-ci-builds/ecash-agora-integration-tests
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
Failed opening './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_browser.js: No such file or directory
./build-wasm.sh: line 39: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 40: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.wasm: No such file or directory
./build-wasm.sh: line 41: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.js: No such file or directory
./build-wasm.sh: line 43: ../ecash-lib/src/ffi/ecash_lib_wasm_bg_browser.d.ts: No such file or directory
error: failed reading './target/wasm32-unknown-unknown/release-wasm/ecash_lib_wasm.wasm'

Caused by:
    No such file or directory (os error 2)
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm_bg.wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.d.ts': No such file or directory
mv: cannot stat '../ecash-lib/src/ffi/ecash_lib_wasm.js': No such file or directory
sed: can't read ../ecash-lib/src/ffi/ecash_lib_wasm_nodejs.js: No such file or directory
Build ecash-agora-integration-tests failed with exit code 2

Tail of the build log:

-- Performing Test have_C__Wno_long_long - Success
-- Performing Test have_C__Wno_duplicated_branches
-- Performing Test have_C__Wno_duplicated_branches - Success
-- Performing Test USE_ASM_X86_64
-- Performing Test USE_ASM_X86_64 - Success
-- Found Event component event: /usr/lib/x86_64-linux-gnu/libevent.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: event 
-- Found Boost component headers: /usr/include (found suitable version "1.74.0", minimum required is "1.64")
-- Found Event component pthreads: /usr/lib/x86_64-linux-gnu/libevent_pthreads.so
-- Found Event: /usr/include (found suitable version "2.1.12-stable", minimum required is "2.1.8") found components: pthreads 
-- Found MiniUPnPc component miniupnpc: /usr/lib/x86_64-linux-gnu/libminiupnpc.so
-- Found MiniUPnPc: /usr/include/miniupnpc (found suitable version "2.2.4", minimum required is "1.9")  
-- Found NATPMP component natpmp: /usr/lib/x86_64-linux-gnu/libnatpmp.so
-- Found NATPMP: /usr/include   
-- Performing Test fuzz_target_builds_without_main_fuzz
-- Performing Test fuzz_target_builds_without_main_fuzz - Failed
-- Found BerkeleyDB component CXX: /usr/lib/x86_64-linux-gnu/libdb_cxx-5.3.so
-- Found BerkeleyDB: /usr/include (found suitable version "5.3.28", minimum required is "5.3") found components: CXX 
-- Found SQLite3: /usr/include (found suitable version "3.40.1", minimum required is "3.7.17") 
-- Found ZeroMQ component zmq: /usr/lib/x86_64-linux-gnu/libzmq.so
-- Found ZeroMQ: /usr/include (found suitable version "4.3.4", minimum required is "4.1.5")  
-- Could NOT find Protobuf (missing: Protobuf_DIR)
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so (found version "3.21.12") 
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.15")  
-- Looking for EVP_MD_CTX_new
-- Looking for EVP_MD_CTX_new - found
-- Found QREncode component qrencode: /usr/lib/x86_64-linux-gnu/libqrencode.so
-- Found QREncode: /usr/include   
-- Rust Toolchain: 1.76.0-x86_64-unknown-linux-gnu
-- Rust Target: x86_64-unknown-linux-gnu
-- Determining required link libraries for target x86_64-unknown-linux-gnu
-- Required static libs for target x86_64-unknown-linux-gnu: gcc_s;util;rt;pthread;m;dl;c
-- Required link flags for target x86_64-unknown-linux-gnu: 
-- Found Rust: /root/.rustup/toolchains/1.76.0-x86_64-unknown-linux-gnu/bin/rustc (found version "1.76.0") 
-- Using Corrosion as a subdirectory
error: failed to load manifest for workspace member `/work/chronik/chronik-http`

Caused by:
  failed to load manifest for dependency `karyon_jsonrpc`

Caused by:
  failed to read `/home/fabien/karyon/jsonrpc/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
CMake Error at abc-ci-builds/build-chronik/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:24 (execute_process):
  execute_process failed command indexes:

    1: "Child return code: 101"

Call Stack (most recent call first):
  abc-ci-builds/build-chronik/_deps/corrosion-src/cmake/CorrosionGenerator.cmake:229 (_cargo_metadata)
  abc-ci-builds/build-chronik/_deps/corrosion-src/cmake/Corrosion.cmake:1044 (_generator_add_cargo_targets)
  chronik/CMakeLists.txt:110 (corrosion_import_crate)


-- Configuring incomplete, errors occurred!
See also "/work/abc-ci-builds/build-chronik/CMakeFiles/CMakeOutput.log".
See also "/work/abc-ci-builds/build-chronik/CMakeFiles/CMakeError.log".
Build build-chronik failed with exit code 1
Fabien edited the test plan for this revision. (Show Details)
Fabien published this revision for review.Thu, May 15, 10:33

Tail of the build log:

  hash.ts                      |   41.46 |    83.33 |   26.66 |   80.95 | 26,35,38,41               
  hdwallet.ts                  |       0 |        0 |       0 |       0 | 12-176                    
  hmac.ts                      |       0 |        0 |       0 |       0 | 16-73                     
  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-17                     
  initNodeJs.ts                |   54.54 |      100 |     100 |      80 | 10                        
  messages.ts                  |       0 |        0 |       0 |       0 | 18-123                    
  mnemonic.ts                  |       0 |        0 |       0 |       0 | 9-144                     
  op.ts                        |   20.13 |    23.33 |   36.36 |   39.47 | ...09,111,119-124,135-163 
  opcode.ts                    |    50.2 |    83.33 |     100 |     100 | 1                         
  pbkdf2.ts                    |       0 |      100 |       0 |       0 | 17-51                     
  script.ts                    |   28.44 |    20.58 |   29.03 |   50.87 | ...33-144,150,160,182-193 
  sigHashType.ts               |      40 |       25 |   46.15 |   78.94 | 26-38                     
  tx.ts                        |   47.25 |    45.23 |   47.61 |   87.23 | 110,114,123-125,144       
  txBuilder.ts                 |   40.74 |    33.92 |   54.54 |   80.43 | ...62,181-186,191,261-265 
  unsignedTx.ts                |   25.27 |       16 |   30.76 |   46.15 | ...12,320,326-329,345,357 
 src/address                   |   11.35 |    15.15 |    5.12 |   22.41 |                           
  address.ts                   |   10.95 |    11.36 |    3.22 |   21.05 | ...39-240,255-256,266-344 
  legacyaddr.ts                |   12.04 |    22.72 |    12.5 |      25 | ...9,23-38,70-111,124-128 
 src/ffi                       |   14.37 |    12.87 |    8.25 |   14.54 |                           
  ecash_lib_wasm_bg_browser.js |       0 |      100 |     100 |       0 | 1                         
  ecash_lib_wasm_browser.js    |       0 |        0 |       0 |       0 | 3-681                     
  ecash_lib_wasm_nodejs.js     |    29.9 |    36.11 |   17.64 |   30.09 | ...19,526-591,597-598,602 
 src/io                        |   29.72 |    41.17 |   37.87 |   57.44 |                           
  bytes.ts                     |    7.04 |       60 |   10.52 |   13.88 | 12,23-83                  
  hex.ts                       |   41.55 |       50 |   44.44 |   82.35 | 41-45,50,58               
  int.ts                       |       0 |        0 |       0 |       0 |                           
  str.ts                       |   46.15 |    83.33 |      40 |   85.71 | 15                        
  varsize.ts                   |   16.32 |    21.05 |      40 |      32 | 14-24,40-47               
  writer.ts                    |       0 |        0 |       0 |       0 |                           
  writerbytes.ts               |   42.62 |    40.62 |   53.33 |   83.87 | 34,44,54,64,80            
  writerlength.ts              |   53.33 |    83.33 |   53.84 |     100 | 1                         
 src/payment                   |       0 |        0 |       0 |       0 |                           
  asn1.ts                      |       0 |        0 |       0 |       0 | 77-439                    
  index.ts                     |       0 |        0 |       0 |       0 |                           
  x509.ts                      |       0 |      100 |     100 |       0 | 5-15                      
 src/test                      |   44.73 |    36.23 |   47.05 |    86.3 |                           
  testRunner.ts                |   44.73 |    36.23 |   47.05 |    86.3 | ...,80-82,105,114,157,197 
 src/token                     |    16.4 |    11.45 |   14.45 |   24.67 |                           
  alp.parse.ts                 |       0 |        0 |       0 |       0 | 102-256                   
  alp.ts                       |   26.21 |    34.37 |   26.08 |   51.19 | 71-83,94-110,119-132,151  
  common.ts                    |      52 |    83.33 |     100 |     100 | 1                         
  empp.ts                      |   21.05 |    16.66 |   44.44 |   37.93 | 12,23,41-69               
  slp.parse.ts                 |       0 |        0 |       0 |       0 | 128-382                   
  slp.ts                       |   16.98 |     7.35 |       4 |   32.53 | ...95-199,206-218,222-232 
-------------------------------|---------|----------|---------|---------|---------------------------

##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='802']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='4240']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='237']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='1213']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='127']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='694']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='781']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='3074']
##teamcity[blockClosed name='Code Coverage Summary']
Build ecash-lib-integration-tests failed with exit code 1

Tail of the build log:

                ^^^^^^^^^^^^^^^
  File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/setup_scripts/../test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/setup_scripts/../test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/setup_scripts/../test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/setup_scripts/../test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/setup_scripts/../test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe


TEST                              | STATUS    | DURATION

setup_scripts/ecash-agora_base.py | ✖ Failed  | 2 s

ALL                               | ✖ Failed  | 2 s (accumulated) 
Runtime: 2 s

......Test runner completed with code 1
------------|---------|----------|---------|---------|----------------------------------------------
File        | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                            
------------|---------|----------|---------|---------|----------------------------------------------
All files   |    3.99 |     7.12 |       4 |    7.55 |                                              
 ad.ts      |     6.6 |    15.62 |      20 |   12.72 | 6,33-100,127-146                             
 agora.ts   |    4.25 |     4.06 |    3.12 |    8.37 | 14,40,45,110-490,552-973,993-999             
 consts.ts  |   57.14 |    83.33 |     100 |     100 | 1                                            
 index.ts   |       0 |        0 |       0 |       0 |                                              
 inputs.ts  |       0 |        0 |       0 |       0 | 17-155                                       
 oneshot.ts |       5 |    22.72 |       4 |    9.87 | 5,77-223,234-251,263-270,279-286             
 partial.ts |     2.2 |     3.62 |    1.92 |    4.32 | ...6,1331-1341,1351-1370,1387-1394,1404-1411 
------------|---------|----------|---------|---------|----------------------------------------------

##teamcity[blockOpened name='Code Coverage Summary']
##teamcity[buildStatisticValue key='CodeCoverageAbsBCovered' value='46']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='1151']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='27']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='379']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='6']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='150']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='46']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='609']
##teamcity[blockClosed name='Code Coverage Summary']
Build ecash-agora-integration-tests failed with exit code 1

Tail of the build log:

                               at /usr/include/c++/12/bits/std_function.h:591:9
  29:     0x55ece27ee563 - _ZN10CScheduler12serviceQueueEv
                               at /work/src/scheduler.cpp:63:18
  30:     0x55ece2830498 - _ZNKSt8functionIFvvEEclEv
                               at /usr/include/c++/12/bits/std_function.h:591:9
  31:     0x55ece2830498 - _ZN4util11TraceThreadESt17basic_string_viewIcSt11char_traitsIcEESt8functionIFvvEE
                               at /work/src/util/thread.cpp:19:20
  32:     0x55ece14327dd - __invoke_impl<void, void (*)(std::basic_string_view<char>, std::function<void()>), char const*, AppInitMain(Config&, RPCServer&, HTTPRPCRequestProcessor&, node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()> >
                               at /usr/include/c++/12/bits/invoke.h:61:36
  33:     0x55ece14327dd - __invoke<void (*)(std::basic_string_view<char>, std::function<void()>), char const*, AppInitMain(Config&, RPCServer&, HTTPRPCRequestProcessor&, node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::<lambda()> >
                               at /usr/include/c++/12/bits/invoke.h:96:40
  34:     0x55ece14327dd - _M_invoke<0, 1, 2>
                               at /usr/include/c++/12/bits/std_thread.h:252:26
  35:     0x55ece14327dd - operator()
                               at /usr/include/c++/12/bits/std_thread.h:259:20
  36:     0x55ece14327dd - _M_run
                               at /usr/include/c++/12/bits/std_thread.h:210:20
  37:     0x7f09cfbd14a3 - <unknown>
  38:     0x7f09cf8c51f5 - <unknown>
  39:     0x7f09cf944b00 - clone
  40:                0x0 - <unknown>
thread '<unnamed>' panicked at library/core/src/panicking.rs:163:5:
panic in a destructor during cleanup
thread caused non-unwinding panic. aborting. != 


TEST                                                             | STATUS    | DURATION

setup_scripts/chronik-client_broadcast_txs_and_validate_rawtx.py | ✖ Failed  | 2 s

ALL                                                              | ✖ Failed  | 2 s (accumulated) 
Runtime: 2 s

Test runner for chronik-client_broadcast_txs_and_validate_rawtx completed with code 1
----------------------|---------|----------|---------|---------|------------------------------------
File                  | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                  
----------------------|---------|----------|---------|---------|------------------------------------
All files             |   18.17 |     6.66 |   14.11 |   18.07 |                                    
 chronik-client       |     100 |      100 |     100 |     100 |                                    
  index.ts            |     100 |      100 |     100 |     100 |                                    
 chronik-client/proto |   14.94 |     5.38 |    9.67 |   15.07 |                                    
  chronik.ts          |   14.94 |     5.38 |    9.67 |   15.07 | ...4,6520-6523,6529-6571,6607-6616 
 chronik-client/src   |   32.21 |    21.17 |   27.21 |   31.32 |                                    
  ChronikClient.ts    |   24.57 |    17.21 |   24.77 |   24.75 | ...0,1408,1420,1432,1442,1463-1557 
  failoverProxy.ts    |   43.63 |    48.38 |   34.61 |   43.92 | ...,58,64,67,82,91,192,213,232-331 
  hex.ts              |   86.84 |        0 |      75 |   84.84 | 50,58,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='584']
##teamcity[buildStatisticValue key='CodeCoverageAbsBTotal' value='3214']
##teamcity[buildStatisticValue key='CodeCoverageAbsRCovered' value='140']
##teamcity[buildStatisticValue key='CodeCoverageAbsRTotal' value='2102']
##teamcity[buildStatisticValue key='CodeCoverageAbsMCovered' value='82']
##teamcity[buildStatisticValue key='CodeCoverageAbsMTotal' value='581']
##teamcity[buildStatisticValue key='CodeCoverageAbsLCovered' value='574']
##teamcity[buildStatisticValue key='CodeCoverageAbsLTotal' value='3176']
##teamcity[blockClosed name='Code Coverage Summary']
Build chronik-client-integration-tests failed with exit code 1

Failed tests logs:

====== Bitcoin ABC functional tests: chronik_block_txs.py ======

------- Stdout: -------
2025-05-15T10:45:38.028000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_block_txs_228
2025-05-15T10:45:39.091000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_block_txs.py", line 262, in run_test
    node.invalidateblock(block.hash)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 115, in _request
    return self._get_response()
           ^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 187, in _get_response
    http_response = self.__conn.getresponse()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:39.143000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_block_txs.py", line 267, in <module>
    ChronikBlockTxsTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1037, in _send_output
    self.send(msg)
  File "/usr/lib/python3.11/http/client.py", line 975, in send
    self.connect()
  File "/usr/lib/python3.11/http/client.py", line 941, in connect
    self.sock = self._create_connection(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/socket.py", line 851, in create_connection
    raise exceptions[0]
  File "/usr/lib/python3.11/socket.py", line 836, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_disable_token_index.py ======

------- Stdout: -------
2025-05-15T10:45:23.659000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_disable_token_index_128
2025-05-15T10:45:24.424000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_disable_token_index.py", line 99, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:24.475000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_disable_token_index.py", line 248, in <module>
    ChronikDisableTokenIndex().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_lokad_id_group.py ======

------- Stdout: -------
2025-05-15T10:45:09.499000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_lokad_id_group_84
2025-05-15T10:45:10.513000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_lokad_id_group.py", line 97, in run_test
    chronik.broadcast_tx(tx0.serialize()).ok()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:10.565000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_lokad_id_group.py", line 280, in <module>
    ChronikLokadIdGroup().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_alp.py ======

------- Stdout: -------
2025-05-15T10:45:31.511000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_token_alp_173
2025-05-15T10:45:32.449000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_alp.py", line 127, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:32.502000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_alp.py", line 663, in <module>
    ChronikTokenAlp().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_broadcast_txs.py ======

------- Stdout: -------
2025-05-15T10:45:38.792000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_token_broadcast_txs_236
2025-05-15T10:45:39.655000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_broadcast_txs.py", line 101, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:39.708000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_broadcast_txs.py", line 216, in <module>
    ChronikTokenBroadcastTxs().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_burn.py ======

------- Stdout: -------
2025-05-15T10:45:38.801000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_token_burn_237
2025-05-15T10:45:39.662000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_burn.py", line 113, in run_test
    genesis_slp.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:39.714000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_burn.py", line 282, in <module>
    ChronikTokenBurn().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_id_group.py ======

------- Stdout: -------
2025-05-15T10:45:31.554000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_token_id_group_174
2025-05-15T10:45:32.480000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_id_group.py", line 117, in run_test
    genesis_slp.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:32.532000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_id_group.py", line 467, in <module>
    ChronikTokenBurn().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_parse_failure.py ======

------- Stdout: -------
2025-05-15T10:45:38.871000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_token_parse_failure_238
2025-05-15T10:45:39.758000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_parse_failure.py", line 72, in run_test
    invalid_slp.send(
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 41, in send
    chronik.broadcast_tx(raw_tx, skip_token_checks=True).ok()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:39.811000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_parse_failure.py", line 130, in <module>
    ChronikTokenParseFailure().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_script_group.py ======

------- Stdout: -------
2025-05-15T10:45:38.874000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_token_script_group_239
2025-05-15T10:45:39.779000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_script_group.py", line 107, in run_test
    genesis_slp.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:39.838000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_script_group.py", line 331, in <module>
    ChronikTokenScriptGroup().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_slp_fungible.py ======

------- Stdout: -------
2025-05-15T10:45:38.898000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_token_slp_fungible_240
2025-05-15T10:45:39.779000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_slp_fungible.py", line 115, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:39.832000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_slp_fungible.py", line 248, in <module>
    ChronikTokenSlpFungible().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_slp_mint_vault.py ======

------- Stdout: -------
2025-05-15T10:45:31.602000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_token_slp_mint_vault_175
2025-05-15T10:45:32.525000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_slp_mint_vault.py", line 139, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:32.577000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_slp_mint_vault.py", line 391, in <module>
    ChronikTokenSlpMintVault().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_slp_nft1.py ======

------- Stdout: -------
2025-05-15T10:45:38.962000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_🏃_20250515_104327_31961/chronik_token_slp_nft1_241
2025-05-15T10:45:39.885000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_slp_nft1.py", line 113, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:45:39.937000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_slp_nft1.py", line 261, in <module>
    ChronikTokenSlpNft1().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_block_txs.py
Bitcoin ABC functional tests: chronik_disable_token_index.py
Bitcoin ABC functional tests: chronik_lokad_id_group.py
Bitcoin ABC functional tests: chronik_token_alp.py
Bitcoin ABC functional tests: chronik_token_broadcast_txs.py
Bitcoin ABC functional tests: chronik_token_burn.py
Bitcoin ABC functional tests: chronik_token_id_group.py
Bitcoin ABC functional tests: chronik_token_parse_failure.py
Bitcoin ABC functional tests: chronik_token_script_group.py
Bitcoin ABC functional tests: chronik_token_slp_fungible.py
Bitcoin ABC functional tests: chronik_token_slp_mint_vault.py
Bitcoin ABC functional tests: chronik_token_slp_nft1.py

Failed tests logs:

====== Bitcoin ABC functional tests: chronik_block_txs.py ======

------- Stdout: -------
2025-05-15T10:52:26.370000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_block_txs_228
2025-05-15T10:52:27.360000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_block_txs.py", line 262, in run_test
    node.invalidateblock(block.hash)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 115, in _request
    return self._get_response()
           ^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 187, in _get_response
    http_response = self.__conn.getresponse()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:27.413000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_block_txs.py", line 267, in <module>
    ChronikBlockTxsTest().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1037, in _send_output
    self.send(msg)
  File "/usr/lib/python3.11/http/client.py", line 975, in send
    self.connect()
  File "/usr/lib/python3.11/http/client.py", line 941, in connect
    self.sock = self._create_connection(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/socket.py", line 851, in create_connection
    raise exceptions[0]
  File "/usr/lib/python3.11/socket.py", line 836, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_disable_token_index.py ======

------- Stdout: -------
2025-05-15T10:52:12.175000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_disable_token_index_128
2025-05-15T10:52:12.696000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_disable_token_index.py", line 99, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:12.748000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_disable_token_index.py", line 248, in <module>
    ChronikDisableTokenIndex().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_lokad_id_group.py ======

------- Stdout: -------
2025-05-15T10:51:58.171000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_lokad_id_group_84
2025-05-15T10:51:59.191000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_lokad_id_group.py", line 97, in run_test
    chronik.broadcast_tx(tx0.serialize()).ok()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:51:59.243000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_lokad_id_group.py", line 280, in <module>
    ChronikLokadIdGroup().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_plugin_groups.py ======

------- Stdout: -------
2025-05-15T10:52:19.582000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_plugin_groups_168
2025-05-15T10:52:20.801000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_plugin_groups.py", line 133, in run_test
    node.sendrawtransaction(tx1.serialize().hex())
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 115, in _request
    return self._get_response()
           ^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 187, in _get_response
    http_response = self.__conn.getresponse()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:20.853000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_plugin_groups.py", line 353, in <module>
    ChronikPluginGroups().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1037, in _send_output
    self.send(msg)
  File "/usr/lib/python3.11/http/client.py", line 975, in send
    self.connect()
  File "/usr/lib/python3.11/http/client.py", line 941, in connect
    self.sock = self._create_connection(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/socket.py", line 851, in create_connection
    raise exceptions[0]
  File "/usr/lib/python3.11/socket.py", line 836, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_plugins.py ======

------- Stdout: -------
2025-05-15T10:52:19.787000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_plugins_169
2025-05-15T10:52:21.043000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_plugins.py", line 140, in run_test
    node.sendrawtransaction(tx1.serialize().hex())
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 115, in _request
    return self._get_response()
           ^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 187, in _get_response
    http_response = self.__conn.getresponse()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:21.096000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_plugins.py", line 412, in <module>
    ChronikPlugins().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1037, in _send_output
    self.send(msg)
  File "/usr/lib/python3.11/http/client.py", line 975, in send
    self.connect()
  File "/usr/lib/python3.11/http/client.py", line 941, in connect
    self.sock = self._create_connection(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/socket.py", line 851, in create_connection
    raise exceptions[0]
  File "/usr/lib/python3.11/socket.py", line 836, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
====== Bitcoin ABC functional tests: chronik_token_alp.py ======

------- Stdout: -------
2025-05-15T10:52:20.182000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_token_alp_173
2025-05-15T10:52:21.159000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_alp.py", line 127, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:21.211000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_alp.py", line 663, in <module>
    ChronikTokenAlp().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_broadcast_txs.py ======

------- Stdout: -------
2025-05-15T10:52:27.004000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_token_broadcast_txs_236
2025-05-15T10:52:27.574000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_broadcast_txs.py", line 101, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:27.627000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_broadcast_txs.py", line 216, in <module>
    ChronikTokenBroadcastTxs().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_burn.py ======

------- Stdout: -------
2025-05-15T10:52:27.246000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_token_burn_237
2025-05-15T10:52:28.125000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_burn.py", line 113, in run_test
    genesis_slp.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:28.176000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_burn.py", line 282, in <module>
    ChronikTokenBurn().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_id_group.py ======

------- Stdout: -------
2025-05-15T10:52:20.216000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_token_id_group_174
2025-05-15T10:52:21.112000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_id_group.py", line 117, in run_test
    genesis_slp.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:21.165000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_id_group.py", line 467, in <module>
    ChronikTokenBurn().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_parse_failure.py ======

------- Stdout: -------
2025-05-15T10:52:27.263000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_token_parse_failure_238
2025-05-15T10:52:28.134000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_parse_failure.py", line 72, in run_test
    invalid_slp.send(
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 41, in send
    chronik.broadcast_tx(raw_tx, skip_token_checks=True).ok()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:28.185000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_parse_failure.py", line 130, in <module>
    ChronikTokenParseFailure().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_script_group.py ======

------- Stdout: -------
2025-05-15T10:52:27.281000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_token_script_group_239
2025-05-15T10:52:28.157000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_script_group.py", line 107, in run_test
    genesis_slp.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:28.209000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_script_group.py", line 331, in <module>
    ChronikTokenScriptGroup().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_slp_fungible.py ======

------- Stdout: -------
2025-05-15T10:52:27.330000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_token_slp_fungible_240
2025-05-15T10:52:28.239000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_slp_fungible.py", line 115, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:28.291000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_slp_fungible.py", line 248, in <module>
    ChronikTokenSlpFungible().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_slp_mint_vault.py ======

------- Stdout: -------
2025-05-15T10:52:20.235000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_token_slp_mint_vault_175
2025-05-15T10:52:21.189000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_slp_mint_vault.py", line 139, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:21.241000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_slp_mint_vault.py", line 391, in <module>
    ChronikTokenSlpMintVault().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
====== Bitcoin ABC functional tests: chronik_token_slp_nft1.py ======

------- Stdout: -------
2025-05-15T10:52:27.368000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250515_105015_40063/chronik_token_slp_nft1_241
2025-05-15T10:52:28.277000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_token_slp_nft1.py", line 113, in run_test
    genesis.send(chronik)
  File "/work/test/functional/test_framework/chronik/token_tx.py", line 35, in send
    request = chronik.broadcast_tx(raw_tx)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 408, in broadcast_tx
    return self._request(
           ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/chronik/client.py", line 325, in _request
    response = client.getresponse()
               ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
2025-05-15T10:52:28.329000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token_slp_nft1.py", line 261, in <module>
    ChronikTokenSlpNft1().main()
  File "/work/test/functional/test_framework/test_framework.py", line 175, in main
    exit_code = self.shutdown()
                ^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/test_framework.py", line 404, in shutdown
    self.stop_nodes()
  File "/work/test/functional/test_framework/test_framework.py", line 659, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/work/test/functional/test_framework/test_node.py", line 533, in stop_node
    self.stop(wait=wait)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1076, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 998, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_block_txs.py
Bitcoin ABC functional tests: chronik_disable_token_index.py
Bitcoin ABC functional tests: chronik_lokad_id_group.py
Bitcoin ABC functional tests: chronik_plugin_groups.py
Bitcoin ABC functional tests: chronik_plugins.py
Bitcoin ABC functional tests: chronik_token_alp.py
Bitcoin ABC functional tests: chronik_token_broadcast_txs.py
Bitcoin ABC functional tests: chronik_token_burn.py
Bitcoin ABC functional tests: chronik_token_id_group.py
Bitcoin ABC functional tests: chronik_token_parse_failure.py
Bitcoin ABC functional tests: chronik_token_script_group.py
Bitcoin ABC functional tests: chronik_token_slp_fungible.py
Bitcoin ABC functional tests: chronik_token_slp_mint_vault.py
Bitcoin ABC functional tests: chronik_token_slp_nft1.py

Fabien planned changes to this revision.Thu, May 15, 11:22

let's investigate

Don't call unimplemented methods

Tail of the build log:

   Compiling ryu v1.0.18
    Checking data-encoding v2.6.0
    Checking foldhash v0.1.3
    Checking cobs v0.2.3
   Compiling itoa v1.0.14
    Checking httpdate v1.0.3
    Checking tungstenite v0.24.0
    Checking hyper v1.5.1
    Checking karyon_core v0.3.0
   Compiling chronik-proto v0.1.0 (/work/chronik/chronik-proto)
    Checking postcard v1.1.1
    Checking chronik-plugin-common v0.1.0 (/work/chronik/chronik-plugin-common)
    Checking url v2.5.4
    Checking chronik-plugin v0.1.0 (/work/chronik/chronik-plugin)
    Checking toml_datetime v0.6.8
    Checking serde_spanned v0.6.8
   Compiling pyo3 v0.23.3
    Checking seahash v4.1.0
    Checking topo_sort v0.4.0
    Checking mime v0.3.17
    Checking winnow v0.6.20
    Checking sync_wrapper v1.0.2
    Checking sync_wrapper v0.1.2
    Checking memoffset v0.9.1
    Checking tower v0.5.1
    Checking hyper-util v0.1.10
    Checking axum-core v0.4.5
    Checking tokio-tungstenite v0.24.0
    Checking serde_urlencoded v0.7.1
    Checking futures-executor v0.3.31
   Compiling karyon_jsonrpc_macro v0.3.0
    Checking serde_path_to_error v0.1.16
    Checking unicode-segmentation v1.12.0
    Checking matchit v0.7.3
    Checking base64 v0.22.1
    Checking unindent v0.2.3
    Checking tower-http v0.5.2
    Checking futures v0.3.31
    Checking convert_case v0.6.0
   Compiling chronik-bridge v0.1.0 (/work/chronik/chronik-bridge)
    Checking toml_edit v0.22.22
   Compiling librocksdb-sys v0.11.0+8.1.1
    Checking axum v0.7.9
    Checking toml v0.8.19
   Compiling pyo3-macros v0.23.3
    Checking chronik-plugin-impl v0.1.0 (/work/chronik/chronik-plugin-impl)
   Compiling aws-lc-rs v1.11.1
   Compiling rustls v0.23.19
    Checking rustls-webpki v0.102.8
    Checking tokio-rustls v0.26.1
    Checking karyon_async_rustls v0.3.0
    Checking karyon_net v0.3.0
    Checking karyon_jsonrpc v0.3.0
    Checking rocksdb v0.21.0
    Checking chronik-db v0.1.0 (/work/chronik/chronik-db)
    Checking chronik-indexer v0.1.0 (/work/chronik/chronik-indexer)
    Checking chronik-http v0.1.0 (/work/chronik/chronik-http)
    Finished dev [unoptimized + debuginfo] target(s) in 5m 19s
ninja: build stopped: cannot make progress due to previous errors.
Build build-chronik failed with exit code 1

Tail of the build log:

   Compiling http-body-util v0.1.2
   Compiling serde_spanned v0.6.8
   Compiling toml_datetime v0.6.8
   Compiling sha1 v0.10.6
   Compiling data-encoding v2.6.0
   Compiling httpdate v1.0.3
   Compiling utf-8 v0.7.6
   Compiling toml_edit v0.22.22
   Compiling tungstenite v0.24.0
   Compiling hyper v1.5.1
   Compiling url v2.5.4
   Compiling karyon_core v0.3.0
   Compiling pyo3-ffi v0.23.3
   Compiling mime v0.3.17
   Compiling sync_wrapper v0.1.2
   Compiling sync_wrapper v1.0.2
   Compiling tower v0.5.1
   Compiling axum-core v0.4.5
   Compiling hyper-util v0.1.10
   Compiling tokio-tungstenite v0.24.0
   Compiling serde_urlencoded v0.7.1
   Compiling karyon_jsonrpc_macro v0.3.0
   Compiling futures-executor v0.3.31
   Compiling serde_path_to_error v0.1.16
   Compiling toml v0.8.19
   Compiling base64 v0.22.1
   Compiling matchit v0.7.3
   Compiling futures v0.3.31
   Compiling tower-http v0.5.2
   Compiling librocksdb-sys v0.11.0+8.1.1
   Compiling chronik-util v0.1.0 (/work/chronik/chronik-util)
   Compiling pyo3-macros v0.23.3
   Compiling axum v0.7.9
   Compiling pyo3 v0.23.3
   Compiling chronik-plugin-impl v0.1.0 (/work/chronik/chronik-plugin-impl)
   Compiling aws-lc-rs v1.11.1
   Compiling rustls v0.23.19
   Compiling rustls-webpki v0.102.8
   Compiling tokio-rustls v0.26.1
   Compiling karyon_async_rustls v0.3.0
   Compiling karyon_net v0.3.0
   Compiling karyon_jsonrpc v0.3.0
   Compiling rocksdb v0.21.0
   Compiling chronik-db v0.1.0 (/work/chronik/chronik-db)
error[E0046]: not all trait items implemented, missing: `is_hash_member_supported`
   --> chronik/chronik-db/src/test/value_group.rs:19:1
    |
19  | impl Group for ValueGroup {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^ missing `is_hash_member_supported` in implementation
    |
   ::: chronik/chronik-db/src/group.rs:114:5
    |
114 |     fn is_hash_member_supported(&self) -> bool;
    |     ------------------------------------------- `is_hash_member_supported` from trait

For more information about this error, try `rustc --explain E0046`.
error: could not compile `chronik-db` (lib test) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
ninja: build stopped: cannot make progress due to previous errors.
Build build-chronik-plugins failed with exit code 1

Missed one implementation instance

Tail of the build log:

   Compiling pyo3 v0.23.3
   Compiling sha1 v0.10.6
   Compiling utf-8 v0.7.6
   Compiling data-encoding v2.6.0
   Compiling httpdate v1.0.3
   Compiling winnow v0.6.20
   Compiling url v2.5.4
   Compiling hyper v1.5.1
   Compiling tungstenite v0.24.0
   Compiling memoffset v0.9.1
   Compiling unicode-segmentation v1.12.0
   Compiling karyon_core v0.3.0
   Compiling unindent v0.2.3
   Compiling sync_wrapper v1.0.2
   Compiling sync_wrapper v0.1.2
   Compiling mime v0.3.17
   Compiling tower v0.5.1
   Compiling axum-core v0.4.5
   Compiling hyper-util v0.1.10
   Compiling tokio-tungstenite v0.24.0
   Compiling convert_case v0.6.0
   Compiling serde_urlencoded v0.7.1
   Compiling karyon_jsonrpc_macro v0.3.0
   Compiling futures-executor v0.3.31
   Compiling serde_path_to_error v0.1.16
   Compiling toml_edit v0.22.22
   Compiling matchit v0.7.3
   Compiling base64 v0.22.1
   Compiling futures v0.3.31
   Compiling tower-http v0.5.2
   Compiling librocksdb-sys v0.11.0+8.1.1
   Compiling pyo3-macros v0.23.3
   Compiling toml v0.8.19
   Compiling axum v0.7.9
   Compiling chronik-plugin-impl v0.1.0 (/work/chronik/chronik-plugin-impl)
   Compiling aws-lc-rs v1.11.1
   Compiling rustls v0.23.19
   Compiling rustls-webpki v0.102.8
   Compiling tokio-rustls v0.26.1
   Compiling karyon_async_rustls v0.3.0
   Compiling karyon_net v0.3.0
   Compiling karyon_jsonrpc v0.3.0
   Compiling rocksdb v0.21.0
   Compiling chronik-db v0.1.0 (/work/chronik/chronik-db)
error[E0046]: not all trait items implemented, missing: `is_hash_member_supported`
   --> chronik/chronik-db/src/test/value_group.rs:19:1
    |
19  | impl Group for ValueGroup {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^ missing `is_hash_member_supported` in implementation
    |
   ::: chronik/chronik-db/src/group.rs:114:5
    |
114 |     fn is_hash_member_supported(&self) -> bool;
    |     ------------------------------------------- `is_hash_member_supported` from trait

For more information about this error, try `rustc --explain E0046`.
error: could not compile `chronik-db` (lib test) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
ninja: build stopped: cannot make progress due to previous errors.
Build build-chronik failed with exit code 1

Tail of the build log:

   Compiling toml_datetime v0.6.8
   Compiling chrono v0.4.38
   Compiling serde_spanned v0.6.8
   Compiling sha1 v0.10.6
   Compiling data-encoding v2.6.0
   Compiling utf-8 v0.7.6
   Compiling httpdate v1.0.3
   Compiling toml_edit v0.22.22
   Compiling tungstenite v0.24.0
   Compiling hyper v1.5.1
   Compiling url v2.5.4
   Compiling pyo3-ffi v0.23.3
   Compiling mime v0.3.17
   Compiling karyon_core v0.3.0
   Compiling sync_wrapper v1.0.2
   Compiling sync_wrapper v0.1.2
   Compiling tower v0.5.1
   Compiling axum-core v0.4.5
   Compiling hyper-util v0.1.10
   Compiling tokio-tungstenite v0.24.0
   Compiling serde_urlencoded v0.7.1
   Compiling karyon_jsonrpc_macro v0.3.0
   Compiling futures-executor v0.3.31
   Compiling serde_path_to_error v0.1.16
   Compiling matchit v0.7.3
   Compiling toml v0.8.19
   Compiling base64 v0.22.1
   Compiling futures v0.3.31
   Compiling tower-http v0.5.2
   Compiling librocksdb-sys v0.11.0+8.1.1
   Compiling chronik-util v0.1.0 (/work/chronik/chronik-util)
   Compiling pyo3-macros v0.23.3
   Compiling axum v0.7.9
   Compiling pyo3 v0.23.3
   Compiling chronik-plugin-impl v0.1.0 (/work/chronik/chronik-plugin-impl)
   Compiling aws-lc-rs v1.11.1
   Compiling rustls v0.23.19
   Compiling rustls-webpki v0.102.8
   Compiling tokio-rustls v0.26.1
   Compiling karyon_async_rustls v0.3.0
   Compiling karyon_net v0.3.0
   Compiling karyon_jsonrpc v0.3.0
   Compiling rocksdb v0.21.0
   Compiling chronik-db v0.1.0 (/work/chronik/chronik-db)
error[E0046]: not all trait items implemented, missing: `is_hash_member_supported`
   --> chronik/chronik-db/src/test/value_group.rs:19:1
    |
19  | impl Group for ValueGroup {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^ missing `is_hash_member_supported` in implementation
    |
   ::: chronik/chronik-db/src/group.rs:114:5
    |
114 |     fn is_hash_member_supported(&self) -> bool;
    |     ------------------------------------------- `is_hash_member_supported` from trait

For more information about this error, try `rustc --explain E0046`.
error: could not compile `chronik-db` (lib test) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
ninja: build stopped: cannot make progress due to previous errors.
Build build-chronik-plugins failed with exit code 1
PiRK added inline comments.
chronik/chronik-http/src/electrum.rs
547–556

With this change I can almost get the same result as Fulcrum (the endianness is also wrong).

$ echo '{"jsonrpc": "2.0", "method": "blockchain.scripthash.subscribe", "params": ["76274ac87674af1b0e7fef8cfeeb3ad712c7e16b06d481f094594454e2b62279"], "id": "test"}' | nc electrum.bitcoinabc.org 50001 | jq
{
  "id": "test",
  "jsonrpc": "2.0",
  "result": "084c8146742ce36044d514c80bca64505c42abe42d1b2e8a0974639d357d9c29"
}

$ echo '{"jsonrpc": "2.0", "method": "blockchain.scripthash.subscribe", "params": ["76274ac87674af1b0e7fef8cfeeb3ad712c7e16b06d481f094594454e2b62279"], "id": "test"}' | nc 127.0.0.1 50001 | jq
{
  "id": "test",
  "jsonrpc": "2.0",
  "result": "299c7d359d6374098a2e1b2de4ab425c5064ca0bc814d54460e32c7446814c08"
}
chronik/chronik-http/src/electrum.rs
742–750

Not sure how convenient it would be to fix this, but here there is a difference in behavior with Fulcrum:

https://electrum-cash-protocol.readthedocs.io/en/latest/protocol-methods.html#blockchain-scripthash-subscribe

The client will receive a notification when the status of the script hash changes.

When a transaction spending from one address to the same address (so a spend and a receive event) got mined I received the notification twice with the same status.
Fulcrum sent it only once.

test/functional/chronik_electrum_blockchain.py
948

missing a word

Fabien planned changes to this revision.Thu, May 15, 17:06

Don't send several notifications for the same status, fix status computation and endianness, fix comment

I'm now getting the same results with Fulcrum and Chronik, with the expected exception of histories containing transactions with unconfirmed parents.

This revision is now accepted and ready to land.Fri, May 16, 09:37

Actually I'm only getting the same result for a single tx in the mempool. When the block is mined the status differs.
I imagine that Chronik does not guarantee that the transaction history is ordered in the same order as inside the block.

But as long as a given Chronik instance always gives the same result, it shouldn't matter for the purpose of deciding if a history fetch is necessary

With a print at the end of get_scripthash_status, we can see that the txids are not in canonical order (nor in reverse canonical order):

e9298197ae771ff7245db4efce087d812acb65a2f2381aab37cc49213996dbfa:897089:a2f2345c0bee542b183205e831915badee15503778efc60db2878411f9309c5b:897089:1d1a18914d46d33216e67c35c61868dc38020d012fb113efb12f692ab8c0de78:897089:f511431764e9030b9ec0731309a2f8fb5f8e62cd6c13daffeb61b05d95ed3820:897089:

Ensure ordering within historical block

Tested with an address that initially has confirmed transactions, then receives a mempool transaction, then a new block gets mined: all 3 hashes are identical with Chronik and Fulcrum.

Fix returning null when there is no history

Don't assume params in notification is an array of length 1

fix header subscription returning an extra array

The final history ordering is: sort by block height first then txid, but mempool txs go last starting with the txs having confirmed parents (block height 0) and finally the mempool txs with unconfirmed parents (block height -1).

With this the status is always consistent with Fulcrum.

Use consistent history ordering between the various endpoints.

At this stage this diff needs to be splitted in parts, please consider it as a draft used for mainnet testing.