Changelog for cleveland-0.3.1
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
; importSecretKey
Cleveland action added to allow for getting addresses with specific key type.
- BLS crypto generators added in
- !1313
Add
getOnlyRpcEnv
utility function - !1315
Avoid redundant calls to octez-client address store
- Use
ImplicitAddressWithAlias
for sender, moneybag and new implicit address generators - Introduce
ToImplicitAddress
class to useImplicitAddressWithAlias
whereImplicitAddress
is 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
refillables
which marks multiple addresses as refillable - !1290
Implement negation for
TransferFailurePredicate
- Also refactor
TransferFailurePredicate
to useMaybe Builder
instead 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-client
andoctez-node
- !1270
Add lima protocol TICKET instruction, rename old one to TICKET_DEPRECATED
- The
TICKET
instruction was renamed toTICKET_DEPRECATED
- A new
TICKET
instuction was added which no longer allows zero amount tickets. It now returnsSome Ticket
andNone
in case of zero ammount supplied.
- The
- !1252
Better errors on stuck GetEntrypointArgCustom
- Particularly in
transfer
with polymorphic/ambiguous contract parameter.
- Particularly in
- !1258
Support implicit contract delegates and setting delegates during origination
- New function
setDelegate
for setting the delegate on implicit addresses. originate
now allows specifying optional delegate by passing aKeyHash
value as argument.getDelegate
now 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_code
emulation - !1242
Use
Constrained
utility existential - !1246
Fix
MonadOriginate
blowing up withReduction stack overflow
MonadOriginate
constraint 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.Env
module MorleyClientEnv
,mkMorleyClientEnv
andMorleyClientEnv
lenses moved toMorley.Client.Full
- Removed
- !1220
Better
transfer
errors on bad address type - !1219 Add resolving contract aliases in network tests
- !1237 Support delegate registration on the emulator
- !1178
Fix
contract t
typed value generatorcontract t
value generator wheret /= unit
could produce implicit addresses. This is invalid. Now it only produces smart contract addresses.contract unit
generator 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
ContractEvent
type for contract events. - Introduce new
WithContractEvents
flag 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
NetworkCaps
carryingNetworkEnv
. - Replace
ScenarioCleveland
withScenarioNetwork
. - Reimplement
scenario
as a function inMonadScenario
typeclass. - Rename
Scenario
toScenario'
, addScenario
synonym that bakes inMonadScenario
constraint. - Allow
ifEmulation
to accessNetworkCaps
in 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
/call
functions- All 9
originate*
functions are replaced with singleoriginate
, optionally accepting initial balance (asMutez
) and whether it's a large origination (usingLarge
argument). transfer
,transferMoney
andcall
functions replaced bytransfer
and two helpers,calling
andunsafeCalling
.
- All 9
0.2.0
- !1172
Add
withChainId
andwithMinBlockTime
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 asNatural
- Add
- !1164
Add
now
andlevel
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
andmidTimestamp
are 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 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.
- Functions for importing and testing Morley contracts are added:
- !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 ingetStorage
- Removed the
NicePackedValue k
constraint fromgetAllBigMapValuesMaybe
,getAllBigMapValues
,getBigMapSizeMaybe
, andgetBigMapSize
.
- Relaced the
- !1025
Reduce the number of unsafe functions at the call site
- Remove
unsafeFromHex
converter that is used as counter-part of safefromHex
and replaced withunsafe . fromHex
. - Refactor
fromHex
to returnEither
instead ofMaybe
. - Add
parseAddressFromHex
helper to get rid of duplicated usages ofparseAddressRaw . unsafe . fromHex
.
- Remove
- !978
Make it difficult to misuse 'Show'
- Use
Buildable
andpretty
preferrentially. - Add
Buildable
instances forFaluireReason
,Either a b
. - Add
PrettyShow
instances forTypeSpec
(in lorentz-test) andTime _
(in cleveland itself)./ - Avoid using
(+||)
and(||+)
. - Use
Debug.show
when definingShow
instances.
- Use
- !1058
Add
Buildable
instances for Unit, tuples up to 8 elements & bytestrings - !1057
Test
Show
andRenderDoc
instances ofAnnotation t
,AnnotationSet
,Notes t
,InstrAbstract op
- !997
Check necessity in initial
cast
automatically in Lorentz contracts - !1044
Fix
getRunMode
andwhenEmulated
getRunMode
is replaced byifEmulation
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 beyondMonadCleveland
orMonadEmulated
, 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
viaSomeConstrainedValue
.
- Reimplement
0.1.0
Initial release extracted from the morley and lorentz packages. Tezos testing framework for contract developed with Michelson, Morley or Lorentz.