-
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
Upgrade to cardano-node 8 #1015
Conversation
Also tests against existence of this version. Configuration files unchanged still.
Seemingly some cost model parameter names changed.
The object-based serialization is (currently?) unavailable when querying the parameters from the network, so we need to resort to the unlabelled array items to make sure the same one is used.
The latest cardano-api packages were pushed to CHaP, so we can drop the source-repository package.
- Upgrade hydra-cardano-api dependencies to satisfy constraints. + Newest cardano-ledger works with up to plutus-ledger-api 1.7.0.0 + Newest cardano-api requires text greater than 2 - Remove ouroboros-consensus-cardano-test dependency This is currently problematic as it is only available in version 0.3, which depends on a lib in ouroboros-consensus-protocol package.
This is needed after index-state updates and slightly improved the CONTRIBUTING.md about this.
A new variant of libsodium via the overlay is needed.
GHC 9.2.8 is not available in vanilla nixpkgs
It seems like the SI unit variants (using seconds) of io-sim compatible classes moved to si-timers.
This is to be replaced by cardano-ledger-mary and cardano-ledger-allegra packages.
Because base16 changed its interface between versions.
This is available now upstream. Not with the UTF8 decoding, but this should not matter in our case.
The cardano-shelly-ma got split into cardano-shelley-allegra and cardano-shelley-mary including the module names.
They only provide deserialization instances for their new variant of cardano-binary.
This is only used in one place and the ledger now has a getMinFeeTx itself.
4844e65
to
13b5c87
Compare
TxGovernanceActions and TxVotes were added.
Like the other constructors of cardano-api, we also have a pattern which provides the BundledProtocolParameters for the latest era (without type parameter).
The fact that toLedgerPParams now can fail, had us push the problem of not being able to create ledger params from the cardano-api params into the 'pparams' fixture. The whole function becomes a bit contrived now, but alternatives include adding lenses as dependencies.
This is consistent with newGlobals and makes call sites simpler as we don't handle the error cases to this exceptional situation.
Seemingly this changed from one to another ledger version and our ToJSON instance for a Tx is relying on the upstream cbor instances.
Our generator, after the upstream library updates, is not producing enough ada only outputs. We changed it so that the distribution of ada only outputs in the generator is producing these half of the time. Also remove some unneeded imports in Fixture module
We want to make sure that generated txs do not produce too large values in the outputs so we can actually cover the fees.
Fix the brick version to 0.73 Use the new File constructor
As the ledger changed the mint field to only being a multi-asset (minting lovelace does not make sense), but cardano-api still has everything as 'Value', we add a conversion function to create values from just Ledger.MultiAsset.
The hydra-test-utils also hard-codes pparams so we should also use mainnet parameters there. Obviously, the duplication between this and hydra-node fixtures should be removed, but we are not doing that in this PR.
4a9fb49
to
590519b
Compare
Test Results361 tests +2 356 ✔️ +2 18m 58s ⏱️ - 4m 53s Results for commit 1aca89e. ± Comparison against base commit ca76fed. This pull request removes 12 and adds 14 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
We need to avoid specialization of 'length' to make this compile
This has bitten multiple projects lately. See linked issue for the full reason why.
063a475
to
adf991a
Compare
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.
|
5f47f73
to
1d9b826
Compare
d1bc392
to
28c9cf7
Compare
We should investigate the costs for Hydra transactions, they seem quite expensive now?
This is the current protocol version on mainnet, so we use that for evaluating scripts.
32a0c07
to
1aca89e
Compare
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.
Updates the cardano-node in the development environment and on CI to 8.1.2
Updates cardano-api, which we use to connect to the node to 8.11.0
Consequently, needs to update cardano-ledger and plutus to suitable versions
Consequently, a lot of changes are required due to changed interfaces and moved modules in cardano-api and cardano-ledger, new versioning of serialization, versioned compilation in plutus
Uses the mainnet cost model from early August 2023 to evaluate scripts, as the builtin testing cost model is not reliable.
We fixed our golden files as we had an incorrect serialization on key witnesses. Everything else worked!
Fixes the demo by increasing fuel of the demo as it was already too low on master (not enough collateral to fan out)