Arkadiy Paronyan
7093651d70
More performance optimizations ( #1814 )
...
* Buffered DB
* Use identity hash for MemoryDB
* Various tweaks
* Delayed DB compression
* Reduce last_hashes cloning
* Keep state cache
* Updating tests
* Optimized to_big_int
* Fixing build with stable
* Safer code
2016-08-03 22:03:40 +02:00
Robert Habermeier
11b65ce53d
Remove (almost all) panickers from trie module ( #1776 )
...
* memorydb ub patch and other cleanup
* fix denote invocations
* move trie traits into trie module
* replace "denote" with shim
* triedb returns results and no longer panics
* fix warnings
* get ethcore compiling
* warn on trie errors in ethcore
* remove unsafety from node decoder
* restore broken denote behavior for this branch
* fix overlayrecent fallout
* fix triedb tests
* remove unwrap in state
* alter Trie::get to return Result<Option<_>>
* fix refcell error in require
* fix test warnings
* fix json tests
* whitespace
[ci:skip]
* Avoid unneeded match/indentation
* whitespace
* prettify map_or_else
* remove test warning
2016-08-03 18:35:48 +02:00
keorn
11cb544c24
Collect consensus/null engines into a single module ( #1754 )
...
* collect consesnsus engine code into module
* move Engine to mod
* fix json test
2016-07-28 20:32:20 +02: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
Tomasz Drwięga
3f41186b2e
Fixing some clippy warnings ( #1728 )
...
* Fixing warnings
* Fixing unnecessary ref
* Removing unnecessary operation
2016-07-26 20:31:25 +02:00
Arkadiy Paronyan
4e447ccc68
More performance optimizations ( #1649 )
...
* Use tree index for DB
* Set uncles_hash, tx_root, receipts_root from verified block
* Use Filth instead of a bool
* Fix empty root check
* Flush block queue properly
* Expunge deref
2016-07-19 09:23:53 +02:00
Gav Wood
799c69c8d5
DAO hard-fork ( #1483 )
...
* Minor additions to allow resetting of code.
* Add test.
* Provisional DAO hard-fork proposal.
* Change to reflect latest HF spec.
* Include extradata restrictions and overrides.
* Introduce new tests.
* Update tests to new spec format.
* Allow JSON chain spec fields to be optional.
* Remove superfluous definitions. Fix overflow risk.
* Fix build.
* Add missing file.
* Remove old flag.
* Update to latest address set.
* Update tests and test spec to latest.
Change the mining default to release only on own transactions.
2016-07-16 13:02:56 +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
Nikolay Volf
d956b7cea3
Merge pull request #1577 from ethcore/pv64
...
bring snapshotting work into master
2016-07-12 13:46:55 +02:00
Robert Habermeier
7200cfcbc9
expunge &Vec<T> pattern ( #1579 )
...
* expunge &Vec<T> pattern
* fix travis
2016-07-12 10:28:35 +02:00
Robert Habermeier
673cde6c7f
add block tests
2016-07-11 18:31:18 +02:00
Gav Wood
a084969d55
Fix tests.
2016-07-06 10:40:45 +02:00
Gav Wood
488ff88562
Remove soft-fork stuff.
2016-07-05 18:18:35 +02:00
Marek Kotewicz
d8a4cca817
Fatdb integration with CLI ( #1464 )
...
* fatdb integration
* --fat-db
* rerun with --pruning=archive comment
2016-07-01 19:29:56 +01:00
arkpar
ee01ad1324
Shortcut sealed block into the chain
2016-06-29 21:49:22 +02:00
Arkadiy Paronyan
3c63244c00
Merge pull request #1418 from ethcore/newblocknumber
...
Update SF blocknumber to 1800000.
2016-06-24 17:50:03 +02:00
Gav Wood
60d259c9d5
Update SF blocknumber to 1800000.
2016-06-24 14:20:50 +02:00
Gav Wood
bca9e1f31a
Merge branch 'master' into sfedgecase
2016-06-23 14:43:42 +02:00
Gav Wood
41e0769e63
Fix tests,
2016-06-23 14:43:20 +02:00
Gav Wood
8fcec20398
Gas limit ceiling option.
2016-06-23 14:29:16 +02:00
Robert Habermeier
082294fe81
Merge pull request #1403 from ethcore/bump-clippy
...
Bump clippy
2016-06-23 14:23:46 +02:00
Tomasz Drwięga
5bf906625b
Fixing warnings
2016-06-23 12:19:38 +02:00
Gav Wood
129ce97ad5
Constants for SF# and update.
2016-06-23 11:30:48 +02:00
Gav Wood
2582253f95
Install trigger for DAO-rescue soft-fork.
...
Soft-fork should only be primed to trigger if the gas-limit of
block #1760000 is at most 4,000,000.
To accomplish this we pass in the gas limit of that block to
EnvInfo so it can inform Schedule. This gets marshalled through
`OpenBlock`/`ClosedBlock` and the `enact` functions much like
`last_hashes`. `block.rs`'s `env_info()` takes care to ensure
that if the current block happens to be #1760000 , then we
populate with the current `gas_limit`.
2016-06-18 20:26:44 +02:00
Gav Wood
293d9f15d5
Tests for JSON serialisation of statediff/vmtrace ( #1241 )
...
* Splitting RPC Apis into more fine-grained sets
* Remove old code/comment.
* Add test for VMTrace ser.
* Add StateDiff ser test.
2016-06-08 12:40:55 -07:00
Robert Habermeier
13968aaa38
Refactor triedb constructors to error on invalid state root ( #1230 )
...
* add TrieError, refactor Trie DB creation
* remove Result type alias due to glob import conflicts
* fix fallout in state.rs
* add debug, display impl for TrieError
* fix fallout in account.rs
* ethcore::Error::TrieError variant
* fix remaining fallout in ethcore crate
* added From<TrieError> impl for Error, removed map_err calls
* fix test breakages
* fix doc tests
* update docs
[ci skip]
2016-06-07 11:44:09 -07:00
Robert Habermeier
ff7c755930
mostly purge x! from ethcore
2016-05-31 16:59:01 +02:00
Marek Kotewicz
6cff58055d
CLI option for using JITEVM ( #1103 )
...
* easily configurable vm (in progress)
* completely removed vm_factory from engine
* --jitvm command line flag
2016-05-19 00:44:49 +02:00
Gav Wood
ac73b2628a
Basic Authority ( #991 )
...
* Firt commit.
* First non-functional but correct implementation of BasicAuthority.
Still needs:
- Sealing infrastructure.
* Punch a hole to give miner access to key store.
* Fix test built.
* Basic version of synchronous mining.
This will seal a block whenever a new transaction comes through.
To be made better we need a timer which will wait for one second after the
last block before sealing a new one - better still would be to cooperatively
interleave blocks with other sealing nodes.
* Add tests.
* Fix minor issues from repotting.
* Address grumbles.
2016-05-03 17:23:53 +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
373284ca0a
spec loading cleanup ( #858 )
...
* spec loading cleanup in progress
* changed engine field in json spec
* refactored engine params
* polishing spec loading refactor
* fixed compiling json tests
* fixed compiling parity
* removed warnings
* removed commented out code
* fixed failing test
* bringing back removed TODO in spec.
2016-04-09 10:20:35 -07:00
Tomasz Drwięga
85da55a537
Fixing warnings
2016-04-06 10:55:40 +02:00
Gav Wood
d7c377dea6
Fix build.
2016-03-28 10:12:15 +02:00
Gav Wood
7c5b171e3f
Differentiate between ClosedBlock (can be reopened) and LockedBlock (cannot).
...
`ClosedBlock`s still keep the pre-finalised state (i.e. state after the last transaction).
`LockedBlock`s do not. New mining algo needs to reopen these `ClosedBlock`s, however enactment
system does not (and `ClosedBlock`s are slower & more hungry), hence the distinction.
2016-03-27 20:33:23 +02:00
Gav Wood
830ef7ddfc
New mining framework.
...
Fixes #756 .
2016-03-24 23:03:22 +01:00
Gav Wood
4e013ba2fc
Refactor pending_block to always return invalid txs and sometimes a block.
...
Docuemnt SealingWork properly.
2016-03-23 16:28:02 +00:00
Gav Wood
a134f939e9
Non-functioning draft of code.
2016-03-22 13:05:18 +01:00
Gav Wood
0cef2cfc46
Merge pull request #778 from ethcore/json_tests_refactor
...
use ethjson module to load chain json tests
2016-03-20 09:51:36 +01:00
debris
2face3f938
use ethjson module to load chain json tests
2016-03-19 18:13:14 +01:00
Gav Wood
66837452c2
Expose tracing all the way to BlockChain; now it's up to blockchain to integrate.
2016-03-19 13:37:47 +01:00
Gav Wood
1bfcbca8af
Add doumentation, make tracing optional and expose at OpenBlock level.
2016-03-19 12:54:34 +01:00
arkpar
9dea31031c
Enact block with uncles test
2016-03-15 14:35:45 +01:00
Gav Wood
97051cb949
Add RLP, not a data item.
2016-03-14 18:20:24 +01:00
Gav Wood
f6b7884a1d
Allow configuration of target gas limit.
2016-03-14 02:00:22 +01:00
Nikolay Volf
03a4f9e268
Merge pull request #673 from ethcore/boxjdb
...
JournalDB -> Box<JournalDB>, and it's a trait.
2016-03-11 20:03:39 +03:00
Gav Wood
5499f4530c
Fix tests.
2016-03-11 15:01:15 +01:00
Gav Wood
2a856a13f0
Obvious typo fix.
2016-03-11 13:21:53 +01:00
Gav Wood
d71c5d4c17
Place Sync/Send in trait.
2016-03-11 13:19:10 +01:00
Gav Wood
756f964130
JournalDB -> Box<JournalDB>, and it's a trait.
2016-03-11 12:54:48 +01:00
Tomasz Drwięga
d84e008e00
Removing superflous check for nightly
2016-03-11 11:16:49 +01:00
Tomasz Drwięga
cbc2c0cf0c
Fixing clippy warnings. When building on nightly it is required to enable clippy
2016-03-07 14:34:17 +01:00
Gav Wood
86c34c7d10
Remove "fix".
2016-03-04 23:29:56 +01:00
Gav Wood
3daa4c6497
Fix max uncles.
2016-03-03 11:39:00 +01:00
Gav Wood
30c6820437
Refactor and cleanup.
2016-03-02 00:52:18 +01:00
Gav Wood
628a53ccec
Update tests. Fix our tests.
2016-03-01 20:02:59 +01:00
Gav Wood
140711dd8a
Fixups from review.
...
Reduce size of default extra-data.
Introduce find_uncle_headers.
2016-03-01 19:59:12 +01:00
Gav Wood
afc0605080
Refactor engine to make it clear that we're actually checking the seal.
2016-03-01 17:23:44 +01:00
Gav Wood
48df869202
--author and --extra-data options. Fixed null parent-hash.
2016-03-01 16:58:14 +01:00
Gav Wood
394e9c679b
Reorganised ImportError to be a type of Errpr (rather than vice-versa).
...
Added support for eth_submitWork.
2016-03-01 00:02:48 +01:00
Gav Wood
83b8e7df5a
Initial refactor and block closing.
2016-02-29 14:57:41 +01:00
Gav Wood
fd63fa6836
Update block.rs
2016-02-26 17:27:56 +01:00
Tomasz Drwięga
d914a27bdf
Removing lifetimes from Blocks
2016-02-24 11:17:25 +01:00
Tomusdrw
07e704c968
Fixing clippy warnings. Implementing PartialEq for Uints
2016-02-23 11:40:23 +01:00
debris
b5d6359030
fixed allow warnings in ethcore
2016-02-19 12:40:23 +01:00
arkpar
8fa62130e3
Added TODOs
2016-02-19 00:23:05 +01:00
debris
df3d17789a
compiling ethcore on beta
2016-02-19 00:06:06 +01:00
Marek Kotewicz
720c280fde
Merge pull request #350 from ethcore/signed_transaction
...
SignedTransaction structure
2016-02-05 14:11:12 +01:00
Gav Wood
105f4262dd
Merge pull request #354 from ethcore/license
...
License
2016-02-05 14:06:10 +01:00
debris
c90d64662a
added license in every *.rs file
2016-02-05 13:40:41 +01:00
arkpar
75ebac36a3
Cleanup
2016-02-05 01:49:06 +01:00
debris
e92c6ee719
Signed transaciton split in progress
2016-02-04 17:23:53 +01:00
arkpar
b9af3f9260
State copy optimization
2016-02-03 19:34:51 +01:00
debris
a1cedaa994
ethcore block and blockchain module fixes
2016-02-02 16:24:37 +01:00
debris
30dc9d857d
cleanup ethcore public interfaces
2016-02-02 15:29:53 +01:00
Nikolay Volf
5837b6e131
Merge branch 'master' into coverage-effort
...
Conflicts:
ethcore/res/ethereum/tests
2016-01-31 18:40:59 +04:00
debris
8fe0d74b64
moved src to ethcore
2016-01-31 10:36:48 +01:00