-
Notifications
You must be signed in to change notification settings - Fork 88
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
Combine blueprint and commit tx metadata #1409
Conversation
Transactions CostsSizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using
Script summary
Cost of Init Transaction
Cost of Commit TransactionThis is using ada-only outputs for better comparability.
Cost of CollectCom Transaction
Cost of Close Transaction
Cost of Contest Transaction
Cost of Abort TransactionSome variation because of random mixture of still initial and already committed outputs.
Cost of FanOut TransactionInvolves spending head output and burning head tokens. Uses ada-only UTxO for better comparability.
End-To-End Benchmark ResultsThis page is intended to collect the latest end-to-end benchmarks results produced by Hydra's Continuous Integration system from the latest Please take those results with a grain of salt as they are currently produced from very limited cloud VMs and not controlled hardware. Instead of focusing on the absolute results, the emphasis should be on relative results, eg. how the timings for a scenario evolve as the code changes. Generated at 2024-05-16 10:28:19.129531788 UTC Baseline Scenario
Three local nodes
|
253ed96
to
5ce0bbb
Compare
e875204
to
8c61d08
Compare
@v0d1ch Your fix was already correct and I merely refactored and cleaned up the changes. I'd encourage you to double check my refactorings. @locallycompact @ffakenz You are kindly asked to review the changes as I'm involved now and can't review anymore. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd approve but I can't 😀 Probably because I am the author.
12e8f7f
to
226edac
Compare
91a0592
to
e20a5cf
Compare
09ce38b
to
53aa61a
Compare
0a3ab8b
to
a3dabaa
Compare
1ffc3e0
to
86dd93c
Compare
99515d7
to
4feb75d
Compare
4feb75d
to
aeff9b9
Compare
aeff9b9
to
98f2682
Compare
The genMatadata' generator seems reasonable for our use case here.
This is hopefully a bit clearer to read and maintain going forward.
Reducing noise in the code and providing more counter examples by DRYing things up a bit.
This was not covered before and seems like we have failing transactions now.
We suspect that toLedgerTx is incomplete if the cardano-api Tx was modified in it's auxiliary data.
On each conversion we need to recalculate the aux data hash since cardano-api does not provide a way to set the data hash and on top of it it seems that it removes it completely. Add a roundtrip test to assert the metadata is correctly converted.
98f2682
to
f3d3afb
Compare
The cardano-api Tx type is just a wrapper around the ledger and we should be using that data constructor to do this "conversion". This also drops a test for "self-healing" auxiliary data hashes, but we did not require that in the first place: if you modify a transaction using the ledger-api, make sure to re-compute the auxDataHashTxBodyL.
f3d3afb
to
e994c70
Compare
917b674
to
d1649ee
Compare
It turned out that the inconsistency on the auxiliary data hash was on the users side. Nontheless, this PR holds a cleaner implementation of the commit tx construction and some refactorings. |
d1649ee
to
f3ba138
Compare
Why
We have a user report that the commit auxiliary data hashes are invalid when submitting the commit transaction to blockfrost, responding
ConflictingMetadataHash
.What
Extends the property tests on
commitTx
construction to also check the auxiliary data hash of the resulting blueprint transaction is correct.Fixes the auxiliary data hash computation andrefactors commit tx constructionResolves a warning of missing
txSpendingUTxO
for thePayment
tx typeSimplifies definition of
toLedgerTx
andfromLedgerTx
inhydra-cardano-api