Benjamin Canou
d083add61f
Michelson: pretty print typechecking errors when using run program
2017-07-22 00:14:40 +02:00
Milo Davis
77433a5f15
Michelson: show type_map for programs with type errors
2017-07-22 00:14:40 +02:00
Benjamin Canou
4bd9a864cf
Shell: document internal distributed_db error,
2017-07-21 16:16:39 +02:00
Milo Davis
23c814c783
Michelson: Adds DEFAULT_ACCOUNT instruction
2017-07-21 10:45:57 +02:00
Milo Davis
b320d43259
Michelson: removes NOP instruction from surface syntax
2017-07-21 10:34:22 +02:00
Milo Davis
b52d4a78d9
Michelson: adds -amount flag to run program
2017-07-19 18:13:03 +02:00
Benjamin Canou
800f4b555d
Alpha: fix contract deletion.
2017-07-19 15:39:59 +02:00
Grégoire Henry
5d33b2ce22
Revert "Alpha: add a faucet counter to prevent replay."
...
This reverts commit 512fde82e4
.
2017-06-12 11:08:41 +02:00
Grégoire Henry
2bc63854a8
Shell: Liveness of operations
...
Operations now include a block hash in their header. Such an operation
could only be included in a successor of this block.
Furthermore, when validating a block, the economic protocol now
returns---together with the context---an integer `max_operations_ttl`.
Then, when validating a successor, the shell will fail if it contains
an operation whose header's block hash is not one the
`max_operations_ttl` predecessors of the block.
As a bonus, the shell is now able to detect and forbid replayed
operations. Then, we might decide to remove some replay
detection-mechanism that we previously implemented in the economic
protocol.
2017-06-12 11:07:37 +02:00
Grégoire Henry
329c8b185a
Shell: implements Chain.live_blocks
2017-06-12 11:07:37 +02:00
Grégoire Henry
8d5155cf32
Proto: return the maximum TTL for operations
2017-06-12 11:07:37 +02:00
Grégoire Henry
747cdb1963
Shell: export Distributed_db.*.clear
2017-06-12 11:07:37 +02:00
Grégoire Henry
90780f3374
Shell: minor renaming
...
Let's be consistent with Lwt (and ourselves).
2017-06-12 11:07:37 +02:00
Grégoire Henry
4bbc97aeb6
Shell: rework the preapply
RPC
...
It now takes a `proto_header` in parameter, and it returns a full
`shell_header`. This prepares the inclusion of the context's hash in the
`shell_header`.
2017-06-12 11:07:35 +02:00
Grégoire Henry
3b7a314669
Shell/Proto: more complete "begin_construction".
...
The `begin_construction` function now accepts an optional argument
`proto_header`. This is to be used by a new RPC that ease forging the
shell header of a block (i.e. it will compute the fitness and, in a
near future, the hash of the resulting context).
2017-06-12 11:05:49 +02:00
Grégoire Henry
89814a3d4e
Proto/Alpha: more RPCs
2017-06-12 11:05:48 +02:00
Grégoire Henry
d06fcebd1f
Proto/Alpha: minor renaming
2017-06-12 11:05:48 +02:00
Grégoire Henry
565654a242
Client: minor renaming
2017-06-12 11:05:48 +02:00
Grégoire Henry
f96ecbf667
Test: inject operation and block atomically
2017-06-12 11:05:46 +02:00
Grégoire Henry
f39eca214a
Shell: remove the on-disk index of operations
...
Let's get serious. The full index of operations is not sustainable in
the production code. We now only keep the index of operations not yet
in the chain (i.e. the mempool/prevalidation). Operations from the
chain are now only accesible through a block. For instance, see the
RPC:
/blocks/<hash>/proto/operations
2017-06-12 11:04:43 +02:00
Grégoire Henry
4995864316
Shell: regroups basic data types in Tezos_data
2017-06-12 11:04:43 +02:00
Grégoire Henry
61eb67cbca
Shell: do not keep tracks of 'invalid_successors'
2017-06-12 11:04:43 +02:00
Guillem Rieu
58587258dc
Proto/Alpha: add a RPC /context/voting_period_kind
2017-06-12 09:48:02 +02:00
OCamlPro-Iguernlala
4ded0660d6
p2p: check values of some options in P2p.create
2017-06-12 09:39:36 +02:00
Benjamin Canou
afda65fef1
Alpha: fix pre-execution typechecking.
2017-06-11 21:39:55 +02:00
Grégoire Henry
68f9851bce
Client: add option for forcing free mining.
2017-06-07 16:41:46 +02:00
Grégoire Henry
3b38720fb6
Minor fix in contract deletion
2017-06-07 16:41:41 +02:00
Grégoire Henry
81b720fee0
Add: tezos-client set delegate ...
2017-06-07 16:38:59 +02:00
Vincent Bernardoff
3b3428ddad
Shell: experimental leveldb backend
2017-06-06 23:12:33 +02:00
Benjamin Canou
e69662efa5
Alpha: consistent typechecking of contract storage initialization.
2017-06-06 19:39:46 +02:00
Vincent Bernardoff
35792ccc37
RPCs: fix node crash on SSL write error
2017-06-06 18:58:03 +02:00
Benjamin Canou
90f87bec4a
Alpha: update bootstrap parameters.
2017-06-01 01:53:54 +02:00
Benjamin Canou
512fde82e4
Alpha: add a faucet counter to prevent replay.
2017-05-31 16:36:12 +02:00
Benjamin Canou
d351bb1608
Shell: small bugfix preventing mempool cleanup.
2017-05-31 16:36:07 +02:00
Grégoire Henry
443cee2bb3
Fix compilation with lwt.3.0.0
2017-05-07 12:26:27 +02:00
arthur.breitman@gmail.com
d2a2052a2e
transfering -> transferring typo fix
2017-05-06 20:53:09 -07:00
Benjamin Canou
442f2d00a0
RPCs: fix missing CORS headers.
2017-04-19 17:27:45 +02:00
Grégoire Henry
9480d411a2
Proto: add an RPC that return all the 'parsed' operations of a block
2017-04-17 00:49:49 +02:00
Grégoire Henry
8a20ec8b0f
Shell/Proto: export more information to the RPC handler
2017-04-17 00:49:49 +02:00
Grégoire Henry
fb04fc1c17
Shell: lazy access to all the operations of a block
...
This prepares the node to the new on-disk storage.
2017-04-17 00:49:49 +02:00
Grégoire Henry
729ca9887d
Shell/Protocol: minor renaming
2017-04-17 00:49:49 +02:00
Grégoire Henry
c316dc00a8
Minor improvement in the docker image.
2017-04-14 20:54:43 +02:00
Guillem Rieu
b861d45b14
Proto/Alpha: fix proposal checking location in Amendment.record_ballot
2017-04-14 20:54:43 +02:00
Guillem Rieu
76b9cedcef
Tests: add test for switching unanimously to 'demo' protocol
2017-04-14 20:54:43 +02:00
Guillem Rieu
3c44f1dfba
Proto/Alpha: replace Vote.set
_current_proposal by init
_current_proposal
2017-04-14 20:54:43 +02:00
Alain Mebsout
8777349a19
A few fixes to make things more posix compliant in build/test scripts
2017-04-14 17:41:18 +02:00
Grégoire Henry
42a4e4ecc0
Merge branch 'stream-binary-decoding' into 'master'
...
[data_encoding] add facilities to decode a stream of Mbytes.t incrementally
See merge request !173
2017-04-14 00:08:51 +02:00
OCamlPro-Iguernlala
7d214a19f7
data_encoding: read streams of Mbytes.t, tests, remove dead code (debug functions), expose a function that checks without reading the data
2017-04-13 18:05:41 +02:00
Grégoire Henry
0f247adea6
Shell: add the protocol level
in the header of block
2017-04-12 18:29:12 +02:00
Grégoire Henry
2b0df39115
Context: simplify the storage of 'test_network'.
...
This prepares the context to the inclusion the hash of the context in
the block header. By "looking" into the resulting context of a block,
we are now know able to determine whether:
- no testnet is currently associated to the branch;
- a testnet must be forked after the block;
- a previously forked testnet is running.
2017-04-12 12:43:34 +02:00
Grégoire Henry
495e887538
RPC: minor improvements in naming consistency
2017-04-12 12:41:35 +02:00
Grégoire Henry
1b6ecbfc81
Shell/RPC: simplify block-watcher signature
2017-04-12 12:41:35 +02:00
Grégoire Henry
f805507702
Shell: move level
in th shell part of block.
2017-04-12 12:41:32 +02:00
Grégoire Henry
2480bfd216
Shell: remove dead code
2017-04-12 12:39:41 +02:00
Grégoire Henry
ab76b8fbf5
Shell/State: consistent use of pred
vs. predecessor
.
2017-04-12 12:39:41 +02:00
Grégoire Henry
6212af55f1
Proto/Alpha: use uint16
for mining priority.
2017-04-12 12:39:08 +02:00
Grégoire Henry
a731a47d3c
Proto: explicit fitness/timestamp in the signature
...
This remove the data fomr the context where they "duplicate" the
block header.
2017-04-12 12:39:04 +02:00
Grégoire Henry
3b5a3eb509
Client: minor fix in the daemon.
2017-04-10 23:30:43 +02:00
Benjamin Canou
5a21f3c159
Reengineer the PROTOCOL signature to prepare for the multi-step validator.
2017-04-10 23:30:43 +02:00
Grégoire Henry
e11e9c9ac5
Shell/P2p: Split the unit tests in smaller atom.
...
And use more `Error_monad`...
2017-04-10 23:14:31 +02:00
Grégoire Henry
413bddcd96
Shell/P2p: propagate all errors to {raw_,}write_sync
.
...
Those functions are only used in the testsuite.
2017-04-10 23:08:16 +02:00
Grégoire Henry
c187a0b792
Shell/P2p: implements raw_write_sync
.
...
For testing only: it allows to send 'gardled' messages to a peer.
2017-04-10 23:08:16 +02:00
Grégoire Henry
c2a4db2d81
Shell/P2p: propagate disconnection errors through the pool
.
2017-04-10 23:08:16 +02:00
Grégoire Henry
4523a67e7d
Shell/P2p: fix connection close on read error
2017-04-10 23:08:16 +02:00
Grégoire Henry
4537c8780e
Shell: introduce Error_monad._assert
.
2017-04-10 23:08:16 +02:00
Benjamin Canou
18e2edf6f4
Client: minor client output fixes and enhancements.
2017-04-10 18:31:37 +02:00
Grégoire Henry
dbdcca7dbb
Client/Alpha: simplify Client_proto_context
2017-04-10 18:31:37 +02:00
Grégoire Henry
a6c7f355cc
Test: simplify Makefile
2017-04-10 18:31:37 +02:00
Grégoire Henry
166801fc77
Client: more Error_monad
in Cli_entries
.
2017-04-10 18:31:37 +02:00
Grégoire Henry
cfb7e35914
Client: a bit of Error_monad
in Hash
2017-04-10 18:31:37 +02:00
Grégoire Henry
f5e2f7b481
Client: more Error_monad
in Client_aliases
2017-04-10 18:31:37 +02:00
Grégoire Henry
3226565b39
Client: more Error_monad
in Client_{node,proto}_rpcs
2017-04-10 18:31:37 +02:00
Benjamin Canou
f26dfdbe8e
RPC: fix CORS preflight.
2017-04-10 18:23:24 +02:00
Vincent Bernardoff
329b72d1aa
RPC: batch operation parsing/retrieval
2017-04-04 16:11:18 +02:00
OCamlPro-Iguernlala
cb2aa6ea2b
[Data_encoding.Binary] add a function 'to_bytes_list' to encode a given data as a list of 'small' blocks
2017-04-02 16:29:19 +02:00
Grégoire Henry
5449cbbfe6
Proto/Alpha: use record for mining slot.
2017-04-02 16:18:44 +02:00
Grégoire Henry
ef3180c561
Shell: Smaller Net_id.
2017-04-02 15:40:04 +02:00
Grégoire Henry
ffc8fa0383
RPC: rebind 'complete' for blocks and operations.
2017-04-02 15:33:32 +02:00
OCamlPro-Iguernlala
a330f3bcc5
[data_encoding] use MBytes.{get/set}_char to read/write binary data instead of int8
2017-03-31 17:46:44 +02:00
Guillem Rieu
9b3cde5df9
Client: add Client_proto_context.delegate_contract function
2017-03-31 17:26:04 +02:00
Benjamin Canou
5bfe8f90f2
Alpha: document and classify more errors.
2017-03-31 17:03:02 +02:00
Benjamin Canou
62ed003957
Alpha: remove assets.
2017-03-31 17:02:52 +02:00
Benjamin Canou
2ed66ea569
Alpha: take origination burn from source and not destination.
2017-03-31 17:02:36 +02:00
Benjamin Canou
02a67a7976
Alpha: fix typo in error registration.
2017-03-31 17:02:20 +02:00
Grégoire Henry
24b5290a74
Opam: use the libev
backend of Lwt.
2017-03-31 16:58:59 +02:00
Grégoire Henry
852ba95a3c
Client: do no pat parse the config file and Sys.argv
twice.
2017-03-31 16:49:40 +02:00
Grégoire Henry
1879c4359f
Merge remote-tracking branch 'ocp/bugfix-in-data-encoding'
2017-03-31 16:48:07 +02:00
Grégoire Henry
c2bf738079
Merge branch 'merkle'
2017-03-31 16:47:32 +02:00
Vincent Bernardoff
0a48a2e14a
alpha: expose to_int32 for some types
2017-03-31 16:46:55 +02:00
Grégoire Henry
245fa66140
Shell: Split the operations list out of the (minimal) block header.
...
The minimal header now (classically) contains the root of a Merkle tree,
wrapping a list of lists of operations. Currently, the validator only
accept a single list of operations, but the 3+pass validator will
requires at least two lists.
2017-03-31 01:19:34 +02:00
Grégoire Henry
618fb64129
Client/RPC: rename wait
into async
2017-03-31 01:19:34 +02:00
Grégoire Henry
e273cfa07f
Shell/Distributed_db: allow to precheck
data.
2017-03-31 01:19:34 +02:00
Grégoire Henry
a6307c40cf
Shell: add unit tests for Merkle tree
2017-03-31 01:19:33 +02:00
Grégoire Henry
9097809589
Shell: Merkle tree of operations
2017-03-31 01:19:33 +02:00
OCamlPro-Iguernlala
669a0249ca
add some asserts in data_encoding
2017-03-29 18:33:39 +02:00
OCamlPro-Iguernlala
dc32decd05
[bugfix in data_encoding] When writing a float (to binary format), MBytes.set_double should be used instead of MBytes.set_float (Float _ encodes doubles in the encoding, not singles)
2017-03-29 18:32:46 +02:00
OCamlPro-Iguernlala
f96fbe7d31
[bugfix in data_encoding] When reading a float (from binary format), MBytes.get_double should be used instead of MBytes.get_float (Float _ encodes doubles in the encoding, not singles)
2017-03-29 18:30:15 +02:00
Benjamin Canou
66cb6a8567
Alpha: remove unused storage key.
2017-03-28 14:37:26 +02:00
Benjamin Canou
31bc331063
Switch to OCaml version 4.04.0.
2017-03-28 14:37:26 +02:00
Benjamin Canou
ed6e91a47d
RPCs: make the result of [/blocks/X] compatible with Alpha's [/helpers/parse/block].
2017-03-28 14:37:26 +02:00
Benjamin Canou
9872ff8b36
RPCs: make the result of [/operations/X] compatible with Alpha's [/helpers/parse/operation].
...
fixes #160
2017-03-28 14:37:26 +02:00
Grégoire Henry
7e1cc171cc
Shell: fix unhandled exception in io_scheduler
.
2017-03-28 14:37:15 +02:00
Benjamin Canou
c46950b903
Shell: repack the context every 10 commits.
2017-03-16 18:49:31 +01:00
Benjamin Canou
d99d8f88a1
Utils: add [Lwt_utils.Idle_waiter].
2017-03-16 18:49:31 +01:00
Benjamin Canou
70e31054d1
Alpha: classified public key revelation error.
2017-03-16 18:49:31 +01:00
Guillem Rieu
4e82e94ef4
Client: add tags to aliases (enabled for contracts).
2017-03-16 18:49:31 +01:00
Guillem Rieu
9c2564391c
Client: lift some commands into functions.
2017-03-16 18:49:31 +01:00
Guillem Rieu
83f2e0dcd3
Client: switch to JSON config file and remove config-file dependency.
2017-03-16 18:49:31 +01:00
Guillem Rieu
04ef832ad3
Client: add optional seed argument to Client_keys.gen_keys
2017-03-16 18:49:31 +01:00
Guillem Rieu
c6c81345a8
RPC: add answer functions with HTTP code argument to RPC interface.
2017-03-16 18:49:31 +01:00
Guillem Rieu
cc44053229
RPC: add HTTP methods and Content-Type headers.
2017-03-16 18:49:31 +01:00
Guillem Rieu
a2758253ea
Utils: add [merge_list2] function
2017-03-16 18:49:31 +01:00
Benjamin Canou
967075f49a
CLient: fix endorse for
command.
2017-03-16 18:49:31 +01:00
Vincent Bernardoff
8962f324d4
Client: a bit of doc.
2017-03-16 18:49:31 +01:00
Vincent Bernardoff
215bd0e2d2
Alpha: simplify mining/endorsement slots RPCs.
2017-03-16 18:49:31 +01:00
Vincent Bernardoff
b48187d43b
Client: fix .merlin file.
2017-03-16 18:49:31 +01:00
Arthur Breitman
76fad5a3db
Economic = economique
...
Economical = econome
2017-03-15 08:00:53 -07:00
Grégoire Henry
826f2ea4ba
P2p: implements peer swapping
2017-03-14 11:56:42 +01:00
Grégoire Henry
cf0d6d2580
Typo
2017-03-14 11:56:42 +01:00
Benjamin Canou
b5f0021016
Shell: add RPC to list network protocol versions.
2017-03-13 19:08:08 +01:00
Grégoire Henry
16bae53015
Makefile: do not compile the (old) webclient
2017-03-13 19:08:08 +01:00
Grégoire Henry
2d828060d5
Client: do not fail when the protocol is unknown...
2017-03-13 19:08:08 +01:00
Benjamin Canou
7ba73a5955
Alpha: classify and document mining errors.
2017-03-10 18:33:46 +01:00
Benjamin Canou
259972a3dd
Alpha: classify and document qty errors.
2017-03-10 18:33:46 +01:00
Benjamin Canou
9caef6fae4
Alpha: classify and document contract errors.
2017-03-10 18:33:46 +01:00
Vincent Bernardoff
d845dc9740
Alpha: documentation of RPC wrappers.
2017-03-10 18:33:46 +01:00
Grégoire Henry
c2ae0b278a
OPAM: more version contraint
2017-03-10 16:27:21 +01:00
Grégoire Henry
82628a6ca2
Client: avoid unrequired monitor
2017-03-09 14:38:39 +01:00
Vincent Bernardoff
556c965af7
RPC server: use ~on_exn
2017-03-09 14:38:39 +01:00
Grégoire Henry
ab4015b189
Shell: fix (part of) the memory leak in validator
2017-03-09 14:38:39 +01:00
Grégoire Henry
ec12edeb91
Proto/Alpha: fix mining right timestamp
2017-03-09 14:38:38 +01:00
Grégoire Henry
39403e243e
Shell: avoid operation leaks
2017-03-09 14:38:38 +01:00
Benjamin Canou
3b483811f5
Client/genesis: option to set the timestamp of the activation block.
2017-03-09 14:38:38 +01:00
Grégoire Henry
ccfdaa6bd0
FunView: fix recursive removal.
2017-03-09 14:38:38 +01:00
Grégoire Henry
534dc6af9d
Shell: the genesis block should not flag the node as 'bootstraped'
2017-03-09 14:38:38 +01:00
Grégoire Henry
8453a69e0b
Shell: no duplicates in Prevalidation
2017-03-09 14:38:38 +01:00
Grégoire Henry
9dd2e4963f
Makefile: add --warn-error 8
(incomplete pattern-matching)
2017-03-07 13:12:23 +01:00
Vincent Bernardoff
63e5ea5e79
Client: Add "network stat" command.
2017-03-07 13:07:18 +01:00
Vincent Bernardoff
9e823c7dfb
typo
2017-03-07 13:04:14 +01:00
Grégoire Henry
ee870722cf
Shell: fix Utils.read_file
2017-03-03 18:20:38 +01:00
Grégoire Henry
49392afd73
Validation: fetch new protocol on demand.
2017-03-03 18:20:38 +01:00
Benjamin Canou
1d13908152
Alphanet: dictator in the alpha protocol
2017-03-03 18:20:38 +01:00
Benjamin Canou
7187f2d879
Proto: classify and document some errors.
2017-03-03 18:20:38 +01:00
Benjamin Canou
015f3edff3
Shell-level commit messages and timestamps.
2017-03-03 18:20:38 +01:00
Benjamin Canou
2e96a1377e
Genesis: unused error.
2017-03-03 18:20:37 +01:00
Grégoire Henry
bed575d506
Baker: fix operation ordering...
2017-03-02 16:19:22 +01:00
Grégoire Henry
257a3972df
Shell: do not forbid to restart the node.
2017-03-02 16:19:19 +01:00
Benjamin Canou
23869991ca
Alpha: update .merlin
.
2017-03-02 16:19:12 +01:00
Grégoire Henry
b087042d83
Shell: do not split the validation scheduler...
2017-03-02 16:19:06 +01:00
Benjamin Canou
85055aace6
Shell: do not validate blocks that don't increase the timestamp or fitness.
2017-03-02 16:18:51 +01:00
Grégoire Henry
cb90e3e5c5
Lwt: temporary Hack (waiting for Pierre's expertise)
2017-03-02 16:18:44 +01:00
Grégoire Henry
3f5bd7ea5b
Client: allow the baker te re-read keys
.
...
Is a new key is added, the baker will start baking for this key.
No need to relauch the baker anymore.
2017-03-02 16:18:16 +01:00
Grégoire Henry
22e3aee362
Alphanet: remove the secret bootstrap
keys
2017-03-02 16:18:09 +01:00
Grégoire Henry
2b938802f3
Alphanet: trivial faucet
2017-03-02 16:18:02 +01:00
Grégoire Henry
768cf91cd6
Client: implements ./tezos-client bootstrapped
...
It wait for the node to be synchronized with the network. The heuristic
is currently:
- the timestamp of current head is less than 1 minute old ;
- there was a period of 30 seconds without new block discovered.
2017-03-02 16:17:58 +01:00
Grégoire Henry
de050bfee1
Shell: tezos-node identity
should read the configuration file
2017-02-27 22:29:06 +01:00
Grégoire Henry
0b27503f30
Shell: exit properly on SIGTERM
.
2017-02-27 22:28:59 +01:00
Grégoire Henry
348aec3d10
Makefile: more fixes...
...
Sigh!
2017-02-27 17:21:37 +01:00
Grégoire Henry
3edace2720
Makefile: fix various dependencies errors
2017-02-27 09:49:03 +01:00
Grégoire Henry
eb89877d58
Shell: fix propagation of error in inject_block
2017-02-26 02:03:06 +01:00
Grégoire Henry
05ed4e7557
Error_monad: allow binary serialization of error.
2017-02-26 02:02:33 +01:00
Grégoire Henry
b461b6c0c6
Shell: protection against serialisation error.
2017-02-26 01:25:47 +01:00
Grégoire Henry
20057079c6
Client/Revelation: reduce the size of RPC requests
2017-02-26 00:24:02 +01:00
Grégoire Henry
2f6863da89
Client/Endorser: do not send endorsement for old blocks
2017-02-26 00:23:54 +01:00
Grégoire Henry
0b33e5a6da
Shell/RPC: Implements `/block/<hash>/predecessors
2017-02-26 00:23:52 +01:00
Grégoire Henry
fc7e4e56a6
Client/Baker: do not monitor endorsement while baking.
2017-02-25 18:25:00 +01:00
Grégoire Henry
285427bcba
Client: minor stylistic issue.
2017-02-25 18:24:58 +01:00
Benjamin Canou
c66db98bfa
Baker: don't bake over old loafs during the bootstrap stage.
2017-02-25 18:24:33 +01:00
Grégoire Henry
863869eb40
Proto/Env: remove Bytes.unsafe_of_string
2017-02-25 18:18:35 +01:00
Grégoire Henry
c277b5b56d
Proto: let genesis
be agnostic on fitness
2017-02-25 18:14:06 +01:00
Grégoire Henry
e88e4b0848
Shell: Proto.fitness
-> Context.set_fitness
.
...
Intead of providing a `fitness` function, an economic protocol should
now call `Context.set_fitness`.
This simplify the shell's code and avoid complexity on protocol
change. Previously the fitness of a context produced by the old protocol
had to be read by the new protocol. Now, the shell read the context
without requesting the help of the economic protocol.
2017-02-25 18:14:06 +01:00
Grégoire Henry
3c035da25c
Proto: unit testing for the genesis protocol
...
- Let the `sandbox` change the public key
- Adapt `test_basic.ml` and `test_basic.sh`
- Do not duplicate the fitness in the block header
Client:
- allow the `bootstrap` command to lookup keys in the `head` rather than
in `genesis`.
2017-02-25 18:14:06 +01:00
Grégoire Henry
639b4c0c5c
Shell: add Data_encoding.unit
2017-02-25 18:14:06 +01:00
Grégoire Henry
a2f1b6c889
Client: introduce Client_blocks
2017-02-25 18:14:06 +01:00
Vincent Bernardoff
8f5f5a2106
Genesis protocol
2017-02-25 18:14:06 +01:00
Grégoire Henry
d5d5cc7c09
Proto: rename bootstrap
into alpha
2017-02-25 18:14:05 +01:00
Grégoire Henry
b674c538b2
Shell: refactor the distributed DB.
...
This refactors `src/node/shell/state.ml` in order to trace the source of
blocks and operations. This prepares the node for the three-pass
validator.
In the procces, it adds an in-memory overlay for blocks and operations.
2017-02-25 18:14:05 +01:00
Grégoire Henry
26ce119072
Alphanet: bootstrap accounts should always have 1/2 of the mining rights
2017-02-25 18:14:05 +01:00
Grégoire Henry
300dd5ea6d
Makefile: praise the return of utop
.
...
The Makefile is really hackish...
2017-02-25 18:14:05 +01:00
Benjamin Canou
d0e9d0d584
Proto: allow decreasing baking slot durations.
2017-02-25 18:05:17 +01:00
Grégoire Henry
09dcb59c14
Makefile: praise the return of utop
.
...
The Makefile is really hackish...
2017-02-24 18:02:24 +01:00
Benjamin Canou
bc16b027c2
Proto: allow origination of two contract with the same properties.
...
fixes #124
2017-02-24 16:24:27 +01:00
Grégoire Henry
69ebe7d0cc
Shell: minor doc improvement in RPC.
2017-02-24 16:22:56 +01:00
Grégoire Henry
bda80bf613
Shell: rename gid
into peer_id
2017-02-24 16:22:56 +01:00
Vincent Bernardoff
b0ed3cefac
Shell: Add RPCs for introspecting the state of the P2P layer
2017-02-24 16:22:55 +01:00
Pierre Chambart
a23d718515
Add utils/Watcher
2017-02-24 16:20:59 +01:00
Vincent Bernardoff
70491aea8c
Utils: Moving_average: use int64 for total
2017-02-24 16:20:59 +01:00
Vincent Bernardoff
92c339f732
P2P: more types
2017-02-24 16:20:59 +01:00
Grégoire Henry
fc53f3b233
Switch to Base58.
...
Base48 was fun but... hell yeah... let's stay standard.
Public encoding of hash:
```
Block: "B..." (len: 51)
Operation: "o..." (len: 51)
Protocol: "P..." (len: 51)
Ed25519: "tz1.." (len: 36)
Contract: "TZ1.." (len: 36)
NetworkdId: "id.." (len: 30)
```
Other internal prefixes (in the RPC):
```
Hash of Michelson's expression: "expr..." (len: 54)
Ed25519 public key: "edpk..." (len: 54)
Ed25519 secret key: "edsk..." (len: 98)
Ed25519 signature: "edsig.." (len: 99)
Hash of a random seed nonce: "nce...." (len: 53)
Random seed: "rng...." (len: 53)
```
2017-02-24 15:44:21 +01:00
Vincent Bernardoff
efc6d285c6
Shell: limit known points table size
...
* Gc events still need to be recorded
2017-02-16 13:23:01 +01:00
Grégoire Henry
0a3ad7de53
Client: add rpc call ... with '{json}'
2017-02-15 15:26:39 +01:00
Grégoire Henry
9a0ac6b837
Client/Baker: improve logging.
2017-02-15 15:26:39 +01:00
Benjamin Canou
f77a2544cc
Client/Baker: fix baking of the first block.
2017-02-15 15:26:39 +01:00
Grégoire Henry
34e1764bce
Client/Baker: let the baking daemon reveal nonces
2017-02-15 15:26:39 +01:00
Benjamin Canou
f7a70f355c
Node: shutdown on an RPC server error.
2017-02-15 15:26:39 +01:00
Benjamin Canou
8f618a0f94
Proto: remove voting proposal cleanup when there is none.
2017-02-15 15:26:39 +01:00
Cagdas Bozman
a7c8975ec6
Proto: check the 'delegatable-ity' before to remove a delegate key.
...
We use the `remove` function instead of `delete` to check the
delegatable-ity to avoid a storage error (`remove` does nothing if the
bucket does not exist).
2017-02-15 15:26:39 +01:00
Grégoire Henry
d475d1ac29
Proto: fix freeze_rolls_for_cycle
...
That's what happen when no-one review the code...
2017-02-15 15:26:39 +01:00
Pierre Chambart
90c5314c4f
Proto: Initialize a nonce for the genesis block
2017-02-15 15:26:39 +01:00
Grégoire Henry
c8376198c8
Proto: refill bootstrap contracts at the end of a cycle
2017-02-15 15:26:39 +01:00
Grégoire Henry
55e2429758
P2p: more debug traces.
2017-02-15 15:26:39 +01:00
Grégoire Henry
48da8299a6
P2p: various small fixes.
...
* fix bad "locking" in `p2p_io_scheduler.shutdown`
* add missing exception handler in `P2p_io_scheduler`
* wake-up `P2p.recv_any` when a new connection is established
* reintroduce version negotiation
* fix typo in greylisting
2017-02-15 15:26:39 +01:00
Vincent Bernardoff
6d41b3d38c
Shell: Improve the CLI of tezos-node
...
* Use subcommands:
* `tezos_node run`
* `tezos_node config`
* `tezos_node identity`
* Regroup all on-disk data in `--data-dir`
* Split `Node_main` in multiple files.
* Add DNS resolution for `--net-addr` and `--rpc-addr`
* Hardcode `bootstrap.tezos.com` as bootstrap peer(s)
* Add `--no-bootstrap-peers`
* Rename `--expected-connections` -> `--connections`
2017-02-15 15:26:17 +01:00
Grégoire Henry
42f118f486
Publish some baker's code.
2017-01-26 13:38:25 +01:00
Vincent Bernardoff
9090559510
Node: typo
2017-01-25 00:18:11 +01:00
Grégoire Henry
ec0e7d4d48
Merge branch 'lwt_pipes_limit' into 'master'
...
Lwt_pipe: limit by content size in bytes
See merge request !137
2017-01-24 00:05:07 +01:00
Grégoire Henry
0820744619
Lwt_pipe: minor style issue
2017-01-23 23:59:16 +01:00
Grégoire Henry
854e2f0697
Merge branch 'work-on-script'.
2017-01-23 23:24:16 +01:00
Grégoire Henry
c194045f6e
Shell: Add missing CLI arguments.
...
- fix the semantics of `--base-dir` and `--sandbox`:
- `--sandbox path` becomes : `--base-dir path --sandbox`
- `--sandbox path --sandbox-param file.json` becomes `--base-dir path --sandbox=file.json`
- added `--generate-identity` for generating the node cryptographic identity and the associated stamp of proof-of-work. The amount of required work can be adjusted with `--expected-pow f` where `f` is float value such as the 256-bit stamp should be below `2^(256-f)`. For instance `--expected-pow 16` requires 16 zero-bits.
- added all the new p2p parameters: queue size, buffer size, ...
2017-01-23 22:28:44 +01:00
Grégoire Henry
b228904bc7
Node: more CLI argument
2017-01-23 22:15:36 +01:00
Grégoire Henry
2da0c83b5a
P2p: postpone the first maintenance step.
2017-01-23 22:01:35 +01:00
Grégoire Henry
5ee3581d60
P2p: fix in P2p_maintenance
2017-01-23 22:01:35 +01:00
Grégoire Henry
c87e88d84d
Shell: minor fix in RPC description
2017-01-23 22:01:35 +01:00
Grégoire Henry
197ac28f0b
Shell: Add Cryptobox.target_of_float
...
[target_of_float f] is `2 ^ (256 - f)`.
2017-01-23 21:33:01 +01:00
Grégoire Henry
3a70d88fe6
Shell: animated generation of P2p.Identity
2017-01-23 21:31:30 +01:00
Grégoire Henry
5e1eddf681
Shell: Use Error_monad in Data_encoding_ezjsonm
2017-01-23 21:31:30 +01:00
Grégoire Henry
a65ad52620
Shell: improve Lwt_utils
2017-01-23 21:31:30 +01:00
Grégoire Henry
31872eb1b1
Shell: Improve Logging
2017-01-23 21:31:30 +01:00
Grégoire Henry
866e7add2f
Shell: improve Utils
2017-01-23 21:31:30 +01:00
Vincent Bernardoff
1e4d090e2c
Lwt_pipe: limit by content size in bytes
2017-01-23 18:03:00 +01:00
Grégoire Henry
d87a6cd556
Docker: integration in CI
...
And minor fix:
- introduce configuration file for OCaml and alpine versions
- add missing `libssl1.0` in docker image
- remove the split call to `install_build_deps` (not required anymore)
- rename scripts
2017-01-23 11:28:04 +01:00
Grégoire Henry
52fab9528c
P2p: add error for invalid authentification
2017-01-23 09:18:56 +01:00
Vincent Bernardoff
ce986c4a9c
Shell: sign Ack message
2017-01-23 09:13:41 +01:00
Benjamin Canou
d72746c990
Michelson (docs): fixed forward example.
2017-01-20 13:25:28 +01:00
Benjamin Canou
52ec257e1d
Michelson (docs): fixed scrutable reservoir example.
2017-01-20 13:25:28 +01:00
Benjamin Canou
5e06b9c719
Michelson (docs): fixed reservoir example.
2017-01-20 13:25:28 +01:00
Benjamin Canou
3a149af667
Utils: include error id in the default error pretty printer.
2017-01-20 13:25:28 +01:00
Benjamin Canou
c472dbdfa4
Michelson: towards better typechecking error reports.
2017-01-20 13:25:28 +01:00
Benjamin Canou
3cce0f3d1d
Michelson: fix and extend macro expansion.
...
fixes #114
fixes #115
2017-01-20 13:25:14 +01:00
Benjamin Canou
507c46bbcb
Michelson: get rid of tagged data notation.
2017-01-20 13:25:14 +01:00
Benjamin Canou
26e1adc143
Michelson: rename void into unit.
2017-01-20 13:25:14 +01:00
Benjamin Canou
98859dbf30
Michelson (docs): rewrite intro + doc fixes.
2017-01-20 13:25:09 +01:00
Benjamin Canou
6bfbb0d300
Michelson: enforce case sensitivity.
2017-01-20 13:24:46 +01:00
Benjamin Canou
8b8ce63590
Michelson: fix missing type equality.
...
fixes #111
2017-01-20 13:24:24 +01:00
Grégoire Henry
26ce72bc18
P2p: remove functors and rename recv
into recv_any
.
...
This allows to export the underlying `P2p_connection_pool.recv`
that will be used in the refactored distributed DB.
2017-01-19 10:26:45 +01:00
Vincent Bernardoff
e1692ed9bf
Shell: use the new P2P backend
2017-01-19 10:26:45 +01:00
Grégoire Henry
d9fc93a5c0
Shell: implement P2p_{maintenance,discovery}
.
2017-01-19 10:26:45 +01:00
Grégoire Henry
b694a62810
Shell: implement P2p_{connection_pool,welcome}
2017-01-19 10:26:45 +01:00
Grégoire Henry
6d47cb2c8f
Shell: implement P2p_connection
2017-01-19 10:21:21 +01:00
Grégoire Henry
2ed8bf2cfa
Shell: implement P2p_io_scheduler
2017-01-19 10:21:21 +01:00
Vincent Bernardoff
7f091b38b9
Shell: add Crypto_box.Public_key_hash
2017-01-19 10:21:21 +01:00
Vincent Bernardoff
0b6aa16ca7
Shell: improve logging (prepend the current time)
2017-01-19 10:21:21 +01:00
Vincent Bernardoff
5eb8d0077a
Shell: add Data_encoding.Binary.fixed_length
2017-01-19 10:21:21 +01:00
Vincent Bernardoff
22ae4dbf45
Shell: simplify the signature of Hash.Hash_table
2017-01-19 10:21:21 +01:00
Vincent Bernardoff
1f7f9b369d
Shell: improve Lwt_pipe
2017-01-19 10:21:21 +01:00
Vincent Bernardoff
6b3e002285
Shell: improve Lwt_utils
2017-01-19 10:21:21 +01:00
Vincent Bernardoff
0027d70158
Shell: improve Error_monad
2017-01-19 10:21:17 +01:00
Vincent Bernardoff
98fd45ab9f
Shell: add Ring
2017-01-19 10:21:17 +01:00
Vincent Bernardoff
ad035d7679
Shell: add Time.{Map,Set,Table}
2017-01-19 10:21:17 +01:00
Vincent Bernardoff
a891e23741
Shell: improve Utils
...
- unopt_map
- list_{sub,rev_sub}
- take_n
- Bounded
2017-01-19 10:21:17 +01:00
Grégoire Henry
df81d95614
Shell: update to lwt.2.7.0
2017-01-14 13:12:55 +01:00
Grégoire Henry
7689021810
CI: less build artifacts
2017-01-02 14:49:56 +01:00
Eitan Chatav
28b4c8e6ef
Minimal attacker node.
2017-01-02 13:33:11 +01:00
Grégoire Henry
61bea21033
Merge branch 'rpc-tls' into 'master'
...
Rpc tls
See merge request !128
2017-01-02 09:36:39 +01:00
Grégoire Henry
77ba592448
Opam: depends on ssl
.
2017-01-02 09:21:36 +01:00
Arthur Breitman
86039e5d88
typo left/right in language description
2016-12-25 08:39:49 -08:00
Benjamin Canou
63aeab5bb9
RPC: use the external TLS implementation.
2016-12-14 16:45:37 +01:00
Benjamin Canou
8360b4e407
RPC: fixes some comments.
2016-12-14 16:40:42 +01:00
Benjamin Canou
8264ec111a
Client: do not eat some error messages.
2016-12-14 16:39:42 +01:00
Vincent Bernardoff
cdb34ca7d3
RPC: TLS bugfixes
2016-12-13 01:52:55 +01:00
Vincent Bernardoff
59881cde32
RPC: Add TLS on the client
2016-12-13 00:47:23 +01:00
Vincent Bernardoff
77506ac4b5
RPC: Fix doc
2016-12-13 00:45:46 +01:00
Vincent Bernardoff
42b30f7bd2
RPC: Add TLS
2016-12-13 00:45:46 +01:00
Vincent Bernardoff
01fe34bc4b
Node: catch correct P2P exn
2016-12-09 18:18:59 +01:00
Grégoire Henry
5c428a5ea3
CI: avoids broken packages
...
Otherwise:
```
The actions to process have cyclic dependencies:
- install bos.0.1.4 -> install base64.2.1.2 -> install js_of_ocaml.2.8.3 -> install mtime.0.8.3 -> install bos.0.1.4
- install bos.0.1.4 -> install base64.2.1.2 -> install js_of_ocaml.2.8.3 -> install logs.0.6.2 -> install bos.0.1.4
```
2016-12-09 11:19:24 +01:00
Grégoire Henry
f7f5f21e46
Fix make build-deps
...
The amended script is now able to handle new dependency in the opam file.
It also abloe to handle `test` attributes.
2016-12-08 16:33:01 +01:00
Vincent Bernardoff
224e5d8c73
P2P: Add counters in peer_info
2016-12-06 14:12:18 +01:00
Vincent Bernardoff
92f78b29e4
P2P: recv: return size read
2016-12-06 14:12:18 +01:00
Vincent Bernardoff
2b27a1ffbe
P2P: Discovery: avoid unneeded connections
2016-12-06 14:12:18 +01:00
Vincent Bernardoff
c2249056d7
P2P: Do not send unauthenticated Advertise msgs
2016-12-06 14:12:18 +01:00
Vincent Bernardoff
6a1265255f
P2P: refactor for less indenting
2016-12-06 14:12:18 +01:00
damian
517893f707
RPC: Add CORS headers
2016-12-06 13:58:21 +01:00
Vincent Bernardoff
4e9c54efa9
node_main: do not override cfg file values
2016-12-06 13:54:20 +01:00
Benjamin Canou
923d061d72
Client: help generation fixes.
2016-12-05 13:18:12 +01:00
Benjamin Canou
a098d25a55
Client: add a context to command evaluation.
2016-12-03 13:05:02 +01:00
Benjamin Canou
dc64f9b6fb
Webclient: first draft.
2016-12-02 20:06:29 +01:00
Benjamin Canou
e7c39578b4
Extract the js_of_ocaml compatible part of utils.
2016-12-01 18:27:53 +01:00
Benjamin Canou
69f682357f
Add hooks to the RPC server to handle static files.
2016-12-01 15:52:31 +01:00
Guillem Rieu
5b1244648c
Client: remove compilation warnings due to Cli_entries.log returning 'unit Lwt.t'
2016-12-01 15:52:31 +01:00
Guillem Rieu
69adc115be
Client: fix typo 'litteral' -> 'literal'
2016-12-01 15:52:31 +01:00
Guillem Rieu
a48d8c0026
Client: replace (e)printfs with Cli_entries.{error,warning,message} equivalent
2016-12-01 15:52:31 +01:00
Guillem Rieu
3c2453f00d
Client: catch Failure exceptions in Client_main
2016-12-01 15:52:31 +01:00
Guillem Rieu
80e1b0f312
Client: add Cli_entries.warning to log a message on stderr without raising exception
2016-12-01 15:52:31 +01:00
Benjamin Canou
087a097cf7
Client: cli_entries module refactoring.
2016-12-01 15:52:31 +01:00
Vincent Bernardoff
1ffe2db277
P2P: Minor changes
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
bdb2d20f05
P2P: Introduce a worker dedicated to user events
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
a832c2069f
P2P: Do not log ``ordinary'' errors
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
e1d6df6e99
P2P: Do not accept unauthenticated Advertise msgs
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
5f8b74e96c
P2P: Cancel MA computations on client disconnect
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
158447416b
Shell: Count sent and received bytes in P2p
.
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
56a58cc962
Shell: use bounded Lwt_pipe
in P2p
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
dc2084d993
Shell: export P2p.gid
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
41d5bbe989
Shell: Use some Error_monad
in P2p
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
d41c05a066
Shell: minor rewording in P2p
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
16a3c88b1f
Shell: introduce Moving_average
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
26c84de550
Shell: introduce Lwt_pipe
2016-12-01 13:52:05 +01:00
Vincent Bernardoff
fdff344989
Shell: minor cosmetics in p2p.ml
2016-12-01 13:52:05 +01:00
damian
4ca4367190
Doc polish
2016-12-01 00:18:35 +01:00
Vincent Bernardoff
17b23d827e
Node_main: replace Config_file by Cmdliner
2016-11-30 23:41:18 +01:00
Vincent Bernardoff
bc7f4b48e2
RPC: launch: remove unused argument
2016-11-29 16:41:17 +01:00
Vincent Bernardoff
199bd93696
Lwt_utils: add may
2016-11-29 16:39:53 +01:00
Vincent Bernardoff
ec922f6821
Utils: add first_some
2016-11-29 14:51:36 +01:00
Grégoire Henry
62a1be15b7
Shell: still allow usage of LWT_LOG
...
Commit b869c264aa
introdude `-v level`, which should be equivalent to
setting `LWT_LOG="* -> level`, but it inadvertently drop the support for
`LWT_LOG`. This commit reintroduces support for ` LWT_LOG` which allows
to setup distinct verbosity levels to distinct part of the node :
LWT_LOG="net -> debug ; rpc -> notice"
2016-11-26 11:52:14 +01:00
Grégoire Henry
2a43eeaa7f
P2P: properly handle End_of_file
.
2016-11-26 11:49:07 +01:00
Grégoire Henry
ebcc63aefb
Shell: typo in P2P identity proof-of-work
2016-11-25 23:07:05 +01:00
Grégoire Henry
2d61ded08b
Merge branch 'crypto-box' into 'master'
...
Crypto box
Requesting code review for proof-of-work code
See merge request !115
2016-11-25 19:56:07 +01:00
Grégoire Henry
17475aa743
Shell: switch to Blake2b ( closes #87 #89 )
...
Also drop the dependencies on Cryptokit.
2016-11-25 19:46:50 +01:00
Grégoire Henry
daf3343dc1
Shell: reduce difficulty for P2P identity...
...
... until we properly store the nonce in the configuration file,
together with the expected difficulty.
2016-11-25 18:03:57 +01:00
Grégoire Henry
8d37369f27
Client: random json template : fix random integers
2016-11-22 11:18:49 +01:00
Eitan Chatav
710e3e755a
Merge branch 'master' into crypto-box
2016-11-21 12:55:13 -08:00
Grégoire Henry
46cca127a6
Merge branch 'uint64_comparison_in_proof_of_work' into 'master'
...
Use unsigned comparison in proof of work
See merge request !114
2016-11-21 09:55:46 +01:00
Grégoire Henry
40a078a202
Update tezos-deps.opam
to irmin.0.12.0
2016-11-21 09:52:04 +01:00
Arthur Breitman
39ea223e5b
add comment for checksum in base48 encoding
2016-11-21 09:46:05 +01:00
Eitan Chatav
c52146cb71
debug string
2016-11-18 15:59:56 -08:00
Eitan Chatav
abb9e19260
integrate proof of work in p2p
...
* check proof of work when connecting to peers
* I’m not sure how to get the debug statement on line 418 to work, keep
getting syntax errors
2016-11-18 15:47:32 -08:00
Eitan Chatav
7cb8a42629
lower default target
...
takes about 2 minutes on my laptop
2016-11-18 14:28:01 -08:00
Eitan Chatav
aca0c380cf
Merge branch 'master' into crypto-box
2016-11-18 14:07:45 -08:00
Eitan Chatav
ffc0189f19
default target
...
takes a couple seconds on my laptop to generate a proof of work with
this target
2016-11-18 14:07:27 -08:00
Eitan Chatav
2864152e15
use 256 bit target for proof of work
...
* SHA256 produces 256 bits pseudo-randomly uniformly, so you may
compare to a 256 bit target to get a proof of work
* If you pretend that the hash and targets are both integers between 0
and 2^256 - 1, then the target partitions the range into passing and
failing segments.
* In order to match the use of the `get_uint16` function from
`ocplib-endian`, the easiest way to encode `target` is as a `int list`
which works if not ideal
* This seems like the same thing bitcoin does; difficulty there is
actually not a primary notion but is calculated from a 256 bit target,
which is what gets adjusted over time
2016-11-17 12:02:32 -08:00
Grégoire Henry
b9c3d95406
Proto: use integer comparison while checking proof-of-work.
2016-11-17 14:58:09 +01:00
Grégoire Henry
c842140f74
Shell: introduce Compare.Uint{32,64}
2016-11-17 14:58:09 +01:00
Benjamin Canou
3b071cac46
Merge branch 'work-on-script' into 'master'
...
Tracing interpreter and type checker
Implements:
* a typechecker that optionally dumps the types of each instruction
* an interpreter that drops the stack at each execution step
Incidentally:
* adds some RPCs to pretty print the traces
* drops floats and imperative structures from the language
* fixes the typing of `FAIL`
2016-11-17 14:57:54 +01:00
Eitan Chatav
65795dba2c
Merge branch 'master' into crypto-box
2016-11-16 17:09:24 -08:00
Eitan Chatav
0edfae4621
bitmask
...
use bit mask to check proof of work
2016-11-16 17:09:01 -08:00
Grégoire Henry
938ff6404b
Shell: export Bytes.{get,set}_intXX
to the proto
2016-11-17 02:06:50 +01:00
Grégoire Henry
a55f31bc9b
Merge branch 'resolve_prefix' into 'master'
...
Implement a minimal "completion" service.
The use of Base48 encoding allows to efficiently implement a "completion" mechanism for blocks, operations, public key and contract identifiers. For instance:
```
> ./tezos-client complete eeHfgnr9QeDN
eeHfgnr9QeDNvcMgSfATNeDeec4KG4CkHHkNNJt5B9xdVmsxhsHNR
```
This command returns all the identifiers matching the given prefix. Adding the option `-unique` let the command fails when there more than one possible completion.
This completion mechanism should probably never be used implicitly, but it might still be useful to display a small completion popup in a GUI, or during manual testing on the CLI.
See merge request !101
2016-11-17 01:50:49 +01:00
Benjamin Canou
8edfc84ae6
Proto: tracing interpreter, RPCs and command line.
2016-11-16 17:38:53 +01:00
Benjamin Canou
db6a68a08f
Proto: RPC to run an arbitrary program on arbitrary data.
2016-11-16 17:38:53 +01:00
Benjamin Canou
6eda849ce9
Proto: drop imperative constructs and instructions from the language.
2016-11-16 17:38:53 +01:00
Benjamin Canou
8602e5b0a0
Client: unexpand some macros when pretty printing programs.
2016-11-16 17:38:53 +01:00
Benjamin Canou
1e2911dd94
Proto: tracing script translator.
2016-11-16 17:38:53 +01:00
Benjamin Canou
0f91192769
Proto: script translator code indentation cleanup.
2016-11-16 17:38:53 +01:00
Benjamin Canou
472258b1bf
Proto: Fix typechecking of FAIL
.
2016-11-16 17:38:53 +01:00
Benjamin Canou
f284714fba
Proto: drop floats in the contract language.
2016-11-16 17:38:53 +01:00
Benjamin Canou
b4b3aece97
Dropped unnecessary script_typed_ir.mli
(duplicate of .ml
).
2016-11-16 17:38:53 +01:00
Eitan Chatav
ee5aec87ad
check proof of work
2016-11-16 17:36:14 +01:00
Eitan Chatav
0398a66423
proof of work start
2016-11-16 17:33:11 +01:00
Vincent Bernardoff
ba014261dc
P2p: bugfix
2016-11-16 17:21:56 +01:00
Vincent Bernardoff
2680bf7efb
P2p: fix logging
2016-11-16 17:16:01 +01:00
Vincent Bernardoff
f7e73a6dc5
P2p: force IPv6 in discovery
2016-11-16 17:16:01 +01:00
Grégoire Henry
3c55c72abf
Merge remote-tracking branch 'ocp/crypto-box'
2016-11-16 01:19:13 +01:00
Grégoire Henry
719b54ac1d
Client: use contextual completion
2016-11-16 00:53:40 +01:00
Grégoire Henry
d61220f4f9
Compiler: use explicit functor in Environment
...
Previously, the functor applications were hidden in a module generated
by `tezos-protocol-compiler`.
2016-11-16 00:53:40 +01:00
Grégoire Henry
b16a644e55
Proto: Completion of Base48-encoded public keys and contracts
...
This required some modifications in the Base48 module, in order not to
share the 'resolver' between distinct version of the economical protocol.
2016-11-16 00:53:40 +01:00
Grégoire Henry
1805a1d816
Shell: inline Ed25519
into Environment
...
This interface is not used in the shell, only in the protocol. It is
just a (documented) wrapper over a fragment of sodium.
2016-11-16 00:53:40 +01:00
Grégoire Henry
9062c405ad
Proto: minor fix in Storage.Key
2016-11-16 00:53:40 +01:00
Grégoire Henry
b82ad19806
Shell: Consistently use Ed25519.Public_key_hash
2016-11-16 00:53:40 +01:00
Grégoire Henry
69261aa542
Client: add command "complete".
2016-11-16 00:52:48 +01:00
Grégoire Henry
3f864ae113
Shell: display 12 characters for short Base48.
...
A full block/operation identifier is around 53 characters.
2016-11-16 00:52:48 +01:00
Grégoire Henry
1ce2643dc7
Shell: add Base48.decode_partial
2016-11-16 00:52:48 +01:00
Grégoire Henry
07ba685b8d
Base48: encode the "data" before its "hash"
2016-11-16 00:52:48 +01:00
Vincent Bernardoff
f7b149c9ed
Lwt_utils: fix read_mbytes
2016-11-16 00:45:52 +01:00
Vincent Bernardoff
8680d98ecd
P2p: force IPv6 in discovery
2016-11-16 00:45:52 +01:00
Vincent Bernardoff
23968b53e3
P2p: fix logging
2016-11-16 00:45:52 +01:00
Grégoire Henry
6121c518d4
Shell/P2p: do not read the tag twice...
2016-11-16 00:45:52 +01:00
Grégoire Henry
9d67c1fea5
Shell/P2p: remove Ping/Pong
2016-11-16 00:45:51 +01:00
Grégoire Henry
cfba0d9cb7
Shell/P2p: Use `Lwt_utils.{read/write}
2016-11-16 00:45:51 +01:00
Grégoire Henry
6afcc1ecdd
Shell/P2p: minor renaming.
2016-11-16 00:45:51 +01:00
Grégoire Henry
cbfab86f25
Shell: replace missing Netparams
with Tezos_p2p
2016-11-16 00:45:51 +01:00
Grégoire Henry
450a0fec15
Shell: replace Netbits
by Data_encoding
2016-11-16 00:45:51 +01:00
Grégoire Henry
5e26e1b9df
Shell: Introduce Lwt_utils.{read,write}_mbytes
2016-11-16 00:45:17 +01:00
Vincent Bernardoff
ff1c08f876
P2p: refactor the mli
2016-11-16 00:44:51 +01:00
Grégoire Henry
cbca39d4ea
Shell: proper handling of uint{8,16}
in Data_encoding
2016-11-16 00:38:58 +01:00
Eitan Chatav
4cd86b7ca8
check proof of work
2016-11-09 18:29:57 -08:00
Eitan Chatav
e9ff110d08
proof of work start
2016-11-08 18:18:09 -08:00
Benjamin Canou
6f2c880627
Update to the latest ocplib-json-typed.
2016-11-08 16:35:53 +01:00
Grégoire Henry
5cea09bcb5
Merge remote-tracking branch 'ocp/protocol-db'
2016-11-08 12:53:00 +01:00
Vincent Bernardoff
b869c264aa
tezos_node: add -verbosity
2016-11-08 12:45:14 +01:00
Eitan Chatav
56e5fc3213
encrypt arbitrary net frames
2016-11-07 14:50:22 -08:00
Eitan Chatav
1733cd499a
handle decryption exceptions
2016-11-07 14:38:02 -08:00
Eitan Chatav
001ba994a8
negotiate nonce during peer connection
2016-11-07 11:30:13 -08:00
Vincent Bernardoff
f2e581c168
rolls: improve mli
2016-11-07 15:27:06 +01:00
Vincent Bernardoff
96b55369e4
typo: froze -> freeze
2016-11-07 15:26:54 +01:00
Vincent Bernardoff
668ebd7c5f
fix net-local-discovery
2016-11-07 15:25:44 +01:00
Eitan Chatav
b3efe1ad0a
testing code
2016-11-05 14:32:13 -07:00
Eitan Chatav
69bc2a33e2
encryption and decryption
...
I don’t think this is secure since the receiver decrypts the message
and then sends the clear message as a `Recv` event
2016-11-05 12:16:48 -07:00
Eitan Chatav
bdab9b6c05
peer public keys
...
add peer public keys to known peers in peers file
2016-11-05 09:32:32 -07:00
Eitan Chatav
3a5368434c
add secret key to peer file
2016-11-05 09:12:25 -07:00
Eitan Chatav
b8b93651af
composition operator
...
added composition operator to utils module
2016-11-04 12:22:22 -07:00
Eitan Chatav
438281f1e1
include a public key in peer record type
...
* include a public key in peer record type
* include public key in `Connect` packet
* receive/send public keys in `Connect` packet
* include public key in `connect_to_peer`
* json encode/decode public key
* include public key in peer file encode/decode
* include public key in bootstrapping
2016-11-04 12:07:03 -07:00
Eitan Chatav
dc0061c5d9
crypto box
...
initial utility functions for encrypted communication using crypto box
(X25519/XSalsa20-Poly1305)
2016-11-03 11:15:31 -07:00
Vincent Bernardoff
7a1712756f
add protocol client commands
2016-10-25 19:03:14 +02:00
Vincent Bernardoff
0af5f6e7c3
tezos_compiler: changes
...
* Read TEZOS_PROTOCOL in json format
* Define Protocol module here
* Fix dependent modules to use Protocol defined here
* Compute hash of protocol if absent in TEZOS_PROTOCOL
2016-10-25 19:03:14 +02:00
Vincent Bernardoff
ccf6ed4a9d
TEZOS_PROTOCOL: use json syntax
2016-10-25 19:03:14 +02:00
Vincent Bernardoff
4fa77b1278
+ Utils.{finalize,read_file,write_file}
2016-10-25 19:03:14 +02:00
Vincent Bernardoff
f3b7299662
tezos-compiler: better arguments, add doc
2016-10-25 19:03:13 +02:00
Vincent Bernardoff
ec79241adb
reject invalid protocols
2016-10-25 19:03:13 +02:00
Vincent Bernardoff
488373551b
add protocol store + rpcs
2016-10-25 19:03:13 +02:00
Vincent Bernardoff
d11e44dead
hex_decode: better error reporting
2016-10-25 19:03:13 +02:00
Çağdaş Bozman
9834aa9d6c
Testsuite/Coverage: initial commit for code coverage
2016-10-24 14:05:24 +02:00
Vincent Bernardoff
ce54c5bc3d
netbits: read len as a uint16
2016-10-24 13:40:41 +02:00
Grégoire Henry
026007e7f1
Rename "block_header" into "block".
2016-10-19 20:47:04 +02:00
Grégoire Henry
6c9cfde9be
Update to the latest ocplib-resto.
2016-10-16 21:59:44 +02:00
Grégoire Henry
cbee2ecfe7
Test: improve report
2016-10-12 15:33:32 +02:00
Vincent Bernardoff
7dfb68b50a
create correct socket family given ip addr type
2016-10-10 19:11:59 +02:00
Vincent Bernardoff
8e02ddb1f6
do not crash on exns arising from network input
2016-10-10 15:37:33 +02:00
Vincent Bernardoff
cc83d8444b
add a safe mode for workers
2016-10-10 15:37:01 +02:00
Vincent Bernardoff
9748ffcda6
do not raise any exn in an async_exn_hook body
2016-10-10 15:35:36 +02:00
Vincent Bernardoff
4374b1725e
use name for signal instead of numerical value
2016-10-10 14:25:24 +02:00
Vincent Bernardoff
17cb9ccc4a
do not accept negative buffer length
2016-10-10 14:25:09 +02:00
Çağdaş Bozman
4a7eb60631
Client/Shell: filter heads by date
2016-10-10 14:23:23 +02:00
Çağdaş Bozman
03d37bfdeb
Update test framework
...
We now use Kaputt for our tests.
2016-10-10 11:30:06 +02:00
Vincent Bernardoff
d0f78a5662
Node: Dual stack networking
2016-10-06 13:43:38 +02:00
Vincent Bernardoff
2064af36c9
typo
2016-10-06 13:41:30 +02:00
Grégoire Henry
a2363ebd5b
Shell: Add `State.{Block,Valid_block}.iter_predecessors
2016-09-22 16:42:10 +02:00
Benjamin Canou
20d78e70e9
Shell: fix warnings in p2p.ml
.
2016-09-15 15:47:27 +02:00
Benjamin Canou
e0c039e244
Proto+client: add RPCs and CLI entries to typecheck / hash / sign data.
2016-09-12 14:06:23 +02:00
Benjamin Canou
18d33ff6ca
Expand macro instructions in the parser.
2016-09-09 18:44:30 +02:00
Benjamin Canou
7044576b3f
Docs: add language documentation.
2016-09-09 18:17:31 +02:00
Benjamin Canou
c9efaa2a64
Proto: fix interpretation of tez constants.
2016-09-09 18:05:23 +02:00
Benjamin Canou
e262a334dc
Proto: transfer_funds is now transfer_tokens.
2016-09-09 17:12:28 +02:00
Benjamin Canou
d2d78dc8d6
Proto: Implement new JSON structure for script expressions.
2016-09-09 17:04:55 +02:00
Benjamin Canou
e80ce1e8d5
Shell: add assoc combinator to Data_encoding.
2016-09-09 17:02:43 +02:00
Tezos
f42e9d12ac
First public release
2016-09-08 19:29:33 -07:00