1. 19 Jun, 2020 13 commits
    • Pinto Pasquale's avatar
      [TM-410] make Indigo's tutorial a buildable website · 9f3d3d66
      Pinto Pasquale authored
      Problem: we can use the existing tutorial to make a static website
      for Indigo using mkdocs.
      This needs changed in the documentation's content, namely:
      - we would like to statically include part of the example modules
      - there needs to be an index/home page
      - the appendices should be moved to be "reference" pages
      - the explanations should not be flat, but include note blocks, etc.
      - references to local files need to be removed, as they don't work
      
      Solution: Make a buildable website with:
      - configuration for mkdocs and its extension
      - CSS for customized styling
      - a python-markdown extension for example source code inclusion
      9f3d3d66
    • Pinto Pasquale's avatar
      [TM-410] re-arrange indigo tutorial's files for website building · 1145fb98
      Pinto Pasquale authored
      Problem: A website for Indigo needs to be built from its current
      tutorial, however the tree structure is not ideal, in particular:
      - markdown files for the chapters are organized alonside the source
        code for the examples
      - the example modules are tied to the documentation structure
      These constitute a problem because we want the documentation's file
      tree structure to be independent from the examples and vice-versa.
      
      Solution: move the markdown files in a flat new directory and move
      the example modules in a topic-based tree structure.
      1145fb98
    • Pinto Pasquale's avatar
      Merge branch 'pasqu4le/#163-reduce-TcOriginatedContracts' into 'master' · b9863080
      Pinto Pasquale authored
      [#163] remove unnecessary TcOriginatedContracts usages
      
      Closes #163
      
      See merge request !455
      b9863080
    • Pinto Pasquale's avatar
      [#163] refactor typeCheckValImpl · 3a6e6965
      Pinto Pasquale authored
      Problem: `typeCheckValImpl` now has an additional parameter to carry
      around and pass recursively, this could be avoided by using another
      function that has it in its closure.
      
      Solution: put the logic of `typeCheckValImpl` in a separate
      `doTypeCheckVal` function and move the other functions part of the
      recursive calls as well.
      3a6e6965
    • Pinto Pasquale's avatar
      [#163] use typeCheck/Verify functions for Storage and Parameter · 359c44de
      Pinto Pasquale authored
      Problem: now that there are functions to typeCheck/Verify parameters
      exclusively the ones for "TopLevelValue" are only used for storage
      values.
      
      Solution: rename typeCheck/Verify functions for "TopLevelValue" to
      "Storage" and make common (un-exported) ones.
      359c44de
    • Pinto Pasquale's avatar
      [#163] remove unnecessary TcOriginatedContracts usages · b44f38ca
      Pinto Pasquale authored
      Problem: `TcOriginatedContracts` is used to typecheck a value of type
      `contract p`. After the Babylon update this can only happen in a parameter.
      However, we store `tcContracts` in `TypeCheckEnv` and often blindly pass
      `mempty` or set it to `error`.
      
      Solution: remove `tcContracts` from `TypeCheckEnv` and use
      `TcOriginatedContracts` only for typeCheck functions that needs it.
      `typeCheckParameter` has been added for this purpose.
      Additionally, unnecesary type-checking functions based on it have
      been removed.
      b44f38ca
    • Ivan Gromakovskii's avatar
      Merge branch 'gromak/indigo-release' into 'master' · f87ea456
      Ivan Gromakovskii authored
      Prepare indigo to be released
      
      See merge request !468
      f87ea456
    • Ivan Gromakovskii's avatar
      Override indigo's homepage · 99c0d9ab
      Ivan Gromakovskii authored
      Problem: indigo's homepage (stated in `indigo.cabal`) is
      the `morley` repo, but now we have a dedicated website which is
      more appropriate.
      
      Solution: override it in `package.yaml`. It complains about duplicated
      field, but handles it correctly, so I hope it's fine (better than
      copy-pasting or doing some verbose tricks).
      99c0d9ab
    • Ivan Gromakovskii's avatar
      Remove unused dependences · 85fca464
      Ivan Gromakovskii authored
      Problem: `ghc-prim` seems to be unused by our packages, but
      is listed in dependencies.
      Solution: remove it.
      85fca464
    • Ivan Gromakovskii's avatar
      Add Hackage badge to lorentz · ef6cb4ab
      Ivan Gromakovskii authored
      ef6cb4ab
    • Ivan Gromakovskii's avatar
      [Chore] Prepare indigo release · 3e39afc9
      Ivan Gromakovskii authored
      Problem: we want to release indigo to Hackage to make it more
      accessible.
      Solution: prepare for that by adding a changelog and Hackage badge.
      3e39afc9
    • Sandeep.C.R's avatar
      Merge branch 'sras/#242-err-for-missing-tzclient' into 'master' · 1a78d4d0
      Sandeep.C.R authored
      [#242] Better error message when `tezos-client` program is missing
      
      Closes #242
      
      See merge request !458
      1a78d4d0
    • Sandeep.C.R's avatar
      [#242] Add better error for missing tezos-client program · fd69ab86
      Sandeep.C.R authored
      Problem: Right now the error message that is  printed when
      `tezos-client` program is missing from PATH, is not very helpful. It is
      also harder to spot in a large test log.
      
      Solution: Catch the error that is being thrown when `tezos-client`
      program is missing, and output a helpful message. Also, color the
      terminal output so that it could be easily noticed.
      fd69ab86
  2. 16 Jun, 2020 15 commits
    • Kirill Kuvshinov's avatar
      Merge branch 'kkirka/tm314-gas-doc' into 'master' · 1f4ad392
      Kirill Kuvshinov authored
      [TM-314] Add gas costs doc
      
      See merge request !80
      1f4ad392
    • Kirill Kuvshinov's avatar
      [TM-314] Move fees to a separate document · ade375c5
      Kirill Kuvshinov authored
      Problem: Currently, transaction and storage fees are described in
      michelsonExploration.md, and gas is described in a separate
      gasConsumption.md. It is tricky to find information because the
      documentation is not cohesive: info on two closely related concepts
      is scattered across the repo, and there are no links connecting
      the docs.
      
      Solution: Move fees description to a separate document, link to
      this document and to the gas document from michelsonExploration.md,
      link to the gas document from the fees document.
      ade375c5
    • Kirill Kuvshinov's avatar
      [TM-314] Add gas costs doc · e481b85f
      Kirill Kuvshinov authored
      Problem: Gas consumption is quite complex to grasp from just looking
      into the code of OCaml implementation. It is unclear how exactly the
      gas is consumed during contract execution, especially when multiple
      contracts are involved. Unclear gas consumption makes us write
      suboptimal contracts, often hitting the upper gas limit.
      
      Solution: Provide a document describing the main concepts behind gas
      consumption in the reference implementation.
      e481b85f
    • Anton Myasnikov's avatar
      Merge branch 'awkure/#158-deprecations' into 'master' · ab6d4304
      Anton Myasnikov authored
      [#158] Remove deprecated functionality
      
      Closes #158
      
      See merge request !357
      ab6d4304
    • Anton Myasnikov's avatar
      [#158] Remove deprecated Lorentz.Store module · fc3cf14a
      Anton Myasnikov authored
      Problem: We have deprecated `Lorentz.Store` module that needs to
      be removed in favor of `Lorentz.UStore`. Also we have unused
      `template-haskell` package in lorentz dependencies.
      
      Solution: Remove `Lorentz.Store` and update `Lorentz.UStore`
      comment. And remove `template-haskell` from lorent dependencies.
      fc3cf14a
    • Anton Myasnikov's avatar
      [#158] Remove deprecated custom error functionality · a58d59bd
      Anton Myasnikov authored
      Problem: In `Lorentz.Errors` we have old interface for custom
      error values that needs to be removed.
      
      Solution: Remove old interface from `Lorentz.Errors` and its
      consequent test.
      a58d59bd
    • Moremi Vannak's avatar
      Merge branch 'rinn7e/#7-different-pairstruct-papair' into 'master' · 0afbeb56
      Moremi Vannak authored
      [#7] Rename `PairStruct` to `UnpairStruct` and use different `PairStruct` for PAPAIR
      
      Closes #7
      
      See merge request !451
      0afbeb56
    • Moremi Vannak's avatar
      [#7] Rename `PairStruct` to `UnpairStruct` and use different `PairStruct` for PAPAIR · f8622e87
      Moremi Vannak authored
      Problem:  `PAPAIR` and `UNPAIR` use the same structure (called `PairStruct`),
      but current structure is correct only for `UNPAIR`, because `UNPAIR` can
      produce multiple items on stack and hence can have multiple variable
      annotations, while `PAPAIR` can't.
      
      So `VarAnn`s inside `PairStruct` inside `PAPAIR` are always ignored.
      
      Solution: Rename current `PairStruct` to `UnpairStruct` and use different
      `PairStruct` which exactly captures set of all possible `PAPAIR`s.
      f8622e87
    • Roman Melnikov's avatar
      Merge branch 'rvem/#139-fees-and-storage-limit-via-tezos-client' into 'master' · 49311d98
      Roman Melnikov authored
      [#139] Fix storage size computation and fee calculation in morley-client
      
      Closes #139
      
      See merge request !443
      49311d98
    • Roman Melnikov's avatar
      [#139] Calculate fee using tezos-client · 50e38704
      Roman Melnikov authored
      Problem: Currently fee is calculated using `calcFee` from
      `Morley.Client.Action.Common`, this function has logic which is
      different from the reference implementation, moreover, reference fee
      calculation is quite complex.
      
      Solution: Calculate fee for transfers and origination using dry-run
      calls in tezos-client.
      50e38704
    • Roman Melnikov's avatar
      [#139] Add transaction preapply · b24fbb38
      Roman Melnikov authored
      Problem: After estimating fee, gas and storage limit transaction can
      still fail due to invalid estimation, however, currently morley-client
      will try to inject such operation and it can appear in the block
      explorer in the backtracked state, which is not very useful.
      
      Solution: Add preapply call to the transaction, thus we check whether
      estimated values are sufficient before injecting operation to the chain.
      b24fbb38
    • Roman Melnikov's avatar
      [#139] Add tests for contract allocation · 564c9a01
      Roman Melnikov authored
      Motivation: Add simple scenario with contract that performs transfers to
      10 new addresses.
      564c9a01
    • Roman Melnikov's avatar
      [#139] Pure and real-chain nettest in one suite · 9f2146ab
      Roman Melnikov authored
      Problem: Currently, `morley-nettest` has two test-suites, one runs pure
      nettest scenario, the other runs them on real chain. It doesn't make
      much sense to have two test-suites.
      
      Solution: Run both pure and real chain nettest scenarios in
      `morley-nettest-nettest` test-suite and remove the other.
      9f2146ab
    • Roman Melnikov's avatar
      [#139] Use intial balance during origination · c9900fd9
      Roman Melnikov authored
      Problem: Initial balance is unused in morley-client origination, thus
      contract is always originated with zero balance.
      
      Solution: Use initial balance.
      c9900fd9
    • Roman Melnikov's avatar
      [#139] Fix storage size computation · 9e10b225
      Roman Melnikov authored
      Problem: When we originate new contract or perform transfer to the
      implicit contract which is unknown for the chain, it's required to add
      257 bytes for each new address. However, we don't do such thing, thus
      some of our nettest scenarios fails.
      
      Solution: Unconditionally add 257 bytes to storage limit for contract
      origination. `run_operation` RPC output for transaction has
      `allocated_destination_contract` field that states whether contract
      receiver was allocated. So in order to correctly calculate storage limit
      for transaction, we simply count all newly allocated contract and add
      257 bytes to storage limit for each.
      9e10b225
  3. 15 Jun, 2020 5 commits
  4. 14 Jun, 2020 2 commits
  5. 12 Jun, 2020 5 commits