Commit Graph

689 Commits

Author SHA1 Message Date
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