Page MenuHomePhabricator

[Chronik] Plugins: Index outputs and return from protobuf
DraftPublic

Authored by tobias_ruck on Jan 16 2024, 23:07.
This is a draft revision that has not yet been submitted for review.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Summary

Plugins can index outputs and assign them groups by which outputs can be queried

Test Plan

./test/functional/test_runner.py chronik_plugins

Event Timeline

Failed tests logs:

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

------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token.py", line 36, in <module>
    from test_framework.chronik.token_tx import alp_opreturn, alp_genesis, alp_mint, alp_send, TokenTx, alp_burn
ImportError: cannot import name 'alp_opreturn' from 'test_framework.chronik.token_tx' (/work/test/functional/test_framework/chronik/token_tx.py)
====== Bitcoin ABC functional tests: chronik_tx.py ======

------- Stdout: -------
2024-01-16T23:15:35.947000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self.setup()
  File "/work/test/functional/test_framework/test_framework.py", line 380, in setup
    self.skip_test_if_missing_module()
  File "/work/test/functional/chronik_tx.py", line 31, in skip_test_if_missing_module
    self.skip_if_no_chronik_plugins()
  File "/work/test/functional/test_framework/test_framework.py", line 1051, in skip_if_no_chronik_plugins
    if not self.is_chronik_plugins_compiled():
  File "/work/test/functional/test_framework/test_framework.py", line 1072, in is_chronik_plugins_compiled
    return self.config["components"].getboolean("ENABLE_CHRONIK_PLUGINS")
  File "/usr/lib/python3.9/configparser.py", line 1303, in get
    return _impl(self._name, option, raw=raw, vars=vars,
  File "/usr/lib/python3.9/configparser.py", line 828, in getboolean
    return self._get_conv(section, option, self._convert_to_boolean,
  File "/usr/lib/python3.9/configparser.py", line 808, in _get_conv
    return self._get(section, conv, option, raw=raw, vars=vars,
  File "/usr/lib/python3.9/configparser.py", line 803, in _get
    return conv(self.get(section, option, **kwargs))
  File "/usr/lib/python3.9/configparser.py", line 1163, in _convert_to_boolean
    raise ValueError('Not a boolean: %s' % value)
ValueError: Not a boolean: 
2024-01-16T23:15:35.998000Z TestFramework (INFO): Stopping nodes
2024-01-16T23:15:35.998000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_  _20240116_231303/chronik_tx_183
2024-01-16T23:15:35.998000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_  _20240116_231303/chronik_tx_183/test_framework.log
2024-01-16T23:15:35.998000Z TestFramework (ERROR): 
2024-01-16T23:15:35.998000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_  _20240116_231303/chronik_tx_183' to consolidate all logs
2024-01-16T23:15:35.998000Z TestFramework (ERROR): 
2024-01-16T23:15:35.998000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-01-16T23:15:35.998000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2024-01-16T23:15:35.999000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_token.py
Bitcoin ABC functional tests: chronik_tx.py

Failed tests logs:

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

------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token.py", line 36, in <module>
    from test_framework.chronik.token_tx import alp_opreturn, alp_genesis, alp_mint, alp_send, TokenTx, alp_burn
ImportError: cannot import name 'alp_opreturn' from 'test_framework.chronik.token_tx' (/work/test/functional/test_framework/chronik/token_tx.py)
====== Bitcoin ABC functional tests: chronik_tx.py ======

------- Stdout: -------
2024-01-16T23:18:55.638000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self.setup()
  File "/work/test/functional/test_framework/test_framework.py", line 380, in setup
    self.skip_test_if_missing_module()
  File "/work/test/functional/chronik_tx.py", line 31, in skip_test_if_missing_module
    self.skip_if_no_chronik_plugins()
  File "/work/test/functional/test_framework/test_framework.py", line 1051, in skip_if_no_chronik_plugins
    if not self.is_chronik_plugins_compiled():
  File "/work/test/functional/test_framework/test_framework.py", line 1072, in is_chronik_plugins_compiled
    return self.config["components"].getboolean("ENABLE_CHRONIK_PLUGINS")
  File "/usr/lib/python3.9/configparser.py", line 1303, in get
    return _impl(self._name, option, raw=raw, vars=vars,
  File "/usr/lib/python3.9/configparser.py", line 828, in getboolean
    return self._get_conv(section, option, self._convert_to_boolean,
  File "/usr/lib/python3.9/configparser.py", line 808, in _get_conv
    return self._get(section, conv, option, raw=raw, vars=vars,
  File "/usr/lib/python3.9/configparser.py", line 803, in _get
    return conv(self.get(section, option, **kwargs))
  File "/usr/lib/python3.9/configparser.py", line 1163, in _convert_to_boolean
    raise ValueError('Not a boolean: %s' % value)
ValueError: Not a boolean: 
2024-01-16T23:18:55.689000Z TestFramework (INFO): Stopping nodes
2024-01-16T23:18:55.689000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_  _20240116_231205/chronik_tx_183
2024-01-16T23:18:55.689000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_  _20240116_231205/chronik_tx_183/test_framework.log
2024-01-16T23:18:55.689000Z TestFramework (ERROR): 
2024-01-16T23:18:55.689000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_  _20240116_231205/chronik_tx_183' to consolidate all logs
2024-01-16T23:18:55.689000Z TestFramework (ERROR): 
2024-01-16T23:18:55.690000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-01-16T23:18:55.690000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2024-01-16T23:18:55.690000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_token.py
Bitcoin ABC functional tests: chronik_tx.py

Failed tests logs:

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

------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token.py", line 36, in <module>
    from test_framework.chronik.token_tx import alp_opreturn, alp_genesis, alp_mint, alp_send, TokenTx, alp_burn
ImportError: cannot import name 'alp_opreturn' from 'test_framework.chronik.token_tx' (/work/test/functional/test_framework/chronik/token_tx.py)
====== Bitcoin ABC functional tests: chronik_tx.py ======

------- Stdout: -------
2024-01-16T23:18:54.534000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self.setup()
  File "/work/test/functional/test_framework/test_framework.py", line 380, in setup
    self.skip_test_if_missing_module()
  File "/work/test/functional/chronik_tx.py", line 31, in skip_test_if_missing_module
    self.skip_if_no_chronik_plugins()
  File "/work/test/functional/test_framework/test_framework.py", line 1051, in skip_if_no_chronik_plugins
    if not self.is_chronik_plugins_compiled():
  File "/work/test/functional/test_framework/test_framework.py", line 1072, in is_chronik_plugins_compiled
    return self.config["components"].getboolean("ENABLE_CHRONIK_PLUGINS")
  File "/usr/lib/python3.9/configparser.py", line 1303, in get
    return _impl(self._name, option, raw=raw, vars=vars,
  File "/usr/lib/python3.9/configparser.py", line 828, in getboolean
    return self._get_conv(section, option, self._convert_to_boolean,
  File "/usr/lib/python3.9/configparser.py", line 808, in _get_conv
    return self._get(section, conv, option, raw=raw, vars=vars,
  File "/usr/lib/python3.9/configparser.py", line 803, in _get
    return conv(self.get(section, option, **kwargs))
  File "/usr/lib/python3.9/configparser.py", line 1163, in _convert_to_boolean
    raise ValueError('Not a boolean: %s' % value)
ValueError: Not a boolean: 
2024-01-16T23:18:54.586000Z TestFramework (INFO): Stopping nodes
2024-01-16T23:18:54.586000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240116_231423/chronik_tx_183
2024-01-16T23:18:54.586000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240116_231423/chronik_tx_183/test_framework.log
2024-01-16T23:18:54.586000Z TestFramework (ERROR): 
2024-01-16T23:18:54.586000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240116_231423/chronik_tx_183' to consolidate all logs
2024-01-16T23:18:54.586000Z TestFramework (ERROR): 
2024-01-16T23:18:54.586000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-01-16T23:18:54.586000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2024-01-16T23:18:54.587000Z TestFramework (ERROR):
====== Bitcoin ABC functional tests with the next upgrade activated: chronik_token.py ======

------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token.py", line 36, in <module>
    from test_framework.chronik.token_tx import alp_opreturn, alp_genesis, alp_mint, alp_send, TokenTx, alp_burn
ImportError: cannot import name 'alp_opreturn' from 'test_framework.chronik.token_tx' (/work/test/functional/test_framework/chronik/token_tx.py)
====== Bitcoin ABC functional tests with the next upgrade activated: chronik_tx.py ======

------- Stdout: -------
2024-01-16T23:23:26.938000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self.setup()
  File "/work/test/functional/test_framework/test_framework.py", line 380, in setup
    self.skip_test_if_missing_module()
  File "/work/test/functional/chronik_tx.py", line 31, in skip_test_if_missing_module
    self.skip_if_no_chronik_plugins()
  File "/work/test/functional/test_framework/test_framework.py", line 1051, in skip_if_no_chronik_plugins
    if not self.is_chronik_plugins_compiled():
  File "/work/test/functional/test_framework/test_framework.py", line 1072, in is_chronik_plugins_compiled
    return self.config["components"].getboolean("ENABLE_CHRONIK_PLUGINS")
  File "/usr/lib/python3.9/configparser.py", line 1303, in get
    return _impl(self._name, option, raw=raw, vars=vars,
  File "/usr/lib/python3.9/configparser.py", line 828, in getboolean
    return self._get_conv(section, option, self._convert_to_boolean,
  File "/usr/lib/python3.9/configparser.py", line 808, in _get_conv
    return self._get(section, conv, option, raw=raw, vars=vars,
  File "/usr/lib/python3.9/configparser.py", line 803, in _get
    return conv(self.get(section, option, **kwargs))
  File "/usr/lib/python3.9/configparser.py", line 1163, in _convert_to_boolean
    raise ValueError('Not a boolean: %s' % value)
ValueError: Not a boolean: 
2024-01-16T23:23:26.989000Z TestFramework (INFO): Stopping nodes
2024-01-16T23:23:26.989000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240116_231924/chronik_tx_183
2024-01-16T23:23:26.989000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240116_231924/chronik_tx_183/test_framework.log
2024-01-16T23:23:26.989000Z TestFramework (ERROR): 
2024-01-16T23:23:26.989000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20240116_231924/chronik_tx_183' to consolidate all logs
2024-01-16T23:23:26.989000Z TestFramework (ERROR): 
2024-01-16T23:23:26.989000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-01-16T23:23:26.989000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2024-01-16T23:23:26.989000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_token.py
Bitcoin ABC functional tests: chronik_tx.py
Bitcoin ABC functional tests with the next upgrade activated: chronik_token.py
Bitcoin ABC functional tests with the next upgrade activated: chronik_tx.py

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

move BUILD_BITCOIN_CHRONIK_PLUGINS to main CMakeLists.txt

Failed tests logs:

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

------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token.py", line 36, in <module>
    from test_framework.chronik.token_tx import alp_opreturn, alp_genesis, alp_mint, alp_send, TokenTx, alp_burn
ImportError: cannot import name 'alp_opreturn' from 'test_framework.chronik.token_tx' (/work/test/functional/test_framework/chronik/token_tx.py)

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_token.py

Failed tests logs:

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

------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token.py", line 36, in <module>
    from test_framework.chronik.token_tx import alp_opreturn, alp_genesis, alp_mint, alp_send, TokenTx, alp_burn
ImportError: cannot import name 'alp_opreturn' from 'test_framework.chronik.token_tx' (/work/test/functional/test_framework/chronik/token_tx.py)

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_token.py

Failed tests logs:

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

------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token.py", line 36, in <module>
    from test_framework.chronik.token_tx import alp_opreturn, alp_genesis, alp_mint, alp_send, TokenTx, alp_burn
ImportError: cannot import name 'alp_opreturn' from 'test_framework.chronik.token_tx' (/work/test/functional/test_framework/chronik/token_tx.py)
====== Bitcoin ABC functional tests with the next upgrade activated: chronik_token.py ======

------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token.py", line 36, in <module>
    from test_framework.chronik.token_tx import alp_opreturn, alp_genesis, alp_mint, alp_send, TokenTx, alp_burn
ImportError: cannot import name 'alp_opreturn' from 'test_framework.chronik.token_tx' (/work/test/functional/test_framework/chronik/token_tx.py)

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_token.py
Bitcoin ABC functional tests with the next upgrade activated: chronik_token.py

Failed tests logs:

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

------- Stdout: -------
2024-01-16T23:53:32.300000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240116_234854/chronik_plugins_249
2024-01-16T23:53:33.393000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 148, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 138, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_plugins.py", line 91, in run_test
    assert_equal(
  File "/work/test/functional/test_framework/util.py", line 62, in assert_equal
    raise AssertionError(
AssertionError: not({} == {'test_plugin': groups: "group"
data: "payload"
})
2024-01-16T23:53:33.444000Z TestFramework (INFO): Stopping nodes
2024-01-16T23:53:33.545000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240116_234854/chronik_plugins_249
2024-01-16T23:53:33.545000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240116_234854/chronik_plugins_249/test_framework.log
2024-01-16T23:53:33.545000Z TestFramework (ERROR): 
2024-01-16T23:53:33.545000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240116_234854/chronik_plugins_249' to consolidate all logs
2024-01-16T23:53:33.545000Z TestFramework (ERROR): 
2024-01-16T23:53:33.545000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-01-16T23:53:33.545000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2024-01-16T23:53:33.545000Z TestFramework (ERROR):
====== Bitcoin ABC functional tests: chronik_token.py ======

------- Stderr: -------
Traceback (most recent call last):
  File "/work/test/functional/chronik_token.py", line 36, in <module>
    from test_framework.chronik.token_tx import alp_opreturn, alp_genesis, alp_mint, alp_send, TokenTx, alp_burn
ImportError: cannot import name 'alp_opreturn' from 'test_framework.chronik.token_tx' (/work/test/functional/test_framework/chronik/token_tx.py)

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_plugins.py
Bitcoin ABC functional tests: chronik_token.py

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

Failed tests logs:

====== /blockchain-info: "before each" hook for "gives us the blockchain info"./blockchain-info "before each" hook for "gives us the blockchain info" ======
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/work/modules/chronik-client/test/integration/blockchain_info.ts)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7)

Each failure log is accessible here:
/blockchain-info: "before each" hook for "gives us the blockchain info"./blockchain-info "before each" hook for "gives us the blockchain info"

add type Aux to Group, revert some changes on MempoolGroup*

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

add plugin_data to TxInput for plugins to access

dont needlessly skip chronik_tx for non-plugin builds

rebase on /token-id diff, simplify

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

fix chronik_token_id_group.py

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

remove feature gate in group_utxos.rs

Failed tests logs:

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

------- Stdout: -------
2024-05-06T20:52:53.946000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240506_204734/chronik_lokad_id_group_102
2024-05-06T20:52:57.054000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_lokad_id_group.py", line 104, in run_test
    assert_equal(lokad_id_unconf(b"lok0"), [tx0.hash])
  File "/work/test/functional/chronik_lokad_id_group.py", line 71, in lokad_id_unconf
    chronik.lokad_id(lokad_id.hex()).unconfirmed_txs().ok().txs
AttributeError: 'ChronikClient' object has no attribute 'lokad_id'
2024-05-06T20:52:57.105000Z TestFramework (INFO): Stopping nodes
2024-05-06T20:52:58.159000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240506_204734/chronik_lokad_id_group_102
2024-05-06T20:52:58.159000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240506_204734/chronik_lokad_id_group_102/test_framework.log
2024-05-06T20:52:58.159000Z TestFramework (ERROR): 
2024-05-06T20:52:58.159000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-chronik/test/tmp/test_runner_₿₵_  _20240506_204734/chronik_lokad_id_group_102' to consolidate all logs
2024-05-06T20:52:58.160000Z TestFramework (ERROR): 
2024-05-06T20:52:58.160000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-05-06T20:52:58.160000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2024-05-06T20:52:58.160000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_lokad_id_group.py

Failed tests logs:

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

------- Stdout: -------
2024-05-06T20:53:19.650000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_  _20240506_204721/chronik_lokad_id_group_102
2024-05-06T20:53:22.601000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 147, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 137, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_lokad_id_group.py", line 104, in run_test
    assert_equal(lokad_id_unconf(b"lok0"), [tx0.hash])
  File "/work/test/functional/chronik_lokad_id_group.py", line 71, in lokad_id_unconf
    chronik.lokad_id(lokad_id.hex()).unconfirmed_txs().ok().txs
AttributeError: 'ChronikClient' object has no attribute 'lokad_id'
2024-05-06T20:53:22.652000Z TestFramework (INFO): Stopping nodes
2024-05-06T20:53:23.505000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_  _20240506_204721/chronik_lokad_id_group_102
2024-05-06T20:53:23.506000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_  _20240506_204721/chronik_lokad_id_group_102/test_framework.log
2024-05-06T20:53:23.506000Z TestFramework (ERROR): 
2024-05-06T20:53:23.506000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_  _20240506_204721/chronik_lokad_id_group_102' to consolidate all logs
2024-05-06T20:53:23.506000Z TestFramework (ERROR): 
2024-05-06T20:53:23.506000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-05-06T20:53:23.506000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2024-05-06T20:53:23.506000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_lokad_id_group.py