* 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
* Add RPC eth_chainId for querying the current blockchain chain ID
Currently although we can use `net_version` RPC call to get the
current network ID, there's no RPC for querying the chain ID. This
makes it impossible to determine the current actual blockchain using
the RPC. An ETH/ETC client can accidentally connect to an ETC/ETH RPC
endpoint without knowing it unless it tries to sign a transaction or
it fetch a transaction that is known to have signed with a chain
ID. This has since caused trouble for application developers, such as
MetaMask, to add multi-chain support.
The same RPC endpoint is also about to be merged for ETC's
go-ethereum: https://github.com/ethereumproject/go-ethereum/pull/336
* Add eth_chainId to js's web3 interface
* Add a mocked test for eth_chainId
* Add chainId in js's jsonrpc interfaces
* Change return type for eth_chainId to `Option<u64>`
* Change name eth_chainId to parity_chainId
* Wrong test name and missed var for rpc_parity_chain_id test
* Use U256 to return chainId and fix for master
u64 returns decimal integer, and there seems to be no type called
U64. So here I use U256 to return the hex integer.
* Fix chainID test
Before EIP155 fork number, chainID should be null.
* Change both parity_chainId and transaction::chainId to use U64
This makes it consistent that all chain ids returned are hex string.
* Fix wrong U64 serialization
* Node-health to a separate crate.
* Initialize node_health outside of dapps.
* Expose health over RPC.
* Bring back 412 and fix JS.
* Add health to workspace and tests.
* Fix compilation without default features.
* Fix borked merge.
* Revert to generics to avoid virtual calls.
* Fix node-health tests.
* Add missing trailing comma.
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.
* ECDKG protocol prototype
* added test for enc/dec math
* get rid of decryption_session
* added licenses
* fix after merge
* get rid of unused serde dependency
* doc
* decryption session [without commutative enc]
* failed_dec_session
* fixed tests
* added commen
* added more decryption session tests
* helper to localize an issue
* more computations to localize error
* decryption_session::SessionParams
* added tests for EC math to localize problem
* secretstore network transport
* encryption_session_works_over_network
* network errors processing
* connecting to KeyServer
* licenses
* get rid of debug println-s
* fixed secretstore args
* encryption results are stored in KS database
* decryption protocol works over network
* enc/dec Session traits
* fixing warnings
* fix after merge
* on-chain ACL checker proto
* fixed compilation
* fixed compilation
* finally fixed <odd>-of-N-scheme
* temporary commented test
* 1-of-N works in math
* scheme 1-of-N works
* updated AclStorage with real contract ABI
* remove unnecessary unsafety
* fixed grumbles
* wakeup on access denied
* encrypt secretstore messages
* 'shadow' decryption
* fix grumbles
* lost files
* secretstore cli-options
* decryption seccion when ACL check failed on master
* disallow regenerating key for existing document
* removed obsolete TODO
* fix after merge
* switched to tokio_io
* fix after merge
* fix after merge
* fix after merge
* fix after merge
* fix after merge
* fixed test
* fix after merge
* encryption session errors are now fatal
* session timeouts
* autorestart decryption session
* remove sessions on completion
* exclude disconnected nodes from decryption session
* test for enc/dec session over network with 1 node
* remove debug printlns
* fixed 1-of-1 scheme
* drop for KeyServerHttpListener
* Use standard encryption and decryption (as in RPC)
* added some tests
* moved DEFAULT_MAC to ethcrypto
* rpc_secretstore_encrypt_and_decrypt
* serialization with "0x" prefix (RPC compatibility)
* secretstore RPC API
* fix after merge
* fixed typo
* secretstore_shadowDecrypt RPC
* enable secretstore RPCs by default
* fixed test
* SecStore RPCs available without SecStore feature
* fixed grumbles
* lost files
* added password argument to Parity RPCs
* update docs
* lost file
* First little bits for chain-selection.
* Provide RPCs and get settings through to user defaults.
* Hasty stash.
* Fix updater accidentally redownloading.
* Finish up.
* Add JS tests.
* Hypervisor should never run a binary modified before itself.
* Style.
* Help tweak.
* Fix test compile.
* Fix JS test
* Build fix for tests.
* Revert default chain name
* Another test
* Use spec name via client.
* Fix mock up.
* whitespace
[ci:skip]
* whitespace
[ci:skip]
* remove exit/restart endpoints.
* 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
* 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
* Moving logs to separate, testable function
* Adding test
* Fixing log index
* Adding transaction log index
* Fixing rpc tests
* Making interface of a bit cleaner.
* 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