Commit Graph

48 Commits

Author SHA1 Message Date
keorn
02cf48681d Blocks and snapshot compression (#1687)
* new Compressible rlp trait

* new Compressible rlp trait

* make compressed rlp iterable

* make compressed rlp iterable

* invalid rlp slice swapper

* switch compress to swapper, add reverse swapper test case

* add basic account compression test

* add new rlp trait

* new Compressible rlp trait

* make compressed rlp iterable

* invalid rlp slice swapper

* invalid rlp slice swapper

* switch compress to swapper, add reverse swapper test case

* switch compress to swapper, add reverse swapper test case

* add account compress/ decompress test

* make compressor cleaner, use hashmaps for swapper

* improve compression tests

* add a DecompressingDecoder, change Decoder to take refernce

* separate rlp compression related stuff

* new Compressible rlp trait

* new Compressible rlp trait

* new Compressible rlp trait

* make compressed rlp iterable

* make compressed rlp iterable

* make compressed rlp iterable

* invalid rlp slice swapper

* invalid rlp slice swapper

* invalid rlp slice swapper

* switch compress to swapper, add reverse swapper test case

* switch compress to swapper, add reverse swapper test case

* switch compress to swapper, add reverse swapper test case

* add basic account compression test

* add new rlp trait

* add account compress/ decompress test

* make compressor cleaner, use hashmaps for swapper

* improve compression tests

* add a DecompressingDecoder, change Decoder to take refernce

* separate rlp compression related stuff

* DecompressingDecoder test

* initial compressing HashDB wrapper

* remove unused test

* change CompressedDB to struct wrapper with overlay

* simplify compressor

* failed RefCell attempt

* use denote to return reference

* compiled compresseddb

* compressdb test, add overlay emplace

* fix overlay reference count handling

* add immutable compresseddb, make account use hashdb

* simplify using trait objects

* enable hashdb for account

* initial state compression attempt

* wrap state db

* add tests for analyzing db

* add account predicate

* try to compress data fields as rlp too

* remove compression for storage trie

* add a compressing migration

* more compression stats tests

* fix migration import

* nested encoding compression test

* fix decompression, move db stats tests to rlpcompression

* added malformed rlp tests, cover a few edge cases

* new CompressingEncoder struct

* extend migrations to state

* first version working on the whole db

* clean up Compressible impl

* tests cleanup

* add a testing migration

* refactor deep compression using option, add simple compression

* put tests in a module

* fix compressed overlay loading

* simple compression for snapshots

* remove unused DecompressingDecoder

* add a general compressing migration

* add more common rlps to compress

* use static slices for swapper

* add precomputed hashes and invalid rlps

* make decoder private again

* cover more cases with tests

* style

* fix weird indentation

* remove possible panic in payload_info

* make prefix checking safe

* fix db existence check

* remove db dir from test

* pass usize by value [ci skip]

* Improve comment on panic removal.

* add common blocks db rlps

* add compression to blockchain db

* add blocks db migration

* fix the migrations

* remove state compression

* add a separate snapshot swapper

* ability to use different swappers and traversal

* update tests to new interface

* clean up code ordering

* update usage

* fix compilation

* remove unnecessary changes

* move methods to functions to reduce interface

* move test to module

* update common rlps to blocks db

* move tests to tests modules

* remove redundant &
2016-07-27 17:11:41 +02:00
gregg dourgarian
d67369a01c fix typos (#1644) 2016-07-19 20:42:23 +02:00
Marek Kotewicz
bcb63bce12 serde is no longer util dependency (#1534)
* removed old json-tests

* simplify folds in triehash.rs

* removed unused json_aid

* removed unused squeeze.rs

* json branching tests for trie

* removing todos from util

* separated UsingQueue and Table

* further cleanup, removing unused code

* serde serialization of hash moved to rpc module

* uint wrapper for rpc in progress

* serialization of uint moved to rpc module

* updated eth-secp256k1

* updated igd, serde is no longer dependency of util

* loading trie consensus tests

* renamed aliases in rpc imports
2016-07-06 11:23:29 +02:00
Marek Kotewicz
62b9c1b14f util cleanup (#1474)
* removed old json-tests

* simplify folds in triehash.rs

* removed unused json_aid

* removed unused squeeze.rs

* json branching tests for trie

* loading trie consensus tests
2016-07-05 15:16:27 +02:00
Marek Kotewicz
4f56f8b27c removed unsafe code (#1466) 2016-06-28 11:52:59 +02:00
Arkadiy Paronyan
71131c41e5 Security audit issues fixed (#1279)
* Restrict network key file permissions

* Check for overflow in str to bigint conversion

* RLP decoder overflow check
2016-06-15 00:58:08 +02:00
Gav Wood
b17581d7de VM tracing and JSON RPC endpoint for it. (#1169)
* Groundwork for basic VM tracing.

* RPC endpoint for VM tracing and ser/de types ready.

* Create VMTracer trait.

* Rearchitected VM tracing to reflect existing tracing.

Should more or less work now.

* Integrated VM tracing into JSONRPC.

* Fix ethcore module tests.

* Add tests for VM tracing.

* Fix consensus test code.

* Fix mock tests.

* Added VM trace information for post-execution stuff.

* Fix max-value calls and add "creates" field to getTransaction.

* Tests for VM tracing.

* Don't implement the trait with unimplemented.

* Remove invlaid comment.

* Fix tests.
2016-06-02 12:40:31 +02:00
Gav Wood
2969d015ed Importing (#1132)
* Basic hex block exporting.

* Export formats and to file.

* First bits.

* Block importing.

* Fix error text.

* Wait for queue to empty before shutting down after import.
2016-05-24 20:29:19 +02:00
Marek Kotewicz
66477a9476 Core tracedb functionality. (#996)
* fixed encoding 0u8

* simplified if else stmt

* tracedb core

* more comprehensive tracedb tests

* fixed minor review issues

* addresses filter

* fixed typos

* replace malformed with corrupted

* trace switch

* db key is generic and can be made smaller

* smaller tracedb keys

* tracedb version

* fixed ignored tests

* rename Tracedb -> TraceDB

* fixed typos

* proves

* trace only top level calls to builtins to avoid DDoS attacks

* fixed tracedb config switches

* fix comments fat replaced with trace

* vector-addressing scheme for localized traces

* removed comments

* removed first, redundant 0 from trace address

* updated db.trace method

* additional tests for tracedb.trace()
2016-04-30 16:41:24 +01:00
Marek Kotewicz
80a28b9b72 fixed encoding 0u8 (#992)
* fixed encoding 0u8

* simplified if else stmt
2016-04-24 22:12:49 +01:00
Tomasz Drwięga
85da55a537 Fixing warnings 2016-04-06 10:55:40 +02:00
Tomasz Drwięga
a0db1d5416 Merge branch 'master' into rustfmt
Conflicts:
	ethash/src/sizes.rs
	util/src/uint.rs
2016-03-23 16:55:54 +01:00
Tomasz Drwięga
aebc91d96f Merge branch 'master' into ethminer_crate
Conflicts:
	Cargo.toml
	rpc/Cargo.toml
	sync/Cargo.toml
2016-03-12 09:50:18 +01:00
Tomasz Drwięga
7cfe1d258b Adding more detailed logging 2016-03-11 23:49:32 +01:00
Tomasz Drwięga
8709dd28f8 Fixing clippy warnings 2016-03-11 10:58:51 +01:00
Nikolay Volf
d0125f3ff5 uint to separated crate 2016-03-01 00:21:15 +03:00
debris
bef6d5f2a1 fixed insecure rlp uint conversion, and failing json tests 2016-02-19 10:51:35 +01:00
arkpar
af8ba06795 utils compilable in beta 2016-02-18 23:29:41 +01:00
Tomusdrw
22e2458ce5 Adding rustfmt_skip and fixing couple of places that have troubles after formatting. 2016-02-16 11:01:04 +01:00
debris
f1b39ee1e5 nightly fixes 2016-02-14 12:54:27 +01:00
debris
c90d64662a added license in every *.rs file 2016-02-05 13:40:41 +01:00
arkpar
42d5c09131 Final docs 2016-02-03 16:43:48 +01:00
Gav Wood
fad2f3a23d More doc updates. All Gav Wood docs done. 2016-02-03 14:51:45 +01:00
arkpar
0076df8475 Fixed neted empty list encoding 2016-02-01 01:11:07 +01:00
arkpar
772de24cae RLP decoder refactoring 2016-01-29 13:59:29 +01:00
arkpar
626fcdfffc append Now accepts lists again 2016-01-28 20:13:05 +01:00
arkpar
7f187674fc Fixed depth tracking 2016-01-27 19:27:11 +01:00
arkpar
698fa11e76 Fixed depth tracking 2016-01-27 18:58:41 +01:00
arkpar
aa9fb98a74 Merge branch 'master' of github.com:ethcore/parity into ark 2016-01-27 17:31:45 +01:00
arkpar
60e2b53a1d Fixed tests 2016-01-27 16:58:22 +01:00
arkpar
40314614f7 RLP encoder refactoring 2016-01-27 12:14:57 +01:00
Arkadiy Paronyan
ed546006ef Merge pull request #231 from ethcore/blockchaintests
Fix ensure_db_good() and flush_queue(), block refactoring, check block format, be strict.
2016-01-26 19:47:01 +01:00
Gav Wood
e904d2145f Block refactoring, stricter RLP.
Fixed #234.
Partially fixes #233 for Blocks.
Fixed #222.
2016-01-26 19:18:22 +01:00
Nikolay Volf
7b86f98a7c identations fix 2016-01-26 14:57:43 +04:00
Nikolay Volf
95e96a653f 2 bytes length check 2016-01-25 19:13:36 +04:00
Nikolay Volf
f4ab64fd6b happy path test 2016-01-25 18:47:13 +04:00
Nikolay Volf
01ea703783 long length checks & indentation 2016-01-25 17:27:11 +04:00
Nikolay Volf
e592a185ef lost spaces again 2016-01-25 16:57:41 +04:00
Nikolay Volf
48d1760b7f lost spaces 2016-01-25 16:54:52 +04:00
Nikolay Volf
45059d5119 untrusted rlp data length check 2016-01-25 16:40:59 +04:00
Nikolay Volf
b2050fa639 untrusted rlp data length check 2016-01-25 16:23:05 +04:00
Tomusdrw
adc763325d Merge branch 'master' into clippy
Conflicts:
	util/src/rlp/rlptraits.rs
2016-01-19 23:22:40 +01:00
Tomusdrw
bad2a244df Adding documentation request comments. 2016-01-19 17:02:01 +01:00
Tomusdrw
c746f0e62c Fixing all clippy lints 2016-01-19 13:47:30 +01:00
Tomusdrw
6ead6b7847 Merge branch 'master' into clippy
Conflicts:
	util/src/lib.rs
2016-01-19 12:45:06 +01:00
Tomusdrw
062193ceb5 Fixing clippy errors in util 2016-01-19 12:14:29 +01:00
Gav Wood
1eafdc7008 PR fixes. 2016-01-18 15:47:50 +01:00
Gav Wood
6ea8eaa3b5 Move ethcore files back into root. 2016-01-17 13:11:25 +01:00