Skip to content
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 the remaining upgradable families #3714

Merged
merged 12 commits into from
Sep 25, 2023
Merged

Commits on Sep 25, 2023

  1. Implement remaining upgrades:

    - `upgradeTxBody`
    - `upgradeTxWits`
    - `upgradeTx`
    
    We introduce a few helpers to assist, which follow the same pattern
    outside of an era-indexed family:
    
    - `upgradeData`
    - `upgradeTxDats`
    - `upgradeRedeemers`
    nc6 authored and teodanciu committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    cd113e0 View commit details
    Browse the repository at this point in the history
  2. Implement 'ToExpr' in various places.

    Also implement 'Memoized' for 'ShelleyTx', which admits a trivial
    instance but was missing it.
    nc6 authored and teodanciu committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    2bcffdd View commit details
    Browse the repository at this point in the history
  3. WIP test the upgrades

    nc6 authored and teodanciu committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    20f3ce1 View commit details
    Browse the repository at this point in the history
  4. Allow Mary->Alonzo upgrade to fail.

    This happens if the Mary transaction attempts to pass a protocol
    parameter update which updates the min ADA, since this field is not
    effectively translatable to Alonzo.
    nc6 authored and teodanciu committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    bf7a340 View commit details
    Browse the repository at this point in the history
  5. Allow control of transaction upgrade testing.

    We switch this off in Alonzo, since the translation path does not
    directly deserialise, rather pulling together the body and witnesses
    data separately.
    nc6 authored and teodanciu committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    c61aab8 View commit details
    Browse the repository at this point in the history
  6. Work around edge cases in Babbage upgrade:

    - We need to avoid comparing the size for 'Sized' fields.
    - 'coinsPerUTxOByte' is translated through binary translation naively as
      'coinsPerUTxOWord'. We need to reflect this to preserve transaction
      validity.
    - Two other protocol parameters were removed and will cause the
      translation to fail, so must be accounted for in the upgrade.
    nc6 authored and teodanciu committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    a2805df View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d12c396 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    64aba41 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    af715c3 View commit details
    Browse the repository at this point in the history
  10. Generalize upgradeUpdate for era in Shelley PParams

    and use it in Allegra and Mary upgrade
    teodanciu committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    7bb0344 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d930cae View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    9527ec0 View commit details
    Browse the repository at this point in the history