morley 1.11.0 → 1.11.1
raw patch · 6 files changed
+26/−5 lines, 6 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Michelson.Typed.Haskell: crDescriptionL :: forall a_a6mwo. Lens' (ConstructorRep a_a6mwo) (Maybe Text)
+ Michelson.Typed.Haskell: crDescriptionL :: forall a_a6mGl. Lens' (ConstructorRep a_a6mGl) (Maybe Text)
- Michelson.Typed.Haskell: crFieldsL :: forall a_a6mwo a_a6mxG. Lens (ConstructorRep a_a6mwo) (ConstructorRep a_a6mxG) [FieldRep a_a6mwo] [FieldRep a_a6mxG]
+ Michelson.Typed.Haskell: crFieldsL :: forall a_a6mGl a_a6mHD. Lens (ConstructorRep a_a6mGl) (ConstructorRep a_a6mHD) [FieldRep a_a6mGl] [FieldRep a_a6mHD]
- Michelson.Typed.Haskell: crNameL :: forall a_a6mwo. Lens' (ConstructorRep a_a6mwo) Text
+ Michelson.Typed.Haskell: crNameL :: forall a_a6mGl. Lens' (ConstructorRep a_a6mGl) Text
- Michelson.Typed.Haskell: frDescriptionL :: forall a_a6mwn. Lens' (FieldRep a_a6mwn) (Maybe Text)
+ Michelson.Typed.Haskell: frDescriptionL :: forall a_a6mGk. Lens' (FieldRep a_a6mGk) (Maybe Text)
- Michelson.Typed.Haskell: frNameL :: forall a_a6mwn. Lens' (FieldRep a_a6mwn) (Maybe Text)
+ Michelson.Typed.Haskell: frNameL :: forall a_a6mGk. Lens' (FieldRep a_a6mGk) (Maybe Text)
- Michelson.Typed.Haskell: frTypeRepL :: forall a_a6mwn a_a6mzr. Lens (FieldRep a_a6mwn) (FieldRep a_a6mzr) a_a6mwn a_a6mzr
+ Michelson.Typed.Haskell: frTypeRepL :: forall a_a6mGk a_a6mJo. Lens (FieldRep a_a6mGk) (FieldRep a_a6mJo) a_a6mGk a_a6mJo
- Michelson.Typed.Haskell.Doc: crDescriptionL :: forall a_a6mwo. Lens' (ConstructorRep a_a6mwo) (Maybe Text)
+ Michelson.Typed.Haskell.Doc: crDescriptionL :: forall a_a6mGl. Lens' (ConstructorRep a_a6mGl) (Maybe Text)
- Michelson.Typed.Haskell.Doc: crFieldsL :: forall a_a6mwo a_a6mxG. Lens (ConstructorRep a_a6mwo) (ConstructorRep a_a6mxG) [FieldRep a_a6mwo] [FieldRep a_a6mxG]
+ Michelson.Typed.Haskell.Doc: crFieldsL :: forall a_a6mGl a_a6mHD. Lens (ConstructorRep a_a6mGl) (ConstructorRep a_a6mHD) [FieldRep a_a6mGl] [FieldRep a_a6mHD]
- Michelson.Typed.Haskell.Doc: crNameL :: forall a_a6mwo. Lens' (ConstructorRep a_a6mwo) Text
+ Michelson.Typed.Haskell.Doc: crNameL :: forall a_a6mGl. Lens' (ConstructorRep a_a6mGl) Text
- Michelson.Typed.Haskell.Doc: frDescriptionL :: forall a_a6mwn. Lens' (FieldRep a_a6mwn) (Maybe Text)
+ Michelson.Typed.Haskell.Doc: frDescriptionL :: forall a_a6mGk. Lens' (FieldRep a_a6mGk) (Maybe Text)
- Michelson.Typed.Haskell.Doc: frNameL :: forall a_a6mwn. Lens' (FieldRep a_a6mwn) (Maybe Text)
+ Michelson.Typed.Haskell.Doc: frNameL :: forall a_a6mGk. Lens' (FieldRep a_a6mGk) (Maybe Text)
- Michelson.Typed.Haskell.Doc: frTypeRepL :: forall a_a6mwn a_a6mzr. Lens (FieldRep a_a6mwn) (FieldRep a_a6mzr) a_a6mwn a_a6mzr
+ Michelson.Typed.Haskell.Doc: frTypeRepL :: forall a_a6mGk a_a6mJo. Lens (FieldRep a_a6mGk) (FieldRep a_a6mJo) a_a6mGk a_a6mJo
Files
- CHANGES.md +6/−0
- morley.cabal +1/−1
- src/Michelson/Text.hs +1/−1
- src/Michelson/Untyped/Instr.hs +15/−1
- src/Michelson/Untyped/Value.hs +1/−1
- src/Tezos/Core.hs +2/−1
CHANGES.md view
@@ -1,3 +1,9 @@+1.11.1+======+* [!740](https://gitlab.com/morley-framework/morley/-/merge_requests/740)+ Fixed `morley print` to correctly render `PUSH` instructions that+ previously caused contracts to be misaligned and rejected by `tezos-client`.+ 1.11.0 ====== * [!731](https://gitlab.com/morley-framework/morley/-/merge_requests/731)
morley.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: morley-version: 1.11.0+version: 1.11.1 synopsis: Developer tools for the Michelson Language description: A library to make writing smart contracts in Michelson — the smart contract language of the Tezos blockchain — pleasant and effective. category: Language
src/Michelson/Text.hs view
@@ -9,7 +9,7 @@ -- -- When writting a Michelson contract, you can only mention characters with -- codes from @[32 .. 126]@ range in string literals. Same restriction applies--- to string literals passed to @alphanet.sh@.+-- to string literals passed to @tezos-client@. -- -- However, Michelson allows some control sequences: @"\n"@. You have to write -- it exactly in this form, and internally it will be transformed to line feed
src/Michelson/Untyped/Instr.hs view
@@ -207,7 +207,21 @@ SWAP -> "SWAP" DIG n -> "DIG" <+> text (show n) DUG n -> "DUG" <+> text (show n)- PUSH va t v -> "PUSH" <+> renderAnnot va <+> renderTy t <+> renderDoc needsParens v+ PUSH va t v ->+ let renderConsecutively =+ "PUSH" <+> renderAnnot va <+> renderTy t <+> renderDoc needsParens v+ renderAligned = "PUSH" <+> renderAnnot va <$$> (spaces 2 <> renderTy t)+ <$$> spaces 2 <> nest 3 (renderDoc needsParens v)+ in case v of+ ValueNil -> renderConsecutively+ ValueInt{} -> renderConsecutively+ ValueString{} -> renderConsecutively+ ValueBytes{} -> renderConsecutively+ ValueUnit -> renderConsecutively+ ValueTrue -> renderConsecutively+ ValueFalse -> renderConsecutively+ ValueNone -> renderConsecutively+ _ -> renderAligned SOME ta va -> "SOME" <+> renderAnnots [ta] [] [va] NONE ta va t -> "NONE" <+> renderAnnots [ta] [] [va] <+> renderTy t UNIT ta va -> "UNIT" <+> renderAnnots [ta] [] [va]
src/Michelson/Untyped/Value.hs view
@@ -83,7 +83,7 @@ ValueNone -> "None" ValueSeq xs -> renderValuesList (renderDoc doesntNeedParens) xs ValueMap xs -> renderValuesList renderElt xs- ValueLambda xs -> renderOps True xs+ ValueLambda xs -> renderOps False xs renderElt :: RenderDoc op => Elt op -> Doc renderElt (Elt k v) =
src/Tezos/Core.hs view
@@ -326,7 +326,8 @@ dummyChainId :: ChainId dummyChainId = ChainIdUnsafe "\0\0\0\0" --- | Pretty print 'ChainId' as it is displayed e.g. in @./babylonnet.sh head@ call.+-- | Pretty print 'ChainId' as it is displayed e.g. in+-- @tezos-client rpc get /chains/main/chain_id@ call. -- -- Example of produced value: "NetXUdfLh6Gm88t". formatChainId :: ChainId -> Text