* parity-version: bump beta to 2.0.2
* remove ssl from dockerfiles, closes#8880 (#9195)
* snap: remove ssl dependencies from snapcraft definition (#9222)
* parity-version: bump beta to 2.0.3
* Remove all dapp permissions related settings (#9120)
* Completely remove all dapps struct from rpc
* Remove unused pub use
* Remove dapp policy/permission func in ethcore
* Remove all dapps settings from rpc
* Fix rpc tests
* Use both origin and user_agent
* Address grumbles
* Address grumbles
* Fix tests
* Check if synced when using eth_getWork (#9193) (#9210)
* Check if synced when using eth_getWork (#9193)
* Don't use fn syncing
* Fix identation
* Fix typo
* Don't check for warping
* rpc: avoid calling queue_info twice on eth_getWork
* Fix potential as_usize overflow when casting from U256 in miner (#9221)
* Allow old blocks from peers with lower difficulty (#9226)
Previously we only allow downloading of old blocks if the peer
difficulty was greater than our syncing difficulty. This change allows
downloading of blocks from peers where the difficulty is greater then
the last downloaded old block.
* Update Dockerfile (#9242)
* Update Dockerfile
fix Docker build
* fix dockerfile paths: parity -> parity-ethereum (#9248)
* Propagate transactions for next 4 blocks. (#9265)
Closes#9255
This PR also removes the limit of max 64 transactions per packet, currently we only attempt to prevent the packet size to go over 8MB. This will only be the case for super-large transactions or high-block-gas-limit chains.
Patching this is important only for chains that have blocks that can fit more than 4k transactions (over 86M block gas limit)
For mainnet, we should actually see a tiny bit faster propagation since instead of computing 4k pending set, we only need `4 * 8M / 21k = 1523` transactions.
Running some tests on `dekompile` node right now, to check how it performs in the wild.
* Update tobalaba.json (#9313)
* Fix load share (#9321)
* fix(light_sync): calculate `load_share` properly
* refactor(api.rs): extract `light_params` fn, add test
* style(api.rs): add trailing commas
* ethcore: fix pow difficulty validation (#9328)
* ethcore: fix pow difficulty validation
* ethcore: validate difficulty is not zero
* ethcore: add issue link to regression test
* ethcore: fix tests
* ethcore: move difficulty_to_boundary to ethash crate
* ethcore: reuse difficulty_to_boundary and boundary_to_difficulty
* ethcore: fix grumbles in difficulty_to_boundary_aux
* Light client `Provide default nonce in transactions when it´s missing` (#9370)
* Provide `default_nonce` in tx`s when it´s missing
When `nonce` is missing in a `EthTransaction` will cause it to fall in
these cases provide `default_nonce` value instead!
* Changed http:// to https:// on Yasm link (#9369)
Changed http:// to https:// on Yasm link in README.md
* Provide `default_nonce` in tx`s when it´s missing
When `nonce` is missing in a `EthTransaction` will cause it to fall in
these cases provide `default_nonce` value instead!
* Address grumbles
* ethcore: kovan: delay activation of strict score validation (#9406)
* Better support for eth_getLogs in light mode (#9186)
* Light client on-demand request for headers range.
* Cache headers in HeaderWithAncestors response.
Also fulfills request locally if all headers are in cache.
* LightFetch::logs fetches missing headers on demand.
* LightFetch::logs limit the number of headers requested at a time.
* LightFetch::logs refactor header fetching logic.
* Enforce limit on header range length in light client logs request.
* Fix light request tests after struct change.
* Respond to review comments.
* Add update docs script to CI (#9219)
* Add update docs script to CI
Added a script to CI that will use the jsonrpc tool to update rpc
documentation then commit and push those to the wiki repo.
* fix gitlab ci lint
* Only apply jsonrpc docs update on tags
* Update gitlab-rpc-docs.sh
* Copy correct parity repo to jsonrpc folder
Copy correct parity repo to jsonrpc folder before attempting to build docs since the CI runner clones the repo as parity and not parity-ethereum.
* Fix JSONRPC docs CI job
Update remote config in wiki repo before pushing changes using a github
token for authentication. Add message to wiki tag when pushing changes.
Use project directory to correctly copy parity code base into the
jsonrpc repo for doc generation.
* Fix set_remote_wiki function call in CI
* Prevent blockchain & miner racing when accessing pending block. (#9310)
* Prevent blockchain & miner racing when accessing pending block.
* Fix unavailability of pending block during reseal.
* Prevent sync restart if import queue full (#9381)
* Add POA Networks: Core and Sokol (#9413)
* ethcore: add poa network and sokol chainspecs
* rpc: simplify chain spec docs
* cli: rearrange networks by main/test and size/range
* parity: don't blacklist 0x00a328 on sokol testnet
* parity: add sokol and poanet to params and clean up a bit, add tests
* ethcore: add the poa networks and clean up a bit
* ethcore: fix path to poacore chain spec
* parity: rename poa networks to poacore and poasokol
* parity: fix configuration tests
* parity: fix parameter tests
* ethcore: rename POA Core and POA Sokol
* Update tobalaba.json (#9419)
* Update hardcoded sync (#9421)
- Update foundation hardcoded header to block 6219777
- Update ropsten hardcoded header to block 3917825
- Update kovan hardcoded header to block 8511489
* Remove the dapps system from Parity
* Move node-health outside of dapps
* Fix set dapps list test
* Update Cargo.lock
* Deprecate options
* Add _legacy_ prefixes in Dapps
* Fix tests
* Fix deprecatedness of dapps-path
* CHECK macro to replace hard-coded checks
* Clean up deprecated options
* typo: FlAG -> FLAG
* Fix tests
* Deprecated non-used ui params default is None
* test: arg_ui_path is not deprecated
* arg_ui_port should be None
* Address grumbles
* Fix tests
* Add option for user to set max size limit for RPC requests as requested in #8961.
* Add max_payload to tests.
* Change name for max payload option and change value from NUM to MB.
* Fix broken test.
* Fix incorrect indentation.
* Add tx_queue_allow_unknown_local config option
- Previous commit messages:
dispatcher checks if we have the sender account
Add `tx_queue_allow_unknown_local` to MinerOptions
Add `tx_queue_allow_unknown_local` to config
fix order in MinerOptions to match Configuration
add cli flag for tx_queue_allow_unknown_local
Update refs to `tx_queue_allow_unknown_local`
Add tx_queue_allow_unknown_local to config test
revert changes to dispatcher
Move tx_queue_allow_unknown_local to `import_own_transaction`
Fix var name
if statement should return the values
derp de derp derp derp semicolons
Reset dispatch file to how it was before
fix compile issues + change from FLAG to ARG
add test and use `into`
import MinerOptions, clone the secret
Fix tests?
Compiler/linter issues fixed
Fix linter msg - case of constants
IT LIVES
refactor to omit yucky explict return
update comments
Fix based on diff AccountProvider.has_account method
* Refactor flag name + don't change import_own_tx behaviour
fix arg name
Note: force commit to try and get gitlab tests working again 😠
* Add fn to TestMinerService
* Avoid race condition from trusted sources
- refactor the miner tests a bit to cut down on code reuse
- add `trusted` param to dispatch_transaction and import_claimed_local_transaction
Add param to `import_claimed_local_transaction`
Fix fn sig in tests
* Remove public node related settings
* Fix tests
* Unwrap accounts provider in all rpc apis
* Unwrap AccountProvider in all cli places
* Fix rpc tests
Additionally as to the port, the new command line option
now allows the user to specify the network interface the P2P-Parity
listens, too. With support for 'all' and 'local' like in all other
versions of this flag. Default is 'all' (aka ).
* 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.
* Private transaction message added
* Empty line removed
* Private transactions logic removed from client into the separate module
* Fixed compilation after merge with head
* Signed private transaction message added as well
* Comments after the review fixed
* Private tx execution
* Test update
* Renamed some methods
* Fixed some tests
* Reverted submodules
* Fixed build
* Private transaction message added
* Empty line removed
* Private transactions logic removed from client into the separate module
* Fixed compilation after merge with head
* Signed private transaction message added as well
* Comments after the review fixed
* Encrypted private transaction message and signed reply added
* Private tx execution
* Test update
* Main scenario completed
* Merged with the latest head
* Private transactions API
* Comments after review fixed
* Parameters for private transactions added to parity arguments
* New files added
* New API methods added
* Do not process packets from unconfirmed peers
* Merge with ptm_ss branch
* Encryption and permissioning with key server added
* Fixed compilation after merge
* Version of Parity protocol incremented in order to support private transactions
* Doc strings for constants added
* Proper format for doc string added
* fixed some encryptor.rs grumbles
* Private transactions functionality moved to the separate crate
* Refactoring in order to remove late initialisation
* Tests fixed after moving to the separate crate
* Fetch method removed
* Sync test helpers refactored
* Interaction with encryptor refactored
* Contract address retrieving via substate removed
* Sensible gas limit for private transactions implemented
* New private contract with nonces added
* Parsing of the response from key server fixed
* Build fixed after the merge, native contracts removed
* Crate renamed
* Tests moved to the separate directory
* Handling of errors reworked in order to use error chain
* Encodable macro added, new constructor replaced with default
* Native ethabi usage removed
* Couple conversions optimized
* Interactions with client reworked
* Errors omitting removed
* Fix after merge
* Fix after the merge
* private transactions improvements in progress
* private_transactions -> ethcore/private-tx
* making private transactions more idiomatic
* private-tx encryptor uses shared FetchClient and is more idiomatic
* removed redundant tests, moved integration tests to tests/ dir
* fixed failing service test
* reenable add_notify on private tx provider
* removed private_tx tests from sync module
* removed commented out code
* Use plain password instead of unlocking account manager
* remove dead code
* Link to the contract changed
* Transaction signature chain replay protection module created
* Redundant type conversion removed
* Contract address returned by private provider
* Test fixed
* Addressing grumbles in PrivateTransactions (#8249)
* Tiny fixes part 1.
* A bunch of additional comments and todos.
* Fix ethsync tests.
* resolved merge conflicts
* final private tx pr (#8318)
* added cli option that enables private transactions
* fixed failing test
* fixed failing test
* fixed failing test
* fixed failing test
* Change interpretation min and max peers
* Only min specified -> Set min to that value and max to default
* Only max specified -> Set min and max to that value
* Both specified -> Set min the smallest value and max to the largest value
* simplify logic, new ParseError & add tests
* simplify code according to the review comments
* address review comments
* more fine-grained tests
* updater: refactor updater flow into state machine
* updater: delay update randomly within max range
* updater: configurable update delay
* updater: split polling and updater state machine step
* updater: drop state to avoid deadlocking
* updater: fix fetch backoff
* updater: fix overflow in update delay calculation
* updater: configurable update check frequency
* updater: fix update policy frequency comparison
* updater: use lazy_static for platform and platform_id_hash
* updater: refactor operations contract calls into OperationsClient
* updater: make updater generic over operations and fetch client
* updater: fix compilation
* updater: add testing infrastructure and minimal test
* updater: fix minor grumbles
* updater: add test for successful updater flow
* updater: add test for update delay
* updater: add test for update check frequency
* updater: mock time and rng for deterministic tests
* updater: test backoff on failure
* updater: add test for backoff short-circuit on new release
* updater: refactor to increase readability
* updater: cap maximum backoff to one month
* updater: add test for detecting already downloaded update
* updater: add test for updater disable on fatal errors
* updater: add test for pending outdated fetch
* updater: test auto install of updates
* updater: add test for capability updates
* updater: fix capability update
* updater: use ethabi to create event topic filter
* updater: decrease maximum backoff to 1 day
* updater: cap maximum update delay with upcoming fork block number
* updater: receive state mutex guard in updater_step
* updater: overload execute_upgrade to take state mutex guard
* updater: remove unnecessary clone of latest operations info
* updater: remove latest operations info clone when triggering fetch
* Update Clap dependency and remove workarounds
* WIP
* Remove line breaks in help messages for now
* Multiple values can only be separated by commas (closes#7428)
* Grumbles; refactor repeating code; add constant
* Use a single Wrapper rather than allocate a new one for each call
* Wrap --help to 120 characters rather than 100 characters
* kvdb-rocksdb: update to RocksDB 5.8.8
* kvdb-rocksdb: tune RocksDB options
* Switch to level-style compaction
* Increase default block size (16K), and use bigger blocks for HDDs (64K)
* Increase default file size base (64MB SSDs, 256MB HDDs)
* Create a single block cache shared across all column families
* Tune compaction settings using RocksDB helper functions, taking into account
memory budget spread across all columns
* Configure backgrounds jobs based on the number of CPUs
* Set some default recommended settings
* ethcore: remove unused config blockchain.db_cache_size
* parity: increase default value for db_cache_size
* kvdb-rocksdb: enable compression on all levels
* kvdb-rocksdb: set global db_write_bufer_size
* kvdb-rocksdb: reduce db_write_bufer_size to force earlier flushing
* kvdb-rocksdb: use master branch for rust-rocksdb dependency