Changelog of @hackage/cleveland 0.2.1

0.2.1

  • !1199 Replace removed HasTezosClient actions with TezosClient.Impl version.
  • !1212 Support contract events
    • Untie cleveland operation results from morley-client.
    • Introduce ContractEvent type for contract events.
    • Introduce new WithContractEvents flag for transfer, which tells it to return [ContractEvent].
  • !1191 General cleanup
    • Display contract's aliases in error messages when a transfer fails (emulator-mode only).
  • !1177 Distinguish implicit/contract aliases and addresses on the type level
  • !1187 Access MorleyClientEnv in network tests
    • Add NetworkCaps carrying NetworkEnv.
    • Replace ScenarioCleveland with ScenarioNetwork.
    • Reimplement scenario as a function in MonadScenario typeclass.
    • Rename Scenario to Scenario', add Scenario synonym that bakes in MonadScenario constraint.
    • Allow ifEmulation to access NetworkCaps in the on-network branch.
  • !1168 Support a mix of RPC and non-RPC representations in runCode
  • !1137 Refactor Cleveland's originate* and transfer/transferMoney/call functions
    • All 9 originate* functions are replaced with single originate, optionally accepting initial balance (as Mutez) and whether it's a large origination (using Large argument).
    • transfer, transferMoney and call functions replaced by transfer and two helpers, calling and unsafeCalling.

0.2.0

  • !1172 Add withChainId and withMinBlockTime functions to set emulator constants.
  • !1123 Remove deprecated exports
  • !1161 Remove support for AliasHint
  • !1169 Support MIN_BLOCK_TIME instruction
    • Add getMinBlockTime utility to get minimal block delay in seconds as Natural
  • !1164 Add now and level params to the /run_code
  • !1162 Implement instruction to batch-create accounts
  • !1114 Update to ghc-9.0.2
  • !1108 Remove support for the deprecated morley extensions
  • !1127 Create tempdir in Cleveland if datadir is unspecified
    • Instead of mangling user's default tezos-client data directory, when a Cleveland test-suite invocation doesn't specify a datadir, use a new temporary directory by default.

0.1.2

  • !1050 Modify resolveAddress to accept AliasHints
  • !1039 Parameterize generators with a Range
    • minTimestamp, maxTimestamp and midTimestamp are moved to Hedgehog.Range.Tezos.Core.Timestamp.
  • !1017 Resolve some TODOs and link TODOs without issue id to the corresponding gitlab tickets.
  • !1082 Fix/drop/comment noncanonical Show instances

0.1.1

  • !1113 Remove uses of Parser LetEnv due to redundant constraint.
  • !1094 Deprecate morley language extensions
    • Functions for importing and testing Morley contracts are added: Test.Cleveland.Michelson.Import.testTreesWithUntypedContractExt, Test.Cleveland.Michelson.Import.testTreesWithTypedContractExt, Test.Cleveland.Lorentz.Import.importContractExt. All these functions are considered deprecated.
  • !965 Use Morley's fixed-size lists
    • Add Hedgehog generators for sized lists.
    • Introduce enumAliasHints for generating a sized list of similarly named alias hints.
  • !1072 Add runCode to Cleveland
  • !1070 Simplify cleveland's internals & public api
    • Relaced the NiceUnpackedValue (AsRPC st) constraint in getStorage
    • Removed the NicePackedValue k constraint from getAllBigMapValuesMaybe, getAllBigMapValues, getBigMapSizeMaybe, and getBigMapSize.
  • !1025 Reduce the number of unsafe functions at the call site
    • Remove unsafeFromHex converter that is used as counter-part of safe fromHex and replaced with unsafe . fromHex.
    • Refactor fromHex to return Either instead of Maybe.
    • Add parseAddressFromHex helper to get rid of duplicated usages of parseAddressRaw . unsafe . fromHex.
  • !978 Make it difficult to misuse 'Show'
    • Use Buildable and pretty preferrentially.
    • Add Buildable instances for FaluireReason, Either a b.
    • Add PrettyShow instances for TypeSpec (in lorentz-test) and Time _ (in cleveland itself)./
    • Avoid using (+||) and (||+).
    • Use Debug.show when defining Show instances.
  • !1058 Add Buildable instances for Unit, tuples up to 8 elements & bytestrings
  • !1057 Test Show and RenderDoc instances of Annotation t, AnnotationSet, Notes t, InstrAbstract op
  • !997 Check necessity in initial cast automatically in Lorentz contracts
  • !1044 Fix getRunMode and whenEmulated
    • getRunMode is replaced by ifEmulation helper.
    • A new helper whenNetwork is added.
    • One caveat is that functions passed to ifEmulation are universally quantified over the outer monad, so if additional constraints are required beyond MonadCleveland or MonadEmulated, those constraints have to go on the base monad, e.g. (MonadCleveland caps m, MonadFail (ClevelandBaseMonad caps)) => m (). ifEmulation.
  • !1043 Extract actual + expected pattern into a datatype and show diff in type mismatch
  • !1037 Add synonyms for SomeConstrainedValue
    • Reimplement SomeConstant, SomeValue, SomeStorage via SomeConstrainedValue.

0.1.0

Initial release extracted from the morley and lorentz packages. Tezos testing framework for contract developed with Michelson, Morley or Lorentz.