Commit Graph

307 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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