* Temp storage for the private state added
* Temp storage for the private state added
* Request message added
* Store and retrieve offchain state logic
* State sync cache
* Private state column added to key value db
* Private state column added to key value db
* Indexing stored states via its hash
* Works with errors changed
* Private state stored into the local db
* Access to private state db added to sync io
* Private state db file added
* Rlp packets for retrieiving private state data added
* Handling of private sync completed message
* Test code fixed
* External flag for offchain storing added
* Test for private state sync added
* Saving private state logic corrected
* Migration code corrected
* Fixes after merge with master
* Merge with head
* Additional checks for slices
* Log for private state retrieval added
* Limit time of retrieving private states
* Store required hashes for every request, mark them stale if needed
* Store requested private state hashes and check received data
* Log stale requests
* State insertion fix
* Refactoring of how logging passed to state store
* Heapsize removed, syncing hashes structure reworked
* Check state length returned by contract
* Get rid of OverlayDB
* hash-db version updated
* Test fixed
* One more test fixed
* Add client-traits crate
Move the BlockInfo trait to new crate
* New crate `machine`
Contains code extracted from ethcore that defines `Machine`, `Externalities` and other execution related code.
* Use new machine and client-traits crates in ethcore
* Use new crates machine and client-traits instead of ethcore where appropriate
* Fix tests
* Don't re-export so many types from ethcore::client
* Fixing more fallout from removing re-export
* fix test
* More fallout from not re-exporting types
* Add some docs
* cleanup
* import the macro edition style
* Tweak docs
* Add missing import
* remove unused ethabi_derive imports
* Use latest ethabi-contract
* Move many traits from ethcore/client/traits to client-traits crate
Initial version of extracted Engine trait
* Move snapshot related traits to the engine crate (eew)
* Move a few snapshot related types to common_types
Cleanup Executed as exported from machine crate
* fix warning
* Gradually introduce new engine crate: snapshot
* ethcore typechecks with new engine crate
* Sort out types outside ethcore
* Add an EpochVerifier to ethash and use that in Engine.epoch_verifier()
Cleanup
* Document pub members
* Sort out tests
Sort out default impls for EpochVerifier
* Add test-helpers feature and move EngineSigner impl to the right place
* Sort out tests
* Sort out tests and refactor verification types
* Fix missing traits
* More missing traits
Fix Histogram
* Fix tests and cleanup
* cleanup
* Put back needed logger import
* Don't rexport common_types from ethcore/src/client
Don't export ethcore::client::*
* Remove files no longer used
Use types from the engine crate
Explicit exports from engine::engine
* Get rid of itertools
* Move a few more traits from ethcore to client-traits: BlockChainReset, ScheduleInfo, StateClient
* Move ProvingBlockChainClient to client-traits
* Don't re-export ForkChoice and Transition from ethcore
* Address grumbles: sort imports, remove commented out code
* Fix merge resolution error
* merge failure
* whisper is no longer a part of parity-ethereum repo
* fix failing tests
* update whisper help with the link to the new repo
* Removed AttachedProtocols
* updated whisper info in README.md files
* Update parity/deprecated.rs
Co-Authored-By: Andronik Ordian <write@reusable.software>
* Run cargo fix on `vm`
* Run cargo fix on ethcore-db
* Run cargo fix on evm
* Run cargo fix on ethcore-light
* Run cargo fix on journaldb
* Run cargo fix on wasm
* Missing docs
* Run cargo fix on ethcore-sync
* Replace error chain for network error
* Fix usages and add manual From impls
* OnDemand Error and remove remaining dependencies
* Die error_chain, die.
* DIE
* Hasta la vista, baby
Define a new `enum` where devp2p subprotocol packet ids (currently eth and par) are defined. Additionally provide functionality to query id value and protocol of a given id object.
* fix(light-rpc): Make `light_sync` generic
The motivation behind this change is to easily mock `light-sync` to make it possible to enable `rpc-integration` tests
for the light-client.
Currently the `rpc's` requires the concrete type `sync::LightSync` which makes it very hard to do so
* fix(bad merge)
* Make the specification of the protocol to which a packet_id belongs to
explicit when calling "SyncRequester::send_packet".
* Remove "SyncIO::send" and leave only "SyncIO::send_protocol"
* Adapt tests to new code.
* Strengthen tests to check if packet_id and protocol match when sending
a devp2p packet.
* Increase the number of block bodies requested during Sync.
* Increase the number of block bodies requested during Sync.
* Check if our peer is an older parity client with the bug
of not handling large requests properly
* Add a ClientVersion struct and a ClientCapabilites trait
* Make ClientVersion its own module
* Refactor and extend use of ClientVersion
* Replace strings with ClientVersion in PeerInfo
* Group further functionality in ClientCapabilities
* Move parity client version data from tuple to its own struct.
* Implement accessor methods for ParityClientData and remove them
from ClientVersion.
* Minor fixes
* Make functions specific to parity return types specific to parity.
* Test for shorter ID strings
* Fix formatting and remove unneeded dependencies.
* Roll back Cargo.lock
* Commit last Cargo.lock
* Convert from string to ClientVersion
* * When checking if peer accepts service transactions just check
if it's parity, remove version check.
* Remove dependency on semver in ethcore-sync
* Remove unnecessary String instantiation
* Rename peer_info to peer_version
* Update RPC test helpers
* Simplify From<String>
* Parse static version string only once
* Update RPC tests to new ClientVersion struct
* Document public members
* More robust parsing of ID string
* Minor changes.
* Update version in which large block bodies requests appear.
* Update ethcore/sync/src/block_sync.rs
Co-Authored-By: elferdo <elferdo@gmail.com>
* Update util/network/src/client_version.rs
Co-Authored-By: elferdo <elferdo@gmail.com>
* Update util/network/src/client_version.rs
Co-Authored-By: elferdo <elferdo@gmail.com>
* Update tests.
* Minor fixes.
* Extract accounts from ethcore.
* Fix ethcore.
* Get rid of AccountProvider in test_helpers
* Fix rest of the code.
* Re-use EngineSigner, fix tests.
* Simplify EngineSigner to always have an Address.
* Fix RPC tests.
* Add deprecation notice to RPCs.
* Feature to disable accounts.
* extract accounts in RPC
* Run with accounts in tests.
* Fix RPC compilation and tests.
* Fix compilation of the binary.
* Fix compilation of the binary.
* Fix compilation with accounts enabled.
* Fix tests.
* Update submodule.
* Remove android.
* Use derive for Default
* Don't build secretstore by default.
* Add link to issue.
* Refresh Cargo.lock.
* Fix miner tests.
* Update rpc/Cargo.toml
Co-Authored-By: tomusdrw <tomusdrw@users.noreply.github.com>
* Fix private tests.
* fix(ManageNetwork): replace Range -> RangeIncls
Fixes `TODO: Range should be changed to RangeInclusive once stable (https://github.com/rust-lang/rust/pull/50758)`
* fix(tests)
* fix(grumbles): off-by-one error in debug_asserts
* RangeInclusive::end() is inclusive which means that if start and end is equal the `debug_assert(range.end() >
range.start()` will fail which is shouldn't
* Add private tx enabled flag into status packet
* Error log added for the case with no peers available
* Add flag only for supported protocol versions
* Work with private handler refactored
* Log target changed
* Cargo.lock updated
Fix: new blocks notifications sometimes missing in pubsub RPC
Implement new struct to pass to `new_blocks()` with extra parameter - `has_more_blocks_to_import`, which was previously used to determine whether the notification should be sent. Now it's up to each implementation to decide what to do.
Updated all implementations to behave as before, except `eth_pubsub`, which will send notification even when the queue is not empty.
Update tests.
* PIP Table Cost relative to average peers instead of max peers
* Add tracing in PIP new_cost_table
* Update stat peer_count
* Use number of leeching peers for Light serve costs
* Fix test::light_params_load_share_depends_on_max_peers (wrong type)
* Remove (now) useless test
* Remove `load_share` from LightParams.Config
Prevent div. by 0
* Add LEECHER_COUNT_FACTOR
* PR Grumble: u64 to u32 for f64 casting
* Prevent u32 overflow for avg_peer_count
* Add tests for LightSync::Statistics
* Verify private transaction before propagating
* Private transactions queue reworked with tx pool queue direct usage
* Styling fixed
* Prevent resending private packets to the sender
* Process signed private transaction packets via io queue
* Test fixed
* Build and test fixed after merge
* Comments after review fixed
* Signed transaction taken from verified
* Fix after merge
* Pool scoring generalized in order to use externally
* Lib refactored according to the review comments
* Ready state refactored
* Redundant bound and copying removed
* Fixed build after the merge
* Forgotten case reworked
* Review comments fixed
* Logging reworked, target added
* Fix after merge
* Unordered iterator.
* Use unordered and limited set if full not required.
* Split timeout work into smaller timers.
* Avoid collecting all pending transactions when mining
* Remove println.
* Use priority ordering in eth-filter.
* Fix ethcore-miner tests and tx propagation.
* Review grumbles addressed.
* Add test for unordered not populating the cache.
* Fix ethcore tests.
* Fix light tests.
* Fix ethcore-sync tests.
* Fix RPC tests.
* Update `add_license` script
* run script
* add `remove duplicate lines script` and run it
* Revert changes `English spaces`
* strip whitespaces
* Revert `GPL` in files with `apache/mit license`
* don't append `gpl license` in files with other lic
* Don't append `gpl header` in files with other lic.
* re-ran script
* include c and cpp files too
* remove duplicate header
* rebase nit
* Alter IO queueing.
* Don't require IoMessages to be Clone
* Ancient blocks imported via IoChannel.
* Get rid of private transactions io message.
* Get rid of deadlock and fix disconnected handler.
* Revert to old disconnect condition.
* Fix tests.
* Fix deadlock.
* Keep all enacted blocks notify in order
* Collect is unnecessary
* Update ChainNotify to use ChainRouteType
* Fix all ethcore fn defs
* Wrap the type within ChainRoute
* Fix private-tx and sync api
* Fix secret_store API
* Fix updater API
* Fix rpc api
* Fix informant api
* Eagerly cache enacted/retracted and remove contain_enacted/retracted
* Fix indent
* tests: should use full expr form for struct constructor
* Use into_enacted_retracted to further avoid copy
* typo: not a function
* rpc/tests: ChainRoute -> ChainRoute::new
* Implementation of Verifier, Scoring and Ready.
* Queue in progress.
* TransactionPool.
* Prepare for txpool release.
* Miner refactor [WiP]
* WiP reworking miner.
* Make it compile.
* Add some docs.
* Split blockchain access to a separate file.
* Work on miner API.
* Fix ethcore tests.
* Refactor miner interface for sealing/work packages.
* Implement next nonce.
* RPC compiles.
* Implement couple of missing methdods for RPC.
* Add transaction queue listeners.
* Compiles!
* Clean-up and parallelize.
* Get rid of RefCell in header.
* Revert "Get rid of RefCell in header."
This reverts commit 0f2424c9b7319a786e1565ea2a8a6d801a21b4fb.
* Override Sync requirement.
* Fix status display.
* Unify logging.
* Extract some cheap checks.
* Measurements and optimizations.
* Fix scoring bug, heap size of bug and add cache
* Disable tx queueing and parallel verification.
* Make ethcore and ethcore-miner compile again.
* Make RPC compile again.
* Bunch of txpool tests.
* Migrate transaction queue tests.
* Nonce Cap
* Nonce cap cache and tests.
* Remove stale future transactions from the queue.
* Optimize scoring and write some tests.
* Simple penalization.
* Clean up and support for different scoring algorithms.
* Add CLI parameters for the new queue.
* Remove banning queue.
* Disable debug build.
* Change per_sender limit to be 1% instead of 5%
* Avoid cloning when propagating transactions.
* Remove old todo.
* Post-review fixes.
* Fix miner options default.
* Implement back ready transactions for light client.
* Get rid of from_pending_block
* Pass rejection reason.
* Add more details to drop.
* Rollback heap size of.
* Avoid cloning hashes when propagating and include more details on rejection.
* Fix tests.
* Introduce nonces cache.
* Remove uneccessary hashes allocation.
* Lower the mem limit.
* Re-enable parallel verification.
* Add miner log. Don't check the type if not below min_gas_price.
* Add more traces, fix disabling miner.
* Fix creating pending blocks twice on AuRa authorities.
* Fix tests.
* re-use pending blocks in AuRa
* Use reseal_min_period to prevent too frequent update_sealing.
* Fix log to contain hash not sender.
* Optimize local transactions.
* Fix aura tests.
* Update locks comments.
* Get rid of unsafe Sync impl.
* Review fixes.
* Remove excessive matches.
* Fix compilation errors.
* Use new pool in private transactions.
* Fix private-tx test.
* Fix secret store tests.
* Actually use gas_floor_target
* Fix config tests.
* Fix pool tests.
* Address grumbles.