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
Marco Stronati
0940442148
Alpha: fixed type of Tez for constants
2018-04-12 16:40:42 +02:00
Grégoire Henry
c6ffe4a5d9
Alpha: better threading of fees and rewards
2018-04-10 16:23:53 +00:00
Vincent Bernardoff
401eeceefb
Client: fix error when signing with encrypted keys
2018-04-09 17:14:15 +02:00
Grégoire Henry
ce2d196bb5
Data_encoding: be compatible with 32bits platform.
...
We should not accept for `data_encoding.ranged_int` values that cannot
fits in `int31`. Iw we wnat more, we should introduce `ranged_int32`
or `ranged_int64`.
2018-04-09 13:17:04 +00:00
Marco Stronati
a8beaec40a
Alpha: added a rpc to retrieve all constants at once.
2018-04-09 15:05:46 +02:00
Vincent Botbol
91dfb730bf
Alpha: parametrize protocol activation with commitments and bootstrap accounts
2018-04-09 15:05:46 +02:00
Milo Davis
e6418b4602
Test: minor improvements to test_lib.inc.sh
...
- Can now set show_logs variable from outside the script
- Better logging for assert_balance
- bake_after can now handle quoted arguments
2018-04-08 11:41:37 -04:00
Pietro
80cdf6d0b3
Shell: A bit of randomization for gap in block locators.
...
The random seed is computed from the sender and receiver `peer_id`.
2018-04-07 18:29:02 +02:00
Grégoire Henry
5f69ae87d2
Sandbox: deactivate the minimal stamp of proof of work for bakers
2018-04-06 13:45:13 +02:00
Grégoire Henry
745aabcd22
Script: allow to reinitialize a sandboxed client
...
Running twice the `tezos-init-sandboxed-client.sh` should remove from
the disk the previous client and initialize a new one.
2018-04-06 13:35:09 +02:00
Grégoire Henry
4f2b2f8ece
Alpha: use Base58 for displaying commitment
2018-04-06 11:56:32 +02:00
Grégoire Henry
9ffead02d2
Shell: simplify hash signatures
2018-04-06 11:56:32 +02:00
Arthur B
21efb2dc9d
Jbuilder: update to beta.19.1
2018-04-06 11:47:22 +02:00
Grégoire Henry
b7c2bac8dc
OPAM: fix tezos-crypto.opam
2018-04-06 11:46:09 +02:00
Grégoire Henry
bf32659a6b
Proto/Env: Replace configure_sandbox
by proper init
2018-04-06 11:40:34 +02:00
Grégoire Henry
6f0cc397ae
Shell: move back hash encoders from lib_base
to lib_crypto
2018-04-03 15:21:38 +02:00
Grégoire Henry
08a3cff5a6
Base: rename Cli_entries
into Clic
2018-04-03 15:21:38 +02:00
Milo Davis
4ad127c398
Client: wait for operation inclusion command and RPC
2018-03-30 00:45:22 +02:00
Grégoire Henry
38c7453edf
Shell/RPC: allow /blocks/<hash>~n/...
...
This allows to query the `n`-th predecessor of block `<hash>`.
2018-03-30 00:45:22 +02:00
Mathias Bourgoin
fcdf36acd4
Shell/RPC: remove the fake block /blocks/prevalidation
...
Add a `/mempool/pending_operations`
2018-03-30 00:44:58 +02:00
bruno
c332343cee
Alpha: add one mutez in interface
2018-03-28 09:30:33 +00:00
Vincent Botbol
c2990b4f14
Alpha: replace the faucet by preallocated-contract activation.
2018-03-28 10:36:37 +02:00
Arthur B
f98ed35583
Blake2B: export kmac
function.
2018-03-28 10:29:51 +02:00
Grégoire Henry
afb1e0f260
Proto/Env: remove {Set,Map}.find
...
Also replace all the function raising `Not_found` by their `_opt` version.
2018-03-27 09:59:59 +00:00
Grégoire Henry
48cc2e9928
Proto/Env: rename Set.S
and Map.S
into S.SET
and S.MAP
.
2018-03-27 09:59:59 +00:00
Vincent Botbol
369b6d7988
Fix: sphinx warning about bad reference
2018-03-26 01:04:07 +02:00
Vincent Botbol
d64d448c3c
Fix: typos in rpc block's dynamic argument description
2018-03-26 01:04:07 +02:00
Vincent Botbol
385a600e98
Docs: add error documentation generation
2018-03-26 01:04:07 +02:00
Benjamin Canou
19eb1c2520
Error_monad: change error wrapping to flatten the JSON format
2018-03-26 01:04:07 +02:00
Benjamin Canou
bd3191059b
Data_encoding: make more combinators transparent to is_tup/is_obj
2018-03-24 16:45:29 +01:00
Benjamin Canou
e0a4147b8d
Alpha: add missing error registrations
2018-03-24 16:45:29 +01:00
Benjamin Canou
583563ede0
Remove dead file
2018-03-24 16:45:29 +01:00
Grégoire Henry
72b7789162
Alpha: reduce tips for inclusion of seed revelations
2018-03-22 17:37:54 +01:00
Grégoire Henry
7fabac6714
Alpha/RPC: fix typo in the RPC for parsing and forging.
2018-03-22 14:13:53 +01:00
Pietro
5399dee5ce
test: add tezos-alpha-baker command in tezos-init-sandboxed-client
2018-03-22 13:51:26 +01:00
Pietro
f6dbdf7ac3
Test: fix make fix-indent erase all problem
2018-03-22 13:51:06 +01:00
Grégoire Henry
9035bb94ab
Baker: do not generate random when not required
2018-03-22 13:41:57 +01:00
Pietro
9ef69b4502
Client, test: Add two more protocol injection tests (from alpha)
2018-03-20 07:07:57 +01:00
Pietro
c6c9117c3a
Client,test: add test for demo protocol activation
2018-03-20 07:07:56 +01:00
Grégoire Henry
c2f74f9f9b
Alphanet: use vanity key for the bootstrap accounts
2018-03-20 07:07:56 +01:00
Pietro
01dd7d152a
Client: better error messages for unwrapped JSON objects.
2018-03-20 06:50:39 +01:00
bruno
55ad294595
Alpha: fix typo s/token_per_rolls/tokens_per_roll
2018-03-20 06:49:52 +01:00
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
Benjamin Canou
94295fa281
Micheline: resilient parser for better error reporting
2017-11-15 11:57:37 +00:00
Pietro Abate
102ba49149
Proto: Rename Public_key to Delegates_pubkey
2017-11-14 16:56:15 +01:00
Pietro Abate
de8967540f
Proto: store the public key of the manager in the contract
2017-11-14 16:56:15 +01:00
jevonearth
e37974c64f
Spelling and consistency fixes
...
From doing a quick grep, the rest of the code-base tends to hyphenate
the term 'hard-coded'.
2017-11-14 00:22:19 +01:00
jevonearth
e9d1dbcce1
Spelling fixes and grammar improvements
2017-11-14 00:22:19 +01:00