Setting contract code on a bonsai account results in a re-hashing. To
reduce this only set the code if the code was changed. In some cases
this was responsible for 40% of load.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
This allows Besu to interop with an Quorum IBFT-1 network which has been updated to use a 2/3 validator threshold, rather than 2F+1.
Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
When in bonsai mode, if inside one block an account is deleted via self
destruct and then the account is re-created the latter sstore operation
reports the last SSTORE value prior to self destruct. Thus if the new
write is the same as the value before delete a non-updating gas cost
will mistakenly be applied. Thus we first check accountWasDeleted when
reading original slot values.
Found in mainnet block 11905274 for account
0x7f150bd6f54c40a34d7c3d5e9f56.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Hadolint introduced a new linting rule prohibiting using the same env
var in it's definition. Move to a two step definition.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Includes fix for a gradle bug that resulted in project dependencies having the wrong groupId set in generated pom files.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* hand craft receipt for goquorum private tx when creating a block
* validate goquorum private transaction and handle nonce issues
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* Make some adjustments to OpenTelemetry usage and default configuration
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Remove additional empty line
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* Remove extra test - no assertions in it providing value
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* remove extra dependency
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
* use dev, not default
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Not all clients implement EIP-706, even though they may advertise a
version 5 in the hello packet. To cope with this if we are expecting
compression but haven't had a compressed message yet and a new message
fails to decompress we turn off compression and try again.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* set gas used to zero for goQuorum private tx
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Co-authored-by: mark-terry <36909937+mark-terry@users.noreply.github.com>
* Add revert reason to trace calls
* Add test for revert reason
* Updated to add revertReason field
Signed-off-by: David Mechler <david.mechler@consensys.net>
Besu and GoQuorum provide different information in the response from the admin_peers Json RPC.
This change adds just the "enode" field to the Besu response, to make the results more similar (but still different).
(ID field is the node's public key, whereas Geth sets this field to the keccak256 hash of the public key).
Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
When interop testing between Besu and Quorum, it was found
that Quorum's management of the ibft protocol had somewhat
changed, and resulted in besu failing to peer with Quorum
To overcome this, the version of the istanbul protocol in
Besu was upgraded to 99 (matching Quorum's).
Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
* Update Signature hash preimage
* Update json rpc to list fields for access list
* Update what is considered "raw" hash
Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
To prepare for the Bintray shutdown add publication to the hyperledger's
artifactory instance to the build.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
QBFT no longer validates all fields of the block header (eg nonce mixhash), as these have no bearing on the
safety model of the protocol.
Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
* added GoQuorumStoreRawPrivateTransaction that can send a payload to Tessera for storing
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* fix nonce problem, remove not needed method on GoQuorumPrivateStorage, make receipts work as they work in GoQuorum
Signed-off-by: Stefan Pingel <stefan.pingel@consensys.net>
Add QBFT rpc methods and namespace. At the moment, they are copied verbatim from IBFT namespace and may change in future once specifications are finalized.
Signed-off-by: Usman Saleem <usman@usmans.info>