This PR changes linear fee calculation for reference scripts to exponential.
Here are two plots of how much fee a user will have to pay for a total size of the reference scripts included in a transaction. Exponent that we settled on is: 1.2
Up to 1MiB:
Zoomed in version to up to 160KiB
Checklist
[ ] Commit sequence broadly makes sense and commits have useful messages
[ ] New tests are added if needed and existing tests are updated
[ ] When applicable, versions are updated in .cabal and CHANGELOG.md files according to the
versioning process.
[ ] The version bounds in .cabal files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)
[ ] All visible changes are prepended to the latest section of a CHANGELOG.md for the affected packages. New section is never added with the code changes. (See RELEASING.md)
[x] Code is formatted with fourmolu (use scripts/fourmolize.sh)
[x] Cabal files are formatted (use scripts/cabal-format.sh)
[x] hie.yaml has been updated (use scripts/gen-hie.sh)
Description
This PR changes linear fee calculation for reference scripts to exponential.
Here are two plots of how much fee a user will have to pay for a total size of the reference scripts included in a transaction. Exponent that we settled on is:
1.2
Up to 1MiB:![ref-1 2](https://github.com/IntersectMBO/cardano-ledger/assets/2333894/1ea3c198-0cbc-4e29-9cc8-9a10cf16d064)
Zoomed in version to up to 160KiB![ref-1 2-160KiB](https://github.com/IntersectMBO/cardano-ledger/assets/2333894/4d2aea09-180f-4ddc-bf41-a748c45c8015)
Checklist
.cabal
andCHANGELOG.md
files according to the versioning process..cabal
files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)CHANGELOG.md
for the affected packages. New section is never added with the code changes. (See RELEASING.md)fourmolu
(usescripts/fourmolize.sh
)scripts/cabal-format.sh
)hie.yaml
has been updated (usescripts/gen-hie.sh
)