Commit Graph

61 Commits

Author SHA1 Message Date
bruno
3ae114f1c9 Protocol environment / Pervasives: update to 4.06.1 2018-06-22 22:01:48 +00:00
bruno
2af0cb6b75 Protocol environment / Set: update to 4.06.1 2018-06-22 22:01:48 +00:00
bruno
12b6af10ee Protocol environment / String: update to 4.06.1 2018-06-22 22:01:48 +00:00
bruno
dfd561d3ef Protocol environment: rm Array 2018-06-22 22:01:48 +00:00
Benjamin Canou
5fe6bd9a54 Proto: add raw_hashes.mli to introduces new hashes in Michelson 2018-06-22 14:18:08 +00:00
Benjamin Canou
0279f86e77 Micheline: 0x.. constants are now of a new Bytes case 2018-06-22 14:18:08 +00: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
Marco Stronati
0d136b0bd7 Environment: add Data_encoding.check_size 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
Grégoire Henry
4c171c72a2 Proto: prepare protocol interface for multipass validation 2018-06-13 16:34:50 +02:00
Grégoire Henry
970305a455 Data_encoding: implements bounded lists and arrays 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
9a43902f03 Data_encoding: allow to add padding 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
420986b45b Alpha: simplify the operation datatype 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
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
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
Benjamin Canou
1f6302bf36 Proto: fill-in placeholder docstrings 2018-06-01 17:15:14 +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
Grégoire Henry
b2e6001007 Data_encoding: merge def and describe 2018-05-30 14:38:05 +02:00
Benjamin Canou
1b91d0929a Michelson: read some constants in base58 but store them in binary 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
27486e500a Micheline: use zarith instead of strings for integers 2018-05-28 17:09:03 +02:00
Grégoire Henry
5e17430815 Shell: allow to prefix signed data by a watermark 2018-05-25 16:47:48 +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
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
Vincent Bernardoff
b48ba96106 Stdlib: use bigstring to implement MBytes 2018-05-12 23:11:35 +02:00
Benjamin Canou
deffa28aa4 Data_encoding: add more compact binary serializer for Z 2018-05-09 16:36:52 +00:00
Benjamin Canou
636fecb6ff Utils: add Compare.Z 2018-05-09 16:36:51 +00:00
Milo Davis
f5cc599ae6 Data_encoding: add names to union cases 2018-04-26 22:52:21 +02:00
Vincent Bernardoff
54bbc71c1b Crypto: sign 32 bytes message hash 2018-04-26 21:24:21 +02:00
Grégoire Henry
a3a33c4814 Shell: export Signature.Public_key_hash.zero 2018-04-22 13:46:31 +02:00
Arthur B
eb1dfb7f20 Shell/Alpha: allow usage of secp256k1 for signature 2018-04-16 18:37:52 +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
Grégoire Henry
bf32659a6b Proto/Env: Replace configure_sandbox by proper init 2018-04-06 11:40:34 +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
Benjamin Canou
19eb1c2520 Error_monad: change error wrapping to flatten the JSON format 2018-03-26 01:04:07 +02: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
71e9780e5b Proto/env: export Ed25519.Signature.zero 2018-03-15 00:25:46 +01:00