Commit Graph

321 Commits

Author SHA1 Message Date
keorn
9fdd0e3a0a Switching ValidatorSet (#4961)
* add multi validator set

* nicer comment

* validate in constructor

* reporting
2017-03-23 13:19:28 +01:00
Marek Kotewicz
044d070667 rlp deserialization refactor, 30% faster (#4901)
* fixed naming of rlp modules

* RlpStream cleanup

* appending short rlp lists (0...55 bytes) is 25% faster

* RlpStream does not use bytes module, nor trait Stream

* removed unused code from rlp module

* compiling ethcore-util with new rlp serialization

* compiling parity with new rlp serialization

* fixed compiling ethcore-light with new rlp serialization

* fixed compiling ethsync with new rlp serialization

* moved rlp benches and rlp tests

* rlp deserialization refactor, 30% faster

* removed redundant comment, print

* fixed compiling parity with new rlp deserialization

* removed redundant double-space

* fixed failing test

* updated rlp docs, removed unused traits

* fixed rlp benchmarks

* replace usage of WriteBytesExt with ByteOrder

* removed unused, commented out code

* fixed merge conflict
2017-03-22 14:41:46 +01:00
Robert Habermeier
797a3e1cd9 EIP198 and built-in activation (#4926)
* EIP198 and built-in activation

* address review
2017-03-21 19:36:38 +03:00
Marek Kotewicz
a555686bcd rlp serialization refactor (#4873)
* fixed naming of rlp modules

* RlpStream cleanup

* appending short rlp lists (0...55 bytes) is 25% faster

* RlpStream does not use bytes module, nor trait Stream

* removed unused code from rlp module

* compiling ethcore-util with new rlp serialization

* compiling parity with new rlp serialization

* fixed compiling ethcore-light with new rlp serialization

* fixed compiling ethsync with new rlp serialization

* removed redundant comment, print

* removed redundant double-space

* replace usage of WriteBytesExt with ByteOrder
2017-03-20 19:14:29 +01:00
Marek Kotewicz
3fe3353696 removed redundant FixedHash trait, fixes #4029 (#4866) 2017-03-11 22:58:15 +04:00
keorn
be21671c1c Calibrate step before rejection (#4800)
* calibrate before rejection

* change flag name

* fix merge
2017-03-08 17:25:50 +01:00
keorn
a84a10ff03 Add replay protection (#4808)
* add eip155

* make network_id default
2017-03-08 14:44:07 +01:00
keorn
98be191b25 Fix validator contract syncing (#4789)
* make validator set aware of various states

* fix updater build

* clean up contract call

* failing sync test

* adjust tests

* nicer indent [ci skip]

* revert bound divisor
2017-03-08 14:41:24 +01:00
keorn
ade5a13f5b Add registrar fields (#4716)
* add registrar field

* use constructor for dev registrar

* fix test
2017-03-02 12:25:55 +01:00
Robert Habermeier
1bf2b27708 Propagate trie errors upwards from State (#4655)
* state backend trait mirroring state_db API

* minimal state backend trait

make state module public

* fix json tests

* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* add Backend bound on state
2017-02-26 13:10:50 +01:00
keorn
9b5bcb81fd Fix Tendermint deadlock (#4654)
* scope read

* consistent step
2017-02-24 10:26:56 +01:00
Robert Habermeier
62b340f2b9 Save pending local transactions in the database (#4566)
* Create new column family for local node info

* remove DBTransaction::new reliance on DB

* KeyValueDB trait

* InMemory KeyValueDB implementation

* journaldb generic over KVDB

* make most of `ethcore` generic over KVDB

* fix json tests compilation

* get all tests compiling

* implement local store (just for transactions)

* finish local store API, test

* put everything into place

* better test for skipping bad transactions

* fix warning

* update local store every 15 minutes

* remove superfluous `{}`s
2017-02-20 17:21:55 +01:00
keorn
ac6180a6fe seals_internally (#4613) 2017-02-20 16:35:53 +01:00
Tomasz Drwięga
5369a129ae Signer provenance (#4477)
* Signer - Tracking Request Provenance

* Basic UI

* Changing messages

* VecDeque::from

* Fix dapps tests

* Addressing UI grumbles
2017-02-14 22:45:43 +01:00
Maciej Hirsz
127baed385 Merge pull request #4362 from ethcore/mh-tendermintrlpfix
Fix RLP encoding for types recursively calling `RlpStream::append`
2017-02-06 11:13:40 +01:00
keorn
76c39e3e66 Fix lock and rename tracing (#4403)
* tracing, timeouts

* remove env_logger
2017-02-02 19:11:43 +01:00
maciejhirsz
687ae4d7fa Removed fixed TODO 2017-02-01 10:38:01 +01:00
Tomasz Drwięga
9fb2be8f2b Optional from field in Transaction Requests (#4332)
* Infering default account when sending transactions if not provided

* Fixing test

* Fixing tests code

* Fixes.

* More fixes.

* Final fix.
2017-01-30 21:08:36 +01:00
maciejhirsz
681fa10d4b Tests checking item sizes for changed types 2017-01-30 20:01:32 +01:00
maciejhirsz
5fe54901e7 Fix Step encoding 2017-01-30 18:13:14 +01:00
Gav Wood
8404edb656 Fix whitespace (#4299)
* Fix whitespace.

* Update copyright years/owner.

* Push release only for tags.
2017-01-25 18:51:41 +01:00
keorn
e9251a9325 Generic engine utilities (#4258)
* move modules up

* make structs generic

* reound to view and tests

* fix
2017-01-24 22:03:03 +01:00
keorn
ba0209678b ValidatorSet reporting (#4208)
* remove register_account_provider

* build rpc module

* new dummy client

* common EngineSigner struct

* from -> into

* initial report via call

* separate safe from regular contract

* transact_contract

* fix build

* return Signature, docs

* add sign method to some engines

* add safeContract spec

* update specs to new contracts

* use AuthorityRound for contract spec

* add more reporting

* add reporting test

* use gas floor

* shorter
2017-01-24 12:03:58 +03:00
keorn
b7f9b304c1 Chain scoring (#4218)
* chain scoring

* use current steps
2017-01-23 17:27:11 +03:00
keorn
97a60ceab1 Common EngineSigner (#4189)
* remove register_account_provider

* build rpc module

* new dummy client

* common EngineSigner struct

* from -> into

* return Signature, docs
2017-01-20 13:25:17 +01:00
keorn
73b80869f5 Remove unnecessary Engine method (#4184)
* remove register_account_provider

* build rpc module

* new dummy client
2017-01-18 18:49:50 +01:00
Tomasz Drwięga
e11353f94c UnverifiedTransaction type (#4134)
* Introducing ValidSignedTransaction

* Verifiying transactions in engines

* Widening use of VerifiedSignedTransaction

* Renaming Transactions

* Uncommenting banning queue & Fixing tests

* Fixing json tests

* Fixing pre-homestead test

* Fixing imports

* Addressing grumbles

* Fixing test
2017-01-13 08:51:36 +00:00
keorn
844b1f8c0d Refactor VoteCollector (#4101)
* dir

* simple validator list

* stub validator contract

* make the engine hold Weak<Client> instead of IoChannel

* validator set factory

* register weak client with ValidatorContract

* check chain security

* add address array to generator

* register provider contract

* update validator set on notify

* add validator contract spec

* simple list test

* split update and contract test

* contract change

* use client in tendermint

* fix deadlock

* step duration in params

* adapt tendermint tests

* add storage fields to test spec

* constructor spec

* execute under wrong address

* create under correct address

* revert

* validator contract constructor

* move genesis block lookup

* add removal ability to contract

* validator contract adding validators

* fix basic authority

* validator changing test

* more docs

* update sync tests

* remove env_logger

* another env_logger

* cameltoe

* hold EngineClient instead of Client

* return error on misbehaviour

* nicer return

* sprinkle docs
2017-01-11 17:56:50 +01:00
Tomasz Drwięga
21006da125 Get rid of unsafe code in ethkey, propagate incorrect Secret errors. (#4119)
* Implementing secret

* Fixing tests
2017-01-11 12:16:47 +01:00
keorn
be30c44179 Validator/authority contract (#3937)
* dir

* simple validator list

* stub validator contract

* make the engine hold Weak<Client> instead of IoChannel

* validator set factory

* register weak client with ValidatorContract

* check chain security

* add address array to generator

* register provider contract

* update validator set on notify

* add validator contract spec

* simple list test

* split update and contract test

* contract change

* use client in tendermint

* fix deadlock

* step duration in params

* adapt tendermint tests

* add storage fields to test spec

* constructor spec

* execute under wrong address

* create under correct address

* revert

* validator contract constructor

* move genesis block lookup

* add removal ability to contract

* validator contract adding validators

* fix basic authority

* validator changing test

* more docs

* update sync tests

* remove env_logger

* another env_logger

* cameltoe

* hold EngineClient instead of Client

* add a comment about lock scope
2017-01-10 12:23:59 +01:00
keorn
fbc9f0d7fb Add block rewards to more Engines (#4055)
* add block rewards

* imports
2017-01-05 21:16:13 +01:00
Robert Habermeier
8125b5690c Port try macro to new ? operator. (#3962)
* initial untry sweep

* restore try in ipc codegen, fix inference

* change a few missed try instances
2016-12-27 12:53:56 +01:00
keorn
afc4cd2785 Allow contract constructors in chain spec (#3932)
* constructor spec

* execute under wrong address

* create under correct address

* revert

* move genesis block lookup

* remove env_logger
2016-12-23 18:44:39 +01:00
keorn
d8470cc5ca revert slack 2016-12-16 00:07:07 +01:00
keorn
447196398a fix start_step 2016-12-15 23:36:06 +01:00
keorn
b7b531ca75 more slack in test 2016-12-15 19:54:28 +01:00
keorn
b88d50dc9b fix naming collision 2016-12-15 19:27:06 +01:00
keorn
ee653bc262 unused import 2016-12-15 16:53:28 +01:00
keorn
9bfa69c6bd fix channel 2016-12-15 16:52:39 +01:00
Gav Wood
a74bce2c06 Merge pull request #3759 from ethcore/auth-bft
Tendermint Engine
2016-12-15 13:18:15 +01:00
keorn
e1d83d15b7 bump dev chain 2016-12-14 11:34:19 +01:00
keorn
c96826beaa expect instead of index 2016-12-13 18:22:56 +01:00
keorn
fa504e510f Merge branch 'master' into auth-bft 2016-12-12 21:28:46 +01:00
keorn
19adb84527 TestNet flushing and cleanup 2016-12-12 19:44:24 +01:00
keorn
f8ed5cf022 finalize unit tests 2016-12-12 17:20:20 +01:00
keorn
3c5d5856d2 nicer tracing 2016-12-11 22:54:48 +01:00
Gav Wood
58b72c521d
Rename ethcore -> parity in licenses. 2016-12-11 19:31:31 +01:00
Gav Wood
17cc2be4b5
Rename ethcore -> parity in license. 2016-12-11 19:30:54 +01:00
keorn
a4bf914683 Merge branch 'auth-bft' of https://github.com/ethcore/parity into auth-bft 2016-12-11 18:23:54 +01:00
keorn
d4c9493b00 verification cache retrieval 2016-12-11 17:50:12 +01:00
Robert Habermeier
9252ebf93d block: enforce gas limit falls within engine bounds 2016-12-11 12:50:48 +01:00
arkpar
c777362d02 Sync channel for consensus test 2016-12-11 12:32:01 +01:00
keorn
f3af0f46be Merge branch 'master' into auth-bft 2016-12-10 18:14:35 +01:00
keorn
b9909da8b1 move Sealing methods to MiningBlockChainClient 2016-12-10 17:40:20 +01:00
keorn
239ba61a99 move transition message to to_step 2016-12-10 16:50:23 +01:00
keorn
5f09eb9d04 update tests to new spec (#3790) 2016-12-10 10:38:10 +01:00
keorn
b15edd095e Merge branch 'auth-bft' of https://github.com/ethcore/parity into auth-bft 2016-12-09 20:51:42 +01:00
keorn
08e7e79bfd more test 2016-12-09 20:48:05 +01:00
arkpar
97f358ced9 AuthorityRound network simulation test 2016-12-09 20:38:06 +01:00
arkpar
ca7406773f AuthorityRound network simulation test 2016-12-09 19:27:16 +01:00
keorn
56e9dab9de add Engine stop method 2016-12-09 14:52:08 +01:00
keorn
42c34b5c1b ignore flaky test 2016-12-09 10:53:38 +01:00
keorn
79ef64349c remove assert 2016-12-08 21:27:49 +01:00
keorn
dca752e9bb docs, tweaks 2016-12-08 20:09:30 +01:00
keorn
3ebfa1481d better proposal block handling 2016-12-08 12:03:34 +01:00
keorn
347634ac6c dont rebroadcast propose 2016-12-07 16:42:58 +01:00
keorn
b73689f041 Merge branch 'engine-password' into auth-bft 2016-12-07 15:17:49 +01:00
keorn
727ace0561 add test 2016-12-07 15:14:21 +01:00
keorn
4361cb53e7 Merge branch 'engine-password' into auth-bft 2016-12-07 14:49:42 +01:00
keorn
5faa4a85cb remove dummy type 2016-12-07 14:49:07 +01:00
keorn
6440ca2f68 move stuff around 2016-12-07 14:39:37 +01:00
keorn
c582540746 Merge branch 'engine-password' into auth-bft 2016-12-07 11:41:38 +01:00
keorn
3ae09de019 restore is_new_best 2016-12-07 11:40:46 +01:00
keorn
5c333fce31 Merge branch 'engine-password' into auth-bft 2016-12-07 10:35:52 +01:00
keorn
71a96588b0 add the methods to engines 2016-12-07 10:34:06 +01:00
keorn
d9eb5e7f1d remove uncles 2016-12-07 09:32:36 +01:00
keorn
8f641e67f3 Merge branch 'engine-password' into auth-bft 2016-12-06 13:13:02 +00:00
keorn
01bf483b63 remove unnecessary impls 2016-12-05 17:29:47 +00:00
keorn
81a756394a Merge branch 'master' into engine-password 2016-12-05 17:08:57 +00:00
keorn
529a7fc33c add password and AccountProvider 2016-12-05 17:08:16 +00:00
keorn
6fc943ca6d Merge branch 'master' into auth-bft 2016-12-05 16:37:35 +00:00
keorn
94302f3f61 throw out difficulty checks 2016-12-05 15:27:44 +00:00
keorn
c61a0e97b3 make engine determine block order 2016-12-05 15:20:32 +00:00
keorn
b30c1d5602 fix tests 2016-12-05 13:24:22 +00:00
keorn
f7a01b87b5 better gossip, better proposal collection 2016-12-04 19:43:24 +00:00
Gav Wood
2911c549e3
Encode networkid as a u64. 2016-12-04 10:48:26 -08:00
keorn
9084e6242d lock ordering 2016-12-02 20:04:12 +00:00
keorn
c8a3db4c52 new error proposal test 2016-12-02 13:59:54 +00:00
keorn
91099f62c9 add more gossip if step is stuck 2016-12-02 13:37:49 +00:00
keorn
e0f2fac441 new error type 2016-12-02 13:32:00 +00:00
keorn
0eb55cbd4d update message test 2016-12-02 13:31:28 +00:00
keorn
2c8c090598 stricter size verification 2016-12-02 13:30:43 +00:00
keorn
f0e9eae244 remove difficulty check 2016-12-01 22:07:18 +00:00
keorn
df1cce8e7f simplify seal verification 2016-12-01 21:56:38 +00:00
keorn
39ea703c69 vote on message generation 2016-12-01 20:50:24 +00:00
keorn
9290fdde85 fix tests 2016-12-01 17:21:51 +00:00
keorn
344999aaf7 return signing failure error 2016-12-01 14:10:42 +00:00
keorn
66b4f1ac47 remove unnecessary option 2016-12-01 14:10:22 +00:00
keorn
dbf82c2e98 fix tests 2016-11-30 16:40:16 +00:00
keorn
d128c20dc2 remove proposer_nonce 2016-11-30 16:02:05 +00:00