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

Haskell codegen: No instance for ‘LambdaBuffers.Runtime.Prelude.Json LambdaBuffers.Plutus.V1.TxOutRef’

Open bladyjoker opened this issue 1 year ago • 4 comments

Once everything is put together, everything should compile, the fact that it doesn't means this is a bug.

Some deets:

    • No instance for ‘LambdaBuffers.Runtime.Prelude.Json
                         LambdaBuffers.Plutus.V1.TxOutRef’
        arising from a use of ‘LambdaBuffers.Runtime.Prelude.toJson’

Imports printed

import qualified LambdaBuffers.Plutus.V1
import qualified LambdaBuffers.Prelude
import qualified LambdaBuffers.Runtime.Prelude
import qualified PlutusTx
import qualified PlutusTx.Eq
import qualified PlutusTx.Maybe
import qualified PlutusTx.Prelude
import qualified Prelude

Cabal printed

cabal-version:      3.0
name:               lbf-infinity-plutus-api
version:            0.1.0.0
synopsis:           A Cabal project that contains LambdaBuffers generated Haskell modules
build-type:         Simple

library
    exposed-modules: LambdaBuffers.Infinity.Validation.Plutus.Vault LambdaBuffers.Infinity.Validation.Plutus.UAsset LambdaBuffers.Infinity.Validation.Plutus.UAsset.Location LambdaBuffers.Infinity.Validation.Plutus.Minting LambdaBuffers.Infinity.Validation.Plutus.UCoin LambdaBuffers.Infinity.Validation.Plutus.Location LambdaBuffers.Infinity.Validation.Plutus.Identity LambdaBuffers.Infinity.Validation.Plutus.Main LambdaBuffers.Infinity.Validation.Plutus.Entity 
    autogen-modules: LambdaBuffers.Infinity.Validation.Plutus.Vault LambdaBuffers.Infinity.Validation.Plutus.UAsset LambdaBuffers.Infinity.Validation.Plutus.UAsset.Location LambdaBuffers.Infinity.Validation.Plutus.Minting LambdaBuffers.Infinity.Validation.Plutus.UCoin LambdaBuffers.Infinity.Validation.Plutus.Location LambdaBuffers.Infinity.Validation.Plutus.Identity LambdaBuffers.Infinity.Validation.Plutus.Main LambdaBuffers.Infinity.Validation.Plutus.Entity 
    hs-source-dirs:     autogen

    default-language: Haskell2010
    default-extensions: NoImplicitPrelude
    build-depends: lbf-plutus, lbf-prelude, base, lbr-plutus, lbr-prelude, plutus-tx

Workaround

Add this to your problematic schema which will bring in the necessary imports.

sum XY = X | Y
derive Eq XY
derive PlutusData XY
derive Json XY

bladyjoker avatar Feb 16 '24 14:02 bladyjoker