Commit Graph

1726 Commits

Author SHA1 Message Date
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
Benjamin Canou
94f9230d20 Client, RPCs: do not sign transfer simulations 2018-06-17 23:43:27 +02:00
Benjamin Canou
79ab86b076 Client: repair gas cost estimation 2018-06-17 02:01:34 +02:00
Benjamin Canou
2976353636 Client: more caching of public keys 2018-06-17 00:07:58 +02:00
Benjamin Canou
66c9caedd6 Client: cache public keys to limit queries to remote/hardware signers 2018-06-16 21:12:53 +02:00
Benjamin Canou
25948e423d Client: homogenize signer descriptions 2018-06-16 19:59:37 +02:00
Benjamin Canou
6df91cd015 Client: display tz1/2/3 after adding a secret key 2018-06-16 18:24:04 +02:00
Benjamin Canou
f6f8ed163d Client: more verbose messages for ledger commands 2018-06-16 18:20:32 +02:00
Vincent Bernardoff
fcec030d51 Client: fix sandbox tezos-signer script 2018-06-16 16:26:19 +02:00
Vincent Bernardoff
00d197830f Signers: add ledger scheme 2018-06-16 16:26:19 +02:00
Vincent Bernardoff
8bc9695ad0 Client: add {sk,pk}_uri_param 2018-06-16 16:26:19 +02:00
Vincent Bernardoff
4b2e88f97c Signature: export of_secp256k1 and of_ed25519 2018-06-16 16:26:19 +02:00
Benjamin Canou
820723f8d0 Fix indentation 2018-06-16 14:54:28 +02:00
Benjamin Canou
457fee326e Alpha: allow serialization of failed manager operations 2018-06-15 17:26:20 +02:00
Pierre Boutillier
fd2ac89cb4 http(s) remote signer returns the list of authorized keys when authentification is required 2018-06-15 15:21:19 +00:00
Pierre Boutillier
6b2d730a4e More unused variables in roll tests 2018-06-15 09:30:58 +00:00
Pierre Chambart
df214489b7 Alpha: remove some unused variable in test 2018-06-15 09:30:58 +00:00
Pierre Chambart
b5a6f2f03c Alpha: some more roll tests after the fix 2018-06-15 09:30:58 +00:00
Pierre Chambart
c64698be09 Alpha: fix the doulble roll bug 2018-06-15 09:30:58 +00:00
Pierre Chambart
89f73cceb9 Alpha: test roll numbers 2018-06-15 09:30:58 +00:00
Pierre Chambart
9e6d59d72b Alpha: Failing test for deactivation 2018-06-15 09:30:58 +00:00
Pierre Chambart
ca2c1971ca Alpha: Test this error 2018-06-14 23:20:16 +00:00
Pierre Chambart
f178e3625c Alpha: Add an error that tells which delegate didn't pay its fees 2018-06-14 23:20:16 +00:00
Grégoire Henry
f615459200 Shell/RPC: /chains/<id>/mempool new returned parsed operations 2018-06-14 22:57:04 +00:00
Grégoire Henry
c2517a0432 Shell: minor renaming 2018-06-14 22:57:04 +00:00
Benjamin Canou
7ad44a9af3 Signer: support plain HTTP (no S) and a few cosmetic fixes 2018-06-14 18:22:51 +02:00
Benjamin Canou
0bb12b0655 Signer: magic-byte restriction 2018-06-14 18:22:51 +02:00
Benjamin Canou
347a552396 Signer: add authorized keys mechanism 2018-06-14 18:22:51 +02:00
Benjamin Canou
a8b2ab325e Alpha: do not catch runtime exceptions 2018-06-14 18:09:32 +02:00
Alain Mebsout
ec648f5397 Micheline: more compact encoding of annotations 2018-06-14 18:09:32 +02:00
Alain Mebsout
1fccffb61c Michelson: keep field annotations in SET_CADR, MAP_CADR macros 2018-06-14 18:09:32 +02:00
Alain Mebsout
040fa2a075 Michelson: special annotations %@ and @% 2018-06-14 18:09:32 +02:00
Alain Mebsout
1b67e538d8 Michelson, Proto: show execution trace on failure also
When doing calling `trace code`, e.g. with option `--trace-stack` in
the client.
2018-06-14 18:09:32 +02:00
Alain Mebsout
eb5837943f Michelson: propagate variable annotations inside pairs in stack type
Also check that tyoe annotated constants are correct, but don't produce
annotated constants when unparsing.
2018-06-14 18:09:32 +02:00
Alain Mebsout
fcd9b61084 Michelson: annotations must start with _a-zA-Z or be empty
Empty annotations are used to mean no annotation, or as a wildcard when
destructing pairs for instance.
2018-06-14 18:09:32 +02:00
Alain Mebsout
6dacd8f6a5 Michelson: Force annotations of the same kind to be grouped 2018-06-14 18:09:32 +02:00
Alain Mebsout
1748f370fc Michelson: Remove binding annotations
Use RENAME in code blocks instead.
2018-06-14 18:09:32 +02:00
Alain Mebsout
9993553a59 Michelson: Propagate annotations in execution trace
Fixes #179
2018-06-14 18:09:32 +02:00
Alain Mebsout
703a12f681 Michelson: new (nop) opcodes CAST and RENAME
Removes RENAME macro
2018-06-14 18:09:32 +02:00
Alain Mebsout
e8329b1fc3 Michelson: do not infer pair field names and fail when fields differ 2018-06-14 18:09:32 +02:00
Alain Mebsout
821c6255dc Michelson: annotation fixes to match the spec 2018-06-14 18:09:32 +02:00
Alain Mebsout
382e06cf32 Michelson: more robust checking of type alias annotations 2018-06-14 18:09:32 +02:00
Alain Mebsout
96e317f9d3 Michelson: allow type annotations on PUSH-like instructions 2018-06-14 18:09:32 +02:00
Alain Mebsout
ff284cc0c0 Michelson: field annotations on PAIR macros 2018-06-14 18:09:32 +02:00
Alain Mebsout
b51dae6de5 Michelson: Better macros for PAIR/UNPAIR 2018-06-14 18:09:32 +02:00
Alain Mebsout
435d135aa0 Michelson: annotations for variable bindings with $
Also move annotation specific code to own module.
2018-06-14 18:09:32 +02:00
Alain Mebsout
68f86fe274 Fix: indentation 2018-06-14 18:09:32 +02:00
Alain Mebsout
cf8532e8f7 Michelson, Test: fix some test contracts with new annotation syntax 2018-06-14 18:09:32 +02:00
Alain Mebsout
ae6a97708e Michelson: disable typechecking of field names through annotations
This is not compatible with the inferring mechanism for annotations in
types.
2018-06-14 18:09:32 +02:00
Alain Mebsout
c8dd939849 Michelson: annotations for set_cadr, map_cadr 2018-06-14 18:09:32 +02:00
Alain Mebsout
82022acabb Michelson: allow . in annotations 2018-06-14 18:09:32 +02:00
Alain Mebsout
371ce150ce Michelson: generate default annotation for field accesses
If stack is [ @storage (pair int int) ] then stack after CAR:
CAR; [ @storage.car int ]
2018-06-14 18:09:32 +02:00
Alain Mebsout
263b2d717f Michelson: allow annotations on CMP... macros 2018-06-14 18:09:32 +02:00
Alain Mebsout
68dcae1a11 Michelson: RENAME macro 2018-06-14 18:09:32 +02:00
Alain Mebsout
22bdea00c2 Michelson: check (field) annotations of field accesses 2018-06-14 18:09:32 +02:00
Alain Mebsout
5431752887 Michelson: better syntax for fields of pair types 2018-06-14 18:09:32 +02:00
Alain Mebsout
53b88e4dbb Michelson: different types of annotations 2018-06-14 18:09:32 +02:00
Benjamin Canou
3140f6e51d Michelson: allow multiple annotations 2018-06-14 18:09:32 +02:00
Grégoire Henry
a51c912722 Alpha: forbids trivial double baking evidence 2018-06-14 15:57:27 +00:00
Galfour
3dce646b18 Tests: more tests for double baking 2018-06-14 15:57:27 +00:00
Marco Stronati
53ec17c8b4 Tests/helpers: rework block to ease arbitrary signatures 2018-06-14 15:57:27 +00:00
Pietro
4d3a01974c [proto]: Remove commas from decimal repr of tezos 2018-06-14 15:48:25 +00:00
Marco Stronati
e1702e0db2 Alpha: add check_size when parsing Z values 2018-06-14 02:27:41 +02:00
Marco Stronati
0d136b0bd7 Environment: add Data_encoding.check_size 2018-06-14 02:27:41 +02:00
Marco Stronati
8f5aecfc01 Alpha: change space_storage from int64 to Z.t 2018-06-14 02:27:41 +02:00
Marco Stronati
12b7a49f96 Alpha: change counters from int32 to Z.t 2018-06-14 02:25:12 +02:00
Vincent Bernardoff
9d18f7846d Crypto: disable P256 signing 2018-06-13 23:59:16 +00:00
Vincent Bernardoff
21823483a5 Crypto: add P256 cryptography 2018-06-13 23:59:16 +00:00
Pierre Chambart
e9c42123cb Alpha: Simplify a few things after removing dead code. 2018-06-14 00:37:32 +02:00
Pierre Chambart
233273dff8 Alpha: Remove more dead code with in storage functor.
There are no instances of Carbonated values that have not a variable
lenght. And I don't forsee this changing anythime soon.
2018-06-14 00:37:32 +02:00
Pierre Chambart
ff428fe680 Alpha: Change carbonated data storage path
The len key was key ^ "$" which was problematic for potential name
collision with real keys. It is now key @ ["len"] and key @ ["data"]
2018-06-14 00:37:32 +02:00
Pierre Chambart
31b9c251f6 Alpha: Carbonated functor: fix read after update problems 2018-06-14 00:37:32 +02:00
Pierre Chambart
d11bc0b996 Alpha: Remove empty module type 2018-06-14 00:37:32 +02:00
Pierre Chambart
9c0bb49174 Alpha: Remove dead code 2018-06-14 00:37:32 +02:00
Pierre Chambart
2404246fb3 Alpha: Non implicit contracts cannot be removed 2018-06-14 00:37:32 +02:00
Pierre Chambart
64481a198e Alpha: remove useless carbonated functor
Single carbonated data storage was useless and is buggy. It's simpler to
remove than to fix it.
2018-06-14 00:37:32 +02:00
Grégoire Henry
4c171c72a2 Proto: prepare protocol interface for multipass validation 2018-06-13 16:34:50 +02:00
vbotbol
e314ac635d Storage: add readonly option 2018-06-13 01:00:47 +02:00
Vincent Bernardoff
a6bc6333da Shell: use lmdb for disk storage 2018-06-13 00:55:37 +02:00
Benjamin Canou
6d7fe70c44 Fix OPAM dependencies 2018-06-13 00:53:51 +02:00
Benjamin Canou
2d8ca36f12 Data_encoding: cosmetic fixes 2018-06-12 21:27:55 +02:00
Grégoire Henry
6f4a98f6fd P2P: allow to limit the size of mempool 2018-06-12 21:27:55 +02:00
Grégoire Henry
fed04d4b8f P2P: allow to limit the size of protocols 2018-06-12 21:27:55 +02:00
Grégoire Henry
99f6e40471 P2P: allow to limit the size of operations and operations list 2018-06-12 21:27:55 +02:00
Grégoire Henry
8072d413fc P2P: allow to limit the size of block header 2018-06-12 21:27:55 +02:00
Grégoire Henry
85a25e200d P2P: allow ti limit the length of list in requests 2018-06-12 21:27:55 +02:00
Grégoire Henry
970305a455 Data_encoding: implements bounded lists and arrays 2018-06-12 21:27:55 +02:00
Grégoire Henry
e3272bebc5 Data_encoding: early detection of some oversized data 2018-06-12 21:27:55 +02:00
Grégoire Henry
a5cec8fca0 Proto: move back max_operation_data_length as a constants 2018-06-12 21:27:55 +02:00
Grégoire Henry
39ca91cd57 Stdlib: add List.split_n 2018-06-12 21:27:55 +02:00
Grégoire Henry
22bf535d68 Shell: faster propagation of protocols 2018-06-11 09:24:41 +00:00
Grégoire Henry
1c3880519b Shell: add test for protocol propagation 2018-06-11 09:24:41 +00:00
Grégoire Henry
5fd5c1c5f7 Dune: upgrade to 1.0+beta20 2018-06-08 15:27:23 +00:00
Grégoire Henry
98f77703c4 Alpha: do not use inter-modules toplevel side-effects 2018-06-08 15:27:23 +00:00
Grégoire Henry
4bc4d6e871 Dune: use linkall for tezos-shell-services
So that non-explictly-linked errors are still properly parsed and
pretty-printed.
2018-06-08 15:27:23 +00:00
Grégoire Henry
8eac1b03ac Alpha: adapt test to new operation type 2018-06-07 12:47:20 +02:00
Raphaël Proust
2bb9c4d743 Data_encoding: documentation improvements
- typos
- new documentation
- minor rephrasing
2018-06-07 11:11:43 +02:00
Vincent Bernardoff
0aa9ebcb51 Signer/HTTPS: bugfix 2018-06-07 00:26:05 +02:00
Benjamin Canou
085e262b81 Fix opam dependencies 2018-06-06 17:22:31 +02:00
Pierre Boutillier
761dbdd818 Shell: fix Block_locator.Step.draw on 32bits platform 2018-06-06 15:33:22 +02:00
Grégoire Henry
5c9f8f00f4 Client: less RPC call while waiting for confirmations 2018-06-06 15:24:05 +02:00
Grégoire Henry
ca1d4158a7 Shell/RPC: add raw block header in monitoring RPCs 2018-06-06 15:24:05 +02:00
Grégoire Henry
5aa65ee71f Shell/RPC: allow to fetch raw Block_header 2018-06-06 15:24:05 +02:00
Grégoire Henry
9df99e4553 Alpha: use the zero signature for anonymous operation 2018-06-06 15:24:05 +02:00
Benjamin Canou
6d2bf5af90 Alpha: add a few comments 2018-06-06 14:45:41 +02:00
Benjamin Canou
fa418ee6e0 Alpha: simplify handling of Unit parameter in Apply 2018-06-06 14:45:06 +02:00
Benjamin Canou
b2b0a98e39 Alpha: minor style fix: turn a ? into a ~ 2018-06-06 12:38:57 +02:00
Benjamin Canou
7c8e0403e3 Alpha: minor cleanup of Apply for better readability 2018-06-06 12:05:57 +02:00
Benjamin Canou
91479c1079 Proto: fix jbuild to remove spurious warnings when using Merlin 2018-06-06 11:48:49 +02:00
Benjamin Canou
f53cb40915 Michelson: do not padd nat-encoded addresses that are now fixed sized 2018-06-06 11:28:07 +02:00
Benjamin Canou
23e1486564 RPC: add missing error registration 2018-06-06 10:54:33 +02:00
Benjamin Canou
83dae71883 RPCs: remove useless error 2018-06-06 10:54:33 +02:00
Benjamin Canou
b2b1c8e30b Shell: fill some placeholder docs 2018-06-06 10:54:33 +02:00
Benjamin Canou
ee735c33cf Alpha: fix typos and fill placeholders in services doc 2018-06-06 10:54:33 +02:00
Benjamin Canou
e9102a6f13 Demo: remove unused variable 2018-06-06 10:54:33 +02:00
Grégoire Henry
e3b6a0a568 Alpha: add padding to Contract.encoding 2018-06-06 10:54:33 +02:00
Grégoire Henry
9a43902f03 Data_encoding: allow to add padding 2018-06-06 10:54:33 +02:00
Grégoire Henry
c82b44e8f2 Doc: less unnamed fields in binary description 2018-06-06 10:54:33 +02:00
Grégoire Henry
5baa090a1e Data_encoding: stylistic changes in printer of binary schema 2018-06-06 10:54:33 +02:00
Grégoire Henry
030630ec0f Data_encoding: mandatory title to case 2018-06-06 10:54:33 +02:00
Grégoire Henry
b7ca0a1e1e Alpha: use 'dft' field for boolean flag
This simplifies the binary encoding without changing the semantics of
the JSON objects.
2018-06-06 10:54:33 +02:00
Grégoire Henry
ce79dc5383 Alpha: deposit at the end of validation.
This allows to credit bond in the block.
2018-06-06 10:54:33 +02:00
Grégoire Henry
670249f580 Alpha: remove constant first_free_baking_slot 2018-06-06 10:54:33 +02:00
Grégoire Henry
162bd73e85 Data_encoding: generate RST for binary description 2018-06-06 10:54:33 +02:00
Grégoire Henry
499377bcc4 Data_encoding: proper handling of kind in Dynamic_size 2018-06-06 10:54:33 +02:00
Grégoire Henry
6922a793fe Data_encoding: skip zero_width field in binary description 2018-06-06 10:54:33 +02:00
Grégoire Henry
7c2ef081d5 Data_encoding: more 'inlining' in binary description 2018-06-06 10:54:33 +02:00
Grégoire Henry
705d6fb282 Data_encoding: do not use wildcard pattern matching 2018-06-06 10:54:33 +02:00
Grégoire Henry
a17e5d177c Doc: add api/p2p.rst 2018-06-06 10:54:33 +02:00
Milo Davis
bb2738bf12 Data_encoding: add descriptions and case names 2018-06-06 10:54:33 +02:00
Milo Davis
ec7eeaaa0e Client: describe unsigned data commands 2018-06-06 10:54:33 +02:00
Milo Davis
0a88f1887c Data_encoding: binary description printing 2018-06-06 10:54:33 +02:00
Milo Davis
4c03952e43 RPC_service: register Not_found error 2018-06-06 10:54:33 +02:00
Grégoire Henry
632144b689 RPC: remove subfield accessors
This is painful to maintain and `jq` works well.
2018-06-06 10:54:33 +02:00
Grégoire Henry
e4ffbd2854 RPC: remove access to a single contant 2018-06-06 10:54:33 +02:00
Grégoire Henry
1d75ff1871 Alpha: simplify the metadata encoding for balance update 2018-06-06 10:54:33 +02:00
Raphaël Proust
025187da2f Data_encoding/Json: use strings for all int64
See Issue #190
2018-06-06 10:54:33 +02:00
Grégoire Henry
5d8c73dacb TMP precheck manager operation 2018-06-06 10:54:33 +02:00
Grégoire Henry
ceddb09ea7 TMP remove dictator 2018-06-06 10:54:33 +02:00
Grégoire Henry
420986b45b Alpha: simplify the operation datatype 2018-06-06 10:54:33 +02:00
Grégoire Henry
371b84fa5d Alpha/PRC use more Data_encoding.def 2018-06-06 10:54:33 +02:00
Grégoire Henry
33c3d1fcbd Alpha/RPC: add a low-level but typed RPC for context introspection
Example:

```
> tezos-client rpc get /chains/main/blocks/head/context/raw/json/\?depth\=1 | jq
{
  "commitments": [],
  "contracts": {
    "global_counter": 0,
    "index": []
  },
  "cycle": [
    4,
    3,
    2,
    1,
    0
  ],
  "delegates": [
    "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN",
    "tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU",
    "tz1ddb9NMYHZi5UzPdzTZMYQQZoMub195zgv",
    "tz1b7tUupMgCNw2cCLpKTkSD1NZzB5TkP2sv",
    "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx"
  ],
  "last_block_priority": 0,
  "rolls": {
    "index": [],
    "next": 2000,
    "owner": {}
  },
  "votes": {
    "ballots": [],
    "current_period_kind": "proposal",
    "current_quorum": 8000,
    "listings": [],
    "proposals": []
  }
}
> tezos-client rpc get /chains/main/blocks/head/context/raw/json/cycle/4\?depth\=2 | jq
{
  "last_roll": [
    [
      0,
      2000
    ]
  ],
  "nonces": [],
  "random_seed": "97d50852c159ada8e9f107e98f693b059ba28336c723e6cd0f6353eb3c0cb415",
  "roll_snapshot": 0
}
> tezos-client rpc get /chains/main/blocks/head/context/raw/json/cycle/5\?depth\=2 | jq
{
  "last_roll": [
    [
      1,
      2000
    ],
    [
      0,
      2000
    ]
  ],
  "nonces": [],
  "roll_snapshot": 2
}
```
2018-06-06 10:54:33 +02:00
Grégoire Henry
74acad1472 Alpha: minor signature change in storage functors 2018-06-06 10:54:33 +02:00
Grégoire Henry
f7aa0398ca Alpha/RPC: minor renaming 2018-06-06 10:54:33 +02:00
Grégoire Henry
f5e3fb17c0 Resto: lift the lwt monad into Resto. 2018-06-06 10:54:33 +02:00
Grégoire Henry
b6b30875e4 Resto: export RPC_arg.eq to the protocol. 2018-06-06 10:54:33 +02:00
Grégoire Henry
1460aba927 Alpha/RPC: some renaming in delegate services 2018-06-06 10:54:33 +02:00
Grégoire Henry
ebc00b6463 Client/Alpha: display the "real" metadata when --wait is used 2018-06-06 10:54:33 +02:00
Grégoire Henry
89cbe0f8fa Docs/RPC: fix doc generation
The current doc generator does not handles path were multiple method
are registred. The fix remove the intermediate (compilation) tree.
2018-06-06 10:54:33 +02:00
Grégoire Henry
22d20509bf Docs/RPC: minor RPC improvements 2018-06-06 10:54:33 +02:00
Grégoire Henry
33ded01ae7 Shell/RPC: rename /context/helpers into /helpers 2018-06-06 10:54:33 +02:00
Grégoire Henry
0ad85aca21 Shell/RPC: use GET request for /errors 2018-06-06 10:54:33 +02:00
Grégoire Henry
3783e43a2e Alpha/RPC: rename levels_in_cycle into levels_in_current_cycle 2018-06-06 10:54:33 +02:00
Grégoire Henry
7e8f4341d7 Alpha/RPC: regroups /context/helpers/scripts 2018-06-06 10:54:33 +02:00
Grégoire Henry
32e40ec19a Alpha/RPC: remove helpers/minimal_time 2018-06-06 10:54:33 +02:00
Grégoire Henry
0a78bbe33b Shell/RPC: use GET request for /workers 2018-06-06 10:54:33 +02:00
Grégoire Henry
64c464a73f Shell/RPC: some module renaming/aliasing 2018-06-06 10:54:33 +02:00
Grégoire Henry
2a93a336aa Shell/RPC: use query parameters in /injection 2018-06-06 10:54:33 +02:00
Grégoire Henry
9bc7b1e573 Shell/RPC: also list embedded protocols 2018-06-06 10:54:33 +02:00
Grégoire Henry
04c920df29 Shell/RPC: use query parameters in /protocols 2018-06-06 10:54:33 +02:00
Grégoire Henry
bbf5c7408b Shell/RPC: split out Monitor_services 2018-06-06 10:54:33 +02:00
Grégoire Henry
c175cd1c65 Shell/RPC: use query parameters for /p2p 2018-06-06 10:54:33 +02:00
Grégoire Henry
0b08dce3e8 Shell/RPC: move preapply_operation into Block_services 2018-06-06 10:54:33 +02:00
Grégoire Henry
9093e5c02d Alpha/RPC: minor RPC renaming 2018-06-06 10:54:33 +02:00
Grégoire Henry
b11a604d20 Alpha/RPC: more query parameters in /helpers 2018-06-06 10:54:33 +02:00
Grégoire Henry
482dbb116c Alpha/RPC: use query string for delegation rights 2018-06-06 10:54:33 +02:00
Grégoire Henry
7b758dbca8 Alpha/RPC: export various delegate data 2018-06-06 10:54:33 +02:00
Grégoire Henry
991846e716 Alpha/RPC: use GET requests for /contracts and /constants 2018-06-06 10:54:33 +02:00
Grégoire Henry
acc76d22a8 Alpha/Client: use block metadata 2018-06-06 10:54:33 +02:00
Grégoire Henry
d6f79edae2 Shell/RPC: rework /blocks
- start using `GET` and query parameters instead of `POST`  when
  meaningful

- inline parsed protocol data and metadata in block headers

- inline parsed protocol data and metadata in operations

- split the RPC in four categories:

  - static data, available explicitly in block headers and operations

  - static "metadata", information that were computed while validating
    a block or an operation, but which are not explicit in the block
    header (e.g. the baker of a block, the list of internal
    transfer... (currently not implemented, but that's WIP))

  - "context" all the static data we may read in the context
    (contracts balance, list of delegates, ...)

  - "helpers" are some RPC that may perform some computation.
2018-06-06 10:54:33 +02:00
Grégoire Henry
f02972bb8a Alpha: use Apply_operation_result as operation metadata 2018-06-06 10:54:33 +02:00
Grégoire Henry
b6207bb14d Alpha: allow binary serialization of Apply_operation_result 2018-06-06 10:54:33 +02:00
Grégoire Henry
0ded5c8024 Alpha: export some blocks metadata (baker, ...) 2018-06-06 10:54:33 +02:00
Pierre Boutillier
e1cdd69b8b MacOS compatible 'date' format (again) 2018-06-06 09:55:56 +02:00
Grégoire Henry
6b12ab9473 Opam: add missing test dependencies for tezos-protocol-alpha 2018-06-05 14:17:24 +02:00
Grégoire Henry
95a56753df P2p: store connection_local_metadata in P2p_connection.Info.t 2018-06-05 13:51:25 +02:00
Grégoire Henry
e610fcaade P2p: read connection metadata before to accept connections
This will allow to decide whether to accept a connection or not
depending on its actual metadata.
2018-06-05 13:51:20 +02:00
Grégoire Henry
26c08672dd P2p: slighty less verbose debug 2018-06-05 13:51:12 +02:00
OCamlPro-Iguernlala
5456824960 P2p: do not propose private nodes for peers swap 2018-06-05 13:51:11 +02:00
OCamlPro-Iguernlala
d08cd57c69 P2p: do not broadcast private peers 2018-06-05 13:48:29 +02:00
OCamlPro-Iguernlala
6b287ba98e P2p: do not request new peers from known private peers 2018-06-05 13:41:33 +02:00
OCamlPro-Iguernlala
bcb56331b5 P2p: tag known peers as private until the first connection
This information will be needed to be able to know if a
point is/was eventually private.
2018-06-05 13:40:12 +02:00
OCamlPro-Iguernlala
4a16b3ef0b P2p: add "private node" information in Connection_metadata.
Add private_node flag in Connection_metadata.t and update Node,
Distributed_db, P2p and P2p_pool to propagate the information
2018-06-05 13:40:00 +02:00
OCamlPro-Iguernlala
65758d08ac P2p: add a warning in case of an incoming connection from an untrusted peer 2018-06-05 13:39:50 +02:00
OCamlPro-Iguernlala
6bbdf13bc5 P2p: do not send bootstrap message to peers in private mode 2018-06-05 13:39:43 +02:00
OCamlPro-Iguernlala
6663109639 P2p: disable some capabilities when creating a connection in private mode
This is mainly done in the creation of the callback functions of
the answerer's field of a 'connection'.
2018-06-05 13:38:53 +02:00
OCamlPro-Iguernlala
c1ccea3501 P2p: do not send peer swap requests in private mode 2018-06-05 13:34:50 +02:00
OCamlPro-Iguernlala
01648e7611 Node: rename option '--closed' to '--private-mode' 2018-06-05 13:29:06 +02:00
Marco Stronati
7b8f764524 Tests: add tests for baking 2018-06-05 12:55:59 +02:00
Marco Stronati
ff237c79cc Tests: add tests for seed nonce revelation operation 2018-06-05 12:55:59 +02:00
Galfour
6e65a12206 Tests: add tests for double endorsement and double baking 2018-06-05 12:23:40 +02:00
Vincent Botbol
7505a66904 Tests: add tests for endorsement and activation operations 2018-06-05 12:23:40 +02:00
Quyen
d9a11caeb8 Tests: add tests for transfer and origination operations 2018-06-05 12:23:40 +02:00
Grégoire Henry
e8e66a83c7 Tests/helpers: replace old test framework 2018-06-05 12:23:40 +02:00
Grégoire Henry
4105467603 Alpha: changes needed for test framework 2018-06-05 11:56:40 +02:00
michael
bd3a9fabe5 test: add a small test for disable_mempool option 2018-06-04 15:55:43 +02:00
michael
aedf867e4a RPC: Add conn_metadata to peer_info rpcs 2018-06-04 15:55:41 +02:00
michael
df4e474577 Shell: disable prevalidator if disable-mempool is used 2018-06-04 15:39:42 +02:00
michael
d5925f088c P2p: Add option to disable the mempool
This allows a node to specify that it doesn't want to receive operations
that are not included in a block. To do so, one should use the new
--disable-mempool option.

A disabled mempool node announce its configuration during the ACK exchange.
This configuration should be easily expandable with other options.

Node will keep track of the ack exchange configuration for each nodes it
is connected to and will not propagate its mempool to disabled mempool
nodes.

A disabled mempool node will ignore non-empty mempool received.
In the future, this incident should be punish by a decrement of its score
and / or ban.
2018-06-04 15:35:22 +02:00
michael
5b21610985 P2p: fix weird partial application 2018-06-04 15:17:37 +02:00
Grégoire Henry
6faaeaf5e8 P2p: properly export connection metadata 2018-06-04 15:17:35 +02:00
Grégoire Henry
367cc4e916 Faucet: rename secret into activation_code 2018-06-04 14:40:10 +02:00
Vincent Botbol
92bb69e744 Protocol: remove half pkh in commitments 2018-06-04 14:12:01 +02:00
Raphaël Proust
ad90fadf5e Data_encoding: use more inline records in sums 2018-06-04 13:53:29 +02:00
Raphaël Proust
f647404739 Proto_alpha/levels: added documentation 2018-06-04 08:41:46 +08:00
michael
a8e607a5a9 Shell: preliminary work for ack_cfg exchange 2018-06-01 16:25:43 +00:00
Benjamin Canou
1f6302bf36 Proto: fill-in placeholder docstrings 2018-06-01 17:15:14 +02:00
Grégoire Henry
d7e5ca81e4 Shell: store metadata for block header and operations 2018-06-01 16:20:10 +02:00
Grégoire Henry
fc26022cd2 Proto: associate metadata to valid block headers and operations 2018-06-01 16:20:10 +02:00
Grégoire Henry
c85e27605b Proto: export Data_encoding.t for block headers and operationss
Previously we were only exporting parsing function. This will allow
to move out of the protocol some `helpers` RPCs.
2018-06-01 16:20:10 +02:00
James Deikun
afa335ff48 move module-specific logging to the modules that use it 2018-05-31 17:05:00 -04:00
Grégoire Henry
b2e6001007 Data_encoding: merge def and describe 2018-05-30 14:38:05 +02:00
Grégoire Henry
09a039bfea Data_encoding: use inline record for case field 2018-05-30 14:38:05 +02:00
Pierre Boutillier
d9c5549ae2 date --"an hour ago" in a way compatible with both GNU and BSD 2018-05-30 12:59:59 +02:00
Grégoire Henry
cf9d26740c Shell/RPC: allow immediate value
This a HACK for allowing serialisation of toplevel value that are
float, string,... and not only object or array.

In a latter time, we may prefer to you `yojson` instead of `ezjsonm`,
but some of our dependencies rely on `ezjsonm` and we may not want to
embeds two distinct JSON libraries...
2018-05-29 16:13:30 +02:00
Grégoire Henry
556e95cef0 Client: rename rpc call into rpc post or rpc get 2018-05-29 16:13:30 +02:00
Grégoire Henry
c00d8131c6 Signer: allow to configure the signer with environment variables 2018-05-28 17:23:08 +02:00
Grégoire Henry
1f662dd53b Signer: add proper documentation to signer 2018-05-28 17:22:14 +02:00
Milo Davis
f644d8f332 Client: adds check signature command 2018-05-28 17:09:03 +02:00
Benjamin Canou
1b91d0929a Michelson: read some constants in base58 but store them in binary 2018-05-28 17:09:03 +02:00
Milo Davis
ff4a5fadda Client: get timestamp in seconds 2018-05-28 17:09:03 +02:00
Benjamin Canou
439435bd11 Michelson: forbid internal operation replay 2018-05-28 17:09:03 +02:00
Benjamin Canou
f1fc7ab582 Michelson: forbid internal operations in parameter and storage 2018-05-28 17:09:03 +02:00
Benjamin Canou
702896f420 Michelson: switch string tez constants to int mutez constants 2018-05-28 17:09:03 +02:00
Benjamin Canou
ffec060a6f Client, Michelson: minor fixes in error reporting 2018-05-28 17:09:03 +02:00
Benjamin Canou
a425b3dc27 Michelson: cleanup iterator opcodes 2018-05-28 17:09:03 +02:00
Benjamin Canou
c57458ea01 Michelson: fix inconsistency when reading and printing strings 2018-05-28 17:09:03 +02:00
Benjamin Canou
f119a9b2a5 Micheline: lexing bug fix 2018-05-28 17:09:03 +02:00
Benjamin Canou
bb37e04340 Michelson: add estimated memory cost of an expression 2018-05-28 17:09:03 +02:00
Benjamin Canou
ce668e6afb Alpha: lazily deserialize scripts 2018-05-28 17:09:03 +02:00
Benjamin Canou
5f39f2ceec Data_encoding: add lazy_encoding combinator 2018-05-28 17:09:03 +02:00
Benjamin Canou
530427c813 Michelson: unpair input of CHECK_SIGNATURE 2018-05-28 17:09:03 +02:00
Benjamin Canou
8e28c790ea Client/Alpha: detect script failure before injection 2018-05-28 17:09:03 +02:00
Benjamin Canou
23f9949e70 Alpha: add storage limits 2018-05-28 17:09:03 +02:00
Benjamin Canou
dd9cd8a1c3 Alpha: keep the storage space in bytes instead of the premultiplied fees 2018-05-28 17:09:03 +02:00
Grégoire Henry
7d73605f5c Alpha: fix endorsement rewards
It should be computed with the priority of the endorsed blocks,
not with the priority of the block where it is included.
2018-05-28 17:09:03 +02:00
Grégoire Henry
c167d0eaae Alpha: remove unused parameters 2018-05-28 17:09:03 +02:00
Grégoire Henry
25ecd68b90 Alpha: use singular for Sourced_operation 2018-05-28 17:09:03 +02:00
Grégoire Henry
ee5373d960 Client: add global option --wait 2018-05-28 17:09:03 +02:00
Grégoire Henry
72e31287d1 Client/Alpha: split module Client_proto_context 2018-05-28 17:09:03 +02:00
Benjamin Canou
a11e0000e7 Michelson: add SET_DELEGATE opcode 2018-05-28 17:09:03 +02:00
Benjamin Canou
b669632075 Alpha: check delegatable flag before removing the delegate 2018-05-28 17:09:03 +02:00
Benjamin Canou
af5a8939cf Alpha: originations from contracts are now internal operations 2018-05-28 17:09:03 +02:00
Benjamin Canou
97208fd532 Alpha: add a type for operation results 2018-05-28 17:09:03 +02:00
Benjamin Canou
18c77318fb Alpha: thread origination_nonce in the context 2018-05-28 17:09:03 +02:00
Benjamin Canou
f05b02f74f Michelson: some new contracts/tests 2018-05-28 17:09:03 +02:00
Benjamin Canou
303c43b742 Michelson: add AND of int and nat 2018-05-28 17:09:03 +02:00
Benjamin Canou
60136c13b2 Michelson: add ISNAT instruction 2018-05-28 17:09:03 +02:00
Benjamin Canou
3cc88d0d81 Docs: update Michelson spec to the new address type 2018-05-28 17:09:03 +02:00
Benjamin Canou
86c18bcd9d Michelson: SOURCE now returns an address 2018-05-28 17:09:03 +02:00
Benjamin Canou
5579d3cc97 Michelson: add untyped address type, and instructions ADDRESS and CONTRACT 2018-05-28 17:09:03 +02:00
Benjamin Canou
46efb6f3b3 Docs: update Michelson spec to the new semantics 2018-05-28 17:09:03 +02:00
Benjamin Canou
595685cf42 Michelson: replace direct transfers with an internal operation queue 2018-05-28 17:09:03 +02:00
Benjamin Canou
59cccd53aa Michelson: cleaner naming in interpreter 2018-05-28 17:09:03 +02:00
Benjamin Canou
24deb10c8f Michelson: cleanup big map initialization and account for its fees 2018-05-28 17:09:03 +02:00
Benjamin Canou
42899ccb09 Alpha: add result record type for apply operation and include storage fees 2018-05-28 17:09:03 +02:00
Benjamin Canou
25a1930c32 Alpha: storage fees accounting 2018-05-28 17:09:03 +02:00
Benjamin Canou
676a64b81f Michelson: rename DEFAULT_ACCOUNT to IMPLICIT_ACCOUNT 2018-05-28 17:09:03 +02:00
Benjamin Canou
bceb91289a Alpha: better errors for corrupted context accesses 2018-05-28 17:09:03 +02:00