Closed waalge closed 2 years ago
cddl of babbage looks to be just an extension of alonzo.
I was looking at an out dated version of the cddl. Its clearly not an extension of alonzo any longer.
Its clearly not an extension of alonzo any longer.
It actually is backwards compatible. In particular, for transaction outputs:
Where legacy_transaction_output
uses a list and post_alonzo_transaction_output
uses a map.
I'm not sure what/where is responsible for the serialization into CBOR of which bits.
The ledger (this repo) is responsible for the serialization of transactions. The CLI does have an intermediate serialization for the "transaction body" (in quotes since it is a structure somewhere between what the ledger calls a transaction body and a transaction), which has caused confusion in the past.
An example output that is invalid according to the CSL
By CSL, you meant the "Cardano serialization library", right? ie the rust library provided by dcSpark? I have not used this library myself, could it be that this library is not also still supporting the legacy_transaction_output
?
It actually is backwards compatible
Sorry - yes, you're right. What I meant is that I've yet to figure out how to coerce the api to choose the alonzo-style encoding. Both nami and eternl seem unhappy with the new TxOut format. My version of nami is likely too old, but that is transparently dependent on the CSL (it was emurgo back then). Eternl is new but... is a black box.
not also still supporting the
legacy_transaction_output
From my attempts, they are only supporting the legacy version. They cannot parse the map
What I meant is that I've yet to figure out how to coerce the api to choose the alonzo-style encoding. Both nami and eternl seem unhappy with the new TxOut format. My version of nami is likely too old, but that is transparently dependent on the CSL (it was emurgo back then). Eternl is new but... is a black box.
I see, that helps a lot, thank you for the context. Unfortunately, that is out of my wheelhouse (as are the rest of the folks that regularly work in this repo).
From my attempts, they are only supporting the legacy version. They cannot parse the map
That definitely explains it.
Let me know if/how you think I can help, but it sounds like you just need babbage support in CSL.
I appreciate your engagement with this nonetheless
you just need babbage support in CSL.
Alas, such time is a luxury.
Someone has recently added an EraCast
module to the cardano-api. That might work here, but its not made it the 1.35.x branches yet which I'm currently dependent on.
you just need babbage support in CSL.
Alas, such time is a luxury.
I hope I did not dismissive or unappreciative of how much effort this involves! I totally understand, I meant "just update" in the sense that we've properly identified your problem.
I'm trying to bump node version from 1.34.x to 1.35.2.
I have a bunch of code that depends on plutus-apps, cardano-api, and cardano-ledger.
TBH I'm pretty confused about the overlap of typing between modules/libs, and I'm not sure what/where is responsible for the serialization into CBOR of which bits. The output of
used to be acceptable to a nami wallet. Since bumping, no longer.
An example output that is invalid according to the CSL
A hand modified version deemed valid
The eventual tx: https://testnet.cardanoscan.io/transaction/658fbd94a22bc38e56071ff9f8bc362417c3007277887c6200829e429c0bd760
The TxOuts are of the body are now maps, rather than arrays. I don't know if this is a babbage thing, but the cddl of babbage looks to be just an extension of alonzo.
Since I cannot see this issue elsewhere, I'm presuming the error is mine. But given the weeks I've cumulatively lost to issues of serialization, I thought I'd try to ask the room.