lambda-buffers icon indicating copy to clipboard operation
lambda-buffers copied to clipboard

Planning: LambdaBuffers Cardano Conway upgrades

Open bladyjoker opened this issue 6 months ago • 0 comments

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

  • [ ] Demo https://github.com/mlabs-haskell/lambda-buffers-for-cardano
  • [ ] Client projects

bladyjoker avatar Aug 08 '24 12:08 bladyjoker