From 78c6cbae68ba610502025ddb89b44ebb5175b45e Mon Sep 17 00:00:00 2001 From: Matej Sima Date: Mon, 12 Aug 2019 10:41:53 +0200 Subject: [PATCH 01/34] Add build & packaging scripts for multiplatform ligo binary distribution --- .dockerignore | 6 ++ .gitlab-ci.yml | 79 +++++++++++++------ dist/.gitignore | 4 + .../distribution/debian/distribute.Dockerfile | 0 docker/distribution/debian/package.Dockerfile | 32 ++++++++ .../generic/build.Dockerfile} | 11 +-- scripts/build_docker_image.sh | 3 +- scripts/distribution/generic/build.sh | 11 +++ scripts/distribution/generic/env_variables.sh | 12 +++ scripts/distribution/generic/package.sh | 20 +++++ scripts/distribution/generic/parameters.sh | 32 ++++++++ 11 files changed, 179 insertions(+), 31 deletions(-) create mode 100644 .dockerignore create mode 100644 dist/.gitignore create mode 100644 docker/distribution/debian/distribute.Dockerfile create mode 100644 docker/distribution/debian/package.Dockerfile rename docker/{Dockerfile => distribution/generic/build.Dockerfile} (81%) create mode 100755 scripts/distribution/generic/build.sh create mode 100755 scripts/distribution/generic/env_variables.sh create mode 100755 scripts/distribution/generic/package.sh create mode 100644 scripts/distribution/generic/parameters.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..ccf03db24 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +dist +_opam +_build +docker +gitlab-pages +Makefile \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1fa3cd9ec..19e5d7f6a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,12 +1,27 @@ # TODO: remove this as submodules aren't used anymore. variables: GIT_SUBMODULE_STRATEGY: recursive + build_binary_script: "./scripts/distribution/generic/build.sh" + package_binary_script: "./scripts/distribution/generic/package.sh" stages: - build_docker - - build_and_deploy_docker - - build_and_deploy_website - test + - build_and_deploy_docker + - build_and_package_binaries + - build_and_deploy_website + +.build_binary: &build_binary + stage: build_and_package_binaries + script: + - $build_binary_script "$target_os_family" "$target_os" "$target_os_version" + - $package_binary_script "$target_os_family" "$target_os" "$target_os_version" + artifacts: + paths: + - dist/package/**/* + only: + - master + - dev .website_build: &website_build stage: build_and_deploy_website @@ -71,30 +86,12 @@ local-dune-job: - scripts/build_ligo_local.sh - dune build @ligo-test -remote-repo-job: - <<: *before_script - stage: test - script: - # Add repository - - opam repository add ligo-repository https://gitlab.com/ligolang/ligo.git - - eval $(opam config env) - - opam install -y ligo - # Used in the IDE - #- opam install -y user-setup - #- opam install -y merlin - #- opam install -y ocp-indent - #- opam user-setup install - only: - - master - -# TODO: uncomment this - # Run a docker build without publishing to the registry build-current-docker-image: stage: build_docker <<: *docker script: - - docker build -t $LIGO_REGISTRY_IMAGE:next -f ./docker/Dockerfile . + - sh scripts/build_docker_image.sh - sh scripts/test_cli.sh except: - master @@ -106,13 +103,51 @@ build-and-publish-latest-docker-image: stage: build_and_deploy_docker <<: *docker script: - - docker build -t $LIGO_REGISTRY_IMAGE:next -f ./docker/Dockerfile . + - sh scripts/build_docker_image.sh - sh scripts/test_cli.sh - docker login -u $LIGO_REGISTRY_USER -p $LIGO_REGISTRY_PASSWORD - docker push $LIGO_REGISTRY_IMAGE:next only: - dev +# It'd be a good idea to generate those jobs dynamically, +# based on desired targets +build-and-package-debian-9: + <<: *docker + stage: build_and_package_binaries + variables: + target_os_family: "debian" + target_os: "debian" + target_os_version: "9" + <<: *build_binary + +build-and-package-debian-10: + <<: *docker + stage: build_and_package_binaries + variables: + target_os_family: "debian" + target_os: "debian" + target_os_version: "10" + <<: *build_binary + +build-and-package-ubuntu-18-04: + <<: *docker + stage: build_and_package_binaries + variables: + target_os_family: "debian" + target_os: "ubuntu" + target_os_version: "18.04" + <<: *build_binary + +build-and-package-ubuntu-19-04: + <<: *docker + stage: build_and_package_binaries + variables: + target_os_family: "debian" + target_os: "ubuntu" + target_os_version: "19.04" + <<: *build_binary + # Pages are deployed from both master & dev, be careful not to override 'next' # in case something gets merged into 'dev' while releasing. pages: diff --git a/dist/.gitignore b/dist/.gitignore new file mode 100644 index 000000000..86d0cb272 --- /dev/null +++ b/dist/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore \ No newline at end of file diff --git a/docker/distribution/debian/distribute.Dockerfile b/docker/distribution/debian/distribute.Dockerfile new file mode 100644 index 000000000..e69de29bb diff --git a/docker/distribution/debian/package.Dockerfile b/docker/distribution/debian/package.Dockerfile new file mode 100644 index 000000000..440496521 --- /dev/null +++ b/docker/distribution/debian/package.Dockerfile @@ -0,0 +1,32 @@ +ARG targetBuildImage +FROM ${targetBuildImage} +ARG version + +RUN apt-get update -qq +RUN apt-get -y -qq install \ + dput \ + devscripts + +RUN mkdir /package && mkdir /package/bin && mkdir /package/DEBIAN && mkdir /package/dist +# @TODO: make the binary path configurable +RUN cp /home/opam/.opam/4.07/bin/ligo /package/bin/ligo + +# @TODO: inherit version (and other details) from the ligo opam package definition +# In our case we're using the version field to name our package accordingly, +# however this is most likely not ideal +# Also, the architecture field should not be 'all' but rather specific instead. +RUN echo "Package: ligo\n\ +Version: $version\n\ +Architecture: all\n\ +Maintainer: info@ligolang.org\n\ +Depends: libev-dev, perl, pkg-config, libgmp-dev, libhidapi-dev, m4, libcap-dev, bubblewrap, rsync\n\ +Homepage: http://ligolang.org\n\ +Description: LIGO is a statically typed high-level smart-contract language that compiles down to Michelson." >> /package/DEBIAN/control + +RUN cd /package/dist && dpkg-deb --build /package . + +# Test the package +# Optionally this could/should be done in a more pristine docker environment - in a separate image +RUN apt-get update -qq +RUN apt-get -y -f install "/package/dist/$(ls /package/dist)" +RUN ligo --help \ No newline at end of file diff --git a/docker/Dockerfile b/docker/distribution/generic/build.Dockerfile similarity index 81% rename from docker/Dockerfile rename to docker/distribution/generic/build.Dockerfile index 057bd6436..e183fc683 100644 --- a/docker/Dockerfile +++ b/docker/distribution/generic/build.Dockerfile @@ -1,5 +1,7 @@ -# At the moment, this really means 4.07.1 -FROM ocaml/opam2:4.07 +ARG target +FROM ocaml/opam2:${target} + +RUN opam switch 4.07 && eval $(opam env) USER root @@ -10,7 +12,6 @@ USER root # because the currently checkout out version (from git) will be used # to build the image ADD . /ligo - # Set the current working directory to /ligo for # the upcoming scripts WORKDIR /ligo @@ -18,10 +19,6 @@ WORKDIR /ligo # Install required native dependencies RUN sh scripts/install_native_dependencies.sh -# Install OPAM -# TODO: or scripts/install_build_environment.sh ? -RUN sh scripts/install_opam.sh - # Add tezos repository RUN sh scripts/setup_repos.sh diff --git a/scripts/build_docker_image.sh b/scripts/build_docker_image.sh index 273fa92c6..21e3a2bf5 100755 --- a/scripts/build_docker_image.sh +++ b/scripts/build_docker_image.sh @@ -1,4 +1,3 @@ #!/bin/sh set -e - -docker build -t ligolang/ligo -f docker/Dockerfile . +docker build --build-arg target="4.07" -t "${LIGO_REGISTRY_IMAGE_BUILD:-ligolang/ligo}:next" -f ./docker/distribution/generic/build.Dockerfile . diff --git a/scripts/distribution/generic/build.sh b/scripts/distribution/generic/build.sh new file mode 100755 index 000000000..7f4a89e9a --- /dev/null +++ b/scripts/distribution/generic/build.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +dockerfile_name="build" +# Generic dockerfile +dockerfile="./docker/distribution/generic/build.Dockerfile" +. ./scripts/distribution/generic/parameters.sh + +echo "Building LIGO for $target" +echo "Using Dockerfile: $dockerfile" +echo "Tagging as: $tag_build\n" +docker build --build-arg target="$target" -t "$tag_build" -f "$dockerfile" . \ No newline at end of file diff --git a/scripts/distribution/generic/env_variables.sh b/scripts/distribution/generic/env_variables.sh new file mode 100755 index 000000000..7279e4cbe --- /dev/null +++ b/scripts/distribution/generic/env_variables.sh @@ -0,0 +1,12 @@ +# This file is a substitute for env variables configured in the CI +# in case you want to run the "CI scripts" on your own +# You can load the following variables using: +# source ./scripts/distribution/generic/env_variables.sh + +export LIGO_REGISTRY_IMAGE_BASE_NAME="ligolang/ligo" +# packages build locally are tagget by the 'short' commit hash, +# instead of the build/job/pipeline ID as in the CI to avoid possible confusion +# ligo_incrementing-id_commit-hash +export CI_JOB_ID="0" +export CI_COMMIT_SHORT_SHA="$(git rev-parse --short HEAD)" +export LIGO_DIST_DIR="./dist" diff --git a/scripts/distribution/generic/package.sh b/scripts/distribution/generic/package.sh new file mode 100755 index 000000000..b00b61841 --- /dev/null +++ b/scripts/distribution/generic/package.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +dockerfile_name="package" +dockerfile="" +. ./scripts/distribution/generic/parameters.sh + +if [ -n "$dockerfile" ]; then + echo "Packaging LIGO for $target" + echo "Using Dockerfile: $dockerfile" + echo "Using pre-built image: $tag_build" + echo "Version: $version\n" + + # Build the package + docker build --build-arg targetBuildImage="$tag_build" --build-arg version="$version" -t "$tag_package" -f "$dockerfile" . + # Copy the package to host's (our own) file system + mkdir -p "$PWD/dist/package/$target" + docker run -v $PWD:$PWD "$tag_package" cp -r /package/dist/. "$PWD/dist/package/$target" +else + echo "Dockerfile not found for target: $target" +fi \ No newline at end of file diff --git a/scripts/distribution/generic/parameters.sh b/scripts/distribution/generic/parameters.sh new file mode 100644 index 000000000..436b48bf0 --- /dev/null +++ b/scripts/distribution/generic/parameters.sh @@ -0,0 +1,32 @@ +# This script accepts three arguments, os family, os and it's version, +# which are subsequently used to fetch the respective docker +# image from the ocaml/infrastructure project. +# +# https://github.com/ocaml/infrastructure/wiki/Containers#selecting-linux-distributions +target_os_family=$1 +target_os=$2 +target_os_version=$3 + +# Variables configured at the CI level +dist="$LIGO_DIST_DIR" +version="$(echo $CI_JOB_ID)-$(echo $CI_COMMIT_SHORT_SHA)" +ci_job_id="$CI_JOB_ID" + +# Image names for building & packaging +target="$target_os-$target_os_version" +tag_build="$LIGO_REGISTRY_IMAGE_BASE_NAME-build-$target:$version" +tag_package="$LIGO_REGISTRY_IMAGE_BASE_NAME-package-$target:$version" +tag_package_dockerized="$LIGO_REGISTRY_IMAGE_BASE_NAME-$target:$version" + + +# Check if there's a specific dockerfile override for +# the current target_os_family (e.g. debian-ish distros) or target_os (ubuntu, xubuntu, ...) and use it if there is one +target_os_family_specific_dockerfile="./docker/distribution/$target_os_family/$dockerfile_name.Dockerfile" +if test -f "$target_os_family_specific_dockerfile"; then + dockerfile="$target_os_family_specific_dockerfile" +fi + +target_os_specific_dockerfile="./docker/distribution/$target_os_family/$target_os/$dockerfile_name.Dockerfile" +if test -f "$target_os_specific_dockerfile"; then + dockerfile="$target_os_specific_dockerfile" +fi \ No newline at end of file From 804281b206ee25092a23774554f467666f370a78 Mon Sep 17 00:00:00 2001 From: Tom Jack Date: Tue, 1 Oct 2019 09:21:01 -0500 Subject: [PATCH 02/34] Copy debian packages into gitlab-pages --- .gitlab-ci.yml | 3 +++ gitlab-pages/docs/setup/installation.md | 12 +++++++++--- gitlab-pages/website/static/deb/.gitignore | 1 + scripts/distribution/generic/package.sh | 4 ++-- 4 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 gitlab-pages/website/static/deb/.gitignore diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 19e5d7f6a..9589ea238 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -43,6 +43,9 @@ stages: # build with odoc - dune build @doc + # copy .deb packages into website + - find dist -name \*.deb -exec sh -c 'cp {} gitlab-pages/website/static/deb/ligo_$(basename $(dirname {})).deb' \; + # npm - cd gitlab-pages/website - npm install diff --git a/gitlab-pages/docs/setup/installation.md b/gitlab-pages/docs/setup/installation.md index c9b5c5503..e607b3c32 100644 --- a/gitlab-pages/docs/setup/installation.md +++ b/gitlab-pages/docs/setup/installation.md @@ -3,7 +3,7 @@ id: installation title: Installation --- -There are currently two ways to get started with Ligo, both of those will allow you to use the Ligo CLI with your contracts. You can choose to use either a Docker image, or to compile & build the Ligo CLI yourself. +There are currently two ways to get started with Ligo. You can choose to either use a Docker image, or to install packages for your Debian Linux distribution. ## Dockerized installation (recommended) @@ -38,6 +38,12 @@ ligo --help ``` -## Manual installation (advanced) +## Debian Linux package installation + +We have produced .deb packages for a few Debian Linuxes. They will install a global `ligo` executable. You can install them in the usual way. + +- [Ubuntu 18.04](/deb/ligo_ubuntu-18.04.deb) +- [Ubuntu 19.04](/deb/ligo_ubuntu-19.04.deb) +- [Debian 9](/deb/ligo_debian-9.deb) +- [Debian 10](/deb/ligo_debian-10.deb) -For now, please refer to the steps described in the [Dockerfile](https://gitlab.com/ligolang/ligo/blob/master/docker/Dockerfile). \ No newline at end of file diff --git a/gitlab-pages/website/static/deb/.gitignore b/gitlab-pages/website/static/deb/.gitignore new file mode 100644 index 000000000..72e8ffc0d --- /dev/null +++ b/gitlab-pages/website/static/deb/.gitignore @@ -0,0 +1 @@ +* diff --git a/scripts/distribution/generic/package.sh b/scripts/distribution/generic/package.sh index b00b61841..79be37d41 100755 --- a/scripts/distribution/generic/package.sh +++ b/scripts/distribution/generic/package.sh @@ -14,7 +14,7 @@ if [ -n "$dockerfile" ]; then docker build --build-arg targetBuildImage="$tag_build" --build-arg version="$version" -t "$tag_package" -f "$dockerfile" . # Copy the package to host's (our own) file system mkdir -p "$PWD/dist/package/$target" - docker run -v $PWD:$PWD "$tag_package" cp -r /package/dist/. "$PWD/dist/package/$target" + docker run --entrypoint '/bin/sh' -v $PWD:$PWD "$tag_package" -c "cp -r /package/dist/. $PWD/dist/package/$target" else echo "Dockerfile not found for target: $target" -fi \ No newline at end of file +fi From b02c241a0178ce74b3b7e5bd6276a1e2a3d520c3 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 3 Oct 2019 11:37:07 -0700 Subject: [PATCH 03/34] Add short explanation to transpiler.ml --- src/passes/6-transpiler/transpiler.ml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/passes/6-transpiler/transpiler.ml b/src/passes/6-transpiler/transpiler.ml index 0cef7b26b..a7ddc8c31 100644 --- a/src/passes/6-transpiler/transpiler.ml +++ b/src/passes/6-transpiler/transpiler.ml @@ -1,3 +1,7 @@ +(* The Transpiler is a function that takes as input the Typed AST, and outputs expressions in a language that is basically a Michelson based on with named variables and first-class-environments. + +For more info, see back-end.md: https://gitlab.com/ligolang/ligo/blob/dev/gitlab-pages/docs/contributors/big-picture/back-end.md *) + open! Trace open Helpers From e3c581ff02143d77eb0ea1dd64c852f0eeb13908 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 3 Oct 2019 11:47:09 -0700 Subject: [PATCH 04/34] Fix typo in transpiler.ml explanation --- src/passes/6-transpiler/transpiler.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/passes/6-transpiler/transpiler.ml b/src/passes/6-transpiler/transpiler.ml index a7ddc8c31..5886ab542 100644 --- a/src/passes/6-transpiler/transpiler.ml +++ b/src/passes/6-transpiler/transpiler.ml @@ -1,4 +1,4 @@ -(* The Transpiler is a function that takes as input the Typed AST, and outputs expressions in a language that is basically a Michelson based on with named variables and first-class-environments. +(* The Transpiler is a function that takes as input the Typed AST, and outputs expressions in a language that is basically a Michelson with named variables and first-class-environments. For more info, see back-end.md: https://gitlab.com/ligolang/ligo/blob/dev/gitlab-pages/docs/contributors/big-picture/back-end.md *) From 51e6c441f2515d92080f054978ac3cb25005ad3c Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 3 Oct 2019 13:32:43 -0700 Subject: [PATCH 05/34] Add documentation for pascaligo parser interface as .mli --- src/passes/1-parser/pascaligo.mli | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/passes/1-parser/pascaligo.mli diff --git a/src/passes/1-parser/pascaligo.mli b/src/passes/1-parser/pascaligo.mli new file mode 100644 index 000000000..e82d6ab35 --- /dev/null +++ b/src/passes/1-parser/pascaligo.mli @@ -0,0 +1,21 @@ +(* This file provides an interface to the PascaLIGO parser. *) + +open Trace + +module Parser = Parser_pascaligo.Parser +module AST = Parser_pascaligo.AST +module ParserLog = Parser_pascaligo.ParserLog +module LexToken = Parser_pascaligo.LexToken + + +(** Open a PascaLIGO filename given by string and convert into an abstract syntax tree. *) +val parse_file : string -> (AST.t result) + +(** Convert a given string into a PascaLIGO abstract syntax tree *) +val parse_string : string -> AST.t result + +(** Parse a given string as a PascaLIGO expression and return an expression AST. + +This is intended to be used for interactive interpreters, or other scenarios +where you would want to parse a PascaLIGO expression outside of a contract. *) +val parse_expression : string -> AST.expr result From 211d5ea37fc4a0a34bd23f7263845ec778b4a5d3 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 3 Oct 2019 13:42:33 -0700 Subject: [PATCH 06/34] Add explanation of AST relationship to Parser.mly to AST.mli --- src/passes/1-parser/pascaligo/AST.mli | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/passes/1-parser/pascaligo/AST.mli b/src/passes/1-parser/pascaligo/AST.mli index 15e7e9883..5999f8ceb 100644 --- a/src/passes/1-parser/pascaligo/AST.mli +++ b/src/passes/1-parser/pascaligo/AST.mli @@ -135,8 +135,15 @@ type 'a braces = { rbrace : rbrace } -(* The Abstract Syntax Tree *) +(** The Abstract Syntax Tree +The AST mirrors the contents of Parser.mly, which defines a tree of parsing +productions that are used to make a syntax tree from a given program input. + +This file defines the concrete AST for PascaLIGO, which is used to associate +regions of the source code text with the contents of the syntax tree. + +*) type t = { decl : declaration nseq; eof : eof From 30d25ee24770ea09bd74d1dfabad060f0ea99ed9 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 3 Oct 2019 13:59:53 -0700 Subject: [PATCH 07/34] Convert top comment in LexToken.mli to ocamldoc comment --- src/passes/1-parser/pascaligo/LexToken.mli | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/passes/1-parser/pascaligo/LexToken.mli b/src/passes/1-parser/pascaligo/LexToken.mli index f98c7576c..0b645293b 100644 --- a/src/passes/1-parser/pascaligo/LexToken.mli +++ b/src/passes/1-parser/pascaligo/LexToken.mli @@ -1,4 +1,4 @@ -(* This signature defines the lexical tokens for LIGO +(** This signature defines the lexical tokens for LIGO _Tokens_ are the abstract units which are used by the parser to build the abstract syntax tree (AST), in other words, the stream of From c2489fd310f38b5b876b5b7e4aa25aae82791549 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 3 Oct 2019 14:07:12 -0700 Subject: [PATCH 08/34] ocamldoc-ify Markup.mli --- src/passes/1-parser/shared/Markup.mli | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/passes/1-parser/shared/Markup.mli b/src/passes/1-parser/shared/Markup.mli index 2522b52a9..6b31c0647 100644 --- a/src/passes/1-parser/shared/Markup.mli +++ b/src/passes/1-parser/shared/Markup.mli @@ -1,12 +1,11 @@ -(* This module defines the sorts of markup recognised by the LIGO +(** This module defines the sorts of markup recognised by the LIGO lexer *) module Region = Simple_utils.Region -(* A lexeme is piece of concrete syntax belonging to a token. In +(** A lexeme is piece of concrete syntax belonging to a token. In algebraic terms, a token is also a piece of abstract lexical syntax. Lexical units emcompass both markup and lexemes. *) - type lexeme = string type t = @@ -19,7 +18,7 @@ type t = type markup = t -(* Pretty-printing of markup +(** Pretty-printing of markup The difference between [to_lexeme] and [to_string] is that the former builds the corresponding concrete syntax (the lexeme), From fcfbbcb9c15ef9d8272d5f7af40a130caf1848fa Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 3 Oct 2019 15:32:16 -0700 Subject: [PATCH 09/34] Delete dead code and add .mli docs to simplify/pascaligo.ml --- src/passes/2-simplify/pascaligo.ml | 32 ----------------------------- src/passes/2-simplify/pascaligo.mli | 14 +++++++++++++ 2 files changed, 14 insertions(+), 32 deletions(-) create mode 100644 src/passes/2-simplify/pascaligo.mli diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index 31e739f36..1d5f1b89b 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -8,7 +8,6 @@ open Combinators let nseq_to_list (hd, tl) = hd :: tl let npseq_to_list (hd, tl) = hd :: (List.map snd tl) -let npseq_to_nelist (hd, tl) = hd, (List.map snd tl) let pseq_to_list = function | None -> [] | Some lst -> npseq_to_list lst @@ -36,16 +35,6 @@ module Errors = struct ] in error ~data title message - let bad_bytes loc str = - let title () = "bad bytes string" in - let message () = - Format.asprintf "bytes string contained non-hexadecimal chars" in - let data = [ - ("location", fun () -> Format.asprintf "%a" Location.pp loc) ; - ("bytes", fun () -> str) ; - ] in - error ~data title message - let unsupported_proc_decl decl = let title () = "procedure declarations" in let message () = @@ -88,17 +77,6 @@ module Errors = struct ] in error ~data title message - let unsupported_arith_op expr = - let title () = "arithmetic expressions" in - let message () = - Format.asprintf "this arithmetic operator is not supported yet" in - let expr_loc = Raw.expr_to_region expr in - let data = [ - ("expr_loc", - fun () -> Format.asprintf "%a" Location.pp_lift @@ expr_loc) - ] in - error ~data title message - let unsupported_string_catenation expr = let title () = "string expressions" in let message () = @@ -110,16 +88,6 @@ module Errors = struct ] in error ~data title message - let unsupported_proc_calls call = - let title () = "procedure calls" in - let message () = - Format.asprintf "procedure calls are not supported yet" in - let data = [ - ("call_loc", - fun () -> Format.asprintf "%a" Location.pp_lift @@ call.Region.region) - ] in - error ~data title message - let unsupported_for_loops region = let title () = "bounded iterators" in let message () = diff --git a/src/passes/2-simplify/pascaligo.mli b/src/passes/2-simplify/pascaligo.mli new file mode 100644 index 000000000..ebce134d6 --- /dev/null +++ b/src/passes/2-simplify/pascaligo.mli @@ -0,0 +1,14 @@ +(** Converts PascaLIGO programs to the Simplified Abstract Syntax Tree. *) + +open Ast_simplified + +module Raw = Parser.Pascaligo.AST +module SMap = Map.String + +(** Convert a concrete PascaLIGO expression AST to the simplified expression AST + used by the compiler. *) +val simpl_expression : Raw.expr -> expression Trace.result + +(** Convert a concrete PascaLIGO program AST to the simplified program AST used + by the compiler. *) +val simpl_program : Raw.ast -> program Trace.result From 0207d1f88f5cb529b9d12d25225d4f3df8b743e9 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Fri, 4 Oct 2019 15:33:50 -0700 Subject: [PATCH 10/34] Add .mli for SAST pretty printer with minimal comments --- src/stages/ast_simplified/PP.mli | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/stages/ast_simplified/PP.mli diff --git a/src/stages/ast_simplified/PP.mli b/src/stages/ast_simplified/PP.mli new file mode 100644 index 000000000..798fe18fa --- /dev/null +++ b/src/stages/ast_simplified/PP.mli @@ -0,0 +1,33 @@ +(** Pretty printer for the Simplified Abstract Syntax Tree *) + +open Types + +val type_expression : Format.formatter -> type_expression -> unit + +val literal : Format.formatter -> literal -> unit + +val expression : Format.formatter -> expression -> unit + +val option_type_name : Format.formatter -> string * type_expression option -> unit + +val assoc_expression : Format.formatter -> (expr * expr) -> unit + +val access : Format.formatter -> access -> unit + +val access_path : Format.formatter -> access_path -> unit + +val type_annotation : Format.formatter -> type_expression option -> unit + +val single_record_patch : Format.formatter -> string * expr -> unit + +val single_tuple_patch : Format.formatter -> int * expr -> unit + +(* Shows the type expected for the matched value *) +val matching_type : Format.formatter -> 'a matching -> unit + +val matching_variant_case_type : Format.formatter -> (string * string) * 'a -> unit + +val declaration : Format.formatter -> declaration -> unit + +(** Pretty print a full program AST *) +val program : Format.formatter -> program -> unit From e8afba9581a03f900cbf5d375be9882bd788cedf Mon Sep 17 00:00:00 2001 From: Tom Jack Date: Fri, 27 Sep 2019 11:33:32 -0500 Subject: [PATCH 11/34] Accept fake values for SENDER/SOURCE in dry-run --- src/bin/cli.ml | 61 +++++++++++++++++++++++----------- src/main/run/of_source.ml | 69 +++++++++++++++++++++++---------------- 2 files changed, 82 insertions(+), 48 deletions(-) diff --git a/src/bin/cli.ml b/src/bin/cli.ml index 31e9261ab..3ff01bd1e 100644 --- a/src/bin/cli.ml +++ b/src/bin/cli.ml @@ -6,7 +6,7 @@ let main = let term = Term.(const print_endline $ const "Ligo needs a command. Do ligo --help") in (term , Term.info "ligo") -let source n = +let source_file n = let open Arg in let info = let docv = "SOURCE_FILE" in @@ -53,6 +53,22 @@ let amount = info ~docv ~doc ["amount"] in value @@ opt string "0" info +let sender = + let open Arg in + let info = + let docv = "SENDER" in + let doc = "$(docv) is the sender the dry-run transaction will use." in + info ~docv ~doc ["sender"] in + value @@ opt (some string) None info + +let source = + let open Arg in + let info = + let docv = "SOURCE" in + let doc = "$(docv) is the source the dry-run transaction will use." in + info ~docv ~doc ["source"] in + value @@ opt (some string) None info + let display_format = let open Arg in let info = @@ -70,83 +86,90 @@ let michelson_code_format = value @@ opt string "michelson" info let compile_file = - let f source entry_point syntax display_format michelson_format = + let f source_file entry_point syntax display_format michelson_format = toplevel ~display_format @@ let%bind michelson_format = Main.Display.michelson_format_of_string michelson_format in let%bind contract = trace (simple_info "compiling contract to michelson") @@ - Ligo.Compile.Of_source.compile_file_contract_entry source entry_point (Syntax_name syntax) in + Ligo.Compile.Of_source.compile_file_contract_entry source_file entry_point (Syntax_name syntax) in ok @@ Format.asprintf "%a\n" (Main.Display.michelson_pp michelson_format) contract in let term = - Term.(const f $ source 0 $ entry_point 1 $ syntax $ display_format $ michelson_code_format) in + Term.(const f $ source_file 0 $ entry_point 1 $ syntax $ display_format $ michelson_code_format) in let cmdname = "compile-contract" in let docs = "Subcommand: compile a contract. See `ligo " ^ cmdname ^ " --help' for a list of options specific to this subcommand." in (term , Term.info ~docs cmdname) let compile_parameter = - let f source entry_point expression syntax display_format = + let f source_file entry_point expression syntax display_format = toplevel ~display_format @@ let%bind value = trace (simple_error "compile-input") @@ - Ligo.Run.Of_source.compile_file_contract_parameter source entry_point expression (Syntax_name syntax) in + Ligo.Run.Of_source.compile_file_contract_parameter source_file entry_point expression (Syntax_name syntax) in ok @@ Format.asprintf "%a\n" Tezos_utils.Michelson.pp value in let term = - Term.(const f $ source 0 $ entry_point 1 $ expression "PARAMETER" 2 $ syntax $ display_format) in + Term.(const f $ source_file 0 $ entry_point 1 $ expression "PARAMETER" 2 $ syntax $ display_format) in let cmdname = "compile-parameter" in let docs = "Subcommand: compile parameters to a michelson expression. The resulting michelson expression can be passed as an argument in a transaction which calls a contract. See `ligo " ^ cmdname ^ " --help' for a list of options specific to this subcommand." in (term , Term.info ~docs cmdname) let compile_storage = - let f source entry_point expression syntax display_format bigmap = + let f source_file entry_point expression syntax display_format bigmap = toplevel ~display_format @@ let%bind value = trace (simple_error "compile-storage") @@ - Ligo.Run.Of_source.compile_file_contract_storage ~value:bigmap source entry_point expression (Syntax_name syntax) in + Ligo.Run.Of_source.compile_file_contract_storage ~value:bigmap source_file entry_point expression (Syntax_name syntax) in ok @@ Format.asprintf "%a\n" Tezos_utils.Michelson.pp value in let term = - Term.(const f $ source 0 $ entry_point 1 $ expression "STORAGE" 2 $ syntax $ display_format $ bigmap) in + Term.(const f $ source_file 0 $ entry_point 1 $ expression "STORAGE" 2 $ syntax $ display_format $ bigmap) in let cmdname = "compile-storage" in let docs = "Subcommand: compile an initial storage in ligo syntax to a michelson expression. The resulting michelson expression can be passed as an argument in a transaction which originates a contract. See `ligo " ^ cmdname ^ " --help' for a list of options specific to this subcommand." in (term , Term.info ~docs cmdname) let dry_run = - let f source entry_point storage input amount syntax display_format bigmap = + let f source_file entry_point storage input amount sender source syntax display_format bigmap = toplevel ~display_format @@ let%bind output = - Ligo.Run.Of_source.run_contract ~amount ~storage_value:bigmap source entry_point storage input (Syntax_name syntax) in + Ligo.Run.Of_source.run_contract + ~options:{ amount ; sender ; source } + ~storage_value:bigmap + source_file entry_point storage input (Syntax_name syntax) in ok @@ Format.asprintf "%a\n" Ast_simplified.PP.expression output in let term = - Term.(const f $ source 0 $ entry_point 1 $ expression "PARAMETER" 2 $ expression "STORAGE" 3 $ amount $ syntax $ display_format $ bigmap) in + Term.(const f $ source_file 0 $ entry_point 1 $ expression "PARAMETER" 2 $ expression "STORAGE" 3 $ amount $ sender $ source $ syntax $ display_format $ bigmap) in let cmdname = "dry-run" in let docs = "Subcommand: run a smart-contract with the given storage and input." in (term , Term.info ~docs cmdname) let run_function = - let f source entry_point parameter amount syntax display_format = + let f source_file entry_point parameter amount sender source syntax display_format = toplevel ~display_format @@ let%bind output = - Ligo.Run.Of_source.run_function_entry ~amount source entry_point parameter (Syntax_name syntax) in + Ligo.Run.Of_source.run_function_entry + ~options:{ amount ; sender ; source } + source_file entry_point parameter (Syntax_name syntax) in ok @@ Format.asprintf "%a\n" Ast_simplified.PP.expression output in let term = - Term.(const f $ source 0 $ entry_point 1 $ expression "PARAMETER" 2 $ amount $ syntax $ display_format) in + Term.(const f $ source_file 0 $ entry_point 1 $ expression "PARAMETER" 2 $ amount $ sender $ source $ syntax $ display_format) in let cmdname = "run-function" in let docs = "Subcommand: run a function with the given parameter." in (term , Term.info ~docs cmdname) let evaluate_value = - let f source entry_point amount syntax display_format = + let f source_file entry_point amount sender source syntax display_format = toplevel ~display_format @@ let%bind output = - Ligo.Run.Of_source.evaluate_entry ~amount source entry_point (Syntax_name syntax) in + Ligo.Run.Of_source.evaluate_entry + ~options:{ amount ; sender ; source } + source_file entry_point (Syntax_name syntax) in ok @@ Format.asprintf "%a\n" Ast_simplified.PP.expression output in let term = - Term.(const f $ source 0 $ entry_point 1 $ amount $ syntax $ display_format) in + Term.(const f $ source_file 0 $ entry_point 1 $ amount $ sender $ source $ syntax $ display_format) in let cmdname = "evaluate-value" in let docs = "Subcommand: evaluate a given definition." in (term , Term.info ~docs cmdname) diff --git a/src/main/run/of_source.ml b/src/main/run/of_source.ml index f9a8e776c..7d365f59d 100644 --- a/src/main/run/of_source.ml +++ b/src/main/run/of_source.ml @@ -88,50 +88,61 @@ let compile_file_contract_args = let args = Ast_simplified.e_pair storage_simplified parameter_simplified in Of_simplified.compile_expression ?value args ~env +type dry_run_options = + { amount : string ; + sender : string option ; + source : string option } -let run_contract ?amount ?storage_value source_filename entry_point storage parameter syntax = +let make_dry_run_options (opts : dry_run_options) : Of_michelson.options result = + let open Proto_alpha_utils.Trace in + let open Proto_alpha_utils.Memory_proto_alpha in + let open Protocol.Alpha_context in + let%bind amount = match Tez.of_string opts.amount with + | None -> simple_fail "invalid amount" + | Some amount -> ok amount in + let%bind sender = + match opts.sender with + | None -> ok None + | Some sender -> + let%bind sender = + trace_alpha_tzresult + (simple_error "invalid address") + (Contract.of_b58check sender) in + ok (Some sender) in + let%bind source = + match opts.source with + | None -> ok None + | Some source -> + let%bind source = + trace_alpha_tzresult + (simple_error "invalid source address") + (Contract.of_b58check source) in + ok (Some source) in + ok @@ make_options ~amount ?source:sender ?payer:source () + +let run_contract ~options ?storage_value source_filename entry_point storage parameter syntax = let%bind program = Compile.Of_source.type_file syntax source_filename in let%bind code = Compile.Of_typed.compile_function_entry program entry_point in let%bind args = compile_file_contract_args ?value:storage_value source_filename entry_point storage parameter syntax in - let%bind ex_value_ty = - let options = - let open Proto_alpha_utils.Memory_proto_alpha in - let amount = Option.bind (fun amount -> Protocol.Alpha_context.Tez.of_string amount) amount in - (make_options ?amount ()) - in - Of_michelson.run ~options code args - in + let%bind options = make_dry_run_options options in + let%bind ex_value_ty = Of_michelson.run ~options code args in Compile.Of_simplified.uncompile_typed_program_entry_function_result program entry_point ex_value_ty -let run_function_entry ?amount source_filename entry_point input syntax = +let run_function_entry ~options source_filename entry_point input syntax = let%bind program = Compile.Of_source.type_file syntax source_filename in let%bind code = Compile.Of_typed.compile_function_entry program entry_point in let%bind args = compile_file_expression source_filename entry_point input syntax in - let%bind ex_value_ty = - let options = - let open Proto_alpha_utils.Memory_proto_alpha in - let amount = Option.bind (fun amount -> Protocol.Alpha_context.Tez.of_string amount) amount in - (make_options ?amount ()) - in - Of_michelson.run ~options code args - in + let%bind options = make_dry_run_options options in + let%bind ex_value_ty = Of_michelson.run ~options code args in Compile.Of_simplified.uncompile_typed_program_entry_function_result program entry_point ex_value_ty -let evaluate_entry ?amount source_filename entry_point syntax = +let evaluate_entry ~options source_filename entry_point syntax = let%bind program = Compile.Of_source.type_file syntax source_filename in let%bind code = Compile.Of_typed.compile_expression_as_function_entry program entry_point in - let%bind ex_value_ty = - let options = - let open Proto_alpha_utils.Memory_proto_alpha in - let amount = Option.bind (fun amount -> Protocol.Alpha_context.Tez.of_string amount) amount in - (make_options ?amount ()) - in - Of_michelson.evaluate ~options code - in + let%bind options = make_dry_run_options options in + let%bind ex_value_ty = Of_michelson.evaluate ~options code in Compile.Of_simplified.uncompile_typed_program_entry_expression_result program entry_point ex_value_ty let evaluate_michelson expression syntax = let%bind code = Compile.Of_source.compile_expression_as_function expression syntax in Of_michelson.evaluate_michelson code - - From 2f60c85aa882411811a7085c608c405f8237e747 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Wed, 9 Oct 2019 17:08:58 -0700 Subject: [PATCH 12/34] Add rough draft of set patch functionality --- src/passes/2-simplify/pascaligo.ml | 40 ++++++++++++++++++------------ 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index 9dc303e3c..0a0e252d5 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -141,7 +141,7 @@ module Errors = struct ] in error ~data title message - let unsupported_set_patches patch = + (* let unsupported_set_patches patch = let title () = "set patches" in let message () = Format.asprintf "set patches (a.k.a. functional updates) are \ @@ -150,7 +150,7 @@ module Errors = struct ("patch_loc", fun () -> Format.asprintf "%a" Location.pp_lift @@ patch.Region.region) ] in - error ~data title message + error ~data title message *) let unsupported_deep_map_rm path = let title () = "binding removals" in @@ -163,18 +163,6 @@ module Errors = struct ] in error ~data title message - - (* let unsupported_set_removal remove = - let title () = "set removals" in - let message () = - Format.asprintf "removal of elements in a set is not \ - supported yet" in - let data = [ - ("removal_loc", - fun () -> Format.asprintf "%a" Location.pp_lift @@ remove.Region.region) - ] in - error ~data title message *) - let unsupported_deep_set_rm path = let title () = "set removals" in let message () = @@ -839,8 +827,28 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu ) | MapPatch patch -> fail @@ unsupported_map_patches patch - | SetPatch patch -> - fail @@ unsupported_set_patches patch + | SetPatch patch -> ( + let setp = patch.value in + let (name , access_path) = simpl_path setp.path in + let%bind inj = bind_list + @@ List.map (fun (x:Raw.expr) -> + let%bind e = simpl_expression x + in ok e) + @@ pseq_to_list setp.set_inj.value.elements in + let%bind expr = + let aux = fun (v) -> + e_assign name access_path (e_constant "SET_ADD" [v ; e_variable name]) in + let assigns = List.map aux inj in + match assigns with + | [] -> fail @@ unsupported_empty_record_patch setp.set_inj + | hd :: tl -> ( + let aux acc cur = e_sequence acc cur in + ok @@ List.fold_left aux hd tl + ) + in + return_statement @@ expr + ) + | MapRemove r -> ( let (v , loc) = r_split r in let key = v.key in From c82076281fdacbe1f78a6a725374782d98ab348c Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Wed, 9 Oct 2019 23:13:25 -0700 Subject: [PATCH 13/34] Add test for set patch functionality Resolves LIGO-127 --- src/test/contracts/set_arithmetic.ligo | 5 +++++ src/test/integration_tests.ml | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/test/contracts/set_arithmetic.ligo b/src/test/contracts/set_arithmetic.ligo index 81f9b0d6c..d1b12195f 100644 --- a/src/test/contracts/set_arithmetic.ligo +++ b/src/test/contracts/set_arithmetic.ligo @@ -17,6 +17,11 @@ function remove_op (const s : set(string)) : set(string) is function remove_syntax (var s : set(string)) : set(string) is begin remove "foobar" from set s; end with s +function patch_op (var s: set(string)) : set(string) is + begin patch s with set ["foobar"]; end with s + function mem_op (const s : set(string)) : bool is begin skip end with set_mem("foobar" , s) + + diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index e68e32d8f..3f9c64ced 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -245,6 +245,10 @@ let set_arithmetic () : unit result = expect_eq program "remove_syntax" (e_set [e_string "foo" ; e_string "bar" ; e_string "foobar"]) (e_set [e_string "foo" ; e_string "bar"]) in + let%bind () = + expect_eq program "patch_op" + (e_set [e_string "foo" ; e_string "bar"]) + (e_set [e_string "foo" ; e_string "bar"; e_string "foobar"]) in let%bind () = expect_eq program "mem_op" (e_set [e_string "foo" ; e_string "bar" ; e_string "foobar"]) From 0de17f4b57e6f7ce180b13119ddcbd03967c8590 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 10 Oct 2019 13:35:38 -0700 Subject: [PATCH 14/34] Add empty set patches, add test for empty set patches --- src/passes/2-simplify/pascaligo.ml | 4 ++-- src/test/contracts/set_arithmetic.ligo | 3 +++ src/test/integration_tests.ml | 4 ++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index 0a0e252d5..bc29a71d9 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -828,7 +828,7 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu | MapPatch patch -> fail @@ unsupported_map_patches patch | SetPatch patch -> ( - let setp = patch.value in + let (setp, loc) = r_split patch in let (name , access_path) = simpl_path setp.path in let%bind inj = bind_list @@ List.map (fun (x:Raw.expr) -> @@ -840,7 +840,7 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu e_assign name access_path (e_constant "SET_ADD" [v ; e_variable name]) in let assigns = List.map aux inj in match assigns with - | [] -> fail @@ unsupported_empty_record_patch setp.set_inj + | [] -> ok @@ e_skip ~loc () | hd :: tl -> ( let aux acc cur = e_sequence acc cur in ok @@ List.fold_left aux hd tl diff --git a/src/test/contracts/set_arithmetic.ligo b/src/test/contracts/set_arithmetic.ligo index d1b12195f..1a8e3550f 100644 --- a/src/test/contracts/set_arithmetic.ligo +++ b/src/test/contracts/set_arithmetic.ligo @@ -20,6 +20,9 @@ function remove_syntax (var s : set(string)) : set(string) is function patch_op (var s: set(string)) : set(string) is begin patch s with set ["foobar"]; end with s +function patch_op_empty (var s: set(string)) : set(string) is + begin patch s with set []; end with s + function mem_op (const s : set(string)) : bool is begin skip end with set_mem("foobar" , s) diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 3f9c64ced..e82a1b6cd 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -249,6 +249,10 @@ let set_arithmetic () : unit result = expect_eq program "patch_op" (e_set [e_string "foo" ; e_string "bar"]) (e_set [e_string "foo" ; e_string "bar"; e_string "foobar"]) in + let%bind () = + expect_eq program "patch_op_empty" + (e_set [e_string "foo" ; e_string "bar"]) + (e_set [e_string "foo" ; e_string "bar"]) in let%bind () = expect_eq program "mem_op" (e_set [e_string "foo" ; e_string "bar" ; e_string "foobar"]) From c181ec1cac9a2f5e7e4a2a964b257ebfea15f34c Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 10 Oct 2019 18:26:28 -0700 Subject: [PATCH 15/34] Upload rough draft of map patch functionality with test Right now I'm concerned that the way this generates the code is inefficient, in particular this line: `in ok @@ (access_path, key', value', loc)` Since the comments [on my code for the set patch](https://gitlab.com/ligolang/ligo/merge_requests/127) warned that repeated generation of the access path is a bad idea(?). In any case this does work, so it's something I can improve on. --- src/passes/2-simplify/pascaligo.ml | 32 ++++++++++++++++++++++++++---- src/test/contracts/map.ligo | 6 +++++- src/test/contracts/map.mligo | 5 ++++- src/test/integration_tests.ml | 5 +++++ 4 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index 095ab6ac5..a2c43d0ee 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -119,7 +119,7 @@ module Errors = struct ] in error ~data title message - let unsupported_map_patches patch = + (* let unsupported_map_patches patch = let title () = "map patches" in let message () = Format.asprintf "map patches (a.k.a. functional updates) are \ @@ -128,7 +128,7 @@ module Errors = struct ("patch_loc", fun () -> Format.asprintf "%a" Location.pp_lift @@ patch.Region.region) ] in - error ~data title message + error ~data title message *) let unsupported_set_patches patch = let title () = "set patches" in @@ -817,8 +817,32 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu in return_statement @@ expr ) - | MapPatch patch -> - fail @@ unsupported_map_patches patch + | MapPatch patch -> ( + let (map_p, loc) = r_split patch in + let (name, access_path) = simpl_path map_p.path in + let%bind inj = bind_list + @@ List.map (fun (x:Raw.binding Region.reg) -> + let (x , loc) = r_split x in + let (key, value) = x.source, x.image in + let%bind key' = simpl_expression key in + let%bind value' = simpl_expression value + in ok @@ (access_path, key', value', loc) + ) + @@ pseq_to_list map_p.map_inj.value.elements in + let%bind expr = + let aux = fun (access, key, value, loc) -> + let map = e_variable name in + e_assign ~loc name access (e_map_add key value map) in + let assigns = List.map aux inj in + match assigns with + | [] -> ok @@ e_skip ~loc () + | hd :: tl -> ( + let aux acc cur = e_sequence acc cur in + ok @@ List.fold_left aux hd tl + ) + in + return_statement @@ expr + ) | SetPatch patch -> fail @@ unsupported_set_patches patch | MapRemove r -> ( diff --git a/src/test/contracts/map.ligo b/src/test/contracts/map.ligo index 7437cfb26..71be5dc20 100644 --- a/src/test/contracts/map.ligo +++ b/src/test/contracts/map.ligo @@ -25,6 +25,10 @@ function rm (var m : foobar) : foobar is block { remove 42 from map m } with m +function patch_ (var m: foobar) : foobar is block { + patch m with map [0 -> 5; 1 -> 6; 2 -> 7] +} with m + function size_ (const m : foobar) : nat is block {skip} with (size(m)) @@ -60,4 +64,4 @@ var coco : (int*foobar) := (0, m); block { remove 42 from map coco.1 ; coco.1[32] := 16 ; -} with coco.1 \ No newline at end of file +} with coco.1 diff --git a/src/test/contracts/map.mligo b/src/test/contracts/map.mligo index 094252c0e..88089d985 100644 --- a/src/test/contracts/map.mligo +++ b/src/test/contracts/map.mligo @@ -11,6 +11,9 @@ let set_ (n : int) (m : foobar) : foobar = let rm (m : foobar) : foobar = Map.remove 42 m +(* Dummy test so that we can add the same test for PascaLIGO *) +let patch_ (m : foobar) : foobar = Map.literal [ (0, 5) ; (1, 6) ; (2, 7) ] + let size_ (m : foobar) : nat = Map.size m let gf (m : foobar) : int = Map.find 23 m @@ -34,4 +37,4 @@ let deep_op (m : foobar) : foobar = let coco = (0,m) in let coco = (0 , Map.remove 42 coco.(1)) in let coco = (0 , Map.update 32 (Some 16) coco.(1)) in - coco.(1) \ No newline at end of file + coco.(1) diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 7a50ad29b..7e9f5c3b1 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -411,6 +411,11 @@ let map_ type_f path : unit result = let expected = ez [23, 23] in expect_eq program "rm" input expected in + let%bind () = + let input = ez [(0,0) ; (1,1) ; (2,2)] in + let expected = ez [(0, 5) ; (1, 6) ; (2, 7)] in + expect_eq program "patch_" input expected + in let%bind () = let make_input = fun n -> ez List.(map (fun x -> (x, x)) @@ range n) in let make_expected = e_nat in From 49ffe00466939ca2641b52583a913a128d9c12f8 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Thu, 10 Oct 2019 18:35:39 -0700 Subject: [PATCH 16/34] Remove unsupported_map_patch error in PascaLIGO simplifier --- src/passes/2-simplify/pascaligo.ml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index a2c43d0ee..dfa37bd0f 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -119,17 +119,6 @@ module Errors = struct ] in error ~data title message - (* let unsupported_map_patches patch = - let title () = "map patches" in - let message () = - Format.asprintf "map patches (a.k.a. functional updates) are \ - not supported yet" in - let data = [ - ("patch_loc", - fun () -> Format.asprintf "%a" Location.pp_lift @@ patch.Region.region) - ] in - error ~data title message *) - let unsupported_set_patches patch = let title () = "set patches" in let message () = From 047065f8eeeb63a8416e9fb83d996ec2cbd1ae8e Mon Sep 17 00:00:00 2001 From: Tom Jack Date: Fri, 11 Oct 2019 15:12:07 +0000 Subject: [PATCH 17/34] Delete vestigial local repo stuff --- index.tar.gz | Bin 9735 -> 0 bytes packages/bip39/bip39.dev/opam | 29 --------- packages/blake2/blake2.dev/opam | 24 -------- packages/hacl/hacl.dev/opam | 28 --------- packages/irmin-lmdb/irmin-lmdb.dev/opam | 27 --------- .../ledgerwallet-tezos.dev/opam | 22 ------- packages/ledgerwallet/ledgerwallet.dev/opam | 24 -------- packages/ligo/ligo.dev/opam | 29 --------- packages/lmdb/lmdb.dev/opam | 23 ------- .../michelson-parser.dev/opam | 21 ------- .../ocplib-ezresto-directory.dev/opam | 28 --------- .../ocplib-ezresto/ocplib-ezresto.dev/opam | 28 --------- .../ocplib-json-typed-browser.dev/opam | 25 -------- .../ocplib-json-typed-bson.dev/opam | 25 -------- .../ocplib-json-typed.dev/opam | 24 -------- .../ocplib-resto-cohttp.dev/opam | 28 --------- .../ocplib-resto-directory.dev/opam | 29 --------- .../ocplib-resto-json.dev/opam | 28 --------- packages/ocplib-resto/ocplib-resto.dev/opam | 27 --------- packages/pbkdf/pbkdf.dev/opam | 27 --------- .../proto-alpha-utils.dev/opam | 56 ------------------ packages/secp256k1/secp256k1.dev/opam | 22 ------- packages/simple-utils/simple-utils.dev/opam | 54 ----------------- .../tezos-accuser-alpha-commands.dev/opam | 29 --------- .../tezos-accuser-alpha.dev/opam | 25 -------- .../tezos-baker-alpha-commands.dev/opam | 29 --------- .../tezos-baker-alpha.dev/opam | 25 -------- .../tezos-baking-alpha-commands.dev/opam | 29 --------- .../tezos-baking-alpha.dev/opam | 34 ----------- packages/tezos-base/tezos-base.dev/opam | 34 ----------- packages/tezos-clic/tezos-clic.dev/opam | 25 -------- .../tezos-client-alpha-commands.dev/opam | 27 --------- .../tezos-client-alpha.dev/opam | 26 -------- .../tezos-client-base-unix.dev/opam | 29 --------- .../tezos-client-base.dev/opam | 31 ---------- .../tezos-client-commands.dev/opam | 28 --------- .../tezos-client-demo.dev/opam | 29 --------- .../tezos-client-genesis.dev/opam | 29 --------- packages/tezos-client/tezos-client.dev/opam | 35 ----------- packages/tezos-crypto/tezos-crypto.dev/opam | 35 ----------- .../tezos-data-encoding.dev/opam | 30 ---------- .../tezos-embedded-protocol-alpha.dev/opam | 29 --------- .../tezos-embedded-protocol-demo.dev/opam | 28 --------- .../tezos-embedded-protocol-genesis.dev/opam | 28 --------- .../tezos-endorser-alpha-commands.dev/opam | 29 --------- .../tezos-endorser-alpha.dev/opam | 25 -------- .../tezos-error-monad.dev/opam | 26 -------- .../tezos-memory-proto-alpha.dev/opam | 22 ------- .../tezos-micheline/tezos-micheline.dev/opam | 27 --------- packages/tezos-node/tezos-node.dev/opam | 35 ----------- packages/tezos-p2p/tezos-p2p.dev/opam | 27 --------- .../tezos-protocol-alpha.dev/opam | 33 ----------- .../tezos-protocol-compiler.dev/opam | 31 ---------- .../tezos-protocol-demo.dev/opam | 27 --------- .../tezos-protocol-environment-shell.dev/opam | 26 -------- .../tezos-protocol-environment-sigs.dev/opam | 24 -------- .../tezos-protocol-environment.dev/opam | 26 -------- .../tezos-protocol-genesis.dev/opam | 27 --------- .../tezos-protocol-updater.dev/opam | 30 ---------- .../tezos-rpc-http/tezos-rpc-http.dev/opam | 26 -------- packages/tezos-rpc/tezos-rpc.dev/opam | 27 --------- .../tezos-shell-services.dev/opam | 24 -------- packages/tezos-shell/tezos-shell.dev/opam | 31 ---------- .../tezos-signer-backends.dev/opam | 34 ----------- .../tezos-signer-services.dev/opam | 26 -------- packages/tezos-signer/tezos-signer.dev/opam | 31 ---------- .../tezos-stdlib-unix.dev/opam | 27 --------- packages/tezos-stdlib/tezos-stdlib.dev/opam | 31 ---------- packages/tezos-storage/tezos-storage.dev/opam | 28 --------- packages/tezos-utils/tezos-utils.dev/opam | 55 ----------------- .../tezos-validation.dev/opam | 27 --------- packages/uecc/uecc.dev/opam | 25 -------- scripts/setup_ligo_opam_repository.sh | 6 -- urls.txt | 1 - .../rewrite-local-opam-repository.sh | 55 ----------------- vendors/opam-repository-tools/update.sh | 11 ---- 76 files changed, 2122 deletions(-) delete mode 100644 index.tar.gz delete mode 100644 packages/bip39/bip39.dev/opam delete mode 100644 packages/blake2/blake2.dev/opam delete mode 100644 packages/hacl/hacl.dev/opam delete mode 100644 packages/irmin-lmdb/irmin-lmdb.dev/opam delete mode 100644 packages/ledgerwallet-tezos/ledgerwallet-tezos.dev/opam delete mode 100644 packages/ledgerwallet/ledgerwallet.dev/opam delete mode 100644 packages/ligo/ligo.dev/opam delete mode 100644 packages/lmdb/lmdb.dev/opam delete mode 100644 packages/michelson-parser/michelson-parser.dev/opam delete mode 100644 packages/ocplib-ezresto-directory/ocplib-ezresto-directory.dev/opam delete mode 100644 packages/ocplib-ezresto/ocplib-ezresto.dev/opam delete mode 100644 packages/ocplib-json-typed-browser/ocplib-json-typed-browser.dev/opam delete mode 100644 packages/ocplib-json-typed-bson/ocplib-json-typed-bson.dev/opam delete mode 100644 packages/ocplib-json-typed/ocplib-json-typed.dev/opam delete mode 100644 packages/ocplib-resto-cohttp/ocplib-resto-cohttp.dev/opam delete mode 100644 packages/ocplib-resto-directory/ocplib-resto-directory.dev/opam delete mode 100644 packages/ocplib-resto-json/ocplib-resto-json.dev/opam delete mode 100644 packages/ocplib-resto/ocplib-resto.dev/opam delete mode 100644 packages/pbkdf/pbkdf.dev/opam delete mode 100644 packages/proto-alpha-utils/proto-alpha-utils.dev/opam delete mode 100644 packages/secp256k1/secp256k1.dev/opam delete mode 100644 packages/simple-utils/simple-utils.dev/opam delete mode 100644 packages/tezos-accuser-alpha-commands/tezos-accuser-alpha-commands.dev/opam delete mode 100644 packages/tezos-accuser-alpha/tezos-accuser-alpha.dev/opam delete mode 100644 packages/tezos-baker-alpha-commands/tezos-baker-alpha-commands.dev/opam delete mode 100644 packages/tezos-baker-alpha/tezos-baker-alpha.dev/opam delete mode 100644 packages/tezos-baking-alpha-commands/tezos-baking-alpha-commands.dev/opam delete mode 100644 packages/tezos-baking-alpha/tezos-baking-alpha.dev/opam delete mode 100644 packages/tezos-base/tezos-base.dev/opam delete mode 100644 packages/tezos-clic/tezos-clic.dev/opam delete mode 100644 packages/tezos-client-alpha-commands/tezos-client-alpha-commands.dev/opam delete mode 100644 packages/tezos-client-alpha/tezos-client-alpha.dev/opam delete mode 100644 packages/tezos-client-base-unix/tezos-client-base-unix.dev/opam delete mode 100644 packages/tezos-client-base/tezos-client-base.dev/opam delete mode 100644 packages/tezos-client-commands/tezos-client-commands.dev/opam delete mode 100644 packages/tezos-client-demo/tezos-client-demo.dev/opam delete mode 100644 packages/tezos-client-genesis/tezos-client-genesis.dev/opam delete mode 100644 packages/tezos-client/tezos-client.dev/opam delete mode 100644 packages/tezos-crypto/tezos-crypto.dev/opam delete mode 100644 packages/tezos-data-encoding/tezos-data-encoding.dev/opam delete mode 100644 packages/tezos-embedded-protocol-alpha/tezos-embedded-protocol-alpha.dev/opam delete mode 100644 packages/tezos-embedded-protocol-demo/tezos-embedded-protocol-demo.dev/opam delete mode 100644 packages/tezos-embedded-protocol-genesis/tezos-embedded-protocol-genesis.dev/opam delete mode 100644 packages/tezos-endorser-alpha-commands/tezos-endorser-alpha-commands.dev/opam delete mode 100644 packages/tezos-endorser-alpha/tezos-endorser-alpha.dev/opam delete mode 100644 packages/tezos-error-monad/tezos-error-monad.dev/opam delete mode 100644 packages/tezos-memory-proto-alpha/tezos-memory-proto-alpha.dev/opam delete mode 100644 packages/tezos-micheline/tezos-micheline.dev/opam delete mode 100644 packages/tezos-node/tezos-node.dev/opam delete mode 100644 packages/tezos-p2p/tezos-p2p.dev/opam delete mode 100644 packages/tezos-protocol-alpha/tezos-protocol-alpha.dev/opam delete mode 100644 packages/tezos-protocol-compiler/tezos-protocol-compiler.dev/opam delete mode 100644 packages/tezos-protocol-demo/tezos-protocol-demo.dev/opam delete mode 100644 packages/tezos-protocol-environment-shell/tezos-protocol-environment-shell.dev/opam delete mode 100644 packages/tezos-protocol-environment-sigs/tezos-protocol-environment-sigs.dev/opam delete mode 100644 packages/tezos-protocol-environment/tezos-protocol-environment.dev/opam delete mode 100644 packages/tezos-protocol-genesis/tezos-protocol-genesis.dev/opam delete mode 100644 packages/tezos-protocol-updater/tezos-protocol-updater.dev/opam delete mode 100644 packages/tezos-rpc-http/tezos-rpc-http.dev/opam delete mode 100644 packages/tezos-rpc/tezos-rpc.dev/opam delete mode 100644 packages/tezos-shell-services/tezos-shell-services.dev/opam delete mode 100644 packages/tezos-shell/tezos-shell.dev/opam delete mode 100644 packages/tezos-signer-backends/tezos-signer-backends.dev/opam delete mode 100644 packages/tezos-signer-services/tezos-signer-services.dev/opam delete mode 100644 packages/tezos-signer/tezos-signer.dev/opam delete mode 100644 packages/tezos-stdlib-unix/tezos-stdlib-unix.dev/opam delete mode 100644 packages/tezos-stdlib/tezos-stdlib.dev/opam delete mode 100644 packages/tezos-storage/tezos-storage.dev/opam delete mode 100644 packages/tezos-utils/tezos-utils.dev/opam delete mode 100644 packages/tezos-validation/tezos-validation.dev/opam delete mode 100644 packages/uecc/uecc.dev/opam delete mode 100755 scripts/setup_ligo_opam_repository.sh delete mode 100644 urls.txt delete mode 100755 vendors/opam-repository-tools/rewrite-local-opam-repository.sh delete mode 100755 vendors/opam-repository-tools/update.sh diff --git a/index.tar.gz b/index.tar.gz deleted file mode 100644 index 022ac1aef23d312cd3ce31a2b9a969d5288314fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9735 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" -authors: ["Vincent Bernardoff "] -homepage: "https://github.com/vbmithr/ocaml-bip39" -doc: "https://vbmithr.github.io/ocaml-bip39/doc" -synopsis: "Bitcoin's BIP39 implementation" -license: "ISC" -dev-repo: "git+https://github.com/vbmithr/ocaml-bip39.git" -bug-reports: "https://github.com/vbmithr/ocaml-bip39/issues" -tags: [] -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocaml-bip39/bip39.install" "." ] -] -depends: [ - "dune" {build & >= "1.0.1"} - "base" {build & >= "v0.10.0"} - "stdio" {build & >= "v0.10.0"} - "hacl" - "bigstring" {>= "0.2"} - "pbkdf" {>= "0.2.0"} - "hex" {with-test & >= "1.2.0"} - "alcotest" {with-test & >= "0.8.1"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/blake2/blake2.dev/opam b/packages/blake2/blake2.dev/opam deleted file mode 100644 index d9c6bb6e3..000000000 --- a/packages/blake2/blake2.dev/opam +++ /dev/null @@ -1,24 +0,0 @@ -version: "dev" -opam-version: "2.0" -name: "blake2" -authors: "Vincent Bernardoff " -maintainer: "Vincent Bernardoff " -license: "ISC" -synopsis: "Cryptography for Tezos" -homepage: "https://github.com/vbmithr/ocaml-blake2" -bug-reports: "https://github.com/vbmithr/ocaml-blake2/issues" -dev-repo: "git://github.com/vbmithr/ocaml-blake2" -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocaml-blake2/blake2.install" "." ] -] -run-test: [ "dune" "runtest" "-p" name "-j" jobs ] -depends: [ - "dune" {build & >= "1.0.1"} - "bigstring" {>= "0.1.1"} - "alcotest" { with-test } - "hex" {with-test & >= "1.2.0"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/hacl/hacl.dev/opam b/packages/hacl/hacl.dev/opam deleted file mode 100644 index 318720b99..000000000 --- a/packages/hacl/hacl.dev/opam +++ /dev/null @@ -1,28 +0,0 @@ -version: "dev" -opam-version: "2.0" -name: "hacl" -authors: [ "Vincent Bernardoff " "Marco Stronati " ] -maintainer: "Vincent Bernardoff " -synopsis: "Tezos binding for Hacl*" -homepage: "https://gitlab.com/tezos/tezos" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "dune" {build & >= "1.0.1"} - "bigstring" {>= "0.1.1"} - "ocplib-endian" {>= "1.0"} - "zarith" {>= "1.7"} - "alcotest" {with-test & >= "0.8.1"} - "hex" {with-test & >= "1.2.0"} - "base" - "stdio" -] -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocaml-hacl/hacl.install" "." ] -] -run-test: [ "dune" "runtest" "-p" name "-j" jobs ] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/irmin-lmdb/irmin-lmdb.dev/opam b/packages/irmin-lmdb/irmin-lmdb.dev/opam deleted file mode 100644 index 46661c02d..000000000 --- a/packages/irmin-lmdb/irmin-lmdb.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -version: "dev" -name: "irmin-lmdb" -opam-version: "2.0" -maintainer: "gregoire.henry@tezos.com" -authors: ["Grégoire Henry"] -license: "ISC" -homepage: "https://gitlab.com/tezos/irmin-lmdb" -bug-reports: "https://gitlab.com/tezos/irmin-lmdb/issues" -dev-repo: "git+https://gitlab.com/tezos/irmin-lmdb.git" -doc: "https://tezos.gitlab.io/irmin-lmdb/" -synopsis: "LMDB backend for Irmin" - -build: [ - ["dune" "subst"] {pinned} - ["dune" "build" "-p" name "-j" jobs] - [ "mv" "vendors/tezos-modded/vendors/irmin-lmdb/irmin-lmdb.install" "." ] -] -run-test: ["dune" "runtest" "-p" name] - -depends: [ - "dune" {build & >= "1.0.1"} - "irmin" {>= "1.4.0"} - "lmdb" {>= "0.1"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ledgerwallet-tezos/ledgerwallet-tezos.dev/opam b/packages/ledgerwallet-tezos/ledgerwallet-tezos.dev/opam deleted file mode 100644 index c9f27d2ab..000000000 --- a/packages/ledgerwallet-tezos/ledgerwallet-tezos.dev/opam +++ /dev/null @@ -1,22 +0,0 @@ -version: "dev" -opam-version: "2.0" -name: "ledgerwallet-tezos" -authors: "Vincent Bernardoff " -maintainer: "Vincent Bernardoff " -license: "ISC" -synopsis: "Ledger wallet library for OCaml: Tezos app" -homepage: "https://github.com/vbmithr/ocaml-ledger-wallet" -bug-reports: "https://github.com/vbmithr/ocaml-ledger-wallet/issues" -dev-repo: "git://github.com/vbmithr/ocaml-ledger-wallet" -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocaml-ledger-wallet/ledgerwallet-tezos.install" "." ] -] -run-test: [ "dune" "runtest" "-p" name "-j" jobs ] -depends: [ - "dune" {build & >= "1.0.1"} - "ledgerwallet" {= "dev"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ledgerwallet/ledgerwallet.dev/opam b/packages/ledgerwallet/ledgerwallet.dev/opam deleted file mode 100644 index 588236491..000000000 --- a/packages/ledgerwallet/ledgerwallet.dev/opam +++ /dev/null @@ -1,24 +0,0 @@ -opam-version: "2.0" -version: "dev" -name: "ledgerwallet" -authors: "Vincent Bernardoff " -maintainer: "Vincent Bernardoff " -license: "ISC" -synopsis: "Ledger wallet library for OCaml" -homepage: "https://github.com/vbmithr/ocaml-ledger-wallet" -bug-reports: "https://github.com/vbmithr/ocaml-ledger-wallet/issues" -dev-repo: "git://github.com/vbmithr/ocaml-ledger-wallet" -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocaml-ledger-wallet/ledgerwallet.install" "." ] -] -run-test: [ "dune" "runtest" "-p" name "-j" jobs ] -depends: [ - "dune" {build & >= "1.0.1"} - "rresult" {>= "0.5.0"} - "cstruct" {>= "3.2.1"} - "hidapi" {>= "1.0"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ligo/ligo.dev/opam b/packages/ligo/ligo.dev/opam deleted file mode 100644 index e1e0f283b..000000000 --- a/packages/ligo/ligo.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -version: "dev" -name: "ligo" -opam-version: "2.0" -maintainer: "ligolang@gmail.com" -authors: [ "Galfour" ] -homepage: "https://gitlab.com/ligolang/tezos" -bug-reports: "https://gitlab.com/ligolang/tezos/issues" -synopsis: "A higher-level language which compiles to Michelson" -dev-repo: "git+https://gitlab.com/ligolang/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "menhir" - "ppx_let" - "ppx_deriving" - "tezos-utils" - "proto-alpha-utils" - "yojson" - "alcotest" { with-test } - "getopt" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "src/ligo.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/lmdb/lmdb.dev/opam b/packages/lmdb/lmdb.dev/opam deleted file mode 100644 index b4efa7c72..000000000 --- a/packages/lmdb/lmdb.dev/opam +++ /dev/null @@ -1,23 +0,0 @@ -opam-version: "2.0" -name: "lmdb" -version: "0.1" -authors: "Vincent Bernardoff " -maintainer: "Vincent Bernardoff " -license: "ISC" -synopsis: "Simple OCaml binding to Lightning Memory-Mapped Database from Symas" -homepage: "https://github.com/vbmithr/ocaml-lmdb" -bug-reports: "https://github.com/vbmithr/ocaml-lmdb/issues" -dev-repo: "git://github.com/vbmithr/ocaml-lmdb" -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocaml-lmdb/lmdb.install" "." ] -] -depends: [ - "dune" {build & >= "1.0.1"} - "rresult" {>= "0.5.0"} - "cstruct" {with-test & >= "3.2.1"} - "alcotest" {with-test & >= "0.8.1"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/michelson-parser/michelson-parser.dev/opam b/packages/michelson-parser/michelson-parser.dev/opam deleted file mode 100644 index f2f5396d8..000000000 --- a/packages/michelson-parser/michelson-parser.dev/opam +++ /dev/null @@ -1,21 +0,0 @@ -name: "michelson-parser" -opam-version: "2.0" -version: "dev" -maintainer: "ligolang@gmail.com" -authors: [ "Galfour" ] -homepage: "https://gitlab.com/ligolang/tezos" -bug-reports: "https://gitlab.com/ligolang/tezos/issues" -dev-repo: "git+https://gitlab.com/ligolang/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" - "tezos-memory-proto-alpha" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/ligo-utils/tezos-utils/michelson-parser/michelson-parser.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ocplib-ezresto-directory/ocplib-ezresto-directory.dev/opam b/packages/ocplib-ezresto-directory/ocplib-ezresto-directory.dev/opam deleted file mode 100644 index 934ba0cf2..000000000 --- a/packages/ocplib-ezresto-directory/ocplib-ezresto-directory.dev/opam +++ /dev/null @@ -1,28 +0,0 @@ -name: "ocplib-ezresto-directory" -version: "dev" -opam-version: "2.0" -maintainer: "Grégoire Henry " -authors: "Grégoire Henry " -license: "LGPL-2.1-with-OCaml-exception" -homepage: "https://github.com/OCamlPro/ocplib-resto" -bug-reports: "https://github.com/OCamlPro/ocplib-resto/issues" -dev-repo: "git+https://github.com/OCamlPro/ocplib-resto" -synopsis: "A minimal OCaml library for type-safe HTTP/JSON RPCs" - -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/vendors/ocplib-resto/lib_ezresto-directory/ocplib-ezresto-directory.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] - -depends: [ - "ocamlfind" {build} - "dune" {build} - "ocplib-ezresto" {= "dev" } - "ocplib-resto-directory" {= "dev" } -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ocplib-ezresto/ocplib-ezresto.dev/opam b/packages/ocplib-ezresto/ocplib-ezresto.dev/opam deleted file mode 100644 index 37a7933f8..000000000 --- a/packages/ocplib-ezresto/ocplib-ezresto.dev/opam +++ /dev/null @@ -1,28 +0,0 @@ -name: "ocplib-ezresto" -version: "dev" -opam-version: "2.0" -maintainer: "Grégoire Henry " -authors: "Grégoire Henry " -license: "LGPL-2.1-with-OCaml-exception" -homepage: "https://github.com/OCamlPro/ocplib-resto" -bug-reports: "https://github.com/OCamlPro/ocplib-resto/issues" -dev-repo: "git+https://github.com/OCamlPro/ocplib-resto" -synopsis: "A minimal OCaml library for type-safe HTTP/JSON RPCs" - -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/vendors/ocplib-resto/lib_ezresto/ocplib-ezresto.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] - -depends: [ - "ocamlfind" {build} - "dune" {build} - "ocplib-resto" {= "dev" } - "ocplib-resto-json" {= "dev" } -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ocplib-json-typed-browser/ocplib-json-typed-browser.dev/opam b/packages/ocplib-json-typed-browser/ocplib-json-typed-browser.dev/opam deleted file mode 100644 index c620a7382..000000000 --- a/packages/ocplib-json-typed-browser/ocplib-json-typed-browser.dev/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -name: "ocplib-json-typed-browser" -version: "0.6" -maintainer: "Benjamin Canou " -authors: "Benjamin Canou " -homepage: "https://github.com/ocamlpro/ocplib-json-typed" -synopsis: "Libraries for reliable manipulation JSON objects (browser support)" -bug-reports: "https://github.com/ocamlpro/ocplib-json-typed/issues" -license: "LGPLv3 w/ linking exception" -dev-repo: "git+https://github.com/ocamlpro/ocplib-json-typed.git" - -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocplib-json-typed/ocplib-json-typed-browser.install" "." ] -] -run-test: [ "dune" "runtest" "-p" name "-j" jobs ] -depends: [ - "ocaml" {>= "4.3.0"} - "dune" {build & >= "1.0.1"} - "ocplib-json-typed" {= "0.6" } - "js_of_ocaml" {>= "3.3.0"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ocplib-json-typed-bson/ocplib-json-typed-bson.dev/opam b/packages/ocplib-json-typed-bson/ocplib-json-typed-bson.dev/opam deleted file mode 100644 index 20399d5ef..000000000 --- a/packages/ocplib-json-typed-bson/ocplib-json-typed-bson.dev/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -name: "ocplib-json-typed-bson" -version: "0.6" -maintainer: "Benjamin Canou " -authors: "Benjamin Canou " -homepage: "https://github.com/ocamlpro/ocplib-json-typed" -synopsis: "Libraries for reliable manipulation JSON objects (BSON)" -bug-reports: "https://github.com/ocamlpro/ocplib-json-typed/issues" -license: "LGPLv3 w/ linking exception" -dev-repo: "git+https://github.com/ocamlpro/ocplib-json-typed.git" - -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocplib-json-typed/ocplib-json-typed-bson.install" "." ] -] -run-test: [ "dune" "runtest" "-p" name "-j" jobs ] -depends: [ - "ocaml" {>= "4.3.0"} - "dune" {build & >= "1.0.1"} - "ocplib-json-typed" {= "0.6" } - "ocplib-endian" {>= "1.0"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ocplib-json-typed/ocplib-json-typed.dev/opam b/packages/ocplib-json-typed/ocplib-json-typed.dev/opam deleted file mode 100644 index a3495b59a..000000000 --- a/packages/ocplib-json-typed/ocplib-json-typed.dev/opam +++ /dev/null @@ -1,24 +0,0 @@ -opam-version: "2.0" -name: "ocplib-json-typed" -version: "0.6" -maintainer: "Benjamin Canou " -authors: "Benjamin Canou " -homepage: "https://github.com/ocamlpro/ocplib-json-typed" -synopsis: "Libraries for reliable manipulation JSON objects" -bug-reports: "https://github.com/ocamlpro/ocplib-json-typed/issues" -license: "LGPLv3 w/ linking exception" -dev-repo: "git+https://github.com/ocamlpro/ocplib-json-typed.git" - -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocplib-json-typed/ocplib-json-typed.install" "." ] -] -run-test: [ "dune" "runtest" "-p" name "-j" jobs ] -depends: [ - "ocaml" {>= "4.3.0"} - "dune" {build & >= "1.0.1"} - "uri" {>= "1.9.0" } -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ocplib-resto-cohttp/ocplib-resto-cohttp.dev/opam b/packages/ocplib-resto-cohttp/ocplib-resto-cohttp.dev/opam deleted file mode 100644 index fa7d828a5..000000000 --- a/packages/ocplib-resto-cohttp/ocplib-resto-cohttp.dev/opam +++ /dev/null @@ -1,28 +0,0 @@ -name: "ocplib-resto-cohttp" -version: "dev" -opam-version: "2.0" -maintainer: "Grégoire Henry " -authors: "Grégoire Henry " -license: "LGPL-2.1-with-OCaml-exception" -homepage: "https://github.com/OCamlPro/ocplib-resto" -bug-reports: "https://github.com/OCamlPro/ocplib-resto/issues" -dev-repo: "git+https://github.com/OCamlPro/ocplib-resto" -synopsis: "A minimal OCaml library for type-safe HTTP/JSON RPCs" - -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/vendors/ocplib-resto/lib_resto-cohttp/ocplib-resto-cohttp.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] - -depends: [ - "ocamlfind" {build} - "dune" {build} - "ocplib-resto-directory" {= "dev" } - "cohttp-lwt-unix" { >= "1.0.0" } -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ocplib-resto-directory/ocplib-resto-directory.dev/opam b/packages/ocplib-resto-directory/ocplib-resto-directory.dev/opam deleted file mode 100644 index 3af56bc61..000000000 --- a/packages/ocplib-resto-directory/ocplib-resto-directory.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -name: "ocplib-resto-directory" -version: "dev" -opam-version: "2.0" -maintainer: "Grégoire Henry " -authors: "Grégoire Henry " -license: "LGPL-2.1-with-OCaml-exception" -homepage: "https://github.com/OCamlPro/ocplib-resto" -bug-reports: "https://github.com/OCamlPro/ocplib-resto/issues" -dev-repo: "git+https://github.com/OCamlPro/ocplib-resto" -synopsis: "A minimal OCaml library for type-safe HTTP/JSON RPCs" - -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/vendors/ocplib-resto/lib_resto-directory/ocplib-resto-directory.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] - -depends: [ - "ocamlfind" {build} - "dune" {build} - "ocplib-resto" {= "dev" } - "ocplib-resto-json" {= "dev" & with-test } - "lwt" { >= "3.0.0" } -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ocplib-resto-json/ocplib-resto-json.dev/opam b/packages/ocplib-resto-json/ocplib-resto-json.dev/opam deleted file mode 100644 index f16715117..000000000 --- a/packages/ocplib-resto-json/ocplib-resto-json.dev/opam +++ /dev/null @@ -1,28 +0,0 @@ -name: "ocplib-resto-json" -version: "dev" -opam-version: "2.0" -maintainer: "Grégoire Henry " -authors: "Grégoire Henry " -license: "LGPL-2.1-with-OCaml-exception" -homepage: "https://github.com/OCamlPro/ocplib-resto" -bug-reports: "https://github.com/OCamlPro/ocplib-resto/issues" -dev-repo: "git+https://github.com/OCamlPro/ocplib-resto" -synopsis: "A minimal OCaml library for type-safe HTTP/JSON RPCs" - -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/vendors/ocplib-resto/lib_resto-json/ocplib-resto-json.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] - -depends: [ - "ocamlfind" {build} - "dune" {build} - "ocplib-resto" {= "dev" } - "ocplib-json-typed-bson" { >= "0.6" } -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/ocplib-resto/ocplib-resto.dev/opam b/packages/ocplib-resto/ocplib-resto.dev/opam deleted file mode 100644 index f33383dd6..000000000 --- a/packages/ocplib-resto/ocplib-resto.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -name: "ocplib-resto" -version: "dev" -opam-version: "2.0" -maintainer: "Grégoire Henry " -authors: "Grégoire Henry " -license: "LGPL-2.1-with-OCaml-exception" -homepage: "https://github.com/OCamlPro/ocplib-resto" -bug-reports: "https://github.com/OCamlPro/ocplib-resto/issues" -dev-repo: "git+https://github.com/OCamlPro/ocplib-resto" -synopsis: "A minimal OCaml library for type-safe HTTP/JSON RPCs" - -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/vendors/ocplib-resto/lib_resto/ocplib-resto.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] - -depends: [ - "ocamlfind" {build} - "dune" {build} - "uri" -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/pbkdf/pbkdf.dev/opam b/packages/pbkdf/pbkdf.dev/opam deleted file mode 100644 index fa6188c1f..000000000 --- a/packages/pbkdf/pbkdf.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -opam-version: "2.0" -name: "pbkdf" -version: "0.3.0" -homepage: "https://github.com/abeaumont/ocaml-pbkdf" -dev-repo: "git+https://github.com/abeaumont/ocaml-pbkdf.git" -bug-reports: "https://github.com/abeaumont/ocaml-pbkdf/issues" -authors: ["Alfredo Beaumont " "Sonia Meruelo "] -maintainer: ["Alfredo Beaumont "] -license: "BSD2" -synopsis: "Password based key derivation functions from PKCS#5, RFC 2898" - -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocaml-pbkdf/pbkdf.install" "." ] -] -run-test: [ "dune" "runtest" "-p" name "-j" jobs ] -depends: [ - "dune" { build & >= "1.0.1" } - "hacl" - "bigstring" {>= "0.2"} - "ocplib-endian" {>= "1.0"} - "alcotest" {with-test & >= "0.8.1"} - "hex" {with-test & >= "1.2.0"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/proto-alpha-utils/proto-alpha-utils.dev/opam b/packages/proto-alpha-utils/proto-alpha-utils.dev/opam deleted file mode 100644 index 724e07d02..000000000 --- a/packages/proto-alpha-utils/proto-alpha-utils.dev/opam +++ /dev/null @@ -1,56 +0,0 @@ -opam-version: "2.0" -name: "proto-alpha-utils" -version: "dev" -synopsis: "LIGO Proto Alpha-specific Utilities, to be used by other libraries" -maintainer: "Galfour " -authors: "Galfour " -license: "MIT" -homepage: "https://gitlab.com/ligolang/ligo-utils" -bug-reports: "https://gitlab.com/ligolang/ligo-utils/issues" -depends: [ - "dune" - "base" - "base" - "bigstring" - "calendar" - "cohttp-lwt-unix" - "cstruct" - "ezjsonm" - "hex" - "hidapi" - "ipaddr" - "irmin" - "js_of_ocaml" - "lwt" - "lwt_log" - "mtime" - "ocplib-endian" - "ocp-ocamlres" - "re" - "rresult" - "stdio" - "uri" - "uutf" - "zarith" - "ocplib-json-typed" - "ocplib-json-typed-bson" - "tezos-crypto" - "tezos-stdlib-unix" - "tezos-data-encoding" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "michelson-parser" - "simple-utils" - "tezos-utils" - # from ppx_let: - "ocaml" {>= "4.04.2" & < "4.08.0"} - "dune" {build & >= "1.5.1"} - "ppxlib" {>= "0.5.0"} -] -build: [ - ["dune" "build" "-p" name] - [ "mv" "vendors/ligo-utils/proto-alpha-utils/proto-alpha-utils.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/secp256k1/secp256k1.dev/opam b/packages/secp256k1/secp256k1.dev/opam deleted file mode 100644 index f0b055659..000000000 --- a/packages/secp256k1/secp256k1.dev/opam +++ /dev/null @@ -1,22 +0,0 @@ -opam-version: "2.0" -name: "secp256k1" -version: "0.1" -authors: "Vincent Bernardoff " -maintainer: "Vincent Bernardoff " -homepage: "https://github.com/vbmithr/ocaml-secp256k1-internal" -bug-reports: "https://github.com/vbmithr/ocaml-secp256k1-internal/issues" -dev-repo: "git://github.com/vbmithr/ocaml-secp256k1-internal" -synopsis: "Bindings to secp256k1 internal functions" -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocaml-secp256k1/secp256k1.install" "." ] -] -depends: [ - "conf-gmp" {build} - "dune" {build & >= "1.0.1"} - "cstruct" {>= "3.2.1"} - "bigstring" {>= "0.1.1"} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/simple-utils/simple-utils.dev/opam b/packages/simple-utils/simple-utils.dev/opam deleted file mode 100644 index 5545feb79..000000000 --- a/packages/simple-utils/simple-utils.dev/opam +++ /dev/null @@ -1,54 +0,0 @@ -opam-version: "2.0" -name: "simple-utils" -version: "dev" -synopsis: "LIGO Utilities, to be used by other libraries" -maintainer: "Galfour " -authors: "Galfour " -license: "MIT" -homepage: "https://gitlab.com/ligolang/ligo-utils" -bug-reports: "https://gitlab.com/ligolang/ligo-utils/issues" -depends: [ - "dune" - "base" - "base" - "bigstring" - "calendar" - "cohttp-lwt-unix" - "cstruct" - "ezjsonm" - "hex" - "hidapi" - "ipaddr" - "irmin" - "js_of_ocaml" - "lwt" - "lwt_log" - "mtime" - "ocplib-endian" - "ocp-ocamlres" - "re" - "rresult" - "stdio" - "uri" - "uutf" - "zarith" - "ocplib-json-typed" - "ocplib-json-typed-bson" - "tezos-crypto" - "tezos-stdlib-unix" - "tezos-data-encoding" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "michelson-parser" - # from ppx_let: - "ocaml" {>= "4.04.2" & < "4.08.0"} - "dune" {build & >= "1.5.1"} - "ppxlib" {>= "0.5.0"} -] -build: [ - ["dune" "build" "-p" name] - [ "mv" "vendors/ligo-utils/simple-utils/simple-utils.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-accuser-alpha-commands/tezos-accuser-alpha-commands.dev/opam b/packages/tezos-accuser-alpha-commands/tezos-accuser-alpha-commands.dev/opam deleted file mode 100644 index 1f3a1306c..000000000 --- a/packages/tezos-accuser-alpha-commands/tezos-accuser-alpha-commands.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -version: "dev" -name: "tezos-accuser-alpha-commands" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-client-alpha" - "tezos-baking-alpha" - "tezos-signer-backends" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/lib_delegate/tezos-accuser-alpha-commands.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-accuser-alpha/tezos-accuser-alpha.dev/opam b/packages/tezos-accuser-alpha/tezos-accuser-alpha.dev/opam deleted file mode 100644 index 39bb71633..000000000 --- a/packages/tezos-accuser-alpha/tezos-accuser-alpha.dev/opam +++ /dev/null @@ -1,25 +0,0 @@ -version: "dev" -name: "tezos-accuser-alpha" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-client-alpha" - "tezos-client-commands" - "tezos-baking-alpha-commands" - "tezos-client-base-unix" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/bin_accuser/tezos-accuser-alpha.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-baker-alpha-commands/tezos-baker-alpha-commands.dev/opam b/packages/tezos-baker-alpha-commands/tezos-baker-alpha-commands.dev/opam deleted file mode 100644 index c35bb6d21..000000000 --- a/packages/tezos-baker-alpha-commands/tezos-baker-alpha-commands.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -version: "dev" -name: "tezos-baker-alpha-commands" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-client-alpha" - "tezos-baking-alpha" - "tezos-signer-backends" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/lib_delegate/tezos-baker-alpha-commands.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-baker-alpha/tezos-baker-alpha.dev/opam b/packages/tezos-baker-alpha/tezos-baker-alpha.dev/opam deleted file mode 100644 index 957e350be..000000000 --- a/packages/tezos-baker-alpha/tezos-baker-alpha.dev/opam +++ /dev/null @@ -1,25 +0,0 @@ -version: "dev" -name: "tezos-baker-alpha" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-client-alpha" - "tezos-client-commands" - "tezos-baking-alpha-commands" - "tezos-client-base-unix" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/bin_baker/tezos-baker-alpha.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-baking-alpha-commands/tezos-baking-alpha-commands.dev/opam b/packages/tezos-baking-alpha-commands/tezos-baking-alpha-commands.dev/opam deleted file mode 100644 index e6a723bde..000000000 --- a/packages/tezos-baking-alpha-commands/tezos-baking-alpha-commands.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -version: "dev" -name: "tezos-baking-alpha-commands" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-client-alpha" - "tezos-baking-alpha" - "tezos-signer-backends" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/lib_delegate/tezos-baking-alpha-commands.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-baking-alpha/tezos-baking-alpha.dev/opam b/packages/tezos-baking-alpha/tezos-baking-alpha.dev/opam deleted file mode 100644 index 91a018dff..000000000 --- a/packages/tezos-baking-alpha/tezos-baking-alpha.dev/opam +++ /dev/null @@ -1,34 +0,0 @@ -version: "dev" -name: "tezos-baking-alpha" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-client-alpha" - "tezos-node" { with-test } - "tezos-client-genesis" { with-test } - "tezos-client-base-unix" { with-test } - "alcotest-lwt" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/lib_delegate/tezos-baking-alpha.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-base/tezos-base.dev/opam b/packages/tezos-base/tezos-base.dev/opam deleted file mode 100644 index 32564ac5e..000000000 --- a/packages/tezos-base/tezos-base.dev/opam +++ /dev/null @@ -1,34 +0,0 @@ -version: "dev" -name: "tezos-base" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-stdlib" - "tezos-crypto" - "tezos-data-encoding" - "tezos-error-monad" - "tezos-micheline" - "tezos-rpc" - "calendar" - "ezjsonm" { >= "0.5.0" } - "ipaddr" { >= "3.0.0" } - "mtime" { >= "1.0.0" } - "re" { >= "1.7.2" } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_base/tezos-base.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-clic/tezos-clic.dev/opam b/packages/tezos-clic/tezos-clic.dev/opam deleted file mode 100644 index fe22bdd53..000000000 --- a/packages/tezos-clic/tezos-clic.dev/opam +++ /dev/null @@ -1,25 +0,0 @@ -version: "dev" -name: "tezos-clic" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-stdlib" - "tezos-error-monad" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_clic/tezos-clic.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-client-alpha-commands/tezos-client-alpha-commands.dev/opam b/packages/tezos-client-alpha-commands/tezos-client-alpha-commands.dev/opam deleted file mode 100644 index 67f7f90a8..000000000 --- a/packages/tezos-client-alpha-commands/tezos-client-alpha-commands.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -version: "dev" -name: "tezos-client-alpha-commands" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-alpha" - "tezos-client-commands" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/lib_client_commands/tezos-client-alpha-commands.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-client-alpha/tezos-client-alpha.dev/opam b/packages/tezos-client-alpha/tezos-client-alpha.dev/opam deleted file mode 100644 index 9c3d84601..000000000 --- a/packages/tezos-client-alpha/tezos-client-alpha.dev/opam +++ /dev/null @@ -1,26 +0,0 @@ -version: "dev" -name: "tezos-client-alpha" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "tezos-shell-services" - "tezos-client-base" - "tezos-signer-backends" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/lib_client/tezos-client-alpha.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-client-base-unix/tezos-client-base-unix.dev/opam b/packages/tezos-client-base-unix/tezos-client-base-unix.dev/opam deleted file mode 100644 index 41905b6c4..000000000 --- a/packages/tezos-client-base-unix/tezos-client-base-unix.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -version: "dev" -name: "tezos-client-base-unix" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-client-base" - "tezos-stdlib-unix" - "tezos-rpc-http" - "tezos-signer-backends" - "tezos-client-commands" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_client_base_unix/tezos-client-base-unix.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-client-base/tezos-client-base.dev/opam b/packages/tezos-client-base/tezos-client-base.dev/opam deleted file mode 100644 index b0607b349..000000000 --- a/packages/tezos-client-base/tezos-client-base.dev/opam +++ /dev/null @@ -1,31 +0,0 @@ -version: "dev" -name: "tezos-client-base" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-stdlib-unix" - "tezos-shell-services" - "tezos-storage" - "tezos-rpc-http" - "cmdliner" - "pbkdf" - "bip39" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_client_base/tezos-client-base.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-client-commands/tezos-client-commands.dev/opam b/packages/tezos-client-commands/tezos-client-commands.dev/opam deleted file mode 100644 index d755c9c29..000000000 --- a/packages/tezos-client-commands/tezos-client-commands.dev/opam +++ /dev/null @@ -1,28 +0,0 @@ -version: "dev" -name: "tezos-client-commands" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-client-base" - "tezos-rpc" - "tezos-shell-services" - "tezos-signer-backends" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_client_commands/tezos-client-commands.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-client-demo/tezos-client-demo.dev/opam b/packages/tezos-client-demo/tezos-client-demo.dev/opam deleted file mode 100644 index 30e9eaf07..000000000 --- a/packages/tezos-client-demo/tezos-client-demo.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -name: "tezos-client-demo" -opam-version: "1.2" -version: "dev" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-protocol-environment" - "tezos-protocol-demo" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_demo/lib_client/tezos-client-demo.install" "." ] -] -build-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-client-genesis/tezos-client-genesis.dev/opam b/packages/tezos-client-genesis/tezos-client-genesis.dev/opam deleted file mode 100644 index a0166d37a..000000000 --- a/packages/tezos-client-genesis/tezos-client-genesis.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -version: "dev" -name: "tezos-client-genesis" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-protocol-environment" - "tezos-protocol-genesis" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_genesis/lib_client/tezos-client-genesis.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-client/tezos-client.dev/opam b/packages/tezos-client/tezos-client.dev/opam deleted file mode 100644 index fd8ca5893..000000000 --- a/packages/tezos-client/tezos-client.dev/opam +++ /dev/null @@ -1,35 +0,0 @@ -version: "dev" -name: "tezos-client" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-client-base" - "tezos-client-genesis" - "tezos-client-demo" - "tezos-client-alpha" - "tezos-client-alpha-commands" - "tezos-baking-alpha" - "tezos-baking-alpha-commands" - "tezos-client-base-unix" - "tezos-signer-backends" - "tezos-node" { with-test } - "tezos-protocol-compiler" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/bin_client/tezos-client.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-crypto/tezos-crypto.dev/opam b/packages/tezos-crypto/tezos-crypto.dev/opam deleted file mode 100644 index 2696646e1..000000000 --- a/packages/tezos-crypto/tezos-crypto.dev/opam +++ /dev/null @@ -1,35 +0,0 @@ -version: "dev" -name: "tezos-crypto" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-stdlib" - "tezos-data-encoding" - "tezos-error-monad" - "tezos-rpc" - "tezos-clic" - "lwt" - "blake2" - "hacl" - "zarith" - "secp256k1" - "uecc" - "alcotest" { with-test & >= "0.8.3" } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_crypto/tezos-crypto.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-data-encoding/tezos-data-encoding.dev/opam b/packages/tezos-data-encoding/tezos-data-encoding.dev/opam deleted file mode 100644 index f436e6d8a..000000000 --- a/packages/tezos-data-encoding/tezos-data-encoding.dev/opam +++ /dev/null @@ -1,30 +0,0 @@ -version: "dev" -name: "tezos-data-encoding" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-stdlib" - "ezjsonm" - "ocplib-json-typed" - "ocplib-json-typed-bson" - "ocplib-endian" - "alcotest" { with-test } - "crowbar" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_data_encoding/tezos-data-encoding.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-embedded-protocol-alpha/tezos-embedded-protocol-alpha.dev/opam b/packages/tezos-embedded-protocol-alpha/tezos-embedded-protocol-alpha.dev/opam deleted file mode 100644 index 61dd7f1e5..000000000 --- a/packages/tezos-embedded-protocol-alpha/tezos-embedded-protocol-alpha.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -version: "dev" -name: "tezos-embedded-protocol-alpha" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-compiler" - "tezos-protocol-updater" -] -build: [ - [ "%{tezos-protocol-compiler:lib}%/replace" - "%{tezos-protocol-compiler:lib}%/dune_protocol.template" - "dune" "alpha" ] - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/lib_protocol/tezos-embedded-protocol-alpha.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-embedded-protocol-demo/tezos-embedded-protocol-demo.dev/opam b/packages/tezos-embedded-protocol-demo/tezos-embedded-protocol-demo.dev/opam deleted file mode 100644 index ec4f847ec..000000000 --- a/packages/tezos-embedded-protocol-demo/tezos-embedded-protocol-demo.dev/opam +++ /dev/null @@ -1,28 +0,0 @@ -version: "dev" -name: "tezos-embedded-protocol-demo" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-protocol-compiler" - "tezos-protocol-updater" -] -build: [ - [ "%{tezos-protocol-compiler:lib}%/replace" - "%{tezos-protocol-compiler:lib}%/dune_protocol.template" - "dune" "demo" ] - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_demo/lib_protocol/tezos-embedded-protocol-demo.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-embedded-protocol-genesis/tezos-embedded-protocol-genesis.dev/opam b/packages/tezos-embedded-protocol-genesis/tezos-embedded-protocol-genesis.dev/opam deleted file mode 100644 index 8e20f6df0..000000000 --- a/packages/tezos-embedded-protocol-genesis/tezos-embedded-protocol-genesis.dev/opam +++ /dev/null @@ -1,28 +0,0 @@ -version: "dev" -name: "tezos-embedded-protocol-genesis" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-protocol-compiler" - "tezos-protocol-updater" -] -build: [ - [ "%{tezos-protocol-compiler:lib}%/replace" - "%{tezos-protocol-compiler:lib}%/dune_protocol.template" - "dune" "genesis" ] - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_genesis/lib_protocol/tezos-embedded-protocol-genesis.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-endorser-alpha-commands/tezos-endorser-alpha-commands.dev/opam b/packages/tezos-endorser-alpha-commands/tezos-endorser-alpha-commands.dev/opam deleted file mode 100644 index d458260c7..000000000 --- a/packages/tezos-endorser-alpha-commands/tezos-endorser-alpha-commands.dev/opam +++ /dev/null @@ -1,29 +0,0 @@ -version: "dev" -name: "tezos-endorser-alpha-commands" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "tezos-shell-services" - "tezos-client-base" - "tezos-client-commands" - "tezos-client-alpha" - "tezos-baking-alpha" - "tezos-signer-backends" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/lib_delegate/tezos-endorser-alpha-commands.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-endorser-alpha/tezos-endorser-alpha.dev/opam b/packages/tezos-endorser-alpha/tezos-endorser-alpha.dev/opam deleted file mode 100644 index cb4e35d03..000000000 --- a/packages/tezos-endorser-alpha/tezos-endorser-alpha.dev/opam +++ /dev/null @@ -1,25 +0,0 @@ -version: "dev" -name: "tezos-endorser-alpha" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-client-alpha" - "tezos-client-commands" - "tezos-baking-alpha-commands" - "tezos-client-base-unix" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/bin_endorser/tezos-endorser-alpha.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-error-monad/tezos-error-monad.dev/opam b/packages/tezos-error-monad/tezos-error-monad.dev/opam deleted file mode 100644 index 1d4f53b41..000000000 --- a/packages/tezos-error-monad/tezos-error-monad.dev/opam +++ /dev/null @@ -1,26 +0,0 @@ -version: "dev" -name: "tezos-error-monad" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-stdlib" - "tezos-data-encoding" - "lwt" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_error_monad/tezos-error-monad.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-memory-proto-alpha/tezos-memory-proto-alpha.dev/opam b/packages/tezos-memory-proto-alpha/tezos-memory-proto-alpha.dev/opam deleted file mode 100644 index d86b5e185..000000000 --- a/packages/tezos-memory-proto-alpha/tezos-memory-proto-alpha.dev/opam +++ /dev/null @@ -1,22 +0,0 @@ -opam-version: "2.0" -name: "memory-proto-alpha" -version: "dev" -synopsis: "Tezos Protocol Alpha in memory" -maintainer: "Galfour " -authors: "Galfour " -license: "MIT" -homepage: "https://gitlab.com/ligolang/tezos" -bug-reports: "https://gitlab.com/ligolang/tezos/issues" -depends: [ - "dune" - "tezos-protocol-environment" - "tezos-protocol-alpha" -] -build: [ - ["dune" "build" "-p" name] - [ "mv" "vendors/tezos-modded/src/lib_memory_protocol_alpha/tezos-memory-proto-alpha.install" "." ] -] -dev-repo: "git+https://gitlab.com/ligolang/tezos" -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-micheline/tezos-micheline.dev/opam b/packages/tezos-micheline/tezos-micheline.dev/opam deleted file mode 100644 index 50ebdc708..000000000 --- a/packages/tezos-micheline/tezos-micheline.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -version: "dev" -name: "tezos-micheline" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-data-encoding" - "tezos-error-monad" - "uutf" - "alcotest-lwt" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_micheline/tezos-micheline.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-node/tezos-node.dev/opam b/packages/tezos-node/tezos-node.dev/opam deleted file mode 100644 index 89e341fb4..000000000 --- a/packages/tezos-node/tezos-node.dev/opam +++ /dev/null @@ -1,35 +0,0 @@ -version: "dev" -name: "tezos-node" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-rpc-http" - "tezos-p2p" - "tezos-shell" - "tezos-protocol-updater" - "tezos-embedded-protocol-genesis" - "tezos-embedded-protocol-demo" - "tezos-embedded-protocol-alpha" - "cmdliner" - "tls" - "cstruct" { < "3.4.0" } ## Because "tls" depends on a version of "nocrypto" - ## that is not compatible with recent "cstruct" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/bin_node/tezos-node.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-p2p/tezos-p2p.dev/opam b/packages/tezos-p2p/tezos-p2p.dev/opam deleted file mode 100644 index 2d707fcae..000000000 --- a/packages/tezos-p2p/tezos-p2p.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -version: "dev" -name: "tezos-p2p" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-stdlib-unix" - "tezos-shell-services" - "alcotest-lwt" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_p2p/tezos-p2p.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-protocol-alpha/tezos-protocol-alpha.dev/opam b/packages/tezos-protocol-alpha/tezos-protocol-alpha.dev/opam deleted file mode 100644 index 1e07e5466..000000000 --- a/packages/tezos-protocol-alpha/tezos-protocol-alpha.dev/opam +++ /dev/null @@ -1,33 +0,0 @@ -version: "dev" -name: "tezos-protocol-alpha" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-compiler" - "alcotest-lwt" { with-test } - "tezos-stdlib-unix" { with-test } - "tezos-protocol-environment" { with-test } - "tezos-shell-services" { with-test } - "bip39" { with-test } -] -build: [ -# [ "%{tezos-protocol-compiler:lib}%/replace" -# "%{tezos-protocol-compiler:lib}%/dune_protocol.template" -# "src/proto_alpha/lib_protocol/dune" "alpha" ] - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_alpha/lib_protocol/tezos-protocol-alpha.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-protocol-compiler/tezos-protocol-compiler.dev/opam b/packages/tezos-protocol-compiler/tezos-protocol-compiler.dev/opam deleted file mode 100644 index a6a210c08..000000000 --- a/packages/tezos-protocol-compiler/tezos-protocol-compiler.dev/opam +++ /dev/null @@ -1,31 +0,0 @@ -version: "dev" -name: "tezos-protocol-compiler" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - ## ocaml should be in sync with `script/version.sh` - "ocaml" { = "4.06.1" } - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "base-unix" - "tezos-base" - "tezos-protocol-environment-sigs" - "tezos-stdlib-unix" - "ocplib-endian" - "ocp-ocamlres" { >= "0.4" } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_protocol_compiler/tezos-protocol-compiler.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-protocol-demo/tezos-protocol-demo.dev/opam b/packages/tezos-protocol-demo/tezos-protocol-demo.dev/opam deleted file mode 100644 index b337d1f2d..000000000 --- a/packages/tezos-protocol-demo/tezos-protocol-demo.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -version: "dev" -name: "tezos-protocol-demo" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-protocol-compiler" -] -build: [ - [ "%{tezos-protocol-compiler:lib}%/replace" - "%{tezos-protocol-compiler:lib}%/dune_protocol.template" - "src/proto_demo/lib_protocol/dune" "demo" ] - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_demo/lib_protocol/tezos-protocol-demo.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-protocol-environment-shell/tezos-protocol-environment-shell.dev/opam b/packages/tezos-protocol-environment-shell/tezos-protocol-environment-shell.dev/opam deleted file mode 100644 index a781727a2..000000000 --- a/packages/tezos-protocol-environment-shell/tezos-protocol-environment-shell.dev/opam +++ /dev/null @@ -1,26 +0,0 @@ -version: "dev" -name: "tezos-protocol-environment-shell" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-environment" - "tezos-storage" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_protocol_environment/tezos-protocol-environment-shell.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-protocol-environment-sigs/tezos-protocol-environment-sigs.dev/opam b/packages/tezos-protocol-environment-sigs/tezos-protocol-environment-sigs.dev/opam deleted file mode 100644 index 45ccd307e..000000000 --- a/packages/tezos-protocol-environment-sigs/tezos-protocol-environment-sigs.dev/opam +++ /dev/null @@ -1,24 +0,0 @@ -version: "dev" -name: "tezos-protocol-environment-sigs" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-stdlib" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_protocol_environment/tezos-protocol-environment-sigs.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-protocol-environment/tezos-protocol-environment.dev/opam b/packages/tezos-protocol-environment/tezos-protocol-environment.dev/opam deleted file mode 100644 index 3ade72e86..000000000 --- a/packages/tezos-protocol-environment/tezos-protocol-environment.dev/opam +++ /dev/null @@ -1,26 +0,0 @@ -version: "dev" -name: "tezos-protocol-environment" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-protocol-environment-sigs" - "alcotest-lwt" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_protocol_environment/tezos-protocol-environment.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-protocol-genesis/tezos-protocol-genesis.dev/opam b/packages/tezos-protocol-genesis/tezos-protocol-genesis.dev/opam deleted file mode 100644 index e2ae0cdb0..000000000 --- a/packages/tezos-protocol-genesis/tezos-protocol-genesis.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -version: "dev" -name: "tezos-protocol-genesis" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-protocol-compiler" -] -build: [ - [ "%{tezos-protocol-compiler:lib}%/replace" - "%{tezos-protocol-compiler:lib}%/dune_protocol.template" - "dune" "genesis" ] - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/proto_genesis/lib_protocol/tezos-protocol-genesis.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-protocol-updater/tezos-protocol-updater.dev/opam b/packages/tezos-protocol-updater/tezos-protocol-updater.dev/opam deleted file mode 100644 index 1b435aa71..000000000 --- a/packages/tezos-protocol-updater/tezos-protocol-updater.dev/opam +++ /dev/null @@ -1,30 +0,0 @@ -version: "dev" -name: "tezos-protocol-updater" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-micheline" - "tezos-shell-services" - "tezos-protocol-compiler" - "tezos-protocol-environment-shell" - "tezos-stdlib-unix" - "tezos-storage" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_protocol_updater/tezos-protocol-updater.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-rpc-http/tezos-rpc-http.dev/opam b/packages/tezos-rpc-http/tezos-rpc-http.dev/opam deleted file mode 100644 index 657edd557..000000000 --- a/packages/tezos-rpc-http/tezos-rpc-http.dev/opam +++ /dev/null @@ -1,26 +0,0 @@ -version: "dev" -name: "tezos-rpc-http" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "ocplib-resto-directory" - "ocplib-resto-cohttp" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_rpc_http/tezos-rpc-http.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-rpc/tezos-rpc.dev/opam b/packages/tezos-rpc/tezos-rpc.dev/opam deleted file mode 100644 index e6ddd7978..000000000 --- a/packages/tezos-rpc/tezos-rpc.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -version: "dev" -name: "tezos-rpc" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-error-monad" - "tezos-data-encoding" - "ocplib-resto" - "ocplib-resto-directory" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_rpc/tezos-rpc.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-shell-services/tezos-shell-services.dev/opam b/packages/tezos-shell-services/tezos-shell-services.dev/opam deleted file mode 100644 index 2355ee2ac..000000000 --- a/packages/tezos-shell-services/tezos-shell-services.dev/opam +++ /dev/null @@ -1,24 +0,0 @@ -version: "dev" -name: "tezos-shell-services" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_shell_services/tezos-shell-services.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-shell/tezos-shell.dev/opam b/packages/tezos-shell/tezos-shell.dev/opam deleted file mode 100644 index 6d09f9910..000000000 --- a/packages/tezos-shell/tezos-shell.dev/opam +++ /dev/null @@ -1,31 +0,0 @@ -version: "dev" -name: "tezos-shell" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-rpc-http" - "tezos-p2p" - "tezos-shell-services" - "tezos-protocol-updater" - "tezos-validation" - "alcotest-lwt" { with-test } - "tezos-embedded-protocol-demo" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_shell/tezos-shell.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-signer-backends/tezos-signer-backends.dev/opam b/packages/tezos-signer-backends/tezos-signer-backends.dev/opam deleted file mode 100644 index a816c892f..000000000 --- a/packages/tezos-signer-backends/tezos-signer-backends.dev/opam +++ /dev/null @@ -1,34 +0,0 @@ -version: "dev" -name: "tezos-signer-backends" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-stdlib-unix" - "tezos-client-base" - "tezos-rpc-http" - "tezos-signer-services" - "tezos-shell-services" - "pbkdf" - "bip39" - "ledgerwallet-tezos" - "alcotest" {with-test & >= "0.8.1"} - "alcotest-lwt" {with-test & >= "0.8.0"} -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_signer_backends/tezos-signer-backends.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-signer-services/tezos-signer-services.dev/opam b/packages/tezos-signer-services/tezos-signer-services.dev/opam deleted file mode 100644 index d7d1fb040..000000000 --- a/packages/tezos-signer-services/tezos-signer-services.dev/opam +++ /dev/null @@ -1,26 +0,0 @@ -version: "dev" -name: "tezos-signer-services" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-client-base" - "tezos-rpc" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_signer_services/tezos-signer-services.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-signer/tezos-signer.dev/opam b/packages/tezos-signer/tezos-signer.dev/opam deleted file mode 100644 index e1f99dcd2..000000000 --- a/packages/tezos-signer/tezos-signer.dev/opam +++ /dev/null @@ -1,31 +0,0 @@ -version: "dev" -name: "tezos-signer" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-client-base" - "tezos-client-base-unix" - "tezos-client-commands" - "tezos-signer-services" - "tezos-rpc-http" - "tezos-stdlib-unix" - "tezos-signer-backends" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/bin_signer/tezos-signer.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-stdlib-unix/tezos-stdlib-unix.dev/opam b/packages/tezos-stdlib-unix/tezos-stdlib-unix.dev/opam deleted file mode 100644 index 1e3e8b9fa..000000000 --- a/packages/tezos-stdlib-unix/tezos-stdlib-unix.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -version: "dev" -name: "tezos-stdlib-unix" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "lwt" { >= "3.0.0" } - "conf-libev" - "ipaddr" { >= "3.0.0" } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_stdlib_unix/tezos-stdlib-unix.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-stdlib/tezos-stdlib.dev/opam b/packages/tezos-stdlib/tezos-stdlib.dev/opam deleted file mode 100644 index cc5f7a89b..000000000 --- a/packages/tezos-stdlib/tezos-stdlib.dev/opam +++ /dev/null @@ -1,31 +0,0 @@ -version: "dev" -name: "tezos-stdlib" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" & < "1.7" } ## Incompatible with lwt<4 - "bigstring" - "hex" - "ocplib-endian" - "re" - "lwt" { < "4" } - "zarith" - "alcotest" { with-test } - "ocp-indent" { with-test & = "1.6.1" } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_stdlib/tezos-stdlib.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-storage/tezos-storage.dev/opam b/packages/tezos-storage/tezos-storage.dev/opam deleted file mode 100644 index 4faf798c1..000000000 --- a/packages/tezos-storage/tezos-storage.dev/opam +++ /dev/null @@ -1,28 +0,0 @@ -version: "dev" -name: "tezos-storage" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "lmdb" - "irmin-lmdb" - "tezos-stdlib-unix" { with-test } - "alcotest-lwt" { with-test } -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_storage/tezos-storage.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-utils/tezos-utils.dev/opam b/packages/tezos-utils/tezos-utils.dev/opam deleted file mode 100644 index 3361f0f85..000000000 --- a/packages/tezos-utils/tezos-utils.dev/opam +++ /dev/null @@ -1,55 +0,0 @@ -opam-version: "2.0" -name: "tezos-utils" -version: "dev" -synopsis: "LIGO Tezos specific Utilities, to be used by other libraries" -maintainer: "Galfour " -authors: "Galfour " -license: "MIT" -homepage: "https://gitlab.com/ligolang/ligo-utils" -bug-reports: "https://gitlab.com/ligolang/ligo-utils/issues" -depends: [ - "dune" - "base" - "base" - "bigstring" - "calendar" - "cohttp-lwt-unix" - "cstruct" - "ezjsonm" - "hex" - "hidapi" - "ipaddr" - "irmin" - "js_of_ocaml" - "lwt" - "lwt_log" - "mtime" - "ocplib-endian" - "ocp-ocamlres" - "re" - "rresult" - "stdio" - "uri" - "uutf" - "zarith" - "ocplib-json-typed" - "ocplib-json-typed-bson" - "tezos-crypto" - "tezos-stdlib-unix" - "tezos-data-encoding" - "tezos-protocol-environment" - "tezos-protocol-alpha" - "michelson-parser" - "simple-utils" - # from ppx_let: - "ocaml" {>= "4.04.2" & < "4.08.0"} - "dune" {build & >= "1.5.1"} - "ppxlib" {>= "0.5.0"} -] -build: [ - ["dune" "build" "-p" name] - [ "mv" "vendors/ligo-utils/tezos-utils/tezos-utils.install" "." ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/tezos-validation/tezos-validation.dev/opam b/packages/tezos-validation/tezos-validation.dev/opam deleted file mode 100644 index 649903755..000000000 --- a/packages/tezos-validation/tezos-validation.dev/opam +++ /dev/null @@ -1,27 +0,0 @@ -version: "dev" -name: "tezos-validation" -opam-version: "2.0" -maintainer: "contact@tezos.com" -authors: [ "Tezos devteam" ] -homepage: "https://www.tezos.com/" -bug-reports: "https://gitlab.com/tezos/tezos/issues" -dev-repo: "git+https://gitlab.com/tezos/tezos.git" -license: "MIT" -depends: [ - "ocamlfind" { build } - "dune" { build & >= "1.0.1" } - "tezos-base" - "tezos-storage" - "tezos-shell-services" - "tezos-protocol-updater" -] -build: [ - [ "dune" "build" "-p" name "-j" jobs ] - [ "mv" "vendors/tezos-modded/src/lib_validation/tezos-validation.install" "." ] -] -run-test: [ - [ "dune" "runtest" "-p" name "-j" jobs ] -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/packages/uecc/uecc.dev/opam b/packages/uecc/uecc.dev/opam deleted file mode 100644 index f83feaebe..000000000 --- a/packages/uecc/uecc.dev/opam +++ /dev/null @@ -1,25 +0,0 @@ -opam-version: "2.0" -name: "uecc" -version: "dev" -authors: "Vincent Bernardoff " -maintainer: "Vincent Bernardoff " -license: "ISC" -homepage: "https://github.com/vbmithr/ocaml-uecc" -synopsis: "Bindings for ECDH and ECDSA for 8-bit, 32-bit, and 64-bit processors" -bug-reports: "https://github.com/vbmithr/ocaml-uecc/issues" -dev-repo: "git://github.com/vbmithr/ocaml-uecc" -build: [ - [ "dune" "build" "-j" jobs "-p" name "@install" ] - [ "mv" "vendors/tezos-modded/vendors/ocaml-uecc/uecc.install" "." ] -] -run-test: [ "dune" "runtest" "-p" name "-j" jobs ] -depends: [ - "dune" {build & >= "1.0.1"} - "bigstring" {>= "0.1.1"} - "alcotest" {with-test & >= "0.8.1"} - "cstruct" {with-test & >= "3.2.1"} - "hex" {with-test} -] -url { - src: "https://gitlab.com/ligolang/ligo/-/archive/master/ligo.tar.gz" -} diff --git a/scripts/setup_ligo_opam_repository.sh b/scripts/setup_ligo_opam_repository.sh deleted file mode 100755 index 444aee6d5..000000000 --- a/scripts/setup_ligo_opam_repository.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -set -e - -vendors/opam-repository-tools/rewrite-local-opam-repository.sh -opam repo add ligo-opam-repository ./vendors/ligo-opam-repository-local-generated -opam update ligo-opam-repository diff --git a/urls.txt b/urls.txt deleted file mode 100644 index 610db2b98..000000000 --- a/urls.txt +++ /dev/null @@ -1 +0,0 @@ -repo f9ec38c6d4dfb4ef9f64edb361326b32 420 diff --git a/vendors/opam-repository-tools/rewrite-local-opam-repository.sh b/vendors/opam-repository-tools/rewrite-local-opam-repository.sh deleted file mode 100755 index 8771aa7bd..000000000 --- a/vendors/opam-repository-tools/rewrite-local-opam-repository.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -# Stop on error. -set -e - -# Defensive checks. We're going to remove an entire folder so this script is somewhat dangerous. Better check in advance what can go wrong in the entire execution of the script. -if test -e index.tar.gz && test -e packages && test -e repo && test -e urls.txt; then - if test -d vendors/; then - if test -d "$PWD"; then - if command -v sed >/dev/null 2>&1 \ - && command -v rm >/dev/null 2>&1 \ - && command -v mkdir >/dev/null 2>&1 \ - && command -v cp >/dev/null 2>&1 \ - && command -v find >/dev/null 2>&1 \ - && command -v xargs >/dev/null 2>&1 \ - && command -v opam >/dev/null 2>&1; then - - # Escape the current directory, to be used as the replacement part of the sed regular expression - escaped_project_root="$(printf %s "$PWD" | sed -e 's/\\/\\\\/' | sed -e 's/&/\\\&/' | sed -e 's/~/\\~/')" - - # Recreate vendors/ligo-opam-repository-local-generated which contains a copy of the files related to the opam repository - rm -fr vendors/ligo-opam-repository-local-generated - mkdir vendors/ligo-opam-repository-local-generated - cp -pR index.tar.gz packages repo urls.txt vendors/ligo-opam-repository-local-generated - - # Rewrite the URLs in the opam repository to point to the project root - ( - cd vendors/ligo-opam-repository-local-generated - find . -type f -name opam -print0 | xargs -0 sed -i -e 's~src: *"https://gitlab.com/ligolang/ligo/-/archive/master/ligo\.tar\.gz"~src: "file://'"$escaped_project_root"'"~' - ) - - # Regenerate the index.tar.gz etc. in the local repo - ( - cd vendors/ligo-opam-repository-local-generated - opam admin index - opam admin cache - ) - else - echo "One of the following commands is unavailable: sed rm mkdir cp find xargs opam." - exit 1 - fi - else - echo "Unable to access the current directory as indicated by PWD. Was the CWD of the current shell removed?" - exit 1 - fi - - else - echo "Cannot find the directory vendors/ in the current directory" - exit 1 - fi -else - echo "Cannot find some of the following files in the current directory" - echo "index.tar.gz packages repo urls.txt" - exit 1 -fi diff --git a/vendors/opam-repository-tools/update.sh b/vendors/opam-repository-tools/update.sh deleted file mode 100755 index 8c6b6d741..000000000 --- a/vendors/opam-repository-tools/update.sh +++ /dev/null @@ -1,11 +0,0 @@ -MESSAGE=$1 -if [ -z "$MESSAGE" ] ; then - echo "needs a commit message" - exit 1 -fi -opam admin index -opam admin cache -git add . -git commit -m "$MESSAGE" -git push -opam update new-galfour-tezos From d87d0aab73136e76f4bf5032b7341dfc6be80f1d Mon Sep 17 00:00:00 2001 From: Tom Jack Date: Fri, 11 Oct 2019 14:35:23 -0500 Subject: [PATCH 18/34] Expose tez/tez division --- src/passes/operators/operators.ml | 2 ++ src/test/contracts/tez.ligo | 10 +++++++++- src/test/integration_tests.ml | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/passes/operators/operators.ml b/src/passes/operators/operators.ml index 15ed4928a..abd34903b 100644 --- a/src/passes/operators/operators.ml +++ b/src/passes/operators/operators.ml @@ -438,6 +438,8 @@ module Typer = struct then ok @@ t_int () else if eq_1 a (t_tez ()) && eq_1 b (t_nat ()) then ok @@ t_tez () else + if eq_1 a (t_tez ()) && eq_1 b (t_tez ()) + then ok @@ t_nat () else simple_fail "Dividing with wrong types" let mod_ = typer_2 "MOD" @@ fun a b -> diff --git a/src/test/contracts/tez.ligo b/src/test/contracts/tez.ligo index cf487808d..190951d56 100644 --- a/src/test/contracts/tez.ligo +++ b/src/test/contracts/tez.ligo @@ -1,4 +1,12 @@ const add_tez : tez = 21mtz + 0.000021tz; const sub_tez : tez = 21mtz - 20mtz; -(* is this enough? *) +(* This is not enough. *) const not_enough_tez : tez = 4611686018427387903mtz; + + +const nat_mul_tez : tez = 1n * 100mtz; +const tez_mul_nat : tez = 100mtz * 10n; + +const tez_div_tez1 : nat = 100mtz / 1mtz; +const tez_div_tez2 : nat = 100mtz / 90mtz; +const tez_div_tez3 : nat = 100mtz / 110mtz; diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 7a50ad29b..4b73b0b33 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -829,6 +829,11 @@ let tez_ligo () : unit result = let%bind _ = expect_eq_evaluate program "add_tez" (e_mutez 42) in let%bind _ = expect_eq_evaluate program "sub_tez" (e_mutez 1) in let%bind _ = expect_eq_evaluate program "not_enough_tez" (e_mutez 4611686018427387903) in + let%bind _ = expect_eq_evaluate program "nat_mul_tez" (e_mutez 100) in + let%bind _ = expect_eq_evaluate program "tez_mul_nat" (e_mutez 1000) in + let%bind _ = expect_eq_evaluate program "tez_div_tez1" (e_nat 100) in + let%bind _ = expect_eq_evaluate program "tez_div_tez2" (e_nat 1) in + let%bind _ = expect_eq_evaluate program "tez_div_tez3" (e_nat 0) in ok () let tez_mligo () : unit result = From d947f3b462fe95e74e9f67cbfef0802898e0fb3e Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Fri, 11 Oct 2019 12:38:00 -0700 Subject: [PATCH 19/34] Change set patch to chain calls and only use one assignment --- src/passes/2-simplify/pascaligo.ml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index 5dda856b1..d8ea7bc5c 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -806,15 +806,19 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu in ok e) @@ pseq_to_list setp.set_inj.value.elements in let%bind expr = - let aux = fun (v) -> - e_assign name access_path (e_constant "SET_ADD" [v ; e_variable name]) in - let assigns = List.map aux inj in + let rec chain_add = fun lst s : expression -> + match lst with + | [] -> s + | hd :: tl -> chain_add tl (e_constant "SET_ADD" [hd ; s]) in + let assigns = + match inj with + | [] -> e_skip ~loc () + | _ :: _ -> chain_add inj (e_variable name) in match assigns with - | [] -> ok @@ e_skip ~loc () - | hd :: tl -> ( - let aux acc cur = e_sequence acc cur in - ok @@ List.fold_left aux hd tl - ) + | {expression = E_skip; _} -> ok @@ e_skip ~loc () + | {expression = E_constant e; location = loc} -> + ok @@ e_assign name access_path {expression = (E_constant e); location = loc} + | _ -> fail @@ corner_case ~loc:__LOC__ "Unexpected expression type" in return_statement @@ expr ) From e672d10029560f206567edef154af4333ba5999f Mon Sep 17 00:00:00 2001 From: Tom Jack Date: Fri, 11 Oct 2019 14:54:22 -0500 Subject: [PATCH 20/34] Expose tez mod tez, too --- src/passes/operators/operators.ml | 2 ++ src/test/contracts/tez.ligo | 4 ++++ src/test/integration_tests.ml | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/passes/operators/operators.ml b/src/passes/operators/operators.ml index abd34903b..65b55c18e 100644 --- a/src/passes/operators/operators.ml +++ b/src/passes/operators/operators.ml @@ -445,6 +445,8 @@ module Typer = struct let mod_ = typer_2 "MOD" @@ fun a b -> if (eq_1 a (t_nat ()) || eq_1 a (t_int ())) && (eq_1 b (t_nat ()) || eq_1 b (t_int ())) then ok @@ t_nat () else + if eq_1 a (t_tez ()) && eq_1 b (t_tez ()) + then ok @@ t_tez () else simple_fail "Computing modulo with wrong types" let add = typer_2 "ADD" @@ fun a b -> diff --git a/src/test/contracts/tez.ligo b/src/test/contracts/tez.ligo index 190951d56..cd76c47c7 100644 --- a/src/test/contracts/tez.ligo +++ b/src/test/contracts/tez.ligo @@ -10,3 +10,7 @@ const tez_mul_nat : tez = 100mtz * 10n; const tez_div_tez1 : nat = 100mtz / 1mtz; const tez_div_tez2 : nat = 100mtz / 90mtz; const tez_div_tez3 : nat = 100mtz / 110mtz; + +const tez_mod_tez1 : tez = 100mtz mod 1mtz; +const tez_mod_tez2 : tez = 100mtz mod 90mtz; +const tez_mod_tez3 : tez = 100mtz mod 110mtz; diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 4b73b0b33..94f0755a6 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -834,6 +834,9 @@ let tez_ligo () : unit result = let%bind _ = expect_eq_evaluate program "tez_div_tez1" (e_nat 100) in let%bind _ = expect_eq_evaluate program "tez_div_tez2" (e_nat 1) in let%bind _ = expect_eq_evaluate program "tez_div_tez3" (e_nat 0) in + let%bind _ = expect_eq_evaluate program "tez_mod_tez1" (e_mutez 0) in + let%bind _ = expect_eq_evaluate program "tez_mod_tez2" (e_mutez 10) in + let%bind _ = expect_eq_evaluate program "tez_mod_tez3" (e_mutez 100) in ok () let tez_mligo () : unit result = From c5361c57d45a842199268291636b2b36e38c3854 Mon Sep 17 00:00:00 2001 From: Tom Jack Date: Fri, 11 Oct 2019 15:10:08 -0500 Subject: [PATCH 21/34] Simplify a bit --- src/passes/2-simplify/pascaligo.ml | 32 +++++++++++------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index d8ea7bc5c..02a0bedf0 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -800,26 +800,18 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu | SetPatch patch -> ( let (setp, loc) = r_split patch in let (name , access_path) = simpl_path setp.path in - let%bind inj = bind_list - @@ List.map (fun (x:Raw.expr) -> - let%bind e = simpl_expression x - in ok e) - @@ pseq_to_list setp.set_inj.value.elements in - let%bind expr = - let rec chain_add = fun lst s : expression -> - match lst with - | [] -> s - | hd :: tl -> chain_add tl (e_constant "SET_ADD" [hd ; s]) in - let assigns = - match inj with - | [] -> e_skip ~loc () - | _ :: _ -> chain_add inj (e_variable name) in - match assigns with - | {expression = E_skip; _} -> ok @@ e_skip ~loc () - | {expression = E_constant e; location = loc} -> - ok @@ e_assign name access_path {expression = (E_constant e); location = loc} - | _ -> fail @@ corner_case ~loc:__LOC__ "Unexpected expression type" - in + let%bind inj = + bind_list @@ + List.map simpl_expression @@ + pseq_to_list setp.set_inj.value.elements in + let expr = + match inj with + | [] -> e_skip ~loc () + | _ :: _ -> + let assigns = List.fold_right + (fun hd s -> e_constant "SET_ADD" [hd ; s]) + inj (e_variable name) in + e_assign ~loc name access_path assigns in return_statement @@ expr ) From 62377135c4b1a88c1f351719a4fba254727780f3 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Fri, 11 Oct 2019 13:23:29 -0700 Subject: [PATCH 22/34] Add empty map patch test --- src/test/contracts/map.ligo | 4 ++++ src/test/contracts/map.mligo | 3 +++ src/test/integration_tests.ml | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/src/test/contracts/map.ligo b/src/test/contracts/map.ligo index 71be5dc20..24a267884 100644 --- a/src/test/contracts/map.ligo +++ b/src/test/contracts/map.ligo @@ -29,6 +29,10 @@ function patch_ (var m: foobar) : foobar is block { patch m with map [0 -> 5; 1 -> 6; 2 -> 7] } with m +function patch_empty (var m : foobar) : foobar is block { + patch m with map [] +} with m + function size_ (const m : foobar) : nat is block {skip} with (size(m)) diff --git a/src/test/contracts/map.mligo b/src/test/contracts/map.mligo index 88089d985..18a84d104 100644 --- a/src/test/contracts/map.mligo +++ b/src/test/contracts/map.mligo @@ -14,6 +14,9 @@ let rm (m : foobar) : foobar = Map.remove 42 m (* Dummy test so that we can add the same test for PascaLIGO *) let patch_ (m : foobar) : foobar = Map.literal [ (0, 5) ; (1, 6) ; (2, 7) ] +(* Second dummy test, see above *) +let patch_empty (m : foobar) : foobar = Map.literal [ (0, 0) ; (1, 1) ; (2, 2) ] + let size_ (m : foobar) : nat = Map.size m let gf (m : foobar) : int = Map.find 23 m diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 7e9f5c3b1..ad1ce6d69 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -416,6 +416,11 @@ let map_ type_f path : unit result = let expected = ez [(0, 5) ; (1, 6) ; (2, 7)] in expect_eq program "patch_" input expected in + let%bind () = + let input = ez [(0,0) ; (1,1) ; (2,2)] in + let expected = ez [(0,0) ; (1,1) ; (2,2)] in + expect_eq program "patch_empty" input expected + in let%bind () = let make_input = fun n -> ez List.(map (fun x -> (x, x)) @@ range n) in let make_expected = e_nat in From b64f82dff7ce4049684af5ac51e0e2cfe98dc31d Mon Sep 17 00:00:00 2001 From: Tom Jack Date: Fri, 11 Oct 2019 15:24:40 -0500 Subject: [PATCH 23/34] Add failing test --- src/test/contracts/set_arithmetic.ligo | 3 +++ src/test/integration_tests.ml | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/src/test/contracts/set_arithmetic.ligo b/src/test/contracts/set_arithmetic.ligo index 1a8e3550f..f38c1319f 100644 --- a/src/test/contracts/set_arithmetic.ligo +++ b/src/test/contracts/set_arithmetic.ligo @@ -20,6 +20,9 @@ function remove_syntax (var s : set(string)) : set(string) is function patch_op (var s: set(string)) : set(string) is begin patch s with set ["foobar"]; end with s +function patch_op_deep (var s: set(string)*nat) : set(string)*nat is + begin patch s.0 with set ["foobar"]; end with s + function patch_op_empty (var s: set(string)) : set(string) is begin patch s with set []; end with s diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 9d2405ead..4ef61ad01 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -249,6 +249,14 @@ let set_arithmetic () : unit result = expect_eq program "patch_op" (e_set [e_string "foo" ; e_string "bar"]) (e_set [e_string "foo" ; e_string "bar"; e_string "foobar"]) in + let%bind () = + expect_eq program "patch_op_deep" + (e_pair + (e_set [e_string "foo" ; e_string "bar"]) + (e_nat 42)) + (e_pair + (e_set [e_string "foo" ; e_string "bar" ; e_string "foobar"]) + (e_nat 42)) in let%bind () = expect_eq program "patch_op_empty" (e_set [e_string "foo" ; e_string "bar"]) From c2a3fd473cfdbec5008e4da2f6ae7509d37ff4f6 Mon Sep 17 00:00:00 2001 From: Tom Jack Date: Fri, 11 Oct 2019 15:27:41 -0500 Subject: [PATCH 24/34] Fix test --- src/passes/2-simplify/pascaligo.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index 02a0bedf0..0674a3caa 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -810,7 +810,7 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu | _ :: _ -> let assigns = List.fold_right (fun hd s -> e_constant "SET_ADD" [hd ; s]) - inj (e_variable name) in + inj (e_accessor ~loc (e_variable name) access_path) in e_assign ~loc name access_path assigns in return_statement @@ expr ) From 3d053cd0734abdc813500a7f7c63985f4e0a08c6 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Fri, 11 Oct 2019 15:44:16 -0700 Subject: [PATCH 25/34] Refactor map patch so that it uses fewer assignments --- src/passes/2-simplify/pascaligo.ml | 31 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index dfa37bd0f..b6d6f895d 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -809,28 +809,25 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu | MapPatch patch -> ( let (map_p, loc) = r_split patch in let (name, access_path) = simpl_path map_p.path in - let%bind inj = bind_list - @@ List.map (fun (x:Raw.binding Region.reg) -> - let (x , loc) = r_split x in + let%bind inj = bind_list + @@ List.map (fun (x:Raw.binding Region.reg) -> + let x = x.value in let (key, value) = x.source, x.image in let%bind key' = simpl_expression key in let%bind value' = simpl_expression value - in ok @@ (access_path, key', value', loc) + in ok @@ (key', value') ) @@ pseq_to_list map_p.map_inj.value.elements in - let%bind expr = - let aux = fun (access, key, value, loc) -> - let map = e_variable name in - e_assign ~loc name access (e_map_add key value map) in - let assigns = List.map aux inj in - match assigns with - | [] -> ok @@ e_skip ~loc () - | hd :: tl -> ( - let aux acc cur = e_sequence acc cur in - ok @@ List.fold_left aux hd tl - ) - in - return_statement @@ expr + let expr = + match inj with + | [] -> e_skip ~loc () + | _ :: _ -> + let assigns = List.fold_left + (fun map (key, value) -> (e_map_add key value map)) + (e_variable name) + inj + in e_assign ~loc name access_path assigns + in return_statement @@ expr ) | SetPatch patch -> fail @@ unsupported_set_patches patch From 5070ded5b9d241ebb1b78348f1a32f5ff1b3e102 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Fri, 11 Oct 2019 17:26:28 -0700 Subject: [PATCH 26/34] Add complex path traversal to map patch --- src/passes/2-simplify/pascaligo.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index b6d6f895d..337f91abd 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -824,7 +824,7 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu | _ :: _ -> let assigns = List.fold_left (fun map (key, value) -> (e_map_add key value map)) - (e_variable name) + (e_accessor ~loc (e_variable name) access_path) inj in e_assign ~loc name access_path assigns in return_statement @@ expr From b304772928da5a4c54f0ad17fa4cf232d1752836 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Sat, 12 Oct 2019 12:38:05 -0700 Subject: [PATCH 27/34] Change set patch to use left fold --- src/passes/2-simplify/pascaligo.ml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index 0674a3caa..92f8c14aa 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -808,9 +808,9 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu match inj with | [] -> e_skip ~loc () | _ :: _ -> - let assigns = List.fold_right - (fun hd s -> e_constant "SET_ADD" [hd ; s]) - inj (e_accessor ~loc (e_variable name) access_path) in + let assigns = List.fold_left + (fun s hd -> e_constant "SET_ADD" [hd ; s]) + (e_accessor ~loc (e_variable name) access_path) inj in e_assign ~loc name access_path assigns in return_statement @@ expr ) From 93b5a068b5ece1bfe2759c334a57f26d5b040b9e Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Mon, 14 Oct 2019 10:19:18 -0700 Subject: [PATCH 28/34] Add deep map patch test --- src/test/contracts/map.ligo | 3 +++ src/test/contracts/map.mligo | 3 +++ src/test/integration_tests.ml | 9 +++++++++ 3 files changed, 15 insertions(+) diff --git a/src/test/contracts/map.ligo b/src/test/contracts/map.ligo index 24a267884..a022379cd 100644 --- a/src/test/contracts/map.ligo +++ b/src/test/contracts/map.ligo @@ -33,6 +33,9 @@ function patch_empty (var m : foobar) : foobar is block { patch m with map [] } with m +function patch_deep (var m: foobar * nat) : foobar * nat is + begin patch m.0 with map [1 -> 9]; end with m + function size_ (const m : foobar) : nat is block {skip} with (size(m)) diff --git a/src/test/contracts/map.mligo b/src/test/contracts/map.mligo index 18a84d104..829201b23 100644 --- a/src/test/contracts/map.mligo +++ b/src/test/contracts/map.mligo @@ -17,6 +17,9 @@ let patch_ (m : foobar) : foobar = Map.literal [ (0, 5) ; (1, 6) ; (2, 7) ] (* Second dummy test, see above *) let patch_empty (m : foobar) : foobar = Map.literal [ (0, 0) ; (1, 1) ; (2, 2) ] +(* Third dummy test, see above *) +let patch_deep (m: foobar * nat) : foobar * nat = (Map.literal [ (0, 0) ; (1, 9) ; (2, 2) ], 10p) + let size_ (m : foobar) : nat = Map.size m let gf (m : foobar) : int = Map.find 23 m diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index ad1ce6d69..b964104c9 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -421,6 +421,15 @@ let map_ type_f path : unit result = let expected = ez [(0,0) ; (1,1) ; (2,2)] in expect_eq program "patch_empty" input expected in + let%bind () = + let input = (e_pair + (ez [(0,0) ; (1,1) ; (2,2)]) + (e_nat 10)) in + let expected = (e_pair + (ez [(0,0) ; (1,9) ; (2,2)]) + (e_nat 10)) in + expect_eq program "patch_deep" input expected + in let%bind () = let make_input = fun n -> ez List.(map (fun x -> (x, x)) @@ range n) in let make_expected = e_nat in From ed69c858a8a98f10509b91ae584a288811fe14a5 Mon Sep 17 00:00:00 2001 From: Tom Jack Date: Mon, 14 Oct 2019 14:05:35 -0500 Subject: [PATCH 29/34] Use right folds --- src/passes/2-simplify/pascaligo.ml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index da0675a4a..18f2d8585 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -800,10 +800,10 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu match inj with | [] -> e_skip ~loc () | _ :: _ -> - let assigns = List.fold_left - (fun map (key, value) -> (e_map_add key value map)) - (e_accessor ~loc (e_variable name) access_path) + let assigns = List.fold_right + (fun (key, value) map -> (e_map_add key value map)) inj + (e_accessor ~loc (e_variable name) access_path) in e_assign ~loc name access_path assigns in return_statement @@ expr ) @@ -818,9 +818,9 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu match inj with | [] -> e_skip ~loc () | _ :: _ -> - let assigns = List.fold_left - (fun s hd -> e_constant "SET_ADD" [hd ; s]) - (e_accessor ~loc (e_variable name) access_path) inj in + let assigns = List.fold_right + (fun hd s -> e_constant "SET_ADD" [hd ; s]) + inj (e_accessor ~loc (e_variable name) access_path) in e_assign ~loc name access_path assigns in return_statement @@ expr ) From 0b8c0dad3f5742bb3e261e4232bf3da9efb614c8 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Mon, 14 Oct 2019 15:48:20 -0700 Subject: [PATCH 30/34] Add failing deep set removal test to contracts --- src/test/contracts/set_arithmetic.ligo | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/contracts/set_arithmetic.ligo b/src/test/contracts/set_arithmetic.ligo index f38c1319f..879d13940 100644 --- a/src/test/contracts/set_arithmetic.ligo +++ b/src/test/contracts/set_arithmetic.ligo @@ -17,6 +17,9 @@ function remove_op (const s : set(string)) : set(string) is function remove_syntax (var s : set(string)) : set(string) is begin remove "foobar" from set s; end with s +function remove_deep (var s : set(string) * nat) : set(string) * nat is + begin remove "foobar" from set s.0; end with s + function patch_op (var s: set(string)) : set(string) is begin patch s with set ["foobar"]; end with s From 6f5e88c93c739d6a09050c656ac966411efec088 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Mon, 14 Oct 2019 16:04:48 -0700 Subject: [PATCH 31/34] Make failing deep set removal test pass --- src/passes/2-simplify/pascaligo.ml | 26 ++++++++++---------------- src/test/integration_tests.ml | 9 +++++++++ 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/passes/2-simplify/pascaligo.ml b/src/passes/2-simplify/pascaligo.ml index 18f2d8585..f89f8459e 100644 --- a/src/passes/2-simplify/pascaligo.ml +++ b/src/passes/2-simplify/pascaligo.ml @@ -119,16 +119,6 @@ module Errors = struct ] in error ~data title message - let unsupported_deep_set_rm path = - let title () = "set removals" in - let message () = - Format.asprintf "removal of members from embedded sets is not supported yet" in - let data = [ - ("path_loc", - fun () -> Format.asprintf "%a" Location.pp_lift @@ path.Region.region) - ] in - error ~data title message - let unsupported_non_var_pattern p = let title () = "pattern is not a variable" in let message () = @@ -831,7 +821,7 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu | Name v -> ok (v.value , e_variable v.value , []) | Path p -> let (name,p') = simpl_path v.map in - let%bind accessor = simpl_projection p in + let%bind accessor = simpl_projection p in ok @@ (name , accessor , p') in let%bind key' = simpl_expression key in @@ -840,12 +830,16 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu ) | SetRemove r -> ( let (set_rm, loc) = r_split r in - let%bind set = match set_rm.set with - | Name v -> ok v.value - | Path path -> fail @@ unsupported_deep_set_rm path in + let%bind (varname, set, path) = match set_rm.set with + | Name v -> ok (v.value, e_variable v.value, []) + | Path path -> + let(name, p') = simpl_path set_rm.set in + let%bind accessor = simpl_projection path in + ok @@ (name, accessor, p') + in let%bind removed' = simpl_expression set_rm.element in - let expr = e_constant ~loc "SET_REMOVE" [removed' ; e_variable set] in - return_statement @@ e_assign ~loc set [] expr + let expr = e_constant ~loc "SET_REMOVE" [removed' ; set] in + return_statement @@ e_assign ~loc varname path expr ) and simpl_path : Raw.path -> string * Ast_simplified.access_path = fun p -> diff --git a/src/test/integration_tests.ml b/src/test/integration_tests.ml index 1daf4c046..89e5ef967 100644 --- a/src/test/integration_tests.ml +++ b/src/test/integration_tests.ml @@ -245,6 +245,15 @@ let set_arithmetic () : unit result = expect_eq program "remove_syntax" (e_set [e_string "foo" ; e_string "bar" ; e_string "foobar"]) (e_set [e_string "foo" ; e_string "bar"]) in + let%bind () = + expect_eq program "remove_deep" + (e_pair + (e_set [e_string "foo" ; e_string "bar" ; e_string "foobar"]) + (e_nat 42)) + (e_pair + (e_set [e_string "foo" ; e_string "bar"]) + (e_nat 42)) + in let%bind () = expect_eq program "patch_op" (e_set [e_string "foo" ; e_string "bar"]) From decd00de2a118e39c9ad273d26c4a8fa2e5dbbb8 Mon Sep 17 00:00:00 2001 From: John David Pressman Date: Mon, 14 Oct 2019 18:13:18 -0700 Subject: [PATCH 32/34] Add revised ligo test guide --- .../docs/contributors/ligo_test_guide.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 gitlab-pages/docs/contributors/ligo_test_guide.md diff --git a/gitlab-pages/docs/contributors/ligo_test_guide.md b/gitlab-pages/docs/contributors/ligo_test_guide.md new file mode 100644 index 000000000..81d1ebe65 --- /dev/null +++ b/gitlab-pages/docs/contributors/ligo_test_guide.md @@ -0,0 +1,78 @@ +# Testing LIGO + +Adding to the LIGO test suite is one of the more accessible ways to contribute. It exposes you to the compiler structure and primitives without necessarily demanding a deep understanding of OCaml or compiler development. And you'll probably become more familiar with LIGO itself in the process, which is helpful. + +Unfortunately right now LIGO itself doesn't have a good way to do automated testing. So the tests are written in OCaml, outside of the LIGO language. Thankfully the test code is typically less demanding than the features being tested. These tests are currently contained in [src/test](https://gitlab.com/ligolang/ligo/tree/dev/src/test), but the bulk are integration tests which rely on test contracts kept in [src/test/contracts](https://gitlab.com/ligolang/ligo/tree/dev/src/test/contracts). If you're new to LIGO, reading these contracts can be a useful introduction to a given syntax. In the future we plan +to have detailed documentation for each syntax, but at the moment we only have a reference manual for [PascaLIGO](https://gitlab.com/ligolang/ligo/blob/dev/src/passes/2-simplify/pascaligo.ml) + +## How To Find Good Test Cases + +Your first question is probably "If I'm not already experienced, how do I know what to test?". There's a handful of things you can do to systematically find good test cases. All of them will either get you more familiar with the LIGO code base or LIGO itself. + +### Extending Existing Test Cases + +The fastest way to improve LIGO's test coverage is to extend existing test cases. This means considering the test cases that already exist, and thinking of things they don't cover or situations they'll fail on. A good deal of inference is required for this, but it requires minimal experience with the existing code. + +### Studying The Parsers For Gaps In Coverage + +LIGO is divided into a **front end** which handles syntax and a **backend** which optimizes and compiles a core language shared between syntaxes. You can find basic test cases for a particular LIGO syntax by studying its parser. You will find these under [src/passes/1-parser](https://gitlab.com/ligolang/ligo/tree/dev/src/passes/1-parser). One kind of useful test focuses on **coverage**, whether we have any testing at all for a particular aspect of a syntax. You can find these by carefully going over the syntax tree for a syntax (probably best read by looking at its `Parser.mly`) and comparing each branch to the test suite. While these tests are plentiful at the time of writing, they will eventually be filled in reliably as part of writing a new syntax. + +### Creating Interesting Test Cases By Using LIGO + +Another kind of useful test focuses on **depth**, whether the features are put through a wide variety of complex scenarios to make sure they stand up to real world use. One of the best ways to write these +is to use LIGO for a real project. This will require some time and energy, not just to learn LIGO but to write projects complex enough to stretch the limits of what the language can do. At the same time however it will get you used to engaging with LIGO from a developers perspective, asking how things could be better or what features are underdeveloped. If your project has practical uses, you will also be contributing to the Tezos/LIGO ecosystem while you learn. Note that because LIGO is open source, in under for us to incorporate your work as a test case it needs to be licensed in a way that's compatible with LIGO. + +### Fuzzing (Speculative) + +In the future you'll be able to [use fuzzing](https://en.wikipedia.org/wiki/Fuzzing) to generate test cases for LIGO. Fuzzing is often useful for finding 'weird' bugs on code paths that humans normally wouldn't stumble into. This makes it a useful supplement to human testing. + +## Structure of LIGO Tests + +LIGO's OCaml-based tests are written in [alcotest](https://github.com/mirage/alcotest/). However the tests you encounter in [src/test/integration_tests.ml](https://gitlab.com/ligolang/ligo/blob/dev/src/test/integration_tests.ml) are built on top of some abstractions, currently defined in [src/test/test_helpers.ml](https://gitlab.com/ligolang/ligo/blob/dev/src/test/test_helpers.ml). The use of these can be inferred fairly well from looking at existing tests, but lets break a few of them down for analysis. We'll first analyze a short integration test for assignment: + +### Assignment Test + let assign () : unit result = + let%bind program = type_file "./contracts/assign.ligo" in + let make_expect = fun n -> n + 1 in + expect_eq_n_int program "main" make_expect + +### assign.ligo + function main (const i : int) : int is + begin + i := i + 1 ; + end with i + + +So what's going on here? We have a function which takes no arguments and returns a `unit result`. We then define two variables, a `program` which is read from disk and fed to the LIGO compiler; and a comparison function `make_expect` which takes an integer and adds one to it. Using `expect_eq_n_int` the `program`'s main function is run and compared to the result of providing the same input to `make_expect`. This gives us some flavor of what to expect from these integration tests. Notice that the `main` argument given to `expect_eq_n_int` corresponds to the name of the function in `assign.ligo`. We can see in more complex tests that we're able to pull the values of arbitrary expressions or function calls from LIGO test contracts. Consider: + +### Annotation Test + let annotation () : unit result = + let%bind program = type_file "./contracts/annotation.ligo" in + let%bind () = + expect_eq_evaluate program "lst" (e_list []) + in + let%bind () = + expect_eq_evaluate program "address" (e_address "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") + in + let%bind () = + expect_eq_evaluate program "address_2" (e_address "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") + in + ok () + +### annotation.ligo + const lst : list(int) = list [] ; + + const address : address = "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" ; + + const address_2 : address = ("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" : address) ; + +Here what's going on is similar to the last program; `expect_eq_evaluate` runs a program and then pulls a particular named value from the final program state. For example, once the program stops running the value of `address` is `"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"`. The *comparison* however is made to a constructed expression. Remember that we're testing from OCaml, but the program is written and evaluated as LIGO. In order to provide a proper comparison, we convert our expected test values into LIGO expressions and data. Constructors such as e_list and e_address provide a bridge between LIGO and OCaml. Their definitions can be found in files such as [src/stages/ast_simplified/combinators.ml](https://gitlab.com/ligolang/ligo/blob/dev/src/stages/ast_simplified/combinators.ml), or using [Merlin's definition point finder](https://github.com/ocaml/merlin/wiki). These same functions are used during the simplification stage of LIGO compilation, so becoming familiar with them will help prepare you to work on the [front end](contributors/big-picture/front-end/). + +## How To Write A Test For LIGO + +What if we want to write a test of our own? If the test is in the integration test vein (which it probably is if you're testing new syntax or features), then the process looks something like: + +1. Write a test contract which uses the new syntax or feature in [src/test/contracts](https://gitlab.com/ligolang/ligo/tree/dev/src/test/contracts). +2. Write an integration test in [src/test/integration_tests.ml](https://gitlab.com/ligolang/ligo/blob/dev/src/test/integration_tests.ml) in the vein of existing tests, make sure you add it to the test runner that is currently located at the bottom of the file. +3. Write the feature, assuming it doesn't already exist. Build the resulting version of LIGO without errors. +4. Run the test suite, see if your test(s) pass. If they do, you're probably done. If not it's time to go debugging. From de020aa28954adecca5fda7f37a392ae2627df37 Mon Sep 17 00:00:00 2001 From: Christian Rinderknecht Date: Tue, 15 Oct 2019 08:26:14 +0000 Subject: [PATCH 33/34] Update ligo_test_guide.md --- gitlab-pages/docs/contributors/ligo_test_guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab-pages/docs/contributors/ligo_test_guide.md b/gitlab-pages/docs/contributors/ligo_test_guide.md index 81d1ebe65..6b9686b4e 100644 --- a/gitlab-pages/docs/contributors/ligo_test_guide.md +++ b/gitlab-pages/docs/contributors/ligo_test_guide.md @@ -3,7 +3,7 @@ Adding to the LIGO test suite is one of the more accessible ways to contribute. It exposes you to the compiler structure and primitives without necessarily demanding a deep understanding of OCaml or compiler development. And you'll probably become more familiar with LIGO itself in the process, which is helpful. Unfortunately right now LIGO itself doesn't have a good way to do automated testing. So the tests are written in OCaml, outside of the LIGO language. Thankfully the test code is typically less demanding than the features being tested. These tests are currently contained in [src/test](https://gitlab.com/ligolang/ligo/tree/dev/src/test), but the bulk are integration tests which rely on test contracts kept in [src/test/contracts](https://gitlab.com/ligolang/ligo/tree/dev/src/test/contracts). If you're new to LIGO, reading these contracts can be a useful introduction to a given syntax. In the future we plan -to have detailed documentation for each syntax, but at the moment we only have a reference manual for [PascaLIGO](https://gitlab.com/ligolang/ligo/blob/dev/src/passes/2-simplify/pascaligo.ml) +to have detailed documentation for each syntax, but at the moment we only have a reference manual for [PascaLIGO](https://gitlab.com/ligolang/ligo/blob/dev/src/passes/1-parser/pascaligo/Doc/pascaligo.md) ## How To Find Good Test Cases From a00a83b0da38cfe06c0cd93958192d7e2d46a5ed Mon Sep 17 00:00:00 2001 From: Christian Rinderknecht Date: Tue, 15 Oct 2019 08:29:11 +0000 Subject: [PATCH 34/34] Update ligo_test_guide.md --- gitlab-pages/docs/contributors/ligo_test_guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab-pages/docs/contributors/ligo_test_guide.md b/gitlab-pages/docs/contributors/ligo_test_guide.md index 6b9686b4e..114b662c1 100644 --- a/gitlab-pages/docs/contributors/ligo_test_guide.md +++ b/gitlab-pages/docs/contributors/ligo_test_guide.md @@ -66,7 +66,7 @@ So what's going on here? We have a function which takes no arguments and returns const address_2 : address = ("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" : address) ; -Here what's going on is similar to the last program; `expect_eq_evaluate` runs a program and then pulls a particular named value from the final program state. For example, once the program stops running the value of `address` is `"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"`. The *comparison* however is made to a constructed expression. Remember that we're testing from OCaml, but the program is written and evaluated as LIGO. In order to provide a proper comparison, we convert our expected test values into LIGO expressions and data. Constructors such as e_list and e_address provide a bridge between LIGO and OCaml. Their definitions can be found in files such as [src/stages/ast_simplified/combinators.ml](https://gitlab.com/ligolang/ligo/blob/dev/src/stages/ast_simplified/combinators.ml), or using [Merlin's definition point finder](https://github.com/ocaml/merlin/wiki). These same functions are used during the simplification stage of LIGO compilation, so becoming familiar with them will help prepare you to work on the [front end](contributors/big-picture/front-end/). +Here what's going on is similar to the last program; `expect_eq_evaluate` runs a program and then pulls a particular named value from the final program state. For example, once the program stops running the value of `address` is `"tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"`. The *comparison* however is made to a constructed expression. Remember that we're testing from OCaml, but the program is written and evaluated as LIGO. In order to provide a proper comparison, we convert our expected test values into LIGO expressions and data. Constructors such as `e_list` and `e_address` provide a bridge between LIGO and OCaml. Their definitions can be found in files such as [src/stages/ast_simplified/combinators.ml](https://gitlab.com/ligolang/ligo/blob/dev/src/stages/ast_simplified/combinators.ml), or using [Merlin's definition point finder](https://github.com/ocaml/merlin/wiki). These same functions are used during the simplification stage of LIGO compilation, so becoming familiar with them will help prepare you to work on the [front end](contributors/big-picture/front-end/). ## How To Write A Test For LIGO