Zhenya Roubinchtein
662cc6a8ee
Michelson: small documentation fix-up.
2017-08-22 20:40:26 +02:00
Alex Coventry
04ce0c1f5d
Utils: various doc improvements
2017-08-22 20:39:59 +02:00
Alex Coventry
59b5b2df49
Utils: fix list_rev
complexity.
...
Using fold_left here iterates over the entire list, whereas you only
need to iterate over the first `n` elements.
2017-08-22 20:22:27 +02:00
Grégoire Henry
4c7d4a8348
P2p: comment out dead code
2017-08-22 14:56:15 +02:00
Grégoire Henry
90f9ab4200
Makefile: fix node.top
2017-08-19 12:45:09 +02:00
Grégoire Henry
777ff19dcd
Michelson: remove a spurious rule
...
This should have been removed when floats were removed from the
language.
2017-08-19 12:13:13 +02:00
Bayle Shanks
1436286fd6
doc typo set::MEM (again)
...
This pull request is identical to recently closed #19 , but applied to the current head. I think #19 may have been closed erroneously. If MEM takes as an input a set of elements of type 'elt, then if it also takes another input which is an element to test for membership, clearly that other input must be of type 'elt.
If #19 was not closed erroneously, then please explain, and i will stop reopening this issue.
2017-08-19 10:55:09 +02:00
Milo Davis
8d852993ff
Michelson: Add LAMBDA to the language spec
2017-08-18 19:09:46 +00:00
Milo Davis
804c3a4886
Michelson: Enforces ordering on data
2017-08-18 18:20:13 +02:00
Milo Davis
fe871e9ecd
Michelson: Fixes reversed list bug
2017-08-18 18:14:17 +02:00
Benjamin Canou
7c586aaf25
Reset the chain (on-disk storage updated)
2017-08-17 14:54:34 +02:00
Grégoire Henry
a01f786de4
Update to irmin.1.3
2017-08-16 11:12:51 +02:00
Grégoire Henry
571e87dacb
Update to mtime.1.0
2017-08-16 10:53:43 +02:00
Grégoire Henry
b8ccfeb0cf
Makefile: fix utop
rules
2017-08-16 10:52:36 +02:00
Benjamin Canou
9ae9f3f4b7
Node: fix misplaced logging message
2017-08-11 15:24:38 +02:00
Milo Davis
299ebe3865
Testing: Tests multiple nodes
2017-08-11 13:01:46 +00:00
Milo Davis
4c31d084e1
Improves error messages and defaults for transfer -arg
2017-08-10 09:03:28 +00:00
Grégoire Henry
30b2cd3e0e
Update protocol version
2017-08-08 16:49:56 +02:00
OCamlPro-Iguernlala
fbacfff9e6
P2p: use incremental encoding/decoding
2017-08-08 11:22:05 +02:00
Grégoire Henry
32fa712e13
Prevalidation: minor bugfix.
2017-08-07 08:29:52 +02:00
Benjamin Canou
31a2728909
Michelson: fix typo in runtime error message
2017-07-28 15:05:23 +02:00
Milo Davis
98c96be749
Michelson: updates spec to use int
and nat
2017-07-27 18:24:08 +02:00
Fabrice Le Fessant
ed04fc3d01
Michelson: add the .mli of the typechecker
2017-07-26 15:19:05 +02:00
Fabrice Le Fessant
4dd1ef9988
Michelson: replace all numbers with only int
and nat
2017-07-26 15:19:05 +02:00
Milo Davis
efdf8c74eb
Michelson: better propagation and printing of errors to the client
2017-07-26 14:08:49 +02:00
Justin Carter
df2d6713b5
Alpha: fix spelling of substraction
2017-07-25 17:46:36 +02:00
Justin Carter
8ba1130ee3
Client: derive the public key from the secret key when adding to wallet
...
That way we do not need to require the public key be added before hand
making the workflow nicer.
2017-07-25 17:46:25 +02:00
Wyatt Sullivan
cca69e409d
Node: fix typo in config variable name
2017-07-25 17:46:05 +02:00
Wyatt Sullivan
9b2d0882b1
Node: fix typos in help pages
2017-07-25 17:46:05 +02:00
Milo Davis
7bfaf2fe9b
Michelson: removes amount from calling convention
2017-07-25 11:18:43 +02:00
Milo Davis
110e0206e7
Michelson: allow CREATE_CONTRACT to set the spendable flag
2017-07-24 15:57:10 +02:00
Milo Davis
98424be5be
Michelson: TRANSFER_TOKENS no longer takes a burn
2017-07-24 15:57:10 +02:00
Milo Davis
74f23b238d
Alpha: fix error message for origination amount too low.
2017-07-24 15:57:10 +02:00
Benjamin Canou
26a5338b86
Alpha: adds a command to get the storage of a contract
2017-07-24 15:57:03 +02:00
Milo Davis
a8e984c1af
Alpha: adds an RPC to get the storage of a contract
2017-07-24 15:04:46 +02:00
Milo Davis
733be3fa17
Michelson: adds missing instructions from language BNF
2017-07-24 14:42:52 +02:00
Milo Davis
9e1ec0c159
Doc: fixes incorrect usage example
2017-07-24 14:42:16 +02:00
Benjamin Canou
4a9fee3f11
Michelson: also display types inside lambdas.
2017-07-22 23:00:49 +02:00
Benjamin Canou
6e215b7d3b
Michelson: Quick and Dirty Emacs mode.
2017-07-22 22:54:36 +02:00
Benjamin Canou
d083add61f
Michelson: pretty print typechecking errors when using run program
2017-07-22 00:14:40 +02:00
Milo Davis
77433a5f15
Michelson: show type_map for programs with type errors
2017-07-22 00:14:40 +02:00
Benjamin Canou
4bd9a864cf
Shell: document internal distributed_db error,
2017-07-21 16:16:39 +02:00
Milo Davis
23c814c783
Michelson: Adds DEFAULT_ACCOUNT instruction
2017-07-21 10:45:57 +02:00
Milo Davis
b320d43259
Michelson: removes NOP instruction from surface syntax
2017-07-21 10:34:22 +02:00
Milo Davis
b52d4a78d9
Michelson: adds -amount flag to run program
2017-07-19 18:13:03 +02:00
Benjamin Canou
800f4b555d
Alpha: fix contract deletion.
2017-07-19 15:39:59 +02:00
Grégoire Henry
5d33b2ce22
Revert "Alpha: add a faucet counter to prevent replay."
...
This reverts commit 512fde82e4
.
2017-06-12 11:08:41 +02:00
Grégoire Henry
2bc63854a8
Shell: Liveness of operations
...
Operations now include a block hash in their header. Such an operation
could only be included in a successor of this block.
Furthermore, when validating a block, the economic protocol now
returns---together with the context---an integer `max_operations_ttl`.
Then, when validating a successor, the shell will fail if it contains
an operation whose header's block hash is not one the
`max_operations_ttl` predecessors of the block.
As a bonus, the shell is now able to detect and forbid replayed
operations. Then, we might decide to remove some replay
detection-mechanism that we previously implemented in the economic
protocol.
2017-06-12 11:07:37 +02:00
Grégoire Henry
329c8b185a
Shell: implements Chain.live_blocks
2017-06-12 11:07:37 +02:00
Grégoire Henry
8d5155cf32
Proto: return the maximum TTL for operations
2017-06-12 11:07:37 +02:00
Grégoire Henry
747cdb1963
Shell: export Distributed_db.*.clear
2017-06-12 11:07:37 +02:00
Grégoire Henry
90780f3374
Shell: minor renaming
...
Let's be consistent with Lwt (and ourselves).
2017-06-12 11:07:37 +02:00
Grégoire Henry
4bbc97aeb6
Shell: rework the preapply
RPC
...
It now takes a `proto_header` in parameter, and it returns a full
`shell_header`. This prepares the inclusion of the context's hash in the
`shell_header`.
2017-06-12 11:07:35 +02:00
Grégoire Henry
3b7a314669
Shell/Proto: more complete "begin_construction".
...
The `begin_construction` function now accepts an optional argument
`proto_header`. This is to be used by a new RPC that ease forging the
shell header of a block (i.e. it will compute the fitness and, in a
near future, the hash of the resulting context).
2017-06-12 11:05:49 +02:00
Grégoire Henry
89814a3d4e
Proto/Alpha: more RPCs
2017-06-12 11:05:48 +02:00
Grégoire Henry
d06fcebd1f
Proto/Alpha: minor renaming
2017-06-12 11:05:48 +02:00
Grégoire Henry
565654a242
Client: minor renaming
2017-06-12 11:05:48 +02:00
Grégoire Henry
f96ecbf667
Test: inject operation and block atomically
2017-06-12 11:05:46 +02:00
Grégoire Henry
f39eca214a
Shell: remove the on-disk index of operations
...
Let's get serious. The full index of operations is not sustainable in
the production code. We now only keep the index of operations not yet
in the chain (i.e. the mempool/prevalidation). Operations from the
chain are now only accesible through a block. For instance, see the
RPC:
/blocks/<hash>/proto/operations
2017-06-12 11:04:43 +02:00
Grégoire Henry
4995864316
Shell: regroups basic data types in Tezos_data
2017-06-12 11:04:43 +02:00
Grégoire Henry
61eb67cbca
Shell: do not keep tracks of 'invalid_successors'
2017-06-12 11:04:43 +02:00
Guillem Rieu
58587258dc
Proto/Alpha: add a RPC /context/voting_period_kind
2017-06-12 09:48:02 +02:00
OCamlPro-Iguernlala
4ded0660d6
p2p: check values of some options in P2p.create
2017-06-12 09:39:36 +02:00
Benjamin Canou
afda65fef1
Alpha: fix pre-execution typechecking.
2017-06-11 21:39:55 +02:00
Grégoire Henry
68f9851bce
Client: add option for forcing free mining.
2017-06-07 16:41:46 +02:00
Grégoire Henry
3b38720fb6
Minor fix in contract deletion
2017-06-07 16:41:41 +02:00
Grégoire Henry
81b720fee0
Add: tezos-client set delegate ...
2017-06-07 16:38:59 +02:00
Vincent Bernardoff
3b3428ddad
Shell: experimental leveldb backend
2017-06-06 23:12:33 +02:00
Benjamin Canou
e69662efa5
Alpha: consistent typechecking of contract storage initialization.
2017-06-06 19:39:46 +02:00
Vincent Bernardoff
35792ccc37
RPCs: fix node crash on SSL write error
2017-06-06 18:58:03 +02:00
Benjamin Canou
90f87bec4a
Alpha: update bootstrap parameters.
2017-06-01 01:53:54 +02:00
Benjamin Canou
512fde82e4
Alpha: add a faucet counter to prevent replay.
2017-05-31 16:36:12 +02:00
Benjamin Canou
d351bb1608
Shell: small bugfix preventing mempool cleanup.
2017-05-31 16:36:07 +02:00
Grégoire Henry
443cee2bb3
Fix compilation with lwt.3.0.0
2017-05-07 12:26:27 +02:00
arthur.breitman@gmail.com
d2a2052a2e
transfering -> transferring typo fix
2017-05-06 20:53:09 -07:00
Benjamin Canou
442f2d00a0
RPCs: fix missing CORS headers.
2017-04-19 17:27:45 +02:00
Grégoire Henry
9480d411a2
Proto: add an RPC that return all the 'parsed' operations of a block
2017-04-17 00:49:49 +02:00
Grégoire Henry
8a20ec8b0f
Shell/Proto: export more information to the RPC handler
2017-04-17 00:49:49 +02:00
Grégoire Henry
fb04fc1c17
Shell: lazy access to all the operations of a block
...
This prepares the node to the new on-disk storage.
2017-04-17 00:49:49 +02:00
Grégoire Henry
729ca9887d
Shell/Protocol: minor renaming
2017-04-17 00:49:49 +02:00
Grégoire Henry
c316dc00a8
Minor improvement in the docker image.
2017-04-14 20:54:43 +02:00
Guillem Rieu
b861d45b14
Proto/Alpha: fix proposal checking location in Amendment.record_ballot
2017-04-14 20:54:43 +02:00
Guillem Rieu
76b9cedcef
Tests: add test for switching unanimously to 'demo' protocol
2017-04-14 20:54:43 +02:00
Guillem Rieu
3c44f1dfba
Proto/Alpha: replace Vote.set
_current_proposal by init
_current_proposal
2017-04-14 20:54:43 +02:00
Alain Mebsout
8777349a19
A few fixes to make things more posix compliant in build/test scripts
2017-04-14 17:41:18 +02:00
Grégoire Henry
42a4e4ecc0
Merge branch 'stream-binary-decoding' into 'master'
...
[data_encoding] add facilities to decode a stream of Mbytes.t incrementally
See merge request !173
2017-04-14 00:08:51 +02:00
OCamlPro-Iguernlala
7d214a19f7
data_encoding: read streams of Mbytes.t, tests, remove dead code (debug functions), expose a function that checks without reading the data
2017-04-13 18:05:41 +02:00
Grégoire Henry
0f247adea6
Shell: add the protocol level
in the header of block
2017-04-12 18:29:12 +02:00
Grégoire Henry
2b0df39115
Context: simplify the storage of 'test_network'.
...
This prepares the context to the inclusion the hash of the context in
the block header. By "looking" into the resulting context of a block,
we are now know able to determine whether:
- no testnet is currently associated to the branch;
- a testnet must be forked after the block;
- a previously forked testnet is running.
2017-04-12 12:43:34 +02:00
Grégoire Henry
495e887538
RPC: minor improvements in naming consistency
2017-04-12 12:41:35 +02:00
Grégoire Henry
1b6ecbfc81
Shell/RPC: simplify block-watcher signature
2017-04-12 12:41:35 +02:00
Grégoire Henry
f805507702
Shell: move level
in th shell part of block.
2017-04-12 12:41:32 +02:00
Grégoire Henry
2480bfd216
Shell: remove dead code
2017-04-12 12:39:41 +02:00
Grégoire Henry
ab76b8fbf5
Shell/State: consistent use of pred
vs. predecessor
.
2017-04-12 12:39:41 +02:00
Grégoire Henry
6212af55f1
Proto/Alpha: use uint16
for mining priority.
2017-04-12 12:39:08 +02:00
Grégoire Henry
a731a47d3c
Proto: explicit fitness/timestamp in the signature
...
This remove the data fomr the context where they "duplicate" the
block header.
2017-04-12 12:39:04 +02:00
Grégoire Henry
3b5a3eb509
Client: minor fix in the daemon.
2017-04-10 23:30:43 +02:00
Benjamin Canou
5a21f3c159
Reengineer the PROTOCOL signature to prepare for the multi-step validator.
2017-04-10 23:30:43 +02:00
Grégoire Henry
e11e9c9ac5
Shell/P2p: Split the unit tests in smaller atom.
...
And use more `Error_monad`...
2017-04-10 23:14:31 +02:00
Grégoire Henry
413bddcd96
Shell/P2p: propagate all errors to {raw_,}write_sync
.
...
Those functions are only used in the testsuite.
2017-04-10 23:08:16 +02:00
Grégoire Henry
c187a0b792
Shell/P2p: implements raw_write_sync
.
...
For testing only: it allows to send 'gardled' messages to a peer.
2017-04-10 23:08:16 +02:00
Grégoire Henry
c2a4db2d81
Shell/P2p: propagate disconnection errors through the pool
.
2017-04-10 23:08:16 +02:00
Grégoire Henry
4523a67e7d
Shell/P2p: fix connection close on read error
2017-04-10 23:08:16 +02:00
Grégoire Henry
4537c8780e
Shell: introduce Error_monad._assert
.
2017-04-10 23:08:16 +02:00
Benjamin Canou
18e2edf6f4
Client: minor client output fixes and enhancements.
2017-04-10 18:31:37 +02:00
Grégoire Henry
dbdcca7dbb
Client/Alpha: simplify Client_proto_context
2017-04-10 18:31:37 +02:00
Grégoire Henry
a6c7f355cc
Test: simplify Makefile
2017-04-10 18:31:37 +02:00
Grégoire Henry
166801fc77
Client: more Error_monad
in Cli_entries
.
2017-04-10 18:31:37 +02:00
Grégoire Henry
cfb7e35914
Client: a bit of Error_monad
in Hash
2017-04-10 18:31:37 +02:00
Grégoire Henry
f5e2f7b481
Client: more Error_monad
in Client_aliases
2017-04-10 18:31:37 +02:00
Grégoire Henry
3226565b39
Client: more Error_monad
in Client_{node,proto}_rpcs
2017-04-10 18:31:37 +02:00
Benjamin Canou
f26dfdbe8e
RPC: fix CORS preflight.
2017-04-10 18:23:24 +02:00
Vincent Bernardoff
329b72d1aa
RPC: batch operation parsing/retrieval
2017-04-04 16:11:18 +02:00
OCamlPro-Iguernlala
cb2aa6ea2b
[Data_encoding.Binary] add a function 'to_bytes_list' to encode a given data as a list of 'small' blocks
2017-04-02 16:29:19 +02:00
Grégoire Henry
5449cbbfe6
Proto/Alpha: use record for mining slot.
2017-04-02 16:18:44 +02:00
Grégoire Henry
ef3180c561
Shell: Smaller Net_id.
2017-04-02 15:40:04 +02:00
Grégoire Henry
ffc8fa0383
RPC: rebind 'complete' for blocks and operations.
2017-04-02 15:33:32 +02:00
OCamlPro-Iguernlala
a330f3bcc5
[data_encoding] use MBytes.{get/set}_char to read/write binary data instead of int8
2017-03-31 17:46:44 +02:00
Guillem Rieu
9b3cde5df9
Client: add Client_proto_context.delegate_contract function
2017-03-31 17:26:04 +02:00
Benjamin Canou
5bfe8f90f2
Alpha: document and classify more errors.
2017-03-31 17:03:02 +02:00
Benjamin Canou
62ed003957
Alpha: remove assets.
2017-03-31 17:02:52 +02:00
Benjamin Canou
2ed66ea569
Alpha: take origination burn from source and not destination.
2017-03-31 17:02:36 +02:00
Benjamin Canou
02a67a7976
Alpha: fix typo in error registration.
2017-03-31 17:02:20 +02:00
Grégoire Henry
24b5290a74
Opam: use the libev
backend of Lwt.
2017-03-31 16:58:59 +02:00
Grégoire Henry
852ba95a3c
Client: do no pat parse the config file and Sys.argv
twice.
2017-03-31 16:49:40 +02:00
Grégoire Henry
1879c4359f
Merge remote-tracking branch 'ocp/bugfix-in-data-encoding'
2017-03-31 16:48:07 +02:00
Grégoire Henry
c2bf738079
Merge branch 'merkle'
2017-03-31 16:47:32 +02:00
Vincent Bernardoff
0a48a2e14a
alpha: expose to_int32 for some types
2017-03-31 16:46:55 +02:00
Grégoire Henry
245fa66140
Shell: Split the operations list out of the (minimal) block header.
...
The minimal header now (classically) contains the root of a Merkle tree,
wrapping a list of lists of operations. Currently, the validator only
accept a single list of operations, but the 3+pass validator will
requires at least two lists.
2017-03-31 01:19:34 +02:00
Grégoire Henry
618fb64129
Client/RPC: rename wait
into async
2017-03-31 01:19:34 +02:00
Grégoire Henry
e273cfa07f
Shell/Distributed_db: allow to precheck
data.
2017-03-31 01:19:34 +02:00
Grégoire Henry
a6307c40cf
Shell: add unit tests for Merkle tree
2017-03-31 01:19:33 +02:00
Grégoire Henry
9097809589
Shell: Merkle tree of operations
2017-03-31 01:19:33 +02:00
OCamlPro-Iguernlala
669a0249ca
add some asserts in data_encoding
2017-03-29 18:33:39 +02:00
OCamlPro-Iguernlala
dc32decd05
[bugfix in data_encoding] When writing a float (to binary format), MBytes.set_double should be used instead of MBytes.set_float (Float _ encodes doubles in the encoding, not singles)
2017-03-29 18:32:46 +02:00
OCamlPro-Iguernlala
f96fbe7d31
[bugfix in data_encoding] When reading a float (from binary format), MBytes.get_double should be used instead of MBytes.get_float (Float _ encodes doubles in the encoding, not singles)
2017-03-29 18:30:15 +02:00
Benjamin Canou
66cb6a8567
Alpha: remove unused storage key.
2017-03-28 14:37:26 +02:00
Benjamin Canou
31bc331063
Switch to OCaml version 4.04.0.
2017-03-28 14:37:26 +02:00
Benjamin Canou
ed6e91a47d
RPCs: make the result of [/blocks/X] compatible with Alpha's [/helpers/parse/block].
2017-03-28 14:37:26 +02:00
Benjamin Canou
9872ff8b36
RPCs: make the result of [/operations/X] compatible with Alpha's [/helpers/parse/operation].
...
fixes #160
2017-03-28 14:37:26 +02:00
Grégoire Henry
7e1cc171cc
Shell: fix unhandled exception in io_scheduler
.
2017-03-28 14:37:15 +02:00
Benjamin Canou
c46950b903
Shell: repack the context every 10 commits.
2017-03-16 18:49:31 +01:00
Benjamin Canou
d99d8f88a1
Utils: add [Lwt_utils.Idle_waiter].
2017-03-16 18:49:31 +01:00
Benjamin Canou
70e31054d1
Alpha: classified public key revelation error.
2017-03-16 18:49:31 +01:00
Guillem Rieu
4e82e94ef4
Client: add tags to aliases (enabled for contracts).
2017-03-16 18:49:31 +01:00
Guillem Rieu
9c2564391c
Client: lift some commands into functions.
2017-03-16 18:49:31 +01:00
Guillem Rieu
83f2e0dcd3
Client: switch to JSON config file and remove config-file dependency.
2017-03-16 18:49:31 +01:00
Guillem Rieu
04ef832ad3
Client: add optional seed argument to Client_keys.gen_keys
2017-03-16 18:49:31 +01:00
Guillem Rieu
c6c81345a8
RPC: add answer functions with HTTP code argument to RPC interface.
2017-03-16 18:49:31 +01:00
Guillem Rieu
cc44053229
RPC: add HTTP methods and Content-Type headers.
2017-03-16 18:49:31 +01:00