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 hooks to AbstractCreateOperation for library users #5656

Merged
merged 3 commits into from
Jul 4, 2023

Conversation

shemnon
Copy link
Contributor

@shemnon shemnon commented Jun 28, 2023

PR description

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.

Fixed Issue(s)

@github-actions
Copy link

github-actions bot commented Jun 28, 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

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 <[email protected]>
* @param frame the frame running the successful operation
* @param invalidCode the code object containing the invalid code
*/
protected void onInvalid(final MessageFrame frame, final CodeInvalid invalidCode) {

Check notice

Code scanning / CodeQL

Useless parameter

The parameter 'frame' is never used.
* @param frame the frame running the successful operation
* @param invalidCode the code object containing the invalid code
*/
protected void onInvalid(final MessageFrame frame, final CodeInvalid invalidCode) {

Check notice

Code scanning / CodeQL

Useless parameter

The parameter 'invalidCode' is never used.
* @param haltReason the exceptional halt reason of the child frame
*/
protected void onFailure(
final MessageFrame frame, final Optional<ExceptionalHaltReason> haltReason) {

Check notice

Code scanning / CodeQL

Useless parameter

The parameter 'frame' is never used.
* @param haltReason the exceptional halt reason of the child frame
*/
protected void onFailure(
final MessageFrame frame, final Optional<ExceptionalHaltReason> haltReason) {

Check notice

Code scanning / CodeQL

Useless parameter

The parameter 'haltReason' is never used.
* @param frame the frame running the successful operation
* @param createdAddress the address of the newly created contract
*/
protected void onSuccess(final MessageFrame frame, final Address createdAddress) {

Check notice

Code scanning / CodeQL

Useless parameter

The parameter 'frame' is never used.
* @param frame the frame running the successful operation
* @param createdAddress the address of the newly created contract
*/
protected void onSuccess(final MessageFrame frame, final Address createdAddress) {

Check notice

Code scanning / CodeQL

Useless parameter

The parameter 'createdAddress' is never used.
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.

LGTM but would like a second opinion so I will leave for someone closer to this code to approve.

Maybe warrants a changelog item?

@shemnon
Copy link
Contributor Author

shemnon commented Jul 4, 2023

Changelog added. @diega @jflo can you review?

Copy link
Contributor

@diega diega left a comment

Choose a reason for hiding this comment

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

I'm ok to merge this. I personally would have preferred an interface for a listener, but that's just stylistic and I'm not sure if that would impose some sort of performance drawback

@shemnon
Copy link
Contributor Author

shemnon commented Jul 4, 2023

A Listener would have imposed another field to do an indirect dispatch against and another object to preserve identity.

Here's an example of what it will do once new code hits hedera: https://github.com/hashgraph/hedera-services/blob/96ac267a596d611b650ecec98bc29d190e3c85bb/hedera-node/hedera-smart-contract-service-impl/src/main/java/com/hedera/node/app/service/contract/impl/exec/operations/CustomCreate2Operation.java#L68C1-L74

The Operations are all loaded in at EVM create time, and live for the duration of the EVM. Composition over inheritance would make it more interesting. If more of these hook requests come in for different operations I'll look into a EVM wide listener that can be registered.

One advantage of this setup is that if if there are no custom overrides (like in the Ethereum Mainnet setup) the hotspot compiler will elide the entire call away in time. (first noticing it's monomrphic it will attempt to inline it, then when it's inlining an empty method it will disappear).

@shemnon shemnon merged commit 6441d29 into hyperledger:main Jul 4, 2023
daniellehrner pushed a commit to daniellehrner/besu that referenced this pull request Jul 13, 2023
)

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 <[email protected]>
daniellehrner pushed a commit to daniellehrner/besu that referenced this pull request Jul 13, 2023
)

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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>
daniellehrner added a commit that referenced this pull request Jul 20, 2023
* Extend OperationTracer with new methods, create

Signed-off-by: Daniel Lehrner <[email protected]>

* Rename ExtendedOperationTracer to BlockAwareOperationTracer

Signed-off-by: Daniel Lehrner <[email protected]>

* fixed plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

* added missing javadoc comments

Signed-off-by: Daniel Lehrner <[email protected]>

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

Co-authored-by: Sally MacFarlane <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

* only update peer with the first and last block

Signed-off-by: Stefan <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Unrelated: clarify epoch length in javadoc

Signed-off-by: Simon Dudley <[email protected]>
Co-authored-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Matt Whitehead <[email protected]>
Co-authored-by: Simon Dudley <[email protected]>
Signed-off-by:  Simon Dudley <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* Update tuweni2.4.2 (#5684)

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

This reverts commit 6111e1b.

Signed-off-by: Antoine Toulme <[email protected]>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <[email protected]>

---------

Signed-off-by: Antoine Toulme <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* Do not leak references to PendingTransactions (#5693)

Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* remove v0 version of the database (#5698)

Signed-off-by: Karim TAAM <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* updated plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

* spotless

Signed-off-by: Daniel Lehrner <[email protected]>

* updating plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Daniel Lehrner <[email protected]>

* fix import

Signed-off-by: Daniel Lehrner <[email protected]>

---------

Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Stefan <[email protected]>
Signed-off-by: Simon Dudley <[email protected]>
Signed-off-by: Danno Ferrin <[email protected]>
Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Matthew Whitehead <[email protected]>
Signed-off-by: Matt Whitehead <[email protected]>
Signed-off-by: Antoine Toulme <[email protected]>
Signed-off-by: Karim TAAM <[email protected]>
Co-authored-by: Sally MacFarlane <[email protected]>
Co-authored-by: Stefan Pingel <[email protected]>
Co-authored-by: Simon Dudley <[email protected]>
Co-authored-by: Gabriel Fukushima <[email protected]>
Co-authored-by: Danno Ferrin <[email protected]>
Co-authored-by: Fabio Di Fabio <[email protected]>
Co-authored-by: Matt Whitehead <[email protected]>
Co-authored-by: Antoine Toulme <[email protected]>
Co-authored-by: matkt <[email protected]>
davidkngo pushed a commit to liquichain/besu that referenced this pull request Jul 21, 2023
)

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 <[email protected]>
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 <[email protected]>

* Rename ExtendedOperationTracer to BlockAwareOperationTracer

Signed-off-by: Daniel Lehrner <[email protected]>

* fixed plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

* added missing javadoc comments

Signed-off-by: Daniel Lehrner <[email protected]>

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

Co-authored-by: Sally MacFarlane <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

* only update peer with the first and last block

Signed-off-by: Stefan <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Unrelated: clarify epoch length in javadoc

Signed-off-by: Simon Dudley <[email protected]>
Co-authored-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Matt Whitehead <[email protected]>
Co-authored-by: Simon Dudley <[email protected]>
Signed-off-by:  Simon Dudley <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <[email protected]>

---------

Signed-off-by: Antoine Toulme <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Karim TAAM <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* updated plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

* spotless

Signed-off-by: Daniel Lehrner <[email protected]>

* updating plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Daniel Lehrner <[email protected]>

* fix import

Signed-off-by: Daniel Lehrner <[email protected]>

---------

Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Stefan <[email protected]>
Signed-off-by: Simon Dudley <[email protected]>
Signed-off-by: Danno Ferrin <[email protected]>
Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Matthew Whitehead <[email protected]>
Signed-off-by: Matt Whitehead <[email protected]>
Signed-off-by: Antoine Toulme <[email protected]>
Signed-off-by: Karim TAAM <[email protected]>
Co-authored-by: Sally MacFarlane <[email protected]>
Co-authored-by: Stefan Pingel <[email protected]>
Co-authored-by: Simon Dudley <[email protected]>
Co-authored-by: Gabriel Fukushima <[email protected]>
Co-authored-by: Danno Ferrin <[email protected]>
Co-authored-by: Fabio Di Fabio <[email protected]>
Co-authored-by: Matt Whitehead <[email protected]>
Co-authored-by: Antoine Toulme <[email protected]>
Co-authored-by: matkt <[email protected]>
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
)

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 <[email protected]>
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 <[email protected]>

* Rename ExtendedOperationTracer to BlockAwareOperationTracer

Signed-off-by: Daniel Lehrner <[email protected]>

* fixed plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

* added missing javadoc comments

Signed-off-by: Daniel Lehrner <[email protected]>

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

Co-authored-by: Sally MacFarlane <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

* only update peer with the first and last block

Signed-off-by: Stefan <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Unrelated: clarify epoch length in javadoc

Signed-off-by: Simon Dudley <[email protected]>
Co-authored-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Matt Whitehead <[email protected]>
Co-authored-by: Simon Dudley <[email protected]>
Signed-off-by:  Simon Dudley <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <[email protected]>

---------

Signed-off-by: Antoine Toulme <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Karim TAAM <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* updated plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

* spotless

Signed-off-by: Daniel Lehrner <[email protected]>

* updating plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Daniel Lehrner <[email protected]>

* fix import

Signed-off-by: Daniel Lehrner <[email protected]>

---------

Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Stefan <[email protected]>
Signed-off-by: Simon Dudley <[email protected]>
Signed-off-by: Danno Ferrin <[email protected]>
Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Matthew Whitehead <[email protected]>
Signed-off-by: Matt Whitehead <[email protected]>
Signed-off-by: Antoine Toulme <[email protected]>
Signed-off-by: Karim TAAM <[email protected]>
Co-authored-by: Sally MacFarlane <[email protected]>
Co-authored-by: Stefan Pingel <[email protected]>
Co-authored-by: Simon Dudley <[email protected]>
Co-authored-by: Gabriel Fukushima <[email protected]>
Co-authored-by: Danno Ferrin <[email protected]>
Co-authored-by: Fabio Di Fabio <[email protected]>
Co-authored-by: Matt Whitehead <[email protected]>
Co-authored-by: Antoine Toulme <[email protected]>
Co-authored-by: matkt <[email protected]>
eum602 pushed a commit to lacchain/besu that referenced this pull request Nov 3, 2023
)

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 <[email protected]>
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 <[email protected]>

* Rename ExtendedOperationTracer to BlockAwareOperationTracer

Signed-off-by: Daniel Lehrner <[email protected]>

* fixed plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

* added missing javadoc comments

Signed-off-by: Daniel Lehrner <[email protected]>

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

Co-authored-by: Sally MacFarlane <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

* only update peer with the first and last block

Signed-off-by: Stefan <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Unrelated: clarify epoch length in javadoc

Signed-off-by: Simon Dudley <[email protected]>
Co-authored-by: Gabriel Fukushima <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>
Signed-off-by: Matt Whitehead <[email protected]>
Co-authored-by: Simon Dudley <[email protected]>
Signed-off-by:  Simon Dudley <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* 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 <[email protected]>

* update Tuweni to 2.4.2

Signed-off-by: Antoine Toulme <[email protected]>

---------

Signed-off-by: Antoine Toulme <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Karim TAAM <[email protected]>
Signed-off-by: Daniel Lehrner <[email protected]>

* updated plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

* spotless

Signed-off-by: Daniel Lehrner <[email protected]>

* updating plugin api hash

Signed-off-by: Daniel Lehrner <[email protected]>

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

Signed-off-by: Daniel Lehrner <[email protected]>

* fix import

Signed-off-by: Daniel Lehrner <[email protected]>

---------

Signed-off-by: Daniel Lehrner <[email protected]>
Signed-off-by: Stefan <[email protected]>
Signed-off-by: Simon Dudley <[email protected]>
Signed-off-by: Danno Ferrin <[email protected]>
Signed-off-by: Fabio Di Fabio <[email protected]>
Signed-off-by: Matthew Whitehead <[email protected]>
Signed-off-by: Matt Whitehead <[email protected]>
Signed-off-by: Antoine Toulme <[email protected]>
Signed-off-by: Karim TAAM <[email protected]>
Co-authored-by: Sally MacFarlane <[email protected]>
Co-authored-by: Stefan Pingel <[email protected]>
Co-authored-by: Simon Dudley <[email protected]>
Co-authored-by: Gabriel Fukushima <[email protected]>
Co-authored-by: Danno Ferrin <[email protected]>
Co-authored-by: Fabio Di Fabio <[email protected]>
Co-authored-by: Matt Whitehead <[email protected]>
Co-authored-by: Antoine Toulme <[email protected]>
Co-authored-by: matkt <[email protected]>
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.

3 participants