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