diff --git a/agora.cabal b/agora.cabal index 8d17d47..65039ad 100644 --- a/agora.cabal +++ b/agora.cabal @@ -95,6 +95,7 @@ common deps , data-default-class , generics-sop , plutarch + , plutarch-extra , plutus-core , plutus-ledger-api , plutus-tx @@ -128,8 +129,6 @@ library other-modules: Agora.Utils Agora.Utils.Value - Plutarch.Api.V1.These - Plutarch.These hs-source-dirs: agora diff --git a/agora/Plutarch/Api/V1/These.hs b/agora/Plutarch/Api/V1/These.hs deleted file mode 100644 index e1ae1ed..0000000 --- a/agora/Plutarch/Api/V1/These.hs +++ /dev/null @@ -1,62 +0,0 @@ -{-# OPTIONS_GHC -Wno-orphans #-} - -module Plutarch.Api.V1.These (PTheseData (..)) where - -import GHC.Generics qualified as GHC -import Generics.SOP -import Plutarch.DataRepr (PIsDataReprInstances (PIsDataReprInstances)) -import Plutarch.Lift ( - PConstantRepr, - PConstanted, - PLifted, - PUnsafeLiftDecl, - pconstantFromRepr, - pconstantToRepr, - ) -import Plutus.V1.Ledger.Api qualified as Plutus -import PlutusTx.These qualified as PlutusThese - -data PTheseData (a :: PType) (b :: PType) (s :: S) - = PDThis (Term s (PDataRecord '["_0" ':= a])) - | PDThat (Term s (PDataRecord '["_0" ':= b])) - | PDThese (Term s (PDataRecord '["_0" ':= a, "_1" ':= b])) - deriving stock (GHC.Generic) - deriving anyclass (Generic, PIsDataRepr) - deriving - (PlutusType, PIsData) - via PIsDataReprInstances (PTheseData a b) - -instance - ( Plutus.ToData (PLifted a) - , Plutus.ToData (PLifted b) - , Plutus.FromData (PLifted a) - , Plutus.FromData (PLifted b) - , PLift a - , PLift b - ) => - PUnsafeLiftDecl (PTheseData a b) - where - type PLifted (PTheseData a b) = PlutusThese.These (PLifted a) (PLifted b) - -{- TODO: Make PTheseData an instance of PConstant: - https://github.com/Plutonomicon/plutarch/pull/355 --} - -instance - ( PLifted (PConstanted a) ~ a - , Plutus.ToData b - , Plutus.FromData b - , Plutus.ToData a - , Plutus.FromData a - , PConstant a - , PLifted (PConstanted b) ~ b - , Plutus.FromData b - , Plutus.ToData b - , PConstant b - ) => - PConstant (PlutusThese.These a b) - where - type PConstantRepr (PlutusThese.These a b) = [(Plutus.Data, Plutus.Data)] - type PConstanted (PlutusThese.These a b) = PTheseData (PConstanted a) (PConstanted b) - pconstantToRepr _t = undefined - pconstantFromRepr _t = undefined diff --git a/agora/Plutarch/These.hs b/agora/Plutarch/These.hs deleted file mode 100644 index f9b225a..0000000 --- a/agora/Plutarch/These.hs +++ /dev/null @@ -1,12 +0,0 @@ -module Plutarch.These (PThese (..)) where - -import GHC.Generics qualified as GHC -import Generics.SOP - --- | Plutus These type with Scott-encoded representation. -data PThese (a :: PType) (b :: PType) (s :: S) - = PThis (Term s a) - | PThat (Term s b) - | PThese (Term s a) (Term s b) - deriving stock (GHC.Generic) - deriving anyclass (Generic, PlutusType) diff --git a/flake.lock b/flake.lock index a5cacae..a8f99c4 100644 --- a/flake.lock +++ b/flake.lock @@ -885,11 +885,11 @@ "iohk-nix_2": { "flake": false, "locked": { - "lastModified": 1646330344, - "narHash": "sha256-EbhMDeneH26wDi+x5kz8nfru/dE9JZ241hJed4a8lz8=", + "lastModified": 1648032999, + "narHash": "sha256-3uCz+gJppvM7z6CUCkBbFSu60WgIE+e3oXwXiAiGWSY=", "owner": "input-output-hk", "repo": "iohk-nix", - "rev": "0a0126d8fb1bdc61ce1fd2ef61cf396de800fdad", + "rev": "5e667b374153327c7bdfdbfab8ef19b1f27d4aac", "type": "github" }, "original": { @@ -1095,11 +1095,11 @@ }, "nixpkgs-2111_2": { "locked": { - "lastModified": 1646844010, - "narHash": "sha256-NRDLmpjmBMNBRr/BiztSsGht5wJYl8WZFzj+b+6LhLk=", + "lastModified": 1647902355, + "narHash": "sha256-SySJ8IRaogpc/BPOkysA+kzq9URvXthoeKIemaTKCiM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d59edd3833597be12763f1f017c7ad666cf1b810", + "rev": "31aa631dbc496500efd2507baaed39626f6650f2", "type": "github" }, "original": { @@ -1127,11 +1127,11 @@ }, "nixpkgs-2111_4": { "locked": { - "lastModified": 1647902355, - "narHash": "sha256-SySJ8IRaogpc/BPOkysA+kzq9URvXthoeKIemaTKCiM=", + "lastModified": 1644510859, + "narHash": "sha256-xjpVvL5ecbyi0vxtVl/Fh9bwGlMbw3S06zE5nUzFB8A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "31aa631dbc496500efd2507baaed39626f6650f2", + "rev": "0d1d5d7e3679fec9d07f2eb804d9f9fdb98378d3", "type": "github" }, "original": { @@ -1302,11 +1302,11 @@ "validity": "validity" }, "locked": { - "lastModified": 1648145467, - "narHash": "sha256-yrq0CJbZPrDmrEeI/RqNmKGHoHasMsnknug7kPLUsRU=", + "lastModified": 1648163186, + "narHash": "sha256-UfaSb4nk9HWzsj1Kb8RJuPV+iw1Nl4E2+97KOwIwcao=", "owner": "peter-mlabs", "repo": "plutarch", - "rev": "2ddf1d1b6efc43598ca3502471f6ace596f920ec", + "rev": "0638dbd706bc2c5f48f9f40be7bbe1986a778698", "type": "github" }, "original": {