Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add genesis configuration isPoa() convenience function, and use it in validation of --miner-enabled option #5669

Merged
merged 8 commits into from
Jul 11, 2023

Conversation

matthew1001
Copy link
Contributor

@matthew1001 matthew1001 commented Jul 4, 2023

PR description

This PR indirectly relates to issue #5528.

The intention of the PR is to change the validation logic of the --miner-enabled option, particularly with regard to --min-gas-price option which is a common requirement for private POA chains.

Specifically, in the case where a POA consensus algorithm has been configured (qbft, ibft2, ibft, or clique) validation of options that would otherwise require --miner-enabled to be set, is skipped.

Fixed Issue(s)

No specific issue is open for this.

@github-actions
Copy link

github-actions bot commented Jul 4, 2023

  • I thought about documentation and added the doc-change-required label to this PR if updates are required.
  • I thought about the changelog and included a changelog update if required.
  • If my PR includes database changes (e.g. KeyValueSegmentIdentifier) I have thought about compatibility and performed forwards and backwards compatibility tests

@matthew1001 matthew1001 changed the title Add genesis configuration isPoa() convenience function, and use to validate min-gas-price option Add genesis configuration isPoa() convenience function, and use it in validation of --miner-enabled option Jul 4, 2023
…to modify the min-gas-price option validation

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
@matthew1001 matthew1001 force-pushed the is-poa branch 2 times, most recently from d79c6ad to a5e2509 Compare July 4, 2023 15:39
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
if (!isMergeEnabled()
&& !(Optional.ofNullable(genesisConfigOptions)
.orElseGet(() -> new StubGenesisConfigOptions())
.isPoa())) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonder if we can get away with !isMergeEnabled && isEthHash instead?

Note, currently public networks genesis' are either clique or ethash, but future public testnets (proof of stake at genesis) might have the consensus unspecified. These networks shouldn't care about miner-enabled either I think.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the comments @siladu I agree that if there's an existing flag that suitably covers all the cases where merge-enabled is/isn't relevant then I'm very happy to use that instead. It sounds like that would cover the cases you describe where consensus isn't specified, since no ethash in the genesis config equates to either a) POA or b) POS?

I'll test that out locally, but assuming it works then maybe do away with a new isPos() function entirely?

Copy link
Contributor

@siladu siladu Jul 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had a play and I think that !isMergeEnabled && isEthHash is what we want for both checks, i.e. the miner-stratum-enabled one underneath this (I think it's a bug it doesn't have !isMergeEnabled)

PoS-at-genesis networks that omit the consensus engine will default to "unknown" in the besu code, so it works for them too.

Maybe eventually it can simply be isEthHash but might have to always support a "merged" mainnet config (where it was originally ethash).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...so yes, the isPoa is probably redundant for this, though potentially useful for other things at some point?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @siladu yes for this case I think isEthHash() makes sense. Maybe it's worth leaving isPoa() as a general utility that could help make future code changes/logic a little clearer. I'll submit a new commit that changes the current logic but leaves isPoa() in. Let me know what you think.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I need to do more refactoring in BesuCommand.java to check whether ethash is being used, specifically for the case where the a network config is being used, not a genesis file. We don't currently load network config until after option validation has happened.

Copy link
Contributor Author

@matthew1001 matthew1001 Jul 10, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Realised that getActualGenesisConfigOptions() provides the combined output of a genesis file or network config, + overrides, so no refactoring required.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@siladu I think I'm happy with the current shape of the PR:

  • switched to using isEthash()
  • moved --miner-stratum option warning check inside same block as --miner-enabled
  • left isPoa() in as a helper function
  • added some new unit tests for QBFT & IBFT2 option checking

Ready for you to take another look at when you have a mo.

matthew1001 and others added 3 commits July 7, 2023 11:40
…Options.java

Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
…nfig, and use that for miner checks

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
@matthew1001 matthew1001 force-pushed the is-poa branch 3 times, most recently from 6a1d70b to 137d4db Compare July 10, 2023 12:26
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Copy link
Contributor

@siladu siladu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@@ -2133,7 +2133,7 @@ private void issueOptionWarnings() {
"--remote-connections-max-percentage"));

// Check that block producer options work
if (!isMergeEnabled()) {
if (!isMergeEnabled() && getActualGenesisConfigOptions().isEthHash()) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Didn't know about this one.

@@ -3684,7 +3698,7 @@ public void stratumMiningIsEnabledWhenSpecified() throws Exception {
@Test
public void stratumMiningOptionsRequiresServiceToBeEnabled() {

parseCommand("--miner-stratum-enabled");
parseCommand("--network", "dev", "--miner-stratum-enabled");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why was this needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I needed to modify the test in a way that would ensure it was being run with a) merge enabled and b) ethash enabled, so that the warning message it was testing for would be produced. The default network is mainnet.json which doesn't have ethash enabled but dev.json does so I ended up going with that.

@siladu
Copy link
Contributor

siladu commented Jul 11, 2023

@matthew1001 Do you have merge permission or need a maintainer to merge it?

@matthew1001
Copy link
Contributor Author

@matthew1001 Do you have merge permission or need a maintainer to merge it?

No not yet @siladu, still working towards maintainer status so you or one of the other maintainers will need to merge it please.

@siladu siladu merged commit 3f2a016 into hyperledger:main Jul 11, 2023
8 checks passed
@matthew1001 matthew1001 deleted the is-poa branch July 11, 2023 08:00
matthew1001 added a commit to kaleido-io/besu that referenced this pull request Jul 12, 2023
…er#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
daniellehrner pushed a commit to daniellehrner/besu that referenced this pull request Jul 13, 2023
…er#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
daniellehrner pushed a commit to daniellehrner/besu that referenced this pull request Jul 13, 2023
…er#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
daniellehrner added a commit that referenced this pull request Jul 20, 2023
* Extend OperationTracer with new methods, create

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Rename ExtendedOperationTracer to BlockAwareOperationTracer

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc comments

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update evm/src/main/java/org/hyperledger/besu/evm/tracing/OperationTracer.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only update peer with the first and last block (#5659)

* only update peer with the first and last block

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Put download links into CHANGELOG and do some clean up (#5660)

* put the download links for 23.4.4 into the CHANGELOG.md
* clean up CHANGELOG

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add --amend to docker manifest create to fix docker latest tag (#5661)

We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add Xlayered-tx-pool to the config log printout (#5665)

Unrelated: clarify epoch length in javadoc

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add hooks to AbstractCreateOperation for library users (#5656)

Add hooks for a successful contract create, a failed contract create,
and an invalid contact create. Users of the library will be able to
customize create responses without having to replace core logic.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Test updates for cancun execution-spec-tests (#5670)

- support legacy V values (larger V value) and type 1+ (v is recId only)
- new fields
- shared transaction extraction
- rejection detection

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Upgrade BouncyCastle libraries (#5675)

Upgrade bouncy castle to v1.75.  This involved a change in maven
coordinates for other modules.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Introduce transaction validator interface (phase 1) (#5673)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only validate `--miner-enabled` option for ethash networks (#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update tuweni2.4.2 (#5684)

* Revert "Revert "Update Tuweni to 2.4.1 (#5513)" (#5585)"

This reverts commit 6111e1b.

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

---------

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Do not leak references to PendingTransactions (#5693)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove v0 version of the database (#5698)

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updated plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* moved transcation interface to datatypes to use it in the OperationTracer.traceStartTransaction method

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix import

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Co-authored-by: Danno Ferrin <danno.ferrin@gmail.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Matt Whitehead <matthew1001@gmail.com>
Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
Co-authored-by: matkt <karim.t2am@gmail.com>
davidkngo pushed a commit to liquichain/besu that referenced this pull request Jul 21, 2023
…er#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
davidkngo pushed a commit to liquichain/besu that referenced this pull request Jul 21, 2023
* Extend OperationTracer with new methods, create

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Rename ExtendedOperationTracer to BlockAwareOperationTracer

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc comments

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update evm/src/main/java/org/hyperledger/besu/evm/tracing/OperationTracer.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only update peer with the first and last block (hyperledger#5659)

* only update peer with the first and last block

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Put download links into CHANGELOG and do some clean up (hyperledger#5660)

* put the download links for 23.4.4 into the CHANGELOG.md
* clean up CHANGELOG

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add --amend to docker manifest create to fix docker latest tag (hyperledger#5661)

We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add Xlayered-tx-pool to the config log printout (hyperledger#5665)

Unrelated: clarify epoch length in javadoc

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add hooks to AbstractCreateOperation for library users (hyperledger#5656)

Add hooks for a successful contract create, a failed contract create,
and an invalid contact create. Users of the library will be able to
customize create responses without having to replace core logic.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Test updates for cancun execution-spec-tests (hyperledger#5670)

- support legacy V values (larger V value) and type 1+ (v is recId only)
- new fields
- shared transaction extraction
- rejection detection

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Upgrade BouncyCastle libraries (hyperledger#5675)

Upgrade bouncy castle to v1.75.  This involved a change in maven
coordinates for other modules.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Introduce transaction validator interface (phase 1) (hyperledger#5673)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only validate `--miner-enabled` option for ethash networks (hyperledger#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update tuweni2.4.2 (hyperledger#5684)

* Revert "Revert "Update Tuweni to 2.4.1 (hyperledger#5513)" (hyperledger#5585)"

This reverts commit 6111e1b.

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

---------

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Do not leak references to PendingTransactions (hyperledger#5693)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove v0 version of the database (hyperledger#5698)

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updated plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* moved transcation interface to datatypes to use it in the OperationTracer.traceStartTransaction method

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix import

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Co-authored-by: Danno Ferrin <danno.ferrin@gmail.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Matt Whitehead <matthew1001@gmail.com>
Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
Co-authored-by: matkt <karim.t2am@gmail.com>
davidkngo added a commit to liquichain/besu that referenced this pull request Jul 21, 2023
elenduuche pushed a commit to elenduuche/besu that referenced this pull request Aug 16, 2023
…er#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
elenduuche pushed a commit to elenduuche/besu that referenced this pull request Aug 16, 2023
* Extend OperationTracer with new methods, create

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Rename ExtendedOperationTracer to BlockAwareOperationTracer

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc comments

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update evm/src/main/java/org/hyperledger/besu/evm/tracing/OperationTracer.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only update peer with the first and last block (hyperledger#5659)

* only update peer with the first and last block

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Put download links into CHANGELOG and do some clean up (hyperledger#5660)

* put the download links for 23.4.4 into the CHANGELOG.md
* clean up CHANGELOG

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add --amend to docker manifest create to fix docker latest tag (hyperledger#5661)

We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add Xlayered-tx-pool to the config log printout (hyperledger#5665)

Unrelated: clarify epoch length in javadoc

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add hooks to AbstractCreateOperation for library users (hyperledger#5656)

Add hooks for a successful contract create, a failed contract create,
and an invalid contact create. Users of the library will be able to
customize create responses without having to replace core logic.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Test updates for cancun execution-spec-tests (hyperledger#5670)

- support legacy V values (larger V value) and type 1+ (v is recId only)
- new fields
- shared transaction extraction
- rejection detection

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Upgrade BouncyCastle libraries (hyperledger#5675)

Upgrade bouncy castle to v1.75.  This involved a change in maven
coordinates for other modules.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Introduce transaction validator interface (phase 1) (hyperledger#5673)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only validate `--miner-enabled` option for ethash networks (hyperledger#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update tuweni2.4.2 (hyperledger#5684)

* Revert "Revert "Update Tuweni to 2.4.1 (hyperledger#5513)" (hyperledger#5585)"

This reverts commit 6111e1b.

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

---------

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Do not leak references to PendingTransactions (hyperledger#5693)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove v0 version of the database (hyperledger#5698)

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updated plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* moved transcation interface to datatypes to use it in the OperationTracer.traceStartTransaction method

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix import

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Co-authored-by: Danno Ferrin <danno.ferrin@gmail.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Matt Whitehead <matthew1001@gmail.com>
Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
Co-authored-by: matkt <karim.t2am@gmail.com>
eum602 pushed a commit to lacchain/besu that referenced this pull request Nov 3, 2023
…er#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
eum602 pushed a commit to lacchain/besu that referenced this pull request Nov 3, 2023
* Extend OperationTracer with new methods, create

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Rename ExtendedOperationTracer to BlockAwareOperationTracer

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc comments

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update evm/src/main/java/org/hyperledger/besu/evm/tracing/OperationTracer.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only update peer with the first and last block (hyperledger#5659)

* only update peer with the first and last block

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Put download links into CHANGELOG and do some clean up (hyperledger#5660)

* put the download links for 23.4.4 into the CHANGELOG.md
* clean up CHANGELOG

Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add --amend to docker manifest create to fix docker latest tag (hyperledger#5661)

We need to replace previous release's latest tag. Might be broken due to a recent change in the docker command implementation
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add Xlayered-tx-pool to the config log printout (hyperledger#5665)

Unrelated: clarify epoch length in javadoc

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add hooks to AbstractCreateOperation for library users (hyperledger#5656)

Add hooks for a successful contract create, a failed contract create,
and an invalid contact create. Users of the library will be able to
customize create responses without having to replace core logic.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Test updates for cancun execution-spec-tests (hyperledger#5670)

- support legacy V values (larger V value) and type 1+ (v is recId only)
- new fields
- shared transaction extraction
- rejection detection

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Upgrade BouncyCastle libraries (hyperledger#5675)

Upgrade bouncy castle to v1.75.  This involved a change in maven
coordinates for other modules.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Introduce transaction validator interface (phase 1) (hyperledger#5673)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Only validate `--miner-enabled` option for ethash networks (hyperledger#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update tuweni2.4.2 (hyperledger#5684)

* Revert "Revert "Update Tuweni to 2.4.1 (hyperledger#5513)" (hyperledger#5585)"

This reverts commit 6111e1b.

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>

---------

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Do not leak references to PendingTransactions (hyperledger#5693)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove v0 version of the database (hyperledger#5698)

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updated plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* spotless

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating plugin api hash

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* moved transcation interface to datatypes to use it in the OperationTracer.traceStartTransaction method

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fix import

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Stefan <stefan.pingel@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Gabriel Fukushima <gabrielfukushima@gmail.com>
Co-authored-by: Danno Ferrin <danno.ferrin@gmail.com>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Matt Whitehead <matthew1001@gmail.com>
Co-authored-by: Antoine Toulme <antoine@lunar-ocean.com>
Co-authored-by: matkt <karim.t2am@gmail.com>
Chengxuan pushed a commit to kaleido-io/besu that referenced this pull request Dec 13, 2023
…er#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
Chengxuan pushed a commit to kaleido-io/besu that referenced this pull request Dec 13, 2023
…er#5669)

* Modify the min-gas-price option validation
* Check for whether ethash is in use, either from genesis or network config, and use that for miner checks
* Add genesis configuration isPoa() convenience function

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by:  Simon Dudley <simon.dudley@consensys.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants