Skip to content

evaluateTransaction: keep Babbage-format transactions evaluable#5

Merged
johnalotoski merged 2 commits into
masterfrom
jordan/fix-464
Jun 3, 2026
Merged

evaluateTransaction: keep Babbage-format transactions evaluable#5
johnalotoski merged 2 commits into
masterfrom
jordan/fix-464

Conversation

@Jimbo4350

@Jimbo4350 Jimbo4350 commented Jun 3, 2026

Copy link
Copy Markdown

Summary

Restore evaluation of Babbage-format transactions in evaluateTransaction, which regressed in v6.14.0.1.

Addresses IntersectMBO/ogmios#6.

Context

Clients still build Babbage-format transactions that carry no Conway-only fields.

The Babbage -> Conway translation arm was dropped following review guidance on CardanoSolutions#461 that only conwayToDijkstra was needed (comment). This idea was propagated to other parts of the code that resulted in the failures reported.

Changes

  • newExecutionUnitsEvaluator — accept every (utxo, tx) era combination from Babbage up, upgrading both sides to a common era instead of rejecting Babbage inputs.
  • translateToNetworkEra — add the Babbage -> Conway arm alongside the existing Conway -> Dijkstra, so a Babbage bundle (e.g. a Babbage tx with no additionalUtxo) is lifted to the network era instead of falling through to the impossible error.

Testing

A minimal Babbage tx (1 input, 2 ada-only outputs, fee) — the one reported in the issue — was evaluated against a preview node:

  • pre-fix (v6.14.0.1): unsupportedEra rejection (and, with only the evaluator change, an impossible: arguments are not translatable to network era crash).
  • this branch: {"result":[]} — success (no scripts to budget), matching v6.14.0.

…anoSolutions#464)

Clients still build Babbage-format txs with no Conway-only fields, and
submitTransaction already upgrades them via upgradeGenTx.

evaluateTransaction's Babbage->Conway arm was dropped following @KtorZ's
guidance that only `conwayToDijkstra` was needed [1]. v6.14.0.1 now rejects
Babbage txs with `unsupportedEra`, regressing a flow that worked on v6.14.0
(CardanoSolutions#464). Restore it rather than deprecating Babbage:

- newExecutionUnitsEvaluator: accept all (utxo, tx) era combos from Babbage
  up, upgrading both sides to a common era.
- translateToNetworkEra: add Babbage->Conway alongside Conway->Dijkstra, so
  a Babbage bundle reaches the network era instead of the "impossible" error.

[1]: CardanoSolutions#461 (comment)
     https://github.com/CardanoSolutions/ogmios/pull/461/changes#discussion_r3231841439
@Jimbo4350 Jimbo4350 marked this pull request as ready for review June 3, 2026 10:18
@johnalotoski johnalotoski merged commit f069c78 into master Jun 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants