Commit Graph

802 Commits

Author SHA1 Message Date
Benjamin Canou
154578827f Update CHANGES file 2017-12-11 15:38:16 +01:00
Benjamin Canou
6df701def2 Tests: add tests for tez constants parsing 2017-12-08 11:08:13 +00:00
Benjamin Canou
bf276fb017 Michelson: make parsing tests compile again 2017-12-08 11:08:13 +00:00
Benjamin Canou
fe04a872df Remove unused file 2017-12-08 11:08:12 +00:00
Pietro Abate
174ea10d6d Alpha: Add 4 more decimals to tez representation.
Now a tez cent is 10_000L. All constants are now in the
Constants_repr module and expressed as multiples of one_cent.

Add new function Qty_repr.mul_exn to multiply `tez` by `int`
  eg. `10 tez = Tez_repr.(mul_exn one 10)`
      `10 cents = Tez_repr.(mul_exn one_cents 10)`

Remove `Tez.{to,of}_cents` and replace them with `Tez.{to,of}_mutez`.
2017-12-08 11:08:12 +00:00
Milo Davis
a67de99ddb Docs: add Michelson anti-patterns (work in progress) 2017-12-08 11:48:57 +01:00
Grégoire Henry
3a2b8904e5 CI: allow separate compilation of each opam package 2017-12-08 02:50:03 +01:00
Grégoire Henry
3ee46c59be CI: add support for opam2-beta5 2017-12-08 02:50:03 +01:00
Grégoire Henry
de5935228f Opam: remove tezos-deps.opam
All dependencies are now inlined in the various opam packages.
2017-12-08 02:50:03 +01:00
Grégoire Henry
d8d54ce321 Jbuilder: install tezos-sandboxed-node.sh/tezos-init-sandboxed-client.sh 2017-12-08 02:50:03 +01:00
Grégoire Henry
be04cb027b Opam: pin external dev packages
This is temporary, we should either: release new version and stop
using development version; or import sources in the tezos-repo (and
compile them with jbuilder, especially sodium (or part of it) if it is
not maintened anymore.
2017-12-08 02:50:03 +01:00
Grégoire Henry
38ca0b8ad0 Opam: add compiler version contraints 2017-12-08 02:50:03 +01:00
Grégoire Henry
d2708740c8 Opam: fix some dependencies and add some scripts/opam-*.sh.
Installation:

   `./scripts/opam-pin.sh && opam install tezos-node tezos-client`

Upgrade installed packages after a `git pull` (opam2 only):

   `./scripts/opam-upgrade.sh`

Remove and cleanup every from the opam repo:

   `./scripts/opam-unpin.sh`
2017-12-08 02:50:03 +01:00
Grégoire Henry
2471232766 Jbuilder: remove spurious file 2017-12-08 02:50:03 +01:00
Grégoire Henry
ab77eb250e Resto/Jbuilder: fix test packaging 2017-12-08 02:50:03 +01:00
Arthur B
f480d730e1 Alpha: do not include duplicate endorsements 2017-12-07 16:08:07 +01:00
Benjamin Canou
264b950f39 Export Error_monad.fail_when to the protocol 2017-12-07 16:08:07 +01:00
Vincent Bernardoff
e3e59f22be Client: better error message for RPC connection failed
Also some rewording.
2017-12-05 23:56:47 +01:00
Grégoire Henry
c7729a07f7 Jbuilder: use a jbuild template for compiling protocols
The template is located in `lib_protocol_compiler` so it is be
updated whenever the `tezos-protocol-compiler` is updated.
2017-12-05 18:52:44 +01:00
Grégoire Henry
da87aaadc5 Base: move Protocol.Meta from lib_protocol_compiler to lib_base 2017-12-05 18:52:44 +01:00
Grégoire Henry
a505b54287 CI: fix dependency caching 2017-12-05 18:52:44 +01:00
Grégoire Henry
7807f7aa4d Context: switch to blake2B
Get rid of the old SHA1 that was used by git...
2017-12-05 15:34:07 +00:00
Benjamin Canou
61984d6edd Michelson macros: even more error handling 2017-12-05 15:50:56 +01:00
Milo Davis
76e70a2799 Michelson macros: annotations permitted and better error handling 2017-12-05 12:08:54 +01:00
Milo Davis
ae2959b91c Client library refactor 2017-12-04 19:27:30 +01:00
Milo Davis
0e2ed6f133 Removes -force global argument 2017-12-04 19:27:30 +01:00
Benjamin Canou
9cb50f01b2 P2P: ignore spurious SIGPIPE signals 2017-12-04 19:27:30 +01:00
Benjamin Canou
0967c7fde7 Tests: cleanup P2P tests output 2017-12-04 19:27:30 +01:00
Grégoire Henry
d3f91f05a2 Fix CI for new repository structure 2017-12-04 19:27:30 +01:00
Grégoire Henry
82857dcb94 Jbuilder: split lib_node_net
- `lib_node_p2p_base`: Base datatypes for the P2P layers
- `lib_node_services`: RPC service definitions (depends on `node_p2p_base`)
- `lib_node_http`: RPC http server
- `lib_node_p2p`: the P2P workers
2017-12-04 19:15:26 +01:00
Grégoire Henry
3f354e7d78 Jbuildet: tezos-node-db -> tezos-storage 2017-12-04 19:15:26 +01:00
Grégoire Henry
ab5b597eb1 Jbuilder: Move client & node libraries in their own OPAM packages 2017-12-04 19:15:26 +01:00
Benjamin Canou
cecd042daa Move Michelson specification to /docs 2017-12-04 19:15:26 +01:00
Grégoire Henry
9cb498eee6 Jbuilder: Move alpha/genesis/demo in their own two OPAM packages
One package for the embedded version. One for the functorized one.
2017-12-04 16:05:54 +01:00
Grégoire Henry
78d838059f Jbuilder: move protocol-compiler in its own OPAM package 2017-12-04 16:05:54 +01:00
Grégoire Henry
e24b1dda75 Jbuilder: move protocol_environment_sigs in its own OPAM package 2017-12-04 16:05:54 +01:00
Grégoire Henry
92d166175f Jbuilder: move Micheline in its own OPAM package 2017-12-04 16:05:54 +01:00
Grégoire Henry
b6449cae87 Jbuilder: split src/utils/ in multiple OPAM packages
* `lib_stdlib`: basic extended OCaml stdlib and generic data structures

* `lib_data_encoding`: almost independant 'Data_encoding'
* `lib_error_monad`: almost independant 'Error_monad'

* `lib_stdlib_lwt`: extended Lwt library
* `lib_crypto`: all the crypto stuff (hashing, signing, cryptobox).

* `lib_base`:
  - basic type definitions (Block_header, Operation, ...)
  - a module `TzPervasives` to bind them all and to be the
    single module opened everywhere.

In the process, I splitted `Tezos_data` and `Hash` in multiple
submodules, thus removing a lot of `-open`.

The following two modules may not have found their place yet:
- Base58 (currently in `lib_crypto`)
- Cli_entries (currently in `lib_stdlib_lwt`)
2017-12-04 16:05:54 +01:00
Grégoire Henry
5b50279851 Import new version of vendors/ocplib-resto
The new version of ocplib-resto :

- uses jbuilder ;
- is functorized over `Json_encoding` rather than `Json_repr` ;
- handles query parameters ;
- handles HTTP methods (GET, POST, DELETE, PUT, PATCH) ;
- replaces `custom_service` by a more generic trailer argument ;
- replaces generic answer `(code, body)` by a more ad-hoc sum type
  (allowing distinct encoding for success and error) ;
- includes a minimal HTTP-server based on Cohttp
  (includings CORS and media type negotiation).
- adds a function `Directory.transparent_lookup` to lookup/call
  a service handler without serializing the various parameters
  (path, query, request body).

As a first consequences in Tezos, this patch allows binary
communication between the client and the node.

This patch tries to be minimal inside the tezos source code and
therefore it introduces a minimal compatibility layer in
`RPC.ml`. This code should be removed as soon as possible.
2017-12-04 15:51:59 +01:00
Pierre Chambart
6c679d2e2c Michelson: compute depth for type size check
This allows to ensure that the depth to look at is updated when
michelson is.
2017-12-02 23:02:50 +00:00
Pierre Chambart
fedeb6c8fd Michelson: enforce a maximum stack item type size 2017-12-02 23:02:50 +00:00
Milo Davis
b4495568cb Fixes OSX select exception
This patch is primarily authored by @chambart
2017-11-30 14:50:36 +01:00
Benjamin Canou
97d983285e Node: allow identity.json to stay when clearing the data-dir 2017-11-28 17:28:56 +01:00
Benjamin Canou
e91f5bc588 Node: Cleanup a few error messages. 2017-11-28 15:43:58 +01:00
Benjamin Canou
606c6e55e4 Node: update shutdown order to prevent some leveldb read errors. 2017-11-28 15:43:47 +01:00
Benjamin Canou
4b0896300d Fix alphanet_constants.patch 2017-11-28 15:43:40 +01:00
Pietro Abate
6e68fb425a Fix #66 and #59 2017-11-27 17:26:36 +01:00
Grégoire Henry
8f30934220 Validator: always log invalid block 2017-11-27 10:40:43 +00:00
Grégoire Henry
471006b2dd Validator: properly handle termination of Block_validator. 2017-11-27 10:40:43 +00:00
Grégoire Henry
10d1b08c85 Validator: do not try to validate twice an invalid block 2017-11-27 10:40:42 +00:00