packages feed

cleveland 0.3.2 → 0.4.0

raw patch · 15 files changed

+175/−153 lines, 15 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Test.Cleveland.Instances: instance (mname GHC.Types.~ 'GHC.Maybe.Nothing) => Data.Default.Class.Default (Lorentz.Entrypoints.Core.EntrypointRef mname)
- Test.Cleveland.Instances: instance Fmt.Buildable.Buildable Data.ByteString.Internal.ByteString
- Test.Cleveland.Internal.Abstract: type family ClevelandBaseMonad caps :: Type -> Type;
+ Test.Cleveland.Instances: instance Fmt.Buildable.Buildable Data.ByteString.Internal.Type.ByteString
+ Test.Cleveland.Internal.Abstract: type ClevelandBaseMonad caps :: Type -> Type;
+ Test.Cleveland.Internal.Actions: type ContractOriginateType contract :: OriginationType;
+ Test.Cleveland.Internal.Actions.Originate: type ContractOriginateType contract :: OriginationType;
- Hedgehog.Gen.Michelson.Typed: genSimpleInstr :: (MonadGen m, inp ~ (x : xs), SingI x) => m (Instr inp inp)
+ Hedgehog.Gen.Michelson.Typed: genSimpleInstr :: (MonadGen m, inp ~ (x ': xs), SingI x) => m (Instr inp inp)
- Hedgehog.Range.Defaults: class Default a
+ Hedgehog.Range.Defaults: class () => Default a
- Lorentz.Test.DupableScan: type family CheckDupablesDistribution (a :: Type) :: Either (Bool, Maybe Symbol, Type) ()
+ Lorentz.Test.DupableScan: type family CheckDupablesDistribution a
- Test.Cleveland: class Default a
+ Test.Cleveland: class () => Default a
- Test.Cleveland: class ToAddress a
+ Test.Cleveland: class () => ToAddress a
- Test.Cleveland: data AddressWithAlias (kind :: AddressKind)
+ Test.Cleveland: data () => AddressWithAlias (kind :: AddressKind)
- Test.Cleveland: data Alias (kind :: AddressKind)
+ Test.Cleveland: data () => Alias (kind :: AddressKind)
- Test.Cleveland: data EntrypointRef (mname :: Maybe Symbol)
+ Test.Cleveland: data () => EntrypointRef (mname :: Maybe Symbol)
- Test.Cleveland: data KindedAddress (kind :: AddressKind)
+ Test.Cleveland: data () => KindedAddress (kind :: AddressKind)
- Test.Cleveland: data MorleyClientEnv
+ Test.Cleveland: data () => MorleyClientEnv
- Test.Cleveland: data MorleyLogs
+ Test.Cleveland: data () => MorleyLogs
- Test.Cleveland: data Mutez
+ Test.Cleveland: data () => Mutez
- Test.Cleveland: data TezosClientEnv
+ Test.Cleveland: data () => TezosClientEnv
- Test.Cleveland: data VotingPowers
+ Test.Cleveland: data () => VotingPowers
- Test.Cleveland: enumAliases :: forall n n'. (SingIPeano n, IsoNatPeano n n') => ImplicitAlias -> SizedList n SpecificOrDefaultAlias
+ Test.Cleveland: enumAliases :: forall n n'. (SingIPeano n, IsoNatPeano n n') => ImplicitAlias -> SizedList' n' SpecificOrDefaultAlias
- Test.Cleveland: newAddresses :: forall n n' caps m. (HasCallStack, MonadCleveland caps m, IsoNatPeano n n') => SizedList n SpecificOrDefaultAlias -> m (SizedList n ImplicitAddressWithAlias)
+ Test.Cleveland: newAddresses :: forall n n' caps m. (HasCallStack, MonadCleveland caps m, IsoNatPeano n n') => SizedList n SpecificOrDefaultAlias -> m (SizedList' n' ImplicitAddressWithAlias)
- Test.Cleveland: newtype NamedF (f :: Type -> Type) a (name :: Symbol)
+ Test.Cleveland: newtype () => NamedF (f :: Type -> Type) a (name :: Symbol)
- Test.Cleveland.Internal.Abstract: [ODContractAndStorageLorentz] :: {odStorage :: st " Initial storage.", odContract :: Contract param st vd " The contract itself. We are using Lorentz version here which is convenient. However, keep in mind that if someone wants to test a contract from @.tz@ file, they should use 'OTUntyped' origination type."} -> ODContractAndStorage ('OTTypedLorentz param st vd)
+ Test.Cleveland.Internal.Abstract: [ODContractAndStorageLorentz] :: st -> Contract param st vd -> ODContractAndStorage ('OTTypedLorentz param st vd)
- Test.Cleveland.Internal.Abstract: [ODContractAndStorageTyped] :: (NiceStorage st, NiceViewsDescriptor vd, NiceParameter cp) => {todStorage :: st " Initial storage.", todContract :: Contract (ToT cp) (ToT st) " The contract itself."} -> ODContractAndStorage ('OTTypedMorley cp st vd)
+ Test.Cleveland.Internal.Abstract: [ODContractAndStorageTyped] :: (NiceStorage st, NiceViewsDescriptor vd, NiceParameter cp) => st -> Contract (ToT cp) (ToT st) -> ODContractAndStorage ('OTTypedMorley cp st vd)
- Test.Cleveland.Internal.Abstract: [ODContractAndStorageUntyped] :: {uodStorage :: Value " Initial storage.", uodContract :: Contract " The contract itself."} -> ODContractAndStorage 'OTUntyped
+ Test.Cleveland.Internal.Abstract: [ODContractAndStorageUntyped] :: Value -> Contract -> ODContractAndStorage 'OTUntyped
- Test.Cleveland.Internal.Abstract: ccMoneybagL :: forall m_a1uyR. Lens' (ClevelandCaps m_a1uyR) Moneybag
+ Test.Cleveland.Internal.Abstract: ccMoneybagL :: forall m_a1uJj. Lens' (ClevelandCaps m_a1uJj) Moneybag
- Test.Cleveland.Internal.Abstract: ccSenderL :: forall m_a1uyR. Lens' (ClevelandCaps m_a1uyR) Sender
+ Test.Cleveland.Internal.Abstract: ccSenderL :: forall m_a1uJj. Lens' (ClevelandCaps m_a1uJj) Sender
- Test.Cleveland.Internal.Abstract: ecClevelandCapsL :: forall m_a1uyQ. Lens' (EmulatedCaps m_a1uyQ) (ClevelandCaps m_a1uyQ)
+ Test.Cleveland.Internal.Abstract: ecClevelandCapsL :: forall m_a1uJi. Lens' (EmulatedCaps m_a1uJi) (ClevelandCaps m_a1uJi)
- Test.Cleveland.Internal.Abstract: ncClevelandCapsL :: forall m_a1uyP m_a1wuv. Lens (NetworkCaps m_a1uyP) (NetworkCaps m_a1wuv) (ClevelandCaps m_a1uyP) (ClevelandCaps m_a1wuv)
+ Test.Cleveland.Internal.Abstract: ncClevelandCapsL :: forall m_a1uJh m_a1wwE. Lens (NetworkCaps m_a1uJh) (NetworkCaps m_a1wwE) (ClevelandCaps m_a1uJh) (ClevelandCaps m_a1wwE)
- Test.Cleveland.Internal.Actions: enumAliases :: forall n n'. (SingIPeano n, IsoNatPeano n n') => ImplicitAlias -> SizedList n SpecificOrDefaultAlias
+ Test.Cleveland.Internal.Actions: enumAliases :: forall n n'. (SingIPeano n, IsoNatPeano n n') => ImplicitAlias -> SizedList' n' SpecificOrDefaultAlias
- Test.Cleveland.Internal.Actions: newAddresses :: forall n n' caps m. (HasCallStack, MonadCleveland caps m, IsoNatPeano n n') => SizedList n SpecificOrDefaultAlias -> m (SizedList n ImplicitAddressWithAlias)
+ Test.Cleveland.Internal.Actions: newAddresses :: forall n n' caps m. (HasCallStack, MonadCleveland caps m, IsoNatPeano n n') => SizedList n SpecificOrDefaultAlias -> m (SizedList' n' ImplicitAddressWithAlias)
- Test.Cleveland.Internal.Actions: type OFConstraints ct prop props r = (OriginateFunc ct (prop : props) r, CheckDupProp prop props)
+ Test.Cleveland.Internal.Actions: type OFConstraints ct prop props r = (OriginateFunc ct (prop ': props) r, CheckDupProp prop props)
- Test.Cleveland.Internal.Actions: type family OriginationResult a
+ Test.Cleveland.Internal.Actions: type family CheckDupProp name props
- Test.Cleveland.Internal.Actions.Misc: enumAliases :: forall n n'. (SingIPeano n, IsoNatPeano n n') => ImplicitAlias -> SizedList n SpecificOrDefaultAlias
+ Test.Cleveland.Internal.Actions.Misc: enumAliases :: forall n n'. (SingIPeano n, IsoNatPeano n n') => ImplicitAlias -> SizedList' n' SpecificOrDefaultAlias
- Test.Cleveland.Internal.Actions.Misc: newAddresses :: forall n n' caps m. (HasCallStack, MonadCleveland caps m, IsoNatPeano n n') => SizedList n SpecificOrDefaultAlias -> m (SizedList n ImplicitAddressWithAlias)
+ Test.Cleveland.Internal.Actions.Misc: newAddresses :: forall n n' caps m. (HasCallStack, MonadCleveland caps m, IsoNatPeano n n') => SizedList n SpecificOrDefaultAlias -> m (SizedList' n' ImplicitAddressWithAlias)
- Test.Cleveland.Internal.Actions.Originate: type OFConstraints ct prop props r = (OriginateFunc ct (prop : props) r, CheckDupProp prop props)
+ Test.Cleveland.Internal.Actions.Originate: type OFConstraints ct prop props r = (OriginateFunc ct (prop ': props) r, CheckDupProp prop props)
- Test.Cleveland.Internal.Actions.Originate: type family OriginationResult a
+ Test.Cleveland.Internal.Actions.Originate: type family CheckDupProp name props
- Test.Cleveland.Internal.Actions.Transfer: type family TransferIgnoreResultSym0 :: TransferResult
+ Test.Cleveland.Internal.Actions.Transfer: type family TransferWithEmitsSym0 :: TransferResult
- Test.Cleveland.Lorentz.Import: data ContractReadError
+ Test.Cleveland.Lorentz.Import: data () => ContractReadError
- Test.Cleveland.Lorentz.Import: data ValueReadError
+ Test.Cleveland.Lorentz.Import: data () => ValueReadError
- Test.Cleveland.Lorentz.Types: class ToAddress a
+ Test.Cleveland.Lorentz.Types: class () => ToAddress a
- Test.Cleveland.Michelson.Import: data ContractReadError
+ Test.Cleveland.Michelson.Import: data () => ContractReadError
- Test.Cleveland.Michelson.Import: data ValueReadError
+ Test.Cleveland.Michelson.Import: data () => ValueReadError

Files

CHANGES.md view
@@ -1,6 +1,15 @@ <!-- Unreleased: append new entries here -->  +0.4.0+=====+* [!1369](https://gitlab.com/morley-framework/morley/-/merge_requests/1369)+  Move `Default` instance for `EntrypointRef` to Lorentz+* [!1364](https://gitlab.com/morley-framework/morley/-/merge_requests/1364)+  Update to LTS-21.4 (GHC 9.4.5)+* [!1358](https://gitlab.com/morley-framework/morley/-/merge_requests/1358)+  Make missing Generic errors more readable+ 0.3.2 ===== * [!1323](https://gitlab.com/morley-framework/morley/-/merge_requests/1323)
README.md view
@@ -1,6 +1,6 @@-> :warning: **Note: this project is being deprecated.**+> :warning: **Note: this project is deprecated.** >-> It will no longer be maintained after the activation of protocol "N" on the Tezos mainnet.+> It is no longer maintained since the activation of protocol "Nairobi" on the Tezos mainnet (June 24th, 2023).  # Cleveland: A testing framework for Morley 
cleveland.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           cleveland-version:        0.3.2+version:        0.4.0 synopsis:       Testing framework for Morley. description:    This package provides an eDSL for testing contracts written in Michelson, Morley or Lorentz. These tests can be run on an emulated environment or on a real network. category:       Blockchain@@ -154,7 +154,7 @@       UndecidableInstances       UndecidableSuperClasses       ViewPatterns-  ghc-options: -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-monomorphism-restriction -Wno-implicit-prelude -Wno-prepositive-qualified-module -Wno-missing-safe-haskell-mode+  ghc-options: -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-monomorphism-restriction -Wno-implicit-prelude -Wno-prepositive-qualified-module -Wno-missing-safe-haskell-mode -Wno-missing-kind-signatures -Wno-implicit-lift -Wno-unticked-promoted-constructors   build-depends:       HUnit     , MonadRandom@@ -309,7 +309,7 @@       UndecidableInstances       UndecidableSuperClasses       ViewPatterns-  ghc-options: -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-monomorphism-restriction -Wno-implicit-prelude -Wno-prepositive-qualified-module -Wno-missing-safe-haskell-mode -threaded -eventlog -rtsopts "-with-rtsopts=-N -A64m -AL256m"+  ghc-options: -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-monomorphism-restriction -Wno-implicit-prelude -Wno-prepositive-qualified-module -Wno-missing-safe-haskell-mode -Wno-missing-kind-signatures -Wno-implicit-lift -Wno-unticked-promoted-constructors -threaded -rtsopts "-with-rtsopts=-N -A64m -AL256m" -Wno-unused-imports   build-tool-depends:       tasty-discover:tasty-discover   build-depends:
src/Lorentz/Test/DupableScan.hs view
@@ -21,9 +21,14 @@  import Lorentz import Morley.Michelson.Typed.Scope+import Morley.Util.Generic import Morley.Util.Type import Morley.Util.TypeLits +{- $setup+>>> import Lorentz+-}+ -- | Bind on 'Either's that return nothing. type SumEithers :: Either l () -> Either l () -> Either l r type family SumEithers e1 e2 where@@ -50,9 +55,16 @@  -- | For the given type, check that at the left subtree of pairs tree it -- contains only dupable elements, and at the right - only non-dupable ones.-type family CheckDupablesDistribution (a :: Type) :: Either (Bool, Maybe Symbol, Type) () where-  CheckDupablesDistribution a = GCheckDupablesDistribution (G.Rep a)+--+-- On ambiguity, evaluation is delayed to avoid exposing Generic internals.+type CheckDupablesDistribution :: Type -> Either (Bool, Maybe Symbol, Type) ()+type family CheckDupablesDistribution a where+  CheckDupablesDistribution ThisTypeShallNotBeExported = TypeError ('Text "impossible")+  CheckDupablesDistribution a = GCheckDupablesDistribution (GRep a) +-- | Dummy type to delay evaluation of 'CheckDupablesDistribution'.+data ThisTypeShallNotBeExported+ -- | Error for 'checkDupablesDistribution'. data BadElement = BadElement   { beExpectedDupability :: Bool@@ -76,7 +88,35 @@     , beRecType = typeRep (Proxy @ty)     } --- | 'CheckDupablesDistribution' for term-level.+{- | 'CheckDupablesDistribution' for term-level.++Shows decent error messages on missing 'Generic' instance.++>>> checkDupablesDistribution+...+... Ambiguous type variable ‘a0’ arising from a use of ‘checkDupablesDistribution’+... prevents the constraint ‘(Lorentz.Test.DupableScan.DemoteRes+... (CheckDupablesDistribution a0))’ from being solved.+...++The type must have a 'Generic' instance.++>>> data Foo = Foo () (Ticket ())+>>> checkDupablesDistribution @Foo+...+... GHC.Generics.Rep Foo+... is stuck. Likely+... Generic Foo+... instance is missing or out of scope.+...++The type itself needn't necessarily have @IsoValue@ instance, but all its leaves+must.++>>> data Foo = Foo () (Ticket ()) deriving Generic+>>> checkDupablesDistribution @Foo+Right ()+-} checkDupablesDistribution   :: forall a. (DemoteRes (CheckDupablesDistribution a))   => Either BadElement ()
src/Test/Cleveland/Instances.hs view
@@ -13,7 +13,7 @@ import Test.Tasty.Runners (FailureReason(..)) import Time (Time) -import Lorentz.Entrypoints.Core (EntrypointRef(..), NiceEntrypointName)+import Lorentz.Entrypoints.Core (NiceEntrypointName) import Morley.Michelson.Text (MText, mkMText) import Morley.Michelson.Typed.Haskell.Value (BigMap(..)) import Morley.Michelson.Untyped qualified as U@@ -124,9 +124,6 @@     TestThrewException e -> "Test threw exception: " +| displayException e |+ ""     TestTimedOut s -> "Test timed out: " +| s |+ ""     TestDepFailed -> "Test skipped because its dependency failed"--instance mname ~ 'Nothing => Default (EntrypointRef mname) where-  def = CallDefault  instance Default U.EpName where   def = U.DefEpName
src/Test/Cleveland/Internal/Actions/ExceptionHandling.hs view
@@ -43,9 +43,9 @@ -- exception. -- -- > expectTransferFailure (failedWith (constant @MText "NOT_ADMIN")) $--- >   call contractAddr (Call @"Ep") arg+-- >   call contractAddr #ep arg ----- > call contractAddr (Call @"Ep") arg & expectTransferFailure+-- > call contractAddr #ep arg & expectTransferFailure -- >   ( failedWith (customError #tag 3) && -- >     addressIs contractAddr -- >   )
src/Test/Cleveland/Internal/Actions/Misc.hs view
@@ -10,7 +10,7 @@  import Data.Singletons (demote) import Fmt (Buildable, Doc, build, indentF, unlinesF, (+|), (|+))-import Time (KnownDivRat, Second, Time, toNum)+import Time (KnownDivRat, Second, Time, floorRat)  import Lorentz (BigMapId, Contract(..), DemoteViewsDescriptor, IsoValue) import Lorentz.Bytes@@ -116,7 +116,7 @@   :: forall n n' caps m.     (HasCallStack, MonadCleveland caps m, IsoNatPeano n n')   => SizedList n SpecificOrDefaultAlias-  -> m (SizedList n ImplicitAddressWithAlias)+  -> m (SizedList' n' ImplicitAddressWithAlias) newAddresses aliases = do   addrs <- withCap getMiscCap \cap -> traverse (cmiGenKey cap) aliases   Moneybag moneybag <- view moneybagL@@ -160,7 +160,7 @@ enumAliases   :: forall n n'.      (SingIPeano n, IsoNatPeano n n')-  => ImplicitAlias -> SizedList n SpecificOrDefaultAlias+  => ImplicitAlias -> SizedList' n' SpecificOrDefaultAlias enumAliases (ImplicitAlias pfx) =   SpecificAlias <$> SL.generate @n (\n -> ImplicitAlias $ pfx <> "-" <> show n) @@ -452,7 +452,7 @@ -- -- Can be useful when testing code using @MIN_BLOCK_TIME@ instruction. getMinBlockTime :: (HasCallStack, MonadCleveland caps m) => m Natural-getMinBlockTime = toNum @Second <$> getApproximateBlockInterval+getMinBlockTime = floorRat <$> getApproximateBlockInterval  -- | Execute a contract's code without originating it. -- The chain's state will not be modified.
src/Test/Cleveland/Internal/Actions/MonadOps.hs view
@@ -19,7 +19,7 @@ -- 'MonadOps' constraint on it, f. ex.: -- -- > callEp1 :: MonadOps m => ContractHandle MyParam () () -> Integer -> m ()--- > callEp1 ch = transfer ch . calling (ep @"Entrypoint1")+-- > callEp1 ch = transfer ch . calling #entrypoint1 class (MonadTransfer m, MonadOriginate m) => MonadOps m instance (MonadTransfer m, MonadOriginate m) => MonadOps m 
src/Test/Cleveland/Internal/Actions/Transfer.hs view
@@ -66,7 +66,7 @@ is arbitrary, but it is usually more convenient to specify transfer amount first. For example: -> transfer addr [tz|123u|] $ calling (ep @"Entrypoint") ()+> transfer addr [tz|123u|] $ calling #entrypoint () > transfer addr [tz|123u|]  If the call isn't specified, then the default entrypoint will be called with@@ -117,7 +117,7 @@ :}  GHC may not always figure out the type of the entrypoint parameter. In that-case, it'll show unbound type variable, usually @arg0@:+case, it'll show unbound type variable, usually @arg@ or @arg0@:  >>> :{ example@@ -129,7 +129,7 @@ ... Can not look up entrypoints in type ...   cp ... The most likely reason it is ambiguous, or you need-...   HasEntrypointArg cp (EntrypointRef 'Nothing) arg0+...   HasEntrypointArg cp (EntrypointRef 'Nothing) arg ... constraint ... @@ -353,7 +353,7 @@ -- specified entrypoint and the entrypoint in question accepts the argument -- provided, a type error is raised otherwise. ----- > transfer addr $ calling (ep @"Entrypoint") ()+-- > transfer addr $ calling #entrypoint () -- -- Use 'CallDefault' or @def@ to call the default entrypoint. --@@ -383,11 +383,6 @@ -- Also, no compile-time checks are performed on the entrypoint name, so it -- can be malformed. ----- > transfer addr $ unsafeCalling (ep @"Entrypoint") ()------ Overloaded labels are supported with 'unsafeCalling', so you can specify the--- entrypoint as an overloaded label:--- -- > transfer addr $ unsafeCalling #entrypoint () -- -- Use 'U.DefEpName' or @def@ to call the default entrypoint.@@ -409,5 +404,5 @@ -- | 'transfer' flag to signal we want contract events emitted by @EMIT@ -- returned. Passed in the variadic part of 'transfer', e.g. ----- > transfer addr [tz|123u|] WithContractEvents $ calling (ep @"Entrypoint") ()+-- > transfer addr [tz|123u|] WithContractEvents $ calling #entrypoint () data WithContractEvents = WithContractEvents
src/Test/Cleveland/Internal/Client.hs view
@@ -20,7 +20,7 @@ import Data.Typeable (cast) import Fmt (Buildable(build), Doc, indentF, pretty, unlinesF, (+|), (|+)) import System.IO (hFlush)-import Time (KnownDivRat, Second, Time, sec, threadDelay, toNum, toUnit)+import Time (KnownDivRat, Second, Time, floorRat, sec, threadDelay, toFractional, toUnit) import Unsafe qualified (fromIntegral)  import Lorentz (NicePackedValue)@@ -169,8 +169,7 @@         if neExplicitDataDir         then id         else Client.mceTezosClientL . tceMbTezosClientDataDirL .~ Nothing-  storageAddress <- runMorleyClientM setupEnv $-    Client.resolveAddressMaybe (AddressAlias neMoneybagAlias)+  storageAddress <- runMorleyClientM setupEnv $ Client.resolveAddressMaybe neMoneybagAlias   Moneybag <$> case (neSecretKey, storageAddress) of     (Nothing, Just addr) -> do       unless neExplicitDataDir do@@ -386,7 +385,7 @@         deltaSec = ceilingUnit $ toUnit @Second delta          deltaSec' :: NominalDiffTime-        deltaSec' = secondsToNominalDiffTime $ toNum @Second deltaSec+        deltaSec' = secondsToNominalDiffTime $ toFractional deltaSec       t0 <- getLastBlockTimestamp neMorleyClientEnv       threadDelay deltaSec       let@@ -410,7 +409,7 @@       when (skippedLevels > 0) $ do         when (skippedLevels > 1) $ do           minBlockInterval <- cmiGetApproximateBlockInterval-          let waitTime = (skippedLevels - 1) * toNum @Second minBlockInterval+          let waitTime = (skippedLevels - 1) * floorRat minBlockInterval           threadDelay . sec $ waitTime % 1         -- A chain's time resolution is never smaller than a second, so with (less         -- than) a level to go we can wait for 1s in loop until we reach the target.@@ -456,14 +455,14 @@   => MorleyClientEnv   -> KindedAddress kind   -> ClientM (Alias kind)-getAlias env = liftIO . runMorleyClientM env . TezosClient.getAlias . AddressResolved+getAlias env = liftIO . runMorleyClientM env . TezosClient.getAlias  getAliasMaybe   :: L1AddressKind kind   => MorleyClientEnv   -> KindedAddress kind   -> ClientM (Maybe (Alias kind))-getAliasMaybe env = liftIO . runMorleyClientM env . Client.getAliasMaybe . AddressResolved+getAliasMaybe env = liftIO . runMorleyClientM env . Client.getAliasMaybe  getLastBlockTimestamp :: MorleyClientEnv -> ClientM UTCTime getLastBlockTimestamp env = liftIO $
src/Test/Cleveland/Internal/Pure.hs view
@@ -22,7 +22,7 @@ import Data.Ratio ((%)) import Data.Set qualified as Set import Fmt (Buildable(..), Doc, build, nameF, pretty, unlinesF, (+|), (|+))-import Time (Second, toNum, toUnit)+import Time (Second, ceilingRat, toUnit)  import Lorentz (Mutez, NiceComparable, pattern DefEpName) import Lorentz qualified as L@@ -61,7 +61,6 @@ import Test.Cleveland.Internal.Common import Test.Cleveland.Internal.Exceptions import Test.Cleveland.Lorentz-import Test.Cleveland.Util (ceilingUnit)  data PureState = PureState   { _psSecretKeys :: Map ImplicitAddress SecretKey@@ -235,7 +234,7 @@     , cmiGetChainId = use $ psGState . gsChainIdL     , cmiAdvanceTime = \time -> do         modifying psNow . flip timestampPlusSeconds $-          toNum @Second @Integer $ ceilingUnit $ toUnit @Second time+          ceilingRat @Integer @Second $ toUnit @Second time      , cmiAdvanceToLevel = \fn ->         -- do not go back in levels
test/TestSuite/Cleveland/CallStack.hs view
@@ -48,7 +48,7 @@   [ testFailureIncludesCallStack "Custom errors are prefixed with clarifyErrors"           [lit|                 failure ("Some failure")-                ^^^^^^^^^^^^^^^^^^^^^^^^+                ^^^^^^^                 | For i=1: Some failure           |]           do@@ -58,7 +58,7 @@   , testFailureIncludesCallStack "clarifyErrors properly formats multiline errors"           [lit|                 failure ("Some failure\nSome text")-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                ^^^^^^^                 | For i=1:                 |   Some failure                 |   Some text@@ -109,7 +109,7 @@     [ testFailureIncludesCallStack "callstack points to runIO"         [lit|           runIO (throwM DummyException)-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^         |]         do           runIO (throwM DummyException)@@ -117,7 +117,7 @@     , testFailureIncludesCallStack "callstack points to resolveAddress"         [lit|           void $ resolveAddress invalidAlias-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^^^^^^         |]         do           -- force a failure by using an unknown alias@@ -126,7 +126,7 @@     , testFailureIncludesCallStack "callstack points to newAddress"         [lit|             void $ newAddress "b"-                   ^^^^^^^^^^^^^^+                   ^^^^^^^^^^         |]         do           addr <- newFreshAddress "a"@@ -148,7 +148,7 @@     , testFailureIncludesCallStack "callstack points to signBytes"         [lit|           void $ signBytes "" invalidAddrWAlias-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^         |]         do           void $ signBytes "" invalidAddrWAlias@@ -156,7 +156,7 @@     , testFailureIncludesCallStack "callstack points to signBinary"         [lit|           void $ signBinary @ByteString "" invalidAddrWAlias-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^^         |]         do           void $ signBinary @ByteString "" invalidAddrWAlias@@ -164,9 +164,7 @@     , testFailureIncludesCallStack "callstack points to originate with untyped"         [lit|           void $ originate ""-            (untypeValue $ toVal @Natural 3)-            (convertContract $ toMichelsonContract @() @() idContract)-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^         |]         do           -- force a failure by using a storage of the wrong type@@ -177,11 +175,7 @@     , testFailureIncludesCallStack "callstack points to originate with lorentz"         [lit|           void $ originate-            ""-            ()-            (idContract @() @())-            (maxBound :: Mutez)-            ^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^         |]         do           -- force a failure by transfering `maxBound` mutez@@ -194,7 +188,7 @@     , testFailureIncludesCallStack "callstack points to transfer"         [lit|           transfer invalidAddr-          ^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^         |]         do           -- force a failure by transfering from an unknown alias@@ -203,7 +197,7 @@     , testFailureIncludesCallStack "callstack points to transferMoney"         [it|           transfer invalidAddr [tz|1u|\&]-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^         |]         do           -- force a failure by transfering from an unknown address@@ -213,7 +207,7 @@     , testFailureIncludesCallStack "callstack points to call"         [lit|           transfer invalidTAddr-          ^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^         |]         do           -- force a failure by transfering to an unknown address@@ -234,7 +228,7 @@     , testFailureIncludesCallStack "callstack points to importUntypedContract"         [lit|           void $ importUntypedContract "<invalid file path>"-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^^^^^^^^^^^^^         |]         do           void $ importUntypedContract "<invalid file path>"@@ -256,7 +250,6 @@       [ testFailureIncludesCallStack "when action does not throw, callstack points to catchTransferFailure"           [lit|               catchTransferFailure-                pass               ^^^^^^^^^^^^^^^^^^^^           |]           do@@ -283,7 +276,7 @@                   testName                   [lit|                       runIO (throwM ex)-                      ^^^^^^^^^^^^^^^^^+                      ^^^^^                   |]                   do                     void $ catchTransferFailure $ do@@ -295,7 +288,7 @@     , testFailureIncludesCallStack "when exception predicate fails, callstack points to checkTransferFailure"         [lit|           checkTransferFailure err $ failedWith (constant @Natural 2)-          ^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^^^^^^^^^^         |]         do           addr <- originate "" () contractFailWith1@@ -306,7 +299,7 @@       [ testFailureIncludesCallStack "when action does not throw, callstack points to expectTransferFailure"           [lit|               & expectTransferFailure emptyTransaction-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                ^^^^^^^^^^^^^^^^^^^^^           |]           do             pass@@ -315,7 +308,7 @@       , testFailureIncludesCallStack "when action throws an unexpected exception, callstack points to action"           [lit|             runIO (throwM DummyException)-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+            ^^^^^           |]           do             runIO (throwM DummyException)@@ -324,7 +317,7 @@       , testFailureIncludesCallStack "when exception predicate fails, callstack points to expectTransferFailure"           [lit|               & expectTransferFailure (failedWith (constant @Natural 2))-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                ^^^^^^^^^^^^^^^^^^^^^           |]           do             addr <- originate "" () contractFailWith1@@ -335,7 +328,7 @@     , testFailureIncludesCallStack "callstack points to expectFailedWith"         [lit|           expectFailedWith @MText "" pass-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^^^^^^         |]         do           expectFailedWith @MText "" pass@@ -343,7 +336,7 @@     , testFailureIncludesCallStack "callstack points to expectError"         [lit|           expectError @MText "" pass-          ^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^         |]         do           expectError @MText "" pass@@ -351,7 +344,7 @@     , testFailureIncludesCallStack "callstack points to expectCustomError"         [lit|           expectCustomError #unitError () pass-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^^^^^^^         |]         do           expectCustomError #unitError () pass@@ -359,7 +352,7 @@     , testFailureIncludesCallStack "callstack points to expectCustomError_"         [lit|           expectCustomError_ #unitError pass-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^^^^^^^^         |]         do           expectCustomError_ #unitError pass@@ -367,7 +360,7 @@     , testFailureIncludesCallStack "callstack points to expectCustomErrorNoArg"         [lit|           expectCustomErrorNoArg #noArgError pass-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^^^^^^^^^^^^         |]         do           expectCustomErrorNoArg #noArgError pass@@ -375,7 +368,7 @@     , testFailureIncludesCallStack "callstack points to expectCustomErrorAnyArg"         [lit|           expectCustomErrorAnyArg #anyCustomError pass-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^^^^^^^^^^^^^         |]         do           expectCustomErrorAnyArg #anyCustomError pass@@ -383,7 +376,7 @@     , testFailureIncludesCallStack "callstack points to expectNumericError"         [lit|           expectNumericError @MText [] "" pass-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^^^^^^^^         |]         do           expectNumericError @MText [] "" pass@@ -391,7 +384,7 @@     , testFailureIncludesCallStack "callstack points to getStorage"         [lit|           void $ getStorage @() invalidContractAddr-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^^         |]         do           void $ getStorage @() invalidContractAddr@@ -399,7 +392,7 @@     , testFailureIncludesCallStackOnEmulator "callstack points to getFullStorage on emulator"         [lit|           void $ getFullStorage @() invalidContractAddr-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^^^^^^         |]         do           void $ getFullStorage @() invalidContractAddr@@ -407,7 +400,7 @@     , testFailureIncludesCallStackOnEmulator "callstack points to getSomeStorage on emulator"         [lit|           void $ getSomeStorage invalidContractAddr-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^^^^^^         |]         do           void $ getSomeStorage invalidContractAddr@@ -416,7 +409,7 @@         testFailureIncludesCallStackOnNetwork "callstack points to getBigMapValueMaybe"           [lit|             void $ getBigMapValueMaybe @Integer @Integer 999999999999999999 0-                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                   ^^^^^^^^^^^^^^^^^^^           |]           do             void $ getBigMapValueMaybe @Integer @Integer 999999999999999999 0@@ -424,7 +417,7 @@     , testFailureIncludesCallStack "callstack points to getBigMapValue"         [lit|           void $ getBigMapValue @Integer @Integer 999999999999999999 0-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^^^^^^         |]         do           void $ getBigMapValue @Integer @Integer 999999999999999999 0@@ -432,7 +425,7 @@     , testFailureIncludesCallStack "callstack points to getPublicKey"         [lit|           void $ getPublicKey invalidAddrWAlias-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^^^^^^         |]         do           void $ getPublicKey invalidAddrWAlias@@ -450,7 +443,7 @@         testFailureIncludesCallStackOnNetwork "callstack points to advanceTime on network"           [lit|             advanceTime (sec 1)-            ^^^^^^^^^^^^^^^^^^^+            ^^^^^^^^^^^           |]           do             advanceTime (sec 1)@@ -458,7 +451,7 @@         testFailureIncludesCallStackOnNetwork "callstack points to advanceLevel on network"           [lit|             advanceLevel 1-            ^^^^^^^^^^^^^^+            ^^^^^^^^^^^^           |]           do             advanceLevel 1@@ -481,17 +474,7 @@     , testFailureIncludesCallStack "callstack points to runCode"         [lit|           void $ runCode RunCode-            { rcContract =-                L.defaultContract @() @() $ L.failUsing @MText "Contract should fail"-            , rcStorage = untypeValue $ toVal ()-            , rcParameter = untypeValue $ toVal ()-            , rcAmount = 0-            , rcBalance = 0-            , rcSource = Nothing-            , rcNow = Nothing-            , rcLevel = Nothing-            }-            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^^^         |]         do           void $ runCode RunCode@@ -509,7 +492,7 @@         "when a branchout branch throws, the callstack points to the function inside the branch"         [lit|                   getStorage @() invalidContractAddr-                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                  ^^^^^^^^^^                   | In branch 'a': Unknown address provided: KT1BRd2ka5q2cPRdXALtXD1QZ38CPam2j1ye         |]         do@@ -522,7 +505,7 @@         "when a nested branchout branch throws, the callstack branch name is correct"         [lit|                   void $ getStorage @() invalidContractAddr-                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                         ^^^^^^^^^^                          | In branch 'a/b': Unknown address provided: KT1BRd2ka5q2cPRdXALtXD1QZ38CPam2j1ye         |]         do@@ -551,7 +534,7 @@         "when offshoot throws, the callstack points to the function inside offshoot"         [lit|               getStorage @() invalidContractAddr-              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+              ^^^^^^^^^^               | In branch 'a': Unknown address provided: KT1BRd2ka5q2cPRdXALtXD1QZ38CPam2j1ye          |]@@ -563,7 +546,7 @@     , testFailureIncludesCallStack "callstack points to failure"         [lit|           failure "a"-          ^^^^^^^^^^^+          ^^^^^^^         |]         do           failure "a"@@ -571,7 +554,7 @@     , testFailureIncludesCallStack "callstack points to assert"         [lit|           assert False "a"-          ^^^^^^^^^^^^^^^^+          ^^^^^^         |]         do           assert False "a"@@ -611,7 +594,7 @@     , testFailureIncludesCallStack "callstack points to checkCompares"         [lit|           checkCompares @Int 1 (==) 2-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^^^         |]         do           checkCompares @Int 1 (==) 2@@ -619,7 +602,7 @@     , testFailureIncludesCallStack "callstack points to checkComparesWith"         [lit|           checkComparesWith @Int show 1 (==) show 2-          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+          ^^^^^^^^^^^^^^^^^         |]         do           checkComparesWith @Int show 1 (==) show 2@@ -627,7 +610,7 @@     , testFailureIncludesCallStack "callstack points to evalJust"         [lit|           Nothing & evalJust ""-                    ^^^^^^^^^^^+                    ^^^^^^^^         |]         do           Nothing & evalJust ""@@ -635,7 +618,7 @@     , testFailureIncludesCallStack "callstack points to evalRight"         [lit|           Left @Integer 1 & evalRight \_ -> ""-                            ^^^^^^^^^^^^^^^^^^+                            ^^^^^^^^^         |]         do           Left @Integer 1 & evalRight \_ -> ""@@ -644,7 +627,7 @@         [ testFailureIncludesCallStack "callstack points to helper using @=="             [lit|               bulkCheck [0, 1] [0, 2]-              ^^^^^^^^^^^^^^^^^^^^^^^+              ^^^^^^^^^             |]             do               let@@ -659,7 +642,7 @@         [ testFailureIncludesCallStackOnEmulator "with whenEmulation"             [lit|                 runIO (throwM DummyException)-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                ^^^^^             |]             do               whenEmulation $@@ -667,7 +650,7 @@         , testFailureIncludesCallStack "with ifEmulation"             [lit|                 (runIO (throwM DummyException))-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                 ^^^^^             |]             do               ifEmulation@@ -676,7 +659,7 @@         , testFailureIncludesCallStackOnNetwork "with whenNetwork"             [lit|                 runIO (throwM DummyException)-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^+                ^^^^^             |]             do               whenNetwork $
test/TestSuite/Cleveland/DFS.hs view
@@ -55,6 +55,6 @@       transferAllCallerAddr <-         importContract @TransferAllCallerParameter (inContractsDir "transfer_all_caller.tz")         >>= originate "transfer_all_caller" () . noViews-      transfer transferAllAddr [tz|100u|] $ calling (ep @"ReceiveXtz") ()-      transfer transferAllCallerAddr $ calling (ep @"CallCPS") $ toTAddress transferAllAddr+      transfer transferAllAddr [tz|100u|] $ calling #receiveXtz ()+      transfer transferAllCallerAddr $ calling #callCPS $ toTAddress transferAllAddr   ]
test/TestSuite/Cleveland/ExpectFailure.hs view
@@ -49,79 +49,79 @@       (defaultContract testContractWithNumericErrors)       [tz|1u|] -    attempt (transfer contractAddr $ calling (ep @"TriggerFailWith") ()) >>= \case+    attempt (transfer contractAddr $ calling #triggerFailWith ()) >>= \case       Left err -> checkTransferFailure err $ failedWith (constant [mt|oops|])       Right _ -> failure "Expected contract to fail"      catchTransferFailure $-      transfer contractAddr $ calling (ep @"TriggerFailWith") ()+      transfer contractAddr $ calling #triggerFailWith ()      expectTransferFailure (failedWith (constant [mt|oops|])) $-      transfer contractAddr $ calling (ep @"TriggerFailWith") ()+      transfer contractAddr $ calling #triggerFailWith ()      expectTransferFailure (failedWith (constant [mt|oops|]) && addressIs contractAddr) $-      transfer contractAddr $ calling (ep @"TriggerFailWith") ()+      transfer contractAddr $ calling #triggerFailWith ()      expectFailedWith [mt|oops|] $-      transfer contractAddr $ calling (ep @"TriggerFailWith") ()+      transfer contractAddr $ calling #triggerFailWith ()      expectError (VoidResult False) $-      transfer contractAddr $ calling (ep @"VoidEP") (mkVoid True)+      transfer contractAddr $ calling #voidEP (mkVoid True)      expectTransferFailure (failedWith $ constant (1 :: Natural, (2 :: Natural, 3 :: Natural)))  $-      transfer contractAddr $ calling (ep @"TriggerFailWithRightCombedPair") ()+      transfer contractAddr $ calling #triggerFailWithRightCombedPair ()      -- Check that string and bytes forms of 'chain_id' are equal if they are     -- used as error argument.     let c = fromRight (error "impossible") $ parseChainId "NetXUdfLh6Gm88t"     expectTransferFailure       (failedWith (constant @ChainId c)) $-        transfer contractAddr $ calling (ep @"TriggerFailWithChainIdStr") ()+        transfer contractAddr $ calling #triggerFailWithChainIdStr ()      expectTransferFailure       (failedWith (constant @ChainId c)) $-        transfer contractAddr $ calling (ep @"TriggerFailWithChainIdBytes") ()+        transfer contractAddr $ calling #triggerFailWithChainIdBytes ()      expectCustomError #customError 1 $-      transfer contractAddr $ calling (ep @"TriggerFailWithCustomError") ()+      transfer contractAddr $ calling #triggerFailWithCustomError ()      expectCustomError_ #customErrorUnit1 $-      transfer contractAddr $ calling (ep @"TriggerFailWithCustomErrorUnit1") ()+      transfer contractAddr $ calling #triggerFailWithCustomErrorUnit1 ()      expectCustomError_ #customErrorUnit2 $-      transfer contractAddr $ calling (ep @"TriggerFailWithCustomErrorUnit2") ()+      transfer contractAddr $ calling #triggerFailWithCustomErrorUnit2 ()      expectCustomErrorNoArg #customErrorNoArg $-      transfer contractAddr $ calling (ep @"TriggerFailWithCustomErrorNoArg") ()+      transfer contractAddr $ calling #triggerFailWithCustomErrorNoArg ()      expectCustomErrorAnyArg #customError $-      transfer contractAddr $ calling (ep @"TriggerFailWithCustomError") ()+      transfer contractAddr $ calling #triggerFailWithCustomError ()      expectCustomErrorAnyArg #customErrorUnit1 $-      transfer contractAddr $ calling (ep @"TriggerFailWithCustomErrorUnit1") ()+      transfer contractAddr $ calling #triggerFailWithCustomErrorUnit1 ()      expectCustomErrorAnyArg #customErrorNoArg $-      transfer contractAddr $ calling (ep @"TriggerFailWithCustomErrorNoArg") ()+      transfer contractAddr $ calling #triggerFailWithCustomErrorNoArg ()      shouldFailWithMessage "Contract failed with any custom error tagged with \"WrongErrorTag\"" $       expectCustomErrorAnyArg #wrongErrorTag $-        transfer contractAddr $ calling (ep @"TriggerFailWithCustomErrorNoArg") ()+        transfer contractAddr $ calling #triggerFailWithCustomErrorNoArg ()      shouldFailWithMessage "Contract failed with any custom error tagged with \"CustomError\"" $       expectCustomErrorAnyArg #customError $-        transfer contractAddr $ calling (ep @"TriggerShiftOverflow") ()+        transfer contractAddr $ calling #triggerShiftOverflow ()      shouldFailWithMessage "Expected an exception to be thrown, but it wasn't" $       expectCustomErrorAnyArg #customErrorNoArg pass      expectNumericError errorTagMap (VoidResult False) $-      transfer contractNumericAddr $ calling (ep @"VoidEP") $ mkVoid True+      transfer contractNumericAddr $ calling #voidEP $ mkVoid True      expectTransferFailure shiftOverflow $-      transfer contractAddr $ calling (ep @"TriggerShiftOverflow") ()+      transfer contractAddr $ calling #triggerShiftOverflow ()      expectTransferFailure gasExhaustion $-      transfer contractAddr $ calling (ep @"TriggerGasExhaustion") ()+      transfer contractAddr $ calling #triggerGasExhaustion ()      expectTransferFailure emptyTransaction $       transfer validAddr [tz|0u|]@@ -138,7 +138,7 @@           failedWith (constant @MText "oops") ||           failedWith (customError #customError 1) -    transfer contractAddr (calling (ep @"TriggerFailWithCustomError") ()) &+    transfer contractAddr (calling #triggerFailWithCustomError ()) &       expectTransferFailure expectedErrs  test_FailsIfTheGivenActionDoesNotThrow :: TestTree
test/TestSuite/Cleveland/Tasty/Report/Examples.hs view
@@ -30,7 +30,7 @@    ┏━━ #{reportExamplesPath} ━━━ 24 ┃ example1 :: EmulatedT PureM () 25 ┃ example1 = void $ signBytes "" unknownAddr-   ┃                   ^^^^^^^^^^^^^^^^^^^^^^^^+   ┃                   ^^^^^^^^^    ┃                   | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z 26 ┃ @@ -53,7 +53,7 @@      ┏━━ #{reportExamplesPath} ━━━   47 ┃ exampleWithHelperFunction1Helper :: EmulatedT PureM ()   48 ┃ exampleWithHelperFunction1Helper = void $ signBytes "" unknownAddr-     ┃                                           ^^^^^^^^^^^^^^^^^^^^^^^^+     ┃                                           ^^^^^^^^^      ┃                                           | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z   49 ┃ @@ -108,15 +108,15 @@       ┏━━ #{reportExamplesPath} ━━━   100 ┃ exampleMultipleLines1 =   101 ┃   void ( signBytes-  102 ┃            ""-  103 ┃            unknownAddr )-      ┃          ^^^^^^^^^^^^^+      ┃          ^^^^^^^^^       ┃          | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z-  104 ┃+  102 ┃            ""    CallStack (from HasCallStack):   |] ++ exampleMultipleLines2 :: EmulatedT PureM () exampleMultipleLines2 =   void (   signBytes@@ -129,15 +129,15 @@       ┏━━ #{reportExamplesPath} ━━━   121 ┃ exampleMultipleLines2 =   122 ┃   void (   signBytes+      ┃            ^^^^^^^^^+      ┃            | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z   123 ┃          ""-  124 ┃            unknownAddr )-      ┃          ^^^^^^^^^^^^^-      ┃          | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z-  125 ┃    CallStack (from HasCallStack):   |] ++ exampleMultipleLines3 :: EmulatedT PureM () exampleMultipleLines3 =   void (   signBytes@@ -150,15 +150,15 @@       ┏━━ #{reportExamplesPath} ━━━   142 ┃ exampleMultipleLines3 =   143 ┃   void (   signBytes+      ┃            ^^^^^^^^^+      ┃            | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z   144 ┃            ""-  145 ┃          unknownAddr )-      ┃          ^^^^^^^^^^^-      ┃          | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z-  146 ┃    CallStack (from HasCallStack):   |] ++ exampleMultipleLines4 :: EmulatedT PureM () exampleMultipleLines4 =   void (      signBytes@@ -171,15 +171,15 @@       ┏━━ #{reportExamplesPath} ━━━   163 ┃ exampleMultipleLines4 =   164 ┃   void (      signBytes+      ┃               ^^^^^^^^^+      ┃               | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z   165 ┃                    ""-  166 ┃          unknownAddr   )-      ┃          ^^^^^^^^^^^^^^-      ┃          | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z-  167 ┃    CallStack (from HasCallStack):   |] ++ exampleMultipleLines5 :: EmulatedT PureM () exampleMultipleLines5 =   void (    signBytes@@ -192,15 +192,15 @@       ┏━━ #{reportExamplesPath} ━━━   184 ┃ exampleMultipleLines5 =   185 ┃   void (    signBytes+      ┃             ^^^^^^^^^+      ┃             | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z   186 ┃                      ""-  187 ┃          unknownAddr   )-      ┃          ^^^^^^^^^^^^^^-      ┃          | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z-  188 ┃    CallStack (from HasCallStack):   |] ++ exampleMultipleLines6 :: EmulatedT PureM () exampleMultipleLines6 =   void (    signBytes@@ -213,14 +213,14 @@       ┏━━ #{reportExamplesPath} ━━━   205 ┃ exampleMultipleLines6 =   206 ┃   void (    signBytes+      ┃             ^^^^^^^^^+      ┃             | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z   207 ┃                    ""-  208 ┃            unknownAddr   )-      ┃            ^^^^^^^^^^^-      ┃            | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z-  209 ┃    CallStack (from HasCallStack):   |]++  unknownAddr :: ImplicitAddressWithAlias unknownAddr = AddressWithAlias [ta|tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z|] "unknown-addr"