Skip to content

New TxBodyContent#1011

Merged
Jimbo4350 merged 38 commits intomasterfrom
jordan/new-tx-body-content
Jan 26, 2026
Merged

New TxBodyContent#1011
Jimbo4350 merged 38 commits intomasterfrom
jordan/new-tx-body-content

Conversation

@Jimbo4350
Copy link
Contributor

@Jimbo4350 Jimbo4350 commented Nov 13, 2025

Changelog

- description: |
     In order to move away from the "old" api's `TxBodyContent`  that utilizes the "eon" abstractions and somewhat 
     unnecessarily wrapped data definitions, we introduce a new `TxBodyContent` type that aims to be closer to the 
     ledger's type definitions and therefore easier to use.
  
  type:
  - feature        

  projects:
   - cardano-api

Context

Additional context for the PR goes here. If the PR fixes a particular issue please provide a link to the issue.

How to trust this PR

Highlight important bits of the PR that will make the review faster. If there are commands the reviewer can run to observe the new behavior, describe them.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. See Running tests for more details
  • Self-reviewed the diff

@Jimbo4350 Jimbo4350 force-pushed the jordan/new-tx-body-content branch 8 times, most recently from debbc9c to 636f91f Compare November 20, 2025 12:35
@Jimbo4350 Jimbo4350 force-pushed the jordan/new-tx-body-content branch 5 times, most recently from 21e5e9c to 86616c5 Compare November 24, 2025 13:26
@Jimbo4350 Jimbo4350 force-pushed the jordan/new-tx-body-content branch 2 times, most recently from 5717284 to 3ba2c0b Compare November 25, 2025 13:35
@Jimbo4350 Jimbo4350 marked this pull request as ready for review November 25, 2025 13:35
@Jimbo4350 Jimbo4350 force-pushed the jordan/new-tx-body-content branch 4 times, most recently from 94916d2 to 87958df Compare November 25, 2025 15:20
Copy link
Contributor

@carbolymer carbolymer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 💪🏻 🚀
Nice work. Let's not postpone too much the issues which came from this work however i.e. #1084

Also small thing: https://github.com/IntersectMBO/cardano-api/pull/1011/files#r2711423979

hashAnyScript (AnyPlutusScript ps) =
hashPlutusScriptInEra ps

deserialiseAnySimpleScript
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why a separate function instead of SerialiseAsCBOR instance?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have a good answer. We use a JSON representation for simple scripts but I agree we should have the relevant instance: #1088

Comment on lines +37 to +38
data UnsignedTx era
= L.EraTx (LedgerEra era) => UnsignedTx (Ledger.Tx (LedgerEra era))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should be using ledger eras as an era type parameter instead of cardano-api's eras.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. I want to also use UnsignedTx in the compatibility code: #1089

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.

3 participants