Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use aiken for commit validator (#1680)
We want to update to a recent `cardano-api` version to get #1543 (which we contributed upstream). This update implied a bump on `plutus-tx` (via the ledger) and resulted in growing script sizes. At that point we explored various ways to decrease the script size again to keep the single transaction publishing and `--hydra-scripts-tx-id` config (or even expanding that). This mikado / dependency graph shows our option and the chosen path of this PR: ![ADRs _ Designs - cardano-api 9 3 update mikado 2024-10-03](https://github.com/user-attachments/assets/52d61e15-0485-4a63-81ce-de4c2f6eeec1) Concretely this PR contains: * Update to `cardano-api` version `9.3` * Rebased and updated to latest `aiken` the commit validator from this work: #1072 * Support `PlutusV3` validators next to legacy `PlutusV2` validators (the aiken one is V3) Consequences of switching to `aiken`: - 🚀 reduces cost to open (collect) a head, for example 5 parties from 1.00 -> 0.81 ADA =~ **20% cost saving** - 🚀 reduces cost to abort a head, for example 5 parties from 1.27 -> 0.85 ADA =~ **50% cost saving** - 🚀 supports collect transaction with 9 parties (abort 12) = new maximum number of parties is **8** (tests showed we need some margin) --- * [x] CHANGELOG updated * [x] Documentation update not needed * [x] Haddocks updated * [x] New TODOs introduced - One as a reminder that we have duplication of types between aiken/haskell
- Loading branch information