Changelog for cleveland-0.4.0
0.4.0
- !1369
Move
Defaultinstance forEntrypointRefto Lorentz - !1364 Update to LTS-21.4 (GHC 9.4.5)
- !1358 Make missing Generic errors more readable
0.3.2
- !1323
Trace called contracts on error
- Display sequence of contracts calls and other operations on error
- !1310
Various parser fixes
- Add Hedgehog generator for Michelson macros
genMacro
- Add Hedgehog generator for Michelson macros
- !1341
Refactor scope constraints
- Avoid redundant
check*Presenceuses
- Avoid redundant
- !1333 Improve typechecker error rendering
0.3.1
- !1339 Export AddressWithAlias &c from Cleveland
- !1331
Support implicit account tickets
- New Cleveland action,
transferTicket, and its unchecked counterpartunsafeTransferTicket.
- New Cleveland action,
- !1330 Support ticket balance queries
- !1328
Kill support for TORUs, minimal sr1 address support, tz4 address support
- BLS crypto generators added in
Hedgehog.Gen.Tezos.Crypto.BLS; - New crypto hedgehog generators which allow choosing key type added to
Hedgehog.Gen.Tezos.Crypto; importSecretKeyCleveland action added to allow for getting addresses with specific key type.
- BLS crypto generators added in
- !1313
Add
getOnlyRpcEnvutility function - !1315
Avoid redundant calls to octez-client address store
- Use
ImplicitAddressWithAliasfor sender, moneybag and new implicit address generators - Introduce
ToImplicitAddressclass to useImplicitAddressWithAliaswhereImplicitAddressis required
- Use
- !1297
Add a failure predicate to expect custom error with a specific tag, but
arbitrary argument (including none),
expectCustomErrorAnyArg - !1304 Avoid unnecessary contract conversions
- !1306
Add
refillableswhich marks multiple addresses as refillable - !1290
Implement negation for
TransferFailurePredicate- Also refactor
TransferFailurePredicateto useMaybe Builderinstead ofValidation Builder ().
- Also refactor
- !1280
Apply internal modules pattern consistently
- Export everything from internal modules
- Move some internal modules around to avoid mixing definitions and reexports.
0.3.0
- !1281
Use the new binaries names,
octez-clientandoctez-node - !1270
Add lima protocol TICKET instruction, rename old one to TICKET_DEPRECATED
- The
TICKETinstruction was renamed toTICKET_DEPRECATED - A new
TICKETinstuction was added which no longer allows zero amount tickets. It now returnsSome TicketandNonein case of zero ammount supplied.
- The
- !1252
Better errors on stuck GetEntrypointArgCustom
- Particularly in
transferwith polymorphic/ambiguous contract parameter.
- Particularly in
- !1258
Support implicit contract delegates and setting delegates during origination
- New function
setDelegatefor setting the delegate on implicit addresses. originatenow allows specifying optional delegate by passing aKeyHashvalue as argument.getDelegatenow accepts either implicit or contract addresses.
- New function
- !1226 Implement delegation operation via RPC
- !1257 Add ability to call on-chain views directly from test scenarios
- !1244
Carry verbosity setting to only-rpc env in
mkMorleyOnlyRpcEnvNetwork - !1243
Use Morley's
run_codeemulation - !1242
Use
Constrainedutility existential - !1246
Fix
MonadOriginateblowing up withReduction stack overflowMonadOriginateconstraint caused GHC to go loopy; now it doesn't, and a test was added to prevent this in the future.
- !1247
Refactor MorleyClientEnv
- Removed
MorleyClientEnv', constructor now lives inMorleyClientEnv - Removed
Morley.Client.Envmodule MorleyClientEnv,mkMorleyClientEnvandMorleyClientEnvlenses moved toMorley.Client.Full
- Removed
- !1220
Better
transfererrors on bad address type - !1219 Add resolving contract aliases in network tests
- !1237 Support delegate registration on the emulator
- !1178
Fix
contract ttyped value generatorcontract tvalue generator wheret /= unitcould produce implicit addresses. This is invalid. Now it only produces smart contract addresses.contract unitgenerator can still produce both implicit and smart contract addresses.
- !1228
Handle implicit default entrypoint in
testContractCoversEntrypoints&c- Implicit default entrypoint is considered in entrypoint coverage tests iff the default entrypoint is defined in the spec. Otherwise, implicit default is ignored. Explicit default entrypoint is always considered.
- !1211 Unify handling of annotated exceptions
0.2.1
- !1199 Replace removed HasTezosClient actions with TezosClient.Impl version.
- !1212
Support contract events
- Untie cleveland operation results from morley-client.
- Introduce
ContractEventtype for contract events. - Introduce new
WithContractEventsflag fortransfer, 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
NetworkCapscarryingNetworkEnv. - Replace
ScenarioClevelandwithScenarioNetwork. - Reimplement
scenarioas a function inMonadScenariotypeclass. - Rename
ScenariotoScenario', addScenariosynonym that bakes inMonadScenarioconstraint. - Allow
ifEmulationto accessNetworkCapsin the on-network branch.
- Add
- !1168
Support a mix of RPC and non-RPC representations in
runCode - !1137
Refactor Cleveland's originate* and
transfer/transferMoney/callfunctions- All 9
originate*functions are replaced with singleoriginate, optionally accepting initial balance (asMutez) and whether it's a large origination (usingLargeargument). transfer,transferMoneyandcallfunctions replaced bytransferand two helpers,callingandunsafeCalling.
- All 9
0.2.0
- !1172
Add
withChainIdandwithMinBlockTimefunctions to set emulator constants. - !1123 Remove deprecated exports
- !1161
Remove support for
AliasHint - !1169
Support MIN_BLOCK_TIME instruction
- Add
getMinBlockTimeutility to get minimal block delay in seconds asNatural
- Add
- !1164
Add
nowandlevelparams 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,maxTimestampandmidTimestampare moved toHedgehog.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 LetEnvdue 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.
- Functions for importing and testing Morley contracts are added:
- !965
Use Morley's fixed-size lists
- Add Hedgehog generators for sized lists.
- Introduce
enumAliasHintsfor generating a sized list of similarly named alias hints.
- !1072
Add
runCodeto Cleveland - !1070
Simplify cleveland's internals & public api
- Relaced the
NiceUnpackedValue (AsRPC st)constraint ingetStorage - Removed the
NicePackedValue kconstraint fromgetAllBigMapValuesMaybe,getAllBigMapValues,getBigMapSizeMaybe, andgetBigMapSize.
- Relaced the
- !1025
Reduce the number of unsafe functions at the call site
- Remove
unsafeFromHexconverter that is used as counter-part of safefromHexand replaced withunsafe . fromHex. - Refactor
fromHexto returnEitherinstead ofMaybe. - Add
parseAddressFromHexhelper to get rid of duplicated usages ofparseAddressRaw . unsafe . fromHex.
- Remove
- !978
Make it difficult to misuse 'Show'
- Use
Buildableandprettypreferrentially. - Add
Buildableinstances forFaluireReason,Either a b. - Add
PrettyShowinstances forTypeSpec(in lorentz-test) andTime _(in cleveland itself)./ - Avoid using
(+||)and(||+). - Use
Debug.showwhen definingShowinstances.
- Use
- !1058
Add
Buildableinstances for Unit, tuples up to 8 elements & bytestrings - !1057
Test
ShowandRenderDocinstances ofAnnotation t,AnnotationSet,Notes t,InstrAbstract op - !997
Check necessity in initial
castautomatically in Lorentz contracts - !1044
Fix
getRunModeandwhenEmulatedgetRunModeis replaced byifEmulationhelper.- A new helper
whenNetworkis added. - One caveat is that functions passed to
ifEmulationare universally quantified over the outer monad, so if additional constraints are required beyondMonadClevelandorMonadEmulated, 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,SomeStorageviaSomeConstrainedValue.
- Reimplement
0.1.0
Initial release extracted from the morley and lorentz packages. Tezos testing framework for contract developed with Michelson, Morley or Lorentz.