-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BUG: Transformation causes serialization mismatch for conway-era transactions #186
Comments
I am able to sign and submit a transformed conway transaction using cardano-cli generated keys so perhaps the cardano-hw-cli |
I'm not sure if this github discussion is related. It mentions never trying to re-serialize to the same result. |
@fallen-icarus - We have experienced issues with the I believe that |
@codybutz Thanks for the tip! This isn't my most pressing issue, but when the time comes, if cardano-hw-cli still hasn't been fixed, I'll definitely try that out! |
latest versions of hw-cli and the cardano-app should not have a problem with the tag 258. i had it in my scripts during the testing/dev period, but i removed it later on. so i am not sure if this is the issue in your case tbh. i removed it like: https://github.com/gitmachtl/scripts/blob/f9f8e8297a93a92143d4e8b38827a52e3892f604/cardano/mainnet/01_sendLovelaces.sh#L588-L589 maybe there is a problem with cardano-cli itself and not producing consisdent 258 tags under some circumstances. because if you use the tage once, you have to use it everywhere in the cbor. @fallen-icarus can you post a demo tx that is causing this issue? |
@gitmachtl Here is the tx.body file contents: {
"type": "Unwitnessed Tx ConwayEra",
"description": "Ledger Cddl Format",
"cborHex": "84a300d901028182582023a6d72a828bcf2ccbd2dcc6871a8d7187e4b3342e1dde1116a20007a6d37a5e000181825839004b03bd62f7e2d36d157620dd25d3960dc073fa71346a05cb29efbbc9efc7915da7275cfcf0b33909f390d5a2e71e9f1ebc9deaeb503e95bb821a00d210f7a1581cc0f8644a01a6bf5db02f4afe30d604975e63dd274f1098a1738e561da24a54657374546f6b656e310a4b4f74686572546f6b656e0a1896021a00028f99a0f5f6"
} It was generated with these commands: cardano-cli conway transaction build-raw \
--tx-in 23a6d72a828bcf2ccbd2dcc6871a8d7187e4b3342e1dde1116a20007a6d37a5e#0 \
--tx-out "addr_test1qp9s80tz7l3dxmg4wcsd6fwnjcxuqul6wy6x5pwt98hmhj00c7g4mfe8tn70pveep8eep4dzuu0f784unh4wk5p7jkasa3cym4 13766903 lovelace + 150 c0f8644a01a6bf5db02f4afe30d604975e63dd274f1098a1738e561d.4f74686572546f6b656e0a + 10 c0f8644a01a6bf5db02f4afe30d604975e63dd274f1098a1738e561d.54657374546f6b656e31" \
--protocol-params-file params.json \
--fee 167833 \
--out-file tx.body
cardano-hw-cli transaction transform \
--tx-file tx.body \
--out-file tx.body |
I have yet to build a transaction that actually succeeds so I'm skeptical of the idea there is an inconsistency somewhere. |
Can you do a simple lovelace transaction without anthing else? |
That doesn't work either. {
"type": "Unwitnessed Tx ConwayEra",
"description": "Ledger Cddl Format",
"cborHex": "84a300d9010281825820538b8143099d84f5e5e21064377f66370f11ae457f7d1b3f8f76fa0d2291117f000181825839004b03bd62f7e2d36d157620dd25d3960dc073fa71346a05cb29efbbc9efc7915da7275cfcf0b33909f390d5a2e71e9f1ebc9deaeb503e95bb1a00aaf13e021a00028575a0f5f6"
} cardano-cli conway transaction build-raw \
--tx-in 538b8143099d84f5e5e21064377f66370f11ae457f7d1b3f8f76fa0d2291117f#0 \
--tx-out "addr_test1qp9s80tz7l3dxmg4wcsd6fwnjcxuqul6wy6x5pwt98hmhj00c7g4mfe8tn70pveep8eep4dzuu0f784unh4wk5p7jkasa3cym4 11202878 lovelace " \
--protocol-params-file params.json \
--fee 165237 \
--out-file tx.body
cardano-hw-cli transaction transform \
--tx-file tx.body \
--out-file tx.body |
You are missing the time to live in your transaction build-raw command. |
I figured it out: I wasn't using the latest version of the cardano app on my ledger device 🙃. Both of the prior transactions are working now. |
I appreciate the help @codybutz and @gitmachtl |
The new conway era requires using
conway
flags with cardano-cli. For example,cardano-cli transaction build
is nowcardano-cli conway transaction build
. If you build a transaction with the new conway flags and then transform the transaction, trying to sign with the hardware wallet results inTx serialization mismatch
. This issue even occurs for transactions without any plutus scripts. This was not an issue before the conway era.The text was updated successfully, but these errors were encountered: