1. Apr 13, 2018
    • Tomasz Drwięga's avatar
      New Transaction Queue implementation (#8074) · 1cd93e4c
      Tomasz Drwięga authored and Marek Kotewicz's avatar Marek Kotewicz committed
      * 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.
      1cd93e4c
  2. Apr 09, 2018
    • Anton Gavrilov's avatar
      Private transactions integration pr (#6422) · e6f75bcc
      Anton Gavrilov authored and Marek Kotewicz's avatar Marek Kotewicz committed
      * 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
      e6f75bcc
  3. Apr 03, 2018
  4. Mar 29, 2018
    • Andrew Jones's avatar
      Replace all Rlp usages with UntrustedRlp except for ethcore views (#8233) · e3f7b70c
      Andrew Jones authored
      * Replace Rlp with UntrustedRlp and unsafely unwrap
      
      All Rlp methods return Result<_,DecoderError> now, so for this first
      pass each will be marked with `expect("TODO")`. In the next pass we can
      categorise figure out how to handle each case.
      
      * Handle DecoderError for tendermint message
      
      * Unwrap rlp results in TestBlockcChainClient
      
      Rlp should be valid since created manually in tests
      
      * Replace `use rlp::*` with explicit imports
      
      * Remove rlp decode unwraps from light cli request
      
      * Structured rlp encoding for curr best and latest in header chain
      
      * Propogate decoder errors from send_packet
      
      * Fix body uncles rlp index
      
      * Use BodyView in sync and `expect` rlp errors
      
      * Revert bbf28f removing original Rlp for this phase
      
      This can be done again in the next phase, in order that we can leave the ethcore views unchanged
      
      * Restore legacy Rlp and UntrustedRlp
      
      Use legacy Rlp for ethcore views. Will redo replacing Rlp with UntrustedRlp in  a subsequent PR
      
      * Fix tests
      
      * Replace boilerplate Encodable/Decodable with derive
      
      * Use BlockView instead of Rlp, remove unwrap
      
      * Remove rlp test_cli unwraps by using BlockView instead of Rlp directly
      
      * Remove unneccesary change to use borrowed hash
      
      * Construct sync block using new_from_header_and_body
      e3f7b70c
  5. Mar 12, 2018
  6. Mar 06, 2018
  7. Mar 03, 2018
    • Dmitry Kashitsyn's avatar
      `Client` refactoring (#7038) · 9d7d6f71
      Dmitry Kashitsyn authored and Marek Kotewicz's avatar Marek Kotewicz committed
      * Improves `BestBlock` comment
      
      * Improves `TraceDB` comment
      
      * Improves `journaldb::Algorithm` comment.
      
      Probably the whole enum should be renamed to `Strategy` or something alike.
      
      * Comments some of the `Client`'s fields
      
      * Deglobs client imports
      
      * Fixes comments
      
      * Extracts `import_lock` to `Importer` struct
      
      * Extracts `verifier` to `Importer` struct
      
      * Extracts `block_queue` to `Importer` struct
      
      * Extracts `miner` to `Importer` struct
      
      * Extracts `ancient_verifier` to `Importer` struct
      
      * Extracts `rng` to `Importer` struct
      
      * Extracts `import_old_block` to `Importer` struct
      
      * Adds `Nonce` trait
      
      * Adds `Balance` trait
      
      * Adds `ChainInfo` trait
      
      * Fixes imports for tests using `chain_info` method
      
      * Adds `BlockInfo` trait
      
      * Adds more `ChainInfo` imports
      
      * Adds `BlockInfo` imports
      
      * Adds `ReopenBlock` trait
      
      * Adds `PrepareOpenBlock` trait
      
      * Fixes import in tests
      
      * Adds `CallContract` trait
      
      * Fixes imports in tests using `call_contract` method
      
      * Adds `TransactionInfo` trait
      
      * Adds `RegistryInfo` trait
      
      * Fixes imports in tests using `registry_address` method
      
      * Adds `ScheduleInfo` trait
      
      * Adds `ImportSealedBlock` trait
      
      * Fixes imports in test using `import_sealed_block` method
      
      * Adds `BroadcastProposalBlock` trait
      
      * Migrates `Miner` to static dispatch
      
      * Fixes tests
      
      * Moves `calculate_enacted_retracted` to `Importer`
      
      * Moves import-related methods to `Importer`
      
      * Removes redundant `import_old_block` wrapper
      
      * Extracts `import_block*` into separate trait
      
      * Fixes tests
      
      * Handles `Pending` in `LightFetch`
      
      * Handles `Pending` in filters
      
      * Handles `Pending` in `ParityClient`
      
      * Handles `Pending` in `EthClient`
      
      * Removes `BlockId::Pending`, partly refactors dependent code
      
      * Adds `StateInfo` trait
      
      * Exports `StateOrBlock` and `BlockChain` types from `client` module
      
      * Refactors `balance` RPC using generic API
      
      * Refactors `storage_at` RPC using generic API
      
      * Makes `MinerService::pending_state`'s return type dynamic
      
      * Adds `StateOrBlock` and `BlockChain` types
      
      * Adds impl of `client::BlockChain` for `Client`
      
      * Exports `StateInfo` trait from `client` module
      
      * Missing `self` use
      
      To be fixed up to "Adds impl of `client::BlockChain` for `Client`"
      
      * Adds `number_to_id` and refactors dependent RPC methods
      
      * Refactors `code_at` using generic API
      
      * Adds `StateClient` trait
      
      * Refactors RPC to use `StateClient` trait
      
      * Reverts `client::BlockChain` trait stuff, refactors methods to accept `StateOrBlock`
      
      * Refactors TestClient
      
      * Adds helper function `block_number_to_id`
      
      * Uses `block_number_to_id` instead of local function
      
      * Handles `Pending` in `list_accounts` and `list_storage_keys`
      
      * Attempt to use associated types for state instead of trait objects
      
      * Simplifies `state_at_beginning`
      
      * Extracts `call` and `call_many` into separate trait
      
      * Refactors `build_last_hashes` to accept reference
      
      * Exports `Call` type from the module
      
      * Refactors `call` and `call_many` to accept state and header
      
      * Exports `state_at` in `StateClient`
      
      * Exports `pending_block_header` from `MinerService`
      
      * Refactors RPC `call` method using new API
      
      * Adds missing parentheses
      
      * Refactors `parity::call` to use new call API
      
      * Update .gitlab-ci.yml
      
      fix gitlab lint
      
      * Fixes error handling
      
      * Refactors `traces::call` and `call_many` to use new call API
      
      * Refactors `call_contract`
      
      * Refactors `block_header`
      
      * Refactors internal RPC method `block`
      
      * Moves `estimate_gas` to `Call` trait, refactors parameters
      
      * Refactors `estimate_gas` in RPC
      
      * Refactors `uncle`
      
      * Refactors RPC `transaction`
      
      * Covers missing branches
      
      * Makes it all compile, fixes compiler grumbles
      
      * Adds casts in `blockchain` module
      
      * Fixes `PendingBlock` tests, work on `MinerService`
      
      * Adds test stubs for StateClient and EngineInfo
      
      * Makes `state_db` public
      
      * Adds missing impls for `TestBlockChainClient`
      
      * Adds trait documentation
      
      * Adds missing docs to the `state_db` module
      
      * Fixes trivial compilation errors
      
      * Moves `code_hash` method to a `BlockInfo` trait
      
      * Refactors `Verifier` to be generic over client
      
      * Refactors `TransactionFilter` to be generic over client
      
      * Refactors `Miner` and `Client` to reflect changes in verifier and txfilter API
      
      * Moves `ServiceTransactionChecker` back to `ethcore`
      
      * Fixes trait bounds in `Miner` API
      
      * Fixes `Client`
      
      * Fixes lifetime bound in `FullFamilyParams`
      
      * Adds comments to `FullFamilyParams`
      
      * Fixes imports in `ethcore`
      
      * Fixes BlockNumber handling in `code_at` and `replay_block_transactions`
      
      * fix compile issues
      
      * First step to redundant trait merge
      
      * Fixes compilation error in RPC tests
      
      * Adds mock `State` as a stub for `TestClient`
      
      * Handles `StateOrBlock::State` in `TestBlockChainClient::balance`
      
      * Fixes `transaction_count` RPC
      
      * Fixes `transaction_count`
      
      * Moves `service_transaction.json` to the `contracts` subfolder
      
      * Fixes compilation errors in tests
      
      * Refactors client to use `AccountData`
      
      * Refactors client to use `BlockChain`
      
      * Refactors miner to use aggregate traits
      
      * Adds `SealedBlockImporter` trait
      
      * Refactors miner to use `SealedBlockImporter` trait
      
      * Removes unused imports
      
      * Simplifies `RegistryInfo::registry_address`
      
      * Fixes indentation
      
      * Removes commented out trait bound
      9d7d6f71
  8. Feb 23, 2018
  9. Feb 22, 2018
    • Marek Kotewicz's avatar
      fixed broken logs (#7934) · f8a2e53f
      Marek Kotewicz authored
      * fixed broken logs
      
      * bring back old lock order
      
      * removed bloom groups from blockchain
      
      * revert unrelated changes
      
      * simplify blockchain_block_blooms
      f8a2e53f
  10. Feb 19, 2018
  11. Feb 16, 2018
  12. Jan 14, 2018
    • Marek Kotewicz's avatar
      bloom refactor (#7475) · 668d910c
      Marek Kotewicz authored
      * ethereum-types refactor in progress
      
      * ethereum-types refactor in progress
      
      * ethereum-types refactor in progress
      
      * ethereum-types refactor in progress
      
      * ethereum-types refactor finished
      
      * cleanup bloom mess
      
      * simplify usage of Bloom in few places
      
      * removed obsolete util/src/lib.rs
      
      * removed commented out code
      
      * ethereum-types 0.1.4
      
      * updated ethereum-types and tiny-keccak
      668d910c
  13. Jan 10, 2018
    • Marek Kotewicz's avatar
      dissolve util (#7460) · e95b0934
      Marek Kotewicz authored and Svyatoslav Nikolsky's avatar Svyatoslav Nikolsky committed
      * ethereum-types refactor in progress
      
      * ethereum-types refactor in progress
      
      * ethereum-types refactor in progress
      
      * ethereum-types refactor in progress
      
      * ethereum-types refactor finished
      
      * removed obsolete util/src/lib.rs
      
      * removed commented out code
      e95b0934
  14. Jan 03, 2018
    • André Silva's avatar
      Upgrade to RocksDB 5.8.8 and tune settings to reduce space amplification (#7348) · e114b0b2
      André Silva authored
      * 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
      e114b0b2
  15. Dec 21, 2017
  16. Oct 15, 2017
  17. Oct 12, 2017
  18. Oct 10, 2017
    • Marek Kotewicz's avatar
      Separate migrations from util (#6690) · 6279ff32
      Marek Kotewicz authored
      * 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
      6279ff32
  19. Sep 21, 2017
  20. Sep 15, 2017
    • Arkadiy Paronyan's avatar
      Byzantium updates (#5855) · 25b35ebd
      Arkadiy Paronyan authored
      * 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
      25b35ebd
    • Hawstein's avatar
      separate trie from util and make its dependencies into libs: · ade37be2
      Hawstein authored
      * bytes
      * hashdb
      * memorydb
      * nibbleslice
      * nibblevec
      ade37be2
  21. Sep 10, 2017
    • Nicolas Gotchac's avatar
      Fix slow balances (#6471) · f1a05036
      Nicolas Gotchac authored
      * Update token updates
      
      * Update token info fetching
      
      * Update logger
      
      * Minor fixes to updates and notifications for balances
      
      * Use Pubsub
      
      * Fix timeout.
      
      * Use pubsub for status.
      
      * Fix signer subscription.
      
      * Process tokens in chunks.
      
      * Fix tokens loaded by chunks
      
      * Linting
      
      * Dispatch tokens asap
      
      * Fix chunks processing.
      
      * Better filter options
      
      * Parallel log fetching.
      
      * Fix signer polling.
      
      * Fix initial block query.
      
      * Token balances updates : the right(er) way
      
      * Better tokens info fetching
      
      * Fixes in token data fetching
      
      * Only fetch what's needed (tokens)
      
      * Fix linting issues
      
      * Revert "Transaction permissioning (#6441)"
      
      This reverts commit eed0e8b0.
      
      * Revert "Revert "Transaction permissioning (#6441)""
      
      This reverts commit 8f96415e58dde652e5828706eb2639d43416f448.
      
      * Update wasm-tests.
      
      * Fixing balances fetching
      
      * Fix requests tracking in UI
      
      * Fix request watching
      
      * Update the Logger
      
      * PR Grumbles Fixes
      
      * PR Grumbles fixes
      
      * Linting...
      f1a05036
  22. Sep 04, 2017
  23. Sep 02, 2017
  24. Sep 01, 2017
  25. Aug 30, 2017
  26. Aug 20, 2017
    • Marek Kotewicz's avatar
      rlp_derive (#6125) · 407c8c3f
      Marek Kotewicz authored
      * rlp_derive
      
      * RlpEncodableWrapper, RlpDecodableWrapper
      
      * use rlp_derive in parity
      
      * fixed broken transaction Action serialization
      407c8c3f
  27. Aug 17, 2017
  28. Jul 29, 2017
  29. Jul 06, 2017
  30. Jul 04, 2017
  31. Jun 29, 2017
    • Vurich's avatar
      Upgrade `elastic-array` to 0.9.0 · 3d8dc114
      Vurich authored
      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.
      3d8dc114