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 04, 2018
  4. Apr 03, 2018
  5. Mar 14, 2018
  6. Mar 13, 2018
  7. Mar 12, 2018
  8. 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
  9. Feb 27, 2018
    • Marek Kotewicz's avatar
      ExecutedBlock cleanup (#7991) · df63341e
      Marek Kotewicz authored
      * ExecutedBlock cleanup
      
      * authority round makes only one call to note_rewards
      
      * move Tracing from block to trace module
      
      * removed BlockRef
      df63341e
  10. Feb 23, 2018
  11. 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
  12. Feb 19, 2018
  13. Feb 18, 2018
  14. Feb 15, 2018
    • André Silva's avatar
      Aura: Broadcast empty step messages instead of creating empty blocks (#7605) · aab63c33
      André Silva authored and asynchronous rob's avatar asynchronous rob committed
      * aura: broadcast empty step message instead of sealing empty block
      
      * aura: add empty_step messages to seal
      
      * aura: include parent_hash in empty step message
      
      * aura: verify received empty step messages
      
      * aura: verify empty step messages in block
      
      * aura: fix dead lock on empty_steps
      
      * aura: fix EmptyStep Encodable
      
      * aura: take number of empty steps into account in chain score
      
      * aura: use empty step signers for finality
      
      * aura: add empty "empty step" messages to seal when reading from spec
      
      * aura: fix EmptyStep rlp encoding
      
      * aura: use Vec<u8> instead of Bytes
      
      * aura: fix block empty step verification
      
      * Update .gitlab-ci.yml
      
      fix lint
      
      * aura: fix accumulation of empty step signatures for finality
      
      * aura: include empty steps in seal signature
      
      * aura: configurable max number of empty steps
      
      * engine: pass block header to seal_fields method
      
      This is necessary to make the number of seal fields dynamic,
      e.g. activating a transition on a certain block number that changes
      the seal.
      
      * aura: add transition to enable empty step messages
      
      * aura: clear old empty step messages on verify_block_external
      
      * aura: ignore empty step messages from the future
      
      * aura: report skipped primaries when empty steps are not enabled
      
      * aura: fix tests
      
      * aura: report misbehavior
      
      * aura: add tests for rolling finality with multiple signatures
      
      * engine: fix validator set test
      
      In this test the block validation wasn't failing because the block was in the
      future (expected failure) but was instead failing because the author of the
      block isn't the expected authority. Since we added reporting of blocks produced
      by the wrong authority this test started failing.
      
      * aura: reward all the authors of empty step messages
      
      * aura: fix reward attribution for new blocks
      
      * aura: add tests for empty steps broadcasting and inclusion in blocks
      
      * aura: reduce size of empty step messages in seal
      
      * aura: add test for empty step inclusion in blocks
      
      * aura: add test for rewarding of empty steps
      
      * aura: add test for empty steps validation
      
      * aura: fix rlp encoding of sealed empty step
      
      * aura: fix grumbles
      aab63c33
  15. Feb 12, 2018
  16. Feb 09, 2018
    • Marek Kotewicz's avatar
      ethabi version 5 (#7723) · c060d958
      Marek Kotewicz authored
      * Refactor updater to use ethabi-derive
      
      * Grumble: do_call type alias
      
      * Empty commit to trigger test re-run
      
      * migration to ethabi-5.0
      
      * migration to ethabi-5.0 in progress
      
      * use ethabi_deriven to generate TransactAcl contract
      
      * use ethabi_deriven to generate Registry contract
      
      * hash-fetch uses ethabi_derive, removed retain cycle from updater, fixed #7720
      
      * node-filter crate uses ethabi_derive to generate peer_set contract interface
      
      * use LruCache in node-filter instead of HashMap
      
      * validator_set engine uses ethabi_derive
      
      * ethcore does not depend on native_contracts
      
      * miner does no depend on native_contracts
      
      * secret_store does not use native_contracts (in progress)
      
      * removed native-contracts
      
      * ethcore and updater does not depend on futures
      
      * updated ethereum-types
      
      * fixed all warnings caused by using new version of ethereum-types
      
      * updated ethabi_derive && ethabi_contract to get rid of warnings
      
      * removed another retain cycle in updater, fixed following minor version on update
      
      * moved contracts out of native_contracts res
      
      * updated ethabi_contract
      
      * fixed failing test
      
      * fixed failing test
      
      * there is no need to create two contracts of the same kind any more
      
      * simplify updater::ReleaseTrack conversion into u8 and add several tests for it
      
      * applied review suggestions
      
      * applied review suggestions
      c060d958
  17. Jan 17, 2018
  18. Jan 11, 2018
  19. 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
    • tzapu's avatar
      added a new RPC call trace_replayBlockTransactions (#7366) · df5d27d5
      tzapu authored
      * intial add trace_replayBlockTransactions
      
      * cleanup timing calls
      add execution proof
      
      * WIP implementing changes
      
      * fix for trace_replayBlockTransactions rpc call
      
      * cleanup comments
      
      * cleanup, proof,
      can't workout lifetime issues yet
      
      * Fix lifetimes issue.
      
      * naive rpc test
      
      * updated docs
      df5d27d5
  20. Jan 02, 2018
  21. Dec 22, 2017
  22. Dec 21, 2017
  23. Dec 05, 2017
  24. Dec 01, 2017
  25. Nov 07, 2017
  26. Oct 20, 2017
  27. Oct 17, 2017
  28. Oct 16, 2017
  29. Oct 12, 2017
  30. 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
  31. Oct 03, 2017
    • Anton Gavrilov's avatar
      Add pagination for trace_filter rpc method (#6312) · 0a5c9b04
      Anton Gavrilov authored
      * Optional offset and count added on client level
      
      * Rpc interface extended
      
      * Tests corrected
      
      * Filtering code refactored a little bit
      
      * Offset type was changed to usize
      
      * Handling of block hash in offset added
      
      * Offset reworked to number
      
      * Trailing comma removed
      
      * Import for Quantity type added
      
      * Offset and count moved into filter object
      
      * Lost comma removed
      
      * Return empty vec instead of None in case of incorrect range
      0a5c9b04
  32. Sep 26, 2017
    • asynchronous rob's avatar
      Generalize engine trait (#6591) · bc167a21
      asynchronous rob authored
      * 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
      bc167a21
  33. Sep 21, 2017
  34. 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
  35. Sep 12, 2017
  36. 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