-
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
Add Close, Fanout and RollbackAndForward to our MBT #1296
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-02-12 12:47:49.03681458 UTC Baseline Scenario
Baseline Scenario
|
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.
Good if it works, but a bit surprising that we don't need to wait for ReadyToFanout
?
Also consider my "Should" suggestions, please.
ec2932b
to
2ffccf4
Compare
There was a change of plans for the postcondition check so I removed CheckFanoutUTxO and GetConfirmedUTxO since we can check directly the Fanout utxo against the result in postcondition.
Instead of doing rollbacks automatically in the MockChain we modelled the Action to do the same from the Model.
We are not able to check equality between a real UTxO and the Model representation. For now we just check that the Fanout value matches.
Also use indefinite Horizon
Add this check to the MockChain and generate more blocks in the Model
Fix precondition to always be able to rollback
Currently the rollback in the Init can easily go back past the current block so for now we can ommit it. Check in the MockChain is needed to make this proper since the one I added does not work.
Just wait to see the appropriate server output or throw the error after some time.
Why did I have to do this fix? This needs investigation
2ffccf4
to
88fee05
Compare
In order to improve our MBT
Close
,Fanout
andRollbackAndForward
are added as the actions. Now theMockChain
is only rolling forward and only rolls back when appropriate action is produced.There is also new test case fanout contains whole confirmed UTxO that should further assure us that the
Fanout
UTxO
matches with whatever we transacted in the openHead
.NOTE:
Currently we are not able to compare equality between
Model
representation of theUTxO
([(CardanoSigningKey, Value)]
) with the realUTxO
. Even if the value and the address matches between the two the inputIx
we generate when converting starts always from zero and we can't just sortTxOuts
and compare that since there is noOrd
instance.This is related to #1260 as it will help reproduce this bug and preparatory work for #1057