Commit Graph

2581 Commits

Author SHA1 Message Date
Robert Habermeier
d069b98b45 PoA: Wait for transition finality before applying (#5774)
* final engine changes

* migration to v13

* adding and removing pending transitions

* epoch_transition_for

* port snapshot to new engine methods

* final validator set interface

* fix compiler errors

* revert v13/epoch_depth transition

* make call on new epoch

* rolling finality checker

* tests for finality checker

* constructing finality proof upon pending transition

* fix warnings and finality proof checking

* fix compiler warnings in tests

* test fixes

* don't include genesis in finality checking

* change snapshot test chain building logic

* minor refactorings

* fetch epoch transition based on parent, fix divide-by-zero in SimpleList

* fix formatting

* fix ABIs and finality checking in snapshot restoration

* encode signal number in proof

* create more blocks at the end of tests

* update gist to accurate contract code

* test for epoch_transition_for

* fix tests with immediateTransitions parameter

* disable force flag after forcing

* rename ValidatorsChanged to InitiateChange and finalizeSignal to finalizeChange

* a few more validator set tests
2017-06-28 13:17:36 +02:00
Jef
72094a8bee Reduce unnecessary allocations (#5944) 2017-06-28 09:36:42 +02:00
Arkadiy Paronyan
57626b60e7 EIP-168, 169: Dust protection (#4757)
* Dust protection

* Track touched accounts in the substate

* Minor alterations
2017-06-28 09:10:57 +02:00
Robert Habermeier
796482c129 fix minor race condition in aura seal generation (#5910) 2017-06-22 20:44:04 +02:00
Arkadiy Paronyan
4d5280e43c removed panic handlers (#5895) 2017-06-22 19:00:53 +02:00
Stewart Mackenzie
d152fa3e85 Ethereum Classic Monetary Policy (#5741)
* Ethereum Classic Monetary Policy

Create a new parameter `ecip1017EraRounds`. When the block number
passes one era rounds, the reward is reduced by 20%.

See https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md

* Update rewards for uncle miners for ECIP1017

In the monetary policy, the rewards are changed from "up to 7/8 of the
reward" to "1/32 of the reward".

* Fix an off-by-one error in ECIP1017 era calculation

According to
https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md,
when in block number 5,000,000, it should still be in Era 1 (which in
our code `era == 0`). So we need to check whether the `rem` equals to
zero and act accordingly when calculating the era.

* `ecip1017_era_rounds` missing from EthashParams when run in build bot

* strip out ecip1017_eras_block_reward function and add unit test
2017-06-19 18:56:37 +02:00
Robert Habermeier
bedce59a6f Merge pull request #5867 from guanqun/small-fixes
ArchiveDB and other small fixes
2017-06-19 14:03:48 +02:00
Robert Habermeier
b84be93bb7 Merge pull request #5866 from guanqun/remove-try
convert try!() to ?
2017-06-19 14:02:58 +02:00
Marek Kotewicz
575c51f5a0 eip214, #4833 (#4851) 2017-06-19 11:41:46 +02:00
Marek Kotewicz
c50dacff17 all executables are workspace members (#5865)
* ethstore-cli and ethkey-cli are workspace projects

* evmbin is now a workspace project
2017-06-19 11:29:09 +02:00
Guanqun Lu
4eff7abf3b StateDB: change spaces to tab 2017-06-18 23:13:27 +08:00
Guanqun Lu
41fed96d96 convert try!() to ? 2017-06-18 22:16:34 +08:00
Robert Habermeier
ca27234a59 minor optimizations of the modexp builtin 2017-06-17 21:18:52 +02:00
Tomasz Drwięga
963bcba267
Merge branch 'master' into unlock 2017-06-14 12:06:27 +02:00
Tomasz Drwięga
efc46e78f1
Fix description of AccountProvider setting. 2017-06-14 12:06:15 +02:00
Tomasz Drwięga
fb3668f903 Adding missing documentation. (#5821) 2017-06-13 18:38:10 +03:00
arkpar
4b74f65ed8 Fixed mem write for empty slice v2 2017-06-12 22:45:57 +02:00
Arkadiy Paronyan
033a75888c Revert "Fixed mem write for empty slice (#5825)" (#5826)
This reverts commit 6b874cedb8.
2017-06-12 22:43:20 +02:00
Arkadiy Paronyan
6b874cedb8 Fixed mem write for empty slice (#5825) 2017-06-12 22:42:58 +02:00
Robert Habermeier
edea41d35e enforce block signer == author field in PoA (#5808) 2017-06-12 12:54:34 +03:00
Tomasz Drwięga
75ac263961 Fix stack display in evmbin. (#5733)
* Fix stack display.

* Additional compatiblity fixes.
2017-06-09 12:31:03 +02:00
Anton Gavrilov
06eb561af5 Duration limit made optional for EthashParams (#5777)
* Duration limit made optional for EthashParams

* Forgotten space added
2017-06-09 12:24:23 +02:00
Tomasz Drwięga
52f7978d4d
Merge branch 'master' into unlock 2017-06-07 17:07:32 +02:00
Tomasz Drwięga
9773aa4c76 Update Cid/multihash/ring/tinykeccak (#5785)
* Updating ring,multihash,tiny-keccak

* Updating CID in ipfs.
2017-06-07 12:31:12 +02:00
Guanqun Lu
05aa960c25 use NULL_RLP, remove NULL_RLP_STATIC (#5742) 2017-06-07 11:58:39 +02:00
Tomasz Drwięga
19f01194b1 Blacklist empty phrase account. (#5730) 2017-06-07 11:34:53 +02:00
Tomasz Drwięga
f5d0fa2c21
Merge branch 'master' into unlock 2017-06-06 18:41:00 +02:00
Tomasz Drwięga
a5299bdb1a
Unlocking with secrets. 2017-06-06 18:06:40 +02:00
Arkadiy Paronyan
99bfef2801 EIP-211 RETURNDATACOPY and RETURNDATASIZE (#5678)
* EIP-211

* Optimized memory usage

* Optimized truncation
2017-06-06 18:47:12 +03:00
Guanqun Lu
5a20c63b70 two small changes in evm (#5700)
* add a simple test for is_push so that every small utility has a corresponding unit test

* split evm/factory.rs into two files as the TODO suggests

* style fixes according to review comments
2017-05-30 19:31:43 +02:00
Arkadiy Paronyan
e6a31e7543 EIP-210 BLOCKHASH changes (#5505)
* EIP-210

* comment
2017-05-30 11:52:33 +02:00
Tomasz Drwięga
543965411e Revamping parity-evmbin (#5696)
* Revamping evmbin to support spec files, json format and subcalls.

* Fix formatting of usage.
2017-05-26 11:06:48 +02:00
Nikolay Volf
e1fef5c732 Update dependencies and bigint api (#5685)
* update to latest bigint

* bump elastic array and deps

* fix rlp tests

* also update all smallvec deps

* fix doc test

* reduce parking in attempt to fix CI bug

* fix from/into electum bug

* remove duplicate imports
2017-05-24 12:31:33 +02:00
Tomasz Drwięga
00cdc52323 Parity-PubSub as a separate API. (#5676)
* Parity-PubSub as a separate API.

* Fix tests.

* Fixes after merge.
2017-05-23 19:05:17 +03:00
Arkadiy Paronyan
dd004aba9f EIP-140 (#5477) 2017-05-23 16:49:17 +03:00
Nikolay Volf
53add78a28 Fix build (#5684)
* missing feature

* dapps update
2017-05-23 08:35:34 -04:00
Robert Habermeier
386cdb830d Back-references for the on-demand service (#5573)
* header back-references for on demand

* initial back-reference implementation for on demand requests

* answer requests from cache

* answer requests from cache, add tests

* strongly typed responses for vectors of homogeneous requests

* fix fallout in RPC without optimizing
2017-05-23 12:39:25 +02:00
Robert Habermeier
aa41b48ba0 Dynamically adjust PIP request costs based on gathered data (#5603)
* beginnings of load timer

* initial load timer implementation

* saturating adds

* create flow params from distribution

* update request credits and acknowledgement

* mark cumulative cost dead code

* fix compilation

* tests

* supply load share and other params to  lightprotocol params

* add file store

* fix ethsync compilation

* reshuffle constants
2017-05-23 12:31:09 +02:00
Tomasz Drwięga
f38cc8e182 Latest headers Pub-Sub (#5655)
* Signer subscription.

* Fixing RPC tests.

* Block Headers eth-pubsub.

* PubSub for light client.

* Fixing tests.

* Updating to proper jsonrpc version.

* Update to correct tests.

* Fixing tests.
2017-05-23 12:26:39 +02:00
Tomasz Drwięga
f47cbe0be6 Adding CLI options: port shift and unsafe expose. (#5677)
* Adding CLI option for port shift and unsafe expose.

* Fixing IPC path.

* Fix hosts when attempting to expose on all interfaces.

* Fixing test.

* Fix typo.
2017-05-23 12:24:32 +02:00
keorn
532801f9d6 Report missing author in Aura (#5583)
* report missing block

* add a test validator set

* add a skip test

* clean up test

* report all skipped
2017-05-22 08:21:34 +02:00
Tomasz Drwięga
3ff72794e5 Create an account for chain=dev (#5612)
* implement From<&'static str> for Secret

* Dev account.

* Fix Secret semantics.
2017-05-19 17:06:36 +02:00
Guanqun Lu
6d81b8a49a use copy_from_slice instead of for loop (#5647) 2017-05-18 12:46:14 +02:00
Robert Habermeier
b1eab698d2 Light friendly dapps (#5634)
* move native_contracts ABIs to JSON files, add urlhint

* port hash-fetch to futures, fix tests

* fix dapps compilation, defer async port to later

* activate dapps server in the light client

* better formatting
2017-05-18 12:44:09 +02:00
Robert Habermeier
4c5e4ac8da PoA warp implementation (#5488)
* separate modules for consensus snapshot chunks

* bulk of authority warp logic

* finish authority warp implementation

* squash warnings and enable authority snapshot mode

* test harness for PoA

* fiddle with harness

* epoch generation proof fixes

* update constructor code

* store epoch transition proof after block commit

* basic snap and restore test

* use keyvaluedb in state restoration

* decompress chunks

* fix encoding issues

* fixed-to-contract-to-contract test

* implement ancient block import

* restore genesis transition in PoW snapshot

* add format version method to snapshot components

* supported version numbers in snapshot_components

* allow returning of ancient epoch transitions

* genesis hash mismatch check

* remove commented code
2017-05-17 12:41:33 +02:00
Robert Habermeier
5d973f8ef5 Merge pull request #5419 from paritytech/on-demand-priority
Improve on-demand dispatch and add support for batch requests
2017-05-17 12:28:27 +02:00
Robert Habermeier
c7cf43d1c1 improve assertion 2017-05-16 17:24:12 +02:00
keorn
945c1a9478 add monotonic transition to kovan (#5587) 2017-05-15 21:34:01 +01:00
Robert Habermeier
4df1772078 Merge pull request #5595 from paritytech/no-warp-if-disabled
only enable warp sync when engine supports it
2017-05-13 15:04:06 +02:00
Robert Habermeier
f8279bb7bb code cleanup with macro 2017-05-12 18:00:01 +02:00
Robert Habermeier
2a6f38c587 removing slienced warning 2017-05-12 17:53:10 +02:00
Robert Habermeier
909f3d76d8 optimize back-reference filling 2017-05-12 17:25:02 +02:00
Robert Habermeier
2d87f562f6 address grumbles 2017-05-12 17:16:38 +02:00
Robert Habermeier
56768ff237 only try to warp when engine supports it 2017-05-10 17:12:00 +02:00
Robert Habermeier
0fd3e36c23 Merge branch 'master' into on-demand-priority 2017-05-10 12:18:30 +02:00
Guanqun Lu
a4b0e0c93c fix the doc of installing rust
multirust is deprecated.
2017-05-10 17:13:40 +08:00
Robert Habermeier
9358f81ac1 fix indentation 2017-05-09 14:24:45 +02:00
YaNing Zhang
0bd4d5bb0c Typo (#5547) 2017-05-07 14:33:52 +02:00
Robert Habermeier
6dd1fe0312 reorg into blocks before minimum history (#5558) 2017-05-05 15:01:19 +01:00
Arkadiy Paronyan
ed7c366b90 EIP-86 fixes (#5506) 2017-05-05 15:00:40 +01:00
keorn
a3d9cce7c5 Pass additional data when reporting (#5527)
* pass additional data when reporting

* checkout correct tests
2017-05-03 09:01:24 +02:00
Robert Habermeier
60bb0de9d6 Calculate post-constructors state root in spec at load time (#5523)
* apply contract constructors at spec load time

* debugging

* do trie updates in two stages

* add lint exception to newly-dead constructor

* squash warning in RPC tests

* kill dead accountdb constructors

* restore accountdb constructors under test configuration

* use provided state root in spec, if it exists
2017-05-03 09:00:02 +02:00
Robert Habermeier
35958a0965 Merge pull request #5454 from paritytech/aura-contract-warp
Groundwork for generalized warp sync
2017-04-25 17:58:13 +02:00
Robert Habermeier
6a5702f27c address grumbles 2017-04-24 13:14:50 +02:00
Robert Habermeier
7ab92f0807 epoch generation proof fixes 2017-04-22 18:56:34 +02:00
Robert Habermeier
0768ce3600 Merge pull request #5307 from paritytech/eip-212
EIP-212 (bn128 curve pairing)
2017-04-21 13:10:57 +02:00
NikVolf
7a1db0852b fix typo 2017-04-21 12:10:41 +03:00
Robert Habermeier
f18f81ec58 Merge pull request #5479 from paritytech/fix-tree-route-panic
fix panickers in tree-route
2017-04-20 18:31:16 +02:00
Robert Habermeier
023c45f302 checkout correct tests submodule 2017-04-20 17:34:04 +02:00
Robert Habermeier
ee25249729 Merge pull request #5473 from paritytech/eip86
Correct contract address for EIP-86
2017-04-20 17:21:16 +02:00
Robert Habermeier
167d06d727 fix panickers in tree-route 2017-04-20 16:21:53 +02:00
Robert Habermeier
468a7a4a77 bloom check test 2017-04-20 16:09:43 +02:00
Afri
a16fb04280 Force two decimals for USD conversion rate (#5471) 2017-04-19 22:59:02 +02:00
Robert Habermeier
240c111ebb fix indent 2017-04-19 20:44:11 +02:00
Robert Habermeier
6652df03df Merge branch 'master' into aura-contract-warp 2017-04-19 20:43:24 +02:00
Robert Habermeier
2ec3397b7d snapshot chunk and restore traits 2017-04-19 20:31:53 +02:00
arkpar
97052f3912 null_sign with network id 2017-04-19 19:10:12 +02:00
Robert Habermeier
4d3f137e1e iterate over all epochs 2017-04-19 16:28:16 +02:00
Robert Habermeier
af868a7439 ensure genesis validator set in DB 2017-04-19 15:35:12 +02:00
Robert Habermeier
a278dd5a0a store epoch transition proofs in DB 2017-04-19 14:58:19 +02:00
arkpar
04e581db61 Correct contract address for EIP-86 2017-04-19 14:50:56 +02:00
Arkadiy Paronyan
b50fb71dd1 EIP-86 (#4697)
* EIP-86

* Disable EIP-86 auto activation for now
2017-04-19 14:30:00 +02:00
Robert Habermeier
f6f9816ef4 epoch verifier rename 2017-04-18 14:19:10 +02:00
Robert Habermeier
e1fa4ab8ec verify_external in verifier trait 2017-04-13 20:34:16 +02:00
Robert Habermeier
715d5daafe ChainVerifier for memoizing validator sets 2017-04-13 20:24:21 +02:00
Robert Habermeier
fd4d7c4b68 correct state test checkout 2017-04-13 17:21:12 +02:00
Robert Habermeier
a98052fe74 Merge branch 'master' into on-demand-priority 2017-04-13 16:44:47 +02:00
arkpar
314af4cdae Use in-memory database in tests 2017-04-13 12:17:53 +02:00
Robert Habermeier
b4f3e30cd6 detect changes in safe_contract 2017-04-12 22:10:18 +02:00
Robert Habermeier
34a1512ff0 skeleton for proof checking 2017-04-12 18:55:38 +02:00
Robert Habermeier
ec922ee5e4 supply optional call context to validator sets 2017-04-12 16:42:19 +02:00
Robert Habermeier
0f80c57dca use native contracts in ValidatorSet 2017-04-12 16:15:35 +02:00
Robert Habermeier
2f5a774325 add validator contracts to native_contracts bin 2017-04-12 15:54:23 +02:00
Robert Habermeier
2d8a8bd3e5 engine changes 2017-04-12 14:41:19 +02:00
Robert Habermeier
13633414a3 Merge pull request #5383 from paritytech/block_header_rpc
parity_getBlockHeaderByNumber and LightFetch utility
2017-04-12 14:39:50 +02:00
Arkadiy Paronyan
15ae24b541 New state tests (#5418)
* General state tests

* Allow dir name for a test
2017-04-12 13:33:49 +02:00
Robert Habermeier
e094043b80 Merge branch 'master' into block_header_rpc 2017-04-12 13:00:32 +02:00
Robert Habermeier
7723d6281b starting memoized validatorset 2017-04-12 12:46:25 +02:00
Robert Habermeier
daf1495c4e Filters and block RPCs for the light client (#5320)
* block_hash method for LightChainClient

* abstraction and futures-based eth_filter

* log fetching for light client

* add eth-filter delegate

* eth_block fetching RPCs

* return default accounts from on_demand

* fix early exit

* BlockNumber -> BlockId

* early exit for no known block number.
2017-04-12 12:07:54 +02:00
Robert Habermeier
a254b2098f more useful Engine::verify_seal 2017-04-11 17:07:04 +02:00