Commit Graph

1257 Commits

Author SHA1 Message Date
Benjamin Canou
bb37e04340 Michelson: add estimated memory cost of an expression 2018-05-28 17:09:03 +02:00
Benjamin Canou
ce668e6afb Alpha: lazily deserialize scripts 2018-05-28 17:09:03 +02:00
Benjamin Canou
5f39f2ceec Data_encoding: add lazy_encoding combinator 2018-05-28 17:09:03 +02:00
Benjamin Canou
530427c813 Michelson: unpair input of CHECK_SIGNATURE 2018-05-28 17:09:03 +02:00
Benjamin Canou
8e28c790ea Client/Alpha: detect script failure before injection 2018-05-28 17:09:03 +02:00
Benjamin Canou
23f9949e70 Alpha: add storage limits 2018-05-28 17:09:03 +02:00
Benjamin Canou
dd9cd8a1c3 Alpha: keep the storage space in bytes instead of the premultiplied fees 2018-05-28 17:09:03 +02:00
Grégoire Henry
7d73605f5c Alpha: fix endorsement rewards
It should be computed with the priority of the endorsed blocks,
not with the priority of the block where it is included.
2018-05-28 17:09:03 +02:00
Grégoire Henry
c167d0eaae Alpha: remove unused parameters 2018-05-28 17:09:03 +02:00
Grégoire Henry
25ecd68b90 Alpha: use singular for Sourced_operation 2018-05-28 17:09:03 +02:00
Grégoire Henry
ee5373d960 Client: add global option --wait 2018-05-28 17:09:03 +02:00
Grégoire Henry
72e31287d1 Client/Alpha: split module Client_proto_context 2018-05-28 17:09:03 +02:00
Benjamin Canou
a11e0000e7 Michelson: add SET_DELEGATE opcode 2018-05-28 17:09:03 +02:00
Benjamin Canou
b669632075 Alpha: check delegatable flag before removing the delegate 2018-05-28 17:09:03 +02:00
Benjamin Canou
af5a8939cf Alpha: originations from contracts are now internal operations 2018-05-28 17:09:03 +02:00
Benjamin Canou
97208fd532 Alpha: add a type for operation results 2018-05-28 17:09:03 +02:00
Benjamin Canou
18c77318fb Alpha: thread origination_nonce in the context 2018-05-28 17:09:03 +02:00
Benjamin Canou
f05b02f74f Michelson: some new contracts/tests 2018-05-28 17:09:03 +02:00
Benjamin Canou
303c43b742 Michelson: add AND of int and nat 2018-05-28 17:09:03 +02:00
Benjamin Canou
60136c13b2 Michelson: add ISNAT instruction 2018-05-28 17:09:03 +02:00
Benjamin Canou
3cc88d0d81 Docs: update Michelson spec to the new address type 2018-05-28 17:09:03 +02:00
Benjamin Canou
86c18bcd9d Michelson: SOURCE now returns an address 2018-05-28 17:09:03 +02:00
Benjamin Canou
5579d3cc97 Michelson: add untyped address type, and instructions ADDRESS and CONTRACT 2018-05-28 17:09:03 +02:00
Benjamin Canou
46efb6f3b3 Docs: update Michelson spec to the new semantics 2018-05-28 17:09:03 +02:00
Benjamin Canou
595685cf42 Michelson: replace direct transfers with an internal operation queue 2018-05-28 17:09:03 +02:00
Benjamin Canou
59cccd53aa Michelson: cleaner naming in interpreter 2018-05-28 17:09:03 +02:00
Benjamin Canou
24deb10c8f Michelson: cleanup big map initialization and account for its fees 2018-05-28 17:09:03 +02:00
Benjamin Canou
42899ccb09 Alpha: add result record type for apply operation and include storage fees 2018-05-28 17:09:03 +02:00
Benjamin Canou
25a1930c32 Alpha: storage fees accounting 2018-05-28 17:09:03 +02:00
Benjamin Canou
676a64b81f Michelson: rename DEFAULT_ACCOUNT to IMPLICIT_ACCOUNT 2018-05-28 17:09:03 +02:00
Benjamin Canou
bceb91289a Alpha: better errors for corrupted context accesses 2018-05-28 17:09:03 +02:00
Benjamin Canou
6f3be375e8 Alpha: IO gas accounting 2018-05-28 17:09:03 +02:00
Benjamin Canou
4a0b30d968 Alpha: add variants of storage functors with size accounting 2018-05-28 17:09:03 +02:00
Benjamin Canou
ba09cdf883 Alpha: fix Storage_functors.Indexed_data_storage.fold 2018-05-28 17:09:03 +02:00
Benjamin Canou
27486e500a Micheline: use zarith instead of strings for integers 2018-05-28 17:09:03 +02:00
Benjamin Canou
c3cf4dfbfb Alpha, Michelson: add gas limits for block and operations 2018-05-28 17:09:03 +02:00
Benjamin Canou
eef5885265 Alpha, Michelson: no need to thread the gas in parsing linear structures 2018-05-28 17:09:03 +02:00
Benjamin Canou
4fd2b03832 Alpha, Michelson: thread the gas directly in the context 2018-05-28 17:09:03 +02:00
Benjamin Canou
04415ff6a8 Alpha, Michelson: separate gas operations from costs 2018-05-28 17:09:03 +02:00
Milo Davis
8a49bf5509 Alpha, Michelson: gas in typechecking 2018-05-28 17:09:03 +02:00
Grégoire Henry
0d8990887c Jbuilder: fix the target @runtest_indent 2018-05-26 20:08:03 +02:00
bruno
f000eb70f2 Alpha: forbid transaction of 0ꜩ towards contracts without code 2018-05-26 19:54:06 +02:00
James Deikun
2c57e4cce6 RPC: expose RPC base address in client context 2018-05-26 19:12:15 +02:00
Grégoire Henry
fd72b47263 Opam: fix dependencies 2018-05-26 18:36:32 +02:00
Arthur B
f43710694b Alpha: fix typo in services path 2018-05-26 18:25:48 +02:00
Arthur B
07a631316a Alpha: allow to deactivate rewards for a few initial cycles 2018-05-26 18:25:40 +02:00
Arthur B
126ee13ba7 Alpha: allow to ramp up endorsement and baking security deposits 2018-05-26 17:24:04 +02:00
Grégoire Henry
370114eb8b Client: preload encrypted keys when running a daemon 2018-05-26 15:36:36 +02:00
Grégoire Henry
da921a8f56 Client: allow tz1... as the source of a transfer
This is only useful when a 'remote signer' is available.
2018-05-26 15:36:36 +02:00
Grégoire Henry
fb85568d98 Client: add an option --remote-signer
When the option is provided, all keys with the scheme `remote` are now
implicitly handled by the provided remote signer.
2018-05-26 15:35:11 +02:00
Grégoire Henry
57663a95e9 Client: add an option to encrypt faucet accounts and imported keys 2018-05-26 15:34:16 +02:00
Grégoire Henry
f69d4a5186 Client: simplify Client_keys.SIGNER
We now use `Uri.t` to represent public and secret keys. The 'remote'
scheme is replaced by `https://`, `unix:///` and `tcp://`.
2018-05-26 15:34:16 +02:00
Grégoire Henry
80dd9ebf24 Client: rename sk_locator into sk_uri
To prepare upcoming patch where `sk_locator = Uri.t`.
2018-05-26 15:10:07 +02:00
Grégoire Henry
361b3db3e8 Signer: only accept B58encoded-pkh as parameters 2018-05-26 15:09:36 +02:00
Grégoire Henry
e8fb2bf515 Signer: do not depend on Client_main_run 2018-05-26 15:08:54 +02:00
Grégoire Henry
0dbe24290f Signer: explicit registration of signers
instead of toplevel side-effects and `-link-all`
2018-05-26 15:08:29 +02:00
Grégoire Henry
502017c863 Signer: create packages tezos-signer-services and tezos-signed-backends 2018-05-26 15:08:13 +02:00
Grégoire Henry
4b094b9c02 Signer: split main_signer.ml in multiple files 2018-05-26 15:07:57 +02:00
Grégoire Henry
b564b28603 Client: rename Client_signer_remote_socket into Lwt_utils_unix.Socket 2018-05-26 15:07:14 +02:00
Grégoire Henry
272066ab04 Client: Use MBytes.t for password
This prepares a future usage of `mlock`.
2018-05-26 15:06:39 +02:00
Grégoire Henry
ad9f4c2814 Signer: move main_signer.ml into into its own package 2018-05-26 15:06:10 +02:00
Grégoire Henry
664f36a46a Client: less restrictive type for Client_keys_commands.commands 2018-05-26 15:05:26 +02:00
Grégoire Henry
b32e6e7374 Clic: add Clic.constant 2018-05-26 15:05:14 +02:00
Benjamin Canou
0a6f65263f Signer: add HTTPS variant 2018-05-26 15:05:14 +02:00
Benjamin Canou
fe435ce114 Client: minor error printing tweaks 2018-05-25 17:18:41 +02:00
Benjamin Canou
51cfa388f8 Signer: various fixes and cosmetic changes 2018-05-25 17:18:41 +02:00
Pietro
73b7fc89a5 Client: introduce tezos-signer 2018-05-25 17:18:41 +02:00
Pietro
8b9d02eec4 Client, wallet: Change type of location 2018-05-25 17:18:39 +02:00
Vincent Bernardoff
cfe82ab7cf Baking: preload signers for delegate keys (daemon) 2018-05-25 17:02:56 +02:00
Vincent Bernardoff
f0fc9ac37c Alpha: use watermark for signing blocks and operations 2018-05-25 16:47:48 +02:00
Grégoire Henry
5e17430815 Shell: allow to prefix signed data by a watermark 2018-05-25 16:47:48 +02:00
Grégoire Henry
2a85c34c67 Indentation fixes 2018-05-25 16:47:48 +02:00
Milo Davis
f3b0b0b00a Micheline: add 255 character annotation length limit 2018-05-25 14:41:27 +02:00
Milo Davis
7fc74da1a2 Data_encoding: add bounded strings and bytes 2018-05-25 14:41:27 +02:00
Grégoire Henry
c2241c034a Data_encoding: allow smaller size field for Dynamic_size 2018-05-25 14:41:27 +02:00
Grégoire Henry
89b6799fd6 Data_encoding: add combinator for positive big number 2018-05-25 14:41:27 +02:00
michael
3f1363b9ba P2P/Shell: Split metadata into peer_metadata and conn_metadata
Peer_metadata is meant to keep track of peer's score.

Conn_metadata is meant to keep track of connection configuration given
during Ack exchange.
2018-05-25 11:39:22 +02:00
bruno
c13b7dd39a Alpha: typos 2018-05-25 10:36:08 +02:00
Grégoire Henry
e1622c7b77 Opam: fix test dependencies for data_encoding. 2018-05-25 00:47:52 +02:00
Raphaël Proust
118188530a Data_encoding: crowbar tests
This work is based on ideas more fully developped in
https://gitlab.com/gasche/fuzz-data-encoding.

However, including some tests directly in this repo helps with CI
integration as well as keeping the tests and interfaces up to date.
Eventually, we should integrate the tests from the fuzz-data-encoding
library.
2018-05-24 17:50:18 +02:00
Raphaël Proust
8b5bce50cf Data_encoding: test catching of invalid encodings 2018-05-24 17:50:18 +02:00
Raphaël Proust
00d596e9c2 Data_encoding: catching more invalid encoding 2018-05-24 17:50:18 +02:00
Benjamin Canou
b0be5b630d Data_encoding: Ignore is actually a `Fixed 0 2018-05-24 15:43:15 +00:00
Pietro
d1c2f631d5 Data_encoding: Refresh benchmarks 2018-05-24 15:43:15 +00:00
Grégoire Henry
2b82a588e1 Data_encoding: improve docstrings. 2018-05-24 15:43:15 +00:00
Grégoire Henry
2e9df07b0e Data_encoding: add check_size 2018-05-24 15:43:15 +00:00
Grégoire Henry
5023e1a261 Data_encoding: rename Binary.to_bytes into to_bytes_exn 2018-05-24 15:43:15 +00:00
Grégoire Henry
72fc71be67 Data_encoding: rename Binary into Binary_writer 2018-05-24 15:43:15 +00:00
Grégoire Henry
1da0d0c8d7 Data_encoding: split out Binary_length 2018-05-24 15:43:15 +00:00
Grégoire Henry
aee6718148 Data_encoding: use CPS for the stream reader 2018-05-24 15:43:15 +00:00
Grégoire Henry
b83797371e Data_encoding: rename Size into Binary_size 2018-05-24 15:43:15 +00:00
Grégoire Henry
b164dd6cc5 Data_encoding: drop module Assert
- drop the quick-and-dirty `Assert` introduced when we switched from
  `Kaputt` and use `Alcotest.check` instead.

- split tests in multiple files:
  - success.ml
  - write_failure.ml
  - read_failture.ml
  - invalid_encoding.ml
  - randomized.ml
2018-05-24 15:43:15 +00:00
Grégoire Henry
a0cae2af57 Data_encoding: enforce fixed-size strings in JSON. 2018-05-24 15:43:15 +00:00
Grégoire Henry
1bc7b45fdb Data_encoding: forbids nested options 2018-05-24 15:43:15 +00:00
Grégoire Henry
1f358b7f9a Data_encoding: move cut_bytes into MBytes 2018-05-24 15:43:15 +00:00
Grégoire Henry
cb28ca1cd5 Stdlib: reintroduce MBytes.pp_hex 2018-05-24 15:43:15 +00:00
Fabrice Le Fessant
8986640a98 P2p: make nonces unpredictable when connecting
Avoid replay-attacks by preventing a node from determining one of the
nonces used in the encryption of a channel between two nodes.
2018-05-24 12:11:42 +02:00
Benjamin Canou
dcf27f48d9 Alpha: do not produce multiple revelations 2018-05-22 12:32:47 +02:00
Benjamin Canou
89d9d83b15 Alpha: remove unused error 2018-05-22 12:32:47 +02:00
Grégoire Henry
d0a9fb678c Alpha: better error for invalid key revelation 2018-05-22 12:32:47 +02:00