morley-0.5.0: Developer tools for the Michelson Language

Safe HaskellNone
LanguageHaskell2010

Lorentz.EntryPoints

Synopsis

Documentation

class NiceParameter p => ParameterEntryPoints p where Source #

Which entrypoints given parameter declares.

newtype ParameterEntryPointsSplit p Source #

Implementation of parameterEntryPoints.

Constructors

ParameterEntryPointsSplit 

Fields

  • pesNotes :: Notes (ToT p)

    Parameter annotations which declare necessary entrypoints.

pepNone :: SingI (ToT p) => ParameterEntryPointsSplit p Source #

No entrypoints declared, parameter type will serve as argument type of the only existing entrypoint.

pepPlain :: PesEntryPointsC False cp st => ParameterEntryPointsSplit cp Source #

Fits for case when your contract exposes multiple entrypoints via having sum type as its parameter.

In particular, this will attach field annotations to immediate parameter "arms" which will be named as corresponding constructor names.

pepRecursive :: PesEntryPointsC True cp st => ParameterEntryPointsSplit cp Source #

Similar to pesEntryPoints, but for case of parameter being defined as several nested datatypes.

In particular, this will traverse sum types recursively, stopping at Michelson primitives (like Natural) and constructors with number of fields different from one.