Commit Graph

138 Commits

Author SHA1 Message Date
Tomasz Drwięga
2b3d100de2 Fixing some clippy warnings 2016-11-28 15:54:22 +01:00
Gav Wood
3b6d886860
Fix up the transaction JSON serialisation for RPC. 2016-11-27 14:11:37 +01:00
Gav Wood
befb0bf2bd
Merge branch 'fix-number' into check-updates 2016-11-25 12:17:58 +01:00
Tomasz Drwięga
aa52c72bda Traces for genesis are always present. 2016-11-24 15:05:52 +01:00
Gav Wood
45dead9d49
Naming consistency and make Updater improvements.
- ID -> Id (consistency with rust libs)
2016-11-22 10:24:22 +01:00
Robert Habermeier
4fd9670b33 support request sending 2016-11-18 19:12:20 +01:00
Robert Habermeier
7bfb9e4003 handle all LES requests 2016-11-15 18:19:16 +01:00
Robert Habermeier
abf39fde0a implement provider for client 2016-11-15 14:53:30 +01:00
Robert Habermeier
3c7533831e Merge branch 'master' into client-provider 2016-11-14 15:16:26 +01:00
Robert Habermeier
3854b8a689 LES Part 1 (#3322)
* stub implementations of light client trait

* Light provider trait

* light client sync stubs

* LES boilerplate

* stub implementation of provider for client

* skeleton and request traits

* request definitions

* new_list -> begin_list

* handle unknown packet

* revise light implementation strategy

* make verification module public

* Move all light client work to own crate

* experiment with answering requests

* buffer flow scaffolding

* remove LESv2 requests

* buffer flow basics, implement cost table

* begin status module

* implement handshake parsing and creation

* implement announcement serialization

* errors, punishment, and handshake

* handle announcements

* making announcements, clean up warnings

* allow dead code temporarily
2016-11-10 18:30:17 +01:00
Robert Habermeier
8c2c048444 clean up errors 2016-11-10 14:05:47 +01:00
Robert Habermeier
ebff010d16 partial implementation of provider for client types 2016-11-09 23:25:54 +01:00
Robert Habermeier
b369cdd573 Merge branch 'master' into les-impl 2016-11-08 17:14:19 +01:00
Gav Wood
744501c454 Mode improvements for UI (#3109)
* `--mode=off` now works.

* Add Mode::Off as a persistent CLI option.

* "last" not "auto" as default.

* Commit accidentally unsaved file.

* Whitespace

[ci:skip]

* Mode CLI parse fix

* or offline

* Save mode when it gets changed.

* Fix Offline mode

* Fix up mode operations.

* Make passive default, but not overriding.

* Fix test

* Maybe not everyone wants to run an archive node...
2016-11-05 10:38:00 +01:00
Robert Habermeier
c1a6dbe75f Move all light client work to own crate 2016-11-04 19:40:11 +01:00
Tomasz Drwięga
f31d42d0c5 Exposing engine extra info in block RPC (#3169)
* Exposing extra info in RPC

* Proper serialization and client trait API
2016-11-04 17:35:02 +01:00
Gav Wood
0f16942186 EIP-155 update with Vitalik's new test vectors (#3166)
* Vitalik's new test vectors.

* Update to latest EIP155 spec.

* Fix txs.

* Another fix.
2016-11-04 15:13:51 +01:00
Robert Habermeier
1bc124f980 Merge branch 'master' into les-impl 2016-11-04 15:00:05 +01:00
Tomasz Drwięga
2e47842d66 Exposing state root and logsBloom in RPC receipts (#3174) 2016-11-04 12:33:13 +01:00
Gav Wood
d3de475205 EIPs 155, 160, 161 (#2976)
* The front-end for each hard-fork, also EIP-160.

* Address EIP161 a/c

* Include EIP-161b

* EIP-161 part d.

* Fix test build.

* Fix one test, add another.

* Fix use of bloom & renaming.

* Initial groundwork for EIP-155

* Fix minor bug.

* Fix all tests finally.

* Rest of EIP-155.

* Add tests for EIP-155 algorithm.

Update transaction tests validation.

* Minor reformat.

* Address grumbles.

* Remove unused code.

* Fix SUICIDE gas mechanism and add consensus tests.

* Remove commented code.

* Set Frontier hardfork block number

* Fix warning.

* Transaction tests,
2016-11-03 22:22:25 +01:00
Gav Wood
547871f933 RPCs for mode change (#3002)
* Allow warnings.

* Add RPCs to allow ad-hoc mode changes.

* Add the JSAPI interfaces

* Add missing file.
2016-10-31 16:58:35 +01:00
Robert Habermeier
4b82392371 merge with master 2016-10-26 14:17:13 +02:00
Robert Habermeier
96f4c10453 sweep most unwraps from ethcore crate, dapps crate (#2762)
* sweep most unwraps from ethcore crate

* purge unwrap from dapps server

* whitespace

[ci:none]
2016-10-20 23:41:15 +02:00
Nicolas Gotchac
236fb82886 Trace filtering fix (#2760)
* (#2751) Trace filtering fix:
  Don't test contract address against empty array in trace filtering

* Fixes spaces/typo

* Simplify the Trace Filtering (#2751)

* Removed unused `strictly_matches` fn
2016-10-20 23:35:56 +02:00
Arkadiy Paronyan
487dfb0208 Snapshot sync part 2 (#2098)
* Split block downloader into a module

* Snapshot sync progress

* Warp sync CLI option

* Increased snapshot chunk and ping timeouts

* Fixed an issue with delayed writes

* Updated bootnodes

* Don't run pending IO tasks on shutdown

* Optional first_block; removed insert_snapshot_block

* Fixing expect calls

* Fixed stalled sync

* style and docs

* Update block_sync.rs

[ci:skip]
2016-10-18 18:16:00 +02:00
Tomasz Drwięga
d9ca01cb6b Fixing RPC Filter conversion to EthFilter (#2500) 2016-10-07 09:18:32 +02:00
Robert Habermeier
ed06572bd4 Light provider trait 2016-10-05 13:22:49 +02:00
Arkadiy Paronyan
0dcdaa7a2a Jumptable cache (#2427)
* Jumptable cache

* Updated registrar address
2016-10-02 18:45:36 +02:00
Robert Habermeier
9d4bee4922 make block queue into a more generic verification queue and fix block heap size calculation (#2095)
* move block queue to own module, a couple readability changes

* make block queue generic over verifiable data

also fixes heap size calculation

* make block queue into a more generic verification queue

* some module reoganization

* implement header queue

* clean up verification error messages
2016-09-27 16:50:24 +02:00
Gav Wood
07b5e9a5c7 Encryption, decryption and public key RPCs. (#1946)
* Fix up pending receipts details.

* Add support for additional params and registry over RPC.

* Fix tests.

* Add test, additional fix.

Fixes #1932.

* Fix up tests.

* Fix test.

* Fix test.

* Remove unused use.

* Add encryption, decryption and public-key RPCs.

* Remove &
2016-09-22 14:48:22 +02:00
Tomasz Drwięga
8c111da70b Limit for logs filter. (#2180)
* Limit for logs filter.

* Moving limit inside the filter object

* Fixing tests
2016-09-21 11:51:10 +01:00
Arkadiy Paronyan
5c5d9c8ccd Snapshot sync (#2047)
* PV64 sync

* Tests

* Client DB restore

* Snapshot restoration over IPC

* Upating test

* Minor tweaks

* Upating test
2016-09-06 15:31:13 +02:00
Marek Kotewicz
da2c2e5fc6 facelift for traces, added errors (#2042)
* evm errors facelift

* facelift for traces, added errors with description

* additional tests for traces json serialization
2016-09-05 11:56:44 +02:00
Robert Habermeier
bb6243c550 merge with master 2016-09-01 15:07:06 +02:00
Robert Habermeier
5dd56aa070 port ethcore 2016-09-01 14:29:59 +02:00
Robert Habermeier
9a5668f802 get rid of populatable and bytesconvertable traits (#2019) 2016-09-01 12:23:31 +02:00
Marek Kotewicz
b0d462c6c9 Signature cleanup (#1921)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* Removing util/crypto in progress.

* fixed compiling

* signature cleanup in progress

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

* fixed compiling

* fixed compiling

* fixed merge
2016-08-24 18:35:21 +02:00
Gav Wood
ccdf80f4dc Fix several RPCs (#1926)
* Fix up pending receipts details.

* Add support for additional params and registry over RPC.

* Fix tests.

* Add test, additional fix.

Fixes #1932.

* Fix up tests.

* Fix test.

* Fix test.
2016-08-17 19:25:02 +02:00
Nikolay Volf
46f029e65c Use explicit global namespaces in codegen (#1928)
* ipc as a deault feature

* first part of purge

* second part of ns purge
2016-08-17 15:54:24 +02:00
Marek Kotewicz
c39761c042 ethkey and ethstore use hash structures from bigint (#1851)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* fixed compiling
2016-08-15 15:09:00 +02:00
debris
8269887949 parse().unwrap() -> into() 2016-08-08 11:18:48 +02:00
debris
88c5f555a9 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-06 00:03:07 +02:00
Robert Habermeier
76a7246369 Snapshot creation and restoration (#1679)
* to_rlp takes self by-reference

* clean up some derefs

* out-of-order insertion for blockchain

* implement block rebuilder without verification

* group block chunk header into struct

* block rebuilder does verification

* integrate snapshot service with client service; flesh out implementation more

* initial implementation of snapshot service

* remove snapshottaker trait

* snapshot writer trait with packed and loose implementations

* write chunks using "snapshotwriter" in service

* have snapshot taking use snapshotwriter

* implement snapshot readers

* back up client dbs when replacing

* use snapshot reader in snapshot service

* describe offset format

* use new get_db_path in parity, allow some errors in service

* blockchain formatting

* implement parity snapshot

* implement snapshot restore

* force blocks to be submitted in order

* fix bug loading block hashes in packed reader

* fix seal field loading

* fix uncle hash computation

* fix a few bugs

* store genesis state in db. reverse block chunk order in packed writer

* allow out-of-order import for blocks

* bring restoration types together

* only snapshot the last 30000 blocks

* restore into overlaydb instead of journaldb

* commit version to database

* use memorydbs and commit directly

* fix trie test compilation

* fix failing tests

* sha3_null_rlp, not H256::zero

* move overlaydb to ref_overlaydb, add new overlaydb without on-disk rc

* port archivedb to new overlaydb

* add deletion mode tests for overlaydb

* use new overlaydb, check state root at end

* share chain info between state and block snapshotting

* create blocks snapshot using blockchain directly

* allow snapshot from arbitrary block, remove panickers from snapshot creation

* begin test framework

* blockchain chunking test

* implement stateproducer::tick

* state snapshot test

* create block and state chunks concurrently, better restoration informant

* fix tests

* add deletion mode tests for overlaydb

* address comments

* more tests

* Fix up tests.

* remove a few printlns

* add a little more documentation to `commit`

* fix tests

* fix ref_overlaydb test names

* snapshot command skeleton

* revert ref_overlaydb renaming

* reimplement snapshot commands

* fix many errors

* everything but inject

* get ethcore compiling

* get snapshot tests passing again

* instrument snapshot commands again

* fix fallout from other changes, mark snapshots as experimental

* optimize injection patterns

* do two injections

* fix up tests

* take snapshots from 1000 blocks efore

* address minor comments

* fix a few io crate related errors

* clarify names about total difficulty

[ci skip]
2016-08-05 17:00:46 +02:00
debris
1ed2de1d9b Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-05 09:30:01 +02:00
Tomasz Drwięga
25aabe6e52 Supporting blockid in eth_call and trace_call/trace_raw (#1837)
* Supporting blockid in eth_call and trace_call/trace_raw

* Nicer state diff handling

* Purging deref.deref
2016-08-04 18:17:21 +02:00
debris
a1867a7ba6 bloomable trait 2016-08-04 15:38:16 +02:00
debris
efca92b766 Merge branch 'master' into move_hash 2016-08-04 14:22:16 +02:00
debris
4051524462 improved naming 2016-08-04 08:52:31 +02:00
Gav Wood
52355855fc Fix up the VM trace. 2016-08-03 20:07:30 +02:00
debris
e8c451ac82 cleaning up hash reexports 2016-08-03 18:05:17 +02:00
NikVolf
d8a3137ce8 drying ethcore 2016-08-01 19:39:53 +02:00
Marek Kotewicz
dbfc5cd31c fixed trace_transaction crash when block contained suicide (#1781) 2016-07-31 13:47:29 +02:00
Marek Kotewicz
bcf8cd6dc0 cache manager and clearing tracing cache (#1769)
* removed configure_cache method

* generic cache_manager struct

* fixed #1743, tracing caches are cleared

* removed deadlocks in garbage_collect, implemented HeapSizeOf for traces

* trace cache config

* fixed carbage typo
2016-07-30 15:19:27 -07:00
Marek Kotewicz
9746b944f1 Stackoverflow fix (#1742)
* executive tracer builds flat traces without intermediate struct

* temporarilt commented out tests for traces

* fixed new way of building trace address

* fixed new way of building trace address

* updating state tests with flat tracing in progress

* fixed flat tracing tests

* fixed compiling ethcore-rpc with new flat traces

* removed warnings from ethcore module

* remove unused data structures
2016-07-28 20:31:29 +02:00
Gav Wood
eaa41ea568 Add RPC & client call to replay a transaction. (#1734)
* Add RPC & client call to replay a transaction.

* Address grumbles
2016-07-27 21:34:32 +02:00
Gav Wood
ccb62d3b55 Trace other types of calls (#1727)
* Trace through DELEGATECALL and CALLCODE

Add them to the JSON output and RLP database store.

* Fix tests.

* Fix all tests.

* Fix one more test.
2016-07-27 17:41:21 +02:00
Tomasz Drwięga
edda0b2380 Fixing compilation on latest nightly (#1736) 2016-07-27 17:12:14 +02:00
Marek Kotewicz
a76981a61d Stackoverflow #1686 (#1698)
* flat trace serialization

* tracing finds transaction which creates contract

* flatten traces before inserting them to the db
2016-07-24 00:20:21 +02:00
Marek Kotewicz
1fbef3289b filtering transactions toAddress includes contract creation (#1697)
* tracing finds transaction which creates contract

* comma cleanup

Remove when following `}`s, add to final entries.
2016-07-23 18:50:20 +02:00
Marek Kotewicz
63dbb527cc Suicides tracing (#1688)
* tracing suicide

* fixed #1635

* fixed typo
2016-07-22 14:47:23 +02:00
Gav Wood
598833d1ea Fix "pending" parameter on RPC block requests (#1602)
* Initial commit.

* Pending blocks work.

* Address grumbles.

* Fix up for new API.
2016-07-14 15:24:12 +02:00
Marek Kotewicz
1053f3610c fixed #1606 (#1615) 2016-07-13 21:10:20 +02:00
Nikolay Volf
8282c7dd50 Client IPC Interface (#1493)
* btree map serializer

* serde tests

* state diff serialization

* basic layout

* more missing serializaers

* uncle returns rlp

* block queue info

* sorting with transaction result

* sorting out util imports

* transaction import result sorting also

* sorting filters & ranges

* error sorting out

* deriving ipc service compiling

* rpc & sync recompile

* sorting rpc using uncles

* fix compilation

* fix merging bugs

* fix unused imports

* fix all warnings

* tests stub

* some merge bugs

* ethcore compilation

* fix rpc compilation

* deriving attribute

* tests (and fixes)

* rpc test working

* fix warnings again

* rs.in -> rs

* missing attribute

* refactored tree changes

* paste reformat mess fix

* pub mod actually

* intendation fix
2016-07-07 09:39:32 +02:00
NikVolf
edb8663195 ethcore finished 2016-07-01 22:34:50 +03:00
NikVolf
46b0af6121 flush work 2016-07-01 22:13:56 +03:00
NikVolf
07521c17b4 dedicated types 2016-07-01 21:33:59 +03:00
NikVolf
7ad8599324 uncle as rlp in the api 2016-07-01 13:26:44 +03:00
Marek Kotewicz
6b074e8fb2 secret store separated from util (#1304)
* bump rust-crypto

* initial version of account provider utilizing secret store

* update lazy_static to latest version

* AccountProvider accounts method

* new AccountProvider tests in progress

* basic tests for new AccountProvider

* ethcore compiles with new account provider and secret store

* ethcore-rpc build now compiling with new AccountProvider

* most rpc tests passing with new accounts_provider

* fixed basic_authority tests

* fixed eth_transaction_count rpc test

* fixed mocked/eth.rs tests

* fixed personal tests

* fixed personal signer rpc tests

* removed warnings

* parity compiling fine with new sstore

* fixed import direction

* do not unlock temporarily when we have the password

* removed TODO in account import

* display warning on auto account import failure

* fixed compiling of ethstore on windows

* ethstore as a part of parity repo

* added ethkey
2016-06-20 00:10:34 +02:00
Gav Wood
b9ec87548d Minor renaming diff -> state_diff 2016-06-02 12:39:25 +02:00
Gav Wood
bc5c3da2af Merge branch 'vmtracing' into diffing 2016-06-02 12:28:09 +02:00
Gav Wood
26da38a439 Merge remote-tracking branch 'origin/master' into vmtracing 2016-06-02 11:40:39 +02:00
Gav Wood
5c63311268 Add missing types. 2016-06-01 20:02:23 +02:00
Gav Wood
34edecd59d State diffing, exposed through JSONRPC. 2016-05-31 21:03:44 +02:00
Robert Habermeier
ff7c755930 mostly purge x! from ethcore 2016-05-31 16:59:01 +02:00
Gav Wood
5766354c19 Tests for VM tracing. 2016-05-31 12:04:53 +02:00
Gav Wood
79503e4f14 Added VM trace information for post-execution stuff. 2016-05-30 17:19:15 +02:00
Gav Wood
a5808833b1 Merge remote-tracking branch 'origin/master' into vmtracing 2016-05-29 11:13:48 +02:00
Gav Wood
86fdcabd0e Rearchitected VM tracing to reflect existing tracing.
Should more or less work now.
2016-05-28 23:57:16 +02:00
Gav Wood
d4a06b27ed Create VMTracer trait. 2016-05-28 17:50:20 +02:00
Gav Wood
c1ed520de0 RPC endpoint for VM tracing and ser/de types ready. 2016-05-28 16:52:33 +02:00
Robert Habermeier
1de7ea090c add informative comment on transaction::Action 2016-05-27 18:18:44 +02:00
Marek Kotewicz
bf46531372 Merge pull request #1116 from rphmeier/die_display
Have `die_with_error` use `fmt::Display` rather than Debug
2016-05-24 20:00:50 +02:00
Robert Habermeier
6fb54f4c9d remove extraneous braces in ExecutionError Display impl 2016-05-22 12:47:42 -04:00
Gav Wood
828bf7cb9e Make receipt's gasUsed property work properly.
Fixes #1111
2016-05-21 14:49:21 +02:00
Robert Habermeier
b0452cf309 add DIsplay impl for ExecutionError, CryptoError, and NetworkError 2016-05-20 18:12:51 -04:00
debris
634679966e Make Id/ID and db/Db/DB usage consistent 2016-05-19 11:00:32 +02:00
Tomasz Drwięga
a950b81ee8 Fixing clippy warnings 2016-05-17 10:32:05 +02:00
Nikolay Volf
4e41cbca81 Moving all Client public API types to separate mod & binary serialization codegen for that mod (#1051)
* transaction moved

* trash remove

* ids move

* receipt

* tree-route

* blockchain info

* log_entry move

* trace filter moved

* executed & trace moved

* localized trace moved

* block status moved

* build scripts and codegen refs

* Cargo.lock update

* binary for blockstatus, blockchaininfo

* binary for trace

* trace filters binary ser

* binary for log entries & executed

* binary for receipt

* special case for u8 & transaction binary attribute

* resolved remaining issues & error binary serialization

* json-tests util import

* fix warnings

* ids attr

* add missing attributes

* Update build.rs
2016-05-16 18:33:32 +02:00