debris
eb526b7769
separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb, #6693
2017-10-12 15:36:27 +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
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
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
ade37be25b
separate trie from util and make its dependencies into libs:
...
* bytes
* hashdb
* memorydb
* nibbleslice
* nibblevec
2017-09-15 11:03:53 +08:00
Robert Habermeier
ad39446e87
Revert "fixed master ( #6465 )"
...
This reverts commit 899538ae25
.
2017-09-05 17:54:05 +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
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
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
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
ffde22e711
move genesis_epoch_data function to spec
2017-09-04 12:46:32 +02:00
Robert Habermeier
372779915f
Merge branch 'master' into light-poa
2017-09-04 12:30:37 +02:00
Hawstein
7b8af30590
remove re-export of parking_lot in util ( #6435 )
2017-09-02 20:09:13 +02:00
debris
94f717a255
Merge branch 'master' into keccak_fn
2017-08-31 11:53:26 +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
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
d3c3e0b164
Merge branch 'master' into light-poa
2017-08-29 15:14: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
Robert Habermeier
871a9c063e
Merge branch 'master' into light-poa
2017-08-23 15:49:02 +02:00
Tomasz Drwięga
73644adf69
Rename network_id to chain_id where applicable.
2017-08-21 14:23:10 +02:00
Robert Habermeier
1e269c94a6
prove_transaction function on state
2017-08-15 00:12:40 +02:00
Anton Gavrilov
bfd238e000
Style fixed after review
2017-08-10 12:36:29 +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
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
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
Anton Gavrilov
8826fdb03a
Merge with head
2017-07-31 13:49:44 +02:00
Anton Gavrilov
5086dc3024
Working test with block reward added
2017-07-31 13:42:34 +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
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
Anton Gavrilov
73128039a6
Working test with block reward added
2017-07-27 18:21:36 +02:00
arkpar
9ad0ff960e
Place RETURNDATA behind block number gate
2017-07-19 14:34:59 +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
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
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
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
Tomasz Drwięga
5d9f5e3509
Defer code hash calculation.
2017-06-30 11:30:32 +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
Marek Kotewicz
575c51f5a0
eip214, #4833 ( #4851 )
2017-06-19 11:41:46 +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
Arkadiy Paronyan
e6a31e7543
EIP-210 BLOCKHASH changes ( #5505 )
...
* EIP-210
* comment
2017-05-30 11:52:33 +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
Arkadiy Paronyan
dd004aba9f
EIP-140 ( #5477 )
2017-05-23 16:49:17 +03: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
Arkadiy Paronyan
b50fb71dd1
EIP-86 ( #4697 )
...
* EIP-86
* Disable EIP-86 auto activation for now
2017-04-19 14:30:00 +02:00
arkpar
314af4cdae
Use in-memory database in tests
2017-04-13 12:17:53 +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
keorn
a61b1567d0
Strict validation transitions ( #4988 )
...
* ability to make validation stricter
* fix consensus
* remove logger
2017-03-28 10:46:52 +02:00
keorn
9fdd0e3a0a
Switching ValidatorSet ( #4961 )
...
* add multi validator set
* nicer comment
* validate in constructor
* reporting
2017-03-23 13:19:28 +01: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
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
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
Arkadiy Paronyan
43871e393c
Additional kovan params ( #4892 )
2017-03-14 11:41:56 +01:00
Marek Kotewicz
3fe3353696
removed redundant FixedHash trait, fixes #4029 ( #4866 )
2017-03-11 22:58:15 +04: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
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
1fba73c15e
minimal state backend trait
...
make state module public
2017-02-21 12:35:21 +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
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
be30c44179
Validator/authority contract ( #3937 )
...
* 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
* add a comment about lock scope
2017-01-10 12:23:59 +01:00
keorn
e5b3c092c8
Merge branch 'master' into optional-spec
2017-01-03 15:42:56 +01:00
Robert Habermeier
8125b5690c
Port try
macro to new ?
operator. ( #3962 )
...
* initial untry sweep
* restore try in ipc codegen, fix inference
* change a few missed try instances
2016-12-27 12:53:56 +01:00
keorn
afc4cd2785
Allow contract constructors in chain spec ( #3932 )
...
* constructor spec
* execute under wrong address
* create under correct address
* revert
* move genesis block lookup
* remove env_logger
2016-12-23 18:44:39 +01:00
Igor Artamonov
be75cbfaaa
set CHAIN_ID for Classic ( #3934 )
...
* configurable CHAIN_ID
* set CHAIN_ID for Ethereum Classic
2016-12-22 13:10:58 +01:00
keorn
552a772cc1
make fields defaulting to 0 optional
2016-12-22 07:06:40 +01:00
Gav Wood
20b2f84d48
Merge pull request #3828 from ethcore/new-dirs
...
New directory structure
2016-12-15 14:34:01 +01:00
keorn
0b9ab0797f
fix build
2016-12-15 13:45:22 +01:00
keorn
943efc21bb
add tendermint seal
2016-12-15 13:41:04 +01:00
Gav Wood
a74bce2c06
Merge pull request #3759 from ethcore/auth-bft
...
Tendermint Engine
2016-12-15 13:18:15 +01:00
keorn
f686fa3d6f
update specs and generic conversion
2016-12-14 12:50:32 +01:00
arkpar
be5fefe772
Merge branch 'master' of github.com:ethcore/parity into new-dirs
2016-12-14 00:04:11 +01:00
arkpar
5fd2e15313
Style and docs
2016-12-12 23:21:44 +01:00
keorn
fa504e510f
Merge branch 'master' into auth-bft
2016-12-12 21:28:46 +01:00
arkpar
6601fde328
New data paths with upgrade
2016-12-12 16:51:07 +01:00
Gav Wood
17cc2be4b5
Rename ethcore -> parity in license.
2016-12-11 19:30:54 +01:00
arkpar
97f358ced9
AuthorityRound network simulation test
2016-12-09 20:38:06 +01:00
arkpar
ca7406773f
AuthorityRound network simulation test
2016-12-09 19:27:16 +01:00
Gav Wood
ad36743122
Merge pull request #3719 from ethcore/engine-block-ordering
...
Engine block ordering
2016-12-05 10:37:36 -08:00
keorn
6fc943ca6d
Merge branch 'master' into auth-bft
2016-12-05 16:37:35 +00:00
Robert Habermeier
a726472023
Merge pull request #3713 from ethcore/fix-v-u64
...
Encode networkid as a u64.
2016-12-05 17:14:07 +01:00
keorn
c61a0e97b3
make engine determine block order
2016-12-05 15:20:32 +00:00
keorn
c39d504167
Merge branch 'spec-rlp-loading' into auth-bft
2016-12-05 14:11:06 +00:00
keorn
22632e6324
make generic seal take valid rlp
2016-12-05 14:07:31 +00:00
Gav Wood
2911c549e3
Encode networkid as a u64.
2016-12-04 10:48:26 -08:00