Commit Graph

369 Commits

Author SHA1 Message Date
keorn
2fa34fd6a8 step transition messaging 2016-11-16 12:43:21 +00:00
keorn
8ac989cbeb Merge remote-tracking branch 'parity/master' into bft 2016-11-16 10:29:54 +00:00
Arkadiy Paronyan
df1fbf50d8 Build fix (#3470) 2016-11-16 08:47:50 +01:00
Gav Wood
1daba384cc Merge pull request #3426 from ethcore/auth-round
Authority round consensus engine
2016-11-16 11:18:01 +08:00
arkpar
e795f84664 fixed test 2016-11-15 19:46:25 +01:00
keorn
1c958695c3 timeout loading 2016-11-15 15:25:30 +00:00
keorn
7d0eafd5cd fix extra_info 2016-11-15 13:33:11 +00:00
keorn
8efaf08da3 typos and warning 2016-11-15 13:02:46 +00:00
keorn
06e5416537 header fns, extra_info 2016-11-15 11:27:09 +00:00
keorn
fde6ff2186 nicer extra info 2016-11-15 11:10:32 +00:00
keorn
d19e8c5505 Merge remote-tracking branch 'parity/master' into bft 2016-11-15 10:26:37 +00:00
keorn
ff2dc5dd57 vote counting 2016-11-15 10:21:49 +00:00
keorn
54e4956345 return errors from constructor 2016-11-15 10:21:18 +00:00
keorn
dd8ed42270 update timeouts 2016-11-15 10:20:42 +00:00
keorn
55a5402bf5 simplify messages 2016-11-15 10:20:14 +00:00
keorn
071e66c9a8 fix flaky test 2016-11-14 19:03:02 +00:00
keorn
9d46401626 revert to try! 2016-11-14 18:25:42 +00:00
keorn
ae5ae765a6 Merge branch 'master' into auth-round 2016-11-14 18:04:44 +00:00
keorn
06ebd5fa1a remove most panics 2016-11-14 17:42:56 +00:00
keorn
1e3ae9fff9 typos, header functions 2016-11-14 15:56:19 +00:00
keorn
5de7d50bf8 add test for multi proposals 2016-11-14 14:15:31 +00:00
keorn
8be8b3e1cd ensure no double proposals 2016-11-14 13:35:45 +00:00
keorn
165e2bef75 modify proposer test 2016-11-14 11:34:54 +00:00
keorn
b5c891814a fix merge 2016-11-14 11:09:57 +00:00
keorn
e63b7e51fb update instant_seal schedule 2016-11-11 17:26:41 +00:00
keorn
49f2a72d5d Merge branch 'master' into auth-round 2016-11-09 10:35:00 +00:00
keorn
4e36550890 message revamp 2016-11-08 18:01:31 +00:00
keorn
ea960f1c27 Merge remote-tracking branch 'parity/master' into bft 2016-11-07 11:34:45 +00:00
Tomasz Drwięga
f31d42d0c5 Exposing engine extra info in block RPC (#3169)
* Exposing extra info in RPC

* Proper serialization and client trait API
2016-11-04 17:35:02 +01:00
keorn
0e5060db18 update schedule 2016-11-04 15:04:19 +00:00
keorn
255ec0c139 Merge branch 'master' into auth-round 2016-11-04 11:35:17 +00:00
Gav Wood
d3de475205 EIPs 155, 160, 161 (#2976)
* The front-end for each hard-fork, also EIP-160.

* Address EIP161 a/c

* Include EIP-161b

* EIP-161 part d.

* Fix test build.

* Fix one test, add another.

* Fix use of bloom & renaming.

* Initial groundwork for EIP-155

* Fix minor bug.

* Fix all tests finally.

* Rest of EIP-155.

* Add tests for EIP-155 algorithm.

Update transaction tests validation.

* Minor reformat.

* Address grumbles.

* Remove unused code.

* Fix SUICIDE gas mechanism and add consensus tests.

* Remove commented code.

* Set Frontier hardfork block number

* Fix warning.

* Transaction tests,
2016-11-03 22:22:25 +01:00
keorn
00a3619392 header methods 2016-11-02 17:42:56 +00:00
keorn
26155f51d5 proper calculation of remaining step time 2016-11-02 12:13:47 +00:00
keorn
3a6b56e99c check double signing, tracing 2016-11-01 18:12:06 +00:00
keorn
3ff26dd544 Merge branch 'master' into auth-round-no-mocknet 2016-10-26 17:50:04 +01:00
Robert Habermeier
0fedc27332 Remove ethcore::common re-export module (#2792)
* no longer export action_params

* remove transaction, header, receipt re-rexports from common

* remove env_info and builtins re-exports from common

* remove everything but util export from common

* replace common usages with util, remove module

* add a prelude module for ethcore-bigint
2016-10-24 18:35:25 +02:00
keorn
aa05823afe Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet 2016-10-24 15:32:30 +01:00
Robert Habermeier
96f4c10453 sweep most unwraps from ethcore crate, dapps crate (#2762)
* sweep most unwraps from ethcore crate

* purge unwrap from dapps server

* whitespace

[ci:none]
2016-10-20 23:41:15 +02:00
keorn
303f922ebd steps based on unix epoch 2016-10-15 13:55:10 +01:00
Tomasz Drwięga
03c1559ead Support for decryption in Signer (#2421)
* Adding some tests

* Implementing decrypt in queue

* Removing code duplication.

* Printing public key in ethstore

* Bump UI

* Normalizing dapps format for signer.

* Fixing tests compilation

* fix whitespace

[ci:skip]
2016-10-15 14:44:08 +02:00
keorn
44f42ac7d3 Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet
Conflicts:
	ethcore/src/state/mod.rs
	ethcore/src/tests/mod.rs
2016-10-12 18:39:31 +01:00
keorn
214916a414 new vote counter 2016-10-11 18:38:05 +01:00
keorn
e343153f06 mixed merge and changes... 2016-10-11 18:37:31 +01:00
keorn
096b71feb2 add Vote generation 2016-10-05 14:33:07 +01:00
keorn
cb2c9938a1 keep author as validator 2016-10-05 14:32:15 +01:00
keorn
a03db2ff29 add is_new_best method to engines 2016-10-05 14:30:44 +01:00
keorn
76d7ec84bb new block ordering engine method 2016-09-30 14:43:52 +01:00
keorn
9ca938f740 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/client/client.rs
	sync/src/api.rs
2016-09-30 12:44:52 +01:00
keorn
8a51ae02aa simplify seal 2016-09-30 12:22:46 +01:00
keorn
d59e9e816e fix tests compilation 2016-09-29 16:57:52 +01:00
keorn
d085146254 separate params out 2016-09-29 15:32:49 +01:00
keorn
6cbb859bd2 add tendermint message types and deserialization 2016-09-29 14:44:42 +01:00
Arkadiy Paronyan
ad63780b4d Canonical state cache (master) (#2311)
* State cache

* Reduced copying data between caches

Whitespace and optional symbols

* Reduced copying data between caches

Whitespace and optional symbols

* Set a limit on storage cache

* Style and docs
2016-09-27 18:02:11 +02:00
keorn
28cf91c7a5 remove mocknet stuff, clean up debug 2016-09-27 15:50:16 +01:00
keorn
0c69d4a1ce Merge remote-tracking branch 'parity/master' into auth-round
Conflicts:
	devtools/src/random_path.rs
2016-09-27 12:39:25 +02:00
keorn
fd6900bbb3 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	Cargo.lock
2016-09-27 12:37:43 +02:00
keorn
ec058cdb50 reseal on timeout 2016-09-27 12:12:18 +02:00
Tomasz Drwięga
15488b3e40 Fixing output of eth_call and Bytes deserialization (#2230)
* Fixing eth_call to builtins

* Fixing bytes deserialization

* Removing comment
2016-09-22 14:50:00 +02:00
keorn
c57e3cefe4 sync check method 2016-09-21 10:29:44 +02:00
keorn
44c4845d84 fix up step switching test 2016-09-19 18:40:25 +02:00
keorn
d84f94975f add proposer step to seal 2016-09-19 18:00:39 +02:00
keorn
ce3e8750c9 additional consensus test 2016-09-19 14:33:11 +02:00
keorn
b31e732ebe temporary is_sealer check disable 2016-09-19 10:39:57 +02:00
keorn
167cfd4caa Enable sealing if Engine provides internal sealing given author (#2084)
* enable internal sealing based on author

* add tests, keep track of engine sealing status

* method to check if default address is_sealer

* simplify constructors

* fix typo
2016-09-15 12:12:15 +02:00
keorn
c482b8ffb6 enable sealing only is authority 2016-09-14 17:28:15 +02:00
keorn
bedbe6e65e update test spec loading 2016-09-14 11:20:22 +02:00
keorn
7f05021075 Merge remote-tracking branch 'parity/should-seal' into auth-round 2016-09-14 10:59:33 +02:00
keorn
0880d4ad8f method to check if default address is_sealer 2016-09-14 10:49:44 +02:00
keorn
2bd82269e8 add tests, keep track of engine sealing status 2016-09-14 00:00:26 +02:00
keorn
fef94205e3 enable internal sealing based on author 2016-09-13 19:59:34 +02:00
keorn
341e06481e Split internal sealing from work preparation (#2071)
* separate block preparation methods

* Split internal sealing from work sealing, add cli option

* replace cli with engine method, simplify

* More docs about sealing types. Bypass work in external txs.

* split requires_reseal, add test and new test miner
2016-09-13 15:09:07 +02:00
keorn
eee6be1ce3 implement new predicate trait 2016-09-13 14:23:52 +02:00
keorn
8b9e7c0ba5 Merge remote-tracking branch 'parity/split-internal-seal' into auth-round 2016-09-13 12:57:52 +02:00
keorn
e41b6c410f split requires_reseal, add test and new test miner 2016-09-13 12:52:14 +02:00
keorn
d98f69cf58 Merge remote-tracking branch 'parity/split-internal-seal' into auth-round 2016-09-12 11:36:16 +02:00
keorn
c0201bd891 replace cli with engine method, simplify 2016-09-12 11:07:40 +02:00
keorn
fc3d01ec71 add tests, fixes, simplifications 2016-09-08 16:27:54 +02:00
keorn
747898d8e7 add new engine to spec 2016-09-08 12:28:59 +02:00
keorn
3a68fab066 new simple authority engine 2016-09-08 12:12:24 +02:00
keorn
9fe62d9750 adjust default timeouts 2016-09-08 10:31:46 +02:00
keorn
4ccbec1148 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	sync/src/api.rs
	sync/src/lib.rs
2016-09-07 16:54:39 +02:00
keorn
ba21bafd7b tests and fixes 2016-09-07 16:25:42 +02:00
keorn
45e6b4ac9d seal generation and verificatio 2016-09-06 12:26:06 +02:00
keorn
91fbaf935c Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/client/client.rs
2016-09-05 18:16:09 +02:00
keorn
0af4bf23a9 add internal timeout service, test proposer switching 2016-09-05 17:51:29 +02:00
debris
aa8b871e49 handling invalid spec jsons properly, additional tests, closes #1840 2016-09-05 17:41:34 +02:00
keorn
8851acec7c fix propose collect locking 2016-09-05 17:06:43 +02:00
Robert Habermeier
5dd56aa070 port ethcore 2016-09-01 14:29:59 +02:00
keorn
0fcbf8d99f fix after merge 2016-08-31 18:43:24 +02:00
keorn
2f3d162f57 Merge remote-tracking branch 'parity/master' into bft 2016-08-31 18:19:24 +02:00
keorn
e475d0bf4c initial timeouts 2016-08-31 18:18:02 +02:00
keorn
d7499044e3 move seal into commit 2016-08-29 14:32:37 +02:00
keorn
4025645188 accumulate seal in precommit 2016-08-29 12:09:51 +02:00
Nipunn Koorapati
4389742ca3 Make the block header struct's internals private (#2000)
* Make the block header struct's internals private

Currently, this involves a lot of explicit cloning, but we
could migrate the return types of the get_* functions to
be copies rather than references since they are mostly copy
types anyway.

I opted to eliminate the constructor in favor of using
Default::default() plus calling a bunch of setters. This
is similar to the model that a Google Protobuf client uses
and I think it looks fine.

* Drop some unnecessary cloning by comparing references

* Fix compiler errors from callsites in tests.
2016-08-29 11:35:23 +02:00
keorn
a12a764d6c add rounds check, simplify tests 2016-08-26 19:27:50 +02:00
keorn
f60d4645ed move vote with addresses, remove recover check 2016-08-26 19:27:02 +02:00
keorn
a4ba7262ad update Signature and ipc usage 2016-08-26 13:16:56 +02:00
keorn
8bd0034ced Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/error.rs
2016-08-25 19:24:29 +02:00
keorn
fcae03e55f propose message test 2016-08-25 19:22:10 +02:00
Marek Kotewicz
b0d462c6c9 Signature cleanup (#1921)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* Removing util/crypto in progress.

* fixed compiling

* signature cleanup in progress

* new module - ethcrypto used by ethstore and ethcore-network

* fixed compiling

* fixed compiling

* fixed merge
2016-08-24 18:35:21 +02:00
Robert Habermeier
190e4db266 Trie query recording and AccountDB factory for no mangling (#1944)
* optionally use no mangling for accountdb

* add the recorder module

* get_recorded for tries, no virtual dispatch on readonly tries

* add recording test
2016-08-24 16:53:36 +02:00
keorn
77f06be7fb fix error propagation 2016-08-24 15:55:47 +02:00
keorn
1cb3c164da propose step 2016-08-24 11:58:49 +02:00
keorn
99a143eb37 change broadcast interface, add basic message handling 2016-08-23 17:19:23 +02:00
keorn
535c502771 delete old test 2016-08-23 15:44:01 +02:00
keorn
3aa862c9c2 add test, start tendermint 2016-08-23 12:58:40 +02:00
keorn
3515a72fa0 proposal vote collector 2016-08-22 20:00:41 +02:00
keorn
89011dcc34 fix locking patterns, add simple test 2016-08-22 17:33:04 +02:00
keorn
2f5aeda44f reusable voting on hashes 2016-08-22 13:19:23 +02:00
keorn
74939a43d6 fix types and lifetimes 2016-08-21 15:27:39 +02:00
keorn
8da38fa98b intro simple seal bft engine 2016-08-19 17:18:30 +02:00
Gav Wood
ccdf80f4dc Fix several RPCs (#1926)
* Fix up pending receipts details.

* Add support for additional params and registry over RPC.

* Fix tests.

* Add test, additional fix.

Fixes #1932.

* Fix up tests.

* Fix test.

* Fix test.
2016-08-17 19:25:02 +02:00
Marek Kotewicz
c39761c042 ethkey and ethstore use hash structures from bigint (#1851)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* fixed compiling
2016-08-15 15:09:00 +02:00
Tomasz Drwięga
a427208f79 Purging .derefs, fixing clippy warnings. (#1890)
* Fixing clippy warnings

* Purging derefs

* Simplifying engine derefs

* Simplifying more engine derefs
2016-08-10 16:29:40 +02:00
Arkadiy Paronyan
7093651d70 More performance optimizations (#1814)
* Buffered DB

* Use identity hash for MemoryDB

* Various tweaks

* Delayed DB compression

* Reduce last_hashes cloning

* Keep state cache

* Updating tests

* Optimized to_big_int

* Fixing build with stable

* Safer code
2016-08-03 22:03:40 +02:00
Robert Habermeier
11b65ce53d Remove (almost all) panickers from trie module (#1776)
* memorydb ub patch and other cleanup

* fix denote invocations

* move trie traits into trie module

* replace "denote" with shim

* triedb returns results and no longer panics

* fix warnings

* get ethcore compiling

* warn on trie errors in ethcore

* remove unsafety from node decoder

* restore broken denote behavior for this branch

* fix overlayrecent fallout

* fix triedb tests

* remove unwrap in state

* alter Trie::get to return Result<Option<_>>

* fix refcell error in require

* fix test warnings

* fix json tests

* whitespace

[ci:skip]

* Avoid unneeded match/indentation

* whitespace

* prettify map_or_else

* remove test warning
2016-08-03 18:35:48 +02:00
keorn
b672d51a74 Instant sealing engine (#1767)
* add an instant sealing engine

* add sealing engine tests

* rename to InstantSeal

* update name in json

* whitespace

[ci:skip]
2016-07-30 14:42:31 -07:00
keorn
11cb544c24 Collect consensus/null engines into a single module (#1754)
* collect consesnsus engine code into module

* move Engine to mod

* fix json test
2016-07-28 20:32:20 +02:00