aldabra/crates
Kayos 47b63f2024 AUDIT4-1 fix: switch tx_status from Koios /tx_info to /tx_status
The old impl called Koios /tx_info to learn confirmation state. For
confirmed txs that endpoint streams the full tx body — multi-MB on
complex txs, hundreds of KB on trivial ones — and the public Koios
endpoint either rate-limits or chunks slowly enough to escape our
10s reqwest timeout. Result: wallet_tx_status hung 120s+ and the
container subprocess died, surfaced 2026-05-04 audit-4 phase C7.

Fix: call the lighter /tx_status endpoint, which returns a single
{tx_hash, num_confirmations} record per tx — bytes, not MB.

API change: TxStatus::Confirmed { block_height, epoch } becomes
TxStatus::Confirmed { num_confirmations }. The endpoint doesn't
return block_height / epoch anyway; num_confirmations is what
callers actually want for polling-until-final flows. wallet_tx_status
docstring updated to spell out the three returnable shapes.

Tests: drops the KoiosTxInfo-shape unit tests, adds
parses_koios_tx_status_shapes covering the three live response
shapes we observed (confirmed-with-count, known-but-no-confs,
empty array).
2026-05-04 20:45:10 -07:00
..
aldabra-chain AUDIT4-1 fix: switch tx_status from Koios /tx_info to /tx_status 2026-05-04 20:45:10 -07:00
aldabra-core audit-3 (code cleanup): zero clippy warnings, zero build warnings 2026-05-04 18:40:35 -07:00
aldabra-mcp AUDIT4-1 fix: switch tx_status from Koios /tx_info to /tx_status 2026-05-04 20:45:10 -07:00