Commit Graph

1324 Commits

Author SHA1 Message Date
bruno
bdf6a5e564 General: update jbuilder to 1.0+beta19 2018-03-20 06:49:52 +01:00
Grégoire Henry
c5792cd7f0 Shell: remove outdated operation on new blocks 2018-03-20 06:49:52 +01:00
Grégoire Henry
edb40c7923 Alpha/test: allow to deactivate seed renewal 2018-03-19 16:06:27 +01:00
Benjamin Canou
dabf4c1578 Fix alphanet_constants.patch and reset the chain 2018-03-18 18:36:56 +01:00
Benjamin Canou
19d9ce1f64 Alpha: fix tests 2018-03-18 18:11:04 +01:00
Benjamin Canou
0b31daeadc Alpha: rename Double_endorsement/baking into Double_endorsement/baking_evidence 2018-03-16 18:38:41 +01:00
Grégoire Henry
5ac629f335 More renaming registred -> registered 2018-03-16 18:38:41 +01:00
Grégoire Henry
71ee3114a7 Alpha: rename bond into deposit 2018-03-16 18:38:41 +01:00
Grégoire Henry
987e4a5314 Alpha: introduce constant max_revelations_per_block 2018-03-16 18:38:41 +01:00
Grégoire Henry
8e77382a61 Alpha: remove constant max_number_of_operations 2018-03-16 18:38:41 +01:00
Grégoire Henry
c1ddec37ab Alpha: rename voting_period_length into block_per_voting_period 2018-03-16 18:38:41 +01:00
Grégoire Henry
7ef2803199 Alpha: rename max_signing_slot into endorsers_per_block 2018-03-16 18:38:41 +01:00
Grégoire Henry
43609e2e63 Alpha: rename baking_reward into block_reward 2018-03-16 18:38:41 +01:00
Grégoire Henry
6b53e3f578 Alpha: rename endorsement_bond_cost into endorsement_security_deposit 2018-03-16 18:38:41 +01:00
Grégoire Henry
74d334463e Alpha: rename baking_bond_cost into block_security_deposit 2018-03-16 18:38:41 +01:00
Grégoire Henry
19cb91bcb6 Alpha: rename slot_durations into time_between_blocks 2018-03-16 18:38:41 +01:00
Grégoire Henry
4be6897368 Alpha: rename cycle_length into blocks_per_cycle 2018-03-16 18:38:41 +01:00
Grégoire Henry
4f968d6fdc Alpha: rename block_per_roll_snapshot into blocks_per_roll_snapshot 2018-03-16 18:38:41 +01:00
Grégoire Henry
e81c02c27a Alpha: remove Faucet limit 2018-03-16 18:38:41 +01:00
Grégoire Henry
5fa0b074bf Alpha: rename constant initial_roll_value into tokens_per_roll
And remove alphanet hack (doubling roll value)
2018-03-16 18:38:41 +01:00
Grégoire Henry
dc681551e6 Alpha: adjust constants 2018-03-16 18:38:41 +01:00
Grégoire Henry
abe769c393 Alpha: don't burn origination_burn twice... 2018-03-16 18:38:41 +01:00
Grégoire Henry
a41d553162 Alpha: use distinct quota for anonymous_operation 2018-03-16 18:38:41 +01:00
Grégoire Henry
040ac648eb Alpha: better error message when registering delegates 2018-03-16 18:38:41 +01:00
Grégoire Henry
a95e601284 Alpha: don't fail when burning previously burned bond/fees/rewards.
Just in a case a baker double-bakes and doesn't reveal its nonce.
2018-03-16 17:37:45 +01:00
Benjamin Canou
0cf6f8fff2 Alpha: do not decrease delegation rights expiration date when provisioning 2018-03-16 17:24:22 +01:00
Grégoire Henry
04bbbf9fe2 Alpha: deactivate inactive delegate 2018-03-16 17:12:19 +01:00
Benjamin Canou
fc08f2f8ef Alpha: add missing error registrations 2018-03-16 16:34:39 +01:00
Grégoire Henry
2eaae225ff Alpha: forbid delegation to the current delegate 2018-03-16 16:21:29 +01:00
Grégoire Henry
5026d6a68d Alpha: allow to tag a delegate as inactive 2018-03-16 16:09:51 +01:00
Grégoire Henry
76d11fcafb Alpha: add operation Double_baking 2018-03-16 15:34:36 +01:00
Grégoire Henry
09c1e317ab Alpha: add operation Double_endorsement 2018-03-16 15:34:32 +01:00
Grégoire Henry
3aef2ed505 Alpha: remove hash from Operation_repr.t 2018-03-16 14:34:39 +01:00
Grégoire Henry
e2af8dbee9 Alpha: randomly select a roll snapshot for each cycle 2018-03-16 11:21:22 +01:00
Benjamin Canou
b4dad92a7d Alpha: remove dead alphanet specific code 2018-03-16 11:21:21 +01:00
Grégoire Henry
6dccfa4a1f Alpha: prepare storage for multiple roll snapshots per cycle 2018-03-16 11:21:09 +01:00
Grégoire Henry
0283bee65b Alpha: add constant 'block_per_roll_snapshot' 2018-03-15 23:40:46 +01:00
Grégoire Henry
4e9fd509b3 Proto: export the 'last_allowed_fork_level'.
The should ignore all branch forking at a block whose level
is lower than the 'last_allowed_fork_level' of the current head.
2018-03-15 21:48:16 +01:00
Grégoire Henry
726bf5955e Jbuilder: fix error reporting in protocol compilation 2018-03-15 21:46:59 +01:00
bruno
226a9a1778 Proto_alpha: fix typo "unpexpected" 2018-03-15 14:07:06 +00:00
Raphaël Proust
8364e27142 Data_encoding: typo in error message 2018-03-15 13:58:54 +00:00
Milo Davis
2fbc60af75 Michelson: make maximum integer for gas 32 bit compatible (#169) 2018-03-15 13:51:13 +00:00
Benjamin Canou
2d9bbcce90 Alpha: fix PoW stamp value 2018-03-15 14:14:12 +01:00
Benjamin Canou
b09183a2d7 Alpha: remove emptied frozen balances 2018-03-15 14:06:00 +01:00
Grégoire Henry
39f919e07b Alpha: rework reward storage.
We now keep track per delegate and per cycle of three distinct "frozen
balance": one for the bond, one for the fees, one for the rewards.
All tokens frozen during cycle 'N' are unfrozen at the end of the
cycle 'N+5'.

The frozen bond and fees count allows to gain rolls. The frozen
rewards do not.
2018-03-15 00:37:18 +01:00
Grégoire Henry
2be83eafc1 Alpha: allow seed's nonce commitment only once every 'blocks_per_commitment' 2018-03-15 00:26:19 +01:00
Grégoire Henry
71e9780e5b Proto/env: export Ed25519.Signature.zero 2018-03-15 00:25:46 +01:00
Grégoire Henry
dc89432aad Proto/env: export RPC_directory.opt_register 2018-03-15 00:23:13 +01:00
Grégoire Henry
54b7d44da8 Alpha: add constant block_per_commitments 2018-03-15 00:19:15 +01:00
Grégoire Henry
abfc317ee8 Alpha: freeze delegation rights (preserved_cycles+1) in advance 2018-03-14 19:28:19 +01:00
Grégoire Henry
672109de54 Alpha: more intuitive Misc.(-->) 2018-03-14 12:12:49 +01:00
Grégoire Henry
e42cd1ccd6 Alpha: minor renaming 2018-03-14 12:12:49 +01:00
Grégoire Henry
cd5ac0a27d Alpha: add Constants_storage 2018-03-14 12:12:49 +01:00
Grégoire Henry
bd721b1085 Alpha: add constant "preserved_cycles" 2018-03-14 12:12:49 +01:00
Benjamin Canou
5bd01de643 Errors: fix duplicate definition 2018-03-14 11:37:35 +01:00
bruno
8713ae36f6 General: s/registred/registered/ 2018-03-13 16:29:02 +00:00
Grégoire Henry
7af7cb95e3 Alpha/Client: fix incorrect 'delegate' display.
Signed-off-by: Grégoire Henry <gregoire.henry@tezos.com>
2018-03-12 18:14:39 +01:00
Grégoire Henry
487fce8be1 Shell/block_locator: count 'head' as a locator step 2018-03-12 17:14:12 +01:00
Benjamin Canou
d00724ea13 Fix alphanet_constant.patch and reset the chain 2018-03-09 14:17:18 +01:00
Grégoire Henry
88f5a5fb4d Opam: fix installation of the functorize protocol 2018-03-08 15:42:53 +01:00
Benjamin Canou
640671c7c5 P2p: fix version number sizes 2018-03-08 14:40:28 +01:00
Grégoire Henry
801bdf3d4c Dune: don't use the 'tezos-protocol-compiler' in the build system 2018-03-08 14:38:57 +01:00
Milo Davis
a405eb2d0e Fixes for jbuilder.1.0.0-beta18 2018-03-08 14:38:57 +01:00
Grégoire Henry
76a59af376 Opam: use jbuilder.1.0.0-beta18 2018-03-08 14:38:57 +01:00
Grégoire Henry
f926cfc0ac Reset the chain 2018-03-08 07:08:24 +01:00
Grégoire Henry
cdeff6d3ca Fix 'script/reset_chain.sh' 2018-03-08 07:07:59 +01:00
Grégoire Henry
5d99c7c0ae Reset the chain 2018-03-07 18:39:23 +01:00
Grégoire Henry
b50d96ec2b Fix compilation with recent 're' Re.Str 2018-03-07 18:14:51 +01:00
Grégoire Henry
ad330db7e1 Opam: require jbuilder = 1.0.0-beta17 2018-03-07 18:12:12 +01:00
Vincent Bernardoff
684fe1110b P2P: doc and associated minor changes. 2018-03-01 14:16:33 +01:00
bruno
58804798ec Shell services: p2p errors: add registrations 2018-03-01 12:28:05 +00:00
bruno
5a37f6acf1 Shell: mv p2p errors to shell services
Notes:
1. P2p_socket.Rejected -> P2p_errors.Rejected_socket_connection
   to avoid conflict with P2p_pool.Rejected
2. Connection_closed error in P2p_pool unused and redundant with one
   in P2p_io_scheduler
2018-03-01 12:28:04 +00:00
Benjamin Canou
7de4ed5622 Alpha: fix the baker and endorser 2018-03-01 11:34:37 +01:00
Benjamin Canou
e148b370c0 Client: initialize logging in the client (for the daemons) 2018-03-01 11:34:10 +01:00
Benjamin Canou
8a6deca8a0 Shell: simplify operation injecion error handling 2018-03-01 10:33:42 +01:00
Benjamin Canou
249e4564d3 Alpha: fix spend_from_script 2018-02-28 14:59:01 +01:00
Grégoire Henry
b63b333b1a Alpha: allow to iter on delegates 2018-02-28 14:59:01 +01:00
Grégoire Henry
54efe8fcd7 Alpha: introduce Delegate_storage 2018-02-28 14:59:01 +01:00
Grégoire Henry
4c1e4bc6cd Alpha: use 'Data_set' for storing the spendable flag 2018-02-28 14:59:01 +01:00
Grégoire Henry
9ff3be14b6 Alpha/client: fix baking daemon
Missing classify operation.
2018-02-28 14:59:01 +01:00
Grégoire Henry
dcc5bc6b1a Alpha: remove warning 2018-02-28 14:59:01 +01:00
Pietro Abate
88e67707b7 Alpha: aggregate rolls per delegate 2018-02-28 14:59:01 +01:00
Grégoire Henry
6d900e3e52 Alpha: remove index of public keys
For delegate keys, we now use the revealed key of the associated
delegate contract.
2018-02-28 14:59:01 +01:00
Grégoire Henry
92f5ad6212 Alpha: forbid delegation to "unregistred delegate".
A "registred delegate" is a delegate that previously revealed its
public key and that registred itself as delegate of its own implicit
contract.

An implicit contract can only be delegated to itself ; it is then
considered as a "delegate contract". A delegate contract cannot be
deleted.
2018-02-28 14:59:01 +01:00
Grégoire Henry
38f46d832a Alpha/client: add a command for registering as delegate 2018-02-28 14:59:01 +01:00
Grégoire Henry
3a057ddad1 Alpha/client: add command "reveal key for <contract>" 2018-02-28 14:48:47 +01:00
Grégoire Henry
86561363b2 Alpha: explicit operation for key revelation 2018-02-28 14:48:47 +01:00
Grégoire Henry
fc2cd7ce5c Alpha: smaller endorsement operations
We don't include the delegate pkh in the operation anymore, and we
allow to group multiple endorsements in the same operations.
2018-02-28 14:48:47 +01:00
Grégoire Henry
a875a5f2e9 Alpha: ignore delegate with unrevealed keys when freezing rolls 2018-02-28 14:48:47 +01:00
Grégoire Henry
c78dd51f3d Alpha: rename "default contract" into "implicit contract" 2018-02-28 14:48:47 +01:00
Grégoire Henry
16758a5c74 Alpha: remove some alphanet specifics 2018-02-28 14:48:47 +01:00
Grégoire Henry
c125f822f5 Alpha: update storage fees policy.
Instead of having a minimal amount for contracts, we now burn
token when increasing the size of a contract storage.
2018-02-28 14:48:47 +01:00
Grégoire Henry
892acb0c72 Alpha: Minor style issue 2018-02-28 14:48:47 +01:00
Pietro Abate
7fcc8fa7f9 Alpha: Minor refactoring to may_start_new_cycle 2018-02-28 14:48:47 +01:00
Grégoire Henry
59d69c8fb1 Test: fix sandboxed scripts. 2018-02-28 14:48:47 +01:00
Benjamin Canou
40ea190364 Client: do not display usage on all errors 2018-02-28 12:14:21 +01:00
Benjamin Canou
8eee1c7a9c Node: cleanup logging of shell workers 2018-02-26 16:08:04 +01:00
Benjamin Canou
40a26759fc Node: fix error handling in block validator 2018-02-26 16:08:04 +01:00
bruno
f600fc57d4 Shell: improve pp for block locator 2018-02-26 15:52:36 +01:00
bruno
f5e3d99e24 Shell services: harmonise errors IDs 2018-02-26 15:52:36 +01:00
bruno
1171340a9f Shell: move shell errors into shell services
Allows the client to display shell errors properly.
Also adds some missing registrations, documentation and comments.
2018-02-26 15:52:36 +01:00
Marco Stronati
154f43d0bf Proto_alpha: removed empty mli in tests 2018-02-23 15:09:46 +00:00
Marco Stronati
54f0e21373 Proto_alpha: added test for raw_context rpc call 2018-02-23 15:09:45 +00:00
Marco Stronati
ce93c266e5 Client: added bash test for raw_context rpc call 2018-02-23 15:09:45 +00:00
Marco Stronati
d1c1ced970 Shell: added rpc to inspect context of a block
Added a block_service and corresponding handler in the node to perform
queries of the form '/blocks/<id>/raw_context/<path>?depth=<n>'
returning the sub-tree corresponding to <path> inside the context of
block <id>. The parameter <depth> controls the size of the tree,
default is 1.
2018-02-23 15:09:44 +00:00
Grégoire Henry
0a10b97e33 Client: fix query parameters handling in rpc call 2018-02-23 15:09:44 +00:00
Marco Stronati
f9ffb21e74 Node: removed duplicated export. 2018-02-23 15:09:43 +00:00
Marco Stronati
c3967e7bc0 RPC_encoding: fixed missing case in path encoding 2018-02-23 15:09:43 +00:00
Pierre Chambart
c92f370930 Add check of snapshot availability 2018-02-22 13:29:01 -05:00
Pierre Chambart
cd30ff95e7 Free roll freeze 2018-02-22 13:29:01 -05:00
Pierre Chambart
3b4490129b Snapshotable storage 2018-02-22 13:29:01 -05:00
Pierre Chambart
3caa5c2260 Add copy to the proto raw_context 2018-02-22 13:24:51 -05:00
Pierre Chambart
1a94bfd0e9 Add copy to the storage 2018-02-22 13:24:51 -05:00
Grégoire Henry
84d8b46662 Jbuilder: fix concurrency issue 2018-02-22 07:13:51 +01:00
Pierre Chambart
d18cc74ab4 Proto environment: clean Array 2018-02-22 05:36:57 +01:00
Pierre Chambart
d3cb77575d Proto environment: Remove Buffer 2018-02-22 05:36:57 +01:00
Pierre Chambart
35424af049 Proto environment: Remove Bytes 2018-02-22 05:36:57 +01:00
Pierre Chambart
78bc80e70c Proto environment: Get rid of Lwt_sequence 2018-02-22 05:36:57 +01:00
Pierre Chambart
f9feec825b Proto environment: A bit more cleaning of Format 2018-02-22 05:36:57 +01:00
Pierre Chambart
81a548829f Proto environment: Remove deprecated format functions 2018-02-22 05:36:57 +01:00
Pierre Chambart
590ddb750f Change compiler's requested version 2018-02-22 05:36:57 +01:00
Pietro
b5f9e2479f Client: fix unregistered error when there is a node already running 2018-02-21 23:40:28 +01:00
Vincent Botbol
b78d7bdaee Repair: fix sandbox initialization script 2018-02-21 18:34:55 +01:00
Pietro
79f7cf3943 Node: Add docstrings to Data encodings for node config parameters 2018-02-21 10:59:12 +00:00
Benjamin Canou
8a1f4acfcd Remove dangling file 2018-02-20 22:40:41 +00:00
Grégoire Henry
f999524887 Proto/env: add missing type equalities 2018-02-20 18:29:56 +01:00
Pietro
fa0175263f Node: Add bootstrap_threshold to the client config cli 2018-02-20 10:40:18 +00:00
Pietro
e7bb484ead Node: print config file options in manpage 2018-02-20 11:31:15 +01:00
Grégoire Henry
697b291782 Merge `tezos-protocol-environment-{sigs,client} 2018-02-18 17:11:16 +00:00
Grégoire Henry
0e79a65158 Shell: rename Block_header.proto/data into protocol_data 2018-02-18 17:11:13 +00:00
Milo Davis
67b3338907 Client: update typecheck program flags and michelson mode 2018-02-17 20:42:03 -05:00
Benjamin Canou
bb0fa86d91 Client: rename client context classes for clarity 2018-02-16 18:12:29 +01:00
Vincent Bernardoff
54e96092b4 Client: add encrypted signature scheme 2018-02-16 18:12:29 +01:00
Benjamin Canou
67019246e9 Client: add method prompt to context and cleanup Unix context 2018-02-16 11:08:45 +01:00
Vincent Bernardoff
dfeb96842a Crypto: add Secretbox 2018-02-16 11:08:45 +01:00
Vincent Bernardoff
28adbb5814 Utils: add getpass 2018-02-16 11:08:45 +01:00
Grégoire Henry
6fa1283240 Shell: Rename net_id into chain_id 2018-02-16 02:57:25 +01:00
Benjamin Canou
e2be3360a9 Client: split client-alpha into lib and commands and extract the baker 2018-02-15 22:54:39 +01:00
Benjamin Canou
a55a60c59b Client: proper error on unknown global flag 2018-02-15 19:59:50 +01:00
Benjamin Canou
a1984ee090 Client: fix minor display glitches 2018-02-15 19:59:50 +01:00
Benjamin Canou
dd1b200306 Client: split client-base into client-base and client-commands 2018-02-15 19:59:50 +01:00
Benjamin Canou
7e6a4a5333 Client: minor refactoring 2018-02-15 18:21:18 +01:00
Benjamin Canou
c66f9b7733 Remove dangling jbuild file 2018-02-15 18:21:18 +01:00
Benjamin Canou
345bbc715d Client: move protocol injection commands to the admin client 2018-02-15 18:21:18 +01:00
Benjamin Canou
bacb55800d Client: split Client_commands into Client_commands and Client_context 2018-02-15 18:21:18 +01:00
Benjamin Canou
cafcaf925b Client: cleanup admin commands 2018-02-15 18:21:18 +01:00
Benjamin Canou
a14616517e Client: split client-base modules into functions / commands 2018-02-15 18:21:18 +01:00
Benjamin Canou
b3066d6a24 Client: remove Unix dependencies from client-base and client-alpha 2018-02-15 18:21:15 +01:00
Benjamin Canou
d983f601a6 Client: add --long and -s(hort) options 2018-02-15 18:20:45 +01:00
Benjamin Canou
3729e4f3ce Client: restore alias autocompletion 2018-02-15 18:20:45 +01:00
Benjamin Canou
42566e9dcd Client: move Unix out of Cli_entries and a bit of output cleanup 2018-02-15 18:20:42 +01:00
Benjamin Canou
2c2f0a1818 Cli_entries: export formatter setup functions 2018-02-15 18:19:17 +01:00
Benjamin Canou
a830c29185 Cli_entries: more docstrings 2018-02-15 18:19:17 +01:00
Vincent Bernardoff
62f436eda9 Base: use Re_str instead of non-thread-safe library Str 2018-02-15 18:19:17 +01:00
bruno
227232e6c7 Shell: delete duplicated functor 2018-02-15 17:38:19 +01:00
Vincent Bernardoff
f8ded9ca28 Comparable: add Make 2018-02-15 17:36:42 +01:00
Grégoire Henry
322fc1e353 RPC: move p2p services registration in tezos-p2p 2018-02-15 00:29:15 +01:00
Pietro
c67e6d4b04 Client/test: Add shell script to test protocol injection 2018-02-14 11:48:33 +01:00
Pietro
4d9f440aae Fix protocol injection
- Rename Tezos_protocol_compiler_native__Registerer
- Pass module without extension to the compiler
2018-02-13 15:02:32 +01:00
Grégoire Henry
515765926f Shell/test: minor fix in Test_locator 2018-02-13 13:25:49 +01:00
bruno
4fa11bdf28 Error_monad: improve error message for unrecognized errors 2018-02-13 13:24:54 +01:00
Grégoire Henry
77bd0af3d1 Shell/test: add option to not enforce context hash in block header 2018-02-12 16:59:59 +01:00
Grégoire Henry
7643fa9b15 Alpha: split Services/Services_registration and Client_proto_rpcs 2018-02-12 16:56:59 +01:00
Grégoire Henry
e4cde4c196 Client: introduce an alternative context alpha's commands 2018-02-12 16:56:59 +01:00
Grégoire Henry
d539072f1b Proto/env: export RPC_context 2018-02-12 16:56:59 +01:00
Grégoire Henry
4a1da9407e Client/test: minor code simplification 2018-02-12 16:56:59 +01:00
Grégoire Henry
3b95f77225 Alpha: split Tezos_hash multiple source files 2018-02-12 16:56:59 +01:00
Grégoire Henry
5fff7b3c1b Alpha: rename Tezos_context -> Alpha_context 2018-02-12 16:56:59 +01:00
Grégoire Henry
6a5a235d42 Client refactor: Proto_alpha.Environment -> Alpha_environment 2018-02-12 16:56:59 +01:00
Grégoire Henry
91143452e3 Proto/env: allow some Lwt in the construction of rpc_context 2018-02-12 16:54:08 +01:00
Grégoire Henry
82530eeb29 Proto/env: export *_hash.zero 2018-02-12 16:54:08 +01:00
Grégoire Henry
2c90308caf Client refactor: Client_proto_rpcs.block -> Block_services.block 2018-02-12 16:54:08 +01:00
Grégoire Henry
83307c6de0 Client: more open #full_context 2018-02-12 16:54:08 +01:00
Grégoire Henry
29e1735115 Client: add Cli_entries.map_command 2018-02-12 16:54:08 +01:00
Grégoire Henry
0bd31b0c38 Client refactor: remove last bits of lib_client_base/client_rpcs.ml
Split between `lib_rpc_http/RPC_client` and
`lib_shell_services/Block_services`.
2018-02-12 16:54:08 +01:00
Grégoire Henry
db1f134e45 Client refactor: use the error_monad for all RPC services (protocol) 2018-02-12 16:54:08 +01:00
Grégoire Henry
66c2a60530 Client refactor: use the error_monad for all RPC services 2018-02-12 16:54:08 +01:00
Grégoire Henry
a70a0788d3 Test: quick and dirty port to alcotest 2018-02-12 02:09:00 +01:00
Grégoire Henry
24fe0cc02c opam: fix package description 2018-02-11 20:03:52 +01:00
Grégoire Henry
4d69404049 Proto/env: move signature from Updater to Protocol_environment 2018-02-11 19:45:40 +01:00
Grégoire Henry
c9822abab7 Resto: minor simplification (remove RPC_service.map) 2018-02-11 19:45:40 +01:00
Grégoire Henry
0f0ec6ab7a Jbuilder: fix dependencies in the tezos-compiler hack 2018-02-11 19:17:39 +01:00
Grégoire Henry
d417a679e6 Alpha/test: fix symbolic link 2018-02-11 19:17:38 +01:00
Grégoire Henry
f6b55fa46d Test: fix manual execution of ./test-basic.sh 2018-02-11 19:17:38 +01:00
Grégoire Henry
0e675c2d16 Client refactor: add calling function in Worker_services 2018-02-08 17:23:30 +01:00
Grégoire Henry
1858bdd852 Client refactor: Move Client_node_rpcs into Shell_services 2018-02-08 17:23:30 +01:00
Grégoire Henry
21789be756 Client refactor: Move Client_node_rpcs.Protocols into Protocols_services 2018-02-08 17:23:30 +01:00
Grégoire Henry
37e65d93e7 Client refactor: Move Client_node_rpcs.Network into P2p_services 2018-02-08 17:23:30 +01:00
Grégoire Henry
02c2035e93 Client refactor: Move Client_node_rpcs.Block into Block_services 2018-02-08 17:23:30 +01:00
Grégoire Henry
db500b5ebd RPC_service: hide the 'error type parameter 2018-02-08 17:23:30 +01:00
Grégoire Henry
5c2ba214f0 Client refactor: Move handling of unix error from Error_monad to stdlib-unix 2018-02-08 17:23:30 +01:00
Grégoire Henry
41d30777a6 Client refactor: remove Utils.read_file... 2018-02-08 17:23:30 +01:00
Grégoire Henry
1f0c10bc6f Client refactor: Rename stdlib-lwt into stdlib-unix 2018-02-08 17:23:30 +01:00
Grégoire Henry
484b5b5b08 Client refactor: move stdlib_lwt out of base 2018-02-08 17:23:30 +01:00
Grégoire Henry
84d8ae9222 Client refactor: Move Data_encoding_ezjsonm.read_file into Lwt_utils_unix 2018-02-08 17:23:30 +01:00
Grégoire Henry
24c6f4ea98 Client refactor: Move Lwt_utils_unix.protect into Error_monad 2018-02-08 17:23:30 +01:00
Grégoire Henry
7dc52dcf10 Client refactor: Move Lwt_Exit into base 2018-02-08 17:23:30 +01:00
Grégoire Henry
27ae0591b1 Client refactor: Move Cli_entries into base 2018-02-08 17:23:30 +01:00
Grégoire Henry
8c58d7a610 Client refactor: Move non-unix part of Data_Encoding_Ezjsonm into Data_Encoding.Json 2018-02-08 17:23:30 +01:00
Grégoire Henry
c55181273c Client refactor: Move non-unix depend modules of stdlib-lwt into stdlib 2018-02-08 17:23:29 +01:00
Grégoire Henry
154b932713 Client refactor: Remove usage of Lwt_unix from Lwt_dropbox 2018-02-08 17:23:29 +01:00
Grégoire Henry
8f7f205031 Client refactor: Remove usage of Lwt_unix from Lwt_pipe 2018-02-08 17:23:29 +01:00
Grégoire Henry
7a3277e625 Client refactor: Move part of Logging into Logging_unix 2018-02-08 17:23:29 +01:00
Grégoire Henry
f61eed1a67 Client refactor: move part of Lwt_utils in Lwt_utils_unix 2018-02-08 17:23:29 +01:00
Grégoire Henry
f22b3576d2 Client refactor: simpler dependencies in tezos-crypto 2018-02-08 17:23:29 +01:00
Grégoire Henry
2f295a3af8 P2p: less types in lib_base
Let's only have types required for the RPCs.
2018-02-08 17:23:29 +01:00
Marco Stronati
67ac4d8f5c Protocol: change external to val in zarith protocol env 2018-02-08 15:28:32 +00:00
Marco Stronati
3ca9a081f9 Locator: added extended test with benchmark 2018-02-08 15:18:11 +00:00
Marco Stronati
d05dceb0b0 State: export predecessor_n 2018-02-08 15:18:10 +00:00
Marco Stronati
f8e69ac8f5 Locator: added test for size 0 and size larger than chain 2018-02-08 15:18:09 +00:00
Marco Stronati
0890034575 State: removed old linear predecessor 2018-02-08 15:18:09 +00:00
Marco Stronati
f62ce16e5c Locator: rewrote compute to use efficient predecessor from state 2018-02-08 15:18:09 +00:00
Marco Stronati
95a4ede273 State: added function to get predecessor at any distance 2018-02-08 15:18:08 +00:00
Marco Stronati
738310df62 State: added a function to populate the predecessors storage 2018-02-08 15:18:08 +00:00
Marco Stronati
eaf2103967 Storage: added a dedicated store for predecessors under /block/ 2018-02-08 15:18:08 +00:00
Benjamin Canou
75f4946072 Alpha: remove unused function 2018-02-07 12:24:01 +01:00
Grégoire Henry
acffadafae Jbuilder: fix warning 2018-02-07 11:16:39 +01:00
Vincent Bernardoff
e1d1292c09 Crypto: drop libsodium
We now use simpler OCaml bindings much easier to review.
2018-02-07 11:16:39 +01:00
Benjamin Canou
8bec8b7b9c Michelson: add isolate test for big maps 2018-02-06 17:04:49 +01:00
Benjamin Canou
5ae24aa7a3 Scripts: repair tezos-autocomplete, and make it work with emacs and zsh 2018-02-06 17:04:49 +01:00
Benjamin Canou
0352278621 Emacs: repair Michelson parsing error reporting 2018-02-06 17:04:49 +01:00
Milo Davis
79472c727a Michelson: introducing big maps, limited edition
Quick and dirty (yet safe, of course) implementation of lazily
  deserialized maps for storing large collections of indexed data.

  Only one big_map is allowed, as the left component of the toplevel
  storage pair.

  Review and bugfixes: Benjamin Canou <benjamin@canou.fr>
2018-02-06 17:00:54 +01:00
Benjamin Canou
3d0ec5deb4 Michelson: remove instruction MAP on sets 2018-02-06 16:32:30 +01:00
Grégoire Henry
575e367026 Update copyright notice (2018) 2018-02-05 23:34:05 +01:00
Grégoire Henry
e28219ad60 Opam: update to jbuilder.1.0+beta17 2018-02-05 23:34:05 +01:00
Grégoire Henry
c4c375dfc2 Proto_alpha/test: module renaming 2018-02-05 23:34:05 +01:00
Grégoire Henry
c6bf7d78b6 Proto_alpha/test: split tests. 2018-02-05 23:34:05 +01:00
Grégoire Henry
7929027793 Proto/test: do not depend on shell
For the test suite we only use the in-memory context.
2018-02-05 23:34:05 +01:00
Grégoire Henry
a6ab12e701 Context: add an alternative in-memory only implementation 2018-02-05 23:34:05 +01:00
Grégoire Henry
971c3c4b21 Refactor: move Registred_protocol from State to Tezos_updater 2018-02-05 23:34:05 +01:00
Grégoire Henry
2498da2815 Protocol_environment: more sharing between node and client 2018-02-05 23:34:05 +01:00
Grégoire Henry
dffa65f648 Test: add test dependencies into *.opam and fix .gitlab-ci.yml 2018-02-05 23:34:05 +01:00
Grégoire Henry
0166f2325e Test: move test into src/bin_client/test 2018-02-05 23:34:05 +01:00
Grégoire Henry
f7668c3799 Test: move test/proto_alpha into proto_alpha/lib_client/test 2018-02-05 23:34:05 +01:00
Grégoire Henry
4d5e55595b Test: split test/shell into src/lib_{storage,shell} 2018-02-05 23:34:05 +01:00
Grégoire Henry
868514af2b Test: move test/proto_alpha_isolate into proto_alpha/lib_protocol/test 2018-02-05 23:34:05 +01:00
Grégoire Henry
14d902a3fc Test: split out test/{p2p,utils} in various package dir 2018-02-05 23:34:05 +01:00
Grégoire Henry
6205ca9b31 Test: move data_encoding tests 2018-02-05 23:34:04 +01:00
bruno
ffe41a003c Michelson: add comments + registration for "Transfer in DIP" 2018-02-05 15:57:15 +01:00
bruno
ff7a8abb27 Michelson: mv registration of type-checking errors in a specific file 2018-02-05 15:49:30 +01:00
bruno
21c4cc6e69 Michelson: add registration for Overflow + some comments 2018-02-05 15:06:00 +01:00
bruno
75f29f4a05 Michelson: mv typechecking error definitions to a separate file 2018-02-05 14:58:19 +01:00
Grégoire Henry
d8151c0d00 Proto/alpha: use two operations list (endorsement / others) 2018-02-02 11:56:57 +01:00
Grégoire Henry
a1122f2083 Baking: handle validation passes 2018-02-02 11:56:57 +01:00
Grégoire Henry
09a7e98f9d Shell: enforce the allowed passes of an operation 2018-02-02 11:56:57 +01:00
Grégoire Henry
618a43b485 Proto: export acceptable_passes 2018-02-02 11:56:54 +01:00
Grégoire Henry
ae3ff0503b Proto: the number of validation is now a protocol constant 2018-02-02 10:27:58 +01:00
Benjamin Canou
42023753a2 Client: add signer modules documentation 2018-02-01 23:16:13 +01:00
Vincent Bernardoff
4ffb00ffde Client: segregate signing 2018-02-01 23:16:13 +01:00
Vincent Bernardoff
95ccd34864 Client: remove useless argument 2018-02-01 22:11:46 +01:00
Gabriel Alfour
aeb910b9f9 Utils: add a few primitives 2018-02-01 16:57:07 +01:00
Benjamin Canou
efef124261 Fix typo in tezos-protocol-compiler.opam 2018-01-31 23:27:53 +01:00
Benjamin Canou
0863a2a9e4 Docs: add online help pages for the client 2018-01-31 14:51:56 +00:00
Benjamin Canou
6063f67992 Client: restore automatic verbosity in man 2018-01-31 14:51:55 +00:00
Benjamin Canou
329e13cefa Client: add quick and dirty HTML output for man to produce online help pages 2018-01-31 14:51:54 +00:00
Benjamin Canou
f86438c56a Client: better verbosity levels in help pages 2018-01-31 14:51:54 +00:00
Benjamin Canou
2178a6adee Client: cleanup / homogeneize command docs 2018-01-31 14:51:54 +00:00
Benjamin Canou
02bc0533fa Client: add placeholders for arguments in help screens 2018-01-31 14:51:53 +00:00
Benjamin Canou
3955b6a61d Client: add colors to client help screens 2018-01-31 14:51:52 +00:00
Grégoire Henry
de80f0150b Compiler: allow bytecode compilation 2018-01-31 14:45:32 +00:00
Milo Davis
d1b4230962 Michelson: export and printing for Duplicate_field error 2018-01-31 14:06:35 +01:00
Milo Davis
695b23bd92 Michelson: export and printing for Type_too_large error 2018-01-31 11:25:50 +00:00
Grégoire Henry
8dcc5cefb5 jbuild: fix installation of tezos-protocol-alpha 2018-01-30 14:55:04 +01:00
Grégoire Henry
4b142184fa opam: fix tezos-client-base dependencies 2018-01-30 12:23:38 +01:00
Grégoire Henry
657e214e83 Refactor: rename tezos-client-environment into tezos-protocol-environment-client 2018-01-30 11:54:57 +01:00
Grégoire Henry
ca29c92442 Refactor: move tezos-micheline below tezos-base 2018-01-30 11:47:57 +01:00
Grégoire Henry
f2de3ffa3e Proto_sigs: split the deprecated module Hash 2018-01-30 11:25:52 +01:00
Grégoire Henry
04465e3ac6 Proto_sigs: split the deprecated module Tezos_data 2018-01-30 11:25:46 +01:00
Grégoire Henry
70a4fbac3a Refactor: rename package tezos-embedded-client-* -> tezos-client-* 2018-01-30 10:13:40 +01:00
Grégoire Henry
fda8b4ee5f Refactor: rename prota_alpha/lib_proto 2018-01-30 10:13:40 +01:00
Grégoire Henry
c75756bd6d Refactor: introduce lib_client_environment
This allow to use the functorised version of the protocol in the
client.
2018-01-30 10:13:40 +01:00
Grégoire Henry
acc0c5c512 Compiler: allow not to generate Registerer 2018-01-30 10:13:40 +01:00
Grégoire Henry
0c2acd2d48 RPC: simplify Worker.EVENT 2018-01-30 10:13:40 +01:00
Grégoire Henry
e664179927 Refactor: CI: check opam packages 2018-01-30 10:13:40 +01:00
Grégoire Henry
1d5b4c1e3b Refactor: merge lib_p2p_services into lib_shell_services
Also split the module `Shell_services` in smaller modules.
2018-01-30 10:13:40 +01:00
Grégoire Henry
7277c9889b Refactor: Move/split P2p_types into lib_base 2018-01-30 10:13:40 +01:00
Grégoire Henry
be9f068478 Refactor: More PRC types into Tezos_base 2018-01-30 10:13:40 +01:00
Grégoire Henry
c4420ac40e Refactor: Move Blake2B.Make instanciation into Tezos_base 2018-01-30 10:13:40 +01:00
Grégoire Henry
b0466aceed Refactor: Fix lib_protocol_updater dependencies 2018-01-30 10:13:40 +01:00
Grégoire Henry
96e493006c Refactor: Rename lib_node_updater -> lib_protocol_updater 2018-01-30 10:13:40 +01:00
Grégoire Henry
96fe5239c9 Refactor: Rename lib_node_shell -> lib_shell 2018-01-30 10:13:40 +01:00
Grégoire Henry
58388bd304 Refactor: Merge lib_node_shell_base/lib_node_services} -> lib_shell_services 2018-01-30 10:13:40 +01:00
Grégoire Henry
552237673e Refactor: Move Mempool and Block_locator into lib_base 2018-01-30 10:13:26 +01:00
Grégoire Henry
4acdfc67fb Refactor: Remame lib_node_p2p/p2p_base into lib_p2p/p2p_services 2018-01-30 10:13:26 +01:00
Grégoire Henry
e0a2570988 Refactor: Rename Node_rpc_services.Network into P2p_services 2018-01-30 10:12:55 +01:00
Grégoire Henry
1f3c68cbd8 Refactor: Regroup protocols 2018-01-30 10:12:55 +01:00
Grégoire Henry
a3d0ee644a Refactor: Rename lib_rpc_base -> lib_rpc 2018-01-30 10:12:55 +01:00
Grégoire Henry
66fb1811ae Opam: add missing dep in tezos-node-shell-base 2018-01-28 20:02:51 +01:00
Milo Davis
f00c7c0667 Data encoding: fail on string_enum that should be a constant 2018-01-27 15:30:09 +01:00
Milo Davis
c77cbcb30b Data_encoding: use constant from ocplib-json-typed 2018-01-27 15:30:09 +01:00
Grégoire Henry
ea500256f0 P2p: tentative fix for #98 2018-01-27 15:30:09 +01:00
Grégoire Henry
e7483ff392 Opam: new release of ocp-ocamlres 2018-01-27 14:55:57 +01:00
Grégoire Henry
0c51f7a7ca Proto: Fix warning 2018-01-27 13:37:03 +01:00
Grégoire Henry
a30f20c4e3 Base: remove Lwt_utils.canceler
It has been replaced by `Lwt_canceler`
2018-01-27 13:35:47 +01:00
Benjamin Canou
9060122b26 Node: only validate branches that can increase the current head's fitness
And also make the check when processing new head increments. That way
we prevent spamming with valid head successors that bear the same
fitness.
2018-01-27 13:34:02 +01:00
Benjamin Canou
41ad73a3ed Utils: remove Lwt_utils.queue 2018-01-27 13:34:02 +01:00
Benjamin Canou
6f34b85504 RPC: net validator worker introspection 2018-01-27 13:34:02 +01:00
Benjamin Canou
0779221d04 Node: switch the net validator to Tezos_worker 2018-01-27 13:34:02 +01:00
Benjamin Canou
e5405c2f72 RPC: peer validator worker introspection 2018-01-27 13:34:02 +01:00
Benjamin Canou
ecbf1805e1 Node: switch the peer validator to Tezos_worker 2018-01-27 13:34:02 +01:00
Benjamin Canou
50b1957714 RPC: block validator worker introspection 2018-01-27 13:34:02 +01:00
Grégoire Henry
6d3f5af163 Node: switch the block validator to Tezos_worker 2018-01-27 13:34:02 +01:00
Benjamin Canou
4e04e233a0 RPC: prevalidator worker introspection 2018-01-27 13:34:02 +01:00
Benjamin Canou
98ec3393b6 Node: switch the prevalidator to Tezos_worker 2018-01-27 13:34:02 +01:00
Benjamin Canou
d50402c27b Introduce Tezos_shell.Worker 2018-01-27 13:34:02 +01:00
Benjamin Canou
4d197b4ba3 Node: document an internal prevalidator error 2018-01-27 12:43:37 +01:00
Benjamin Canou
cd94b998c0 Node: throttle advertisement of newly discovered operations a little bit 2018-01-27 12:43:37 +01:00
Benjamin Canou
755d63c0ef Node: limit the refused operations cache in the prevalidator 2018-01-27 12:43:37 +01:00
Benjamin Canou
0652808259 Shell: refactoring of the prevalidator 2018-01-27 12:43:37 +01:00
Benjamin Canou
566a92197b Get rid of forced operation injection 2018-01-27 12:43:37 +01:00
Benjamin Canou
dee86fb462 Utils: add Lwt_pipe.pop_with_timeout 2018-01-27 12:43:37 +01:00
Benjamin Canou
9b09e70f5e Utils: add Ring.clear 2018-01-27 11:33:30 +01:00
Benjamin Canou
bb90cc9dec Utils: add Lwt_pipe.peek_all 2018-01-27 11:33:30 +01:00
Benjamin Canou
2441ad6026 Utils: add Ring.add_and_return_erased 2018-01-27 11:33:30 +01:00
Benjamin Canou
f145c4b196 Utils: add Lwt_pipe.pop_all_now 2018-01-27 11:33:30 +01:00
Benjamin Canou
cfd5151279 Alpha: fix colliding JSON schema definitions 2018-01-27 11:33:30 +01:00
Grégoire Henry
6e629584ff Jbuilder: fix rule runtest_indent 2018-01-27 11:32:57 +01:00
Milo Davis
545cd0c869 Client: commands to update config file 2018-01-25 23:22:59 +01:00
Milo Davis
937869da43 Client: split admin/debug commands into separate executable 2018-01-25 15:57:20 +00:00
Milo Davis
c98426fb02 Debug: unmark invalid block 2018-01-25 15:57:20 +00:00
Pietro
df746e606d Indent: reindent with ocp-indent and fix the script 2018-01-25 15:01:12 +00:00
Grégoire Henry
bd8eaddc8c Resto: properly handle text/ocaml.exception. 2018-01-25 12:33:13 +01:00
Milo Davis
00f7a0ea87 RPC: improves error handling for exceptions on generic RPCs 2018-01-25 12:33:13 +01:00
Pietro
4109adfd77 Node: properly report RPC port already in use, fixes #69 2018-01-24 18:28:19 +01:00
Bruno B
ce35bc5346 Michelson: light refactoring of equality witnesses 2018-01-23 13:35:48 +00:00
Benjamin Canou
adf860ea40 Docs: new documentation structure using Sphinx/RST
- Provides a toplevel documentation structure using Sphinx
 - Adds a `doc-html` target to the main Makefile
 - Converts existing documentation to RST format
 - Add some new documentation / tutorials
 - Links the developer manual and OCaml documentation
 - Synchronized documentation on Gitlab pages

This patch is co-authored by:
 - Benjamin Canou <benjamin@canou.fr>
 - Bruno Bernardo <bernardobruno@gmail.com>
 - Pietro Abate <pietro.abate@inria.fr>
2018-01-23 08:02:17 +01:00
Benjamin Canou
64c65558d8 Node: add missing error pretty printers 2018-01-22 22:25:30 +01:00
Pietro
2f85dc526d Node: fails gracefully if data dir cannot be created, fixes #83 2018-01-22 22:25:30 +01:00
Grégoire Henry
0abdb2a893 Minor renaming. 2018-01-22 09:20:53 +01:00
Grégoire Henry
bfb2d223c0 opam: fix sandboxed scripts 2018-01-22 09:20:46 +01:00
Milo Davis
fbeff067c3 lib_RPC: bonary -> binary 2018-01-21 16:27:16 +00:00
Milo Davis
6e56b7b5e7 Client: Typo in michelson error reporting 2018-01-19 13:59:09 +01:00
Milo Davis
4433395c6e Proto/Env: export the Option module 2018-01-19 13:59:04 +01:00
Milo Davis
b8063b40fe Storage: add omitted case to storage_error_encoding 2018-01-19 13:59:01 +01:00
Grégoire Henry
525b09259f Fix d9405292a4 2018-01-18 16:08:20 +01:00
Vincent Bernardoff
e6f773f697 Base58: encode secret keys as seed 2018-01-18 10:45:47 +01:00
Pietro
d9405292a4 Move all packages to src/
Modify Makefile accordingly
2018-01-16 23:11:39 +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
ab5b597eb1 Jbuilder: Move client & node libraries in their own OPAM packages 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
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
Milo Davis
7bed296525 Client: stuck node debug command 2017-11-27 10:40:42 +00:00
Benjamin Canou
61f7a95102 RPCs: fix encoding of list_invalid RPC 2017-11-27 10:40:41 +00:00
Milo Davis
9f45ae9126 Node: listing of invalid blocks 2017-11-27 10:40:41 +00:00
Milo Davis
42e29c8f4a Node: allow invalid block errors to be stored 2017-11-27 10:40:40 +00:00
Milo Davis
059e4cac79 Fix spelling mistake 2017-11-27 10:40:39 +00:00
Grégoire Henry
c6b4a83e2b Reset the chain. 2017-11-26 22:49:20 +00:00
Grégoire Henry
667d4fd575 Alphanet: never more than 5 faucet operations per block 2017-11-26 22:49:20 +00:00
Grégoire Henry
a648c34f0a Alphanet: let the number of rolls never reach 100000.
This is a hack! This is a possible mitigation for the 'faucet war'.
2017-11-26 22:49:19 +00:00
Grégoire Henry
7bd5ef32d9 Alpha: better spreading of roll storage
This greatly reduces the time spent reading roll, while it only
slightly increase the time spent while 'freezing' rolls at the end of
a cycle.
2017-11-26 22:49:18 +00:00
Grégoire Henry
485d8bc26a Context: quick-and-dirty leveldb backend for Irmin
This is a dirty and non-optimized backend, it is still faster than the
current git backend.

Main drawbacks:
- the leveldb binding is non-coopertive, the node will
  block while committing a block to the disk ;
- the leveldb use 'string' while internally we use 'cstruct',
  this implies a lot of time-consuming 'memcpy'.
2017-11-26 22:49:17 +00:00
Grégoire Henry
3fcc6df975 Alpha: use recursive removal when possible 2017-11-26 22:49:16 +00:00
Benjamin Canou
450d0dba4e Client: remove trace of the web client. 2017-11-26 23:32:04 +01:00
Pietro Abate
b4573fb323 Client: duplicates results in list versions. 2017-11-26 23:31:58 +01:00
Pietro Abate
4c30016af3 Client: add -protocol to the client command line. 2017-11-26 23:30:38 +01:00
Milo Davis
f2c27c78ab Fixes Github issue #141 (no implementation of EndianBigstring) 2017-11-22 16:07:05 +00:00
Grégoire Henry
f9e6831363 Shell: enforce maximum operation size 2017-11-20 05:03:00 +01:00
Grégoire Henry
84a2f1ee29 Shell: enforce the maximum number of operation per block 2017-11-20 05:03:00 +01:00
Grégoire Henry
3c06879deb Shell: add Error_monad.{iter2_p,iteri2_p} 2017-11-20 04:57:09 +01:00
Grégoire Henry
06a6cf5b9a Proto: allow to update 'max_number_of_operations'
The constant is now defined per block and not per protocol.
Also allows to set a limit per validation pass.
2017-11-20 04:57:09 +01:00
Grégoire Henry
13dd470d06 More renaming: 'mine' -> 'bake' 2017-11-20 04:27:27 +01:00
Grégoire Henry
42681dfea5 Jbuilder: better error reporting 2017-11-20 01:21:54 +01:00
Benjamin Canou
ac62538eb6 Alpha: remove some fixme and assert false 2017-11-17 15:54:36 +01:00
Grégoire Henry
17644e0fa3 Proto: reimplements Storage_functors with iterable indexes
The new `Storage_functors` is now a "functional" equivalent of the
"imperative" `Store_helpers` used in the shell.
2017-11-17 15:54:36 +01:00
Grégoire Henry
b6b59be5fd Jbuilder: minor improvement in error reporting. 2017-11-17 15:54:36 +01:00
Grégoire Henry
a7364f0ed5 Proto_env: remove Context.list
This was a reminder of old-time (before irmin-1.0). It is now replaced
with: `Context.{fold,keys}`.
2017-11-17 15:54:36 +01:00
Grégoire Henry
49b7db258d Move Persist from the shell to the protocol.
It is not used anymore in the shell.
2017-11-17 15:54:36 +01:00
Benjamin Canou
1d357587d0 Node: register error Validator.Inactive_network 2017-11-17 14:13:55 +01:00
Grégoire Henry
659d1aa63a Shell: remove unrequired net_id from network messages 2017-11-17 14:13:55 +01:00
Grégoire Henry
178d839ee1 Shell: remove net_id from the block header. 2017-11-17 14:13:55 +01:00
Grégoire Henry
b7deebaf42 Shell: Remove net_id from the operation header.
The `branch` of the operation contains enough information to induce
the `net_id`, and the code of the validator/prevalidator is now mature
enough to efficiently determine the `net_id` of an incoming operation.
2017-11-17 14:13:55 +01:00
Grégoire Henry
4d2bc49960 Shell: memorize the current list of live blocks and operations 2017-11-17 14:13:55 +01:00
Grégoire Henry
1d71ea5718 Fix docstring attachment 2017-11-17 14:13:55 +01:00
Grégoire Henry
6a00c55c4e Shell: add docstrings for the validator. 2017-11-17 14:13:55 +01:00
Grégoire Henry
119f724e64 Mempool: also broadcast 'branch_{delayed,refused}' operations 2017-11-17 14:13:55 +01:00
Grégoire Henry
3e39f82bee Shell/baker: inline full operation contents in RPC. 2017-11-17 14:13:55 +01:00
Grégoire Henry
1163c19213 Shell: add configuration variable for various timeouts. 2017-11-17 14:13:55 +01:00
Grégoire Henry
910b43726b Shell: add CLI options for bootstrap_threshold 2017-11-17 14:13:55 +01:00
Grégoire Henry
f3555488c7 Shell: use one 'validation worker' per peer.
The single validation module is split in multiple (simpler)
modules. In the process, we introduce one "validation worker" per
peer. This worker handle all the `New_head` and `New_branch`
advertised by a given peer. For so, it sends "fetching request" and
"validation request" to respectively the `Distributed_db` and and the
`Block_validator`. These two global workers are responsible of the
'fair' allocation of network and CPU ressources amongst the connected
'peers'.
2017-11-17 14:13:55 +01:00
Grégoire Henry
c5b5a87ab7
P2p: add regression test for oversized message 2017-11-17 13:46:27 +01:00
Grégoire Henry
529795efd7
Reset the chain 2017-11-17 02:51:39 +01:00
Grégoire Henry
72c414aaeb
P2p: fix bound checks
Credit to `tomjack` on freenode.
2017-11-17 01:58:41 +01:00
Pietro Abate
472f1d53d1 Some docstrings in src/proto/alpha 2017-11-15 13:14:37 +01:00
Pietro Abate
3e1c4008c3 Add docstrings in src/environment/v1/ 2017-11-15 13:14:16 +01:00
Grégoire Henry
1429a6c8e6 Almost too late for copyright update. 2017-11-15 13:13:16 +01:00
Grégoire Henry
b810b360ea Add missing copyright headers. 2017-11-15 13:11:11 +01:00