* `--mode=off` now works.
* Add Mode::Off as a persistent CLI option.
* "last" not "auto" as default.
* Commit accidentally unsaved file.
* Whitespace
[ci:skip]
* Mode CLI parse fix
* or offline
* Save mode when it gets changed.
* Fix Offline mode
* Fix up mode operations.
* Make passive default, but not overriding.
* Fix test
* Maybe not everyone wants to run an archive node...
* The front-end for each hard-fork, also EIP-160.
* Address EIP161 a/c
* Include EIP-161b
* EIP-161 part d.
* Fix test build.
* Fix one test, add another.
* Fix use of bloom & renaming.
* Initial groundwork for EIP-155
* Fix minor bug.
* Fix all tests finally.
* Rest of EIP-155.
* Add tests for EIP-155 algorithm.
Update transaction tests validation.
* Minor reformat.
* Address grumbles.
* Remove unused code.
* Fix SUICIDE gas mechanism and add consensus tests.
* Remove commented code.
* Set Frontier hardfork block number
* Fix warning.
* Transaction tests,
* provide snapshot sync info in eth_syncing
* specify block gap in eth_syncing
* Extend eth_syncing with warp, format the output properly
* adjust serialization tests for sync info
* whitespace
* gas price distribution + median + tests
* put histogram in util
* use the util histogram
* remove the default gas price implementation
* histogram rpc
* fix empty corpus
* Add JS ethcore_gasPriceHistogram
* Fix typo (s/types/type/) & subsequent failing test
* Fix return type & formatting
* bucketBounds
* Add jsapi e2e test verification
* Split personal namespace into Safe and Unsafe part
* Re-add api.personal.accountsInfo() calls to dapps
* Removing listGethAccounts from safe personal
* CLI to specify queue ordering strategy (#2494)
* Alter gas priorities to include gas_price also
* CLI options and tests
* Adding ordering by gas
* whitespace
Conflicts:
ethcore/src/miner/miner.rs
ethcore/src/miner/mod.rs
ethcore/src/miner/transaction_queue.rs
parity/cli/usage.txt
parity/configuration.rs
* fix build
* add auto-args deserialization for RPC
* make block param member public
* change BlockParam to a more generic Trailing<T> mechanism
* define work type
* build_rpc_trait macro, implement eth protocol
* fix up tests
* move eth_filter API to new macro
* port ethcore module to new rpc macro
* port ethcore_set to auto_args
* port net RPC to auto_args
* port rpc meta api to new
* skeleton for async RPC auto_args
* macro implementations for strongly-typed async RPC wrapper
* clarify docs
* reflect new required Rust version in README
[ci skip]
* Actually enable fat db, and do RPCs for it.
* Implement HashDB traits for AccountDB.
* user defaults
* finished user defaults
* user defaults are network-dependent
* added tests for newly added functions, logger is initialized first
* dir cleanup in progress
* user_file is placed next to snapshots
* fixing requested change
* add auto-args deserialization for RPC
* make block param member public
* change BlockParam to a more generic Trailing<T> mechanism
* define work type
* build_rpc_trait macro, implement eth protocol
* fix up tests
* move eth_filter API to new macro
* Async RPC
* Limiting number of transactions in queue
* Fixing tests
* Bumping serde and jsonrpc-core
* serde updated to 0.8
* fixed failing tests
* Bumping ipc server
* Fixing API for endpoints
* Experimenting with tests without --release mode
* Make the block header struct's internals private
Currently, this involves a lot of explicit cloning, but we
could migrate the return types of the get_* functions to
be copies rather than references since they are mostly copy
types anyway.
I opted to eliminate the constructor in favor of using
Default::default() plus calling a bunch of setters. This
is similar to the model that a Google Protobuf client uses
and I think it looks fine.
* Drop some unnecessary cloning by comparing references
* Fix compiler errors from callsites in tests.
* Address renamed to H160 at bigint library level
* moved uint specific test from util to bigint library
* naming
* unifing hashes in progress
* unifing hashes
* cleanup redundant unwraps in tests
* Removing util/crypto in progress.
* fixed compiling
* signature cleanup in progress
* new module - ethcrypto used by ethstore and ethcore-network
* fixed compiling
* fixed compiling
* fixed merge
* Address renamed to H160 at bigint library level
* moved uint specific test from util to bigint library
* naming
* unifing hashes in progress
* unifing hashes
* cleanup redundant unwraps in tests
* fixed compiling
* Address book for local addresses.
* Simple disk-backed address book.
* Add test and keep file with keys.
* View and import Geth keys.
* Fix test.
* Fix up author info.
[ci:skip]
* to_rlp takes self by-reference
* clean up some derefs
* out-of-order insertion for blockchain
* implement block rebuilder without verification
* group block chunk header into struct
* block rebuilder does verification
* integrate snapshot service with client service; flesh out implementation more
* initial implementation of snapshot service
* remove snapshottaker trait
* snapshot writer trait with packed and loose implementations
* write chunks using "snapshotwriter" in service
* have snapshot taking use snapshotwriter
* implement snapshot readers
* back up client dbs when replacing
* use snapshot reader in snapshot service
* describe offset format
* use new get_db_path in parity, allow some errors in service
* blockchain formatting
* implement parity snapshot
* implement snapshot restore
* force blocks to be submitted in order
* fix bug loading block hashes in packed reader
* fix seal field loading
* fix uncle hash computation
* fix a few bugs
* store genesis state in db. reverse block chunk order in packed writer
* allow out-of-order import for blocks
* bring restoration types together
* only snapshot the last 30000 blocks
* restore into overlaydb instead of journaldb
* commit version to database
* use memorydbs and commit directly
* fix trie test compilation
* fix failing tests
* sha3_null_rlp, not H256::zero
* move overlaydb to ref_overlaydb, add new overlaydb without on-disk rc
* port archivedb to new overlaydb
* add deletion mode tests for overlaydb
* use new overlaydb, check state root at end
* share chain info between state and block snapshotting
* create blocks snapshot using blockchain directly
* allow snapshot from arbitrary block, remove panickers from snapshot creation
* begin test framework
* blockchain chunking test
* implement stateproducer::tick
* state snapshot test
* create block and state chunks concurrently, better restoration informant
* fix tests
* add deletion mode tests for overlaydb
* address comments
* more tests
* Fix up tests.
* remove a few printlns
* add a little more documentation to `commit`
* fix tests
* fix ref_overlaydb test names
* snapshot command skeleton
* revert ref_overlaydb renaming
* reimplement snapshot commands
* fix many errors
* everything but inject
* get ethcore compiling
* get snapshot tests passing again
* instrument snapshot commands again
* fix fallout from other changes, mark snapshots as experimental
* optimize injection patterns
* do two injections
* fix up tests
* take snapshots from 1000 blocks efore
* address minor comments
* fix a few io crate related errors
* clarify names about total difficulty
[ci skip]
* failng test
* use account_starting_nonce instead of zero
* simplier test
* jsons are getting closer
* incorrect test client and incorrect tests fix
* null_morden is using 0x0 starting nonce
* replaced json with the correct one
* superwhatever line
* Making ConfirmationsQueue a bit more generic [WiP]
* Generalizing cofirmations
* New confirmations types - tests
* Separating transaction type in queue. Closes#1310
* Handling sign requests
* Speeding up tests
* Renaming methods
* eth_postSign
* Bumping ui
* executive tracer builds flat traces without intermediate struct
* temporarilt commented out tests for traces
* fixed new way of building trace address
* fixed new way of building trace address
* updating state tests with flat tracing in progress
* fixed flat tracing tests
* fixed compiling ethcore-rpc with new flat traces
* removed warnings from ethcore module
* remove unused data structures
* Various improvements to tracing & diagnostics.
- Manage possibility of `Account` not having code for `PodAccount`
- New RPC: `trace_sendRawTransaction`
- See raw transaction dump when inspecting over RPC
* Fix test
* Remove one of the dupe error messages
* Remove unneeded `&`s
* Reformat and extremely minor optimisation
* Minor optimisation
* Remove unneeded let
* Fix tests.
* Additional fix.
* Minor rename.
[ci:skip]
* Bowing to the pressure.
* Introduce persistent name() and meta() in SecretStore.
* Quick stash.
* Fix build.
* Add ethcore_set methods.
* Bug fixes for default values.
* Move to personal to ensure set API exposed.
* Add UUID to accounts info.
* Add tests.
* Asynchronous transactions (polling based for now).
- Alter eth_sendTransaction to be async, returning one of:
- Transaction hash (signed and submitted).
- Transaction promise ID (< 32 bytes).
- Zero hash (will never be signed).
- Introduce new JSONRPC eth_checkTransaction.
The new API call takes a single argument - a promise ID. It returns
either:
- Transaction hash (signed and submitted).
- null (still pending, call again later),
- Zero hash (will never be signed).
* New RPC eth_postTransaction
- Restore previous semantics of sendTransaction.
- Introduce eth_postTransaction.
- Some refactoring.
* Fix minor lockup.
* Use TransientHashMap to prevent leak.
* Multi-mode logging.
Better for miners (they get immediate notification of new block).
Better for general use (less superfluous information shown).
* Remove comment.
[ci:skip]
* Minor string change
[ci:skip]
* Minor message tweak.
* Minor tweaks and indentation fix.
* Minor additions to allow resetting of code.
* Add test.
* Provisional DAO hard-fork proposal.
* Change to reflect latest HF spec.
* Include extradata restrictions and overrides.
* Introduce new tests.
* Update tests to new spec format.
* Allow JSON chain spec fields to be optional.
* Remove superfluous definitions. Fix overflow risk.
* Fix build.
* Add missing file.
* Remove old flag.
* Update to latest address set.
* Update tests and test spec to latest.
Change the mining default to release only on own transactions.
* removed old json-tests
* simplify folds in triehash.rs
* removed unused json_aid
* removed unused squeeze.rs
* json branching tests for trie
* removing todos from util
* separated UsingQueue and Table
* further cleanup, removing unused code
* serde serialization of hash moved to rpc module
* uint wrapper for rpc in progress
* serialization of uint moved to rpc module
* updated eth-secp256k1
* updated igd, serde is no longer dependency of util
* loading trie consensus tests
* renamed aliases in rpc imports
* Command=line options.
* Keep alive for the eth protocol.
* Wire up final pieces.
* No network when dark.
* Passive and dark mode work.
* Ensure all RPCs keep alive.
* Fix tests.
* Fix minor bug.
* Minor whitespace.
* Split out some of the sleep-state.
* Fix help text.
* Introduce options for fine-grained management of work queue.
- Minimum reseal period between non-mandatory (transaction) reseals.
- Maximum historical cached block size.
Defaults changed to reflect real-world scenarios (2s, 20 blocks).
* Fix test bug.
* 50 -> 20.
* use gas price statistics for default transaction gas price
* create new signing queue client properly
* replace one more usage of sensible_gas_price
* fill_optional_fields as a free function
* keep test client alive
* reserved peers: lock them, use a hashset, and provide to networkcontext
* adding and removing reserved peer service API
* add NonReservedPeerMode, and setters in host
* setting non reserved mode, restriction accepted connections
* implement RPC apis
* fix deadlock
* fix rpc tests
* bump rust-crypto
* initial version of account provider utilizing secret store
* update lazy_static to latest version
* AccountProvider accounts method
* new AccountProvider tests in progress
* basic tests for new AccountProvider
* ethcore compiles with new account provider and secret store
* ethcore-rpc build now compiling with new AccountProvider
* most rpc tests passing with new accounts_provider
* fixed basic_authority tests
* fixed eth_transaction_count rpc test
* fixed mocked/eth.rs tests
* fixed personal tests
* fixed personal signer rpc tests
* removed warnings
* parity compiling fine with new sstore
* fixed import direction
* do not unlock temporarily when we have the password
* removed TODO in account import
* display warning on auto account import failure
* fixed compiling of ethstore on windows
* ethstore as a part of parity repo
* added ethkey
* More meaningful errors when sending transaction
* Fixing returned value
* Consolidating all RPC error codes
* Fixed loosing peers on incoming connections. (#1293)
* Deactivate peer if it has no new data
* Fixed node table timer registration
* Fixed handshake timeout expiration
* Extra trace
* Fixed session count calculation
* Only deactivate incapable peers in ChainHead state
* Timer registration is not needed
* x64 path
* firewall rules
* Fix read-ahead bug.
Re-ahead 8 bytes rather than 3 to ensure large blocks import fine.
* Refactor to use a const.
* Update README.md
* Gas price statistics. (#1291)
* Gas price statistics.
Affects eth_gasPrice.
Added ethcore_gasPriceStatistics.
Closes#1265
* Fix a bug in eth_gasPrice
* Fix tests.
* Revert minor alteration.
* Tests for gas_price_statistics.
- Tests;
- Additional infrastructure for generating test blocks with
transactions.
* Key load avoid warning (#1303)
* avoid warning with key
* fix intendations
* more intendation fix
* ok() instead of expect()
* Filling-in optional fields of TransactionRequest.
* Adding reference to miner
* Gas price statistics.
Affects eth_gasPrice.
Added ethcore_gasPriceStatistics.
Closes#1265
* Fix a bug in eth_gasPrice
* Fix tests.
* Revert minor alteration.
* Tests for gas_price_statistics.
- Tests;
- Additional infrastructure for generating test blocks with
transactions.
* Splitting methods requiring signing into separate trait
* Single place where RPC apis are created.
* Separating eth_filter
* Separating eth_signing
* Stubs for Personal Signer methods
* Test for EthSigningQueueClient
* TransactionConfirmation API
* Exposing PersonalSigner API
* Defining ApiSets dependent on context
* Removing types
* Supporting sending notification to WS connected SystemUIs
* Sending a notification on every new messages
* Adding logs to signing queue
* Shutting down broadcaster
* Refactoring the signing queue
* Fixing wait loop in case of spurious wake-ups.
* Groundwork for basic VM tracing.
* RPC endpoint for VM tracing and ser/de types ready.
* Create VMTracer trait.
* Rearchitected VM tracing to reflect existing tracing.
Should more or less work now.
* Integrated VM tracing into JSONRPC.
* Fix ethcore module tests.
* Add tests for VM tracing.
* Fix consensus test code.
* Fix mock tests.
* Added VM trace information for post-execution stuff.
* Fix max-value calls and add "creates" field to getTransaction.
* Tests for VM tracing.
* Don't implement the trait with unimplemented.
* Remove invlaid comment.
* Fix tests.
* Fix --geth IPC for MacOS.
* fix pending_* methods in MinerService, add pending_receipts
* pending logs
* include pending logs when polling
* fixed returning pending logs multiple timees
* log type
* transactionHash is supplied to pending logs
* miner returns receipts together with hashes
* bring back miners all_transactions used by sync module
* execution error/result limiting
* missing trailing comma
* fix executive tests
* adding original error as string to the generic transaction error
* 'mallformed'-s all around
* Firt commit.
* First non-functional but correct implementation of BasicAuthority.
Still needs:
- Sealing infrastructure.
* Punch a hole to give miner access to key store.
* Fix test built.
* Basic version of synchronous mining.
This will seal a block whenever a new transaction comes through.
To be made better we need a timer which will wait for one second after the
last block before sealing a new one - better still would be to cooperatively
interleave blocks with other sealing nodes.
* Add tests.
* Fix minor issues from repotting.
* Address grumbles.
* Enabling sealing while importing own transaction
* Fixing import transaction deadlock
* Checking if there are local transactions in queue
* Updating hyper-mio
* Switching to rust-url#1.0.0