Dmitry Kashitsyn
4df541e47a
Refactors references to MemoryLruCache in ethcore ( #6693 )
2017-10-15 21:47:06 +07:00
debris
616cafb04a
renamed kvdb_memorydb::in_memory -> kvdb_memorydb::create
2017-10-15 16:17:15 +02:00
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
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
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
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
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
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
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
Fredrik
2b39af1f09
Updating imports that were introduced with merge
2017-09-05 12:08:02 +02: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
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
Arkadiy Paronyan
ffae847b48
spacing around comas
2017-09-02 09:57:53 +02: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
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
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
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
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
Robert Habermeier
0abf2abc81
checking for signals in the light client
2017-08-03 18:18:19 +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
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
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
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
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
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
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
Vurich
5eba9078fc
Report whether a peer was kept from Handler::on_connect
2017-06-30 11:00:32 +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
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
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
Robert Habermeier
c7cf43d1c1
improve assertion
2017-05-16 17:24:12 +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
0fd3e36c23
Merge branch 'master' into on-demand-priority
2017-05-10 12:18:30 +02:00
Robert Habermeier
9358f81ac1
fix indentation
2017-05-09 14:24:45 +02:00
Robert Habermeier
6652df03df
Merge branch 'master' into aura-contract-warp
2017-04-19 20:43:24 +02:00
Robert Habermeier
a278dd5a0a
store epoch transition proofs in DB
2017-04-19 14:58:19 +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
a98052fe74
Merge branch 'master' into on-demand-priority
2017-04-13 16:44:47 +02:00
Robert Habermeier
e094043b80
Merge branch 'master' into block_header_rpc
2017-04-12 13:00:32 +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
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
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
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
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
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
Robert Habermeier
6aa9005785
parity_getBlockHeaderByNumber and LightFetch
2017-04-03 11:37:07 +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
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
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
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