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