Commit Graph

1899 Commits

Author SHA1 Message Date
Alain Mebsout
2db455274c Alpha: some missing gas in parse_data 2018-06-29 16:18:17 +02:00
Alain Mebsout
5d4101d85a Alpha: consume (de)serialization gas for big maps in context 2018-06-29 16:18:17 +02:00
Alain Mebsout
34d9f7e649 Alpha: minor improvements and fixes in gas 2018-06-29 16:18:17 +02:00
Benjamin Canou
7159b92cbd Michelson: gas costs tweaks and fixes 2018-06-29 16:18:17 +02:00
Alain Mebsout
b1515dc376 Alpha: consume typechecking gas in type equality for expansion 2018-06-29 16:18:17 +02:00
Benjamin Canou
589bb54abe Michelson: factor unparsing and deserialization cost computations 2018-06-29 16:18:17 +02:00
Benjamin Canou
a8d2998170 Michelson: unplug internal operation parsing 2018-06-29 16:18:17 +02:00
Benjamin Canou
4b9d2114b2 Alpha: thread gas accounting in unparse_ty 2018-06-29 16:18:17 +02:00
Benjamin Canou
da7c71a7aa Alpha: add a few comments 2018-06-29 16:18:17 +02:00
Benjamin Canou
f946443b3b Alpha: fix error description 2018-06-29 16:18:17 +02:00
Alain Mebsout
43f818dc66 Alpha: comsume cost of parsing/typing instructions in script 2018-06-29 16:18:17 +02:00
Benjamin Canou
005517e849 Client: fix command get script code 2018-06-29 16:18:17 +02:00
Alain Mebsout
9da9a8440e Alpha: consume gas for parsing types 2018-06-29 16:18:17 +02:00
Alain Mebsout
f6c4be2b40 Alpha, Client: don't count gas for unparsing in logging 2018-06-29 16:18:17 +02:00
Alain Mebsout
0c8549b871 Alpha: remove minimal serialization gas computation 2018-06-29 16:18:17 +02:00
Alain Mebsout
8648555f01 Alpha: raise permanent error on gas exhaustion in precheck 2018-06-29 16:18:17 +02:00
Alain Mebsout
0dee466736 Alpha: set gas limit in precheck and re-consume gas in apply 2018-06-29 16:18:17 +02:00
Alain Mebsout
3ce320979c Alpha, Gas: consume gas for storage serialization and deserialization 2018-06-29 16:18:17 +02:00
Alain Mebsout
a69333d21f Alpha, Gas: gas accounting for serialization of data and types
Also gas accounting in errors, failures and trace
2018-06-29 16:18:17 +02:00
Alain Mebsout
fa4a3a9fe4 Alpha: cost of deserialization 2018-06-29 16:18:17 +02:00
Alain Mebsout
245b888ccc Proto, Gas: Fail at precheck if not enough gas to deserialize parameters 2018-06-29 16:18:17 +02:00
Thomas Gazagnaire
ecbab4fb77 Serialize the tree entries the same way that irmin-lmdb does 2018-06-29 15:54:20 +02:00
James Deikun
b76e759361 Make all logging level checks the same shape.
see https://gitlab.com/tezos/tezos/merge_requests/411#note_83833997
2018-06-29 14:52:47 +02:00
James Deikun
135cb2c326 Use MESSAGE for all Logging functor parameters.
see https://gitlab.com/tezos/tezos/merge_requests/411#note_83833997
2018-06-29 14:52:47 +02:00
James Deikun
634c398a70 Use text: string option since text may be absent
see https://gitlab.com/tezos/tezos/merge_requests/411#note_83833997
2018-06-29 14:52:46 +02:00
James Deikun
99c37d5214 expose find_opt and improve comments.
Thanks to Raphael Proust for the discussion on this.
2018-06-29 14:52:46 +02:00
James Deikun
91472ff1cf add log level to taps 2018-06-29 14:52:46 +02:00
James Deikun
24de29c703 documentation and untap
AMENDED: More realistic code example at a more helpful place.
2018-06-29 14:52:46 +02:00
dbornside
e7dba18980 semantic logging for client baking
AMENDED: Syn has always been DSL, Semantic has always been
Make_semantic.
2018-06-29 14:52:46 +02:00
James Deikun
98961c9335 semantic logging in lib_base
AMENDED: Syn has always been DSL, Semantic has always been
Make_semantic.
2018-06-29 01:52:10 -04:00
James Deikun
0bbc18c23b split Logging.Tag out and add documentation 2018-06-29 01:48:18 -04:00
James Deikun
d7a6973335 added a new semantic logging pathway
AMENDED: Syn has always been DSL, Semantic has always been
Make_semantic.
2018-06-29 01:43:55 -04:00
Galfour
2701012bf0 Everywhere: dictator -> activator 2018-06-29 04:10:30 +02:00
Benjamin Canou
d5fed56d46 Alpha: remove unused dictator key 2018-06-29 03:44:47 +02:00
Vincent Bernardoff
bda245f221 Signer/Ledger: sync with ocaml-ledger-wallet 2018-06-29 01:43:29 +00:00
Benjamin Canou
f6606c5f2b Shell: add some temporary message limits 2018-06-28 19:39:35 +00:00
Pierre Boutillier
f99789b255 Shell: Fix block_*_cache initialization 2018-06-28 19:39:35 +00:00
Marco Stronati
0ac1e1e842 Alpha: richer block receipt
Added:
- nonce_hash
- consumed_gas
- deactivated delegats at end cycle
- unfrozen balances at end cycle
2018-06-28 17:35:40 +00:00
Marco Stronati
0bd4ee3cfc Alpha: move balance_updates from apply_result to delegate 2018-06-28 17:35:40 +00:00
Marco Stronati
4b282ea8c5 Alpha: move block_metadata from alpha_context to apply_result 2018-06-28 17:35:40 +00:00
Marco Stronati
91d497fd4a Alpha: rename apply_operation_result to apply_results 2018-06-28 17:35:40 +00:00
Marco Stronati
3d88707eb8 Alpha: fix balance_update from Rewards to Fees 2018-06-28 17:35:40 +00:00
Grégoire Henry
a7022b2ef0 Opam: use opam2, a local switch, and a fixed remote. 2018-06-28 13:45:05 +02:00
Galfour
cf7de5cc75 Client: argument is now optional with no default in a transfer operation 2018-06-27 21:24:48 +00:00
Benjamin Canou
5696105d14 Signer: allow client to send host header 2018-06-27 22:57:02 +02:00
Milo Davis
d0dd6be9c0 Client: add get script code command 2018-06-27 20:05:38 +00:00
Benjamin Canou
44ca820944 Genesis/Alpha: include chain id in signature for blocks and endorsements 2018-06-27 21:38:52 +02:00
Grégoire Henry
5575b8b8f2 Proto/Compiler: display hash of compiled protocol 2018-06-27 11:02:08 +02:00
Raphaël Proust
1c2a771832 Everywhere: return_{none,some,nil,true,false} 2018-06-27 10:57:21 +02:00
Raphaël Proust
103d5355f2 Everywhere: return_unit 2018-06-27 10:57:21 +02:00
Pierre Chambart
7fcd986b93 Shell: Avoid recomputing rpc_directory for each flush 2018-06-27 10:54:41 +02:00
Pierre Chambart
892c91e3ac Fix some more logging name leak
The section list is only useful for functor instantiated before command
line argument parsing.
2018-06-27 02:06:09 +02:00
Pierre Chambart
dcc0f7011d Shell: Fix Logging names leak 2018-06-27 01:35:55 +02:00
Pierre Chambart
3dd4d61b71 Shell: indentation 2018-06-26 20:37:11 +02:00
Pierre Chambart
3da1e56133 Shell: Avoid leak in distributed_db_functor worker loop 2018-06-26 20:35:03 +02:00
bruno
8b8dcddd02 Alpha/Tests/transfer: add test + minor cosmetic changes 2018-06-26 18:16:39 +00:00
Quyen
ee1d56d096 Alpha/Tests/origination: add new comments 2018-06-26 18:16:39 +00:00
bruno
59fbdaf37b Alpha/Tests:origination: typos, comments, add verifications 2018-06-26 18:16:39 +00:00
Benjamin Canou
6ad461f9e2 Client: fix display of failed transactions 2018-06-26 20:00:50 +02:00
Benjamin Canou
878c63391b Client: fix gas and storage estimation 2018-06-26 20:00:39 +02:00
Benjamin Canou
7e591150e0 Client: add flag --dry-run to injection commands 2018-06-26 20:00:13 +02:00
Benjamin Canou
8ff7aac5a6 Client: add disclaimer banners 2018-06-26 19:06:30 +02:00
Pierre Chambart
91de539af7 Alpha: Fix indent 2018-06-26 18:54:15 +02:00
Pierre Chambart
03ee2224e8 Alpha: Add label to baker argument of Apply.mark_skipped 2018-06-26 18:28:43 +02:00
Benjamin Canou
3106dee82a Alpha: add explicit Backtracked case in receipts 2018-06-26 18:13:28 +02:00
Benjamin Canou
85b9a58261 Alpha: restore semantics of operation sequence failure 2018-06-26 18:13:28 +02:00
Benjamin Canou
fad851561b Client: fix error message 2018-06-26 18:13:28 +02:00
Benjamin Canou
67f95ff156 Alpha: include fees from failed operations in receipts 2018-06-26 18:13:28 +02:00
Benjamin Canou
13fb40a4c9 Alpha: check hard storage limit in precheck 2018-06-26 18:13:28 +02:00
Benjamin Canou
6efb4eb6b4 Alpha: check hard gas limit in precheck 2018-06-26 18:13:28 +02:00
Benjamin Canou
ece5dd2d78 Alpha: fix storage limit check 2018-06-26 18:13:28 +02:00
bruno
1ecc5af454 Alpha/Tests: add some tests for delegation 2018-06-26 12:57:19 +00:00
bruno
1c3d5c4232 Alpha/Test/helpers: add PKH equality functions 2018-06-26 12:57:19 +00:00
bruno
42c7b004ec Alpha/Test/helpers: add call to delegate RPC 2018-06-26 12:57:19 +00:00
bruno
9f30b220e4 Alpha/Tests: typos + useful tez related functions 2018-06-26 12:57:19 +00:00
Vincent Botbol
ffcd0a0c09 Accuser: include suggested modifications 2018-06-26 14:09:09 +02:00
Vincent Botbol
babb457354 Lib_delegate: clean up 2018-06-26 14:07:46 +02:00
Vincent Botbol
b2194fa27d Alpha/Accuser: add a new accuser adapted to the new daemon framework 2018-06-26 14:06:34 +02:00
Vincent Botbol
aa95ee8332 Accuser: add utility functions to forge double_evidence operations 2018-06-26 12:43:34 +02:00
Vincent Botbol
989c0193a1 Baker: retry once opening node's context on failed checkouts 2018-06-26 12:37:04 +02:00
Vincent Botbol
c267f04cdc Baker: remove retry calls on failing shell operation validation 2018-06-26 11:18:38 +02:00
Raphaël Proust
9cdd593e61 Alpha/Baker: avoid list concatenations 2018-06-26 13:42:41 +08:00
Raphaël Proust
d71b1648d9 Alpha/Baker,Endorser: dynamically find keys 2018-06-26 13:42:41 +08:00
Raphaël Proust
d4974aefa8 Alpha/Bake,Endorse,Denounce: outsource scheduling
This makes the scheduling its own separate problem the solution of which
can be tackled separately from the specificities of the three binaries.
2018-06-26 13:42:41 +08:00
Raphaël Proust
14ee040e97 Alpha/Baker: outsource mining
The (small) proof-of-work operation is handled separately.
2018-06-26 13:32:45 +08:00
Raphaël Proust
bde05da36a Alpha/Baker: outsource retry to lwt-utils 2018-06-26 13:32:45 +08:00
Raphaël Proust
a5cb2c1a5d Alpha/Baker: comments 2018-06-26 13:32:45 +08:00
Raphaël Proust
c35f42ff0e Alpha/Baker: fee threshold 2018-06-26 13:32:45 +08:00
Raphaël Proust
204a1c9b6a Alpha/Endorser: use filter rather than filter_map 2018-06-26 13:32:45 +08:00
Raphaël Proust
52dc0c5858 Error_monad: make filter_map_p truly parallel 2018-06-26 13:32:45 +08:00
Raphaël Proust
18f6dab856 Alpha/Denunciator: improve worker loop
- exit on errors
- log errors
2018-06-26 13:32:45 +08:00
Raphaël Proust
a220aeb1a7 Alpha/baker: names for validation passes index 2018-06-26 13:32:45 +08:00
Raphaël Proust
3f0da7668d Alpha/Endorser: use lazy init for contracts
This gives the Endorser the same semantic as the Baker: the delegate
keys are retreived once if not explicitely given as arguments.
2018-06-26 13:32:45 +08:00
Raphaël Proust
0431a13611 Alpha/Baker: less ad-hoc initialisation 2018-06-26 13:32:45 +08:00
bruno
dca83d13de Data_encoding: Fix typo 2018-06-25 21:41:14 +00:00
bruno
7d4055b327 Alpha: fix error in comment 2018-06-25 21:41:14 +00:00
bruno
23096a7009 Alpha: add missing errors registrations 2018-06-25 21:41:14 +00:00
bruno
85315c0480 Alpha: export errors 2018-06-25 21:41:14 +00:00
bruno
59cdbd3ef1 Alpha: remove non-used errors 2018-06-25 21:41:14 +00:00
Marco Stronati
5afcdb327f Alpha: comments 2018-06-25 23:26:42 +02:00
Marco Stronati
1e8bb2e103 Alpha: fix receipts for endorsement and double_{baking,endorsement} 2018-06-25 23:26:42 +02:00
Benjamin Canou
1c7d7ce712 Alpha: switch TZ1 to KT1 to limit confusion with tz1 2018-06-25 17:29:42 +02:00
Benjamin Canou
92a3c709a1 Client/RPCs: fix storage cost estimation 2018-06-25 17:25:50 +02:00
Chris Martin
2f4c002acf Fix "bootstrapping" typos 2018-06-25 15:15:19 +02:00
Marco Stronati
259c97bc9c Alpha: change encoding of Tez from int64 to Zarith n 2018-06-24 20:11:31 +02:00
Marco Stronati
6f4060011d Alpha: counter, gas_limit and storage_limit encoded with n 2018-06-24 12:03:01 +00:00
Benjamin Canou
bba88743df Shell: fix checkpoint checks in bootstrap pipeline 2018-06-24 01:25:09 +02:00
Lý Kim Quyên
aa1450d8e6 Alpha: update operation receipt for endorser 2018-06-23 21:33:08 +00:00
Pierre Chambart
04c66869c9 Fixup fix burns 2018-06-23 23:15:20 +02:00
Pierre Chambart
d00cbaf081 Alpha: receipts account for the paid storage space diff and storage space 2018-06-23 23:15:20 +02:00
Pierre Chambart
503e3c5679 Alpha: burn is 257mꜩ not µꜩ 2018-06-23 23:15:20 +02:00
Pierre Chambart
d61dc7abbd Alpha: Fix burns 2018-06-23 23:15:20 +02:00
Pierre Chambart
8ac056218c fix test for expect_failure 2018-06-23 23:13:06 +02:00
Pierre Chambart
c2483da50f Fail correctly in the tests 2018-06-23 23:13:06 +02:00
Pierre Chambart
2ef5b26b1b Fix wrong test directions 2018-06-23 23:13:06 +02:00
Pierre Chambart
7b770c52d5 Initialize Paid and used storage for contracts without code 2018-06-23 23:13:06 +02:00
Pierre Chambart
455012d4e9 Do not burn when there is nothing to burn.
It would fail when the contract is eliminated
2018-06-23 23:13:06 +02:00
Pierre Chambart
b3c670ef8f Verify some more tests 2018-06-23 23:13:06 +02:00
Pierre Chambart
e52f01caa6 Start applying 'expect failure' in tests 2018-06-23 23:13:06 +02:00
Pierre Chambart
ad827cf060 Mor euseful tests 2018-06-23 23:13:06 +02:00
Pierre Chambart
dd8e4d85f9 Alpha: Rename Fees into Fees_storage
It was moved before ALpha_context
2018-06-23 23:13:06 +02:00
Pierre Chambart
a754672bcf Alpha: Storage burn hapens at the end of manager operations 2018-06-23 23:13:06 +02:00
Benjamin Canou
1e9a6e9941 Alpha: bootstrap accounts and contracts cleanup 2018-06-23 18:14:08 +02:00
Pierre Chambart
dd933b422b Alpha: bootstrap contracts are typechecked 2018-06-23 17:45:48 +02:00
Grégoire Henry
bb288ac64b Alpha: more verbose endorser 2018-06-23 04:31:41 +02:00
Vincent Bernardoff
1c71b1fafb Client/Alpha: add activate fundraiser account 2018-06-23 04:09:34 +02:00
Vincent Bernardoff
67938bb191 Client: reintroduce import fundraiser secret key 2018-06-23 04:09:34 +02:00
Pietro
79b2a4e825 Client: wait for the node to be bootstrapped before injecting an operation 2018-06-23 03:12:33 +02:00
Benjamin Canou
4c4400a073 Alpha: remove a few more try ... with 2018-06-23 00:30:16 +02:00
bruno
105d8e3833 Protocol environment: remove unsafe functions that have a safe(r) equivalent 2018-06-23 00:29:39 +02:00
bruno
e498a15a1a Alpha: replace 'try ... with' 2018-06-22 22:01:48 +00:00
bruno
1ccdea0d08 Protocol Environment: replace try ... with 2018-06-22 22:01:48 +00:00
bruno
9a8354680a Protocol Environment / Z: add doc 2018-06-22 22:01:48 +00:00
bruno
3eaacb4b85 Protocol Environment: add missing copyright banners 2018-06-22 22:01:48 +00:00
bruno
ba8b72f66a Protocol environment / Format: remove not needed functions 2018-06-22 22:01:48 +00:00
bruno
371dc971e1 Protocol environment / Format: replace with 4.06.1 version 2018-06-22 22:01:48 +00:00
bruno
1a67c2865d Protocol environment / List: update to 4.06.1 2018-06-22 22:01:48 +00:00
bruno
ae30b52bd6 Protocol Environment / Int64: update to 4.06.1 2018-06-22 22:01:48 +00:00
bruno
f428af9b50 Protocol environment / Int32: update to 4.06.1 2018-06-22 22:01:48 +00:00
bruno
5e73ef8fea Protocol environment / Pervasives: remove floating-point arithmetic
Also remove string conversion functions for float.
2018-06-22 22:01:48 +00:00
bruno
3ae114f1c9 Protocol environment / Pervasives: update to 4.06.1 2018-06-22 22:01:48 +00:00
bruno
2af0cb6b75 Protocol environment / Set: update to 4.06.1 2018-06-22 22:01:48 +00:00
bruno
12b6af10ee Protocol environment / String: update to 4.06.1 2018-06-22 22:01:48 +00:00
bruno
dfd561d3ef Protocol environment: rm Array 2018-06-22 22:01:48 +00:00
Pierre Chambart
a6807b4d13 Alpha: allow injecting a contract as bootstrap 2018-06-22 23:41:02 +02:00
Benjamin Canou
7de19f9cc0 Alpha,RPCs: run_code makes a dummy origination instead of taking a random contract from the wallet 2018-06-22 23:41:02 +02:00
Benjamin Canou
2b123349dc Michelson: fix error serialization 2018-06-22 18:03:52 +02:00
Benjamin Canou
76970ffe4d Client: fix check signature command 2018-06-22 14:18:08 +00:00
Benjamin Canou
e77edb7964 Michelson: bytes are now comparable 2018-06-22 14:18:08 +00:00
Benjamin Canou
af7a64123f Michelson: minor error message fix in typechecker 2018-06-22 14:18:08 +00:00
Benjamin Canou
29a33aedd3 Client: refactor data hashing and signing commands 2018-06-22 14:18:08 +00:00
Benjamin Canou
7b5e029537 Michelson: prepend 0x05 to PACKed data 2018-06-22 14:18:08 +00:00
Benjamin Canou
710998caf4 Michelson: add SHA256 and SHA512 2018-06-22 14:18:08 +00:00
Benjamin Canou
b17a44d7eb Michelson: BLAKE2B now takes bytes 2018-06-22 14:18:08 +00:00
Benjamin Canou
197b29b040 Michelson: add PACK and UNPACK 2018-06-22 14:18:08 +00:00
Benjamin Canou
5fe6bd9a54 Proto: add raw_hashes.mli to introduces new hashes in Michelson 2018-06-22 14:18:08 +00:00
Benjamin Canou
70f4236d91 Michelson: BLAKE2B and CHECK_SIGNATURE now operate on bytes 2018-06-22 14:18:08 +00:00
Benjamin Canou
96f6ef1c78 Michelson: s/H/BLAKE2B/ 2018-06-22 14:18:08 +00:00
Benjamin Canou
c3f4aa1454 Michelson: new bytes type 2018-06-22 14:18:08 +00:00
Benjamin Canou
45d8fd11ae Michelson: use new Micheline Bytes case for optimized representation 2018-06-22 14:18:08 +00:00
Benjamin Canou
0279f86e77 Micheline: 0x.. constants are now of a new Bytes case 2018-06-22 14:18:08 +00:00
Benjamin Canou
1ccfe6aed9 Michelson: remove confusing MANAGER instruction 2018-06-22 14:18:08 +00:00
Benjamin Canou
3d602424d1 Michelson: fix example in doc and add an antipattern (suggested by @tomjack) 2018-06-22 14:18:08 +00:00
Benjamin Canou
15c8c7af86 Michelson, docs: various fixes 2018-06-22 14:18:08 +00:00
Benjamin Canou
377f3e1e44 Michelson: change semantics of SOURCE and add SENDER 2018-06-22 14:18:08 +00:00
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