* state backend trait mirroring state_db API
* minimal state backend trait
make state module public
* fix json tests
* return errors on database corruption
* fix tests, json tests
* fix remainder of build
* add Backend bound on state
* Create new column family for local node info
* remove DBTransaction::new reliance on DB
* KeyValueDB trait
* InMemory KeyValueDB implementation
* journaldb generic over KVDB
* make most of `ethcore` generic over KVDB
* fix json tests compilation
* get all tests compiling
* implement local store (just for transactions)
* finish local store API, test
* put everything into place
* better test for skipping bad transactions
* fix warning
* update local store every 15 minutes
* remove superfluous `{}`s
* Extended Markdown generator
* Synced and extended all JSON-RPC interfaces
* Fix linter errors
* Format `parity_listAccounts` output in API
* typo
* Check if interfaces are synced in JS spec tests
* Fixing missing interface errors
* Better #[rpc] attribute parsing
* Fixed RPC JS spec tests
* More examples
* Refactored how dummy data appears in examples
* Complete trace docs!
* fix typo
* Less copy-paste
* All the docs!
* Fix differences between CallRequest and TransactionRequest
* Fix differences between CallRequest and TransactionRequest
* Missing examples
* Grumble fixes
* Fix whitespace.
* Fix post sign.
* Fix message.
* Fix tests.
* Rest of the problems.
* All hail the linter and its omniscience.
* ...and its divine omniscience.
* Grumbles and wording.
* Tests for RPC
* Extracting dapp_id from Origin and x-parity-origin
* Separate type for DappId
* Persistent tracking of recent dapps
* Fixing tests
* Exposing dapp timestamps
* Fixing import to work on stable
* Fixing test again
* flush work
* flush work
* flush work
* flush work
* generalized notifiers
* general setup with modules
* general setup with modules
* all binded
* catch up with master
* all dependencies injected
* stratum another up
* tcp update
* submitwork routine
* finalize & fix warnings
* merge bugs, review fixes
* merge bugs, review fixes
* new cli mess cleanup
* usage.txt swap
* flush work
* cli adopt
* compilation with new cli sorted
* subid space in json
* serialization issues
* grumbles addressed
* more grumbles
* remove last_work note for now
* fix compilation
* fix tests
* merge bugs
* no obliged ipc
* moving notifiers
* no optional feature now
* refactored again
* working on tests
* refactor to new tcp/ip
* stratum lib ok
* ethcore crate ok
* wip on tests
* final test working
* fix warnings, \n-terminated response
* new compatibility
* re-pushing work once anybody submitted
* various review and general fixes
* reviewe fixes
* remove redundant notifier
* one symbol -> huge bug
* ensure write lock isn't held when calling handlers
* extern declarations moved
* options to stratum mod, SocketAddr strongly-typed instantiation
* Minor style fix.
* Whitespace and phrasing
* Whitespace
* Return 0 instead of error with out of gas on estimate_gas
* Fix stuff up.
* Another estimate gas fix.
* Alter balance to maximum possible rather than GP=0.
* Only increase to amount strictly necessary.
* Improvements and optimisations to estimate_gas.
- Introduce proper error type
- Avoid building costly traces
* Fix tests.
* Actually fix testsActually fix tests
* Return 0 instead of error with out of gas on estimate_gas
* Fix stuff up.
* Another estimate gas fix.
* Alter balance to maximum possible rather than GP=0.
* Only increase to amount strictly necessary.
* Moving logs to separate, testable function
* Adding test
* Fixing log index
* Adding transaction log index
* Fixing rpc tests
* Making interface of a bit cleaner.
* owning views of blockchain data
* port blockchain and client traits to owning views
* fix ethcore tests
* use strong headers and bodies in ethcore_light
* port ethsync to use owning views
* port rpc to owning views
* port parity informant and blockchain export
* Dapps web
Conflicts:
dapps/src/apps/fetcher.rs
dapps/src/handlers/fetch.rs
* Rewriting fetch
* Parity-wide fetch service
* Obey the limits and support cancellation.
* Removing temporary files.
* Actually use Fetch for dapps
* Re-implementing file fetching to avoid temporary files.
* Serde to 0.8.19
* Fixing content & dapps fetch
* Serving web content and injecting scripts
* Don't wait for old content, start a new download
* Supporting timeouts and query
* Simple GUI for the browser
* Proxy tokens validation
* Recovering from invalid web-based requests
* Remember last visisted URL
* Removing unused variables
* Addressing review comments
* Setting default account in web3
* Adding WebBrowser dapp to the list
* Actually prune old entries when generating new token
* Enable panic=abort
* Update remaining crate versions to 1.5
* Run tests in release mode
* Enable panic=abort for release profile only
* Added travis_wait
* Travis timeout set to 40
* Signer RAW confirmations
* Returning address book as eth_accounts
* UI support for in-browser signing
* Post review fixes
* Adding new methods to jsonrpc
* Fixing eth_accounts
* Deterministic accounts ordering
* `--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.