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

Planning: LambdaBuffers Cardano Conway upgrades #244

Open
37 tasks
bladyjoker opened this issue Aug 8, 2024 · 0 comments
Open
37 tasks

Planning: LambdaBuffers Cardano Conway upgrades #244

bladyjoker opened this issue Aug 8, 2024 · 0 comments
Assignees

Comments

@bladyjoker
Copy link
Collaborator

bladyjoker commented Aug 8, 2024

Conway upgrade brings a lot of updates to plutus-ledger-api which means LambdaBuffers need to sync up, specifically of concern for us is https://github.com/IntersectMBO/plutus/tree/master/plutus-ledger-api/src/PlutusLedgerApi/V3

LB Schema

  • Introduce all the PLA V3 types introduced by Conway and their PlutusData/Ord/Json instance declarations in libs/lbf-plutus/Plutus/V3.lbf

Haskell codegen

  • Bump to latest plutus-ledger-api with Plutus.V3
  • Update lambda-buffers-codegen/data/haskell-plutus.json with the new type mappings
  • Update testing testsuites/lbt-plutus/lbt-plutus-haskell
    • Update and create new golden reference set
    • Update generators
    • Update internal roundtrip tests for Eq/Json/PlutusData

Plutarch codegen

  • Bump everything to Plutarch 1.3.0 (has Plutus.V3 types)
  • Update lambda-buffers-codegendata/plutarch-plutus.json with the new mappings
  • Update testing testsuites/lbt-plutus/lbt-plutus-plutarch
    • Update PlutusData golden tests
    • Update internal roundtrip tests for Eq/PlutusData

PlutusTx codegen

  • Bump everything to latest rebranded PlutusTx
  • Update lambda-buffers-codegendata/plutustx-plutus.json with the new mappings
  • Update testing testsuites/lbt-plutus/lbt-plutus-plutustx
    • Update PlutusData golden tests
    • Update internal roundtrip tests for Eq/PlutusData

Rust codegen

  • Add new Plutus.V3 types to https://github.com/mlabs-haskell/plutus-ledger-api-rust/
  • Bump everything to new pla-rust version with Plutus.V3 types
  • Update lambda-buffers-codegendata/rust-plutus.json with the new mappings
  • Update testing testsuites/lbt-plutus/lbt-plutus-rust
    • Update PlutusData/Json golden tests
    • Update internal roundtrip tests for Eq/Json/PlutusData

Typescript codegen

  • Add new Plutus.V3 types to https://github.com/mlabs-haskell/plutus-ledger-api-typescript/
  • Bump everything to new pla-typescript version with Plutus.V3 types
  • Update lambda-buffers-codegendata/typescript-plutus.json with the new mappings
  • Update testing testsuites/lbt-plutus/lbt-plutus-typescript
    • Update PlutusData/Json golden tests
    • Update internal roundtrip tests for Eq/Json/PlutusData

Purescript codegen

  • Migrate everything to https://github.com/mlabs-haskell/purescript-cardano-types that has all the Plutus.V3 types and remove CTL as a dependency
  • Implement LB Json instances for ALL Plutus types
  • Update lambda-buffers-codegendata/purescript-plutus.json with the new mappings
  • Update testing testsuites/lbt-plutus/lbt-plutus-purescript
    • Update PlutusData/Json golden tests
    • Update internal roundtrip tests for Eq/Json/PlutusData

Upgrade dependants

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

3 participants