Commit Graph

3574 Commits

Author SHA1 Message Date
Svyatoslav Nikolsky
b685b7fae3 SecretStore: tx retry pattern (#7323)
* SecretStore: auto migrate initial commit

* SecretStore: flush automigrate

* SecretStore: debug flush

* SecretStore: added migration to KeyServerSet contract

* SecretStore: flush automigrate

* SecretStore: flush before testing

* SecretStore: flush

* SecretStore: flush

* SecretStore: bunch of tests for simple ConnectionTrigger && KeyServerSet

* SecretStore: started work on TriggerWithMigration tests

* SecretStore: maintain_session tests

* SecretStore: updated some comments

* SecretStore pass migration_id to ServerSetChangeSession

* SecretStore: fixed lock scope

* SecretStore: fixed error response condition

* SecretStore: fixed ServerSetChange session auto-creation

* SecretStore: update active migration in connector

* removed commented code

* SecretStore: fixed tests compilation

* SecretStore: marked test-related unimplemented-s

* SecretStore: labeled all SS TODOs

* SecretStore: do not read auto-migration stuff when auto-migration is disabled + stripped KeyServerSet contract ABI

* SecretStore: ignore duplicated addresses in KeyServerSet

* fied compilation

* SecretStore: wait for N block confirmations before starting auto-migration

* SecretStore: more tests for migration delay

* SecretStore: clear current nodes set when KSS contract is uninstalled

* SecretStore: retry transaction interval
2018-01-10 11:33:45 +01:00
Tomasz Drwięga
e4bd4ed060 Use sync wrapper instead of Mutex (#7456) 2018-01-09 16:10:39 +01:00
Afri Schoedon
a553485bbd
Update Parity Mainnet Bootnodes (#7476)
* Update Parity Mainnet Bootnodes

* Replace the Azure HDD bootnodes with the new ones :)
2018-01-08 15:06:08 +01:00
Tomasz Drwięga
33b8f28f62 Advance AuRa step as far as we can and prevent invalid blocks. (#7451)
* Advance AuRa step as far as we can.

* Wait for future blocks.
2018-01-08 14:46:11 +01:00
Afri Schoedon
36e230ee16
Expanse Byzantium update w/ correct metropolis difficulty increment divisor (#7463)
* Byzantium Update for Expanse

Here the changes go. Hope I didnt miss anything.

* expip2 changes - update duration limit

* Fix missing EXPIP-2 fields

* Format numbers as hex

* Fix compilation errors

* Group expanse chain spec fields together

* Set metropolisDifficultyIncrementDivisor for Expanse

* Revert #7437

* Add Expanse block 900_000 hash checkpoint
2018-01-05 13:49:07 +01:00
5chdn
27d8befbad
Remove expanse from available chains 2018-01-03 13:24:27 +01:00
Tomasz Drwięga
56311cf0b5
Merge branch 'master' into td-strict-config 2018-01-03 11:07:08 +01:00
Tomasz Drwięga
e439eae54f
Enable strict config parsing. 2018-01-03 11:05:53 +01:00
André Silva
e114b0b28d Upgrade to RocksDB 5.8.8 and tune settings to reduce space amplification (#7348)
* kvdb-rocksdb: update to RocksDB 5.8.8

* kvdb-rocksdb: tune RocksDB options

* Switch to level-style compaction
* Increase default block size (16K), and use bigger blocks for HDDs (64K)
* Increase default file size base (64MB SSDs, 256MB HDDs)
* Create a single block cache shared across all column families
* Tune compaction settings using RocksDB helper functions, taking into account
  memory budget spread across all columns
* Configure backgrounds jobs based on the number of CPUs
* Set some default recommended settings

* ethcore: remove unused config blockchain.db_cache_size

* parity: increase default value for db_cache_size

* kvdb-rocksdb: enable compression on all levels

* kvdb-rocksdb: set global db_write_bufer_size

* kvdb-rocksdb: reduce db_write_bufer_size to force earlier flushing

* kvdb-rocksdb: use master branch for rust-rocksdb dependency
2018-01-03 11:00:37 +01:00
Marek Kotewicz
6a01113610
Merge pull request #7412 from paritytech/td-trace-failed-calls
Fix tracing failed calls.
2018-01-02 15:43:33 +01:00
Marek Kotewicz
f3e7d94fc4
Merge pull request #7368 from paritytech/td-future-blocks
Wait for future blocks in AuRa
2018-01-02 14:21:50 +01:00
Tomasz Drwięga
c6aea0cae6
Move StateDB to RwLock 2018-01-02 09:43:08 +01:00
Tomasz Drwięga
67a74e155d
Fix tracing failed calls. 2017-12-29 18:11:55 +01:00
Marek Kotewicz
2586eaef92
Merge pull request #7359 from VladLupashevskyi/transactions-permission-contract-fix
Added checking tx-type using transactions permission contract for miners
2017-12-29 11:46:10 +01:00
debris
7b40f1cfe9 Merge branch 'master' into dircrate2 2017-12-29 10:45:11 +01:00
Marek Kotewicz
f8bd6b9f63
Merge pull request #7101 from paritytech/secretstore_kovan
SecretStore: Kovan integration initial version
2017-12-29 05:31:51 -04:00
Tomasz Drwięga
48a15cecf8
Update bootnodes (#7363)
* Updating mainnet bootnodes.

* Add additional parity-beta bootnodes.

* Restore old parity bootnodes and update foudation bootnodes
2017-12-28 15:12:19 +01:00
Vlad Lupashevskyi
45116099c5 Merge remote-tracking branch 'remotes/upstream/master' into transactions-permission-contract-fix 2017-12-28 12:56:21 +02:00
Tomasz Drwięga
a15f62d907
Merge branch 'master' into td-future-blocks 2017-12-27 11:01:08 +01:00
Svyatoslav Nikolsky
c0e7abcc81 Merge branch 'master' into secretstore_kovan 2017-12-27 11:44:28 +03:00
Nicolas Ochem
2e12a2db50 Fix #6209 - introduce standalone dir crate
* created the dir crate in util
* moved code from ethstore/src/dir/paths.rs to dir crate
* rename dir module in ethstore to accounts_dir to distinguish it
  from the dir crate
* changes after @tomusdrw on #6952
2017-12-26 00:54:34 -08:00
Vlad Lupashevskyi
31ffb467f5 Passing verify tx errors to the caller 2017-12-23 00:00:27 +02:00
Vlad Lupashevskyi
0d5603eece Use is_err instead of match 2017-12-22 23:14:24 +02:00
Vlad Lupashevskyi
d6ae6e315e Check tx-type before importing transactions to the queue 2017-12-22 22:50:09 +02:00
Vlad Lupashevskyi
9d35cc1881 "from" replaced with ".into()" 2017-12-22 22:48:37 +02:00
Nikolay Volf
82340c058a
Wasm runtime update (#7356)
* call augmented, wasm-tests updated

* fix all call tests

* fix comments
2017-12-22 21:54:35 +03:00
Marek Kotewicz
d80dd81d77
parity-version pr reopen (#7136)
* parity-version module split from util

removed unused util deps and features

trigger buildbot again

only kvdb links rocksdb

snappy linker issues

* rm snappy

* fixed old version imports
2017-12-22 09:37:39 -04:00
Marek Kotewicz
7c24d0665e
Merge pull request #7355 from paritytech/td-clippy
Get rid of clippy remainings.
2017-12-22 07:09:26 -04:00
Marek Kotewicz
6f516607a1
Merge pull request #7357 from paritytech/unwrap-or
Avoid using ok_or with allocated argument
2017-12-22 06:55:37 -04:00
Nicolas Gotchac
276496fb4b Enable traces for DEV chain (#6949) (#7327) 2017-12-22 06:33:17 +03:00
Vlad Lupashevskyi
24378f3c44 Added checking tx-type using transactions permission contract for miners 2017-12-21 22:42:36 +02:00
Tomasz Drwięga
d6f160e868
Don't check max. 2017-12-21 16:16:55 +01:00
Tomasz Drwięga
7d4e4c7a62
Mark future blocks as temporarily invalid. 2017-12-21 15:34:27 +01:00
Yurii Rashkovskii
d5b81ead71 Problem: AuRa's unsafeties around step duration (#7282)
Firstly, `Step.duration_remaining` casts it to u32, unnecesarily
limiting it to 2^32. While theoretically this is "good enough" (at 3
seconds steps it provides room for a little over 400 years), it is
still a lossy way to calculate the remaining time until the next step.

Secondly, step duration might be zero, triggering division by zero
in `Step.calibrate`

Solution: rework the code around the fact that duration is
typically in single digits and never grows, hence, it can be represented
by a much narrower range (u16) and this highlights the fact that
multiplying u64 by u16 will only result in an overflow in even further
future, at which point we should panic informatively (if anybody's
still around)

Similarly, panic when it is detected that incrementing the step
counter wrapped around on the overflow of usize.

As for the division by zero, prevent it by making zero an invalid
value for step duration. This will make AuRa log the constraint
mismatch and panic (after all, what purpose would zero step duration
serve? it makes no sense within the definition of the protocol,
as finality can only be achieved as per the specification
if messages are received within the step duration, which would violate
the speed of light and other physical laws in this case).
2017-12-21 14:59:09 +01:00
NikVolf
516725abe4 ok_or -> ok_or_else 2017-12-21 16:50:58 +03:00
Tomasz Drwięga
00883e477a
Get rid of clippy remainings. 2017-12-21 11:27:26 +01:00
Marek Kotewicz
53dce9ff98
Merge pull request #7222 from ellaismer/ellaism
Add Ellaism coin in chain config
2017-12-19 09:34:21 -04:00
Tomasz Drwięga
9e7f5671a5
Merge branch 'master' into a5-kovan-bootnodes 2017-12-19 10:33:35 +01:00
Robert Habermeier
8f6f6a068e detect different node, same-key signing in aura (#7245)
* detect different node, same-key signing in aura

* reduce scope of warning
2017-12-15 16:29:23 +01:00
5chdn
4a9a0f6f55
Update kovan boot nodes 2017-12-15 15:29:48 +01:00
5chdn
0a808a1ac2
Improve chainspec formatting 2017-12-15 15:29:09 +01:00
Konstantin
bb1e03e9cb new warp enodes (#7287)
* new warp enodes

* added one more warp enode; replaced spaces with tabs
2017-12-15 15:19:06 +01:00
Tomasz Drwięga
c731b5ef62 Update kovan HF block number. (#7259) 2017-12-12 16:03:28 +01:00
André Silva
fcddc7751a Reduce max block timestamp drift to 15 seconds (#7240)
* reduce max block timestamp drift to 15 seconds

* add test for block timestamp validation within allowed drift
2017-12-08 11:43:31 +01:00
Robert Habermeier
3cb4d81eb1 Fix aura difficulty race (#7198)
* Fix Aura difficulty race

* fix test key

* extract out score calculation

* fix build
2017-12-07 12:17:11 +01:00
Svyatoslav Nikolsky
5d792324e6 Merge branch 'master' into secretstore_kovan 2017-12-06 19:56:54 +03:00
Ellaismer
dd0fba96a4 Add registrar for ellaism
Provided by @5chdn
2017-12-06 22:46:19 +08:00
Ellaismer
2d3073fc02 Remove compatibility fields to pass chainspec test for Ellaism 2017-12-06 21:01:03 +08:00
Ellaismer
dcf6e1d83d Add basic Elliasm config 2017-12-06 20:46:24 +08:00
Takehiro Miyao
3284020b04 mistake comment in calc difficulty (#7154) 2017-12-05 16:06:04 +01:00
Tomasz Drwięga
7e3872fddc Maximum uncle count transition (#7196)
* Enable delayed maximum_uncle_count activation.

* Fix tests.

* Defer kovan HF.
2017-12-05 15:57:45 +01:00
Robert Habermeier
e85c98e09a
Merge pull request #7075 from miyao-gmo/feature/estimate_gas_limit
escape inifinite loop in estimte_gas
2017-12-04 15:29:23 +01:00
Arkadiy Paronyan
dde6baedec
Removed ethcore-util dependency from ethcore-network (#7180)
* Removed ethcore-util dependency

* Removed snappy
2017-12-02 10:08:04 +01:00
NikVolf
4f12e1dab1 pwasm-run-test utility upgrade 2017-12-01 16:41:09 +03:00
Takehiro Miyao
ad01f99c44 upper limit is gas limit * 10 in estimate gas 2017-12-01 11:12:11 +00:00
Marek Kotewicz
e8787c1acf
Merge pull request #7142 from paritytech/pwasm-run
WASM test runner utility
2017-11-27 10:16:28 +01:00
Sergey Pepyakin
359b4de3ff WASM Remove blockhash error (#7121)
* Remove blockhash error

* Update tests.
2017-11-26 23:18:58 +03:00
NikVolf
13f3113826 pwasm-run-test utility 2017-11-26 00:06:57 +03:00
Marek Kotewicz
68db425fe8
Merge pull request #7067 from sorpaas/patch-1
ECIP-1039: Monetary policy rounding specification
2017-11-24 15:49:33 +01:00
Wei Tang
8e89be775c
Wrong era used in ECIP1017 test
It is era 49, and should correspond to ECIP1017/ECIP1039's era 50.
2017-11-24 20:17:26 +08:00
Wei Tang
bef85fb876
Add test for ECIP1017 at block 250000000 2017-11-24 19:31:48 +08:00
Svyatoslav Nikolsky
333e0e1637 SecretStore: publish key only if requested through contract 2017-11-24 10:26:24 +03:00
Svyatoslav Nikolsky
12e9c1cebc Merge branch 'master' into secretstore_kovan 2017-11-23 07:27:13 +03:00
Svyatoslav Nikolsky
ea9c8a174c SecretStore: started adding tests for ServiceContractListener 2017-11-22 17:31:34 +03:00
Sergey Pepyakin
3716b09b2e Update wasm-tests 2017-11-21 17:03:14 +03:00
Sergey Pepyakin
66b2db0137 Update gas values 2017-11-21 17:03:14 +03:00
Sergey Pepyakin
7564b05572 Make storage_read/write return nothing 2017-11-21 17:03:13 +03:00
Sergey Pepyakin
3e4e00fc6a spaces to tabs. 2017-11-21 15:39:34 +03:00
Svyatoslav Nikolsky
b5fad300ba Merge branch 'master' into secretstore_kovan 2017-11-20 19:58:01 +03:00
Svyatoslav Nikolsky
af409eba07 SecretSTore: fix after merge from secretstore_kovan_1_8 2017-11-20 19:41:53 +03:00
Svyatoslav Nikolsky
3945a29ee6 SecretStore: mapping requests to KeyServer + requests retry 2017-11-20 19:03:31 +03:00
Svyatoslav Nikolsky
6618827d1a SecretStore: cleaning up service contract listener 2017-11-20 19:03:22 +03:00
Svyatoslav Nikolsky
56875a83b3 SecretStore: Kovan flush2 2017-11-20 19:03:06 +03:00
Nikolay Volf
9798e3c45a
Update panic_payload.rs 2017-11-20 18:12:31 +03:00
Sergey Pepyakin
3d0616c1ae Parse payload from panic
Impl payload

empty str is none

Update tests

Clean

Update wasm-tests
2017-11-20 13:09:57 +03:00
Robert Habermeier
81212c5031 Merge branch 'master' into upload-crates 2017-11-17 16:42:41 +01:00
Wei Tang
b35cc3f716
Change reward calculation to only use divide once 2017-11-16 12:34:04 +08:00
Wei Tang
2ca57d7cdb
ECIP-1039: Monetary policy rounding specification
Fix potential rounding errors between geth and parity in the long-term future.
2017-11-16 12:25:05 +08:00
Marek Kotewicz
605cd5cd9f
Merge pull request #7006 from paritytech/no-uncles
Disable uncles by default
2017-11-15 23:51:49 +01:00
Marek Kotewicz
0230a44b15
Merge pull request #7040 from paritytech/squashed_network_error_chain
squashed ethcore-network changes which introduce error-chain
2017-11-15 18:18:25 +01:00
debris
a22c48b6b0 removed redundant imports 2017-11-14 17:47:41 +01:00
Svyatoslav Nikolsky
abfb9fccd3 SecretStore: Kovan integration initial commit 2017-11-14 14:26:31 +03:00
debris
3cf52dac59 use error-chain in ethcore-network 2017-11-13 16:48:58 +01:00
Sergey Pepyakin
bcdfc50a0b pwasm-std update (#7018) 2017-11-13 00:21:15 +03:00
Robert Habermeier
ec5519ccd1 rename hash crate to keccak-hash 2017-11-10 20:08:28 +01:00
Robert Habermeier
2288bcd1b4 Merge branch 'master' of github.com:paritytech/parity into upload-crates 2017-11-10 18:42:18 +01:00
Robert Habermeier
be092e7c09 prepare cargo configuration for upload of crates 2017-11-10 18:31:31 +01:00
Alexey
df49b4b065
Merge pull request #6967 from paritytech/wasm-elog
Events in WASM runtime
2017-11-10 18:03:32 +03:00
keorn
261c0d5368 no default uncles 2017-11-09 23:56:02 +00:00
Robert Habermeier
d701ed7262
Merge pull request #6874 from paritytech/light-local-tx
Get local transactions by hash in the light client
2017-11-07 11:23:40 -06:00
Robert Habermeier
acdec22d58 Merge branch 'master' into warn-blacklisted 2017-11-07 16:56:57 +01:00
Robert Habermeier
4a07010539 Merge branch 'master' into light-local-tx 2017-11-07 16:56:28 +01:00
Arkadiy Paronyan
85465fc0b1 Skip nonce check for gas estimation (#6997) 2017-11-07 09:21:30 +01:00
NikVolf
bed82e5cc0 elog (events) for wasm runtime 2017-11-05 18:54:35 +03:00
Tomasz Drwięga
ffee6aacff Creating pending block with all transactions from the queue (#6942)
* Allow to include all queue transactions in pending block.

* Fix tests.
2017-11-03 15:20:20 +01:00
Dmitry Kashitsyn
713bba00ac Removes FUTURE_QUEUE_LIMITS_SHIFT (#6962) 2017-11-02 15:06:17 +01:00
Nikolay Volf
f72858ee0a Add hint in ActionParams for splitting code/data (#6957)
* Action params and embedded params handling

* fix namespaces
2017-11-02 12:49:57 +01:00
Tomasz Drwięga
0a69d5ac4c Return decoded seal fields. (#6932) 2017-11-01 11:29:03 +01:00
Tomasz Drwięga
b861ad37a4 Reserve nonces for signing (#6834)
* Nonce future - reserve and dispatch

* Single thread nonce tests

* Track status of reserved nonces.

* Initialization of nonce reservations.

* Prospective Signer

* Fix cli tests.
2017-11-01 11:23:18 +01:00
Marek Kotewicz
39e27076ad
Merge pull request #6842 from paritytech/td-evm-json
Fix JSON tracing for sub-calls.
2017-10-29 21:47:14 -07:00
Tomasz Drwięga
8dfdebc2a2 Refactor static context check in CREATE. (#6886)
* Refactor static context check in CREATE.

* Fix wasm.
2017-10-25 11:27:18 +02:00
David Dorgan
bdf1e6afcc Revert "Sync parity-ewf with parity"
This reverts commit f7ba063b22.
2017-10-24 13:31:58 +01:00
David Dorgan
f7ba063b22 Sync parity-ewf with parity 2017-10-24 12:31:50 +01:00
Tomasz Drwięga
b98150526c Fix serialization of non-localized transactions (#6868)
* Fix serialization of non-localized transactions.

* Return proper SignedTransactions representation.
2017-10-24 12:13:00 +02:00
Tomasz Drwięga
1253a5c577
Merge branch 'master' into td-evm-json 2017-10-24 09:16:51 +02:00
Robert Habermeier
dd13526f6c warn when blacklisted account present in store 2017-10-24 09:04:28 +02:00
Robert Habermeier
965dff3d32 light: get local transactions by hash 2017-10-24 07:30:53 +02:00
Tomasz Drwięga
4ba2587226
Fix serialization of non-localized transactions. 2017-10-23 14:46:36 +02:00
Arkadiy Paronyan
097815cb71 Ethstore optimizations (#6827) 2017-10-20 20:20:41 +02:00
Tomasz Drwięga
2d222a5920
Capture traces and write some tests. 2017-10-20 16:06:36 +02:00
Tomasz Drwięga
4ac406da6b
Merge branch 'master' into td-evm-json 2017-10-20 13:36:45 +02:00
ia
bbe9d73e9a Add ECIP1017 to Morden config (#6810)
* Add ECIP1017 setting to Morden config

* Convert spaces to tabs

* Update Morden bootnodes to match Geth
2017-10-20 12:37:37 +02:00
Dmitry Kashitsyn
153b8572dd Fixes tests 2017-10-17 22:24:47 +07:00
Tomasz Drwięga
2d10cd0ecc
Fixing JSON WiP. Refactor & Write tests. 2017-10-17 14:54:56 +02:00
Dmitry Kashitsyn
c0fc83988f Refactors ethcore to use journaldb crate (#6693) 2017-10-17 11:46:07 +07:00
debris
3830f9b464 fixed failing test 2017-10-16 22:12:17 +02:00
debris
95f0384510 Merge branch 'master' into ipc_cleanup 2017-10-16 18:19:41 +02:00
Marek Kotewicz
bb1be15dc4 Merge pull request #6792 from paritytech/kvdb_error
consistent KeyValueDB errors
2017-10-16 18:19:18 +02:00
debris
16d84f8ecf finished removing ipc 2017-10-16 18:18:43 +02:00
debris
fa019bd03e remove ipc codegen from ethcore 2017-10-16 17:50:25 +02:00
Arkadiy Paronyan
5b29b6d064 Squash remaining warnings (#6789)
* Fixed comment warnings

* Fixed remaining warnings
2017-10-16 12:31:52 +02:00
debris
6dc50d01b5 KeyValueDB trait uses errors instead of strings 2017-10-16 12:11:35 +02:00
Marek Kotewicz
44db0c55c5 Merge pull request #6720 from paritytech/kvdb_split
separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb
2017-10-16 10:57:27 +02:00
Afri Schoedon
774598974e Forward-port #6754 #6755 (#6785) 2017-10-16 10:56:23 +02:00
Marek Kotewicz
8365f4d80e updated ethabi to version 4.0 (#6742)
* updated ethabi to version 4.0

* ethabi 4.0.1
2017-10-16 10:21:35 +02:00
debris
2ce0eae406 Merge branch 'master' into kvdb_split 2017-10-16 10:01:12 +02:00
Dmitry Kashitsyn
92a9fd3359 Uses dash instead of underscore in crate name 2017-10-16 11:05:54 +07:00
Dmitry Kashitsyn
4df541e47a Refactors references to MemoryLruCache in ethcore (#6693) 2017-10-15 21:47:06 +07:00
debris
db3ff67182 Merge branch 'master' into kvdb_split 2017-10-15 16:40:20 +02:00
debris
616cafb04a renamed kvdb_memorydb::in_memory -> kvdb_memorydb::create 2017-10-15 16:17:15 +02:00
debris
d88ec35a6a Merge branch 'master' into kvdb_split 2017-10-15 15:55:44 +02:00
Dmitry Kashitsyn
3df67b376b Removes redundant mut in ethcore 2017-10-15 20:10:20 +07:00
Arkadiy Paronyan
b0c15497e1 Fixed kovan chain validation (#6758)
* Fixed kovan chain validation

* Fork detection

* Fixed typo
2017-10-14 21:59:26 +02:00
Marek Kotewicz
190c1dcede removed redundant evm deps (#6757) 2017-10-14 19:29:09 +02:00
debris
b277c3810f Merge branch 'master' into kvdb_split 2017-10-13 16:27:12 +02:00
Arkadiy Paronyan
691e93834c Fixed modexp gas calculation overflow (#6741) 2017-10-13 16:06:53 +02:00
debris
5c220ab64b Merge branch 'master' into kvdb_split 2017-10-13 12:18:49 +02:00
Arkadiy Paronyan
f3ea2f354e v1.9.0 (#6727) 2017-10-12 23:44:02 +02:00
debris
f36b4e0fca fixed wrong kvdb import in json_tests 2017-10-12 17:05:32 +02:00
Marek Kotewicz
e51e54eeeb Merge pull request #6694 from paritytech/no-sleep
Prevent going offline when restoring or taking a snapshot
2017-10-12 15:54:29 +02:00
debris
eb526b7769 separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb, #6693 2017-10-12 15:36:27 +02:00
arkpar
301190a16f
Fixed RETURNDATA out of bounds check 2017-10-12 12:57:27 +02:00
arkpar
99143c5872
Prevent going offline when restoring or taking snapshot 2017-10-12 12:37:03 +02:00
Marek Kotewicz
bfff19ca9f Merge pull request #6705 from paritytech/serde-migration
Removes  dependency on rustc_serialize (#5988)
2017-10-11 18:17:40 +02:00
Arkadiy Paronyan
7029dda87c Fixed potential exp len overflow (#6686) 2017-10-11 16:41:28 +02:00
Dmitry Kashitsyn
604cdde71d Fixes bench and removes rustc_serialize dependency (#5988) 2017-10-11 17:39:12 +07:00
debris
025c5aebc9 Merge branch 'master' into difficulty-tests 2017-10-10 20:10:24 +02:00
Marek Kotewicz
6279ff32f5 Separate migrations from util (#6690)
* separate migration from util and make its dependencies into libs:

* snappy
* kvdb
* error
* common

* renamed common -> macros

* util error does not depend on snappy module

* ethsync does not depend on util nor ethcore_error

* nibbleslice and nibblevec merged with patricia_trie crate

* removed unused dependencies from util

* util journaldb traits does not need to be public

* util_error

* fixed ethcore compile error

* ignore .swo files

* Update chain.rs
2017-10-10 20:01:27 +02:00
arkpar
cc681c623f
Fixed tests after rename 2017-10-10 17:48:37 +02:00
arkpar
e5a7a674f9
Get rid of blockchain test warnings 2017-10-10 16:56:03 +02:00
arkpar
7234a7c630
Difficulty tests 2017-10-10 14:51:12 +02:00
Nikolay Volf
1601030081 WASM gas schedule (#6638)
* some failing tests

* finalize

* fallable -> fallible

* alter mul/div/static_i64

* Update schedule.rs

* to u32

* balance charge also

* review fixes

* remove redundant line
2017-10-09 13:12:58 +02:00
Marek Kotewicz
65ca2f9a07 Merge pull request #6660 from paritytech/byzantium-fork
Byzantium fork block number
2017-10-09 11:25:49 +02:00
Marek Kotewicz
de0d12d73c Merge pull request #6652 from paritytech/returndatasize-builtin-fix
Fixed RETURNDATA size for built-ins
2017-10-09 11:24:34 +02:00
Robert Habermeier
b010fb5004 Light Client: fetch transactions/receipts by transaction hash (#6641)
* rpc: transaction/receipt requests made async

* rpc: light client fetches transaction and uncle by hash/index

* on_demand: request type for transaction index

* serve transaction index requests in light protocol

* add a test for transaction index serving

* fetch transaction and receipts by hash on light client

* fix decoding tests

* light: more lenient cost table parsing (backwards compatible)

* fix tests and warnings

* LES -> PIP

* Update provider.rs

* proper doc comments for public functions
2017-10-08 18:19:27 +02:00
Afri Schoedon
360ecd3728 Add Musicoin and MCIP-3 UBI hardfork. (#6621)
* Add musicoin chain spec.

* Add musicoin to parity node

* Add musicoin to the wallet

* Add i18n for musicoin

* Align musicoin chain spec with 1.8, ref #6134

* Update musicoin bootnodes

* Prepare MCIP-3 in musicoin chain spec.

* Update musicoin chain spec with contract addresses for MCIP-3

* Extend ethash params by MCIP-3

* Fix musicoin chain spec json

* Use U256 for block rewards.

* Update musicoin registrar

* Fix merge leftovers

* Update musicoin chain spec for latest master

* Bestow MCIP-3 block reward(s).

* Update musicoin registry once and for all

* Align MCIP-3 block reward with go implementation

* Remove mcip3 test chain spec from repository

* Update MCIP-3 block rewards

* Musicoin homestead transition is at 1_150_000

* Expect mcip3 transtion to be properly defined in chain spec.

* Panic handling for mcip to default to regular block rewards if not specified

* Giving mcip3 rewards a useful default value.

* Fix ethjson tests.

* Update musicoin chain spec

* Fix tests 0:)

* Add musicoin mcip3 era test spec.

* Update musicoin chain spec(s)

* Add tests for mcip3 era block rewards

* Fix tests

* Disable byzantium for musicoin

* Pass miner reward to the tracer.

* Allow modifying blockreward in MCIP-3 transition.
2017-10-08 18:17:59 +02:00
Robert Habermeier
59365b0133 fix aura backcompat: revert to manual encoding/decoding of transition proofs (#6665) 2017-10-06 17:36:26 +02:00
arkpar
07c63c14f3
Byzantium fork block number 2017-10-06 09:47:04 +02:00
arkpar
6a1eea1b3d
Fixed RETURNDATA size for built-ins 2017-10-05 19:31:29 +02:00
Robert Habermeier
bae6a5eeec move additional_info to engines, fixes registry on non-ethash chains 2017-10-05 15:34:30 +02:00
Tomasz Drwięga
e8b418ca03 Update jsonrpc dependencies and rewrite dapps to futures. (#6522)
* Bump version.

* Fix RPC crate.

* Fix BoxFuture in crates.

* Compiles and passes tests!

* Get rid of .boxed()

* Fixing issues with the UI.

* Remove minihttp. Support threads.

* Reimplement files serving to do it in chunks.

* Increase chunk size.

* Remove some unecessary copying.

* Fix tests.

* Fix stratum warning and ipfs todo.

* Switch to proper branch of jsonrpc.

* Update Cargo.lock.

* Update docs.

* Include dapps-glue in workspace.

* fixed merge artifacts

* Fix test compilation.
2017-10-05 12:35:01 +02:00
fro
6956d218b5 address balance extern provided for wasm 2017-10-04 19:09:18 +03:00
Nikolay Volf
4260910db6 WASM Runtime refactoring (#6596)
* refactoring to new pwasm-std

* pass reference

* remove ref

* missing underscores
2017-10-04 13:15:59 +02:00
Svyatoslav Nikolsky
5e83ff8835 fix compilation 2017-10-03 12:59:48 +03:00
Anton Gavrilov
0a5c9b0465 Add pagination for trace_filter rpc method (#6312)
* Optional offset and count added on client level

* Rpc interface extended

* Tests corrected

* Filtering code refactored a little bit

* Offset type was changed to usize

* Handling of block hash in offset added

* Offset reworked to number

* Trailing comma removed

* Import for Quantity type added

* Offset and count moved into filter object

* Lost comma removed

* Return empty vec instead of None in case of incorrect range
2017-10-03 10:03:46 +02:00
Robert Habermeier
bc167a211b Generalize engine trait (#6591)
* move common forks and parameters to common params

* port specs over to new format

* fix RPC tests

* parity-machine skeleton

* remove block type

* extract out ethereum-specific methods into EthereumMachine

* beginning to integrate Machine into engines. dealing with stale transitions in Ethash

* initial porting to machine

* move block reward back into engine

* abstract block reward logic

* move last hash and DAO HF logic into machine

* begin making engine function parameters generic

* abstract epoch verifier and ethash block reward logic

* instantiate special ethereummachine for ethash in spec

* optional full verification in verify_block_family

* re-instate tx_filter in a way that works for all engines

* fix warnings

* fix most tests, further generalize engine trait

* uncomment nullengine, get ethcore tests compiling

* fix warnings

* update a bunch of specs

* re-enable engine signer, validator set, and transition handler

* migrate basic_authority engine

* move last hashes into executedblock

* port tendermint

* make all ethcore tests pass

* json-tests compilation

* fix RPC tests: change in gas limit for new block changed PoW hash

* fix minor grumbles

* validate chainspecs

* fix broken import

* fix transaction verification for pre-homestead
2017-09-26 14:19:08 +02:00
Jef
5c08698fa0 Use memmap for dag cache (#6193)
* Rebase and fix compilation errors (tests not yet fixed)

* Use `debug_assert` over `assert`

* Fix tests

* Assert safety, clean up

* Fix up stale cache removal, move one assert to debug_assert

* Remove printlns

* Add licenses

* Fix benches

* Inline some no-ops in a hot loop that weren't being inlined

* Add spooky comment to make sure no-one removes the inlining annotations

* Minor cleanup

* Add option to switch between mmap and ram

* Flag ethash to use less memory when running light client

* Fix tests

* Remove todo comment (it's done)

* Replace assertion with error return

* Fix indentation

* Use union instead of `transmute`

* Fix benches

* Extract to constants

* Clean up and fix soundness holes

* Fix formatting

* Ignore missing-file errors

* Make incorrect cache size an error condition instead of a panic, remove dead code

* Fix compilation errors from rebase

* Fix compilation errors in tests

* Fix compilation errors in tests
2017-09-25 19:45:33 +02:00
Lorenzo Manacorda
aab1cf020c
Rename builder module to batch 2017-09-24 20:09:40 +02:00
Lorenzo Manacorda
5f025cc1b8
Rename Requests to Batch 2017-09-24 20:09:30 +02:00
Arkadiy Paronyan
4dc7d3dc45 Fixed receipt serialization and RPC (#6555) 2017-09-21 10:11:53 +02:00
Marek Kotewicz
f38d34919b Random cleanups / improvements to a state (#6472) 2017-09-19 11:34:13 +02:00
Arkadiy Paronyan
1b6d840ada Ropsten fork (#6533) 2017-09-18 11:12:42 +02:00
Arkadiy Paronyan
25b35ebddd Byzantium updates (#5855)
* EIP-211 updates

* benchmarks

* blockhash instruction gas cost updated

* More benches

* EIP-684

* EIP-649

* EIP-658

* Updated some tests

* Modexp fixes

* STATICCALL fixes

* Pairing fixes

* More STATICALL fixes

* Use paritytech/bn

* Fixed REVERTing of contract creation

* Fixed more tests

* Fixed more tests

* Blockchain tests

* Enable previously broken tests

* Transition test

* Updated tests

* Fixed modexp reading huge numbers

* Enabled max_code_size test

* Review fixes

* Updated pairing pricing

* missing commas (style)

* Update test.rs

* Small improvements

* eip161abc
2017-09-15 21:07:54 +02:00
Hawstein
dd7a60c7a8 rename trie to patricia-trie 2017-09-15 11:49:26 +08:00
Hawstein
ade37be25b separate trie from util and make its dependencies into libs:
* bytes
* hashdb
* memorydb
* nibbleslice
* nibblevec
2017-09-15 11:03:53 +08:00
Alexey
79659bdc76 WASM sha3 test (#6512)
* sha3 test for empty input implemented

* rename sha3-> keccak

* update keccak test. Now it expects input to hash

* fix gas_left in tests
2017-09-14 19:32:29 +02:00
Fredrik Harrysson
75b6a31e87 Trezor Support (#6403)
* Copy modal from keepkey branch and generalize

The keepkey PinMatrix modal needs to be the same for Trezor, but we
should probably try to keep it general since it can be used for both.

* Add trezor communication code

This is a result of much trial-and-error and a couple of dead-ends in
how to communicate and wire everything up.

Code here is still a bit WIP with lots of debug prints and stuff.

The test works though, it is possible to sign a transaction.

* Extend the basic lib to allow Trezor

This is kind of ugly and needs some cleanup and generalization. I’ve
just copy-pasted some things to bring in the trezor wallets. I’ve also
had to add a lock to the USB API so that only one thing talks to the
USB at once.

* Add RPC plumbing needed

We need to be able to get “locked” devices from the frontend to figure
out if we’re going to display the PinMatrix or not. Then we need to be
able to send a pin to a device.

* Add logic to query backend for Trezor and display PinMatrix

There’s a bug somewhere here because signing a transaction fails if you
take too long to press the confirm button on the device.

* Change back to paritytech branch

As my fork has been merged in.

* Converting spaces to tabs, as it should be

* Incorporate correct handling of EIP-155

Turns out the Trezor was adjusting the v part of the signature, and
we’re already doing that so it was done twice.

* Some circular logic here that was incorrect

BE-encoded U256 is almost the same as RLP encoded without the
size-byte, except for <u8 sized values. What’s really done is
BE-encoded U256 and then left-trimmed to the smallest size. Kind of
obvious in hindsight.

* Resolve issue where not clicking fast enough fails

The device will not repeat a ButtonRequest when you read from it, so
you need to have a blocking `read` for whatever amount of time that you
want to give the user to click. You could also have a shorter timeout
but keep retrying for some amount of time, but it would amount to the
same thing.

* Scan after pin entry to make accepting it faster

* Remove ability to cancel pin request

* Some slight cleanup

* Probe for the correct HID Version to determine padding

* Move the PinMatrix from Accounts to Application

* Removing unused dependencies

* Mistake in copying over stuff from keepkey branch

* Simplify FormattedMessage

* Move generated code to external crate

* Remove ethcore-util dependency

* Fix broken import in test

This test is useless without a connected Trezor, not sure how to make
it useful without one.

* Merge branch 'master' into fh-4500-trezor-support

# Conflicts:
#	rpc/src/v1/helpers/dispatch.rs

* Ignore test that can't be run without trezor device

* Fixing grumbles

* Avoiding owning data in RPC method
* Checking for overflow in v part of signature
* s/network_id/chain_id
* Propagating an error from the HID Api
* Condensing code a little bit

* Fixing UI.

* Debugging trezor.

* Minor styling tweak

* Make message type into an actual type

This makes the message type that the RPC message accepts into an actual
type as opposed to just a string, based on feedback. Although I’m not
100% sure this has actually improved the situation.

Overall I think the hardware wallet interface needs some refactoring
love.

* Split the trezor RPC endpoint

It’s split into two more generic endpoints that should be suitable for
any hardware wallets with the same behavior to sit behind.

* Reflect RPC method split in javascript

* Fix bug with pin entry

* Fix deadlock for Ledger

* Avoid having a USB lock in just listing locked wallets

* Fix javascript issue (see #6509)

* Replace Mutex with RwLock

* Update Ledger test

* Fix typo causing faulty signatures (sometimes)

* *Actually* fix tests

* Update git submodule

Needed to make tests pass

* Swap line orders to prevent possible deadlock

* Make setPinMatrixRequest an @action
2017-09-14 19:28:43 +02:00
ivegotasthma
e9abcb2f6d Fix compiler warning (#6491) 2017-09-12 09:16:39 +02:00
Svyatoslav Nikolsky
03e039b13d wasm: math_sub_with_overflow test (#6474) 2017-09-11 11:43:33 +02:00
Nicolas Gotchac
f1a050366f Fix slow balances (#6471)
* Update token updates

* Update token info fetching

* Update logger

* Minor fixes to updates and notifications for balances

* Use Pubsub

* Fix timeout.

* Use pubsub for status.

* Fix signer subscription.

* Process tokens in chunks.

* Fix tokens loaded by chunks

* Linting

* Dispatch tokens asap

* Fix chunks processing.

* Better filter options

* Parallel log fetching.

* Fix signer polling.

* Fix initial block query.

* Token balances updates : the right(er) way

* Better tokens info fetching

* Fixes in token data fetching

* Only fetch what's needed (tokens)

* Fix linting issues

* Revert "Transaction permissioning (#6441)"

This reverts commit eed0e8b03a.

* Revert "Revert "Transaction permissioning (#6441)""

This reverts commit 8f96415e58dde652e5828706eb2639d43416f448.

* Update wasm-tests.

* Fixing balances fetching

* Fix requests tracking in UI

* Fix request watching

* Update the Logger

* PR Grumbles Fixes

* PR Grumbles fixes

* Linting...
2017-09-10 18:03:35 +02:00
Nikolay Volf
ee14a3fb31 WASM runtime update (#6467)
* refactor to new parity-wasm

* more errors refactoring

* final test

* update tests

* fix merge bugs
2017-09-10 18:02:31 +02:00
Robert Habermeier
ffced4e17f fix test build 2017-09-05 21:24:15 +02:00
Robert Habermeier
7d1c7a0474 allow optional casting of engine client to full client 2017-09-05 17:55:14 +02:00
Robert Habermeier
ad39446e87 Revert "fixed master (#6465)"
This reverts commit 899538ae25.
2017-09-05 17:54:05 +02:00
debris
4e66d3ca21 fixed old import in json-tests 2017-09-05 15:25:06 +02:00
debris
14d00a7f72 Merge branch 'master' into util_error_chain 2017-09-05 14:58:35 +02:00
Marek Kotewicz
899538ae25 fixed master (#6465)
* fixed master

* Revert "Merge pull request #6370 from paritytech/light-poa"

This reverts commit 3c60f99def, reversing
changes made to b731ccea18.
2017-09-05 14:53:09 +02:00
Tomasz Drwięga
7462a69583 eth_call returns output of contract creations (#6420)
* eth_call returns output of contract creations

* Fix parameters order.

* Save outputs for light client as well.
2017-09-05 12:22:19 +01:00
debris
0a71ee95af Merge branch 'master' of github.com:paritytech/parity into util_error_chain 2017-09-05 12:38:15 +02:00
Marek Kotewicz
c49beccadc Merge pull request #6459 from paritytech/fo-6418-dont-export-bigint
Refactor: Don't reexport bigint from util
2017-09-05 12:38:03 +02:00
debris
3497eab26c Merge branch 'fo-6418-dont-export-bigint' of github.com:paritytech/parity into util_error_chain 2017-09-05 12:15:39 +02:00
debris
236b6f1c3e UtilError uses error_chain!, moved OutOfBounds and Mismatched to unexpected crate 2017-09-05 12:14:03 +02:00
Fredrik
2b39af1f09 Updating imports that were introduced with merge 2017-09-05 12:08:02 +02:00
Arkadiy Paronyan
eed0e8b03a Transaction permissioning (#6441) 2017-09-05 10:39:50 +01:00
Fredrik Harrysson
dccdedc001 Merge branch 'master' into fo-6418-dont-export-bigint 2017-09-05 10:48:54 +02:00
Fredrik
d1930ac708 Fix missing imports in tests I had missed 2017-09-05 10:18:21 +02:00
Fredrik
a688370c9d Remove now unnecessary util glob imports 2017-09-05 10:18:07 +02:00
Fredrik
e54784bfeb Merge branch 'master' into fo-6418-dont-export-bigint
# Conflicts:
#	dapps/src/tests/helpers/registrar.rs
#	ethcore/evm/src/interpreter/shared_cache.rs
#	ethcore/light/src/client/header_chain.rs
#	ethcore/light/src/client/mod.rs
#	ethcore/light/src/net/mod.rs
#	ethcore/light/src/on_demand/request.rs
#	ethcore/light/src/on_demand/tests.rs
#	ethcore/light/src/provider.rs
#	ethcore/node_filter/src/lib.rs
#	ethcore/src/block.rs
#	ethcore/src/blockchain/blockchain.rs
#	ethcore/src/client/test_client.rs
#	ethcore/src/engines/authority_round/mod.rs
#	ethcore/src/engines/basic_authority.rs
#	ethcore/src/engines/mod.rs
#	ethcore/src/engines/tendermint/mod.rs
#	ethcore/src/engines/validator_set/contract.rs
#	ethcore/src/engines/validator_set/multi.rs
#	ethcore/src/engines/validator_set/safe_contract.rs
#	ethcore/src/engines/vote_collector.rs
#	ethcore/src/miner/external.rs
#	ethcore/src/miner/miner.rs
#	ethcore/src/miner/service_transaction_checker.rs
#	ethcore/src/miner/work_notify.rs
#	ethcore/src/pod_account.rs
#	ethcore/src/pod_state.rs
#	ethcore/src/snapshot/block.rs
#	ethcore/src/snapshot/consensus/work.rs
#	ethcore/src/snapshot/mod.rs
#	ethcore/src/snapshot/service.rs
#	ethcore/src/spec/spec.rs
#	ethcore/src/state/backend.rs
#	ethcore/src/trace/db.rs
#	ethcore/src/verification/queue/mod.rs
#	ethcore/src/verification/verification.rs
#	parity/informant.rs
#	rpc/src/v1/helpers/dispatch.rs
#	rpc/src/v1/helpers/light_fetch.rs
#	rpc/src/v1/helpers/signing_queue.rs
#	rpc/src/v1/impls/eth.rs
#	rpc/src/v1/impls/eth_filter.rs
#	rpc/src/v1/impls/eth_pubsub.rs
#	rpc/src/v1/impls/light/eth.rs
#	rpc/src/v1/impls/signing.rs
#	rpc/src/v1/tests/helpers/miner_service.rs
#	rpc/src/v1/tests/helpers/snapshot_service.rs
#	rpc/src/v1/tests/helpers/sync_provider.rs
#	rpc/src/v1/tests/mocked/eth.rs
#	stratum/src/lib.rs
#	sync/src/blocks.rs
#	sync/src/chain.rs
#	sync/src/light_sync/mod.rs
#	sync/src/tests/helpers.rs
#	sync/src/tests/snapshot.rs
#	updater/src/updater.rs
#	util/src/lib.rs
#	util/triehash/src/lib.rs
2017-09-04 18:32:55 +02:00
Fredrik
308f36a532 Don't reexport bigint from util 2017-09-04 16:36:49 +02:00
Robert Habermeier
7ac3dd0889 Merge branch 'light-poa' of github.com:paritytech/parity into light-poa 2017-09-04 12:49:06 +02:00
Robert Habermeier
ffde22e711 move genesis_epoch_data function to spec 2017-09-04 12:46:32 +02:00
Robert Habermeier
e69e8254db instantiate genesis epoch data if nonexistant in header_chain 2017-09-04 12:37:03 +02:00
Robert Habermeier
372779915f Merge branch 'master' into light-poa 2017-09-04 12:30:37 +02:00
Marek Kotewicz
b731ccea18 triehash is separated from util (#6428) 2017-09-03 09:11:14 +02:00
Hawstein
7b8af30590 remove re-export of parking_lot in util (#6435) 2017-09-02 20:09:13 +02:00
Hawstein
1d95fe481f fix modexp bug: return 0 if base=0 (#6424) 2017-09-02 20:08:34 +02:00
Hawstein
2faa28ce9b separate semantic_version from util (#6438) 2017-09-02 13:14:21 +02:00
Hawstein
0b5285c282 move timer.rs to ethcore (#6437) 2017-09-02 10:54:39 +02:00
Arkadiy Paronyan
ffae847b48 spacing around comas 2017-09-02 09:57:53 +02:00
Hawstein
cf366bdb29 util should not reexport ansi_term 2017-09-01 22:57:57 +08:00
debris
94f717a255 Merge branch 'master' into keccak_fn 2017-08-31 11:53:26 +02:00
debris
7849fff41e finished 2017-08-31 11:35:41 +02:00
debris
f0e8abb07b Hashable::sha3 -> fn keccak for ethcore 2017-08-30 19:18:28 +02:00
Robert Habermeier
abfa8e95a2 Merge branch 'master' into light-poa 2017-08-30 18:18:52 +02:00
Axel Chalon
6b5ad69c22 Remove reexport of HeapSizeOf in util (#6419) 2017-08-30 16:04:47 +02:00
debris
8a420d6580 fixed merge 2017-08-30 14:37:02 +02:00
debris
88200a1193 Merge branch 'master' into Fix-4858 2017-08-30 14:30:39 +02:00
Robert Habermeier
4e1fefc8ea test balance of spec-constructed account is kept 2017-08-30 11:57:48 +02:00
Robert Habermeier
c1c7d7a3e2 ensure balances of constructor accounts are kept 2017-08-29 17:02:38 +02:00
Robert Habermeier
36d046f3ca do not activate genesis epoch in immediate transition validator contract (#6349) 2017-08-29 15:16:24 +02:00
Robert Habermeier
d3c3e0b164 Merge branch 'master' into light-poa 2017-08-29 15:14:58 +02:00
Gav Wood
e3666457cf Consistent use of ,s 2017-08-29 15:12:58 +02:00
Gav Wood
50495c6898 Merge branch 'master' into Fix-4858 2017-08-29 15:11:05 +02:00
Arkadiy Paronyan
d520aa2633 Connection filter (#6359) 2017-08-29 14:38:01 +02:00
Tomasz Drwięga
b8e6799d67
Don't accept transactions above block gas limit. 2017-08-29 10:50:13 +02:00
Marek Kotewicz
e7cc0477fb Merge pull request #6399 from paritytech/evm-trace-fix
Fix memory tracing.
2017-08-28 18:53:22 +02:00
Tomasz Drwięga
f9a08e285c Running state test using parity-evm (#6355)
* Initial version of state tests.

* Refactor state to support tracing.

* Unify TransactResult.

* Add test.
2017-08-28 14:25:16 +02:00
Nikolay Volf
abecd80f54 Wasm math tests extended (#6354)
* extend math tests

* use latest wasm-tests

* cleanup

* avoid overflow

* use correct gas-

* and division
2017-08-28 14:12:40 +02:00
Tomasz Drwięga
4f69ee0437
Add test to cover that. 2017-08-28 12:32:19 +02:00
debris
faf0428b60 fixed pending block panic, closes #6239 2017-08-27 13:10:08 +02:00
Tomasz Drwięga
dd3b6d49ee
Fix memory tracing. 2017-08-26 21:53:41 +02:00
Robert Habermeier
c79ecee094 only load ancestry from chain closure in engine 2017-08-24 16:29:31 +02:00
Robert Habermeier
b953f9b66a glue for fetching epoch proofs from network 2017-08-24 15:17:48 +02:00
Robert Habermeier
871a9c063e Merge branch 'master' into light-poa 2017-08-23 15:49:02 +02:00
Robert Habermeier
2ff3dff6ea serve epoch signals over network and check them 2017-08-23 15:37:35 +02:00
Robert Habermeier
7f3e718851 EngineClient implementation for light client 2017-08-22 21:02:40 +08:00
Arkadiy Paronyan
d41dd13918 Tweaked snapshot params (#6344) 2017-08-22 11:24:56 +02:00
Robert Habermeier
b4d3f78d67 Merge pull request #6345 from paritytech/networkid
Rename network_id to chain_id where applicable.
2017-08-22 17:01:23 +08:00
Robert Habermeier
9ae2ed39ec only use engineclient trait for engines, separated from client trait 2017-08-22 16:00:44 +08:00
Tomasz Drwięga
73644adf69
Rename network_id to chain_id where applicable. 2017-08-21 14:23:10 +02:00
Robert Habermeier
2985561012 detect epoch changes in light client 2017-08-21 18:31:25 +09:00
debris
a247d5b2dc Merge branch 'master' into itertools 2017-08-21 09:12:36 +02:00
Nikolay Volf
9e4c122cf3 WASM math test (#6305)
* wasm tests initial

* fix bug in bitswap
2017-08-20 12:02:59 +08:00
Marek Kotewicz
407c8c3fb9 rlp_derive (#6125)
* rlp_derive

* RlpEncodableWrapper, RlpDecodableWrapper

* use rlp_derive in parity

* fixed broken transaction Action serialization
2017-08-20 12:01:46 +08:00
Robert Habermeier
6ab0fc4e14 epoch transitions in the header chain DB 2017-08-19 17:07:31 +09:00
debris
4cb610d9ae Itertools are no longer reexported from util, optimized triedb iter 2017-08-17 16:05:26 +02:00
Tomasz Drwięga
a34bea1dad
Fix balance increase. 2017-08-15 10:07:00 +02:00
Robert Habermeier
1e269c94a6 prove_transaction function on state 2017-08-15 00:12:40 +02:00
Nikolay Volf
4ab607d4de wasm-std refactoring (#6278) 2017-08-14 12:33:52 +03:00
Anton Gavrilov
bfd238e000 Style fixed after review 2017-08-10 12:36:29 +02:00
Svyatoslav Nikolsky
33ba5b63f3 SecretStore: encrypt messages using private key from key store (#6146)
* do not cache ACL storage contract

* when error comes before initialization

* initial KeyServerSet commit

* update_nodes_set in maintain

* do not connect to self

* fixed connection establishing

* removed println

* improved KeyServerSet tracing

* moved parsing to KeyServerSet

* re-read only when blockchain is changed

* do not try to connect if not a part of cluster

* improved logging

* fixed tests

* NodeKeyPAir trait

* fixed parity to use new trait

* continue integrating with parity

* updated parity for NodeKeyPair

* completed KeyStoreNodeKeyPair

* removed comment

* removed dependency && style
2017-08-09 11:09:40 +02:00
Alexey
d209100a60 Wasm storage read test (#6255)
* Test for read from prepopulated storage implemented

* wasm-tests submodule update

* fix identation

* comment for storage_read added
2017-08-09 10:57:54 +02:00
Marek Kotewicz
78b3d71745 propagate stratum submit share error upstream, fixes #6258 (#6260) 2017-08-09 10:57:23 +02:00
Marek Kotewicz
e7a7bd6695 Merge pull request #6241 from paritytech/poa-proof-fix
format instant change proofs correctly
2017-08-08 20:58:26 +02:00
Marek Kotewicz
f2929f3b19 Merge pull request #6233 from paritytech/native_contracts_util
native-contracts crate does not depend on util any more
2017-08-08 20:55:36 +02:00
Svyatoslav Nikolsky
872e5537bb SecretStore: do not cache ACL contract + on-chain key servers configuration (#6107)
* do not cache ACL storage contract

* when error comes before initialization

* initial KeyServerSet commit

* update_nodes_set in maintain

* do not connect to self

* fixed connection establishing

* removed println

* improved KeyServerSet tracing

* moved parsing to KeyServerSet

* re-read only when blockchain is changed

* do not try to connect if not a part of cluster

* improved logging

* fixed tests
2017-08-07 18:54:05 +02:00
Robert Habermeier
e43b1084c3 format instant change proofs correctly 2017-08-04 21:43:31 +02:00
Anton Gavrilov
dd91121017 Common method for tracing refactored due to comments on review 2017-08-04 16:06:12 +02:00
Tomasz Drwięga
f157461ee1 Multi-call RPC (#6195)
* Removing duplicated pending state accessors in miner.

* Merge miner+client call.

* Multicall & multicall RPC.

* Sensible defaults.

* Fix tests.
2017-08-04 15:58:14 +02:00
debris
35bfbc39f8 native-contracts crate does not depend on util any more 2017-08-04 15:45:47 +02:00
Anton Gavrilov
655ed93ee8 Common engine method for bestowing rewards created 2017-08-04 11:28:26 +02:00
Robert Habermeier
0abf2abc81 checking for signals in the light client 2017-08-03 18:18:19 +02:00
debris
b0f9d73f6a InstantSeal fix 2017-08-03 16:42:56 +02:00
Anton Gavrilov
30434325a2 Modification of traces moved to engines 2017-08-03 15:55:58 +02:00
Anton Gavrilov
01a02a8985 Wasm test link changed 2017-08-02 19:02:01 +02:00
Anton Gavrilov
01ea968d4f Merge with master 2017-08-02 17:24:34 +02:00
Anton Gavrilov
2e840bc89c Fixed comments after the review 2017-08-02 17:10:06 +02:00
Marek Kotewicz
0c7c34e609 Chainspec validation (#6197)
* chainspec validation

* better error formatting for chainspec

* lint validate_chainspecs.sh

* quit takes &str instead of S: AsRef<str>

* push CI

* don't double check spec validity
2017-08-02 12:50:36 +02:00
debris
a2c05123fd Merge branch 'master' into split 2017-08-01 14:24:47 +02:00
NikVolf
c1108da6e9 fixed wasm tests 2017-08-01 14:35:43 +03:00
NikVolf
017430e803 fixed evm tests 2017-08-01 14:33:49 +03:00
Nikolay Volf
b7006034b1 Decouple virtual machines (#6184)
* work in progress for splitting vms

* evm working

* Evm -> Vm

* wasm converted

* ethcore working

* test fixes
2017-08-01 13:37:57 +03:00
Marek Kotewicz
c4025622de Merge pull request #6177 from paritytech/wasm-realloc-test
Realloc test added
2017-08-01 11:04:59 +02:00
Anton Gavrilov
141c2fd34a Fixed comments after review and test after rebase 2017-07-31 18:10:06 +02:00
debris
81b57ceddb Merge branch 'master' into split 2017-07-31 16:19:59 +02:00
fro
fe6bdc870c realloc test contract submodule update 2017-07-31 16:54:26 +03:00
Anton Gavrilov
8826fdb03a Merge with head 2017-07-31 13:49:44 +02:00
Anton Gavrilov
e8095826bf Tabs corrected 2017-07-31 13:42:40 +02:00
Anton Gavrilov
9374e31072 Miner field renamed to author 2017-07-31 13:42:40 +02:00
Anton Gavrilov
1a3f3ffdbf Transaction ids made optional in order to reflect not transactional traces 2017-07-31 13:42:40 +02:00
Anton Gavrilov
45043c3f52 Fixed errors after merge with master 2017-07-31 13:42:40 +02:00
Anton Gavrilov
f2d12aebef Unit tests for tracing reward added 2017-07-31 13:42:40 +02:00
Anton Gavrilov
3fdb912db6 Complete version of tracing test with reward 2017-07-31 13:42:40 +02:00
Anton Gavrilov
5086dc3024 Working test with block reward added 2017-07-31 13:42:34 +02:00
Anton Gavrilov
204a63a00e Warnings removed 2017-07-31 13:40:45 +02:00
Anton Gavrilov
06862c7dee Tracing for rewards added. Without tests for now 2017-07-31 13:40:37 +02:00
Robert Habermeier
003eef982b Move more params to the common section. (#6134)
* move common forks and parameters to common params

* port specs over to new format

* fix RPC tests
2017-07-31 12:34:29 +02:00
Anton Gavrilov
bb043ba2fd Tabs corrected 2017-07-31 12:23:47 +02:00
Anton Gavrilov
94efa3ac19 Miner field renamed to author 2017-07-31 12:06:38 +02:00
debris
48f28fe29c fixed json_tests 2017-07-29 23:19:33 +02:00
debris
c4989ddc44 removed util::common 2017-07-29 22:49:10 +02:00
debris
eecd823d32 util reexports less std 2017-07-29 21:10:14 +02:00
Robert Habermeier
2bd5c3dba7 checking proofs in safe contract 2017-07-28 19:38:52 +02:00
fro
e234b7fdbf realloc test added 2017-07-28 16:38:03 +03:00
Anton Gavrilov
1f3f91136c Transaction ids made optional in order to reflect not transactional traces 2017-07-28 13:41:51 +02:00
Anton Gavrilov
b1935340c8 Fixed errors after merge with master 2017-07-27 19:15:25 +02:00
Anton Gavrilov
af1fbb39ca Unit tests for tracing reward added 2017-07-27 18:23:17 +02:00
Anton Gavrilov
53c3b772dd Complete version of tracing test with reward 2017-07-27 18:21:43 +02:00
Anton Gavrilov
73128039a6 Working test with block reward added 2017-07-27 18:21:36 +02:00
Anton Gavrilov
16f39487ba Warnings removed 2017-07-27 18:20:11 +02:00
Anton Gavrilov
ab6153853b Tracing for rewards added. Without tests for now 2017-07-27 18:19:46 +02:00
fro
8238fb37f3 new env exports added
___syscall140
___syscall146
___syscall54
_llvm_trap
2017-07-27 15:37:59 +03:00
Robert Habermeier
70ef33f6fe Light client improvements (#6156)
* no seal checking

* import command and --no-seal-check for light client

* fix eth_call

* tweak registry dapps lookup

* ignore failed requests to non-server peers
2017-07-27 13:50:12 +02:00
Feynman Liang
5eb8cea6e7 Tendermint epoch transitions (#6085)
* Adds signals_epoch_end to tendermint

* Adds is_epoch_end

* Adds snapshot_components

* Adds tendermint Epoch Verifier

* Fix documentation typos

* Change check_finality_proof to panic

* Fix compilation

* Adds Unconfirmed path to epoch_verifier

* Verify if address is validator in EpochVerifier

* check_finality_proof errors on failure

* Don't share combine/destructure_proofs

* Remove invalid import

* Remove duplicate epoch verifier trait

* Fix docs

* Adds recover stub to tendermint EpochVerifier

* Adds verify_light test

* Avoid boxed closure

* Style fixes
2017-07-26 16:25:32 +01:00
Robert Habermeier
7d348e2260 light client fixes (#6148)
* light client fixes

* fix memory-lru-cache

* clear pending reqs on disconnect
2017-07-26 15:48:00 +02:00
NikVolf
5180919e52 wasm mvp continued 2017-07-24 17:45:15 +03:00
Robert Habermeier
2d0d7150cc remove chunk to restore from pending set only upon successful import (#6112) 2017-07-21 17:24:53 +02:00
Robert Habermeier
253bc333c7 Merge pull request #6092 from paritytech/returndata-fix
Place RETURNDATA behind block number gate
2017-07-19 15:26:28 +02:00
arkpar
9ad0ff960e Place RETURNDATA behind block number gate 2017-07-19 14:34:59 +02:00
Arkadiy Paronyan
d9101b9559 Fixed ethkey CLI build (#6086) 2017-07-19 10:18:30 +02:00
Robert Habermeier
298ea1d748 Bump snap version and tweak importing detection logic (#6079)
* bump last tick just before printing info and restore sync detection

* bump kovan snapshot version

* Fixed sync tests

* Fixed rpc tests
2017-07-18 16:59:33 +02:00
Denis S. Soldatov aka General-Beck
df144a6fcb fix docker build 2017-07-18 16:12:16 +03:00
Andre Silva
c7af702270 Refactor price_info (#6003)
* refactor PriceInfo to use Fetch and reuse the client

* forget Fetch future to keep it running in the background

* update Debug message for price_info::Client

* wrap underlying errors in price_info client

* use debug_struct in price_info client debug implementation

* use global fetch service in price_info client

* rename gas_pricer parameter in RunCmd

* move price_info to its own crate

* fix price_info tests

* replace rustc_serialize with serde_json in price_info

* add documentation for price_info

* remove unused rustc-serialize dependency from ethcore

* fix price_info formatting

* re-export fetch crate in price_info

* remove unused cfg attributes in price_info

* add tests for price_info
2017-07-16 18:22:45 +02:00
Nikolay Volf
895350e77c fix error message (#6065) 2017-07-15 19:58:52 +02:00
Robert Habermeier
99075ad22a Initial Whisper implementation (#6009)
* whisper skeleton

* basic message store

* rallying and message logic

* pass host info to network protocol handlers

* choose who starts rally based on node key

* module reshuffling

* mining messages

* prune messages by low PoW until below size target

* associated error type for ethkey generators and `OsRng` generator

* beginnings of RPC

* generic message handler for whisper

* reshuffle code order

* standard payload encoding and decoding

* basic crypto

* minor restructuring of net code

* implement shh_post

* merge?

* implement filters

* rand trait for hash types

* filter RPCs for whisper

* symmetric encryption of payload

* pub-sub

* filter tests

* use only secure random IDs

* attach arbitrary protocols to network

* basic integration of whisper into Parity

* eagerly prune low PoW entries

* broadcast messages with salted topics

* node info RPC

* fix import

* fix leading zeros calculation

* address minor grumbles
2017-07-14 20:40:28 +02:00
arkpar
debbfc117a Bumped version 2017-07-13 15:52:01 +02:00
Tomasz Drwięga
1aaafa2d11 Limit transaction queue memory & limit future queue (#6038)
* Remove confusing gas_limit in the pool.

* Change defaults

* Limit transaction queue by memory usage.

* Change defaults to something lower.

* Fix rpc test.

* Fix js issues.

* Renamed block_gas_limit
2017-07-13 15:12:25 +02:00
keorn
22261bc2d1 New contract PoA sync fixes (#5991)
* generate proofs on newly-created state

* report only missed steps after first block

* dont report skipped if not signer

* test

* finality tracing and passing valid header to `commit_block`

* avoid proposing multiple times on the same step when validator set changes

* limit benign reports

* Ordering -> AtomicOrdering

* reinstate warning now that spam is reduced

* flush pending transition changes when necessary

* ensure epochs aren't re-zoomed on every block
2017-07-13 09:48:00 +02:00
Robert Habermeier
d365281cce Ethcore crate split part 1 (#6041)
* split out types into separate crate

* split out evm into its own crate
2017-07-12 13:09:17 +02:00
Joseph Mark
0fca4f95d6 Errors & warnings for inappropriate RPCs (#6029)
* Clarify function name

Function checks if sealing is currently underway, not to be confused
with checking whether the engine performs internal sealing.

* Error when work called on internal sealing engine

* Error submitting work for internal sealing engine

* Fix inverted bool and style grumbles

* Add can_produce_work_package to TestMinerService

* Error when setting engine signer on PoW chain

* Unit tests for engine signing

Setting engine signer should fail if chain does not seal internally
or client lacks account provider.

* Tweak TestMinerService

* Fix minor style grumbles
2017-07-12 08:52:18 +02:00
Nikolay Volf
dc51dde112 update deps (#6036) 2017-07-11 12:06:35 +03:00
Axel Chalon
d970237658 Add test for loading the chain specs (#6028)
* Add test for loading the json chain specs

* Remove test on Ethereum specs as it already exists
2017-07-10 19:26:10 +02:00
Nikolay Volf
62210fb932 WASM contracts MVP (#5679)
* lifetime issues

* refactor to new 'native env'

* descriptors and such

* wasm mvp continued

* finalized env/ext bindings

* descriptor -> call_args

* inject gas counter

* result processing and engine activation

* tabify some source files

* needs return new

* wasm tests initial

* erradicate warnings

* origin in the descriptor

* update test repo

* payload verification tests

* identity return payload test

* some test description

* dispersion test

* check length here

* suicidal contract

* engine params

* fix typo

* review fixes

* submodule update

* update - purge reserved space

* doc effort

* more review fixes

* fix error message

* fix dependency url

* reorg error handling

* update submodule

* update utils

* update to latest parity-wasm

* tabify

* fix wasm magic header

* update dependencies

* external create and tests

* update to latest tests

* extra trace info

* Update parity-wasm

* update wasm-utils also

* few traces and result handle change

* alter trace content

* fix issues with optimizer, update to latest parity with validator, etc

* static initialization

* license preamble

* update wasm crates and gas costs

* fix grumbles

* bring back lifetime

* fix compilation
2017-07-10 17:42:10 +02:00
Arkadiy Paronyan
15aebacbe7 --reseal-on-uncle (#5940)
* --reseal-on-uncle

* Optimized uncle check

* Additional uncle check

* Updated comment
2017-07-10 13:36:42 +02:00
Tomasz Drwięga
f4453f77b8 Fix output of parity-evm in case of bad instruction (#5955)
* Fix output of evmbin.

* Use foundation chain settings by default.
2017-07-10 13:23:40 +02:00
Robert Habermeier
67c1f71b6e Proper light client informant and more verification of imported headers (#5897)
* do more validation of imported headers in light client

* generalize informant with traits

* informant implementation for light client

* make comment into TODO

* fix broken test

* disable full checking of headers in light client in sync tests
2017-07-10 13:21:11 +02:00
keorn
f0a6b5d401 azure nodes (#6017) 2017-07-10 13:05:05 +02:00
Tomasz Drwięga
a24b6ad983 Use standard paths for Ethash cache (#5881)
* Use cache path to store ethash files.

* Fixing tests, more flexible API.

* Use AsRef<Path> everywhere.

* Fixing ethcore tests.

* Fix RPC tests.
2017-07-10 12:57:40 +02:00
Robert Habermeier
125aa0aeb4 Merge pull request #5959 from paritytech/dont-compute-hash
Defer code hash calculation.
2017-07-06 19:00:19 +02:00
debris
1c2a4c116a Merge branch 'master' into serdeup 2017-07-06 11:43:46 +02:00
debris
61d8f90530 updated serde to version 1.0 2017-07-06 11:36:15 +02:00
Marek Kotewicz
46183b1cdd bigint upgraded to version 3.0 (#5986)
* bigint upgraded to version 3.0

* fixed missing FromHex import in ethcore tests

* fixed missing FromHex import in rpc tests
2017-07-06 11:26:14 +02:00
Vurich
2e90e02a2c Fix underflow 2017-07-03 17:43:03 +02:00
Robert Habermeier
cc718bb108 Merge pull request #5958 from Vurich/peer-status
Report whether a peer was kept from `Handler::on_connect`
2017-07-03 16:22:50 +02:00
Robert Habermeier
826a4ca0a2 Implement skeleton for transaction index and epoch transition proof PIP messages (#5908)
* add transaction index message without implementing

* add epoch proof fetch and response messages
2017-07-03 12:25:10 +02:00
Vurich
17de29e69a Prevent disconnect from within handler (and style cleanup) 2017-06-30 12:10:12 +02:00
Tomasz Drwięga
f22745eb0a TransactionQueue improvements (#5917)
* Order by id instead of hash.

* Minimal gas price bump.

* Avoid to construct oversized transaction packets.

* Fix RPC.

* Never construct oversized transactions packet.

* Never construct oversized packets.
2017-06-30 11:57:48 +02:00
Tomasz Drwięga
5d9f5e3509
Defer code hash calculation. 2017-06-30 11:30:32 +02:00
Vurich
5eba9078fc Report whether a peer was kept from Handler::on_connect 2017-06-30 11:00:32 +02:00
Tomasz Drwięga
38c00fae88
Merge branch 'master' into evm-defer 2017-06-29 18:42:58 +02:00
Tomasz Drwięga
465c7eeaa2
Defer construction valid_jump_destinations. 2017-06-29 17:43:34 +02:00
Vurich
01ce28bc9a Fix tests 2017-06-29 13:05:33 +02:00
Vurich
3d8dc11442 Upgrade elastic-array to 0.9.0
This is a huge change, which includes some changes to replace code that
originally cloned to reuse allocations instead. The updated
`elastic-array` crate renames its consuming `Vec`-conversion method to
`into_vec`, which means that I can do a simple
`sed -i 's/to_vec/into_vec/'` and then fix the compilation errors.

This commit is probably a minor performance win and definitely a
significant readability win.
2017-06-29 13:05:33 +02:00
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
keorn
d3b2bcdd79 Tendermint fixes (#5415)
* more resilience

* refactor commit

* fix proposal broadcast

* list encoding

* address grumbles

* to into
2017-04-10 20:03:18 +02:00
Robert Habermeier
bbe0eb96f4 Merge branch 'master' into on-demand-priority 2017-04-10 19:53:53 +02:00
Robert Habermeier
5b65f10828 Merge branch 'master' into block_header_rpc 2017-04-10 18:06:28 +02:00
Adrian Brink
645b8e4b0b Fix failing tests 2017-04-07 21:35:42 +02:00
Adrian Brink
2ce5a656e7 Ensure that OnDemand and HeaderChain share the same cache 2017-04-07 21:35:41 +02:00
Adrian Brink
fa88ee148a Add header to cache 2017-04-07 21:35:41 +02:00
Adrian Brink
5e33fe0aa7 Add cache to HeaderChain struct. 2017-04-07 21:35:41 +02:00
Adrian Brink
9552ca7bb3 Change to snakecase 2017-04-07 21:35:41 +02:00
Adrian Brink
3632a98062 Clean up 2017-04-07 21:35:41 +02:00
Adrian Brink
23c76caafa Add header to cache 2017-04-07 21:35:41 +02:00
Adrian Brink
8a7ca6f0ba Add caching to block_header() 2017-04-07 21:34:29 +02:00
Adrian Brink
8ea25eeb3c Add cache to HeaderChain struct. 2017-04-07 21:34:29 +02:00
Adrian Brink
e004e05037 Spelling fixes and link addition about LRU cache in the docs. 2017-04-07 21:34:29 +02:00
Robert Habermeier
68ec7ae41e tests for on_demand 2017-04-07 19:35:39 +02:00
Robert Habermeier
50886fcb31 Merge pull request #5318 from paritytech/snapshot-v2
Snapshot chunks packed by size
2017-04-07 14:45:42 +02:00
Robert Habermeier
5793bb8fac typestrong API 2017-04-06 20:01:09 +02:00
Robert Habermeier
cf75a19e8d Merge branch 'block_header_rpc' into on-demand-priority 2017-04-06 17:59:55 +02:00
Robert Habermeier
d19232a848 use cache in on-demand again 2017-04-06 17:22:05 +02:00
Robert Habermeier
574cfae470 dispatch batched requests 2017-04-06 15:34:48 +02:00
NikVolf
9bcd1245d9 fix typo 2017-04-06 11:04:28 +03:00
Robert Habermeier
3eea77709b convert Request to CheckedRequest 2017-04-05 19:19:04 +02:00
Robert Habermeier
08d8709ef6 checked request for OnDemand 2017-04-05 18:56:01 +02:00
arkpar
03ec27be66 Removed assert 2017-04-05 16:50:06 +02:00
Robert Habermeier
4f843ada3c Merge github.com:paritytech/parity into block_header_rpc 2017-04-05 16:27:32 +02:00
Robert Habermeier
35740456a4 generalize RequestBuilder 2017-04-05 15:02:44 +02:00
Robert Habermeier
8486e79cad Merge pull request #5002 from paritytech/lightcli
Quick'n'dirty CLI for the light client
2017-04-05 13:50:17 +02:00
Robert Habermeier
6b7a286158 Merge pull request #5401 from paritytech/state-proof-gas-limit
set gas limit before proving transactions
2017-04-05 13:50:04 +02:00
arkpar
81db3461fe Added an assert 2017-04-05 12:27:37 +02:00
Robert Habermeier
e2dfea8c12 set gas limit before proving transactions 2017-04-05 12:05:55 +02:00
Robert Habermeier
0d8a2c8c44 CHT key optimization 2017-04-05 11:30:51 +02:00
Svyatoslav Nikolsky
abec06f50c On-chain ACL checker for secretstore (#5015)
* ECDKG protocol prototype

* added test for enc/dec math

* get rid of decryption_session

* added licenses

* fix after merge

* get rid of unused serde dependency

* doc

* decryption session [without commutative enc]

* failed_dec_session

* fixed tests

* added commen

* added more decryption session tests

* helper to localize an issue

* more computations to localize error

* decryption_session::SessionParams

* added tests for EC math to localize problem

* secretstore network transport

* encryption_session_works_over_network

* network errors processing

* connecting to KeyServer

* licenses

* get rid of debug println-s

* fixed secretstore args

* encryption results are stored in KS database

* decryption protocol works over network

* enc/dec Session traits

* fixing warnings

* fix after merge

* on-chain ACL checker proto

* fixed compilation

* fixed compilation

* finally fixed <odd>-of-N-scheme

* temporary commented test

* 1-of-N works in math

* scheme 1-of-N works

* updated AclStorage with real contract ABI

* remove unnecessary unsafety

* fixed grumbles

* wakeup on access denied

* fix after merge

* fix after merge

* moved contract to native-contracts lib
2017-04-03 17:46:51 +02:00
Robert Habermeier
60ce0aee1a Merge branch 'lightcli' into light-filters 2017-04-03 12:55:31 +02:00
Robert Habermeier
394040e22c Merge branch 'master' into lightcli 2017-04-03 12:44:52 +02:00
NikVolf
df72c9c6cc fold multiplication 2017-04-03 12:57:18 +03:00
Robert Habermeier
6aa9005785 parity_getBlockHeaderByNumber and LightFetch 2017-04-03 11:37:07 +02:00
Christopher Franko
41700a6996 Update expanse json with fork at block 600000 (#5351)
* Update expanse json with fork at block 600000

* update exp chainID to 2
2017-04-03 09:59:08 +02:00
Robert Habermeier
c9c8f920d2 Futures-based native wrappers for contract ABIs (#5341)
* initial native contract generator

* get generated code compiling

* unit tests for type codegen

* autogenerate registry contract

* native_contracts entry for registry

* service_transaction_checker

* fixed indentation
2017-04-03 09:40:18 +02:00
Robert Habermeier
8c715e025a Merge branch 'lightcli' into light-filters 2017-04-03 09:03:12 +02:00
Robert Habermeier
3eece20967 Merge branch 'master' into lightcli 2017-04-03 08:58:20 +02:00
Robert Habermeier
21e21f1e02 Merge pull request #5337 from paritytech/kovan-receipt-fix
Kovan warp sync fixed
2017-04-02 18:26:49 +02:00
keorn
84abf5d84f Aura eip155 validation transition (#5362)
* add eip155 validation

* add transition block
2017-04-01 13:21:22 +02:00
NikVolf
d6baadbaf2 fix doc comment about failing 2017-03-31 17:53:26 +03:00
NikVolf
569d63d0c9 fix assertions 2017-03-31 17:46:44 +03:00
NikVolf
2f30b03060 some tests 2017-03-31 17:38:31 +03:00
NikVolf
d34aec29ed finalize 2017-03-31 17:38:30 +03:00
NikVolf
9271dd0cc7 wip 2017-03-31 17:38:30 +03:00
NikVolf
3d2e9efb1e P1, P2 definition 2017-03-31 17:38:30 +03:00
arkpar
b840ab8f8b Compact chunks 2017-03-31 16:31:12 +02:00
Robert Habermeier
d146ae7275 Merge pull request #4999 from paritytech/eip-213
EIP-213 (bn128 curve operations)
2017-03-31 14:54:07 +02:00
keorn
2398311455 add eip155 validation (#5346) 2017-03-30 20:01:19 +02:00
Jan Ziniewicz
5d6dac495e Add new seed nodes (#5345) 2017-03-30 14:49:11 +02:00
arkpar
3915943f57 Kovan warp sync fixed 2017-03-30 13:13:43 +02:00
Tomasz Drwięga
d2394d3ac3 Updating paths to repos. (#5330)
* Updating paths to repos.

* Updating rotor and libusb

* Fixing other occurrences
2017-03-29 15:17:27 +02:00
Tomasz Drwięga
d4684d6302 Separate status for canceled local transactions. (#5319) 2017-03-29 14:43:55 +02:00
Marek Kotewicz
64c098627e updating dependencies (#5028)
* updated docopt, env_logger, semver and regex crates

* updated parking_lot to 0.4

* fixed compiling on linux

* updated igd to 0.6

* updated jsonrpc

* fixed regex related compiler error on linux
2017-03-28 19:06:08 +02:00
Robert Habermeier
1b0a369889 return default accounts from on_demand 2017-03-28 18:55:23 +02:00
Robert Habermeier
73fa0cdc31 eth_block fetching RPCs 2017-03-28 17:15:36 +02:00
Robert Habermeier
da3dd65726 block_hash method for LightChainClient 2017-03-28 11:23:43 +02:00
Arkadiy Paronyan
c7d99c37fb Ropsten revival (#5302) 2017-03-28 10:47:21 +02:00
keorn
a61b1567d0 Strict validation transitions (#4988)
* ability to make validation stricter

* fix consensus

* remove logger
2017-03-28 10:46:52 +02:00
NikVolf
efe0f8449c Merge remote-tracking branch 'origin/master' into eip-213 2017-03-27 18:18:22 +03:00
NikVolf
c313857485 fix error handling 2017-03-27 18:17:49 +03:00
Robert Habermeier
1ca1a4b1cc Merge pull request #5019 from paritytech/snapshot-v2
Fine grained snapshot chunking
2017-03-27 16:57:02 +02:00
Marek Kotewicz
23d3b79d9a eip100b (#5027)
* eip100b

* fix eip100b build and tests

* Conventional comparison order
2017-03-27 11:42:40 +02:00
arkpar
387a5fb03b Doc 2017-03-26 13:26:20 +02:00
NikVolf
34fb39da5b avoid allocating string 2017-03-25 23:30:11 +03:00
arkpar
b0a9c1e0fa Limit by entry count 2017-03-25 15:25:20 +01:00
arkpar
b52c7bba4b Fewer allocations 2017-03-25 13:22:25 +01:00
arkpar
4ef89b5ccb Fine grained snapshot chunking 2017-03-25 13:22:25 +01:00
Robert Habermeier
109012cae8 force earliest era set in snapshot restore (#5021) 2017-03-25 10:00:50 +01:00
NikVolf
434ed1b91c remove alt_ 2017-03-24 15:35:00 +03:00
Robert Habermeier
ac057ebe93 fix test build 2017-03-23 22:36:15 +01:00
Robert Habermeier
a78068cbe9 queue culling and informant 2017-03-23 22:20:00 +01:00
Robert Habermeier
e0a79699ea transaction propagation on a timer 2017-03-23 20:31:20 +01:00
Robert Habermeier
45c0a97142 fix body encoding 2017-03-23 18:52:54 +01:00
Robert Habermeier
5700f4ac81 fix block response decoding 2017-03-23 18:31:16 +01:00
Robert Habermeier
974f89d5bf correct workaround for RLP issue 2017-03-23 16:00:00 +01:00
Robert Habermeier
10a470a5fa better bookkeeping of requests in light sync 2017-03-23 15:44:16 +01:00
Robert Habermeier
c75b49667e workaround for #5008 2017-03-23 14:49:02 +01:00
Robert Habermeier
1485dd07ae use prev credits in tracing 2017-03-23 14:38:32 +01:00
Robert Habermeier
54eb575000 request tests that demonstrate broken RLP behavior 2017-03-23 14:38:23 +01:00
Robert Habermeier
ac7f1f6719 fix header chain tests 2017-03-23 14:15:13 +01:00
Robert Habermeier
da837fa9d8 Merge branch 'master' into lightcli 2017-03-23 14:12:42 +01:00
Robert Habermeier
a1df49ef3e add test for request vec deserialization 2017-03-23 14:04:26 +01:00
Robert Habermeier
ec52a4a235 more tracing in on-demand 2017-03-23 13:24:04 +01:00
Tomasz Drwięga
bb1bbebfd6 Export account RPC (#4967)
* Export account RPC

* Removing GethDirectory and ParityDirectory

* Updating ethstore-cli help.
2017-03-23 13:23:03 +01:00
keorn
9fdd0e3a0a Switching ValidatorSet (#4961)
* add multi validator set

* nicer comment

* validate in constructor

* reporting
2017-03-23 13:19:28 +01:00
Robert Habermeier
64cec5ff7d Implement PIP messages, request builder, and handlers (#4945)
* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* buffer flow -> request credits

* proving state backend

* generate transaction proofs from provider

* network messages for transaction proof

* transaction proof test

* test for transaction proof message

* fix call bug

* request transaction proofs from on_demand

* most of proved_execution rpc

* proved execution future

* initial request definitions

* RLP encoding and decoding for requests

* proofs of non-existance in ProvingBlockChainClient

* new requests in provider.

* encode and decode responses

* complete initial request changes

* handle request packet in LightProtocol

* handle response packets

* implement requesting from

* re-do cost table

* get tests compiling

* fix cost table RLP encoding

* roundtrip tests for request types

* request builder tests

* move request_builder -> request::builder

* get network tests working

* return only complete headers responses

* request builder improvements

* New version of jsonrpc.

* split request filling into fill,complete

* Better invalid encoding messages

* Fixing deprecated methods of tokio_core

* use PIP messages in on_demand, old API

* migrate oneshot::complete to send in on_demand

* get on_demand tests to compile

* port ethsync to PIP messages

* adjust to minor on_demand API changes in RPC

* Using dedicated branch for jsonrpc

* Bump
2017-03-23 13:17:05 +01:00
Robert Habermeier
77f036ee21 fix capabilities-interpreting error in on_demand 2017-03-23 04:38:08 +01:00
Robert Habermeier
4eb69dc0fe reintroduce credits recharging 2017-03-23 04:36:49 +01:00
Robert Habermeier
0d110ed47c apply pending changes to chain after DB commit 2017-03-23 04:00:22 +01:00
Robert Habermeier
a55001ad1d fix deadlock in on_demand 2017-03-23 02:55:25 +01:00
Robert Habermeier
0abbd7ac97 Merge branch 'pip-msg' into lightcli 2017-03-22 22:08:39 +01:00
Robert Habermeier
73b2dd7a59 light client RPC dependencies 2017-03-22 21:09:43 +01:00
Robert Habermeier
e3d6525d83 store cumulative cost in pending request set. 2017-03-22 19:30:42 +01:00
Robert Habermeier
c718b5618e initial light CLI 2017-03-22 18:32:04 +01:00
Robert Habermeier
dd1a3fc60a migration to light client mode 2017-03-22 15:58:43 +01:00
Robert Habermeier
a0619fc101 Merge branch 'master' into pip-msg 2017-03-22 15:56:09 +01:00
NikVolf
9d23101c9a update for rv 2017-03-22 17:43:19 +03: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
NikVolf
436ae1333c trace mapping fix 2017-03-22 16:40:44 +03:00
NikVolf
8a4537fc73 no-input test 2017-03-22 16:31:43 +03:00
NikVolf
d1293d9fb0 fix warnings 2017-03-22 15:54:19 +03:00
NikVolf
3e7dc57289 some tests for simple cases 2017-03-22 15:41:32 +03:00
Robert Habermeier
219eddf33e Merge branch 'master' into pip-msg 2017-03-22 13:14:28 +01:00
Tomasz Drwięga
7e87e9e8ad Updating JSON-RPC crates (#4934)
* New version of jsonrpc.

* Better invalid encoding messages

* Fixing deprecated methods of tokio_core

* Using dedicated branch for jsonrpc

* Bump
2017-03-22 07:02:14 +01:00
Marek Kotewicz
d530cc86f3 splitting part of util into smaller crates (#4956)
* split path module from util

* moved RotatingLogger from util to logger crate

* fix tests

* fix tests

* use only one version of ansi_term crate
2017-03-22 06:23:40 +01:00
NikVolf
5e34235a36 initial, fallable built-ins 2017-03-22 04:01:46 +03:00
Robert Habermeier
384aeda645 Merge branch 'pip-msg' into lightcli 2017-03-21 21:15:24 +01:00
Robert Habermeier
7ad36ee36c Merge remote-tracking branch 'upstream/new-jsonrpc' into pip-msg 2017-03-21 21:15:06 +01:00
Robert Habermeier
e99884d0c0 Merge branch 'master' into pip-msg 2017-03-21 21:05:01 +01:00
Robert Habermeier
bc9c1d4824 use a database in ethcore-light 2017-03-21 20:57:13 +01:00
Robert Habermeier
21771aa1a6 don't keep headers in memory to avoid DoS 2017-03-21 20:23:58 +01:00
Robert Habermeier
d013a13be6 header_chain writes to database 2017-03-21 19:45:52 +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
Robert Habermeier
fe52e969b6 Merge branch 'master' into pip-msg 2017-03-21 15:24:47 +01:00
Tomasz Drwięga
958a8f66a0
Merge branch 'master' into new-jsonrpc 2017-03-21 09:35:50 +01:00
Tomasz Drwięga
badb3729c9 Changing Mutex into RwLock for transaction queue (#4951)
* Changing Mutex into RwLock for transaction queue

* Fixing merge

* little fix
2017-03-20 19:15:02 +01:00
keorn
e228de18e2 Disable max seal period for external sealing (#4927)
* no max sealing when external

* force internal sealing
2017-03-20 19:14:49 +01: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
Tomasz Drwięga
6fa9393a25
Merge branch 'master' into new-jsonrpc 2017-03-20 10:30:53 +01:00
Tomasz Drwięga
34d28189ea Remove transaction RPC (#4949) 2017-03-19 08:46:51 +01:00
Robert Habermeier
8be41ad946 Merge branch 'master' into pip-msg 2017-03-17 14:13:10 +01:00
Robert Habermeier
b5527415d6 get on_demand tests to compile 2017-03-16 20:33:45 +01:00
Robert Habermeier
04f106aad8 migrate oneshot::complete to send in on_demand 2017-03-16 20:29:06 +01:00
Robert Habermeier
cbb9314531 use PIP messages in on_demand, old API 2017-03-16 20:23:59 +01:00
Tomasz Drwięga
44052e7d8d
Merge branch 'master' into new-jsonrpc 2017-03-16 16:04:30 +01:00
Tomasz Drwięga
579cff478d
Fixing deprecated methods of tokio_core 2017-03-16 15:48:08 +01:00
Tomasz Drwięga
491eeb9878
Better invalid encoding messages 2017-03-16 12:48:51 +01:00
NikVolf
daca82bdfc fix condition check 2017-03-16 04:16:05 +03:00
NikVolf
131aa14afa ensure sealing work enabled if notifier registed 2017-03-16 03:38:50 +03:00
keorn
1f7fb1591d Add reseal max period (#4903)
* add reseal max period

* fix rpc
2017-03-15 14:04:42 +01:00
Marek Kotewicz
b27138e93f Updated gcc crate to remove one of duplicated dependencies (#4909) 2017-03-15 12:13:19 +01:00
Tomasz Drwięga
2dca24cc28 Traces error handling (#4849) 2017-03-14 13:04:32 +01:00
Arkadiy Paronyan
43871e393c Additional kovan params (#4892) 2017-03-14 11:41:56 +01:00
Arkadiy Paronyan
e0d554e0ca Recalculate receipt roots in close_and_lock (#4884) 2017-03-13 17:47:43 +01:00
Robert Habermeier
599f81daa9 split request filling into fill,complete 2017-03-13 16:06:58 +01:00
Robert Habermeier
f0a587d310 request builder improvements 2017-03-13 13:36:03 +01:00
Gav Wood
3041c95408 Chain-selection from UI (#4859)
* First little bits for chain-selection.

* Provide RPCs and get settings through to user defaults.

* Hasty stash.

* Fix updater accidentally redownloading.

* Finish up.

* Add JS tests.

* Hypervisor should never run a binary modified before itself.

* Style.

* Help tweak.

* Fix test compile.

* Fix JS test

* Build fix for tests.

* Revert default chain name

* Another test

* Use spec name via client.

* Fix mock up.

* whitespace

[ci:skip]

* whitespace

[ci:skip]

* remove exit/restart endpoints.
2017-03-13 12:10:53 +01:00
Marek Kotewicz
3fe3353696 removed redundant FixedHash trait, fixes #4029 (#4866) 2017-03-11 22:58:15 +04:00
Arkadiy Paronyan
9047b4b487 Supress USB error message (#4839) 2017-03-10 10:25:40 +01:00
Tomasz Drwięga
aedc473f64 Lowering threshold for transactions above gas limit (#4831) 2017-03-10 10:11:37 +01:00
Robert Habermeier
64342d200c return only complete headers responses 2017-03-09 17:28:49 +01:00
Robert Habermeier
391eb4b66c get network tests working 2017-03-09 16:55:13 +01:00
Robert Habermeier
8fb0a2d417 move request_builder -> request::builder 2017-03-08 20:11:22 +01:00
Robert Habermeier
aea9b1d6cc request builder tests 2017-03-08 20:07:45 +01:00
Robert Habermeier
d9087dd2b6 roundtrip tests for request types 2017-03-08 19:50:26 +01:00
Robert Habermeier
868f83e6ca Merge branch 'master' into pip-msg 2017-03-08 18:55:21 +01:00
Robert Habermeier
a1186727af fix cost table RLP encoding 2017-03-08 18:38:25 +01:00
Robert Habermeier
9268a1f59c get tests compiling 2017-03-08 18:27:29 +01:00
Robert Habermeier
9692616958 re-do cost table 2017-03-08 18:01:41 +01:00
Robert Habermeier
bb39f104f4 implement requesting from 2017-03-08 17:37:07 +01:00
keorn
be21671c1c Calibrate step before rejection (#4800)
* calibrate before rejection

* change flag name

* fix merge
2017-03-08 17:25:50 +01:00
Robert Habermeier
ee034185a5 handle response packets 2017-03-08 15:28:46 +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
Robert Habermeier
8a3b5c6332 Remote transaction execution (#4684)
* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* buffer flow -> request credits

* proving state backend

* generate transaction proofs from provider

* network messages for transaction proof

* transaction proof test

* test for transaction proof message

* fix call bug

* request transaction proofs from on_demand

* most of proved_execution rpc

* proved execution future
2017-03-08 14:39:44 +01:00
Robert Habermeier
dbd05e6c92 handle request packet in LightProtocol 2017-03-07 20:58:23 +01:00
Robert Habermeier
04291fe71e complete initial request changes 2017-03-07 19:48:07 +01:00
Arkadiy Paronyan
ae3f85bd5b v1.7 (#4730) 2017-03-07 17:29:27 +01:00
Robert Habermeier
b396b56e34 encode and decode responses 2017-03-07 17:18:26 +01:00
Igor Artamonov
63bc942e41 update ETC bootnodes (#4794) 2017-03-07 05:34:48 +01:00
Gav Wood
cec37207be Update comments and reg ABI (#4787)
* Update comments.

* Fix up new ABI.
2017-03-06 21:37:38 +01:00
Robert Habermeier
87f3d53607 new requests in provider. 2017-03-06 17:36:56 +01:00
Robert Habermeier
8e9faa416d proofs of non-existance in ProvingBlockChainClient 2017-03-06 17:03:58 +01:00
Robert Habermeier
41effadb94 RLP encoding and decoding for requests 2017-03-06 12:21:06 +01:00
Robert Habermeier
bbb50caa89 initial request definitions 2017-03-03 19:25:29 +01:00
Jaco Greeff
495e5790e9 Support both V1 & V2 DataChanged events in registry (#4734)
* Add info on forks.

* Add new registry ABI

* Import registry2 & fix exports

* Select ABI based on code hash

* Render new event types (owner not available)

* New registry.

* Rename old chain.

* Fix test.

* Another fix.

* Finish rename.
2017-03-03 13:33:49 +01:00
Gav Wood
3a0c4b6539 Add info on forks. (#4733) 2017-03-03 08:20:25 +01:00
Gav
40526c5270 Merge remote-tracking branch 'origin/master' into new-chains 2017-03-02 23:49:24 +01:00
Gav
71d3fa8707 Add registry. 2017-03-02 23:47:56 +01:00
Gav Wood
2862b3c21a New chains (#4720)
* Add Kovan chain.

* Fix up --testnet.

* Fix tests.

* Fix test.

* fix test

* Fix test.
2017-03-02 20:24:27 +01:00
Gav
c662d1cb0a Add Kovan chain. 2017-03-02 14:33:59 +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
c2c699abb9 change migration to v11 to be faster 2017-02-26 18:41:40 +01:00
Robert Habermeier
af235e564e proved execution future 2017-02-26 15:05:33 +01:00
Robert Habermeier
1ff0abc661 Merge branch 'master' into remote-tx-exec 2017-02-26 13:55:29 +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
Robert Habermeier
69e82e15a3 request transaction proofs from on_demand 2017-02-25 20:10:38 +01:00
Robert Habermeier
7c541117b3 fix call bug 2017-02-25 19:01:41 +01:00
Robert Habermeier
eb9ee35d6c Merge pull request #4632 from ethcore/state-backend
Generic state backend
2017-02-25 16:22:42 +01:00
Robert Habermeier
4cf62e816e Merge branch 'state-backend' into remote-tx-exec 2017-02-25 14:31:27 +01:00
Robert Habermeier
7863d1e978 add Backend bound on state 2017-02-25 14:28:26 +01:00
Robert Habermeier
2b671b8476 test for transaction proof message 2017-02-25 12:43:43 +01:00
Robert Habermeier
32f906fe9f transaction proof test 2017-02-25 11:54:32 +01:00
Robert Habermeier
4158693470 network messages for transaction proof 2017-02-25 11:07:38 +01:00
Robert Habermeier
92e5982127 generate transaction proofs from provider 2017-02-25 00:27:48 +01:00
Robert Habermeier
ee7779df17 proving state backend 2017-02-24 20:16:32 +01:00
Arkadiy Paronyan
ef7998f473 Max gas limit and min gas price (#4661)
* Max gas limit and min gas price

* Tests

* Limit gas limit ceiling
2017-02-24 17:34:32 +01:00
keorn
9b5bcb81fd Fix Tendermint deadlock (#4654)
* scope read

* consistent step
2017-02-24 10:26:56 +01:00
Robert Habermeier
ddbdfafc05 buffer flow -> request credits 2017-02-23 23:10:29 +01:00
Robert Habermeier
3f78c945d7 Merge pull request #4594 from ethcore/lightrpc
Remainder of RPC APIs implemented for the light client
2017-02-23 19:58:27 +01:00
Robert Habermeier
91753c53cd fix tests, json tests 2017-02-23 18:41:01 +01:00
Robert Habermeier
3655601693 return errors on database corruption 2017-02-23 17:40:03 +01:00
Gav Wood
3182540d9f Tweak some checks. (#4633)
* Tweak some checks.

* Fixed build and added a difficulty test
2017-02-22 18:24:22 +01:00
Robert Habermeier
636b2deb2e fix json tests 2017-02-22 10:52:58 +01:00
Robert Habermeier
1fba73c15e minimal state backend trait
make state module public
2017-02-21 12:35:21 +01:00
Robert Habermeier
ac9716a5ce state backend trait mirroring state_db API 2017-02-21 11:13:02 +01:00
Robert Habermeier
d8b1cfe082 Merge branch 'master' into lightrpc 2017-02-20 18:01:29 +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
72998d3ce3 Proper default accounts RPCs (#4580)
* Default accounts setting - account provider

* RPC support for default accounts

* Updating JS code

* Rename whitelist to addresses
2017-02-20 16:33:12 +01:00
Arkadiy Paronyan
0aad8a87ae Added pending transaction info to eth_getTransactionByHash (#4570)
* Return condition info for pending transactions

* Fixed warnings
2017-02-20 16:19:43 +01:00
Robert Habermeier
9316eb4ad3 (most of) parity RPC for light client 2017-02-17 21:38:43 +01:00
Robert Habermeier
3b023c82b7 fetch gas price corpus from network when needed 2017-02-17 17:08:46 +01:00
Robert Habermeier
7a857a24ae use new histogram/corpus 2017-02-17 16:18:31 +01:00
Robert Habermeier
48cf591e66 integrate cache in on-demand 2017-02-16 20:46:59 +01:00
Robert Habermeier
3b9741e9d8 Implement the basic data cache 2017-02-16 18:07:28 +01:00
Robert Habermeier
2b91c922c1 get signing network ID for light client 2017-02-16 16:08:58 +01:00
Nikolay Volf
494a0de1e2 Key derivation in ethstore & rpc (#4515)
* initial in secret store

* generation

* test

* refactor of the derivation

* signing

* account provider

* tests for account provider

* rpc types

* rpc types converts

* rpc tests

* fix warnings

* some extra docs

* derivate -> derive

* secret() -> as_raw()

* secret() -> as_raw() in rpc

* fix merge bug

* align with new serde changes
2017-02-15 16:56:15 +01:00
Robert Habermeier
36ea5550ba Merge pull request #4501 from ethcore/light-txq
Light Client transaction queue, initial LightDispatcher
2017-02-15 14:06:31 +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
Robert Habermeier
e591b4481b warning on detected inconsistency 2017-02-14 19:16:46 +01:00
Robert Habermeier
1d9db578ff ready transactions order documentation 2017-02-14 12:14:02 +01:00
Robert Habermeier
63ad8cb086 store pending transactions only once 2017-02-14 12:12:26 +01:00
Robert Habermeier
e911fc2db9 address grumbles 2017-02-14 12:05:24 +01:00
Robert Habermeier
4f1afccf97 best_block_header function 2017-02-13 16:51:40 +01:00
Tomasz Drwięga
f1e99ea2e4 Serde 0.9 (#4508)
* Porting json

* Dapps

* Rpc & Ethstore

* New ethabi

* Last bunch of fixes

* Fixing last test

* Removing build script

* Adding ethcore-ipc-tests back

* Fixing grumbles

* Fixing blockchain tests (inference regression?)
2017-02-13 18:38:47 +03:00
Arkadiy Paronyan
1fa830d19b Fixed receipt decoding (#4521) 2017-02-13 12:14:05 +03:00
Robert Habermeier
2c43b02e13 Merge branch 'lightrpc' into light-txq 2017-02-10 14:31:17 +01:00
Robert Habermeier
6bf97de9d8 Merge branch 'master' into lightrpc 2017-02-10 02:44:12 +01:00
Arkadiy Paronyan
a7e6d8727a Ledger wallet support (#4486)
* Ledger devices support

* structs for RPC types
2017-02-09 19:07:06 -05:00
Robert Habermeier
325c6aaf6a verify raw transactions against Engine 2017-02-09 19:58:29 +01:00
Robert Habermeier
a559dfe9a1 implement send_raw_transaction 2017-02-09 19:17:37 +01:00
Robert Habermeier
baf0dbc6bf LightProvider struct using light transaction queue 2017-02-09 18:42:18 +01:00
Robert Habermeier
6a924770be add several tests + minor bugfixes 2017-02-09 18:10:59 +01:00
Robert Habermeier
33266f78d1 initial transaction queue implementation 2017-02-09 17:36:12 +01:00
Robert Habermeier
869d193d21 Merge branch 'lightrpc' into light-txq 2017-02-08 20:51:11 +01:00
Robert Habermeier
028dbe5fe2 rename get_header to block_header by convention 2017-02-08 20:22:41 +01:00
Robert Habermeier
b3440babe3 light txq skeleton 2017-02-08 19:21:12 +01:00
Robert Habermeier
0246d5c734 Merge branch 'master' into lightrpc 2017-02-08 19:20:35 +01:00
Robert Habermeier
e73ea80954 dispatcher abstraction, port most things to it 2017-02-08 15:36:53 +01:00
Svyatoslav Nikolsky
a92bf65181 parity_getVaultMeta && parity_setVaultMeta (#4475) 2017-02-08 07:53:39 -05:00
keorn
b0248cad0b sort corpus when hitting genesis (#4470) 2017-02-08 08:55:56 +01:00
Tomasz Drwięga
5fe993f658 Fixing CORS headers for parity.web3.site (#4461) 2017-02-07 18:11:42 -05:00
Robert Habermeier
1fa5b07321 Merge branch 'master' into lightrpc 2017-02-07 17:13:18 +01:00
Robert Habermeier
6c06a1a5ec expunge error types from OnDemand 2017-02-07 17:06:22 +01:00
Robert Habermeier
04fe72face reassign requests indefinitely 2017-02-07 16:49:14 +01:00
Robert Habermeier
b37124991c enforce validity of on_demand requests 2017-02-07 16:13:56 +01:00
Robert Habermeier
9524ebbff1 on-demand contract code request 2017-02-07 15:29:38 +01:00
Robert Habermeier
66692bc0e2 fast paths for block and receipts on_demand 2017-02-06 18:28:13 +01:00
Robert Habermeier
4172a5369c Include total difficulty in CHTs and hide implementation details from consumers (#4428)
* CHT builder and prover

* use CHT abstraction in provider

* hide CHT internals from header chain

* fix itertools conflict by updating all to 0.5

* cht proof checker, use it in on_demand
2017-02-06 17:21:35 +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
Svyatoslav Nikolsky
2f340a547a Vaults RPCs (#4366)
* vaults RPCs

* vault.password != vault_account.password

* moved vault RPCs to parityAccounts NS

* parity_listVaults + parity_listOpenedVaults
2017-02-05 10:17:56 -05:00
Nikolay Volf
e257e4e3bd Ethkey - extended keys (#4377)
* data structures initial

* hard derivation

* tabs, docs

* more docs

* soft private derivation

* public derivation

* finalize api, fix warnings

* use simple new()

* keypair api

* bump byteorder

* doc tweaks

* remove heavyness from tests

* added test vector infrastructure and examples

* initialization from seed to key pair

* add comment about panic
2017-02-05 10:17:03 -05:00
Robert Habermeier
7c9064c856 Merge branch 'master' into lightrpc 2017-02-04 22:30:20 +01:00
Tomasz Drwięga
248cd5e036 RPC middleware: Informant & Client.keep_alive (#4384)
* Adding RPC informant structs

* RPC informant

* Middleware counting RPC requests

* Moving client keep_alive to middleware
2017-02-04 22:18:19 +01:00
Robert Habermeier
3a7248b964 cht proof checker, use it in on_demand 2017-02-04 17:48:02 +01:00
Robert Habermeier
197695414e correct ready transaction condition 2017-02-04 17:19:39 +01:00
Robert Habermeier
484b93abdc Merge branch 'cht-td' into lightrpc 2017-02-04 17:14:47 +01:00
Robert Habermeier
ca11138ce8 fix itertools conflict by updating all to 0.5 2017-02-04 17:07:39 +01:00
Robert Habermeier
02142e3a57 Merge branch 'master' into cht-td 2017-02-03 19:56:52 +01:00
Robert Habermeier
e874df5155 hide CHT internals from header chain 2017-02-03 19:50:23 +01:00
Arkadiy Paronyan
312aa72747 Transaction timestamp condition (#4419)
* Transaction timestamp condtiion

* Updated docs

* Updated docs

* Check agains last block timestamp
2017-02-03 19:32:10 +01:00
Robert Habermeier
1baa824d1e use CHT abstraction in provider 2017-02-03 18:47:03 +01:00
Robert Habermeier
fc8e9e39ec CHT builder and prover 2017-02-03 18:38:28 +01:00
Robert Habermeier
1dc957e3a5 allow genesis block to be latest 2017-02-03 16:11:09 +01:00
Robert Habermeier
83de16da88 use encoded::Header in HeaderChain 2017-02-03 15:32:22 +01:00
Tomasz Drwięga
853aae2b92 Validate dapps accounts with address book (#4407)
* Parametrize address book

* Improving types in account_provider

* Filtering dapps_accounts

* Fixing RPC tests
2017-02-03 13:56:47 +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
6795068ea4 Fixed other types 2017-01-30 19:13:35 +01:00
maciejhirsz
5fe54901e7 Fix Step encoding 2017-01-30 18:13:14 +01:00
Svyatoslav Nikolsky
9ac4d83ca3 Initial commit for vaults (#4312)
* initial commit for vaults

* fixed TODO

* public docs

* vault_file.json now contains enc(pwd hash)

* removed doc
2017-01-30 13:44:09 +03:00
Tomasz Drwięga
cf348dae60 Persistent tracking of dapps (#4302)
* Tests for RPC

* Extracting dapp_id from Origin and x-parity-origin

* Separate type for DappId

* Persistent tracking of recent dapps

* Fixing tests

* Exposing dapp timestamps

* Fixing import to work on stable

* Fixing test again
2017-01-30 10:59:46 +01:00
Arkadiy Paronyan
c012dfc3ef EIP-98: Optional transaction state root (#4296)
* EIP98: Optional receipt state root

* Use if-else

* Fixing tests
2017-01-25 20:22:48 +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
Nikolay Volf
1acc8031ce Stratum up (#4233)
* flush work

* flush work

* flush work

* flush work

* generalized notifiers

* general setup with modules

* general setup with modules

* all binded

* catch up with master

* all dependencies injected

* stratum another up

* tcp update

* submitwork routine

* finalize & fix warnings

* merge bugs, review fixes

* merge bugs, review fixes

* new cli mess cleanup

* usage.txt swap

* flush work

* cli adopt

* compilation with new cli sorted

* subid space in json

* serialization issues

* grumbles addressed

* more grumbles

* remove last_work note for now

* fix compilation

* fix tests

* merge bugs

* no obliged ipc

* moving notifiers

* no optional feature now

* refactored again

* working on tests

* refactor to new tcp/ip

* stratum lib ok

* ethcore crate ok

* wip on tests

* final test working

* fix warnings, \n-terminated response

* new compatibility

* re-pushing work once anybody submitted

* various review and general fixes

* reviewe fixes

* remove redundant notifier

* one symbol -> huge bug

* ensure write lock isn't held when calling handlers

* extern declarations moved

* options to stratum mod, SocketAddr strongly-typed instantiation

* Minor style fix.

* Whitespace and phrasing

* Whitespace
2017-01-25 11:03:36 +01:00
Tomasz Drwięga
67284cc1a2 Logging transaction duration (#4297)
* Logging transaction duration

* Printing time also on heavy transactions [ci:skip]
2017-01-25 11:02:03 +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
Tomasz Drwięga
fa02b3ae54 Additional logs for own transactions (#4278) 2017-01-24 19:18:52 +00:00
Robert Habermeier
b739704902 ensure write lock isn't held when calling handlers (#4285) 2017-01-24 19:15:59 +00:00
Konstantin
9d0278e0f8 added 3 warpnodes for ropsten (#4289)
* added 3 warpnodes for ropsten

* Fixed indentation
2017-01-24 14:35:52 +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
Svyatoslav Nikolsky
092e24b9f2 Integration with zgp whitelist contract (#4215)
* zgp-transactions checker

* polishing

* rename + refactor

* refuse-service-transactions cl option

* fixed tests compilation
2017-01-22 16:15:22 +01:00
Robert Habermeier
203fd8a471 Memory-based pruning history size (#4114)
* prune states based on memory param

* pruning memory CLI and usage in sync

* return purged value from memorydb

* calculate memory used incrementally in overlayrecentdb

* refactor shared history pruning code in client

* Fixed usage alignment

* journal_size function for fast memory calculation
2017-01-20 13:25:53 +01: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
Robert Habermeier
a791cb50a6 Light protocol syncing improvements (#4212)
* remove old lint silencer

* dispatch requests only to peers with higher TD

* dynamic target for sync rounds

* use round pivots instead of frames, fix test

* fix total difficulty calculation for test client

* fix broken reorg algorithm

* fork test, fix ancestor search
2017-01-20 12:41:59 +01:00
Robert Habermeier
3ff9324ec0 LES Peer Info (#4195)
* connected peers function for network service

* get LES peer info in sync API

* new peer info in RPC
2017-01-20 12:41:49 +01:00
Robert Habermeier
5830e03201 Merge pull request #4181 from ethcore/cht-full-nodes
CHT calculations for full nodes
2017-01-19 15:12:44 +01:00
Tomasz Drwięga
24aec5191a Fixing minimal transaction queue price (#4204)
* Fixing minimal transaction queue price

* Fixing tests
2017-01-18 19:44:24 +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
b4ff08beb8 Fixing etherscan price parsing (#4202)
* Fixing etherscan price parsing

* Handling all errors
2017-01-18 17:56:21 +01:00
Robert Habermeier
3040a1c83e Merge pull request #4093 from ethcore/better-timeouts
LES: Better timeouts + Track failed requests
2017-01-18 15:04:48 +01:00
Robert Habermeier
536df809c6 tests + documentation 2017-01-16 17:42:39 +01:00
Robert Habermeier
b960152d5b CHT calculations for full nodes 2017-01-16 17:10:30 +01:00
Robert Habermeier
31aae4ed78 move cht module up a level 2017-01-16 16:55:23 +01:00
Svyatoslav Nikolsky
bac6293309 gas_limit for blocks, mined by Parity will be divisible by 37 (#4154)
* gas_limit for new blocks will divide evenly by 13

* increased PARITY_GAS_LIMIT_DETERMINANT to 37

* separate method for marking mined block

* debug_asserts(gas_limit within protocol range)

* round_block_gas_limit method is now static

* made round_block_gas_limit free-function

* multiplier->multiple [ci skip]
2017-01-16 14:29:51 +01:00
Gav Wood
c2f4716ee2 icarus -> update, increase web timeout. (#4165)
* icarus -> update, increase web timeout.

* Fix estimate gas
2017-01-13 16:30:16 +01:00
Robert Habermeier
f0eab337d8 Merge pull request #4036 from ethcore/on-demand-les-request
On demand LES request
2017-01-13 14:36:48 +01:00
Arkadiy Paronyan
cdc525449a Ropsten fork detection (#4163) 2017-01-13 14:28:10 +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
Robert Habermeier
7dde02b25d Merge branch 'master' into on-demand-les-request 2017-01-12 11:23:47 +01:00
Gav Wood
311730ea95 Improvements and optimisations to estimate_gas (#4142)
* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.

* Another estimate gas fix.

* Alter balance to maximum possible rather than GP=0.

* Only increase to amount strictly necessary.

* Improvements and optimisations to estimate_gas.

- Introduce proper error type
- Avoid building costly traces

* Fix tests.

* Actually fix testsActually fix tests
2017-01-12 11:06:12 +01:00
Robert Habermeier
78e670812c fix test compilation 2017-01-11 18:57:38 +01:00
Robert Habermeier
e88c62d37d Merge branch 'master' into better-timeouts 2017-01-11 18:55:16 +01:00
Robert Habermeier
7b3c648d3e Merge branch 'master' into better-timeouts 2017-01-11 18:47:09 +01: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
Gav Wood
56c546f465 Another minor estimation fix (#4133)
* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.

* Another estimate gas fix.

* Alter balance to maximum possible rather than GP=0.

* Only increase to amount strictly necessary.
2017-01-11 17:51:48 +01:00
Robert Habermeier
7123f19a75 Test harness for lightsync (#4109)
* make on_connect/disconnect public

* free flow params constructor

* Shared ownership of LES handlers

* light provider impl for test client

* skeleton for testing light sync

* have test_client use actual genesis

* fix underflow in provider

* test harnesses for lightsync

* fix tests

* fix test failure caused by test_client changes
2017-01-11 14:39:03 +01:00
Gav Wood
7286d42b7d Fix call/estimate_gas (#4121)
* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.
2017-01-11 14:28:27 +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
Robert Habermeier
5b8a7259c1 Merge branch 'master' into on-demand-les-request 2017-01-11 11:39:43 +01:00
Gav Wood
23feb7998f Use binary chop to estimate gas accurately (#4100)
* Initial sketch.

* Building.

* Fix a few things.

* Fix issue, add tracing.

* Address grumbles

* Raise upper limit if needed

* Fix test.
2017-01-10 18:56:41 +01:00