Changelog for lorentz-0.11.0
Unreleased
0.11.0
- !814
- Added the usage of
Prelude.Type
instead ofData.Kind.Type
, as a resultKind.Type
was replaced with justType
.
- Added the usage of
- !745
-
Generalize
st*
methods for working with storage. Now it is possible to access nested fields and submaps likestToField (#a :-| #b)
. This should not require any changes unless you keep you own generic helpers over those methods. -
Existing
StoreHasSubmap (Big?)Map anyName k v
instance is replaced with two:StoreHasSubmap (Big?)Map Self k v
StoreHasSubmap store name k v
that delegates toStoreHasField
.
Migration guide:
- If you have
StoreHasSubmap
instances for specific storage and name implemented viastoreSubmapOpsDeeper
, remove them and make sure you have a similarStoreHasField
instance implemented viastoreFieldOpsADT
. - If you have storage which is directly a map, use
this
instead of label to access the map. - If you have an instance for a complex storage which is not represented as simple ADT, turn this instance into overlappable one.
-
- !807
- Add some instances to
BigMap
andTAddress
types.
- Add some instances to
- !787
- Added new Edo macros:
CAR k
andCDR k
ascarN
andcdrN
.
- Added new Edo macros:
- !798
- Added back the
UnaryArithOpHs Abs Integer
instance that was removed by accident.
- Added back the
0.10.0
- !774
- Added support for
BLS12-381
crypto primitives (types, instructions, arithmetics). - Now it is possible to use
int
instruction for newtypes overNatural
.
- Added support for
- !786
- !791
- Add new Edo instructions:
pairGet
andpairUpdate
.
- Add new Edo instructions:
- !755
Restricted
FAILWITH
only to packable values, exceptCONTRACT
s - !759
- Add
UnitErrorArg
andNoErrorArg
to be used withErrorArg
instance.UnitErrorArg
is preferred to()
NoErrorArg
allows failing with just a string instead of apair string unit
.
- Add
- !764
- Added
Never
type, deprecatedEmpty
type.
- Added
0.9.1
- !781
- Replaced mixins and dependency on
base
withbase-noprelude
.
- Replaced mixins and dependency on
- !751
- Add new Edo instruction:
LEVEL
.
- Add new Edo instruction:
- !741
- Add new Edo instructions:
SHA3
andKECCAK
.
- Add new Edo instructions:
0.9.0
- !731
Added
GenericStrategy
-ies for compatibility with LIGO. - !712 Add lenses for Lorentz contract config.
- !684
- Simplify working with autodoc in contracts (breaking change).
finalizeParamCallingDoc
is now applied automatically when lorentz'Contract
is used, no need to call it manually.
0.8.0
- !671
- Add
TypeHasDoc
instances forTAddress
andFutureContract
. - Add a generic
instance DocItem (DEntrypoint ep)
. In case of getting overlapping instances, you have to implementEntrypointKindHasDoc
instead. - Some error messages in doc tests are improved.
- Some bugfixes for anchors.
- Cases with contract logic residing outside of entrypoints are now better handled.
- Add
- !665
Improve
StorageContains
to work for polymorphic case (when field is marked withIdentity
). - !679
Add
dupLNamed
. - !672
- Add
Packed
,TSignature
andHash
types. pack
andunpack
now work withPacked
instead ofByteString
(for the sake of better type-safety). Either usePacked
type, orpackRaw
/unpackRaw
instructions.checkSignature
now works withPacked
andTSignature
.blake2b
and other hashing instructions now work withHash
.- If necessary, coersions can be used to switch between the mentioned types and raw
ByteString
.
- Add
- !667
- Modify representation of extended lambdas (arbitrary code used as lambdas is now packed into right-hand combs, not left-hand ones).
- Add
applicate
macro.
- !630
Use
:
in all library instructions instead of&
. - !652
Update the
ContractRegistry
to be able to not require contract name for all its commands when there is only one contract. - !640
Change
StoreSubmapOps
to contain no optional methods.
0.7.1
0.7.0
- !629
All
UStore
modules has been moved to the morley-upgradeable repository. Now you have to include that repository to your build and importLorentz.UStore
. - !610
Remove
Lorentz.TestScenario
. - !585
Add
HasAnnotation
instance forChainId
.
0.6.2
- !589
Add
annOptions
method inHasAnnotation
which can be used to customize the generated annotations of a type.- Add helper functions to use with
annOptions
.
- Add helper functions to use with
- !591
Add
dupTop2
.
0.6.1
- !533
Add
entrypointDoc
,typeDoc
, anderrorDoc
quasiquotes which help generating typeclass instances.
0.6.0
- !558
Added a new
wrapOne
to wrap a value in a constructor with a single field, because it has the advantage of having an input stack that does not depend on a type family. - !528
The generated documentation now contains a sample value of each entrypoint.
- Allow modification of sample value via
mkDEntrypointExample
.
- Allow modification of sample value via
- !493
Add support for root entrypoint.
- A contract can now specify whether or not the root annotation should be generated and which name it should use.
self
andcontract
instructions are able to call the root entrypoint.
0.5.0
- !530
Field annotation are now generated for sum-type in
parameter
andstorage
.- It also ensures that it will not generate field annotations that would introduce extra entrypoints.
- !371
Make
view_
argument accept 2 arguments rather than a pair. - !486
Add
customGeneric
to deriveGeneric
instances with a custom tree structure and, consequently,IsoValue
instances with such a structure. - !483 Add a way to generate field annotations for entrypoint parameter.
- !470
Move
Lorentz.Test
and Hedgehog generators to a new package:cleveland
. - !357
Remove deprecated
Lorentz.Store
module and deprecated custom error functionality.
0.4.0
- !449
- Improve
Lorentz.Test.Integrational
interface. - Remove
IntegrationalValidator
,SuccessValidator
,validate
,composeValidators
,composeValidatorsList
,expectAnySuccess
. - Add
unexpectedInterpreterError
,attempt
,catchExpectedError
. - Change type of
expect*
/tExpect*
/lExpect*
functions. They now returnIntegrationalScenario
instead ofSuccessValidator
/Bool
. - Rename
ValidationError
toTestError
- Replace
TestError
'sUnexpectedExecutorError
constructor withInterpreterError
andUnexpectedInterpreterError
.
- Improve
- !432
Add
whenNone
to Lorentz. - !398
Add
StoreHasEntrypoint
class to conveniently use entrypoints as lambdas stored intobig_map
(s) to make use of lazy evaluation. - !409
- Add hedgehog support
- !303
- Functions for working with
UStore
from Haskell world (e.g.fillUStore
) now have a different constraint. UStore
templates are now documented and thus may require instance of the respective typeclass.
- Functions for working with
0.3.0
- !417 Change the license to MIT.
- !360
- Add
compileLorentzWithOptions
function that accepts optional Michelson optimizer configuration and string transformer function. ChangedcompileLorentz
to call the optimizer with the default configuration. - Add
Lorentz.Contract
data type as a wrapper forLorentz.ContractCode
andLorentz.CompilationOptions
. Require that all contracts are wrapped in this data type.
- Add
- !354
- Add
constructStack
function that constructs a datatype from fields on the stack. - Add
deconstruct
function that deconstructs a datatype to its fields on the stack.
- Add
- !358
Removed deprecated
STEPS_TO_QUOTA
instruction. - !337
Added
comment
,commentAroundFun
andcommentAroundStmt
to generate comments in Michelson code.
0.2.0
- !346
Added
docStorage
andcontractGeneralDefault
. - !306
Deprecated
mapMigrationCode
in favor ofMapLorentzInstr
. - !326
Updated contract registry (
Lorentz.ContractRegistry
):- Now it can print initial storage apart from contract and documentation.
- Some extra fields were added to
ContractInfo
. - Logic is captured in the
runContractRegistry
function. - If you don't specify output file, we will use a file with name constructed from contract name. Pass
-
if you wantstdout
.
- !245 Added
HasTypeAnn
instance forFutureContract arg
. - !294
- Added
Paths_*
modules toautogen-modules
in cabal files. Removed-O0
- from default GHC options. Please set
ghc-options
in yourstack.yaml
orcabal.project.local
.
- Added
- !271 Renamed 'Contract' to 'ContractCode', and appended "Code" to the names of two functions: 'convertContract' and 'printTypedContract'
- !267
- Retain type annotations in entrypoints derivation.
- Remove overlappable
HasTypeAnn
instance defined for nearly each type. Adddefault
getTypeAnn
method definition instead and manually defineHasTypeAnn
instance for each type instead (trivially). When you create a new data type withIsoValue
instance, you usually have to deriveHasTypeAnn
as well.
0.1.0
Initial release extracted from the morley package.