Commit Graph

389 Commits

Author SHA1 Message Date
Alain Mebsout
bc88ede900 Michelson: FAIL as a macro 2018-06-22 14:18:08 +00:00
Alain Mebsout
871a86e32d Michelson: instruction FAILWITH which takes one element on the stack 2018-06-22 14:18:08 +00:00
Benjamin Canou
a1a89753e5 Alpha: fix encoding for combined operation and receipt 2018-06-20 15:24:03 +02:00
Vincent Bernardoff
b022a605b4 Client: identity -> address 2018-06-19 16:16:14 +02:00
Lý Kim Quyên
9d655696da Alpha: add missing balance updates in operation receipts 2018-06-19 06:12:44 +02:00
Grégoire Henry
ec6db686d9 Alpha: remove block from endorsements 2018-06-19 03:06:21 +02:00
Galfour
392f6cec46 Tests: fix double_endorsement tests 2018-06-19 03:06:21 +02:00
Marco Stronati
b5c275c5fa Alpha: reintroduce duplicate endorsement error 2018-06-19 03:06:21 +02:00
Grégoire Henry
1ab9a7a72c Alpha: remove slots from endorsements 2018-06-19 03:06:21 +02:00
Vincent Botbol
efee9df1c7 Baking: fix baking daemon error when run on genesis 2018-06-19 03:06:21 +02:00
Marco Stronati
c46e731031 Alpha: fix bug where seed would stay the same if no nonces were revealed 2018-06-19 02:57:35 +02:00
Marco Stronati
46d053fdb3 Alpha: add Seed_repr.deterministic_seed 2018-06-19 02:57:35 +02:00
Marco Stronati
0ad4f8f6e6 Alpha: Seed_repr.initial_seeds n generates n seeds rather than n+1 2018-06-19 02:57:35 +02:00
Grégoire Henry
9f1c703991 Alpha: fix snapshot removal 2018-06-18 23:53:48 +00:00
Marco Stronati
7473e48d98 Tests: add more tests for seed_nonce_revelation operation 2018-06-19 01:26:20 +02:00
Marco Stronati
b2a09d3edc Tests: add Op.seed_nonce_revelation 2018-06-19 01:26:20 +02:00
Marco Stronati
dde6addbfb Tests: add Context.{get_seed,get_seed_nonce_hash} 2018-06-19 01:24:54 +02:00
Marco Stronati
eeb7c6ff5e Alpha: add rpc to get seed of a cycle of a block 2018-06-19 01:13:58 +02:00
Marco Stronati
125e5ce95f Alpha: fixed small regression on nonce revelations 2018-06-19 00:56:37 +02:00
Benjamin Canou
94f9230d20 Client, RPCs: do not sign transfer simulations 2018-06-17 23:43:27 +02:00
Benjamin Canou
820723f8d0 Fix indentation 2018-06-16 14:54:28 +02:00
Benjamin Canou
457fee326e Alpha: allow serialization of failed manager operations 2018-06-15 17:26:20 +02:00
Pierre Boutillier
6b2d730a4e More unused variables in roll tests 2018-06-15 09:30:58 +00:00
Pierre Chambart
df214489b7 Alpha: remove some unused variable in test 2018-06-15 09:30:58 +00:00
Pierre Chambart
b5a6f2f03c Alpha: some more roll tests after the fix 2018-06-15 09:30:58 +00:00
Pierre Chambart
c64698be09 Alpha: fix the doulble roll bug 2018-06-15 09:30:58 +00:00
Pierre Chambart
89f73cceb9 Alpha: test roll numbers 2018-06-15 09:30:58 +00:00
Pierre Chambart
9e6d59d72b Alpha: Failing test for deactivation 2018-06-15 09:30:58 +00:00
Pierre Chambart
ca2c1971ca Alpha: Test this error 2018-06-14 23:20:16 +00:00
Pierre Chambart
f178e3625c Alpha: Add an error that tells which delegate didn't pay its fees 2018-06-14 23:20:16 +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
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
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
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
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
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
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