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
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
Benjamin Canou
6f3be375e8
Alpha: IO gas accounting
2018-05-28 17:09:03 +02:00
Benjamin Canou
4a0b30d968
Alpha: add variants of storage functors with size accounting
2018-05-28 17:09:03 +02:00
Benjamin Canou
ba09cdf883
Alpha: fix Storage_functors.Indexed_data_storage.fold
2018-05-28 17:09:03 +02:00
Benjamin Canou
27486e500a
Micheline: use zarith instead of strings for integers
2018-05-28 17:09:03 +02:00
Benjamin Canou
c3cf4dfbfb
Alpha, Michelson: add gas limits for block and operations
2018-05-28 17:09:03 +02:00
Benjamin Canou
eef5885265
Alpha, Michelson: no need to thread the gas in parsing linear structures
2018-05-28 17:09:03 +02:00
Benjamin Canou
4fd2b03832
Alpha, Michelson: thread the gas directly in the context
2018-05-28 17:09:03 +02:00
Benjamin Canou
04415ff6a8
Alpha, Michelson: separate gas operations from costs
2018-05-28 17:09:03 +02:00
Milo Davis
8a49bf5509
Alpha, Michelson: gas in typechecking
2018-05-28 17:09:03 +02:00
Grégoire Henry
0d8990887c
Jbuilder: fix the target @runtest_indent
2018-05-26 20:08:03 +02:00
bruno
f000eb70f2
Alpha: forbid transaction of 0ꜩ towards contracts without code
2018-05-26 19:54:06 +02:00
James Deikun
2c57e4cce6
RPC: expose RPC base address in client context
2018-05-26 19:12:15 +02:00
Grégoire Henry
fd72b47263
Opam: fix dependencies
2018-05-26 18:36:32 +02:00
Arthur B
f43710694b
Alpha: fix typo in services path
2018-05-26 18:25:48 +02:00
Arthur B
07a631316a
Alpha: allow to deactivate rewards for a few initial cycles
2018-05-26 18:25:40 +02:00
Arthur B
126ee13ba7
Alpha: allow to ramp up endorsement and baking security deposits
2018-05-26 17:24:04 +02:00
Grégoire Henry
370114eb8b
Client: preload encrypted keys when running a daemon
2018-05-26 15:36:36 +02:00
Grégoire Henry
da921a8f56
Client: allow tz1...
as the source of a transfer
...
This is only useful when a 'remote signer' is available.
2018-05-26 15:36:36 +02:00
Grégoire Henry
fb85568d98
Client: add an option --remote-signer
...
When the option is provided, all keys with the scheme `remote` are now
implicitly handled by the provided remote signer.
2018-05-26 15:35:11 +02:00
Grégoire Henry
57663a95e9
Client: add an option to encrypt faucet accounts and imported keys
2018-05-26 15:34:16 +02:00
Grégoire Henry
f69d4a5186
Client: simplify Client_keys.SIGNER
...
We now use `Uri.t` to represent public and secret keys. The 'remote'
scheme is replaced by `https://`, `unix:///` and `tcp://`.
2018-05-26 15:34:16 +02:00
Grégoire Henry
80dd9ebf24
Client: rename sk_locator
into sk_uri
...
To prepare upcoming patch where `sk_locator = Uri.t`.
2018-05-26 15:10:07 +02:00
Grégoire Henry
361b3db3e8
Signer: only accept B58encoded-pkh as parameters
2018-05-26 15:09:36 +02:00
Grégoire Henry
e8fb2bf515
Signer: do not depend on Client_main_run
2018-05-26 15:08:54 +02:00
Grégoire Henry
0dbe24290f
Signer: explicit registration of signers
...
instead of toplevel side-effects and `-link-all`
2018-05-26 15:08:29 +02:00
Grégoire Henry
502017c863
Signer: create packages tezos-signer-services
and tezos-signed-backends
2018-05-26 15:08:13 +02:00
Grégoire Henry
4b094b9c02
Signer: split main_signer.ml
in multiple files
2018-05-26 15:07:57 +02:00
Grégoire Henry
b564b28603
Client: rename Client_signer_remote_socket
into Lwt_utils_unix.Socket
2018-05-26 15:07:14 +02:00
Grégoire Henry
272066ab04
Client: Use MBytes.t
for password
...
This prepares a future usage of `mlock`.
2018-05-26 15:06:39 +02:00
Grégoire Henry
ad9f4c2814
Signer: move main_signer.ml
into into its own package
2018-05-26 15:06:10 +02:00
Grégoire Henry
664f36a46a
Client: less restrictive type for Client_keys_commands.commands
2018-05-26 15:05:26 +02:00
Grégoire Henry
b32e6e7374
Clic: add Clic.constant
2018-05-26 15:05:14 +02:00
Benjamin Canou
0a6f65263f
Signer: add HTTPS variant
2018-05-26 15:05:14 +02:00
Benjamin Canou
fe435ce114
Client: minor error printing tweaks
2018-05-25 17:18:41 +02:00
Benjamin Canou
51cfa388f8
Signer: various fixes and cosmetic changes
2018-05-25 17:18:41 +02:00
Pietro
73b7fc89a5
Client: introduce tezos-signer
2018-05-25 17:18:41 +02:00
Pietro
8b9d02eec4
Client, wallet: Change type of location
2018-05-25 17:18:39 +02:00
Vincent Bernardoff
cfe82ab7cf
Baking: preload signers for delegate keys (daemon)
2018-05-25 17:02:56 +02:00
Vincent Bernardoff
f0fc9ac37c
Alpha: use watermark for signing blocks and operations
2018-05-25 16:47:48 +02:00
Grégoire Henry
5e17430815
Shell: allow to prefix signed data by a watermark
2018-05-25 16:47:48 +02:00
Grégoire Henry
2a85c34c67
Indentation fixes
2018-05-25 16:47:48 +02:00
Milo Davis
f3b0b0b00a
Micheline: add 255 character annotation length limit
2018-05-25 14:41:27 +02:00
Milo Davis
7fc74da1a2
Data_encoding: add bounded strings and bytes
2018-05-25 14:41:27 +02:00
Grégoire Henry
c2241c034a
Data_encoding: allow smaller size field for Dynamic_size
2018-05-25 14:41:27 +02:00
Grégoire Henry
89b6799fd6
Data_encoding: add combinator for positive big number
2018-05-25 14:41:27 +02:00
michael
3f1363b9ba
P2P/Shell: Split metadata into peer_metadata and conn_metadata
...
Peer_metadata is meant to keep track of peer's score.
Conn_metadata is meant to keep track of connection configuration given
during Ack exchange.
2018-05-25 11:39:22 +02:00
bruno
c13b7dd39a
Alpha: typos
2018-05-25 10:36:08 +02:00
Grégoire Henry
e1622c7b77
Opam: fix test dependencies for data_encoding
.
2018-05-25 00:47:52 +02:00
Raphaël Proust
118188530a
Data_encoding: crowbar tests
...
This work is based on ideas more fully developped in
https://gitlab.com/gasche/fuzz-data-encoding .
However, including some tests directly in this repo helps with CI
integration as well as keeping the tests and interfaces up to date.
Eventually, we should integrate the tests from the fuzz-data-encoding
library.
2018-05-24 17:50:18 +02:00
Raphaël Proust
8b5bce50cf
Data_encoding: test catching of invalid encodings
2018-05-24 17:50:18 +02:00
Raphaël Proust
00d596e9c2
Data_encoding: catching more invalid encoding
2018-05-24 17:50:18 +02:00
Benjamin Canou
b0be5b630d
Data_encoding: Ignore is actually a `Fixed 0
2018-05-24 15:43:15 +00:00
Pietro
d1c2f631d5
Data_encoding: Refresh benchmarks
2018-05-24 15:43:15 +00:00
Grégoire Henry
2b82a588e1
Data_encoding: improve docstrings.
2018-05-24 15:43:15 +00:00
Grégoire Henry
2e9df07b0e
Data_encoding: add check_size
2018-05-24 15:43:15 +00:00
Grégoire Henry
5023e1a261
Data_encoding: rename Binary.to_bytes
into to_bytes_exn
2018-05-24 15:43:15 +00:00
Grégoire Henry
72fc71be67
Data_encoding: rename Binary
into Binary_writer
2018-05-24 15:43:15 +00:00
Grégoire Henry
1da0d0c8d7
Data_encoding: split out Binary_length
2018-05-24 15:43:15 +00:00
Grégoire Henry
aee6718148
Data_encoding: use CPS for the stream reader
2018-05-24 15:43:15 +00:00
Grégoire Henry
b83797371e
Data_encoding: rename Size
into Binary_size
2018-05-24 15:43:15 +00:00
Grégoire Henry
b164dd6cc5
Data_encoding: drop module Assert
...
- drop the quick-and-dirty `Assert` introduced when we switched from
`Kaputt` and use `Alcotest.check` instead.
- split tests in multiple files:
- success.ml
- write_failure.ml
- read_failture.ml
- invalid_encoding.ml
- randomized.ml
2018-05-24 15:43:15 +00:00
Grégoire Henry
a0cae2af57
Data_encoding: enforce fixed-size strings in JSON.
2018-05-24 15:43:15 +00:00
Grégoire Henry
1bc7b45fdb
Data_encoding: forbids nested options
2018-05-24 15:43:15 +00:00
Grégoire Henry
1f358b7f9a
Data_encoding: move cut_bytes
into MBytes
2018-05-24 15:43:15 +00:00
Grégoire Henry
cb28ca1cd5
Stdlib: reintroduce MBytes.pp_hex
2018-05-24 15:43:15 +00:00
Fabrice Le Fessant
8986640a98
P2p: make nonces unpredictable when connecting
...
Avoid replay-attacks by preventing a node from determining one of the
nonces used in the encryption of a channel between two nodes.
2018-05-24 12:11:42 +02:00
Benjamin Canou
dcf27f48d9
Alpha: do not produce multiple revelations
2018-05-22 12:32:47 +02:00
Benjamin Canou
89d9d83b15
Alpha: remove unused error
2018-05-22 12:32:47 +02:00
Grégoire Henry
d0a9fb678c
Alpha: better error for invalid key revelation
2018-05-22 12:32:47 +02:00
OCamlPro-Iguernlala
4caf7cf679
P2p_maintenance: improve 'try_to_contact' and 'connectable'
...
To avoid eventual infinite loops in 'try_to_contact', we
accumulate the set of points that have been seen to discard them
during recursive calls.
2018-05-22 12:20:04 +02:00
Marco Stronati
5a26d23cf7
Crypto: replace nocrypto sha256 with hacl
2018-05-17 10:20:22 +02:00
Marco Stronati
7d6da7179b
Crypto: replace ocaml-tweetnacl with ocaml-hacl
2018-05-17 10:20:22 +02:00
Grégoire Henry
01941fa725
Opam: fix tezos-stdlib.opam
2018-05-13 01:42:05 +02:00
Vincent Bernardoff
abdcfab111
RPC: add CORS test
2018-05-13 00:20:40 +02:00
Vincent Bernardoff
64183bbcf3
RPC: CORS now accepts Content-Type
by default
2018-05-13 00:00:18 +02:00
Vincent Bernardoff
049efb2169
Stdlib/String: add Set module
2018-05-12 23:57:32 +02:00
OCamlPro-Iguernlala
6b8c3f7d31
P2p_maintenance.connectable: ignore non-trusted points if option --closed is set
2018-05-12 23:42:20 +02:00
Vincent Bernardoff
b48ba96106
Stdlib: use bigstring
to implement MBytes
2018-05-12 23:11:35 +02:00
Vincent Bernardoff
1cd82f5d82
Stdlib: do not use deprecated stringext
2018-05-12 23:11:35 +02:00
Benjamin Canou
3ca03f6da7
Alpha: remove dead code for deposit forfeiting
2018-05-11 16:49:16 +02:00
Grégoire Henry
3e6633bacc
Alpha: burn only rewards and fees when baker do not reveal seeds
...
We only forfeit the bond in case of double-baking.
2018-05-11 15:50:03 +02:00
Pierre Chambart
e16cf6d28b
Simplify, bit extraction from Z values
2018-05-09 16:36:52 +00:00
Benjamin Canou
deffa28aa4
Data_encoding: add more compact binary serializer for Z
2018-05-09 16:36:52 +00:00
Benjamin Canou
441149880c
Environemt: add equality for Z.t
2018-05-09 16:36:52 +00:00
Benjamin Canou
636fecb6ff
Utils: add Compare.Z
2018-05-09 16:36:51 +00:00
Raphaël Proust
a3474ae496
Typo in error message
2018-05-09 17:46:54 +02:00
Grégoire Henry
74ec514fd2
Alpha: fail on early revelations
...
We now fail when a nonce is revealed before
the the expected revelation cycle.
2018-05-09 17:46:54 +02:00
Grégoire Henry
3cb1c3c5e2
Alpha: error messages for invalid nonce revelations
2018-05-09 17:46:48 +02:00
Grégoire Henry
43fe4dbdc3
Alpha: minor cosmetic changes
2018-05-09 17:45:37 +02:00
Benjamin Canou
a873930a09
Alpha: minor change to the PoW check
2018-05-09 15:56:09 +02:00
Grégoire Henry
e3bfe0d651
Alpha: exclude signature from the minimal stamp of PoW.
...
We don't want the stamp to be cheaper for people with faster
signing devices...
2018-05-09 15:56:09 +02:00
bruno
6966240a54
Alpha: export missing errors
2018-05-08 12:50:04 +02:00
Benjamin Canou
cd731df938
Add missing opam dependency
2018-05-05 01:29:06 +02:00
Benjamin Canou
294e270f32
Add missing opam dependency
2018-05-04 19:23:04 +02:00
Vincent Bernardoff
96d9f317c1
Ocplib_json_typed: adapt code for inclusion in vendors
2018-05-04 18:48:00 +02:00
Pietro
b27bb84861
[p2p] fix space for semicolon and pipe
2018-05-03 16:03:01 +02:00
Grégoire Henry
fe9c06b7ca
Test: fix test_multinode.sh
2018-05-03 16:03:01 +02:00
Pierre Chambart
137613ee9a
Formatting client_p2p_commands
2018-05-03 16:03:01 +02:00
Pierre Chambart
d71ff759dc
Remove uses of Time.now in P2p_acl
2018-05-03 16:03:01 +02:00
Pierre Chambart
6bdb959204
Really get rid of magic...
2018-05-03 16:03:01 +02:00
Pierre Chambart
7de7043a74
Stdlib: get rid of magic in HashPtree
2018-05-03 16:03:01 +02:00
Pietro
4d9292fcbb
Fix other minor comments
2018-05-03 16:03:01 +02:00
Pietro
c5d41465a2
p2p: temp ban point on invalid auth
2018-05-03 16:03:01 +02:00
Pietro
ce92f70883
P2p: Fix Hashtbl for PeerRing
...
Export hash in INTERNAL_HASH. now Peer_id.Id is hashable
2018-05-03 16:03:01 +02:00
Pietro
3683e948c1
Ring: swap operation order in Ring.Maketable.add
2018-05-03 16:03:01 +02:00
Pietro
511b47148c
p2p, ring: Cleanup PeerId table
2018-05-03 16:03:01 +02:00
Vincent Bernardoff
b3df4e63c8
[P2P] ACLs: cosmetics, renamings, comments
2018-05-03 16:03:01 +02:00
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