Commit Graph

646 Commits

Author SHA1 Message Date
Pierre Chambart
f178e3625c Alpha: Add an error that tells which delegate didn't pay its fees 2018-06-14 23:20:16 +00:00
Grégoire Henry
f615459200 Shell/RPC: /chains/<id>/mempool new returned parsed operations 2018-06-14 22:57:04 +00:00
Grégoire Henry
c2517a0432 Shell: minor renaming 2018-06-14 22:57:04 +00:00
Benjamin Canou
a8b2ab325e Alpha: do not catch runtime exceptions 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
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
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
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
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
Benjamin Canou
6d7fe70c44 Fix OPAM dependencies 2018-06-13 00:53:51 +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
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
8eac1b03ac Alpha: adapt test to new operation type 2018-06-07 12:47:20 +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
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
f53cb40915 Michelson: do not padd nat-encoded addresses that are now fixed sized 2018-06-06 11:28:07 +02:00
Benjamin Canou
ee735c33cf Alpha: fix typos and fill placeholders in services doc 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
c82b44e8f2 Doc: less unnamed fields in binary description 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
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
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
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
33ded01ae7 Shell/RPC: rename /context/helpers into /helpers 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
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
bbf5c7408b Shell/RPC: split out Monitor_services 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
Grégoire Henry
6b12ab9473 Opam: add missing test dependencies for tezos-protocol-alpha 2018-06-05 14:17:24 +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
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
f647404739 Proto_alpha/levels: added documentation 2018-06-04 08:41:46 +08: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
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
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
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
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
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
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
272066ab04 Client: Use MBytes.t for password
This prepares a future usage of `mlock`.
2018-05-26 15:06:39 +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
bruno
c13b7dd39a Alpha: typos 2018-05-25 10:36:08 +02:00
Grégoire Henry
5023e1a261 Data_encoding: rename Binary.to_bytes into to_bytes_exn 2018-05-24 15:43:15 +00: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
Vincent Bernardoff
b48ba96106 Stdlib: use bigstring to implement MBytes 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
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
Milo Davis
ebfdeea8d5 Data_encoding: add descriptions to encodings 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
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
7adc0c90e7 Compiler: preserve Protocol_hash 2018-04-22 13:41:26 +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
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
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
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
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
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
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
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
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
Grégoire Henry
9035bb94ab Baker: do not generate random when not required 2018-03-22 13:41:57 +01:00
Grégoire Henry
c2f74f9f9b Alphanet: use vanity key for the bootstrap accounts 2018-03-20 07:07:56 +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
edb40c7923 Alpha/test: allow to deactivate seed renewal 2018-03-19 16:06:27 +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
bruno
226a9a1778 Proto_alpha: fix typo "unpexpected" 2018-03-15 14:07:06 +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
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
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
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
Benjamin Canou
7de4ed5622 Alpha: fix the baker and endorser 2018-03-01 11:34:37 +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