Commit Graph

19 Commits

Author SHA1 Message Date
Grégoire Henry
9405b702e9 OPAM: use the hex package
It replaces our own `Hex_encode` module.
2018-01-15 15:05:07 +01:00
Milo Davis
82dcd5c179 Data_encoding: optimize binary serialization 2017-12-14 18:10:50 +01:00
Milo Davis
b2918c1387 Data_encoding: Adds ranged_int and ranged_float 2017-12-14 18:10:50 +01:00
Milo Davis
dc7a023e22 Data_encoding: Make tags on unions mandatory 2017-12-14 18:10:50 +01:00
Grégoire Henry
4aa1b14ba6 RPC: introduce Resto_cohttp.Client and RPC_clients. 2017-12-11 17:53:49 +00: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
1429a6c8e6 Almost too late for copyright update. 2017-11-15 13:13:16 +01:00
Pietro Abate
6ecfca9396 Reindent all files
Now `make test` fails when sources are not indented correctly, the
indentation test is also executed in the CI.
2017-11-13 23:13:34 +01:00
Milo Davis
32a466556e Jbuilder: use --dev option 2017-11-13 22:30:35 +01:00
Milo Davis
0a7f9a39a9 Switch to Jbuilder
This is a rewrite of the build system with `jbuilder`, with just a
minimal toplevel Makefile for backward compatibility.

This first patch preserves the project architecture, we only gain
proper dependencies handling and always up-to-date `.merlin` files.
A latter patch may split the project in smaller "sub-package",
i.e. multiple `.opam` files.

The embedded versions of the economic protocol are now compiled with
`jbuilder` instead of `tezos-protocol-compiler`, potentially allowing
proper inlining at the cost of slightly-less-stricter
sandboxing. Nevertheless, dynamically loaded protocol are still
compiled with the `tezos-protocol-compiler` and thus strictly
sandboxed ; and a CI rule also checks the proper sandboxing of
embedded protocols.

This patch is coauthored with @hnrgrgr
2017-10-31 20:33:56 +00:00
Milo Davis
a3aa8b60bb Remove Makefiles 2017-10-31 20:33:54 +00:00
Milo Davis
490ce840f9 Remove all .merlin 2017-10-31 20:33:54 +00:00
Milo Davis
26b05ae292 Remove unused open 2017-10-31 20:33:52 +00:00
Grégoire Henry
dd9e5f5c95 Updater: simplify signature and error registration.
In particular, register the `Ecoproto_error` at the same time the
functor `Environment.Make` is applied.
2017-10-31 20:33:48 +00:00
Grégoire Henry
2c8b46a835 Utils: fix Utils.take_n in presence of duplicates 2017-08-22 22:07:29 +02:00
Grégoire Henry
f39eca214a Shell: remove the on-disk index of operations
Let's get serious. The full index of operations is not sustainable in
the production code. We now only keep the index of operations not yet
in the chain (i.e. the mempool/prevalidation). Operations from the
chain are now only accesible through a block. For instance, see the
RPC:

   /blocks/<hash>/proto/operations
2017-06-12 11:04:43 +02:00
OCamlPro-Iguernlala
7f9c77cee8 test/utils: small fix: Data_encoding.Binary.Error has no arguments 2017-04-14 03:42:17 +02:00
OCamlPro-Iguernlala
7d214a19f7 data_encoding: read streams of Mbytes.t, tests, remove dead code (debug functions), expose a function that checks without reading the data 2017-04-13 18:05:41 +02:00
Grégoire Henry
a6c7f355cc Test: simplify Makefile 2017-04-10 18:31:37 +02:00