Merge branch 'dev' of gitlab.com:ligolang/ligo into gardening/code-comments
This commit is contained in:
commit
8a9a72b673
6
.dockerignore
Normal file
6
.dockerignore
Normal file
@ -0,0 +1,6 @@
|
||||
dist
|
||||
_opam
|
||||
_build
|
||||
docker
|
||||
gitlab-pages
|
||||
Makefile
|
@ -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
|
||||
@ -28,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
|
||||
@ -71,30 +89,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 +106,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:
|
||||
|
4
dist/.gitignore
vendored
Normal file
4
dist/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# Ignore everything in this directory
|
||||
*
|
||||
# Except this file
|
||||
!.gitignore
|
32
docker/distribution/debian/package.Dockerfile
Normal file
32
docker/distribution/debian/package.Dockerfile
Normal file
@ -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
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
@ -40,6 +40,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).
|
1
gitlab-pages/website/static/deb/.gitignore
vendored
Normal file
1
gitlab-pages/website/static/deb/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*
|
BIN
index.tar.gz
BIN
index.tar.gz
Binary file not shown.
@ -1,29 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
name: "bip39"
|
||||
version: "dev"
|
||||
maintainer: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
authors: ["Vincent Bernardoff <vb@luminar.eu.org>"]
|
||||
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"
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
version: "dev"
|
||||
opam-version: "2.0"
|
||||
name: "blake2"
|
||||
authors: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
maintainer: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
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"
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
version: "dev"
|
||||
opam-version: "2.0"
|
||||
name: "hacl"
|
||||
authors: [ "Vincent Bernardoff <vb@luminar.eu.org>" "Marco Stronati <marco@stronati.org>" ]
|
||||
maintainer: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
version: "dev"
|
||||
opam-version: "2.0"
|
||||
name: "ledgerwallet-tezos"
|
||||
authors: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
maintainer: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
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"
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
version: "dev"
|
||||
name: "ledgerwallet"
|
||||
authors: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
maintainer: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
name: "lmdb"
|
||||
version: "0.1"
|
||||
authors: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
maintainer: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
name: "ocplib-ezresto-directory"
|
||||
version: "dev"
|
||||
opam-version: "2.0"
|
||||
maintainer: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
authors: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
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"
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
name: "ocplib-ezresto"
|
||||
version: "dev"
|
||||
opam-version: "2.0"
|
||||
maintainer: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
authors: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
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"
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
name: "ocplib-json-typed-browser"
|
||||
version: "0.6"
|
||||
maintainer: "Benjamin Canou <benjamin@ocamlpro.com>"
|
||||
authors: "Benjamin Canou <benjamin@ocamlpro.com>"
|
||||
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"
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
name: "ocplib-json-typed-bson"
|
||||
version: "0.6"
|
||||
maintainer: "Benjamin Canou <benjamin@ocamlpro.com>"
|
||||
authors: "Benjamin Canou <benjamin@ocamlpro.com>"
|
||||
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"
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
name: "ocplib-json-typed"
|
||||
version: "0.6"
|
||||
maintainer: "Benjamin Canou <benjamin@ocamlpro.com>"
|
||||
authors: "Benjamin Canou <benjamin@ocamlpro.com>"
|
||||
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"
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
name: "ocplib-resto-cohttp"
|
||||
version: "dev"
|
||||
opam-version: "2.0"
|
||||
maintainer: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
authors: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
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"
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
name: "ocplib-resto-directory"
|
||||
version: "dev"
|
||||
opam-version: "2.0"
|
||||
maintainer: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
authors: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
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"
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
name: "ocplib-resto-json"
|
||||
version: "dev"
|
||||
opam-version: "2.0"
|
||||
maintainer: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
authors: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
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"
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
name: "ocplib-resto"
|
||||
version: "dev"
|
||||
opam-version: "2.0"
|
||||
maintainer: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
authors: "Grégoire Henry <gregoire.henry@tezos.com>"
|
||||
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"
|
||||
}
|
@ -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 <alfredo.beaumont@gmail.com>" "Sonia Meruelo <smeruelo@gmail.com>"]
|
||||
maintainer: ["Alfredo Beaumont <alfredo.beaumont@gmail.com>"]
|
||||
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"
|
||||
}
|
@ -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 <ligolang@gmail.com>"
|
||||
authors: "Galfour <ligolang@gmail.com>"
|
||||
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"
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
name: "secp256k1"
|
||||
version: "0.1"
|
||||
authors: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
maintainer: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
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"
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
name: "simple-utils"
|
||||
version: "dev"
|
||||
synopsis: "LIGO Utilities, to be used by other libraries"
|
||||
maintainer: "Galfour <ligolang@gmail.com>"
|
||||
authors: "Galfour <ligolang@gmail.com>"
|
||||
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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
name: "memory-proto-alpha"
|
||||
version: "dev"
|
||||
synopsis: "Tezos Protocol Alpha in memory"
|
||||
maintainer: "Galfour <ligolang@gmail.com>"
|
||||
authors: "Galfour <ligolang@gmail.com>"
|
||||
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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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 <ligolang@gmail.com>"
|
||||
authors: "Galfour <ligolang@gmail.com>"
|
||||
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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
opam-version: "2.0"
|
||||
name: "uecc"
|
||||
version: "dev"
|
||||
authors: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
maintainer: "Vincent Bernardoff <vb@luminar.eu.org>"
|
||||
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"
|
||||
}
|
@ -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 .
|
||||
|
11
scripts/distribution/generic/build.sh
Executable file
11
scripts/distribution/generic/build.sh
Executable file
@ -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" .
|
12
scripts/distribution/generic/env_variables.sh
Executable file
12
scripts/distribution/generic/env_variables.sh
Executable file
@ -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"
|
20
scripts/distribution/generic/package.sh
Executable file
20
scripts/distribution/generic/package.sh
Executable file
@ -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 --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
|
32
scripts/distribution/generic/parameters.sh
Normal file
32
scripts/distribution/generic/parameters.sh
Normal file
@ -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
|
@ -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
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -8,357 +8,455 @@ open! Region
|
||||
let sprintf = Printf.sprintf
|
||||
|
||||
let offsets = ref true
|
||||
|
||||
let mode = ref `Point
|
||||
|
||||
let compact (region: Region.t) =
|
||||
region#compact ~offsets:!offsets !mode
|
||||
|
||||
let print_nsepseq sep print (head,tail) =
|
||||
let print_nsepseq buffer sep print (head,tail) =
|
||||
let print_aux ((sep_reg:Region.t), item) =
|
||||
Printf.printf "%s: %s\n" (compact sep_reg) sep;
|
||||
print item
|
||||
in print head; List.iter print_aux tail
|
||||
let sep_line = sprintf "%s: %s\n" (compact sep_reg) sep
|
||||
in Buffer.add_string buffer sep_line;
|
||||
print buffer item
|
||||
in print buffer head; List.iter print_aux tail
|
||||
|
||||
let print_sepseq sep print = function
|
||||
let print_sepseq buffer sep print = function
|
||||
None -> ()
|
||||
| Some seq -> print_nsepseq sep print seq
|
||||
| Some seq -> print_nsepseq buffer sep print seq
|
||||
|
||||
let print_csv print = print_nsepseq "," print
|
||||
let print_csv buffer print = print_nsepseq buffer "," print
|
||||
|
||||
let print_token (reg: Region.t) conc =
|
||||
Printf.printf "%s: %s\n" (compact reg) conc
|
||||
let print_token buffer (reg: Region.t) conc =
|
||||
let line = sprintf "%s: %s\n" (compact reg) conc
|
||||
in Buffer.add_string buffer line
|
||||
|
||||
let print_var Region.{region; value} =
|
||||
Printf.printf "%s: Ident %s\n" (compact region) value
|
||||
let print_var buffer Region.{region; value} =
|
||||
let line = sprintf "%s: Ident %s\n" (compact region) value
|
||||
in Buffer.add_string buffer line
|
||||
|
||||
let print_uident Region.{region; value} =
|
||||
Printf.printf "%s: Uident %s\n" (compact region) value
|
||||
let print_pvar buffer Region.{region; value} =
|
||||
let line = sprintf "%s: PVar %s\n" (compact region) value
|
||||
in Buffer.add_string buffer line
|
||||
|
||||
let print_str Region.{region; value} =
|
||||
Printf.printf "%s: Str \"%s\"\n" (compact region) value
|
||||
let print_uident buffer Region.{region; value} =
|
||||
let line = sprintf "%s: Uident %s\n" (compact region) value
|
||||
in Buffer.add_string buffer line
|
||||
|
||||
let print_bytes Region.{region; value=lexeme, abstract} =
|
||||
Printf.printf "%s: Bytes (\"%s\", \"0x%s\")\n"
|
||||
(compact region) lexeme (Hex.to_string abstract)
|
||||
let print_str buffer Region.{region; value} =
|
||||
let line = sprintf "%s: Str \"%s\"\n" (compact region) value
|
||||
in Buffer.add_string buffer line
|
||||
|
||||
let rec print_tokens {decl;eof} =
|
||||
Utils.nseq_iter print_statement decl; print_token eof "EOF"
|
||||
let print_bytes buffer Region.{region; value=lexeme, abstract} =
|
||||
let line = sprintf "%s: Bytes (\"%s\", \"0x%s\")\n"
|
||||
(compact region) lexeme (Hex.to_string abstract)
|
||||
in Buffer.add_string buffer line
|
||||
|
||||
and print_statement = function
|
||||
let print_int buffer Region.{region; value=lex,z} =
|
||||
let line = sprintf "PInt %s (%s)" lex (Z.to_string z)
|
||||
in print_token buffer region line
|
||||
|
||||
let rec print_tokens buffer {decl;eof} =
|
||||
Utils.nseq_iter (print_statement buffer) decl;
|
||||
print_token buffer eof "EOF"
|
||||
|
||||
and print_statement buffer = function
|
||||
Let {value=kwd_let, let_binding; _} ->
|
||||
print_token kwd_let "let";
|
||||
print_let_binding let_binding
|
||||
print_token buffer kwd_let "let";
|
||||
print_let_binding buffer let_binding
|
||||
| LetEntry {value=kwd_let_entry, let_binding; _} ->
|
||||
print_token kwd_let_entry "let%entry";
|
||||
print_let_binding let_binding
|
||||
print_token buffer kwd_let_entry "let%entry";
|
||||
print_let_binding buffer let_binding
|
||||
| TypeDecl {value={kwd_type; name; eq; type_expr}; _} ->
|
||||
print_token kwd_type "type";
|
||||
print_var name;
|
||||
print_token eq "=";
|
||||
print_type_expr type_expr
|
||||
print_token buffer kwd_type "type";
|
||||
print_var buffer name;
|
||||
print_token buffer eq "=";
|
||||
print_type_expr buffer type_expr
|
||||
|
||||
and print_type_expr = function
|
||||
TProd prod -> print_cartesian prod
|
||||
| TSum {value; _} -> print_nsepseq "|" print_variant value
|
||||
| TRecord t -> print_record_type t
|
||||
| TApp app -> print_type_app app
|
||||
| TPar par -> print_type_par par
|
||||
| TAlias var -> print_var var
|
||||
| TFun t -> print_fun_type t
|
||||
and print_type_expr buffer = function
|
||||
TProd prod -> print_cartesian buffer prod
|
||||
| TSum {value; _} -> print_nsepseq buffer "|" print_variant value
|
||||
| TRecord t -> print_record_type buffer t
|
||||
| TApp app -> print_type_app buffer app
|
||||
| TPar par -> print_type_par buffer par
|
||||
| TAlias var -> print_var buffer var
|
||||
| TFun t -> print_fun_type buffer t
|
||||
|
||||
and print_fun_type {value; _} =
|
||||
and print_fun_type buffer {value; _} =
|
||||
let domain, arrow, range = value in
|
||||
print_type_expr domain;
|
||||
print_token arrow "->";
|
||||
print_type_expr range
|
||||
print_type_expr buffer domain;
|
||||
print_token buffer arrow "->";
|
||||
print_type_expr buffer range
|
||||
|
||||
and print_type_app {value; _} =
|
||||
and print_type_app buffer {value; _} =
|
||||
let type_constr, type_tuple = value in
|
||||
print_type_tuple type_tuple;
|
||||
print_var type_constr
|
||||
print_type_tuple buffer type_tuple;
|
||||
print_var buffer type_constr
|
||||
|
||||
and print_type_tuple {value; _} =
|
||||
and print_type_tuple buffer {value; _} =
|
||||
let {lpar; inside; rpar} = value in
|
||||
print_token lpar "(";
|
||||
print_nsepseq "," print_type_expr inside;
|
||||
print_token rpar ")"
|
||||
print_token buffer lpar "(";
|
||||
print_nsepseq buffer "," print_type_expr inside;
|
||||
print_token buffer rpar ")"
|
||||
|
||||
and print_type_par {value={lpar;inside=t;rpar}; _} =
|
||||
print_token lpar "(";
|
||||
print_type_expr t;
|
||||
print_token rpar ")"
|
||||
and print_type_par buffer {value={lpar;inside=t;rpar}; _} =
|
||||
print_token buffer lpar "(";
|
||||
print_type_expr buffer t;
|
||||
print_token buffer rpar ")"
|
||||
|
||||
and print_projection node =
|
||||
and print_projection buffer node =
|
||||
let {struct_name; selector; field_path} = node in
|
||||
print_var struct_name;
|
||||
print_token selector ".";
|
||||
print_nsepseq "." print_selection field_path
|
||||
print_var buffer struct_name;
|
||||
print_token buffer selector ".";
|
||||
print_nsepseq buffer "." print_selection field_path
|
||||
|
||||
and print_selection = function
|
||||
FieldName id -> print_var id
|
||||
and print_selection buffer = function
|
||||
FieldName id ->
|
||||
print_var buffer id
|
||||
| Component {value; _} ->
|
||||
let {lpar; inside; rpar} = value in
|
||||
let Region.{value=lexeme,z; region} = inside in
|
||||
print_token lpar "(";
|
||||
print_token region
|
||||
print_token buffer lpar "(";
|
||||
print_token buffer region
|
||||
(sprintf "Int %s (%s)" lexeme (Z.to_string z));
|
||||
print_token rpar ")"
|
||||
print_token buffer rpar ")"
|
||||
|
||||
and print_cartesian Region.{value;_} =
|
||||
print_nsepseq "*" print_type_expr value
|
||||
and print_cartesian buffer Region.{value;_} =
|
||||
print_nsepseq buffer "*" print_type_expr value
|
||||
|
||||
and print_variant {value = {constr; args}; _} =
|
||||
print_uident constr;
|
||||
and print_variant buffer {value = {constr; args}; _} =
|
||||
print_uident buffer constr;
|
||||
match args with
|
||||
None -> ()
|
||||
| Some (kwd_of, cartesian) ->
|
||||
print_token kwd_of "of";
|
||||
print_cartesian cartesian
|
||||
print_token buffer kwd_of "of";
|
||||
print_cartesian buffer cartesian
|
||||
|
||||
and print_record_type record_type =
|
||||
print_injection print_field_decl record_type
|
||||
and print_record_type buffer record_type =
|
||||
print_injection buffer print_field_decl record_type
|
||||
|
||||
and print_field_decl {value; _} =
|
||||
and print_field_decl buffer {value; _} =
|
||||
let {field_name; colon; field_type} = value
|
||||
in print_var field_name;
|
||||
print_token colon ":";
|
||||
print_type_expr field_type
|
||||
in print_var buffer field_name;
|
||||
print_token buffer colon ":";
|
||||
print_type_expr buffer field_type
|
||||
|
||||
and print_injection :
|
||||
'a.('a -> unit) -> 'a injection reg -> unit =
|
||||
fun print {value; _} ->
|
||||
'a.Buffer.t -> (Buffer.t -> 'a -> unit) -> 'a injection reg -> unit =
|
||||
fun buffer print {value; _} ->
|
||||
let {opening; elements; terminator; closing} = value in
|
||||
print_opening opening;
|
||||
print_sepseq ";" print elements;
|
||||
print_terminator terminator;
|
||||
print_closing closing
|
||||
print_opening buffer opening;
|
||||
print_sepseq buffer ";" print elements;
|
||||
print_terminator buffer terminator;
|
||||
print_closing buffer closing
|
||||
|
||||
and print_opening = function
|
||||
Begin region -> print_token region "begin"
|
||||
| With region -> print_token region "with"
|
||||
| LBrace region -> print_token region "{"
|
||||
| LBracket region -> print_token region "["
|
||||
and print_opening buffer = function
|
||||
Begin region -> print_token buffer region "begin"
|
||||
| With region -> print_token buffer region "with"
|
||||
| LBrace region -> print_token buffer region "{"
|
||||
| LBracket region -> print_token buffer region "["
|
||||
|
||||
and print_closing = function
|
||||
End region -> print_token region "end"
|
||||
| RBrace region -> print_token region "}"
|
||||
| RBracket region -> print_token region "]"
|
||||
and print_closing buffer = function
|
||||
End region -> print_token buffer region "end"
|
||||
| RBrace region -> print_token buffer region "}"
|
||||
| RBracket region -> print_token buffer region "]"
|
||||
|
||||
and print_terminator = function
|
||||
Some semi -> print_token semi ";"
|
||||
and print_terminator buffer = function
|
||||
Some semi -> print_token buffer semi ";"
|
||||
| None -> ()
|
||||
|
||||
and print_let_binding {bindings; lhs_type; eq; let_rhs} =
|
||||
List.iter print_pattern bindings;
|
||||
(match lhs_type with
|
||||
None -> ()
|
||||
| Some (colon, type_expr) ->
|
||||
print_token colon ":";
|
||||
print_type_expr type_expr);
|
||||
(print_token eq "="; print_expr let_rhs)
|
||||
and print_let_binding buffer {bindings; lhs_type; eq; let_rhs} =
|
||||
let () = List.iter (print_pattern buffer) bindings in
|
||||
let () =
|
||||
match lhs_type with
|
||||
None -> ()
|
||||
| Some (colon, type_expr) ->
|
||||
print_token buffer colon ":";
|
||||
print_type_expr buffer type_expr in
|
||||
let () = print_token buffer eq "="
|
||||
in print_expr buffer let_rhs
|
||||
|
||||
and print_pattern = function
|
||||
PTuple {value=patterns;_} -> print_csv print_pattern patterns
|
||||
| PList p -> print_list_pattern p
|
||||
| PVar {region; value} ->
|
||||
Printf.printf "%s: PVar %s\n" (compact region) value
|
||||
and print_pattern buffer = function
|
||||
PTuple {value=patterns;_} ->
|
||||
print_csv buffer print_pattern patterns
|
||||
| PList p ->
|
||||
print_list_pattern buffer p
|
||||
| PVar v ->
|
||||
print_pvar buffer v
|
||||
| PUnit {value=lpar,rpar; _} ->
|
||||
print_token lpar "("; print_token rpar ")"
|
||||
| PInt {region; value=lex,z} ->
|
||||
print_token region (sprintf "PInt %s (%s)" lex (Z.to_string z))
|
||||
| PTrue kwd_true -> print_token kwd_true "true"
|
||||
| PFalse kwd_false -> print_token kwd_false "false"
|
||||
| PString s -> print_str s
|
||||
| PWild wild -> print_token wild "_"
|
||||
print_token buffer lpar "(";
|
||||
print_token buffer rpar ")"
|
||||
| PInt i ->
|
||||
print_int buffer i
|
||||
| PTrue kwd_true ->
|
||||
print_token buffer kwd_true "true"
|
||||
| PFalse kwd_false ->
|
||||
print_token buffer kwd_false "false"
|
||||
| PString s ->
|
||||
print_str buffer s
|
||||
| PWild wild ->
|
||||
print_token buffer wild "_"
|
||||
| PPar {value={lpar;inside=p;rpar}; _} ->
|
||||
print_token lpar "("; print_pattern p; print_token rpar ")"
|
||||
| PConstr p -> print_constr_pattern p
|
||||
| PRecord r -> print_record_pattern r
|
||||
| PTyped t -> print_typed_pattern t
|
||||
print_token buffer lpar "(";
|
||||
print_pattern buffer p;
|
||||
print_token buffer rpar ")"
|
||||
| PConstr p ->
|
||||
print_constr_pattern buffer p
|
||||
| PRecord r ->
|
||||
print_record_pattern buffer r
|
||||
| PTyped t ->
|
||||
print_typed_pattern buffer t
|
||||
|
||||
and print_list_pattern = function
|
||||
Sugar p -> print_injection print_pattern p
|
||||
| PCons p -> print_raw p
|
||||
and print_list_pattern buffer = function
|
||||
Sugar p -> print_injection buffer print_pattern p
|
||||
| PCons p -> print_raw buffer p
|
||||
|
||||
and print_raw {value=p1,c,p2; _} =
|
||||
print_pattern p1; print_token c "::"; print_pattern p2
|
||||
and print_raw buffer {value=p1,c,p2; _} =
|
||||
print_pattern buffer p1;
|
||||
print_token buffer c "::";
|
||||
print_pattern buffer p2
|
||||
|
||||
and print_typed_pattern {value; _} =
|
||||
and print_typed_pattern buffer {value; _} =
|
||||
let {pattern; colon; type_expr} = value in
|
||||
print_pattern pattern;
|
||||
print_token colon ":";
|
||||
print_type_expr type_expr
|
||||
print_pattern buffer pattern;
|
||||
print_token buffer colon ":";
|
||||
print_type_expr buffer type_expr
|
||||
|
||||
and print_record_pattern record_pattern =
|
||||
print_injection print_field_pattern record_pattern
|
||||
and print_record_pattern buffer record_pattern =
|
||||
print_injection buffer print_field_pattern record_pattern
|
||||
|
||||
and print_field_pattern {value; _} =
|
||||
and print_field_pattern buffer {value; _} =
|
||||
let {field_name; eq; pattern} = value in
|
||||
print_var field_name;
|
||||
print_token eq "=";
|
||||
print_pattern pattern
|
||||
print_var buffer field_name;
|
||||
print_token buffer eq "=";
|
||||
print_pattern buffer pattern
|
||||
|
||||
and print_constr_pattern {value=constr, p_opt; _} =
|
||||
print_uident constr;
|
||||
and print_constr_pattern buffer {value=constr, p_opt; _} =
|
||||
print_uident buffer constr;
|
||||
match p_opt with
|
||||
None -> ()
|
||||
| Some pattern -> print_pattern pattern
|
||||
| Some pattern -> print_pattern buffer pattern
|
||||
|
||||
and print_expr = function
|
||||
ELetIn {value;_} -> print_let_in value
|
||||
| ECond cond -> print_conditional cond
|
||||
| ETuple {value;_} -> print_csv print_expr value
|
||||
| ECase {value;_} -> print_match_expr value
|
||||
| EFun e -> print_fun_expr e
|
||||
and print_expr buffer = function
|
||||
ELetIn {value;_} -> print_let_in buffer value
|
||||
| ECond cond -> print_conditional buffer cond
|
||||
| ETuple {value;_} -> print_csv buffer print_expr value
|
||||
| ECase {value;_} -> print_match_expr buffer value
|
||||
| EFun e -> print_fun_expr buffer e
|
||||
|
||||
| EAnnot e -> print_annot_expr e
|
||||
| ELogic e -> print_logic_expr e
|
||||
| EArith e -> print_arith_expr e
|
||||
| EString e -> print_string_expr e
|
||||
| EAnnot e -> print_annot_expr buffer e
|
||||
| ELogic e -> print_logic_expr buffer e
|
||||
| EArith e -> print_arith_expr buffer e
|
||||
| EString e -> print_string_expr buffer e
|
||||
|
||||
| ECall {value=f,l; _} ->
|
||||
print_expr f; Utils.nseq_iter print_expr l
|
||||
| EVar v -> print_var v
|
||||
| EProj p -> print_projection p.value
|
||||
print_expr buffer f;
|
||||
Utils.nseq_iter (print_expr buffer) l
|
||||
| EVar v ->
|
||||
print_var buffer v
|
||||
| EProj p ->
|
||||
print_projection buffer p.value
|
||||
| EUnit {value=lpar,rpar; _} ->
|
||||
print_token lpar "("; print_token rpar ")"
|
||||
| EBytes b -> print_bytes b
|
||||
print_token buffer lpar "(";
|
||||
print_token buffer rpar ")"
|
||||
| EBytes b ->
|
||||
print_bytes buffer b
|
||||
| EPar {value={lpar;inside=e;rpar}; _} ->
|
||||
print_token lpar "("; print_expr e; print_token rpar ")"
|
||||
| EList e -> print_list_expr e
|
||||
| ESeq seq -> print_sequence seq
|
||||
| ERecord e -> print_record_expr e
|
||||
| EConstr {value=constr,None; _} -> print_uident constr
|
||||
print_token buffer lpar "(";
|
||||
print_expr buffer e;
|
||||
print_token buffer rpar ")"
|
||||
| EList e ->
|
||||
print_list_expr buffer e
|
||||
| ESeq seq ->
|
||||
print_sequence buffer seq
|
||||
| ERecord e ->
|
||||
print_record_expr buffer e
|
||||
| EConstr {value=constr,None; _} ->
|
||||
print_uident buffer constr
|
||||
| EConstr {value=(constr, Some arg); _} ->
|
||||
print_uident constr; print_expr arg
|
||||
print_uident buffer constr;
|
||||
print_expr buffer arg
|
||||
|
||||
and print_annot_expr {value=e,t; _} =
|
||||
print_expr e;
|
||||
print_token Region.ghost ":";
|
||||
print_type_expr t
|
||||
and print_annot_expr buffer {value=e,t; _} =
|
||||
print_expr buffer e;
|
||||
print_token buffer Region.ghost ":";
|
||||
print_type_expr buffer t
|
||||
|
||||
and print_list_expr = function
|
||||
and print_list_expr buffer = function
|
||||
Cons {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1;
|
||||
print_token op "::";
|
||||
print_expr arg2
|
||||
| List e -> print_injection print_expr e
|
||||
(*| Append {value=e1,append,e2; _} ->
|
||||
print_expr e1;
|
||||
print_token append "@";
|
||||
print_expr e2 *)
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "::";
|
||||
print_expr buffer arg2
|
||||
| List e -> print_injection buffer print_expr e
|
||||
(*
|
||||
| Append {value=e1,append,e2; _} ->
|
||||
print_expr buffer e1;
|
||||
print_token buffer append "@";
|
||||
print_expr buffer e2
|
||||
*)
|
||||
|
||||
and print_arith_expr = function
|
||||
and print_arith_expr buffer = function
|
||||
Add {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "+"; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "+";
|
||||
print_expr buffer arg2
|
||||
| Sub {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "-"; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "-";
|
||||
print_expr buffer arg2
|
||||
| Mult {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "*"; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "*";
|
||||
print_expr buffer arg2
|
||||
| Div {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "/"; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "/";
|
||||
print_expr buffer arg2
|
||||
| Mod {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "mod"; print_expr arg2
|
||||
| Neg {value={op;arg}; _} -> print_token op "-"; print_expr arg
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "mod";
|
||||
print_expr buffer arg2
|
||||
| Neg {value={op;arg}; _} ->
|
||||
print_token buffer op "-";
|
||||
print_expr buffer arg
|
||||
| Int {region; value=lex,z} ->
|
||||
print_token region (sprintf "Int %s (%s)" lex (Z.to_string z))
|
||||
let line = sprintf "Int %s (%s)" lex (Z.to_string z)
|
||||
in print_token buffer region line
|
||||
| Mtz {region; value=lex,z} ->
|
||||
print_token region (sprintf "Mtz %s (%s)" lex (Z.to_string z))
|
||||
let line = sprintf "Mtz %s (%s)" lex (Z.to_string z)
|
||||
in print_token buffer region line
|
||||
| Nat {region; value=lex,z} ->
|
||||
print_token region (sprintf "Nat %s (%s)" lex (Z.to_string z))
|
||||
let line = sprintf "Nat %s (%s)" lex (Z.to_string z)
|
||||
in print_token buffer region line
|
||||
|
||||
and print_string_expr = function
|
||||
and print_string_expr buffer = function
|
||||
Cat {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "^"; print_expr arg2
|
||||
| String s -> print_str s
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "^";
|
||||
print_expr buffer arg2
|
||||
| String s ->
|
||||
print_str buffer s
|
||||
|
||||
and print_logic_expr = function
|
||||
BoolExpr e -> print_bool_expr e
|
||||
| CompExpr e -> print_comp_expr e
|
||||
and print_logic_expr buffer = function
|
||||
BoolExpr e -> print_bool_expr buffer e
|
||||
| CompExpr e -> print_comp_expr buffer e
|
||||
|
||||
and print_bool_expr = function
|
||||
and print_bool_expr buffer = function
|
||||
Or {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "||"; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "||";
|
||||
print_expr buffer arg2
|
||||
| And {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "&&"; print_expr arg2
|
||||
| Not {value={op;arg}; _} -> print_token op "not"; print_expr arg
|
||||
| True kwd_true -> print_token kwd_true "true"
|
||||
| False kwd_false -> print_token kwd_false "false"
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "&&";
|
||||
print_expr buffer arg2
|
||||
| Not {value={op;arg}; _} ->
|
||||
print_token buffer op "not";
|
||||
print_expr buffer arg
|
||||
| True kwd_true ->
|
||||
print_token buffer kwd_true "true"
|
||||
| False kwd_false ->
|
||||
print_token buffer kwd_false "false"
|
||||
|
||||
and print_comp_expr = function
|
||||
and print_comp_expr buffer = function
|
||||
Lt {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "<"; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "<";
|
||||
print_expr buffer arg2
|
||||
| Leq {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "<="; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "<=";
|
||||
print_expr buffer arg2
|
||||
| Gt {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op ">"; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op ">";
|
||||
print_expr buffer arg2
|
||||
| Geq {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op ">="; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op ">=";
|
||||
print_expr buffer arg2
|
||||
| Neq {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "<>"; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "<>";
|
||||
print_expr buffer arg2
|
||||
| Equal {value={arg1;op;arg2}; _} ->
|
||||
print_expr arg1; print_token op "="; print_expr arg2
|
||||
print_expr buffer arg1;
|
||||
print_token buffer op "=";
|
||||
print_expr buffer arg2
|
||||
|
||||
and print_record_expr e =
|
||||
print_injection print_field_assign e
|
||||
and print_record_expr buffer e =
|
||||
print_injection buffer print_field_assign e
|
||||
|
||||
and print_field_assign {value; _} =
|
||||
and print_field_assign buffer {value; _} =
|
||||
let {field_name; assignment; field_expr} = value in
|
||||
print_var field_name;
|
||||
print_token assignment "=";
|
||||
print_expr field_expr
|
||||
print_var buffer field_name;
|
||||
print_token buffer assignment "=";
|
||||
print_expr buffer field_expr
|
||||
|
||||
and print_sequence seq = print_injection print_expr seq
|
||||
and print_sequence buffer seq =
|
||||
print_injection buffer print_expr seq
|
||||
|
||||
and print_match_expr expr =
|
||||
and print_match_expr buffer expr =
|
||||
let {kwd_match; expr; opening;
|
||||
lead_vbar; cases; closing} = expr in
|
||||
print_token kwd_match "match";
|
||||
print_expr expr;
|
||||
print_opening opening;
|
||||
print_token_opt lead_vbar "|";
|
||||
print_cases cases;
|
||||
print_closing closing
|
||||
print_token buffer kwd_match "match";
|
||||
print_expr buffer expr;
|
||||
print_opening buffer opening;
|
||||
print_token_opt buffer lead_vbar "|";
|
||||
print_cases buffer cases;
|
||||
print_closing buffer closing
|
||||
|
||||
and print_token_opt = function
|
||||
and print_token_opt buffer = function
|
||||
None -> fun _ -> ()
|
||||
| Some region -> print_token region
|
||||
| Some region -> print_token buffer region
|
||||
|
||||
and print_cases {value; _} =
|
||||
print_nsepseq "|" print_case_clause value
|
||||
and print_cases buffer {value; _} =
|
||||
print_nsepseq buffer "|" print_case_clause value
|
||||
|
||||
and print_case_clause {value; _} =
|
||||
and print_case_clause buffer {value; _} =
|
||||
let {pattern; arrow; rhs} = value in
|
||||
print_pattern pattern;
|
||||
print_token arrow "->";
|
||||
print_expr rhs
|
||||
print_pattern buffer pattern;
|
||||
print_token buffer arrow "->";
|
||||
print_expr buffer rhs
|
||||
|
||||
and print_let_in (bind: let_in) =
|
||||
and print_let_in buffer (bind: let_in) =
|
||||
let {kwd_let; binding; kwd_in; body} = bind in
|
||||
print_token kwd_let "let";
|
||||
print_let_binding binding;
|
||||
print_token kwd_in "in";
|
||||
print_expr body
|
||||
print_token buffer kwd_let "let";
|
||||
print_let_binding buffer binding;
|
||||
print_token buffer kwd_in "in";
|
||||
print_expr buffer body
|
||||
|
||||
and print_fun_expr {value; _} =
|
||||
and print_fun_expr buffer {value; _} =
|
||||
let {kwd_fun; params; p_annot; arrow; body} = value in
|
||||
print_token kwd_fun "fun";
|
||||
(match p_annot with
|
||||
None -> List.iter print_pattern params
|
||||
| Some (colon, type_expr) ->
|
||||
print_token colon ":";
|
||||
print_type_expr type_expr);
|
||||
print_token arrow "->";
|
||||
print_expr body
|
||||
let () = print_token buffer kwd_fun "fun" in
|
||||
let () =
|
||||
match p_annot with
|
||||
None -> List.iter (print_pattern buffer) params
|
||||
| Some (colon, type_expr) ->
|
||||
print_token buffer colon ":";
|
||||
print_type_expr buffer type_expr in
|
||||
let () =
|
||||
print_token buffer arrow "->"
|
||||
in print_expr buffer body
|
||||
|
||||
and print_conditional {value; _} =
|
||||
let {kwd_if; test; kwd_then; ifso; kwd_else; ifnot} = value
|
||||
in print_token ghost "(";
|
||||
print_token kwd_if "if";
|
||||
print_expr test;
|
||||
print_token kwd_then "then";
|
||||
print_expr ifso;
|
||||
print_token kwd_else "else";
|
||||
print_expr ifnot;
|
||||
print_token ghost ")"
|
||||
and print_conditional buffer {value; _} =
|
||||
let {kwd_if; test; kwd_then;
|
||||
ifso; kwd_else; ifnot} = value in
|
||||
print_token buffer ghost "(";
|
||||
print_token buffer kwd_if "if";
|
||||
print_expr buffer test;
|
||||
print_token buffer kwd_then "then";
|
||||
print_expr buffer ifso;
|
||||
print_token buffer kwd_else "else";
|
||||
print_expr buffer ifnot;
|
||||
print_token buffer ghost ")"
|
||||
|
||||
(* Conversion to string *)
|
||||
|
||||
let to_string printer node =
|
||||
let buffer = Buffer.create 131 in
|
||||
let () = printer buffer node
|
||||
in Buffer.contents buffer
|
||||
|
||||
let tokens_to_string = to_string print_tokens
|
||||
let pattern_to_string = to_string print_pattern
|
||||
let expr_to_string = to_string print_expr
|
||||
|
@ -10,13 +10,10 @@ val mode : [`Byte | `Point] ref
|
||||
the AST to be unparsed before printing (those nodes that have been
|
||||
normalised with function [norm_let] and [norm_fun]). *)
|
||||
|
||||
val print_tokens : AST.t -> unit
|
||||
val print_tokens : Buffer.t -> AST.t -> unit
|
||||
val print_pattern : Buffer.t -> AST.pattern -> unit
|
||||
val print_expr : Buffer.t -> AST.expr -> unit
|
||||
|
||||
(* val print_path : AST.path -> unit *)
|
||||
val print_pattern : AST.pattern -> unit
|
||||
val print_expr : AST.expr -> unit
|
||||
(* val print_instruction : AST.instruction -> unit *)
|
||||
|
||||
(* val print_projection : projection -> unit
|
||||
val print_pattern : pattern -> unit
|
||||
val print_expr : expr -> unit *)
|
||||
val tokens_to_string : AST.t -> string
|
||||
val pattern_to_string : AST.pattern -> string
|
||||
val expr_to_string : AST.expr -> string
|
||||
|
@ -103,10 +103,12 @@ let () =
|
||||
try
|
||||
let ast = Parser.contract tokeniser buffer in
|
||||
if Utils.String.Set.mem "ast" options.verbose
|
||||
then begin
|
||||
then let buffer = Buffer.create 131 in
|
||||
begin
|
||||
ParserLog.offsets := options.offsets;
|
||||
ParserLog.mode := options.mode;
|
||||
ParserLog.print_tokens ast
|
||||
ParserLog.print_tokens buffer ast;
|
||||
Buffer.output_buffer stdout buffer
|
||||
end
|
||||
with
|
||||
Lexer.Error err ->
|
||||
|
@ -1,13 +0,0 @@
|
||||
type storage = int
|
||||
|
||||
type param =
|
||||
Add of int
|
||||
| Sub of int
|
||||
|
||||
let%entry main (p : param) storage =
|
||||
let storage =
|
||||
storage +
|
||||
(match p with
|
||||
Add n -> n
|
||||
| Sub n -> 0-n)
|
||||
in (([] : operation list), storage)
|
File diff suppressed because it is too large
Load Diff
@ -3,8 +3,12 @@
|
||||
val offsets : bool ref
|
||||
val mode : [`Byte | `Point] ref
|
||||
|
||||
val print_tokens : AST.t -> unit
|
||||
val print_tokens : Buffer.t -> AST.t -> unit
|
||||
val print_path : Buffer.t -> AST.path -> unit
|
||||
val print_pattern : Buffer.t -> AST.pattern -> unit
|
||||
val print_instruction : Buffer.t -> AST.instruction -> unit
|
||||
|
||||
val print_path : AST.path -> unit
|
||||
val print_pattern : AST.pattern -> unit
|
||||
val print_instruction : AST.instruction -> unit
|
||||
val tokens_to_string : AST.t -> string
|
||||
val path_to_string : AST.path -> string
|
||||
val pattern_to_string : AST.pattern -> string
|
||||
val instruction_to_string : AST.instruction -> string
|
||||
|
@ -103,10 +103,12 @@ let () =
|
||||
try
|
||||
let ast = Parser.contract tokeniser buffer in
|
||||
if Utils.String.Set.mem "ast" options.verbose
|
||||
then begin
|
||||
then let buffer = Buffer.create 131 in
|
||||
begin
|
||||
ParserLog.offsets := options.offsets;
|
||||
ParserLog.mode := options.mode;
|
||||
ParserLog.print_tokens ast
|
||||
ParserLog.print_tokens buffer ast;
|
||||
Buffer.output_buffer stdout buffer
|
||||
end
|
||||
with
|
||||
Lexer.Error err ->
|
||||
|
@ -105,10 +105,12 @@ let () =
|
||||
try
|
||||
let ast = Parser.contract tokeniser buffer in
|
||||
if Utils.String.Set.mem "ast" options.verbose
|
||||
then begin
|
||||
ParserLog.offsets := options.offsets;
|
||||
ParserLog.mode := options.mode;
|
||||
ParserLog.print_tokens ast
|
||||
then let buffer = Buffer.create 131
|
||||
in begin
|
||||
ParserLog.offsets := options.offsets;
|
||||
ParserLog.mode := options.mode;
|
||||
ParserLog.print_tokens buffer ast;
|
||||
Buffer.output_buffer stdout buffer
|
||||
end
|
||||
with
|
||||
Lexer.Error err ->
|
||||
|
@ -50,6 +50,6 @@ function withdraw (var store : store) : list (operation) * store is
|
||||
operations := list [Transfer (owner, balance)];
|
||||
};
|
||||
else failwith ("Below target.")
|
||||
else fail "Too soon.";
|
||||
else failwith ("Too soon.");
|
||||
else skip
|
||||
end with (operations, store)
|
||||
|
@ -121,7 +121,7 @@ module Errors = struct
|
||||
let message () = "" in
|
||||
let data = [
|
||||
("expression" ,
|
||||
thunk @@ Format.asprintf "%a" PP_helpers.(printer Parser.Ligodity.ParserLog.print_expr) t)
|
||||
thunk @@ Parser.Ligodity.ParserLog.expr_to_string t)
|
||||
] in
|
||||
error ~data title message
|
||||
|
||||
@ -751,7 +751,8 @@ and simpl_cases : type a . (Raw.pattern * a) list -> a matching result =
|
||||
let error x =
|
||||
let title () = "Pattern" in
|
||||
let content () =
|
||||
Format.asprintf "Pattern : %a" (PP_helpers.printer Parser.Ligodity.ParserLog.print_pattern) x in
|
||||
Printf.sprintf "Pattern : %s"
|
||||
(Parser.Ligodity.ParserLog.pattern_to_string x) in
|
||||
error title content
|
||||
in
|
||||
let as_variant () =
|
||||
@ -770,7 +771,7 @@ and simpl_cases : type a . (Raw.pattern * a) list -> a matching result =
|
||||
ok @@ Match_variant constrs
|
||||
in
|
||||
let as_option () =
|
||||
let aux (x , y) =
|
||||
let aux (x , y) =
|
||||
let%bind x' =
|
||||
trace (error x) @@
|
||||
get_constr_opt x
|
||||
|
@ -108,17 +108,6 @@ module Errors = struct
|
||||
] in
|
||||
error ~data title message
|
||||
|
||||
let unsupported_deep_map_assign v =
|
||||
let title () = "map assignments" in
|
||||
let message () =
|
||||
Format.asprintf "assignments to embedded maps are not \
|
||||
supported yet" in
|
||||
let data = [
|
||||
("lhs_loc",
|
||||
fun () -> Format.asprintf "%a" Location.pp_lift @@ v.Region.region)
|
||||
] in
|
||||
error ~data title message
|
||||
|
||||
let unsupported_empty_record_patch record_expr =
|
||||
let title () = "empty record patch" in
|
||||
let message () =
|
||||
@ -129,54 +118,9 @@ 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 () =
|
||||
Format.asprintf "set 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_deep_map_rm path =
|
||||
let title () = "binding removals" in
|
||||
let message () =
|
||||
Format.asprintf "removal of bindings from embedded maps \
|
||||
are 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_set_removal remove =
|
||||
let unsupported_deep_set_rm path =
|
||||
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 () =
|
||||
Format.asprintf "removal of members from embedded sets is not supported yet" in
|
||||
let data = [
|
||||
("path_loc",
|
||||
@ -216,7 +160,7 @@ module Errors = struct
|
||||
("pattern_loc",
|
||||
fun () -> Format.asprintf "%a" Location.pp_lift @@ pattern_loc) ;
|
||||
("pattern",
|
||||
fun () -> Format.asprintf "%a" (Simple_utils.PP_helpers.printer Parser.Pascaligo.ParserLog.print_pattern) p) ;
|
||||
fun () -> Parser.Pascaligo.ParserLog.pattern_to_string p)
|
||||
] in
|
||||
error ~data title message
|
||||
|
||||
@ -260,7 +204,7 @@ module Errors = struct
|
||||
let message () = "" in
|
||||
let data = [
|
||||
("instruction",
|
||||
fun () -> Format.asprintf "%a" PP_helpers.(printer Parser.Pascaligo.ParserLog.print_instruction) t)
|
||||
fun () -> Parser.Pascaligo.ParserLog.instruction_to_string t)
|
||||
] in
|
||||
error ~data title message
|
||||
end
|
||||
@ -790,13 +734,16 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu
|
||||
)
|
||||
| MapPath v -> (
|
||||
let v' = v.value in
|
||||
let%bind name = match v'.path with
|
||||
| Name name -> ok name
|
||||
| _ -> fail @@ unsupported_deep_map_assign v in
|
||||
let%bind (varname,map,path) = match v'.path with
|
||||
| Name name -> ok (name.value , e_variable name.value, [])
|
||||
| Path p ->
|
||||
let (name,p') = simpl_path v'.path in
|
||||
let%bind accessor = simpl_projection p in
|
||||
ok @@ (name , accessor , p')
|
||||
in
|
||||
let%bind key_expr = simpl_expression v'.index.value.inside in
|
||||
let old_expr = e_variable name.value in
|
||||
let expr' = e_map_add key_expr value_expr old_expr in
|
||||
return_statement @@ e_assign ~loc name.value [] expr'
|
||||
let expr' = e_map_add key_expr value_expr map in
|
||||
return_statement @@ e_assign ~loc varname path expr'
|
||||
)
|
||||
)
|
||||
| CaseInstr c -> (
|
||||
@ -836,25 +783,65 @@ and simpl_single_instruction : Raw.single_instr -> (_ -> expression result) resu
|
||||
in
|
||||
return_statement @@ expr
|
||||
)
|
||||
| MapPatch patch ->
|
||||
fail @@ unsupported_map_patches patch
|
||||
| SetPatch patch ->
|
||||
fail @@ unsupported_set_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 = 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 @@ (key', value')
|
||||
)
|
||||
@@ pseq_to_list map_p.map_inj.value.elements in
|
||||
let expr =
|
||||
match inj with
|
||||
| [] -> e_skip ~loc ()
|
||||
| _ :: _ ->
|
||||
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
|
||||
)
|
||||
| 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 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_accessor ~loc (e_variable name) access_path) in
|
||||
e_assign ~loc name access_path assigns in
|
||||
return_statement @@ expr
|
||||
)
|
||||
| MapRemove r -> (
|
||||
let (v , loc) = r_split r in
|
||||
let key = v.key in
|
||||
let%bind map = match v.map with
|
||||
| Name v -> ok v.value
|
||||
| Path path -> fail @@ unsupported_deep_map_rm path in
|
||||
let%bind (varname,map,path) = match v.map with
|
||||
| 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
|
||||
ok @@ (name , accessor , p')
|
||||
in
|
||||
let%bind key' = simpl_expression key in
|
||||
let expr = e_constant ~loc "MAP_REMOVE" [key' ; e_variable map] in
|
||||
return_statement @@ e_assign ~loc map [] expr
|
||||
let expr = e_constant ~loc "MAP_REMOVE" [key' ; map] in
|
||||
return_statement @@ e_assign ~loc varname path expr
|
||||
)
|
||||
| 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
|
||||
| Path path -> fail @@ unsupported_deep_set_rm path 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
|
||||
@ -956,7 +943,8 @@ and simpl_cases : type a . (Raw.pattern * a) list -> a matching result = fun t -
|
||||
let error =
|
||||
let title () = "Pattern" in
|
||||
let content () =
|
||||
Format.asprintf "Pattern : %a" (PP_helpers.printer Parser.Pascaligo.ParserLog.print_pattern) x in
|
||||
Printf.sprintf "Pattern : %s"
|
||||
(Parser.Pascaligo.ParserLog.pattern_to_string x) in
|
||||
error title content in
|
||||
let%bind x' =
|
||||
trace error @@
|
||||
|
@ -438,11 +438,15 @@ 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 ->
|
||||
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 ->
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user