diff --git a/app/Main.hs b/app/Main.hs index 67bc64a4..811cad9c 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -502,7 +502,7 @@ someLorentzContract (SomeContract (contract' :: FullContract cp st)) = assertNestedBigMapAbsense @st $ assertContractTypeAbsense @st $ L.SomeContract $ - (L.I fcCode :: L.Contract param (L.Value st)) + (L.I fcCode :: L.ContractCode param (L.Value st)) main :: IO () main = do diff --git a/package.yaml b/package.yaml index cdebb560..aec27cf2 100644 --- a/package.yaml +++ b/package.yaml @@ -28,6 +28,7 @@ flags: dependencies: - base >= 4.7 && < 5 - morley +- lorentz - named - singletons - text @@ -63,7 +64,6 @@ executables: dependencies: - prototype-forwarder-contract - morley - # - morley-prelude - morley-nettest - fmt - optparse-applicative diff --git a/prototype-forwarder-contract.cabal b/prototype-forwarder-contract.cabal index 24717083..1b66e341 100644 --- a/prototype-forwarder-contract.cabal +++ b/prototype-forwarder-contract.cabal @@ -1,10 +1,10 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.31.1. +-- This file has been generated from package.yaml by hpack version 0.31.2. -- -- see: https://github.com/sol/hpack -- --- hash: e7222fd6fc9c99f39ba4ef0ed09be6d93bb3f430ed9c84aebf62c7126ebbc38f +-- hash: 8dd11b0d753bd02e4d5444d784136fd7caf894e26118b1a805f85c279f82c371 name: prototype-forwarder-contract version: 0.1.0.0 @@ -32,7 +32,6 @@ flag dstoken library exposed-modules: - GHC.Natural.Orphans Lorentz.Contracts.Expiring Lorentz.Contracts.Forwarder Lorentz.Contracts.Forwarder.DS.V1 @@ -46,6 +45,7 @@ library Lorentz.Contracts.Product Lorentz.Contracts.Validate.Reception Lorentz.Contracts.View + Michelson.Typed.Value.Orphans other-modules: Paths_prototype_forwarder_contract hs-source-dirs: @@ -54,6 +54,7 @@ library base >=4.7 && <5 , constraints , containers + , lorentz , morley , morley-ledgers , morley-nettest @@ -84,6 +85,7 @@ executable prototype-forwarder-contract , constraints , containers , fmt + , lorentz , morley , morley-ledgers , morley-nettest @@ -129,6 +131,7 @@ test-suite prototype-forwarder-contract-test , containers , fmt , hspec + , lorentz , morley , morley-ledgers , morley-nettest diff --git a/src/GHC/Natural/Orphans.hs b/src/GHC/Natural/Orphans.hs deleted file mode 100644 index b82a4d9f..00000000 --- a/src/GHC/Natural/Orphans.hs +++ /dev/null @@ -1,48 +0,0 @@ -{-# LANGUAGE DataKinds #-} -{-# LANGUAGE FlexibleInstances #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE RankNTypes #-} -{-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE TypeSynonymInstances #-} -{-# LANGUAGE UndecidableInstances #-} -{-# OPTIONS -Wall -Wno-orphans #-} - -module GHC.Natural.Orphans where - -import GHC.Generics - -import Lorentz -import Michelson.Typed.Instr -import Michelson.Typed.Value - -import Lorentz.Contracts.Forwarder.DS.V1 () - -import Data.Singletons (SingI) -import Prelude (id) - --- | Note: `from`, `to` are undefined. --- --- This instance is only to placate the constraints for `ParameterHasEntryPoints` -instance Generic Natural where - type Rep Natural = Rep () - from _ = error "Generic Natural: from not defined" - to _ = error "Generic Natural: to not defined" - --- | Stub instance, defining @`Rep` (`Value` t)@ to be @`Rep` ()@ --- --- This instance is only to placate the constraints for `ParameterHasEntryPoints` -instance Generic (Value t) where - type Rep (Value t) = Rep () - from = error "Generic (Value t): from not defined" - to = error "Generic (Value t): to not defined" - -instance IsoValue (Value' Instr a) where - type ToT (Value' Instr a) = a - toVal = id - fromVal = id - -instance (SingI t) => ParameterHasEntryPoints (Value t) where - type ParameterEntryPointsDerivation (Value t) = EpdNone - -instance ParameterHasEntryPoints Natural where - type ParameterEntryPointsDerivation Natural = EpdNone diff --git a/src/Lorentz/Contracts/Expiring.hs b/src/Lorentz/Contracts/Expiring.hs index 18cf77fb..2cff9b5e 100644 --- a/src/Lorentz/Contracts/Expiring.hs +++ b/src/Lorentz/Contracts/Expiring.hs @@ -41,7 +41,9 @@ data Parameter cp | GetExpiration (View_ Timestamp) deriving (Generic) -instance NiceParameter cp => ParameterHasEntryPoints (Parameter cp) where +instance HasTypeAnn cp => HasTypeAnn (Parameter cp) + +instance (HasTypeAnn cp, NiceParameter cp) => ParameterHasEntryPoints (Parameter cp) where type ParameterEntryPointsDerivation (Parameter cp) = EpdNone deriving instance Read cp => Read (Parameter cp) @@ -92,8 +94,8 @@ assertNotExpired = do -- -- Caveat: Up to error due to `now`, see `assertNotExpired` for more info expiringContract :: forall cp st. IsoValue cp - => Contract cp st - -> Contract (Parameter cp) (Storage st) + => ContractCode cp st + -> ContractCode (Parameter cp) (Storage st) expiringContract wrappedContract = do unpair caseT @(Parameter cp) diff --git a/src/Lorentz/Contracts/Forwarder.hs b/src/Lorentz/Contracts/Forwarder.hs index 3d9e41b7..ac9fc59f 100644 --- a/src/Lorentz/Contracts/Forwarder.hs +++ b/src/Lorentz/Contracts/Forwarder.hs @@ -21,6 +21,7 @@ module Lorentz.Contracts.Forwarder where import Lorentz import qualified Lorentz.Contracts.ManagedLedger as ManagedLedger +import qualified Lorentz.Contracts.Spec.AbstractLedgerInterface as ManagedLedger (TransferParams) import Prelude (Show(..), Enum(..)) @@ -92,7 +93,7 @@ processRefund = do -- | Given a method to calculate the number of `Mutez` to refund from the number -- of sub-tokens transferred, produce a forwarder contract. -forwarderContract :: (forall s. (Natural & s) :-> (Mutez & s)) -> Contract Parameter Storage +forwarderContract :: (forall s. (Natural & s) :-> (Mutez & s)) -> ContractCode Parameter Storage forwarderContract calculateGasCost = do unpair dup diff --git a/src/Lorentz/Contracts/Forwarder/DS/V1.hs b/src/Lorentz/Contracts/Forwarder/DS/V1.hs index d66ec4a6..bcbb0e02 100644 --- a/src/Lorentz/Contracts/Forwarder/DS/V1.hs +++ b/src/Lorentz/Contracts/Forwarder/DS/V1.hs @@ -110,7 +110,7 @@ runTransfer = do -- | Forwarder contract: forwards the given number of sub-tokens -- from its own address to the central wallet. -forwarderContract :: Contract Parameter Storage +forwarderContract :: ContractCode Parameter Storage forwarderContract = do unpair runTransfer diff --git a/src/Lorentz/Contracts/Forwarder/DS/V1/Specialized.hs b/src/Lorentz/Contracts/Forwarder/DS/V1/Specialized.hs index 3e9c9090..aef15148 100644 --- a/src/Lorentz/Contracts/Forwarder/DS/V1/Specialized.hs +++ b/src/Lorentz/Contracts/Forwarder/DS/V1/Specialized.hs @@ -64,7 +64,7 @@ runSpecializedTransfer centralWalletAddr' (ContractRef contractAddr' _) = do -- | Forwarder contract: forwards the given number of sub-tokens -- from its own address to the central wallet. -specializedForwarderContract :: Address -> ContractRef DS.Parameter -> Contract Parameter Storage +specializedForwarderContract :: Address -> ContractRef DS.Parameter -> ContractCode Parameter Storage specializedForwarderContract centralWalletAddr' contractAddr' = do car runSpecializedTransfer centralWalletAddr' contractAddr' @@ -77,13 +77,13 @@ analyzeSpecializedForwarder :: Address -> ContractRef DS.Parameter -> AnalyzerRe analyzeSpecializedForwarder centralWalletAddr' contractAddr' = analyzeLorentz $ specializedForwarderContract centralWalletAddr' contractAddr' -contractOverValue :: forall cp st. Contract cp st -> Contract (Value (ToT cp)) (Value (ToT st)) +contractOverValue :: forall cp st. ContractCode cp st -> ContractCode (Value (ToT cp)) (Value (ToT st)) contractOverValue x = forcedCoerce_ # x # forcedCoerce_ -- | Verify that `SomeContract` is an instance of `specializedForwarderContract`, for some -- particular central wallet address and DS Token address. verifyForwarderContract :: Address -> ContractRef DS.Parameter -> SomeContract -> Either String () -verifyForwarderContract centralWalletAddr' dsTokenContractRef' (SomeContract (contract' :: Contract cp st)) = +verifyForwarderContract centralWalletAddr' dsTokenContractRef' (SomeContract (contract' :: ContractCode cp st)) = case eqT @(ToT cp) @(ToT Parameter) of Nothing -> Left $ "Unexpected parameter type: " <> show (typeRep (Proxy @(ToT cp))) Just Refl -> diff --git a/src/Lorentz/Contracts/Forwarder/DS/V1/Validated.hs b/src/Lorentz/Contracts/Forwarder/DS/V1/Validated.hs index 0aab8813..b7377ab4 100644 --- a/src/Lorentz/Contracts/Forwarder/DS/V1/Validated.hs +++ b/src/Lorentz/Contracts/Forwarder/DS/V1/Validated.hs @@ -39,7 +39,7 @@ mkStorageWithInvestorIds whitelist' = -- | A contract that: -- - Offers a `Forwarder.specializedForwarderContract` interface -- - Offers a `ValidateReception.validateReceptionContract` interface -validatedForwarderContract :: Address -> ContractRef DS.Parameter -> Contract Parameter Storage +validatedForwarderContract :: Address -> ContractRef DS.Parameter -> ContractCode Parameter Storage validatedForwarderContract centralWalletAddr' contractAddr' = productContract (Forwarder.specializedForwarderContract centralWalletAddr' contractAddr') diff --git a/src/Lorentz/Contracts/Forwarder/DS/V1/ValidatedExpiring.hs b/src/Lorentz/Contracts/Forwarder/DS/V1/ValidatedExpiring.hs index e8a929e0..d6ab285a 100644 --- a/src/Lorentz/Contracts/Forwarder/DS/V1/ValidatedExpiring.hs +++ b/src/Lorentz/Contracts/Forwarder/DS/V1/ValidatedExpiring.hs @@ -42,7 +42,7 @@ mkStorageWithInvestorIds whitelist' = -- - Expires after the given timestamp in `Expiring.Storage` -- - Offers a `Forwarder.specializedForwarderContract` interface -- - Offers a `ValidateReception.validateReceptionContract` interface -validatedExpiringForwarderContract :: Address -> ContractRef DS.Parameter -> Contract Parameter Storage +validatedExpiringForwarderContract :: Address -> ContractRef DS.Parameter -> ContractCode Parameter Storage validatedExpiringForwarderContract centralWalletAddr' contractAddr' = Expiring.expiringContract $ productContract diff --git a/src/Lorentz/Contracts/Forwarder/Specialized.hs b/src/Lorentz/Contracts/Forwarder/Specialized.hs index 04852abf..65519c8e 100644 --- a/src/Lorentz/Contracts/Forwarder/Specialized.hs +++ b/src/Lorentz/Contracts/Forwarder/Specialized.hs @@ -28,13 +28,13 @@ import Lorentz.Base (SomeContract(..)) import Michelson.Analyzer (AnalyzerRes) import Michelson.Text -import Lorentz.Contracts.Spec.AbstractLedgerInterface (TransferParams) +import Lorentz.Contracts.Spec.AbstractLedgerInterface (TransferParams) import Data.Type.Equality import Data.Typeable import Prelude (Enum(..), Eq(..), ($), String, show) -import GHC.Natural.Orphans () +import Michelson.Typed.Value.Orphans () -- | The number of sub-tokens to forward @@ -67,7 +67,7 @@ runSpecializedTransfer centralWalletAddr' contractAddr' = do -- | Forwarder contract: forwards the given number of sub-tokens -- from its own address to the central wallet. -specializedForwarderContract :: Address -> Address -> Contract Parameter Storage +specializedForwarderContract :: Address -> Address -> ContractCode Parameter Storage specializedForwarderContract centralWalletAddr' contractAddr' = do car runSpecializedTransfer centralWalletAddr' contractAddr' @@ -81,13 +81,13 @@ analyzeSpecializedForwarder centralWalletAddr' contractAddr' = analyzeLorentz $ specializedForwarderContract centralWalletAddr' contractAddr' -- | `forcedCoerce_` to convert parameter and storage types to their `Value` equivalents -contractOverValue :: forall cp st. Contract cp st -> Contract (Value (ToT cp)) (Value (ToT st)) +contractOverValue :: forall cp st. ContractCode cp st -> ContractCode (Value (ToT cp)) (Value (ToT st)) contractOverValue x = forcedCoerce_ # x # forcedCoerce_ -- | Verify that `SomeContract` is an instance of `specializedForwarderContract`, for some -- particular central wallet address and token address. verifyForwarderContract :: Address -> Address -> SomeContract -> Either String () -verifyForwarderContract centralWalletAddr' tokenAddr' (SomeContract (contract' :: Contract cp st)) = +verifyForwarderContract centralWalletAddr' tokenAddr' (SomeContract (contract' :: ContractCode cp st)) = case eqT @(ToT cp) @(ToT Parameter) of Nothing -> Left $ "Unexpected parameter type: " <> show (typeRep (Proxy @(ToT cp))) Just Refl -> diff --git a/src/Lorentz/Contracts/Forwarder/Specialized/FlushAny.hs b/src/Lorentz/Contracts/Forwarder/Specialized/FlushAny.hs index cbfa55e0..080905a4 100644 --- a/src/Lorentz/Contracts/Forwarder/Specialized/FlushAny.hs +++ b/src/Lorentz/Contracts/Forwarder/Specialized/FlushAny.hs @@ -33,12 +33,11 @@ import Lorentz.Contracts.Spec.AbstractLedgerInterface (TransferParams) import qualified Lorentz.Contracts.Spec.AbstractLedgerInterface as AL import qualified Lorentz.Contracts.Forwarder.Specialized as Specialized -import Data.Singletons import Data.Type.Equality import Data.Typeable import Prelude (Show(..), Enum(..), Eq(..), ($), String, show) -import GHC.Natural.Orphans () +import Michelson.Typed.Value.Orphans () -- | The number of sub-tokens to forward and which token to forward it on @@ -50,6 +49,8 @@ data Parameter = Parameter deriving stock Generic deriving anyclass IsoValue +instance HasTypeAnn Parameter + instance ParameterHasEntryPoints Parameter where type ParameterEntryPointsDerivation Parameter = EpdNone @@ -72,7 +73,7 @@ mkParameter amountToFlush' tokenContract' = mkEPCallRes' = case mkEntryPointCall @(ToT AL.Parameter) (EpNameUnsafe "transfer") - (sing, epParamNotes') of + epParamNotes' of Nothing -> error "mkParameter: TransferParams does not have label 'transfer'" Just xs -> xs @@ -108,7 +109,7 @@ runSpecializedAnyTransfer centralWalletAddr' = do -- | Forwarder contract: forwards the given number of sub-tokens -- from its own address to the central wallet. -specializedAnyForwarderContract :: Address -> Contract Parameter Storage +specializedAnyForwarderContract :: Address -> ContractCode Parameter Storage specializedAnyForwarderContract centralWalletAddr' = do car unParameter @@ -126,7 +127,7 @@ analyzeSpecializedAnyForwarder centralWalletAddr' = -- | Verify that `SomeContract` is an instance of `specializedAnyForwarderContract`, for some -- particular central wallet address and token address. verifyForwarderContract :: Address -> SomeContract -> Either String () -verifyForwarderContract centralWalletAddr' (SomeContract (contract' :: Contract cp st)) = +verifyForwarderContract centralWalletAddr' (SomeContract (contract' :: ContractCode cp st)) = case eqT @(ToT cp) @(ToT Parameter) of Nothing -> Left $ "Unexpected parameter type: " <> show (typeRep (Proxy @(ToT cp))) Just Refl -> diff --git a/src/Lorentz/Contracts/Forwarder/Specialized/FlushAny/Tez.hs b/src/Lorentz/Contracts/Forwarder/Specialized/FlushAny/Tez.hs index 2553ad5a..6486996c 100644 --- a/src/Lorentz/Contracts/Forwarder/Specialized/FlushAny/Tez.hs +++ b/src/Lorentz/Contracts/Forwarder/Specialized/FlushAny/Tez.hs @@ -37,7 +37,7 @@ import Data.Type.Equality import Data.Typeable import Prelude (Show(..), Enum(..), Eq(..), ($), String, show) -import GHC.Natural.Orphans () +import Michelson.Typed.Value.Orphans () -- | We have the addresses of: -- - The central wallet to transfer sub-tokens to @@ -73,7 +73,7 @@ runSpecializedAnyTezTransfer centralWalletAddr' = do -- from its own address to the central wallet. -- -- It also forwards all held Tez to the central wallet. -specializedAnyTezForwarderContract :: Address -> Contract Parameter Storage +specializedAnyTezForwarderContract :: Address -> ContractCode Parameter Storage specializedAnyTezForwarderContract centralWalletAddr' = do car FlushAny.unParameter @@ -89,7 +89,7 @@ analyzeSpecializedAnyTezForwarder centralWalletAddr' = -- | Verify that `SomeContract` is an instance of `specializedAnyTezForwarderContract`, for some -- particular central wallet address and token address. verifyForwarderContract :: Address -> SomeContract -> Either String () -verifyForwarderContract centralWalletAddr' (SomeContract (contract' :: Contract cp st)) = +verifyForwarderContract centralWalletAddr' (SomeContract (contract' :: ContractCode cp st)) = case eqT @(ToT cp) @(ToT Parameter) of Nothing -> Left $ "Unexpected parameter type: " <> show (typeRep (Proxy @(ToT cp))) Just Refl -> diff --git a/src/Lorentz/Contracts/Product.hs b/src/Lorentz/Contracts/Product.hs index 6b5ae05b..c8b6c8f8 100644 --- a/src/Lorentz/Contracts/Product.hs +++ b/src/Lorentz/Contracts/Product.hs @@ -33,12 +33,16 @@ data (:|:) cp1 cp2 | RightParameter !cp2 deriving (Generic) +instance (HasTypeAnn cp1, HasTypeAnn cp2) => HasTypeAnn ((:|:) cp1 cp2) + instance ( NiceParameter cp1 - , HasNoOp (ToT cp1) - , HasNoNestedBigMaps (ToT cp1) , NiceParameter cp2 + , HasNoOp (ToT cp1) , HasNoOp (ToT cp2) + , HasNoNestedBigMaps (ToT cp1) , HasNoNestedBigMaps (ToT cp2) + , HasTypeAnn cp1 + , HasTypeAnn cp2 ) => ParameterHasEntryPoints (cp1 :|: cp2) where -- parameterEntryPoints = pepNone type ParameterEntryPointsDerivation (cp1 :|: cp2) = EpdNone @@ -74,9 +78,9 @@ toStorage = forcedCoerce_ -- accepting parameters from either (`:|:`) and holding storage -- for both (`:&:`) productContract :: forall cp1 st1 cp2 st2. (IsoValue cp1, IsoValue cp2) - => Contract cp1 st1 - -> Contract cp2 st2 - -> Contract (cp1 :|: cp2) (st1 :&: st2) + => ContractCode cp1 st1 + -> ContractCode cp2 st2 + -> ContractCode (cp1 :|: cp2) (st1 :&: st2) productContract wrappedLeft wrappedRight = do unpair caseT @(cp1 :|: cp2) diff --git a/src/Lorentz/Contracts/Validate/Reception.hs b/src/Lorentz/Contracts/Validate/Reception.hs index c908e72c..d9c12a3b 100644 --- a/src/Lorentz/Contracts/Validate/Reception.hs +++ b/src/Lorentz/Contracts/Validate/Reception.hs @@ -84,7 +84,7 @@ assertInWhitelist = do assert $ mkMTextUnsafe "not in whitelist" validateReceptionContract :: () - => Contract Parameter Storage + => ContractCode Parameter Storage validateReceptionContract = do unpair caseT @Parameter diff --git a/src/Michelson/Typed/Value/Orphans.hs b/src/Michelson/Typed/Value/Orphans.hs new file mode 100644 index 00000000..d111bf85 --- /dev/null +++ b/src/Michelson/Typed/Value/Orphans.hs @@ -0,0 +1,27 @@ +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE FlexibleInstances #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RankNTypes #-} +{-# LANGUAGE TypeFamilies #-} +{-# LANGUAGE TypeSynonymInstances #-} +{-# LANGUAGE UndecidableInstances #-} +{-# OPTIONS -Wall -Wno-orphans #-} + +module Michelson.Typed.Value.Orphans where + +import Lorentz +import Michelson.Typed.Instr +import Michelson.Typed.Value +import Michelson.Typed.Annotation + +import Data.Singletons (SingI) +import Prelude (id) + +instance IsoValue (Value' Instr a) where + type ToT (Value' Instr a) = a + toVal = id + fromVal = id + +instance SingI t => HasTypeAnn (Value t) where + getTypeAnn = starNotes + diff --git a/stack-dstoken.yaml b/stack-dstoken.yaml index cdf5b45e..3d7909d8 100644 --- a/stack-dstoken.yaml +++ b/stack-dstoken.yaml @@ -4,36 +4,52 @@ packages: - . extra-deps: -- aeson-options-0.1.0 -- base58-bytestring-0.1.0 -- constraints-0.11 -- hex-text-0.1.0.0 -- pretty-terminal-0.1.0.0 - qm-interpolated-string-0.3.0.0 -- show-type-0.1.1 -- first-class-families-0.6.0.0@sha256:9d2a2a0092dfb8fd0e688b0b6bf71242fbc393c028b0b669d25ed387667490c2 -# Morley and associated libraries +# Morley, indigo and morley-prelude - git: https://gitlab.com/morley-framework/morley.git # ^ CI cannot use ssh, so we use http clone here commit: - 34c9cbfa160cde0ac8e9bd92d8fc57b3844da41e # master + df0045be145456e658e88e8368e1b892c0d21286 # master, dstoken latest subdirs: - - . - - prelude - - morley-upgradeable - - morley-ledgers - - morley-ledgers-test - - indigo - - morley-nettest + - code/morley + - code/indigo + - code/lorentz + - code/morley-ledgers + - code/morley-ledgers-test + - code/morley-nettest + - code/morley-upgradeable + - code/morley-client + +# Required by morley +- aeson-options-0.1.0 +- base58-bytestring-0.1.0 +- constraints-0.11 +- hex-text-0.1.0.0 +- pretty-terminal-0.1.0.0 +- show-type-0.1.1 - git: https://github.com/int-index/caps.git commit: ab4345eabd58fc6f05d3b46bea2c5acdba3ec6f8 +# tezos-bake-monitor-lib and its deps which are used in morley-client +- git: + https://gitlab.com/obsidian.systems/tezos-bake-monitor-lib.git + commit: + 19a9ce57a0510bc3ad8a3f639d0a968a65024b86 + subdirs: + - tezos-bake-monitor-lib +- functor-infix-0.0.5@sha256:cea21a321031f556d7a21b51e049493e7cb78baf64dd63f0d1a36de01c4c735b +- hashing-0.1.0.1@sha256:98861f16791946cdf28e3c7a6ee9ac8b72d546d6e33c569c7087ef18253294e7 +- dependent-sum-0.6.2.0 +- dependent-sum-template-0.1.0.0 +- constraints-extras-0.3.0.2@sha256:bf6884be65958e9188ae3c9e5547abfd6d201df021bff8a4704c2c4fe1e1ae5b +- morley-prelude-0.3.0 +- tasty-hunit-compat-0.2 - git: git@gitlab.com:elevated-returns/morley-dstoken.git commit: - dbfc4980249410a0df1c8c5bdf3d1dd0765d70d3 # master + e275388f25fa7ad160a08a8e3e722e00e88c4a8f # master subdirs: - . diff --git a/stack.yaml b/stack.yaml index 5419597f..6f0f7cd1 100644 --- a/stack.yaml +++ b/stack.yaml @@ -4,31 +4,47 @@ packages: - . extra-deps: -- aeson-options-0.1.0 -- base58-bytestring-0.1.0 -- constraints-0.11 -- hex-text-0.1.0.0 -- pretty-terminal-0.1.0.0 - qm-interpolated-string-0.3.0.0 -- show-type-0.1.1 -- first-class-families-0.6.0.0@sha256:9d2a2a0092dfb8fd0e688b0b6bf71242fbc393c028b0b669d25ed387667490c2 -# Morley and associated libraries +# Morley, indigo and morley-prelude - git: https://gitlab.com/morley-framework/morley.git # ^ CI cannot use ssh, so we use http clone here commit: - 34c9cbfa160cde0ac8e9bd92d8fc57b3844da41e # master + df0045be145456e658e88e8368e1b892c0d21286 # master, dstoken latest subdirs: - - . - - prelude - - morley-upgradeable - - morley-ledgers - - morley-ledgers-test - - indigo - - morley-nettest + - code/morley + - code/indigo + - code/lorentz + - code/morley-ledgers + - code/morley-ledgers-test + - code/morley-nettest + - code/morley-upgradeable + - code/morley-client + +# Required by morley +- aeson-options-0.1.0 +- base58-bytestring-0.1.0 +- constraints-0.11 +- hex-text-0.1.0.0 +- pretty-terminal-0.1.0.0 +- show-type-0.1.1 - git: https://github.com/int-index/caps.git commit: ab4345eabd58fc6f05d3b46bea2c5acdba3ec6f8 +# tezos-bake-monitor-lib and its deps which are used in morley-client +- git: + https://gitlab.com/obsidian.systems/tezos-bake-monitor-lib.git + commit: + 19a9ce57a0510bc3ad8a3f639d0a968a65024b86 + subdirs: + - tezos-bake-monitor-lib +- functor-infix-0.0.5@sha256:cea21a321031f556d7a21b51e049493e7cb78baf64dd63f0d1a36de01c4c735b +- hashing-0.1.0.1@sha256:98861f16791946cdf28e3c7a6ee9ac8b72d546d6e33c569c7087ef18253294e7 +- dependent-sum-0.6.2.0 +- dependent-sum-template-0.1.0.0 +- constraints-extras-0.3.0.2@sha256:bf6884be65958e9188ae3c9e5547abfd6d201df021bff8a4704c2c4fe1e1ae5b +- morley-prelude-0.3.0 +- tasty-hunit-compat-0.2 nix: shell-file: shell.nix