Commit Graph

1584 Commits

Author SHA1 Message Date
Alain Mebsout
bc88ede900 Michelson: FAIL as a macro 2018-06-22 14:18:08 +00:00
Alain Mebsout
871a86e32d Michelson: instruction FAILWITH which takes one element on the stack 2018-06-22 14:18:08 +00:00
Vincent Bernardoff
5e8e6347e2 Signer/Socket: fix some glitches 2018-06-22 15:37:20 +02:00
Benjamin Canou
357a4827e8 Client: allow custom headers when calling the remote signer 2018-06-21 18:09:28 +02:00
Vincent Bernardoff
5e0822eb22 Client/Alpha: program -> script 2018-06-21 01:07:38 +02:00
Vincent Bernardoff
404774e091 Signer/Ledger: log Ledger APDUs on debug 2018-06-21 00:57:06 +02:00
Benjamin Canou
a57c1edec1 Client: minor cosmetic change 2018-06-21 00:24:18 +02:00
Fabrice Le Fessant
89c018f31b Client: don't try to generate vanity keys with wrong first letter 2018-06-21 00:23:48 +02:00
Vincent Bernardoff
7e4a0f3368 Client: add forget address command 2018-06-20 23:57:16 +02:00
Vincent Bernardoff
4248738866 Client: substitute -force with --force 2018-06-20 16:59:20 +00:00
Benjamin Canou
a1a89753e5 Alpha: fix encoding for combined operation and receipt 2018-06-20 15:24:03 +02:00
Vincent Bernardoff
4e4d96dae1 Client: remove tags 2018-06-20 10:50:01 +02:00
Vincent Bernardoff
b022a605b4 Client: identity -> address 2018-06-19 16:16:14 +02:00
Pierre Chambart
47039ba9d1 Shell: fix merge problem in test 2018-06-19 12:15:27 +00:00
Pierre Chambart
8370b8fd69 Shell: Simplify early failure in case of locator incompatible with the checkpoint 2018-06-19 12:15:27 +00:00
Pierre Chambart
a7ef80fa34 Shell: Time error printing with more details 2018-06-19 12:15:27 +00:00
Pierre Chambart
2aeba212a7 Shell: Quick and dirty allowance of time shift
The right solution being to wait for the messages to be valid.
2018-06-19 12:15:27 +00:00
Pierre Chambart
663c4e223e Shell: Fill "..." for checkpoint options 2018-06-19 12:15:27 +00:00
Grégoire Henry
fc0af4a55f Shell: add option --checkpoint to tezos-node run 2018-06-19 12:15:27 +00:00
Grégoire Henry
c16129a02d Shell: early detection of branches that forks before the checkpoint. 2018-06-19 12:15:27 +00:00
Grégoire Henry
6170ae2246 Shell: early detection of incompatible new heads and branches. 2018-06-19 12:15:27 +00:00
Grégoire Henry
96dd65e36d Shell: early detection of incompatible injected blocks 2018-06-19 12:15:27 +00:00
Grégoire Henry
a08d6b8cd9 Shell: update the checkpoint when updating the head
The new checkpoint is the current `last_allowed_fork_level` of the new
head.

When updating the checkpoint the shell tags as invalid all blocks with
a level strictly higher to the new checkpoint that are inconstant with
it. And it removes from the disk all the block with a level lower or
equal to the new checkpoint that do not belongs to the current
chain. Though, the shell removes nothing from the disk when the
current head is below the current checkpoint: this will allow to
configure an expected checkpoint when bootstraping a node.

The first patch is very conservative and only detects new incompatible
blocks when they are stored on disk (i.e. after the validation).
Fiture patches try to detect earlier such incompatible block.
2018-06-19 12:15:27 +00:00
Grégoire Henry
535616e21e Shell: add error for blocks inconsistent with the checkpoint 2018-06-19 12:15:27 +00:00
Grégoire Henry
d552c611c5 Shell: allow to store the current checkpoint of a chain
Currently initialized with the chain genesis.
2018-06-19 12:15:27 +00:00
Grégoire Henry
d02892b810 Shell: store the last allowed fork level 2018-06-19 12:15:27 +00:00
Grégoire Henry
a43ee47ee1 Shell: add a mli for validation errors 2018-06-19 12:15:27 +00:00
Grégoire Henry
b1d70d576c Shell: stricter fitness check on block injection 2018-06-19 12:15:27 +00:00
Grégoire Henry
ccad901f33 Shell: fix test network creation 2018-06-19 12:15:27 +00:00
Grégoire Henry
a0a2d6b004 Shell: filter out future block 2018-06-19 12:15:27 +00:00
Lý Kim Quyên
9d655696da Alpha: add missing balance updates in operation receipts 2018-06-19 06:12:44 +02:00
Grégoire Henry
3860d689d7 Opam: fix dependencies for tezos-signer-backends 2018-06-19 04:39:39 +02:00
Grégoire Henry
2fbd125511 Alpha: rename baker/endorser command: launch -> run 2018-06-19 03:16:42 +02:00
Grégoire Henry
ee2a126f3e Alpha: even simpler endorser 2018-06-19 03:11:17 +02:00
Benjamin Canou
c55a462233 Endorser: trust the node to choose the head 2018-06-19 03:06:21 +02:00
Benjamin Canou
6682f05ec9 Baker: do not compare Lwt threads 2018-06-19 03:06:21 +02:00
Benjamin Canou
fdc6bf6b44 Baker, Endorser, exit on lost connection to node 2018-06-19 03:06:21 +02:00
Pierre Chambart
ce926e575a Teamwork: Prevent leaks with never_ending
Lwt_utils.never_ending is a global variable, hence a GC root. A promise
created by binding it cannot ever be garbage collected. This fixes the
known leak in the baker an endorser by allocating a fresh one for each
use (by turning it into a function). This porbably fix other slower
leaks.

High five Klakplok and Vincent.
2018-06-19 03:06:21 +02:00
Benjamin Canou
a09f2cc53e Alpha: drop old tests 2018-06-19 03:06:21 +02:00
Grégoire Henry
ec6db686d9 Alpha: remove block from endorsements 2018-06-19 03:06:21 +02:00
Galfour
392f6cec46 Tests: fix double_endorsement tests 2018-06-19 03:06:21 +02:00
Marco Stronati
b5c275c5fa Alpha: reintroduce duplicate endorsement error 2018-06-19 03:06:21 +02:00
Grégoire Henry
1ab9a7a72c Alpha: remove slots from endorsements 2018-06-19 03:06:21 +02:00
Benjamin Canou
41707f58d8 Baker: do not generate empty endorsements 2018-06-19 03:06:21 +02:00
Benjamin Canou
7500743a4d Baker: record max level at each block, not each nonce revelation 2018-06-19 03:06:21 +02:00
Benjamin Canou
93a72ca28d Baker: avoid infinite sleep to the past 2018-06-19 03:06:21 +02:00
Vincent Botbol
cf36510431 Docker: update docker configuration and fix wallet names 2018-06-19 03:06:21 +02:00
MBourgoin
4c65317681 Alpha/Baker: Use state_module to avoid double baking 2018-06-19 03:06:21 +02:00
MBourgoin
7d0c526644 Alpha/Endorser: Refactor State Module 2018-06-19 03:06:21 +02:00
Raphaël Proust
8b73e812ac Alpha/Baker: load protocol constants lazily
This avoids the baker refusing to start when the protocol alpha is not
yet activated.
2018-06-19 03:06:21 +02:00
Vincent Botbol
0fb25db95b Alpha/Baker: add quota checks and fee sorted manager operations inclusion + quick fix in simulator 2018-06-19 03:06:21 +02:00
Vincent Botbol
ea9b3ae68c Baker: add client-side validation 2018-06-19 03:06:21 +02:00
Vincent Botbol
0512ff55ce Baking: split daemons into 3 different binaries 2018-06-19 03:06:21 +02:00
Vincent Botbol
efee9df1c7 Baking: fix baking daemon error when run on genesis 2018-06-19 03:06:21 +02:00
Raphaël Proust
cb64c85d00 Alpha/Baker: keeping future slot for each delegate 2018-06-19 03:06:21 +02:00
MBourgoin
1d1bd2f7d1 Alpha/Endorser: less RPC calls 2018-06-19 03:06:21 +02:00
MBourgoin
669b1b02e7 Alpha/Endorser: Log timeout errors 2018-06-19 03:06:21 +02:00
MBourgoin
b9d97a7a94 Alpha/Endorser: typos 2018-06-19 03:06:21 +02:00
Raphaël Proust
ac20391c62 Alpha/daemons: some factorisation 2018-06-19 03:06:21 +02:00
Raphaël Proust
f221e21444 Alpha/Baker: keeping future slot for each delegate 2018-06-19 03:06:21 +02:00
Raphaël Proust
470a1e91f1 Alpha/Endorser: minor æsthetics 2018-06-19 03:06:21 +02:00
Raphaël Proust
a78eabda37 Alpha/Baker: Remember delegates 2018-06-19 03:06:21 +02:00
Raphaël Proust
3e71d21713 Alpha/Baker: better naming for error management 2018-06-19 03:06:21 +02:00
Raphaël Proust
99f3b8446c Alpha/Baker: more client messages 2018-06-19 03:06:21 +02:00
Raphaël Proust
41a6c7f9b5 Alpha/Baker: clean up timeouts in main loop 2018-06-19 03:06:21 +02:00
Raphaël Proust
46de116fe7 Alpha/baker: wait for first block instead of error 2018-06-19 03:06:21 +02:00
Raphaël Proust
34aeaadb73 Alpha/Baker: major æsthetics
- decompose long functions into small sub-functions
- add comments
- factor some code
- polish out some unecessary bits and bobs
2018-06-19 03:06:21 +02:00
Raphaël Proust
397d011ed9 Alpha/endorser: one upcoming endorsment per key 2018-06-19 03:06:21 +02:00
Raphaël Proust
97fe3f5ca9 Alpha/Endorser: clean-up state after endorsment
Remove endorsment slot once it is used. This avoids repeated injection
of the same endorsment operation.
2018-06-19 03:06:21 +02:00
Raphaël Proust
b0e9e44673 Alpha/Endorser: wait for first block 2018-06-19 03:06:21 +02:00
Raphaël Proust
f4cadd37a5 Alpha/endorser: send client messages on success 2018-06-19 03:06:21 +02:00
Raphaël Proust
a63584ad63 Alpha/endorser: minor simplifications and cosmetics 2018-06-19 03:06:21 +02:00
Raphaël Proust
28abac0fb9 Alpha/endorser: bugfix
The `max_past` parameter, supposed to stop endorsing of blocks that are
too old, compared absolute times rather than relative times.
Specifically, it would check whether the block timestamp or the current
time was more recent than 110 seconds after epoch.

The new version checks whether the difference between the block
timestamp and the current time is greater than 110seconds.
2018-06-19 03:06:21 +02:00
Raphaël Proust
ac06ccf935 Alpha/Endorser: bugfix
When removing old endorsments from the wallet (to avoid it growing),
only old endorsments were kept, or no endorsments at all were kept.

In addition, that function relied on the endorsments being sorted by
level.
2018-06-19 03:06:21 +02:00
Raphaël Proust
16ea7da81d client base: spacing 2018-06-19 03:06:21 +02:00
Vincent Botbol
cbcc808abc rebase modifications 2018-06-19 03:06:21 +02:00
MBourgoin
f63b96dbd8 Baker: re-add endorsement delay 2018-06-19 03:06:21 +02:00
Pietro
c98fba3eef alpha-baker: rename lib_baking -> lib_delegate 2018-06-19 03:06:21 +02:00
MBourgoin
589096680a Baker: fix cherry-picking 2018-06-19 03:06:21 +02:00
Pietro
9d4be9caba alpha-baker: Rename client_baking -> delegate 2018-06-19 03:06:21 +02:00
Vincent Botbol
5a3492ea8b Baker: typos & refactoring 2018-06-19 03:06:21 +02:00
Mathias
a5bb58e146 Client/Endorser: use 'Data_encoding.assoc Raw_level.encoding' 2018-06-19 03:06:21 +02:00
Mathias
fcd29a36f3 Client/Endorser: remove endorsing scheduler 2018-06-19 03:06:21 +02:00
Vincent Botbol
852acc4710 Baking/Test: fix ci 2018-06-19 03:06:21 +02:00
Mathias
d82c811bdd Client/Endorser: remove older endorsement from wallet 2018-06-19 03:06:21 +02:00
Mathias
c4549650b5 Client/Baking: use wallet lock 2018-06-19 03:06:21 +02:00
Mathias
c0a47a5b6f Client/Endorser: check blocks timestamps 2018-06-19 03:06:21 +02:00
Mathias
8e40873a51 Client/Endorser: simpler state 2018-06-19 03:06:21 +02:00
Mathias
d33568464a Client/Endorser: simpler state with lock 2018-06-19 03:06:21 +02:00
Mathias
abc7b7338c Client: add method with_lock to wallet 2018-06-19 03:06:21 +02:00
Marco Stronati
c46e731031 Alpha: fix bug where seed would stay the same if no nonces were revealed 2018-06-19 02:57:35 +02:00
Marco Stronati
46d053fdb3 Alpha: add Seed_repr.deterministic_seed 2018-06-19 02:57:35 +02:00
Marco Stronati
0ad4f8f6e6 Alpha: Seed_repr.initial_seeds n generates n seeds rather than n+1 2018-06-19 02:57:35 +02:00
Grégoire Henry
9f1c703991 Alpha: fix snapshot removal 2018-06-18 23:53:48 +00:00
Marco Stronati
7473e48d98 Tests: add more tests for seed_nonce_revelation operation 2018-06-19 01:26:20 +02:00
Marco Stronati
b2a09d3edc Tests: add Op.seed_nonce_revelation 2018-06-19 01:26:20 +02:00
Marco Stronati
dde6addbfb Tests: add Context.{get_seed,get_seed_nonce_hash} 2018-06-19 01:24:54 +02:00
Marco Stronati
eeb7c6ff5e Alpha: add rpc to get seed of a cycle of a block 2018-06-19 01:13:58 +02:00
Marco Stronati
125e5ce95f Alpha: fixed small regression on nonce revelations 2018-06-19 00:56:37 +02:00
Grégoire Henry
67566c271c Shell: forced upgrades 2018-06-18 15:58:00 +02:00