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
Vincent Bernardoff
63e44af5e4
TLS: switch to ocaml-tls
2018-05-03 15:48:25 +02:00
Grégoire Henry
0b31ebb455
Data_encoding: split out Binary_stream
2018-05-03 15:35:40 +02:00
Grégoire Henry
c9eab8689a
Shell/Distributed_db: tune requests delay
2018-05-03 11:51:29 +02:00
Grégoire Henry
f2db5ffde3
Shell/Bootstrap: improve network paralellism
2018-05-03 11:51:29 +02:00
Grégoire Henry
6e4b2eab47
Shell: reduce default logging a little bit
2018-05-03 11:51:29 +02:00
Grégoire Henry
caa764f0ff
Data_encoding: do not open the implementation modules by default
2018-05-03 11:05:06 +02:00
Raphaël Proust
0a3c9d52ec
Data_encoding: deduplicate documentation
2018-05-03 15:25:47 +08:00
Raphaël Proust
194d3f9120
Data_encoding: move internal function internally
2018-05-03 15:18:10 +08:00
Raphaël Proust
34d4e9ec5d
Data_encoding: don't open Encoding
2018-05-03 15:13:39 +08:00
Raphaël Proust
1ade54a7d7
Data_encoding: separate Size into its own module
2018-05-03 15:11:46 +08:00
Raphaël Proust
2418554f78
Data_encoding: reorder and reorganize doc
2018-05-03 14:00:24 +08:00
Raphaël Proust
56fbc5267d
Data_encoding: split implementation
...
In an effort to keep a clean commit history, the interface is unchanged.
2018-05-03 12:27:17 +08:00
Milo Davis
7a43c5bc41
P2p_pool: fix ambiguous JSON union case
2018-04-26 22:52:21 +02:00
Milo Davis
ebfdeea8d5
Data_encoding: add descriptions to encodings
2018-04-26 22:52:21 +02:00
Milo Davis
f5cc599ae6
Data_encoding: add names to union cases
2018-04-26 22:52:21 +02:00
Vincent Bernardoff
de006f4be3
Crypto: fix hardcoded signatures in tests
2018-04-26 21:24:21 +02:00
Vincent Bernardoff
54bbc71c1b
Crypto: sign 32 bytes message hash
2018-04-26 21:24:21 +02:00
Vincent Bernardoff
47f9c2460b
Crypto: fixes for secp256k1
2018-04-26 21:24:21 +02:00
Vincent Bernardoff
3a0cdfd90a
Crypto: Secp256k1 -> Libsecp256k1
2018-04-26 21:24:21 +02:00
Raphaël Proust
f8130eed82
Stdlib/MBytes: avoid double raise
2018-04-26 21:22:28 +02:00
Raphaël Proust
1af07b233a
Data_encoding: better documentation of int
2018-04-26 21:20:40 +02:00
Grégoire Henry
02beb9c79a
CI: fix busybox compatibility
2018-04-26 12:55:07 +02:00
Grégoire Henry
0fe8975817
Test: faster testsuite
...
No need to wait 1 second between blocks!
2018-04-22 13:48:20 +02:00
Grégoire Henry
a3a33c4814
Shell: export Signature.Public_key_hash.zero
2018-04-22 13:46:31 +02:00
Grégoire Henry
c3eda23b45
Shell: add a global watcher for new valid blocks in State
2018-04-22 13:46:31 +02:00
Grégoire Henry
3ba30fa468
RPC: allow 'epoch' as a valid Time.rpc_arg
2018-04-22 13:46:31 +02:00
Grégoire Henry
d3f4424c75
RPC: Use bytes
for source files encoding in protocol updates
2018-04-22 13:46:31 +02:00
Grégoire Henry
bc9179094f
Shell: store mainchain and testchain in State
2018-04-22 13:41:26 +02:00
Grégoire Henry
7adc0c90e7
Compiler: preserve Protocol_hash
2018-04-22 13:41:26 +02:00
Grégoire Henry
aeacd845f2
Shell: minor renaming
2018-04-22 13:41:26 +02:00
Grégoire Henry
aa12c6fd9b
Opam: fix alcotest version
2018-04-19 12:02:23 +02:00
Vincent Bernardoff
7c546425d2
Vendors/tweetnacl: use bigstring
2018-04-19 10:31:56 +02:00
Vincent Bernardoff
230d495dc6
Vendors/blake2b: use bigstring
2018-04-19 10:21:01 +02:00
Raphaël Proust
3ceaed4dd3
Crypto: more alcotesty tests
2018-04-18 14:41:44 +02:00
Raphaël Proust
cd8a63f543
Crypto: Only extract checksum when there's one
...
Specifically, check that there are enough characters to extract the 4-characters
checksum of safe-encoded strings.
The commit also introduces new tests for some parts of the crypto library.
2018-04-18 14:41:44 +02:00
Grégoire Henry
40e63739ac
Base58: regroup prefix definition.
2018-04-18 09:53:11 +02:00
Grégoire Henry
11ad8fa8ea
Fix rebase conflict.
...
oups...
2018-04-17 15:24:23 +02:00
Marco Stronati
a491083586
Alpha: added rpc 'proto/delegate/<id>/frozen_balances'
2018-04-17 14:54:51 +02:00
Grégoire Henry
dbe4a20d4a
Reset the chain
2018-04-17 13:46:23 +02:00
Grégoire Henry
b6ed841ccf
Genesis: fix genesis key
...
(was mistakenly changed in 9ffead02d2
)
2018-04-17 13:45:41 +02:00
Grégoire Henry
7429a5b21d
Client: fix wallet import
2018-04-17 10:50:27 +02:00
Grégoire Henry
020ef19460
Client: add a claim operation that activate a commitment account
2018-04-17 10:50:23 +02:00
Grégoire Henry
ec25690166
Client: minor refactoring
2018-04-17 10:39:24 +02:00
Vincent Botbol
326226d5ed
Genesis: add mnemonics, passwords and emails to genesis info generation
2018-04-17 10:36:46 +02:00
Arthur B
eb1dfb7f20
Shell/Alpha: allow usage of secp256k1 for signature
2018-04-16 18:37:52 +02:00
Milo Davis
19843b96b0
Client: use source_param instead of alias_param
2018-04-16 12:38:31 +00:00
Grégoire Henry
3765c39477
Client: fix for issue #161 .
...
Use proper parsing for `--delegate` argument.
2018-04-16 12:38:31 +00:00
Grégoire Henry
3d57055cca
Alpha: use protocol parameters instead of sandbox to tune constants
2018-04-16 09:28:26 +02:00
Grégoire Henry
98f30a3e85
Alpha: allow more constant parametrization
2018-04-16 09:28:26 +02:00
Marco Stronati
0940442148
Alpha: fixed type of Tez for constants
2018-04-12 16:40:42 +02:00
Grégoire Henry
c6ffe4a5d9
Alpha: better threading of fees and rewards
2018-04-10 16:23:53 +00:00
Vincent Bernardoff
401eeceefb
Client: fix error when signing with encrypted keys
2018-04-09 17:14:15 +02:00
Grégoire Henry
ce2d196bb5
Data_encoding: be compatible with 32bits platform.
...
We should not accept for `data_encoding.ranged_int` values that cannot
fits in `int31`. Iw we wnat more, we should introduce `ranged_int32`
or `ranged_int64`.
2018-04-09 13:17:04 +00:00
Marco Stronati
a8beaec40a
Alpha: added a rpc to retrieve all constants at once.
2018-04-09 15:05:46 +02:00
Vincent Botbol
91dfb730bf
Alpha: parametrize protocol activation with commitments and bootstrap accounts
2018-04-09 15:05:46 +02:00
Milo Davis
e6418b4602
Test: minor improvements to test_lib.inc.sh
...
- Can now set show_logs variable from outside the script
- Better logging for assert_balance
- bake_after can now handle quoted arguments
2018-04-08 11:41:37 -04:00
Pietro
80cdf6d0b3
Shell: A bit of randomization for gap in block locators.
...
The random seed is computed from the sender and receiver `peer_id`.
2018-04-07 18:29:02 +02:00
Grégoire Henry
5f69ae87d2
Sandbox: deactivate the minimal stamp of proof of work for bakers
2018-04-06 13:45:13 +02:00
Grégoire Henry
745aabcd22
Script: allow to reinitialize a sandboxed client
...
Running twice the `tezos-init-sandboxed-client.sh` should remove from
the disk the previous client and initialize a new one.
2018-04-06 13:35:09 +02:00
Grégoire Henry
4f2b2f8ece
Alpha: use Base58 for displaying commitment
2018-04-06 11:56:32 +02:00
Grégoire Henry
9ffead02d2
Shell: simplify hash signatures
2018-04-06 11:56:32 +02:00
Arthur B
21efb2dc9d
Jbuilder: update to beta.19.1
2018-04-06 11:47:22 +02:00
Grégoire Henry
b7c2bac8dc
OPAM: fix tezos-crypto.opam
2018-04-06 11:46:09 +02:00
Grégoire Henry
bf32659a6b
Proto/Env: Replace configure_sandbox
by proper init
2018-04-06 11:40:34 +02:00
Grégoire Henry
6f0cc397ae
Shell: move back hash encoders from lib_base
to lib_crypto
2018-04-03 15:21:38 +02:00
Grégoire Henry
08a3cff5a6
Base: rename Cli_entries
into Clic
2018-04-03 15:21:38 +02:00
Milo Davis
4ad127c398
Client: wait for operation inclusion command and RPC
2018-03-30 00:45:22 +02:00
Grégoire Henry
38c7453edf
Shell/RPC: allow /blocks/<hash>~n/...
...
This allows to query the `n`-th predecessor of block `<hash>`.
2018-03-30 00:45:22 +02:00
Mathias Bourgoin
fcdf36acd4
Shell/RPC: remove the fake block /blocks/prevalidation
...
Add a `/mempool/pending_operations`
2018-03-30 00:44:58 +02:00
bruno
c332343cee
Alpha: add one mutez in interface
2018-03-28 09:30:33 +00:00
Vincent Botbol
c2990b4f14
Alpha: replace the faucet by preallocated-contract activation.
2018-03-28 10:36:37 +02:00
Arthur B
f98ed35583
Blake2B: export kmac
function.
2018-03-28 10:29:51 +02:00
Grégoire Henry
afb1e0f260
Proto/Env: remove {Set,Map}.find
...
Also replace all the function raising `Not_found` by their `_opt` version.
2018-03-27 09:59:59 +00:00
Grégoire Henry
48cc2e9928
Proto/Env: rename Set.S
and Map.S
into S.SET
and S.MAP
.
2018-03-27 09:59:59 +00:00
Vincent Botbol
369b6d7988
Fix: sphinx warning about bad reference
2018-03-26 01:04:07 +02:00
Vincent Botbol
d64d448c3c
Fix: typos in rpc block's dynamic argument description
2018-03-26 01:04:07 +02:00
Vincent Botbol
385a600e98
Docs: add error documentation generation
2018-03-26 01:04:07 +02:00
Benjamin Canou
19eb1c2520
Error_monad: change error wrapping to flatten the JSON format
2018-03-26 01:04:07 +02:00
Benjamin Canou
bd3191059b
Data_encoding: make more combinators transparent to is_tup/is_obj
2018-03-24 16:45:29 +01:00
Benjamin Canou
e0a4147b8d
Alpha: add missing error registrations
2018-03-24 16:45:29 +01:00
Benjamin Canou
583563ede0
Remove dead file
2018-03-24 16:45:29 +01:00
Grégoire Henry
72b7789162
Alpha: reduce tips for inclusion of seed revelations
2018-03-22 17:37:54 +01:00
Grégoire Henry
7fabac6714
Alpha/RPC: fix typo in the RPC for parsing and forging.
2018-03-22 14:13:53 +01:00
Pietro
5399dee5ce
test: add tezos-alpha-baker command in tezos-init-sandboxed-client
2018-03-22 13:51:26 +01:00
Pietro
f6dbdf7ac3
Test: fix make fix-indent erase all problem
2018-03-22 13:51:06 +01:00
Grégoire Henry
9035bb94ab
Baker: do not generate random when not required
2018-03-22 13:41:57 +01:00
Pietro
9ef69b4502
Client, test: Add two more protocol injection tests (from alpha)
2018-03-20 07:07:57 +01:00
Pietro
c6c9117c3a
Client,test: add test for demo protocol activation
2018-03-20 07:07:56 +01:00
Grégoire Henry
c2f74f9f9b
Alphanet: use vanity key for the bootstrap accounts
2018-03-20 07:07:56 +01:00
Pietro
01dd7d152a
Client: better error messages for unwrapped JSON objects.
2018-03-20 06:50:39 +01:00
bruno
55ad294595
Alpha: fix typo s/token_per_rolls/tokens_per_roll
2018-03-20 06:49:52 +01:00
bruno
bdf6a5e564
General: update jbuilder to 1.0+beta19
2018-03-20 06:49:52 +01:00
Grégoire Henry
c5792cd7f0
Shell: remove outdated operation on new blocks
2018-03-20 06:49:52 +01:00
Grégoire Henry
edb40c7923
Alpha/test: allow to deactivate seed renewal
2018-03-19 16:06:27 +01:00
Benjamin Canou
dabf4c1578
Fix alphanet_constants.patch
and reset the chain
2018-03-18 18:36:56 +01:00
Benjamin Canou
19d9ce1f64
Alpha: fix tests
2018-03-18 18:11:04 +01:00
Benjamin Canou
0b31daeadc
Alpha: rename Double_endorsement/baking
into Double_endorsement/baking_evidence
2018-03-16 18:38:41 +01:00
Grégoire Henry
5ac629f335
More renaming registred
-> registered
2018-03-16 18:38:41 +01:00
Grégoire Henry
71ee3114a7
Alpha: rename bond
into deposit
2018-03-16 18:38:41 +01:00
Grégoire Henry
987e4a5314
Alpha: introduce constant max_revelations_per_block
2018-03-16 18:38:41 +01:00
Grégoire Henry
8e77382a61
Alpha: remove constant max_number_of_operations
2018-03-16 18:38:41 +01:00
Grégoire Henry
c1ddec37ab
Alpha: rename voting_period_length
into block_per_voting_period
2018-03-16 18:38:41 +01:00
Grégoire Henry
7ef2803199
Alpha: rename max_signing_slot
into endorsers_per_block
2018-03-16 18:38:41 +01:00
Grégoire Henry
43609e2e63
Alpha: rename baking_reward
into block_reward
2018-03-16 18:38:41 +01:00
Grégoire Henry
6b53e3f578
Alpha: rename endorsement_bond_cost
into endorsement_security_deposit
2018-03-16 18:38:41 +01:00
Grégoire Henry
74d334463e
Alpha: rename baking_bond_cost
into block_security_deposit
2018-03-16 18:38:41 +01:00
Grégoire Henry
19cb91bcb6
Alpha: rename slot_durations
into time_between_blocks
2018-03-16 18:38:41 +01:00
Grégoire Henry
4be6897368
Alpha: rename cycle_length
into blocks_per_cycle
2018-03-16 18:38:41 +01:00
Grégoire Henry
4f968d6fdc
Alpha: rename block_per_roll_snapshot
into blocks_per_roll_snapshot
2018-03-16 18:38:41 +01:00
Grégoire Henry
e81c02c27a
Alpha: remove Faucet limit
2018-03-16 18:38:41 +01:00
Grégoire Henry
5fa0b074bf
Alpha: rename constant initial_roll_value
into tokens_per_roll
...
And remove alphanet hack (doubling roll value)
2018-03-16 18:38:41 +01:00
Grégoire Henry
dc681551e6
Alpha: adjust constants
2018-03-16 18:38:41 +01:00
Grégoire Henry
abe769c393
Alpha: don't burn origination_burn
twice...
2018-03-16 18:38:41 +01:00
Grégoire Henry
a41d553162
Alpha: use distinct quota for anonymous_operation
2018-03-16 18:38:41 +01:00
Grégoire Henry
040ac648eb
Alpha: better error message when registering delegates
2018-03-16 18:38:41 +01:00
Grégoire Henry
a95e601284
Alpha: don't fail when burning previously burned bond/fees/rewards.
...
Just in a case a baker double-bakes and doesn't reveal its nonce.
2018-03-16 17:37:45 +01:00
Benjamin Canou
0cf6f8fff2
Alpha: do not decrease delegation rights expiration date when provisioning
2018-03-16 17:24:22 +01:00
Grégoire Henry
04bbbf9fe2
Alpha: deactivate inactive delegate
2018-03-16 17:12:19 +01:00
Benjamin Canou
fc08f2f8ef
Alpha: add missing error registrations
2018-03-16 16:34:39 +01:00
Grégoire Henry
2eaae225ff
Alpha: forbid delegation to the current delegate
2018-03-16 16:21:29 +01:00
Grégoire Henry
5026d6a68d
Alpha: allow to tag a delegate as inactive
2018-03-16 16:09:51 +01:00
Grégoire Henry
76d11fcafb
Alpha: add operation Double_baking
2018-03-16 15:34:36 +01:00
Grégoire Henry
09c1e317ab
Alpha: add operation Double_endorsement
2018-03-16 15:34:32 +01:00
Grégoire Henry
3aef2ed505
Alpha: remove hash from Operation_repr.t
2018-03-16 14:34:39 +01:00
Grégoire Henry
e2af8dbee9
Alpha: randomly select a roll snapshot for each cycle
2018-03-16 11:21:22 +01:00
Benjamin Canou
b4dad92a7d
Alpha: remove dead alphanet specific code
2018-03-16 11:21:21 +01:00
Grégoire Henry
6dccfa4a1f
Alpha: prepare storage for multiple roll snapshots per cycle
2018-03-16 11:21:09 +01:00
Grégoire Henry
0283bee65b
Alpha: add constant 'block_per_roll_snapshot'
2018-03-15 23:40:46 +01:00
Grégoire Henry
4e9fd509b3
Proto: export the 'last_allowed_fork_level'.
...
The should ignore all branch forking at a block whose level
is lower than the 'last_allowed_fork_level' of the current head.
2018-03-15 21:48:16 +01:00
Grégoire Henry
726bf5955e
Jbuilder: fix error reporting in protocol compilation
2018-03-15 21:46:59 +01:00
bruno
226a9a1778
Proto_alpha: fix typo "unpexpected"
2018-03-15 14:07:06 +00:00
Raphaël Proust
8364e27142
Data_encoding: typo in error message
2018-03-15 13:58:54 +00:00
Milo Davis
2fbc60af75
Michelson: make maximum integer for gas 32 bit compatible ( #169 )
2018-03-15 13:51:13 +00:00
Benjamin Canou
2d9bbcce90
Alpha: fix PoW stamp value
2018-03-15 14:14:12 +01:00
Benjamin Canou
b09183a2d7
Alpha: remove emptied frozen balances
2018-03-15 14:06:00 +01:00
Grégoire Henry
39f919e07b
Alpha: rework reward storage.
...
We now keep track per delegate and per cycle of three distinct "frozen
balance": one for the bond, one for the fees, one for the rewards.
All tokens frozen during cycle 'N' are unfrozen at the end of the
cycle 'N+5'.
The frozen bond and fees count allows to gain rolls. The frozen
rewards do not.
2018-03-15 00:37:18 +01:00
Grégoire Henry
2be83eafc1
Alpha: allow seed's nonce commitment only once every 'blocks_per_commitment'
2018-03-15 00:26:19 +01:00
Grégoire Henry
71e9780e5b
Proto/env: export Ed25519.Signature.zero
2018-03-15 00:25:46 +01:00
Grégoire Henry
dc89432aad
Proto/env: export RPC_directory.opt_register
2018-03-15 00:23:13 +01:00
Grégoire Henry
54b7d44da8
Alpha: add constant block_per_commitments
2018-03-15 00:19:15 +01:00
Grégoire Henry
abfc317ee8
Alpha: freeze delegation rights (preserved_cycles+1) in advance
2018-03-14 19:28:19 +01:00
Grégoire Henry
672109de54
Alpha: more intuitive Misc.(-->)
2018-03-14 12:12:49 +01:00
Grégoire Henry
e42cd1ccd6
Alpha: minor renaming
2018-03-14 12:12:49 +01:00
Grégoire Henry
cd5ac0a27d
Alpha: add Constants_storage
2018-03-14 12:12:49 +01:00
Grégoire Henry
bd721b1085
Alpha: add constant "preserved_cycles"
2018-03-14 12:12:49 +01:00
Benjamin Canou
5bd01de643
Errors: fix duplicate definition
2018-03-14 11:37:35 +01:00
bruno
8713ae36f6
General: s/registred/registered/
2018-03-13 16:29:02 +00:00
Grégoire Henry
7af7cb95e3
Alpha/Client: fix incorrect 'delegate' display.
...
Signed-off-by: Grégoire Henry <gregoire.henry@tezos.com>
2018-03-12 18:14:39 +01:00
Grégoire Henry
487fce8be1
Shell/block_locator: count 'head' as a locator step
2018-03-12 17:14:12 +01:00
Benjamin Canou
d00724ea13
Fix alphanet_constant.patch and reset the chain
2018-03-09 14:17:18 +01:00
Grégoire Henry
88f5a5fb4d
Opam: fix installation of the functorize protocol
2018-03-08 15:42:53 +01:00
Benjamin Canou
640671c7c5
P2p: fix version number sizes
2018-03-08 14:40:28 +01:00
Grégoire Henry
801bdf3d4c
Dune: don't use the 'tezos-protocol-compiler' in the build system
2018-03-08 14:38:57 +01:00
Milo Davis
a405eb2d0e
Fixes for jbuilder.1.0.0-beta18
2018-03-08 14:38:57 +01:00
Grégoire Henry
76a59af376
Opam: use jbuilder.1.0.0-beta18
2018-03-08 14:38:57 +01:00
Grégoire Henry
f926cfc0ac
Reset the chain
2018-03-08 07:08:24 +01:00
Grégoire Henry
cdeff6d3ca
Fix 'script/reset_chain.sh'
2018-03-08 07:07:59 +01:00
Grégoire Henry
5d99c7c0ae
Reset the chain
2018-03-07 18:39:23 +01:00
Grégoire Henry
b50d96ec2b
Fix compilation with recent 're' Re.Str
2018-03-07 18:14:51 +01:00
Grégoire Henry
ad330db7e1
Opam: require jbuilder = 1.0.0-beta17
2018-03-07 18:12:12 +01:00
Vincent Bernardoff
684fe1110b
P2P: doc and associated minor changes.
2018-03-01 14:16:33 +01:00
bruno
58804798ec
Shell services: p2p errors: add registrations
2018-03-01 12:28:05 +00:00
bruno
5a37f6acf1
Shell: mv p2p errors to shell services
...
Notes:
1. P2p_socket.Rejected -> P2p_errors.Rejected_socket_connection
to avoid conflict with P2p_pool.Rejected
2. Connection_closed error in P2p_pool unused and redundant with one
in P2p_io_scheduler
2018-03-01 12:28:04 +00:00
Benjamin Canou
7de4ed5622
Alpha: fix the baker and endorser
2018-03-01 11:34:37 +01:00
Benjamin Canou
e148b370c0
Client: initialize logging in the client (for the daemons)
2018-03-01 11:34:10 +01:00
Benjamin Canou
8a6deca8a0
Shell: simplify operation injecion error handling
2018-03-01 10:33:42 +01:00
Benjamin Canou
249e4564d3
Alpha: fix spend_from_script
2018-02-28 14:59:01 +01:00
Grégoire Henry
b63b333b1a
Alpha: allow to iter on delegates
2018-02-28 14:59:01 +01:00
Grégoire Henry
54efe8fcd7
Alpha: introduce Delegate_storage
2018-02-28 14:59:01 +01:00
Grégoire Henry
4c1e4bc6cd
Alpha: use 'Data_set' for storing the spendable flag
2018-02-28 14:59:01 +01:00
Grégoire Henry
9ff3be14b6
Alpha/client: fix baking daemon
...
Missing classify operation.
2018-02-28 14:59:01 +01:00
Grégoire Henry
dcc5bc6b1a
Alpha: remove warning
2018-02-28 14:59:01 +01:00
Pietro Abate
88e67707b7
Alpha: aggregate rolls per delegate
2018-02-28 14:59:01 +01:00
Grégoire Henry
6d900e3e52
Alpha: remove index of public keys
...
For delegate keys, we now use the revealed key of the associated
delegate contract.
2018-02-28 14:59:01 +01:00
Grégoire Henry
92f5ad6212
Alpha: forbid delegation to "unregistred delegate".
...
A "registred delegate" is a delegate that previously revealed its
public key and that registred itself as delegate of its own implicit
contract.
An implicit contract can only be delegated to itself ; it is then
considered as a "delegate contract". A delegate contract cannot be
deleted.
2018-02-28 14:59:01 +01:00
Grégoire Henry
38f46d832a
Alpha/client: add a command for registering as delegate
2018-02-28 14:59:01 +01:00
Grégoire Henry
3a057ddad1
Alpha/client: add command "reveal key for <contract>"
2018-02-28 14:48:47 +01:00
Grégoire Henry
86561363b2
Alpha: explicit operation for key revelation
2018-02-28 14:48:47 +01:00
Grégoire Henry
fc2cd7ce5c
Alpha: smaller endorsement operations
...
We don't include the delegate pkh in the operation anymore, and we
allow to group multiple endorsements in the same operations.
2018-02-28 14:48:47 +01:00
Grégoire Henry
a875a5f2e9
Alpha: ignore delegate with unrevealed keys when freezing rolls
2018-02-28 14:48:47 +01:00
Grégoire Henry
c78dd51f3d
Alpha: rename "default contract" into "implicit contract"
2018-02-28 14:48:47 +01:00
Grégoire Henry
16758a5c74
Alpha: remove some alphanet specifics
2018-02-28 14:48:47 +01:00
Grégoire Henry
c125f822f5
Alpha: update storage fees policy.
...
Instead of having a minimal amount for contracts, we now burn
token when increasing the size of a contract storage.
2018-02-28 14:48:47 +01:00
Grégoire Henry
892acb0c72
Alpha: Minor style issue
2018-02-28 14:48:47 +01:00
Pietro Abate
7fcc8fa7f9
Alpha: Minor refactoring to may_start_new_cycle
2018-02-28 14:48:47 +01:00
Grégoire Henry
59d69c8fb1
Test: fix sandboxed scripts.
2018-02-28 14:48:47 +01:00
Benjamin Canou
40ea190364
Client: do not display usage on all errors
2018-02-28 12:14:21 +01:00
Benjamin Canou
8eee1c7a9c
Node: cleanup logging of shell workers
2018-02-26 16:08:04 +01:00
Benjamin Canou
40a26759fc
Node: fix error handling in block validator
2018-02-26 16:08:04 +01:00
bruno
f600fc57d4
Shell: improve pp for block locator
2018-02-26 15:52:36 +01:00
bruno
f5e3d99e24
Shell services: harmonise errors IDs
2018-02-26 15:52:36 +01:00
bruno
1171340a9f
Shell: move shell errors into shell services
...
Allows the client to display shell errors properly.
Also adds some missing registrations, documentation and comments.
2018-02-26 15:52:36 +01:00
Marco Stronati
154f43d0bf
Proto_alpha: removed empty mli in tests
2018-02-23 15:09:46 +00:00
Marco Stronati
54f0e21373
Proto_alpha: added test for raw_context rpc call
2018-02-23 15:09:45 +00:00
Marco Stronati
ce93c266e5
Client: added bash test for raw_context rpc call
2018-02-23 15:09:45 +00:00
Marco Stronati
d1c1ced970
Shell: added rpc to inspect context of a block
...
Added a block_service and corresponding handler in the node to perform
queries of the form '/blocks/<id>/raw_context/<path>?depth=<n>'
returning the sub-tree corresponding to <path> inside the context of
block <id>. The parameter <depth> controls the size of the tree,
default is 1.
2018-02-23 15:09:44 +00:00
Grégoire Henry
0a10b97e33
Client: fix query parameters handling in rpc call
2018-02-23 15:09:44 +00:00
Marco Stronati
f9ffb21e74
Node: removed duplicated export.
2018-02-23 15:09:43 +00:00
Marco Stronati
c3967e7bc0
RPC_encoding: fixed missing case in path encoding
2018-02-23 15:09:43 +00:00
Pierre Chambart
c92f370930
Add check of snapshot availability
2018-02-22 13:29:01 -05:00
Pierre Chambart
cd30ff95e7
Free roll freeze
2018-02-22 13:29:01 -05:00
Pierre Chambart
3b4490129b
Snapshotable storage
2018-02-22 13:29:01 -05:00
Pierre Chambart
3caa5c2260
Add copy to the proto raw_context
2018-02-22 13:24:51 -05:00
Pierre Chambart
1a94bfd0e9
Add copy to the storage
2018-02-22 13:24:51 -05:00
Grégoire Henry
84d8b46662
Jbuilder: fix concurrency issue
2018-02-22 07:13:51 +01:00
Pierre Chambart
d18cc74ab4
Proto environment: clean Array
2018-02-22 05:36:57 +01:00
Pierre Chambart
d3cb77575d
Proto environment: Remove Buffer
2018-02-22 05:36:57 +01:00
Pierre Chambart
35424af049
Proto environment: Remove Bytes
2018-02-22 05:36:57 +01:00
Pierre Chambart
78bc80e70c
Proto environment: Get rid of Lwt_sequence
2018-02-22 05:36:57 +01:00
Pierre Chambart
f9feec825b
Proto environment: A bit more cleaning of Format
2018-02-22 05:36:57 +01:00
Pierre Chambart
81a548829f
Proto environment: Remove deprecated format functions
2018-02-22 05:36:57 +01:00
Pierre Chambart
590ddb750f
Change compiler's requested version
2018-02-22 05:36:57 +01:00
Pietro
b5f9e2479f
Client: fix unregistered error when there is a node already running
2018-02-21 23:40:28 +01:00
Vincent Botbol
b78d7bdaee
Repair: fix sandbox initialization script
2018-02-21 18:34:55 +01:00
Pietro
79f7cf3943
Node: Add docstrings to Data encodings for node config parameters
2018-02-21 10:59:12 +00:00
Benjamin Canou
8a1f4acfcd
Remove dangling file
2018-02-20 22:40:41 +00:00
Grégoire Henry
f999524887
Proto/env: add missing type equalities
2018-02-20 18:29:56 +01:00
Pietro
fa0175263f
Node: Add bootstrap_threshold to the client config cli
2018-02-20 10:40:18 +00:00
Pietro
e7bb484ead
Node: print config file options in manpage
2018-02-20 11:31:15 +01:00
Grégoire Henry
697b291782
Merge `tezos-protocol-environment-{sigs,client}
2018-02-18 17:11:16 +00:00
Grégoire Henry
0e79a65158
Shell: rename Block_header.proto/data
into protocol_data
2018-02-18 17:11:13 +00:00
Milo Davis
67b3338907
Client: update typecheck program flags and michelson mode
2018-02-17 20:42:03 -05:00
Benjamin Canou
bb0fa86d91
Client: rename client context classes for clarity
2018-02-16 18:12:29 +01:00
Vincent Bernardoff
54e96092b4
Client: add encrypted
signature scheme
2018-02-16 18:12:29 +01:00
Benjamin Canou
67019246e9
Client: add method prompt to context and cleanup Unix context
2018-02-16 11:08:45 +01:00
Vincent Bernardoff
dfeb96842a
Crypto: add Secretbox
2018-02-16 11:08:45 +01:00
Vincent Bernardoff
28adbb5814
Utils: add getpass
2018-02-16 11:08:45 +01:00
Grégoire Henry
6fa1283240
Shell: Rename net_id
into chain_id
2018-02-16 02:57:25 +01:00
Benjamin Canou
e2be3360a9
Client: split client-alpha into lib and commands and extract the baker
2018-02-15 22:54:39 +01:00
Benjamin Canou
a55a60c59b
Client: proper error on unknown global flag
2018-02-15 19:59:50 +01:00
Benjamin Canou
a1984ee090
Client: fix minor display glitches
2018-02-15 19:59:50 +01:00
Benjamin Canou
dd1b200306
Client: split client-base into client-base and client-commands
2018-02-15 19:59:50 +01:00
Benjamin Canou
7e6a4a5333
Client: minor refactoring
2018-02-15 18:21:18 +01:00
Benjamin Canou
c66f9b7733
Remove dangling jbuild file
2018-02-15 18:21:18 +01:00
Benjamin Canou
345bbc715d
Client: move protocol injection commands to the admin client
2018-02-15 18:21:18 +01:00
Benjamin Canou
bacb55800d
Client: split Client_commands into Client_commands and Client_context
2018-02-15 18:21:18 +01:00
Benjamin Canou
cafcaf925b
Client: cleanup admin commands
2018-02-15 18:21:18 +01:00
Benjamin Canou
a14616517e
Client: split client-base modules into functions / commands
2018-02-15 18:21:18 +01:00
Benjamin Canou
b3066d6a24
Client: remove Unix dependencies from client-base and client-alpha
2018-02-15 18:21:15 +01:00
Benjamin Canou
d983f601a6
Client: add --long and -s(hort) options
2018-02-15 18:20:45 +01:00
Benjamin Canou
3729e4f3ce
Client: restore alias autocompletion
2018-02-15 18:20:45 +01:00
Benjamin Canou
42566e9dcd
Client: move Unix out of Cli_entries and a bit of output cleanup
2018-02-15 18:20:42 +01:00
Benjamin Canou
2c2f0a1818
Cli_entries: export formatter setup functions
2018-02-15 18:19:17 +01:00
Benjamin Canou
a830c29185
Cli_entries: more docstrings
2018-02-15 18:19:17 +01:00
Vincent Bernardoff
62f436eda9
Base: use Re_str
instead of non-thread-safe library Str
2018-02-15 18:19:17 +01:00
bruno
227232e6c7
Shell: delete duplicated functor
2018-02-15 17:38:19 +01:00
Vincent Bernardoff
f8ded9ca28
Comparable: add Make
2018-02-15 17:36:42 +01:00
Grégoire Henry
322fc1e353
RPC: move p2p services registration in tezos-p2p
2018-02-15 00:29:15 +01:00
Pietro
c67e6d4b04
Client/test: Add shell script to test protocol injection
2018-02-14 11:48:33 +01:00
Pietro
4d9f440aae
Fix protocol injection
...
- Rename Tezos_protocol_compiler_native__Registerer
- Pass module without extension to the compiler
2018-02-13 15:02:32 +01:00
Grégoire Henry
515765926f
Shell/test: minor fix in Test_locator
2018-02-13 13:25:49 +01:00
bruno
4fa11bdf28
Error_monad: improve error message for unrecognized errors
2018-02-13 13:24:54 +01:00
Grégoire Henry
77bd0af3d1
Shell/test: add option to not enforce context hash in block header
2018-02-12 16:59:59 +01:00
Grégoire Henry
7643fa9b15
Alpha: split Services/Services_registration
and Client_proto_rpcs
2018-02-12 16:56:59 +01:00
Grégoire Henry
e4cde4c196
Client: introduce an alternative context alpha's commands
2018-02-12 16:56:59 +01:00
Grégoire Henry
d539072f1b
Proto/env: export RPC_context
2018-02-12 16:56:59 +01:00
Grégoire Henry
4a1da9407e
Client/test: minor code simplification
2018-02-12 16:56:59 +01:00
Grégoire Henry
3b95f77225
Alpha: split Tezos_hash
multiple source files
2018-02-12 16:56:59 +01:00
Grégoire Henry
5fff7b3c1b
Alpha: rename Tezos_context
-> Alpha_context
2018-02-12 16:56:59 +01:00
Grégoire Henry
6a5a235d42
Client refactor: Proto_alpha.Environment
-> Alpha_environment
2018-02-12 16:56:59 +01:00
Grégoire Henry
91143452e3
Proto/env: allow some Lwt
in the construction of rpc_context
2018-02-12 16:54:08 +01:00
Grégoire Henry
82530eeb29
Proto/env: export *_hash.zero
2018-02-12 16:54:08 +01:00
Grégoire Henry
2c90308caf
Client refactor: Client_proto_rpcs.block
-> Block_services.block
2018-02-12 16:54:08 +01:00
Grégoire Henry
83307c6de0
Client: more open #full_context
2018-02-12 16:54:08 +01:00
Grégoire Henry
29e1735115
Client: add Cli_entries.map_command
2018-02-12 16:54:08 +01:00
Grégoire Henry
0bd31b0c38
Client refactor: remove last bits of lib_client_base/client_rpcs.ml
...
Split between `lib_rpc_http/RPC_client` and
`lib_shell_services/Block_services`.
2018-02-12 16:54:08 +01:00
Grégoire Henry
db1f134e45
Client refactor: use the error_monad for all RPC services (protocol)
2018-02-12 16:54:08 +01:00
Grégoire Henry
66c2a60530
Client refactor: use the error_monad for all RPC services
2018-02-12 16:54:08 +01:00
Grégoire Henry
a70a0788d3
Test: quick and dirty port to alcotest
2018-02-12 02:09:00 +01:00
Grégoire Henry
24fe0cc02c
opam: fix package description
2018-02-11 20:03:52 +01:00
Grégoire Henry
4d69404049
Proto/env: move signature from Updater
to Protocol_environment
2018-02-11 19:45:40 +01:00
Grégoire Henry
c9822abab7
Resto: minor simplification (remove RPC_service.map
)
2018-02-11 19:45:40 +01:00
Grégoire Henry
0f0ec6ab7a
Jbuilder: fix dependencies in the tezos-compiler
hack
2018-02-11 19:17:39 +01:00
Grégoire Henry
d417a679e6
Alpha/test: fix symbolic link
2018-02-11 19:17:38 +01:00
Grégoire Henry
f6b55fa46d
Test: fix manual execution of ./test-basic.sh
2018-02-11 19:17:38 +01:00
Grégoire Henry
0e675c2d16
Client refactor: add calling function in Worker_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
1858bdd852
Client refactor: Move Client_node_rpcs
into Shell_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
21789be756
Client refactor: Move Client_node_rpcs.Protocols
into Protocols_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
37e65d93e7
Client refactor: Move Client_node_rpcs.Network
into P2p_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
02c2035e93
Client refactor: Move Client_node_rpcs.Block
into Block_services
2018-02-08 17:23:30 +01:00
Grégoire Henry
db500b5ebd
RPC_service: hide the 'error type parameter
2018-02-08 17:23:30 +01:00
Grégoire Henry
5c2ba214f0
Client refactor: Move handling of unix error from Error_monad
to stdlib-unix
2018-02-08 17:23:30 +01:00
Grégoire Henry
41d30777a6
Client refactor: remove Utils.read_file
...
2018-02-08 17:23:30 +01:00
Grégoire Henry
1f0c10bc6f
Client refactor: Rename stdlib-lwt
into stdlib-unix
2018-02-08 17:23:30 +01:00
Grégoire Henry
484b5b5b08
Client refactor: move stdlib_lwt
out of base
2018-02-08 17:23:30 +01:00
Grégoire Henry
84d8ae9222
Client refactor: Move Data_encoding_ezjsonm.read_file
into Lwt_utils_unix
2018-02-08 17:23:30 +01:00
Grégoire Henry
24c6f4ea98
Client refactor: Move Lwt_utils_unix.protect
into Error_monad
2018-02-08 17:23:30 +01:00
Grégoire Henry
7dc52dcf10
Client refactor: Move Lwt_Exit
into base
2018-02-08 17:23:30 +01:00
Grégoire Henry
27ae0591b1
Client refactor: Move Cli_entries
into base
2018-02-08 17:23:30 +01:00
Grégoire Henry
8c58d7a610
Client refactor: Move non-unix part of Data_Encoding_Ezjsonm
into Data_Encoding.Json
2018-02-08 17:23:30 +01:00
Grégoire Henry
c55181273c
Client refactor: Move non-unix depend modules of stdlib-lwt
into stdlib
2018-02-08 17:23:29 +01:00
Grégoire Henry
154b932713
Client refactor: Remove usage of Lwt_unix
from Lwt_dropbox
2018-02-08 17:23:29 +01:00
Grégoire Henry
8f7f205031
Client refactor: Remove usage of Lwt_unix
from Lwt_pipe
2018-02-08 17:23:29 +01:00
Grégoire Henry
7a3277e625
Client refactor: Move part of Logging
into Logging_unix
2018-02-08 17:23:29 +01:00
Grégoire Henry
f61eed1a67
Client refactor: move part of Lwt_utils
in Lwt_utils_unix
2018-02-08 17:23:29 +01:00
Grégoire Henry
f22b3576d2
Client refactor: simpler dependencies in tezos-crypto
2018-02-08 17:23:29 +01:00
Grégoire Henry
2f295a3af8
P2p: less types in lib_base
...
Let's only have types required for the RPCs.
2018-02-08 17:23:29 +01:00
Marco Stronati
67ac4d8f5c
Protocol: change external to val in zarith protocol env
2018-02-08 15:28:32 +00:00
Marco Stronati
3ca9a081f9
Locator: added extended test with benchmark
2018-02-08 15:18:11 +00:00
Marco Stronati
d05dceb0b0
State: export predecessor_n
2018-02-08 15:18:10 +00:00
Marco Stronati
f8e69ac8f5
Locator: added test for size 0 and size larger than chain
2018-02-08 15:18:09 +00:00
Marco Stronati
0890034575
State: removed old linear predecessor
2018-02-08 15:18:09 +00:00
Marco Stronati
f62ce16e5c
Locator: rewrote compute to use efficient predecessor from state
2018-02-08 15:18:09 +00:00
Marco Stronati
95a4ede273
State: added function to get predecessor at any distance
2018-02-08 15:18:08 +00:00
Marco Stronati
738310df62
State: added a function to populate the predecessors storage
2018-02-08 15:18:08 +00:00
Marco Stronati
eaf2103967
Storage: added a dedicated store for predecessors under /block/
2018-02-08 15:18:08 +00:00
Benjamin Canou
75f4946072
Alpha: remove unused function
2018-02-07 12:24:01 +01:00
Grégoire Henry
acffadafae
Jbuilder: fix warning
2018-02-07 11:16:39 +01:00
Vincent Bernardoff
e1d1292c09
Crypto: drop libsodium
...
We now use simpler OCaml bindings much easier to review.
2018-02-07 11:16:39 +01:00
Benjamin Canou
8bec8b7b9c
Michelson: add isolate test for big maps
2018-02-06 17:04:49 +01:00
Benjamin Canou
5ae24aa7a3
Scripts: repair tezos-autocomplete, and make it work with emacs and zsh
2018-02-06 17:04:49 +01:00
Benjamin Canou
0352278621
Emacs: repair Michelson parsing error reporting
2018-02-06 17:04:49 +01:00
Milo Davis
79472c727a
Michelson: introducing big maps, limited edition
...
Quick and dirty (yet safe, of course) implementation of lazily
deserialized maps for storing large collections of indexed data.
Only one big_map is allowed, as the left component of the toplevel
storage pair.
Review and bugfixes: Benjamin Canou <benjamin@canou.fr>
2018-02-06 17:00:54 +01:00
Benjamin Canou
3d0ec5deb4
Michelson: remove instruction MAP on sets
2018-02-06 16:32:30 +01:00
Grégoire Henry
575e367026
Update copyright notice (2018)
2018-02-05 23:34:05 +01:00
Grégoire Henry
e28219ad60
Opam: update to jbuilder.1.0+beta17
2018-02-05 23:34:05 +01:00
Grégoire Henry
c4c375dfc2
Proto_alpha/test: module renaming
2018-02-05 23:34:05 +01:00
Grégoire Henry
c6bf7d78b6
Proto_alpha/test: split tests.
2018-02-05 23:34:05 +01:00
Grégoire Henry
7929027793
Proto/test: do not depend on shell
...
For the test suite we only use the in-memory context.
2018-02-05 23:34:05 +01:00
Grégoire Henry
a6ab12e701
Context: add an alternative in-memory only implementation
2018-02-05 23:34:05 +01:00
Grégoire Henry
971c3c4b21
Refactor: move Registred_protocol
from State
to Tezos_updater
2018-02-05 23:34:05 +01:00
Grégoire Henry
2498da2815
Protocol_environment: more sharing between node and client
2018-02-05 23:34:05 +01:00
Grégoire Henry
dffa65f648
Test: add test dependencies into *.opam
and fix .gitlab-ci.yml
2018-02-05 23:34:05 +01:00
Grégoire Henry
0166f2325e
Test: move test
into src/bin_client/test
2018-02-05 23:34:05 +01:00
Grégoire Henry
f7668c3799
Test: move test/proto_alpha
into proto_alpha/lib_client/test
2018-02-05 23:34:05 +01:00
Grégoire Henry
4d5e55595b
Test: split test/shell
into src/lib_{storage,shell}
2018-02-05 23:34:05 +01:00
Grégoire Henry
868514af2b
Test: move test/proto_alpha_isolate
into proto_alpha/lib_protocol/test
2018-02-05 23:34:05 +01:00
Grégoire Henry
14d902a3fc
Test: split out test/{p2p,utils}
in various package dir
2018-02-05 23:34:05 +01:00
Grégoire Henry
6205ca9b31
Test: move data_encoding
tests
2018-02-05 23:34:04 +01:00
bruno
ffe41a003c
Michelson: add comments + registration for "Transfer in DIP"
2018-02-05 15:57:15 +01:00
bruno
ff7a8abb27
Michelson: mv registration of type-checking errors in a specific file
2018-02-05 15:49:30 +01:00
bruno
21c4cc6e69
Michelson: add registration for Overflow + some comments
2018-02-05 15:06:00 +01:00
bruno
75f29f4a05
Michelson: mv typechecking error definitions to a separate file
2018-02-05 14:58:19 +01:00
Grégoire Henry
d8151c0d00
Proto/alpha: use two operations list (endorsement / others)
2018-02-02 11:56:57 +01:00
Grégoire Henry
a1122f2083
Baking: handle validation passes
2018-02-02 11:56:57 +01:00
Grégoire Henry
09a7e98f9d
Shell: enforce the allowed passes
of an operation
2018-02-02 11:56:57 +01:00
Grégoire Henry
618a43b485
Proto: export acceptable_passes
2018-02-02 11:56:54 +01:00
Grégoire Henry
ae3ff0503b
Proto: the number of validation is now a protocol constant
2018-02-02 10:27:58 +01:00
Benjamin Canou
42023753a2
Client: add signer modules documentation
2018-02-01 23:16:13 +01:00
Vincent Bernardoff
4ffb00ffde
Client: segregate signing
2018-02-01 23:16:13 +01:00
Vincent Bernardoff
95ccd34864
Client: remove useless argument
2018-02-01 22:11:46 +01:00
Gabriel Alfour
aeb910b9f9
Utils: add a few primitives
2018-02-01 16:57:07 +01:00
Benjamin Canou
efef124261
Fix typo in tezos-protocol-compiler.opam
2018-01-31 23:27:53 +01:00
Benjamin Canou
0863a2a9e4
Docs: add online help pages for the client
2018-01-31 14:51:56 +00:00
Benjamin Canou
6063f67992
Client: restore automatic verbosity in man
2018-01-31 14:51:55 +00:00
Benjamin Canou
329e13cefa
Client: add quick and dirty HTML output for man
to produce online help pages
2018-01-31 14:51:54 +00:00
Benjamin Canou
f86438c56a
Client: better verbosity levels in help pages
2018-01-31 14:51:54 +00:00
Benjamin Canou
2178a6adee
Client: cleanup / homogeneize command docs
2018-01-31 14:51:54 +00:00
Benjamin Canou
02bc0533fa
Client: add placeholders for arguments in help screens
2018-01-31 14:51:53 +00:00
Benjamin Canou
3955b6a61d
Client: add colors to client help screens
2018-01-31 14:51:52 +00:00
Grégoire Henry
de80f0150b
Compiler: allow bytecode compilation
2018-01-31 14:45:32 +00:00
Milo Davis
d1b4230962
Michelson: export and printing for Duplicate_field error
2018-01-31 14:06:35 +01:00
Milo Davis
695b23bd92
Michelson: export and printing for Type_too_large error
2018-01-31 11:25:50 +00:00
Grégoire Henry
8dcc5cefb5
jbuild: fix installation of tezos-protocol-alpha
2018-01-30 14:55:04 +01:00
Grégoire Henry
4b142184fa
opam: fix tezos-client-base
dependencies
2018-01-30 12:23:38 +01:00
Grégoire Henry
657e214e83
Refactor: rename tezos-client-environment
into tezos-protocol-environment-client
2018-01-30 11:54:57 +01:00
Grégoire Henry
ca29c92442
Refactor: move tezos-micheline
below tezos-base
2018-01-30 11:47:57 +01:00
Grégoire Henry
f2de3ffa3e
Proto_sigs: split the deprecated module Hash
2018-01-30 11:25:52 +01:00
Grégoire Henry
04465e3ac6
Proto_sigs: split the deprecated module Tezos_data
2018-01-30 11:25:46 +01:00
Grégoire Henry
70a4fbac3a
Refactor: rename package tezos-embedded-client-*
-> tezos-client-*
2018-01-30 10:13:40 +01:00
Grégoire Henry
fda8b4ee5f
Refactor: rename prota_alpha/lib_proto
2018-01-30 10:13:40 +01:00
Grégoire Henry
c75756bd6d
Refactor: introduce lib_client_environment
...
This allow to use the functorised version of the protocol in the
client.
2018-01-30 10:13:40 +01:00
Grégoire Henry
acc0c5c512
Compiler: allow not to generate Registerer
2018-01-30 10:13:40 +01:00
Grégoire Henry
0c2acd2d48
RPC: simplify Worker.EVENT
2018-01-30 10:13:40 +01:00
Grégoire Henry
e664179927
Refactor: CI: check opam packages
2018-01-30 10:13:40 +01:00
Grégoire Henry
1d5b4c1e3b
Refactor: merge lib_p2p_services
into lib_shell_services
...
Also split the module `Shell_services` in smaller modules.
2018-01-30 10:13:40 +01:00
Grégoire Henry
7277c9889b
Refactor: Move/split P2p_types
into lib_base
2018-01-30 10:13:40 +01:00
Grégoire Henry
be9f068478
Refactor: More PRC types into Tezos_base
2018-01-30 10:13:40 +01:00
Grégoire Henry
c4420ac40e
Refactor: Move Blake2B.Make
instanciation into Tezos_base
2018-01-30 10:13:40 +01:00
Grégoire Henry
b0466aceed
Refactor: Fix lib_protocol_updater
dependencies
2018-01-30 10:13:40 +01:00
Grégoire Henry
96e493006c
Refactor: Rename lib_node_updater
-> lib_protocol_updater
2018-01-30 10:13:40 +01:00
Grégoire Henry
96fe5239c9
Refactor: Rename lib_node_shell
-> lib_shell
2018-01-30 10:13:40 +01:00
Grégoire Henry
58388bd304
Refactor: Merge lib_node_shell_base/lib_node_services}
-> lib_shell_services
2018-01-30 10:13:40 +01:00
Grégoire Henry
552237673e
Refactor: Move Mempool
and Block_locator
into lib_base
2018-01-30 10:13:26 +01:00
Grégoire Henry
4acdfc67fb
Refactor: Remame lib_node_p2p/p2p_base
into lib_p2p/p2p_services
2018-01-30 10:13:26 +01:00
Grégoire Henry
e0a2570988
Refactor: Rename Node_rpc_services.Network
into P2p_services
2018-01-30 10:12:55 +01:00
Grégoire Henry
1f3c68cbd8
Refactor: Regroup protocols
2018-01-30 10:12:55 +01:00
Grégoire Henry
a3d0ee644a
Refactor: Rename lib_rpc_base
-> lib_rpc
2018-01-30 10:12:55 +01:00
Grégoire Henry
66fb1811ae
Opam: add missing dep in tezos-node-shell-base
2018-01-28 20:02:51 +01:00
Milo Davis
f00c7c0667
Data encoding: fail on string_enum that should be a constant
2018-01-27 15:30:09 +01:00
Milo Davis
c77cbcb30b
Data_encoding: use constant from ocplib-json-typed
2018-01-27 15:30:09 +01:00
Grégoire Henry
ea500256f0
P2p: tentative fix for #98
2018-01-27 15:30:09 +01:00
Grégoire Henry
e7483ff392
Opam: new release of ocp-ocamlres
2018-01-27 14:55:57 +01:00
Grégoire Henry
0c51f7a7ca
Proto: Fix warning
2018-01-27 13:37:03 +01:00
Grégoire Henry
a30f20c4e3
Base: remove Lwt_utils.canceler
...
It has been replaced by `Lwt_canceler`
2018-01-27 13:35:47 +01:00
Benjamin Canou
9060122b26
Node: only validate branches that can increase the current head's fitness
...
And also make the check when processing new head increments. That way
we prevent spamming with valid head successors that bear the same
fitness.
2018-01-27 13:34:02 +01:00
Benjamin Canou
41ad73a3ed
Utils: remove Lwt_utils.queue
2018-01-27 13:34:02 +01:00
Benjamin Canou
6f34b85504
RPC: net validator worker introspection
2018-01-27 13:34:02 +01:00
Benjamin Canou
0779221d04
Node: switch the net validator to Tezos_worker
2018-01-27 13:34:02 +01:00
Benjamin Canou
e5405c2f72
RPC: peer validator worker introspection
2018-01-27 13:34:02 +01:00
Benjamin Canou
ecbf1805e1
Node: switch the peer validator to Tezos_worker
2018-01-27 13:34:02 +01:00
Benjamin Canou
50b1957714
RPC: block validator worker introspection
2018-01-27 13:34:02 +01:00
Grégoire Henry
6d3f5af163
Node: switch the block validator to Tezos_worker
2018-01-27 13:34:02 +01:00
Benjamin Canou
4e04e233a0
RPC: prevalidator worker introspection
2018-01-27 13:34:02 +01:00
Benjamin Canou
98ec3393b6
Node: switch the prevalidator to Tezos_worker
2018-01-27 13:34:02 +01:00
Benjamin Canou
d50402c27b
Introduce Tezos_shell.Worker
2018-01-27 13:34:02 +01:00
Benjamin Canou
4d197b4ba3
Node: document an internal prevalidator error
2018-01-27 12:43:37 +01:00
Benjamin Canou
cd94b998c0
Node: throttle advertisement of newly discovered operations a little bit
2018-01-27 12:43:37 +01:00
Benjamin Canou
755d63c0ef
Node: limit the refused operations cache in the prevalidator
2018-01-27 12:43:37 +01:00
Benjamin Canou
0652808259
Shell: refactoring of the prevalidator
2018-01-27 12:43:37 +01:00
Benjamin Canou
566a92197b
Get rid of forced operation injection
2018-01-27 12:43:37 +01:00
Benjamin Canou
dee86fb462
Utils: add Lwt_pipe.pop_with_timeout
2018-01-27 12:43:37 +01:00
Benjamin Canou
9b09e70f5e
Utils: add Ring.clear
2018-01-27 11:33:30 +01:00
Benjamin Canou
bb90cc9dec
Utils: add Lwt_pipe.peek_all
2018-01-27 11:33:30 +01:00
Benjamin Canou
2441ad6026
Utils: add Ring.add_and_return_erased
2018-01-27 11:33:30 +01:00
Benjamin Canou
f145c4b196
Utils: add Lwt_pipe.pop_all_now
2018-01-27 11:33:30 +01:00
Benjamin Canou
cfd5151279
Alpha: fix colliding JSON schema definitions
2018-01-27 11:33:30 +01:00
Grégoire Henry
6e629584ff
Jbuilder: fix rule runtest_indent
2018-01-27 11:32:57 +01:00
Milo Davis
545cd0c869
Client: commands to update config file
2018-01-25 23:22:59 +01:00
Milo Davis
937869da43
Client: split admin/debug commands into separate executable
2018-01-25 15:57:20 +00:00
Milo Davis
c98426fb02
Debug: unmark invalid block
2018-01-25 15:57:20 +00:00
Pietro
df746e606d
Indent: reindent with ocp-indent and fix the script
2018-01-25 15:01:12 +00:00
Grégoire Henry
bd8eaddc8c
Resto: properly handle text/ocaml.exception
.
2018-01-25 12:33:13 +01:00
Milo Davis
00f7a0ea87
RPC: improves error handling for exceptions on generic RPCs
2018-01-25 12:33:13 +01:00
Pietro
4109adfd77
Node: properly report RPC port already in use, fixes #69
2018-01-24 18:28:19 +01:00
Bruno B
ce35bc5346
Michelson: light refactoring of equality witnesses
2018-01-23 13:35:48 +00:00
Benjamin Canou
adf860ea40
Docs: new documentation structure using Sphinx/RST
...
- Provides a toplevel documentation structure using Sphinx
- Adds a `doc-html` target to the main Makefile
- Converts existing documentation to RST format
- Add some new documentation / tutorials
- Links the developer manual and OCaml documentation
- Synchronized documentation on Gitlab pages
This patch is co-authored by:
- Benjamin Canou <benjamin@canou.fr>
- Bruno Bernardo <bernardobruno@gmail.com>
- Pietro Abate <pietro.abate@inria.fr>
2018-01-23 08:02:17 +01:00
Benjamin Canou
64c65558d8
Node: add missing error pretty printers
2018-01-22 22:25:30 +01:00
Pietro
2f85dc526d
Node: fails gracefully if data dir cannot be created, fixes #83
2018-01-22 22:25:30 +01:00
Grégoire Henry
0abdb2a893
Minor renaming.
2018-01-22 09:20:53 +01:00
Grégoire Henry
bfb2d223c0
opam: fix sandboxed scripts
2018-01-22 09:20:46 +01:00
Milo Davis
fbeff067c3
lib_RPC: bonary -> binary
2018-01-21 16:27:16 +00:00
Milo Davis
6e56b7b5e7
Client: Typo in michelson error reporting
2018-01-19 13:59:09 +01:00
Milo Davis
4433395c6e
Proto/Env: export the Option
module
2018-01-19 13:59:04 +01:00
Milo Davis
b8063b40fe
Storage: add omitted case to storage_error_encoding
2018-01-19 13:59:01 +01:00
Grégoire Henry
525b09259f
Fix d9405292a4
2018-01-18 16:08:20 +01:00
Vincent Bernardoff
e6f773f697
Base58: encode secret keys as seed
2018-01-18 10:45:47 +01:00
Pietro
d9405292a4
Move all packages to src/
...
Modify Makefile accordingly
2018-01-16 23:11:39 +01:00
Grégoire Henry
82857dcb94
Jbuilder: split lib_node_net
...
- `lib_node_p2p_base`: Base datatypes for the P2P layers
- `lib_node_services`: RPC service definitions (depends on `node_p2p_base`)
- `lib_node_http`: RPC http server
- `lib_node_p2p`: the P2P workers
2017-12-04 19:15:26 +01:00
Grégoire Henry
ab5b597eb1
Jbuilder: Move client & node libraries in their own OPAM packages
2017-12-04 19:15:26 +01:00
Grégoire Henry
9cb498eee6
Jbuilder: Move alpha/genesis/demo
in their own two OPAM packages
...
One package for the embedded version. One for the functorized one.
2017-12-04 16:05:54 +01:00
Grégoire Henry
78d838059f
Jbuilder: move protocol-compiler
in its own OPAM package
2017-12-04 16:05:54 +01:00
Grégoire Henry
e24b1dda75
Jbuilder: move protocol_environment_sigs
in its own OPAM package
2017-12-04 16:05:54 +01:00
Grégoire Henry
92d166175f
Jbuilder: move Micheline in its own OPAM package
2017-12-04 16:05:54 +01:00
Grégoire Henry
b6449cae87
Jbuilder: split src/utils/
in multiple OPAM packages
...
* `lib_stdlib`: basic extended OCaml stdlib and generic data structures
* `lib_data_encoding`: almost independant 'Data_encoding'
* `lib_error_monad`: almost independant 'Error_monad'
* `lib_stdlib_lwt`: extended Lwt library
* `lib_crypto`: all the crypto stuff (hashing, signing, cryptobox).
* `lib_base`:
- basic type definitions (Block_header, Operation, ...)
- a module `TzPervasives` to bind them all and to be the
single module opened everywhere.
In the process, I splitted `Tezos_data` and `Hash` in multiple
submodules, thus removing a lot of `-open`.
The following two modules may not have found their place yet:
- Base58 (currently in `lib_crypto`)
- Cli_entries (currently in `lib_stdlib_lwt`)
2017-12-04 16:05:54 +01:00
Grégoire Henry
5b50279851
Import new version of vendors/ocplib-resto
...
The new version of ocplib-resto :
- uses jbuilder ;
- is functorized over `Json_encoding` rather than `Json_repr` ;
- handles query parameters ;
- handles HTTP methods (GET, POST, DELETE, PUT, PATCH) ;
- replaces `custom_service` by a more generic trailer argument ;
- replaces generic answer `(code, body)` by a more ad-hoc sum type
(allowing distinct encoding for success and error) ;
- includes a minimal HTTP-server based on Cohttp
(includings CORS and media type negotiation).
- adds a function `Directory.transparent_lookup` to lookup/call
a service handler without serializing the various parameters
(path, query, request body).
As a first consequences in Tezos, this patch allows binary
communication between the client and the node.
This patch tries to be minimal inside the tezos source code and
therefore it introduces a minimal compatibility layer in
`RPC.ml`. This code should be removed as soon as possible.
2017-12-04 15:51:59 +01:00
Pierre Chambart
6c679d2e2c
Michelson: compute depth for type size check
...
This allows to ensure that the depth to look at is updated when
michelson is.
2017-12-02 23:02:50 +00:00
Pierre Chambart
fedeb6c8fd
Michelson: enforce a maximum stack item type size
2017-12-02 23:02:50 +00:00
Milo Davis
b4495568cb
Fixes OSX select exception
...
This patch is primarily authored by @chambart
2017-11-30 14:50:36 +01:00
Benjamin Canou
97d983285e
Node: allow identity.json to stay when clearing the data-dir
2017-11-28 17:28:56 +01:00
Benjamin Canou
e91f5bc588
Node: Cleanup a few error messages.
2017-11-28 15:43:58 +01:00
Benjamin Canou
606c6e55e4
Node: update shutdown order to prevent some leveldb read errors.
2017-11-28 15:43:47 +01:00
Pietro Abate
6e68fb425a
Fix #66 and #59
2017-11-27 17:26:36 +01:00
Grégoire Henry
8f30934220
Validator: always log invalid block
2017-11-27 10:40:43 +00:00
Grégoire Henry
471006b2dd
Validator: properly handle termination of Block_validator.
2017-11-27 10:40:43 +00:00
Grégoire Henry
10d1b08c85
Validator: do not try to validate twice an invalid block
2017-11-27 10:40:42 +00:00
Milo Davis
7bed296525
Client: stuck node debug command
2017-11-27 10:40:42 +00:00
Benjamin Canou
61f7a95102
RPCs: fix encoding of list_invalid RPC
2017-11-27 10:40:41 +00:00
Milo Davis
9f45ae9126
Node: listing of invalid blocks
2017-11-27 10:40:41 +00:00
Milo Davis
42e29c8f4a
Node: allow invalid block errors to be stored
2017-11-27 10:40:40 +00:00
Milo Davis
059e4cac79
Fix spelling mistake
2017-11-27 10:40:39 +00:00
Grégoire Henry
c6b4a83e2b
Reset the chain.
2017-11-26 22:49:20 +00:00
Grégoire Henry
667d4fd575
Alphanet: never more than 5 faucet operations per block
2017-11-26 22:49:20 +00:00
Grégoire Henry
a648c34f0a
Alphanet: let the number of rolls never reach 100000.
...
This is a hack! This is a possible mitigation for the 'faucet war'.
2017-11-26 22:49:19 +00:00
Grégoire Henry
7bd5ef32d9
Alpha: better spreading of roll storage
...
This greatly reduces the time spent reading roll, while it only
slightly increase the time spent while 'freezing' rolls at the end of
a cycle.
2017-11-26 22:49:18 +00:00