Commit Graph

699 Commits

Author SHA1 Message Date
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
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
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
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
Galfour
cf7de5cc75 Client: argument is now optional with no default in a transfer operation 2018-06-27 21:24:48 +00: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
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
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
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
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
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
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
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
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
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
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
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
5e0822eb22 Client/Alpha: program -> script 2018-06-21 01:07:38 +02: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
Lý Kim Quyên
9d655696da Alpha: add missing balance updates in operation receipts 2018-06-19 06:12:44 +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