OCamlPro-Iguernlala
6bbdf13bc5
P2p: do not send bootstrap message to peers in private mode
2018-06-05 13:39:43 +02:00
OCamlPro-Iguernlala
6663109639
P2p: disable some capabilities when creating a connection in private mode
...
This is mainly done in the creation of the callback functions of
the answerer's field of a 'connection'.
2018-06-05 13:38:53 +02:00
OCamlPro-Iguernlala
c1ccea3501
P2p: do not send peer swap requests in private mode
2018-06-05 13:34:50 +02:00
OCamlPro-Iguernlala
01648e7611
Node: rename option '--closed' to '--private-mode'
2018-06-05 13:29:06 +02:00
Marco Stronati
7b8f764524
Tests: add tests for baking
2018-06-05 12:55:59 +02:00
Marco Stronati
ff237c79cc
Tests: add tests for seed nonce revelation operation
2018-06-05 12:55:59 +02:00
Galfour
6e65a12206
Tests: add tests for double endorsement and double baking
2018-06-05 12:23:40 +02:00
Vincent Botbol
7505a66904
Tests: add tests for endorsement and activation operations
2018-06-05 12:23:40 +02:00
Quyen
d9a11caeb8
Tests: add tests for transfer and origination operations
2018-06-05 12:23:40 +02:00
Grégoire Henry
e8e66a83c7
Tests/helpers: replace old test framework
2018-06-05 12:23:40 +02:00
Grégoire Henry
4105467603
Alpha: changes needed for test framework
2018-06-05 11:56:40 +02:00
michael
bd3a9fabe5
test: add a small test for disable_mempool option
2018-06-04 15:55:43 +02:00
michael
aedf867e4a
RPC: Add conn_metadata to peer_info rpcs
2018-06-04 15:55:41 +02:00
michael
df4e474577
Shell: disable prevalidator if disable-mempool is used
2018-06-04 15:39:42 +02:00
michael
d5925f088c
P2p: Add option to disable the mempool
...
This allows a node to specify that it doesn't want to receive operations
that are not included in a block. To do so, one should use the new
--disable-mempool option.
A disabled mempool node announce its configuration during the ACK exchange.
This configuration should be easily expandable with other options.
Node will keep track of the ack exchange configuration for each nodes it
is connected to and will not propagate its mempool to disabled mempool
nodes.
A disabled mempool node will ignore non-empty mempool received.
In the future, this incident should be punish by a decrement of its score
and / or ban.
2018-06-04 15:35:22 +02:00
michael
5b21610985
P2p: fix weird partial application
2018-06-04 15:17:37 +02:00
Grégoire Henry
6faaeaf5e8
P2p: properly export connection metadata
2018-06-04 15:17:35 +02:00
Grégoire Henry
367cc4e916
Faucet: rename secret
into activation_code
2018-06-04 14:40:10 +02:00
Vincent Botbol
92bb69e744
Protocol: remove half pkh in commitments
2018-06-04 14:12:01 +02:00
Raphaël Proust
ad90fadf5e
Data_encoding: use more inline records in sums
2018-06-04 13:53:29 +02:00
Raphaël Proust
f647404739
Proto_alpha/levels: added documentation
2018-06-04 08:41:46 +08:00
michael
a8e607a5a9
Shell: preliminary work for ack_cfg exchange
2018-06-01 16:25:43 +00:00
Benjamin Canou
1f6302bf36
Proto: fill-in placeholder docstrings
2018-06-01 17:15:14 +02:00
Grégoire Henry
d7e5ca81e4
Shell: store metadata for block header and operations
2018-06-01 16:20:10 +02:00
Grégoire Henry
fc26022cd2
Proto: associate metadata
to valid block headers and operations
2018-06-01 16:20:10 +02:00
Grégoire Henry
c85e27605b
Proto: export Data_encoding.t
for block headers and operationss
...
Previously we were only exporting parsing function. This will allow
to move out of the protocol some `helpers` RPCs.
2018-06-01 16:20:10 +02:00
James Deikun
afa335ff48
move module-specific logging to the modules that use it
2018-05-31 17:05:00 -04:00
Grégoire Henry
b2e6001007
Data_encoding: merge def
and describe
2018-05-30 14:38:05 +02:00
Grégoire Henry
09a039bfea
Data_encoding: use inline record for case field
2018-05-30 14:38:05 +02:00
Pierre Boutillier
d9c5549ae2
date --"an hour ago" in a way compatible with both GNU and BSD
2018-05-30 12:59:59 +02:00
Grégoire Henry
cf9d26740c
Shell/RPC: allow immediate value
...
This a HACK for allowing serialisation of toplevel value that are
float, string,... and not only object or array.
In a latter time, we may prefer to you `yojson` instead of `ezjsonm`,
but some of our dependencies rely on `ezjsonm` and we may not want to
embeds two distinct JSON libraries...
2018-05-29 16:13:30 +02:00
Grégoire Henry
556e95cef0
Client: rename rpc call
into rpc post
or rpc get
2018-05-29 16:13:30 +02:00
Grégoire Henry
c00d8131c6
Signer: allow to configure the signer with environment variables
2018-05-28 17:23:08 +02:00
Grégoire Henry
1f662dd53b
Signer: add proper documentation to signer
2018-05-28 17:22:14 +02:00
Milo Davis
f644d8f332
Client: adds check signature command
2018-05-28 17:09:03 +02:00
Benjamin Canou
1b91d0929a
Michelson: read some constants in base58 but store them in binary
2018-05-28 17:09:03 +02:00
Milo Davis
ff4a5fadda
Client: get timestamp in seconds
2018-05-28 17:09:03 +02:00
Benjamin Canou
439435bd11
Michelson: forbid internal operation replay
2018-05-28 17:09:03 +02:00
Benjamin Canou
f1fc7ab582
Michelson: forbid internal operations in parameter and storage
2018-05-28 17:09:03 +02:00
Benjamin Canou
702896f420
Michelson: switch string tez constants to int mutez constants
2018-05-28 17:09:03 +02:00
Benjamin Canou
ffec060a6f
Client, Michelson: minor fixes in error reporting
2018-05-28 17:09:03 +02:00
Benjamin Canou
a425b3dc27
Michelson: cleanup iterator opcodes
2018-05-28 17:09:03 +02:00
Benjamin Canou
c57458ea01
Michelson: fix inconsistency when reading and printing strings
2018-05-28 17:09:03 +02:00
Benjamin Canou
f119a9b2a5
Micheline: lexing bug fix
2018-05-28 17:09:03 +02:00
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
OCamlPro-Iguernlala
4caf7cf679
P2p_maintenance: improve 'try_to_contact' and 'connectable'
...
To avoid eventual infinite loops in 'try_to_contact', we
accumulate the set of points that have been seen to discard them
during recursive calls.
2018-05-22 12:20:04 +02:00
Marco Stronati
5a26d23cf7
Crypto: replace nocrypto sha256 with hacl
2018-05-17 10:20:22 +02:00
Marco Stronati
7d6da7179b
Crypto: replace ocaml-tweetnacl with ocaml-hacl
2018-05-17 10:20:22 +02:00
Grégoire Henry
01941fa725
Opam: fix tezos-stdlib.opam
2018-05-13 01:42:05 +02:00
Vincent Bernardoff
abdcfab111
RPC: add CORS test
2018-05-13 00:20:40 +02:00
Vincent Bernardoff
64183bbcf3
RPC: CORS now accepts Content-Type
by default
2018-05-13 00:00:18 +02:00