* [NC-1752] Delegate calls to getOriginalAccount all the way to the actual store. Ensures we get the actual original value even when updaters are nested due to nested calls.
* Upgrade ethereum reference tests to include the new sstore tests.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Update to latest ethereum reference tests to pull and enable a bunch of Constantinople tests they fix.
* Blacklist test that consumes a huge amount of memory on Constantinople as well.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* [minor] distribution tweaks
* the 'pantheon:client' project is empty, and results in an empty jar, delete
* clique hard codes a version, delete so the parent takes effect
* clique does not describe it's jar, add description
* evmtools does not describe it's jar, add description.
results in
* clique-1.0.0-SNAPSHOT -> pantheon-clique-0.8.0-RC
* evmtools-0.8.0-SNAPSHOT -> pantheon-evmtools-0.8.0-RC
* client-0.8.0-SNAPSHOT -> *deleted*
* spotless formatting on the gradle file
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Upgrade ethereum reference tests
* Add support for sealEngine: NoProof by skipping PoW validation for ommer headers as well. Production code continues to always use full validation for ommers.
* Add Constantinople to reference test schedules ready for when we enable Constantinople tests.
* Blacklist the new reference tests that are failing while we investigate them.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Introduce MessageFrameTestFixture to make it easier to test EVM operations.
* Add unit tests for BlockHashOperation.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
With the advent of Clique, some JSON RPCs pertaining to mining are
no longer going to produce appropriate results.
The Get/Set coinbase RPCs cannot affect a Clique based miner, as such
the miner throws an "Unsupported Operation" exception. The JSON
handler is responsible for catching this, and returning an
appropriate error code.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
On the transition to the EthHash/Clique Mining Coordinator a change
was lost whereby the EthHashMiningCoordinator is to capture the
current Hashrate on cancellation of a mining operation.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* [NC-1685] Fix BlockHashOperation so it handles blocks being added on forks and gets the hash of the block at the requested number on that fork rather than on the current canonical chain.
* [NC-1644] Cache block hashes across all transactions in a block.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* NC-1026 Make Framer#frame Throw on Excessively Large messages
Note that this is
* NC-1026 Make Framer#frame Throw on Excessively Large messages
It is impossible to receive an uncompressed message < 16MiB because the length field in the header is 3 bytes. So this test will never pass.
* NC-1026 Make Framer#frame Throw on Excessively Large messages
review changes
* NC-1026 Make Framer#frame Throw on Excessively Large messages
Missed change in exception type. Added Null uncompressedLength test.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
The MiningCoordinator has been split into common, and ethhash
specific funcationality.
This adversely affects the JSON RPC, in that all mining related
RPCs are now generic based on the type of miner being used.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
The EthHashMinerExecutor is comprised of both EthHash specific
functions as well as common functions which will be useful to other
consensus mechanisms.
As such the common functionality has been extracted to a parent class,
leaving ethhash specific functionality in the child.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
Responsible for mining a block if the local node address
is a validator, and has not recently mined a block.
This has necessitated a slight rework of helper functions,
and shuffling of tests.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
The EthHashBlockMiner contains both the generic mining capabilities
and the EthHash JSON specific API.
The generic capabilities have been extracted into a base class which
can be reused for Clique (or other) consensus mechanisms.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
Clique Block Scheduler has been reworked to prevent high rate blocks
being created when the parent block's timestamp is behind the system
clock.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>