New pool certificate error

Hello,

I am trying to generate a new pool certificate (changing some metadata), and I did it successfully before. However, I updated the pool to 1.32.1 and when the other owner tries to sign the transaction (using AdaLite) it says “parser error” and that “txBodyMary” is expected as the codification of the transaction body but that is not found.

When I check the tx.raw content, I can see that there is only “txBodyAlonzo” and no “txBodyMary”.

How could I solve the issue? Even if I change “txBodyAlonzo” for “txBodyMary” in the transaction, then I get an error in the decoding step when signing the transaction in the cold environment (but the other owner can sign the transaction successfully). I guess the issue is related to the last update as when I did it in 1.30.1 there was no issue, all went good, the body was just as expected from Mary era, not including Alonzo specification. However, now it only includes Alonzo reference and there is a mismatch between expected content body and the one generated.

Could you help me on the issue?

Thanks!

When you create the transaction to register the new pool certificate, you should use the “–mary-era” parameter, in this is the error. This happened to me, too, then trying to witness this transaction with the Ledger hardware wallet, its current firmware does not support Alonze era transactions yet.

Hi. I am having the same problem trying to witness with a Trezor T, even though the hwsfile and vkey were exported correctly. Where can I specify the “–mary-era” parameter?

I am following the Coincashew guide (18. Operational and Maintenance Tips - CoinCashew)

The following command:

cardano-cli transaction build-raw \
    ${tx_in} \
    --tx-out $(cat payment.addr)+${txOut} \
    --invalid-hereafter $(( ${currentSlot} + 10000)) \
    --fee ${fee} \
    --certificate-file pool.cert \
    --out-file tx-pool.raw

becomes:

cardano-cli transaction build-raw \
    --mary-era \
    ${tx_in} \
    --tx-out $(cat payment.addr)+${txOut} \
    --invalid-hereafter $(( ${currentSlot} + 10000)) \
    --fee ${fee} \
    --certificate-file pool.cert \
    --out-file tx-pool.raw