Commit Graph

1166 Commits

Author SHA1 Message Date
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
Vincent Bernardoff
049efb2169 Stdlib/String: add Set module 2018-05-12 23:57:32 +02:00
OCamlPro-Iguernlala
6b8c3f7d31 P2p_maintenance.connectable: ignore non-trusted points if option --closed is set 2018-05-12 23:42:20 +02:00
Vincent Bernardoff
b48ba96106 Stdlib: use bigstring to implement MBytes 2018-05-12 23:11:35 +02:00
Vincent Bernardoff
1cd82f5d82 Stdlib: do not use deprecated stringext 2018-05-12 23:11:35 +02:00
Benjamin Canou
3ca03f6da7 Alpha: remove dead code for deposit forfeiting 2018-05-11 16:49:16 +02:00
Grégoire Henry
3e6633bacc Alpha: burn only rewards and fees when baker do not reveal seeds
We only forfeit the bond in case of double-baking.
2018-05-11 15:50:03 +02:00
Pierre Chambart
e16cf6d28b Simplify, bit extraction from Z values 2018-05-09 16:36:52 +00:00
Benjamin Canou
deffa28aa4 Data_encoding: add more compact binary serializer for Z 2018-05-09 16:36:52 +00:00
Benjamin Canou
441149880c Environemt: add equality for Z.t 2018-05-09 16:36:52 +00:00
Benjamin Canou
636fecb6ff Utils: add Compare.Z 2018-05-09 16:36:51 +00:00
Raphaël Proust
a3474ae496 Typo in error message 2018-05-09 17:46:54 +02:00
Grégoire Henry
74ec514fd2 Alpha: fail on early revelations
We now fail when a nonce is revealed before
the the expected revelation cycle.
2018-05-09 17:46:54 +02:00
Grégoire Henry
3cb1c3c5e2 Alpha: error messages for invalid nonce revelations 2018-05-09 17:46:48 +02:00
Grégoire Henry
43fe4dbdc3 Alpha: minor cosmetic changes 2018-05-09 17:45:37 +02:00
Benjamin Canou
a873930a09 Alpha: minor change to the PoW check 2018-05-09 15:56:09 +02:00
Grégoire Henry
e3bfe0d651 Alpha: exclude signature from the minimal stamp of PoW.
We don't want the stamp to be cheaper for people with faster
signing devices...
2018-05-09 15:56:09 +02:00
bruno
6966240a54 Alpha: export missing errors 2018-05-08 12:50:04 +02:00
Benjamin Canou
cd731df938 Add missing opam dependency 2018-05-05 01:29:06 +02:00
Benjamin Canou
294e270f32 Add missing opam dependency 2018-05-04 19:23:04 +02:00
Vincent Bernardoff
96d9f317c1 Ocplib_json_typed: adapt code for inclusion in vendors 2018-05-04 18:48:00 +02:00
Pietro
b27bb84861 [p2p] fix space for semicolon and pipe 2018-05-03 16:03:01 +02:00
Grégoire Henry
fe9c06b7ca Test: fix test_multinode.sh 2018-05-03 16:03:01 +02:00
Pierre Chambart
137613ee9a Formatting client_p2p_commands 2018-05-03 16:03:01 +02:00
Pierre Chambart
d71ff759dc Remove uses of Time.now in P2p_acl 2018-05-03 16:03:01 +02:00
Pierre Chambart
6bdb959204 Really get rid of magic... 2018-05-03 16:03:01 +02:00
Pierre Chambart
7de7043a74 Stdlib: get rid of magic in HashPtree 2018-05-03 16:03:01 +02:00
Pietro
4d9292fcbb Fix other minor comments 2018-05-03 16:03:01 +02:00
Pietro
c5d41465a2 p2p: temp ban point on invalid auth 2018-05-03 16:03:01 +02:00
Pietro
ce92f70883 P2p: Fix Hashtbl for PeerRing
Export hash in INTERNAL_HASH. now Peer_id.Id is hashable
2018-05-03 16:03:01 +02:00
Pietro
3683e948c1 Ring: swap operation order in Ring.Maketable.add 2018-05-03 16:03:01 +02:00
Pietro
511b47148c p2p, ring: Cleanup PeerId table 2018-05-03 16:03:01 +02:00
Vincent Bernardoff
b3df4e63c8 [P2P] ACLs: cosmetics, renamings, comments 2018-05-03 16:03:01 +02:00
Pietro
02838a4cbc p2p,node,client: Add Greylists
- add admin commands to ban and unban ips and peers
- add greylist_timeout option to configuration file (node)
- Add greylist modules + RPC
2018-05-03 16:03:01 +02:00
Pierre Chambart
496cbe566d Stdlib: add ephemeron-based patricia trees for P2P greylisting 2018-05-03 15:58:08 +02:00
Vincent Bernardoff
280d88faaf TLS: add connectivity test 2018-05-03 15:48:25 +02:00
Vincent Bernardoff
7ffad5887d Node: update issues URL in man page 2018-05-03 15:48:25 +02:00
Vincent Bernardoff
63e44af5e4 TLS: switch to ocaml-tls 2018-05-03 15:48:25 +02:00
Grégoire Henry
0b31ebb455 Data_encoding: split out Binary_stream 2018-05-03 15:35:40 +02:00
Grégoire Henry
c9eab8689a Shell/Distributed_db: tune requests delay 2018-05-03 11:51:29 +02:00
Grégoire Henry
f2db5ffde3 Shell/Bootstrap: improve network paralellism 2018-05-03 11:51:29 +02:00
Grégoire Henry
6e4b2eab47 Shell: reduce default logging a little bit 2018-05-03 11:51:29 +02:00
Grégoire Henry
caa764f0ff Data_encoding: do not open the implementation modules by default 2018-05-03 11:05:06 +02:00
Raphaël Proust
0a3c9d52ec Data_encoding: deduplicate documentation 2018-05-03 15:25:47 +08:00
Raphaël Proust
194d3f9120 Data_encoding: move internal function internally 2018-05-03 15:18:10 +08:00
Raphaël Proust
34d4e9ec5d Data_encoding: don't open Encoding 2018-05-03 15:13:39 +08:00
Raphaël Proust
1ade54a7d7 Data_encoding: separate Size into its own module 2018-05-03 15:11:46 +08:00
Raphaël Proust
2418554f78 Data_encoding: reorder and reorganize doc 2018-05-03 14:00:24 +08:00
Raphaël Proust
56fbc5267d Data_encoding: split implementation
In an effort to keep a clean commit history, the interface is unchanged.
2018-05-03 12:27:17 +08:00
Milo Davis
7a43c5bc41 P2p_pool: fix ambiguous JSON union case 2018-04-26 22:52:21 +02:00
Milo Davis
ebfdeea8d5 Data_encoding: add descriptions to encodings 2018-04-26 22:52:21 +02:00
Milo Davis
f5cc599ae6 Data_encoding: add names to union cases 2018-04-26 22:52:21 +02:00
Vincent Bernardoff
de006f4be3 Crypto: fix hardcoded signatures in tests 2018-04-26 21:24:21 +02:00
Vincent Bernardoff
54bbc71c1b Crypto: sign 32 bytes message hash 2018-04-26 21:24:21 +02:00
Vincent Bernardoff
47f9c2460b Crypto: fixes for secp256k1 2018-04-26 21:24:21 +02:00
Vincent Bernardoff
3a0cdfd90a Crypto: Secp256k1 -> Libsecp256k1 2018-04-26 21:24:21 +02:00
Raphaël Proust
f8130eed82 Stdlib/MBytes: avoid double raise 2018-04-26 21:22:28 +02:00
Raphaël Proust
1af07b233a Data_encoding: better documentation of int 2018-04-26 21:20:40 +02:00
Grégoire Henry
02beb9c79a CI: fix busybox compatibility 2018-04-26 12:55:07 +02:00
Grégoire Henry
0fe8975817 Test: faster testsuite
No need to wait 1 second between blocks!
2018-04-22 13:48:20 +02:00
Grégoire Henry
a3a33c4814 Shell: export Signature.Public_key_hash.zero 2018-04-22 13:46:31 +02:00
Grégoire Henry
c3eda23b45 Shell: add a global watcher for new valid blocks in State 2018-04-22 13:46:31 +02:00
Grégoire Henry
3ba30fa468 RPC: allow 'epoch' as a valid Time.rpc_arg 2018-04-22 13:46:31 +02:00
Grégoire Henry
d3f4424c75 RPC: Use bytes for source files encoding in protocol updates 2018-04-22 13:46:31 +02:00
Grégoire Henry
bc9179094f Shell: store mainchain and testchain in State 2018-04-22 13:41:26 +02:00
Grégoire Henry
7adc0c90e7 Compiler: preserve Protocol_hash 2018-04-22 13:41:26 +02:00
Grégoire Henry
aeacd845f2 Shell: minor renaming 2018-04-22 13:41:26 +02:00
Grégoire Henry
aa12c6fd9b Opam: fix alcotest version 2018-04-19 12:02:23 +02:00
Vincent Bernardoff
7c546425d2 Vendors/tweetnacl: use bigstring 2018-04-19 10:31:56 +02:00
Vincent Bernardoff
230d495dc6 Vendors/blake2b: use bigstring 2018-04-19 10:21:01 +02:00
Raphaël Proust
3ceaed4dd3 Crypto: more alcotesty tests 2018-04-18 14:41:44 +02:00
Raphaël Proust
cd8a63f543 Crypto: Only extract checksum when there's one
Specifically, check that there are enough characters to extract the 4-characters
checksum of safe-encoded strings.

The commit also introduces new tests for some parts of the crypto library.
2018-04-18 14:41:44 +02:00
Grégoire Henry
40e63739ac Base58: regroup prefix definition. 2018-04-18 09:53:11 +02:00
Grégoire Henry
11ad8fa8ea Fix rebase conflict.
oups...
2018-04-17 15:24:23 +02:00
Marco Stronati
a491083586 Alpha: added rpc 'proto/delegate/<id>/frozen_balances' 2018-04-17 14:54:51 +02:00
Grégoire Henry
dbe4a20d4a Reset the chain 2018-04-17 13:46:23 +02:00
Grégoire Henry
b6ed841ccf Genesis: fix genesis key
(was mistakenly changed in 9ffead02d2)
2018-04-17 13:45:41 +02:00
Grégoire Henry
7429a5b21d Client: fix wallet import 2018-04-17 10:50:27 +02:00
Grégoire Henry
020ef19460 Client: add a claim operation that activate a commitment account 2018-04-17 10:50:23 +02:00
Grégoire Henry
ec25690166 Client: minor refactoring 2018-04-17 10:39:24 +02:00
Vincent Botbol
326226d5ed Genesis: add mnemonics, passwords and emails to genesis info generation 2018-04-17 10:36:46 +02:00
Arthur B
eb1dfb7f20 Shell/Alpha: allow usage of secp256k1 for signature 2018-04-16 18:37:52 +02:00
Milo Davis
19843b96b0 Client: use source_param instead of alias_param 2018-04-16 12:38:31 +00:00
Grégoire Henry
3765c39477 Client: fix for issue #161.
Use proper parsing for `--delegate` argument.
2018-04-16 12:38:31 +00:00
Grégoire Henry
3d57055cca Alpha: use protocol parameters instead of sandbox to tune constants 2018-04-16 09:28:26 +02:00
Grégoire Henry
98f30a3e85 Alpha: allow more constant parametrization 2018-04-16 09:28:26 +02:00