-
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
Implement liveness property in dynamic logic #498
Conversation
Transactions CostsSizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using
Cost of Init Transaction
Cost of Commit TransactionCurrently only one UTxO per commit allowed (this is about to change soon)
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.
|
54f1ca3
to
126a5da
Compare
Also update iohkNix to not get a deprecation warning from the crypto overlay.
…dency Getting the package from hackage is not a problem, but our upstream dependencies are not fit for latest hackage versions and we did not want to bother chasing constraints at this point.
This is due to the new 1.0.0 interface of quickcheck-dynamic
This kind of duplicates ClientInput
Unfortunately, this was requiring to ditch record syntax as GADTs seem not to allow duplicate record fields with differing return types.
This keeps the conversion back to simple utxos out of the model.
Instead of requiring a Show instance on monitoring function we can pattern match as suggested by Max.
This gives us a Show instance for monitoring failures
…ition in the model
This requires introduction of 2 new actions in the model: * Wait to give the underlying runner time to process messages * ObserveConfirmedTx to check what's been observed by each node
We should probably remove it...
It's used in 2 different situations, one when observing some tx to appear, another one waiting for a spendable UTxO before submitting the tx
Our ObserveConfirmedTx action is not (yet) powerful enough to check the UTxO produced is there or has been consumed by another tx
This simplifies troubleshooting errors/failures
126a5da
to
a2d952d
Compare
It was just a stopgap solution in order to limit the length of NewTx sequences we generate but it's not useful
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.
This PR goes a bit over my head as I never used DynamicLogic but I think it looks good at least to my noob eyes.
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.
🧙♂️
Fix #467
This PR does a couple things to "solve" the issue:
Model
to the new version which decouples the model from theperform
and thus alleviates the need for complex constraints in theModelState
instance for HydraModel
as the assumptions for some functions have changed)Before investing a lot more time into this, I think it would be worthwhile to "stop & think" from this simple example.