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

Bump mockito.version from 3.12.1 to 3.12.4 #435

Merged
merged 1 commit into from Aug 30, 2021

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Aug 30, 2021

Bumps mockito.version from 3.12.1 to 3.12.4.
Updates mockito-core from 3.12.1 to 3.12.4

Release notes

Sourced from mockito-core's releases.

v3.12.4

Changelog generated by Shipkit Changelog Gradle Plugin

3.12.4

  • 2021-08-25 - 1 commit(s) by Rafael Winterhalter
  • No notable improvements. No pull requests (issues) were referenced from commits.

v3.12.3

Changelog generated by Shipkit Changelog Gradle Plugin

3.12.3

v3.12.2

Changelog generated by Shipkit Changelog Gradle Plugin

3.12.2

Commits
  • 963a872 Properly resolve ProxyMockMaker by alias and handle null value as argument fo...
  • 2576950 Merge pull request #2405 from mockito/fix-proxy-mock-maker
  • cb5e3a6 Fix implementation of proxy mock maker for toString and add additional unit t...
  • 03ae33a Merge pull request #2397 from mockito/proxy-mock-maker
  • 0863afb Merge pull request #2402 from mockito/avoid-cache-breakage
  • 3ed0655 Remove deprecation warning
  • e1f9855 Fixes or removes tests that build on unfulfilled assumptions.
  • c740965 Allow for building without Android SDK. Remove warnings.
  • 1a8946f Remove special handling for hashCode/equals as it breaks Mockito's internal m...
  • 4f81d4f Fix cache key computation for generated mock/spy classes (#2400)
  • Additional commits viewable in compare view

Updates mockito-junit-jupiter from 3.12.1 to 3.12.4

Release notes

Sourced from mockito-junit-jupiter's releases.

v3.12.4

Changelog generated by Shipkit Changelog Gradle Plugin

3.12.4

  • 2021-08-25 - 1 commit(s) by Rafael Winterhalter
  • No notable improvements. No pull requests (issues) were referenced from commits.

v3.12.3

Changelog generated by Shipkit Changelog Gradle Plugin

3.12.3

v3.12.2

Changelog generated by Shipkit Changelog Gradle Plugin

3.12.2

Commits
  • 963a872 Properly resolve ProxyMockMaker by alias and handle null value as argument fo...
  • 2576950 Merge pull request #2405 from mockito/fix-proxy-mock-maker
  • cb5e3a6 Fix implementation of proxy mock maker for toString and add additional unit t...
  • 03ae33a Merge pull request #2397 from mockito/proxy-mock-maker
  • 0863afb Merge pull request #2402 from mockito/avoid-cache-breakage
  • 3ed0655 Remove deprecation warning
  • e1f9855 Fixes or removes tests that build on unfulfilled assumptions.
  • c740965 Allow for building without Android SDK. Remove warnings.
  • 1a8946f Remove special handling for hashCode/equals as it breaks Mockito's internal m...
  • 4f81d4f Fix cache key computation for generated mock/spy classes (#2400)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps `mockito.version` from 3.12.1 to 3.12.4.

Updates `mockito-core` from 3.12.1 to 3.12.4
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.12.1...v3.12.4)

Updates `mockito-junit-jupiter` from 3.12.1 to 3.12.4
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.12.1...v3.12.4)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Aug 30, 2021
@Daniel-K-Ivanov Daniel-K-Ivanov merged commit 8e56723 into master Aug 30, 2021
@Daniel-K-Ivanov Daniel-K-Ivanov deleted the dependabot/maven/mockito.version-3.12.4 branch August 30, 2021 13:58
joan41868 added a commit that referenced this pull request Oct 25, 2021
* Bump maven-gpg-plugin from 1.6 to 3.0.1 (#378)

Bumps [maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) from 1.6 to 3.0.1.
- [Release notes](https://github.com/apache/maven-gpg-plugin/releases)
- [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-1.6...maven-gpg-plugin-3.0.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-gpg-plugin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump os-maven-plugin from 1.6.0 to 1.7.0 (#379)

Bumps [os-maven-plugin](https://github.com/trustin/os-maven-plugin) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/trustin/os-maven-plugin/releases)
- [Commits](trustin/os-maven-plugin@os-maven-plugin-1.6.0...os-maven-plugin-1.7.0)

---
updated-dependencies:
- dependency-name: kr.motd.maven:os-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump maven-release-plugin from 3.0.0-M1 to 3.0.0-M4 (#380)

Bumps [maven-release-plugin](https://github.com/apache/maven-release) from 3.0.0-M1 to 3.0.0-M4.
- [Release notes](https://github.com/apache/maven-release/releases)
- [Commits](apache/maven-release@maven-release-3.0.0-M1...maven-release-3.0.0-M4)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-release-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump snakeyaml from 1.26 to 1.29 (#382)

Bumps [snakeyaml](https://bitbucket.org/asomov/snakeyaml) from 1.26 to 1.29.
- [Commits](https://bitbucket.org/asomov/snakeyaml/branches/compare/snakeyaml-1.29..snakeyaml-1.26)

---
updated-dependencies:
- dependency-name: org.yaml:snakeyaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump ubuntu from 20.10 to 21.10 (#410)

Bumps ubuntu from 20.10 to 21.10.

---
updated-dependencies:
- dependency-name: ubuntu
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump jackson-databind from 2.11.2 to 2.12.4 (#411)

Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.11.2 to 2.12.4.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump maven-dependency-plugin from 3.1.1 to 3.2.0 (#412)

Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/apache/maven-dependency-plugin/releases)
- [Commits](apache/maven-dependency-plugin@maven-dependency-plugin-3.1.1...maven-dependency-plugin-3.2.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-dependency-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump maven-antrun-plugin from 1.8 to 3.0.0 (#413)

Bumps [maven-antrun-plugin](https://github.com/apache/maven-antrun-plugin) from 1.8 to 3.0.0.
- [Release notes](https://github.com/apache/maven-antrun-plugin/releases)
- [Commits](apache/maven-antrun-plugin@maven-antrun-plugin-1.8...maven-antrun-plugin-3.0.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-antrun-plugin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump swirlds.version from 0.17.1 to 0.17.3 (#422)

Bumps `swirlds.version` from 0.17.1 to 0.17.3.

Updates `swirlds-platform-core` from 0.17.1 to 0.17.3

Updates `swirlds-fcmap` from 0.17.1 to 0.17.3

Updates `swirlds-fcqueue` from 0.17.1 to 0.17.3

Updates `swirlds-common` from 0.17.1 to 0.17.3

---
updated-dependencies:
- dependency-name: com.swirlds:swirlds-platform-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-fcmap
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-fcqueue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump mockito.version from 3.11.2 to 3.12.1 (#423)

Bumps `mockito.version` from 3.11.2 to 3.12.1.

Updates `mockito-core` from 3.11.2 to 3.12.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.11.2...v3.12.1)

Updates `mockito-junit-jupiter` from 3.11.2 to 3.12.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.11.2...v3.12.1)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump netty-bom from 4.1.66.Final to 4.1.67.Final (#424)

Bumps [netty-bom](https://github.com/netty/netty) from 4.1.66.Final to 4.1.67.Final.
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](netty/netty@netty-4.1.66.Final...netty-4.1.67.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump grpc-bom from 1.39.0 to 1.40.0 (#425)

Bumps [grpc-bom](https://github.com/grpc/grpc-java) from 1.39.0 to 1.40.0.
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](grpc/grpc-java@v1.39.0...v1.40.0)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump mockito.version from 3.12.1 to 3.12.4 (#435)

Bumps `mockito.version` from 3.12.1 to 3.12.4.

Updates `mockito-core` from 3.12.1 to 3.12.4
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.12.1...v3.12.4)

Updates `mockito-junit-jupiter` from 3.12.1 to 3.12.4
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.12.1...v3.12.4)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump swirlds.version from 0.17.3 to 0.17.4 (#436)

Bumps `swirlds.version` from 0.17.3 to 0.17.4.

Updates `swirlds-platform-core` from 0.17.3 to 0.17.4

Updates `swirlds-fcmap` from 0.17.3 to 0.17.4

Updates `swirlds-fcqueue` from 0.17.3 to 0.17.4

Updates `swirlds-common` from 0.17.3 to 0.17.4

---
updated-dependencies:
- dependency-name: com.swirlds:swirlds-platform-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-fcmap
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-fcqueue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump grpc-bom from 1.40.0 to 1.40.1 (#437)

Bumps [grpc-bom](https://github.com/grpc/grpc-java) from 1.40.0 to 1.40.1.
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](grpc/grpc-java@v1.40.0...v1.40.1)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump jackson-databind from 2.12.4 to 2.12.5 (#438)

Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.12.4 to 2.12.5.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump dagger from 2.37 to 2.38.1 (#450)

Bumps [dagger](https://github.com/google/dagger) from 2.37 to 2.38.1.
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.37...dagger-2.38.1)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Initial swap of EthereumJ for Hyperledger Besu

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Fix imports after besu packages refactor

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Refactor BesuAdapter and ContractCallTransitionLogic
Fix gas calculators in BesuAdapter
Create HederaUpdateTrackingAccount
Merge AccountStore and Account from crypto-create brach (persistNew)

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Added google-maven repository for dagger dependencies resolution

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Added getEvmAddress method to Account

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Merged AccountTest and AccountStoreTest from crypto-create branch

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Latest changes on BesuAdapter
Renamed BesuStateAdapter to HederaWorldUpdater
Merged changes to Account and AccountState from crypto-create branch

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Add getAccount to HederaWorldUpdater.updater

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Introduce `CreateEvmProcessor` and `CallEvmProcessor` (#486)

* #417: Contract Create Transition logic refactoring

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* #417: Contract Create Transition logic refactoring

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* #417: Contract Create transition logic refactoring

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fix(evm-processor): Add base evm processor and CallEvmTxProcessor

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(build): Resolve build errors

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(contract-create): Integrate CreateEvmTxProcessor in ContractCreateTransitionLogic

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(remove-besu-adapter): Remove any unnecessary logic left from the Besu Adapter

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(header): Override Block Header properties

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* refactor: Remove commented code

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* annotate code changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Copied EthJ storage models to Hedera (#488)

* Copied EthJ storage models to Hedera
Changed types in ContractsModule to bind to Hedera types
Commented out SolidityExecutor and SmartContractRequestHandler logic
Fixed build - commented out some tests
Implementation of HederaWorldUpdater methods

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix(formatting): Change formatting to tabs

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Ref/update hedera world (#493)

* Copied EthJ storage models to Hedera
Changed types in ContractsModule to bind to Hedera types
Commented out SolidityExecutor and SmartContractRequestHandler logic
Fixed build - commented out some tests
Implementation of HederaWorldUpdater methods

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix(formatting): Change formatting to tabs

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(world-state): initial commit for the world state refactoring

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(build)

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* save progress

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(get): Implement HederaWorldState get for account

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* HederaWorldStateAccount

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: Remove EvmTransaction.java; return TransactionProcessingResult

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feature: externalise almost all data in transaction records

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* merge(master): merge from hedera master

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Feat/use old impl of world state (#497)

* refactor of world updaters
implementation of commit methods of Updaters
initial implementation of persist method in HederaWorldState

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* up tuweni version to 2.0.0

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* merge(latest): Get latest changes from Danno's branch

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(initial): Use previous impl of world state

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* test: Add e2e test use

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: remove unnecessary changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(build)

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(reclaim): count provisional Ids when allocating new contractId

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* refactor: remove unnecessary file changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* remove dependency on Besu Core

Remove the two classes that were outside the EVM library.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Custom Build EVM

Custom build the EVM rathe than using London preset.
This allows us to make CREATE2 an invalid op.
Also, turn off requires code deposit.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* cleanup

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* successful runthrough

* Add CryptoCreate and CryptoCall back into default is success
* uncomment some Transaction runner code
formatting

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Removed copied classes from ethJ (#499)

* Removed copied classes from ethJ
Fixed imports to work with EthJ classes
DWUtil static methods for converting DataWord <> UInt256


Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Change besu dependency version to 21.7.4 to fix

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* refactor: remove unnecessary file changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(license+java-doc): Add license and java doc to util file

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Fix NPE when retrieving null value from contract storage
Added SimpleUpdate solidity contract and test case in ContractCallSuite

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix(deployment-bugs): Revert with insufficient gas once gas is consumed; Simplify externalisation (#510)

* fix(deployment-bugs): Revert with insufficient gas once gas is consumed

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* ref(tx-processing-result): Simplify the externalisation of evm tx; fix OK status

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* comment(todo): Add TODO comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(license)

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Signed-off-by: Daniel Daniel.K.Ivanov95@gmail.com

* clear storage implementation in HederaWorldState (#512)

* clear storage implementation in HederaWorldState
added e2e test for simple update + selfdestruct

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* PR comments fix

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* PR fixes revert of unnecessary changes

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Removed provisionalStorageUpdates
Removed clearStorage method

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* remove unnecessary TODO

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: resolve load account issue

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Feature: Transaction Record Externalisation (#519)

* fix(externalisation): Externalise logs, createdContracts & transfer list; Uses the legacy implementation to capture the transfer list

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(issues): Fix NPE and non-changing balances

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(e2e): Add e2e tests for logs, data and topics

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* ref(remove): Remove unnecessary changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* note(todo): Add more clarification to todo comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* note: edit solidity comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e: call opcode contract test (#518)

* Add CallingContract test to ContractCallSuite

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>
Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* Feature/global opcodes (#516)

* #503: Verify global dynamic props

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* added contract call suite

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fix(externalisation): Externalise logs, createdContracts & transfer list; Uses the legacy implementation to capture the transfer list

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(issues): Fix NPE and non-changing balances

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(e2e): Add e2e tests for logs, data and topics

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* ref(remove): Remove unnecessary changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* note(todo): Add more clarification to todo comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* note: edit solidity comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* refactor(e2e): Refactor e2e tests and fix basefee INVALID_OPERATION

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(import)

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(issues): Fix failing e2e test

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Revert Account model and Store changes (#530)

* refactor(undo): Remove unnecessary changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* refactor(imports): Reorg imports

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat: besu ContractCallLocal (#525)

* Updated `ContractCallLocal` to Besu
* Updated e2e Tests
* Updated Unit Tests

Signed-off-by: failfmi <oscurocalma@gmail.com>

* resolve(conflicts): Resolve conflicts from Hedera master

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Feat: Hedera Custom Create Operation + SelfDestructs (#529)

* Hedera Create WIP

Work in progress for create, depends on
hyperledger/besu#2804

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* fees and value

* Send the value to the receiver
* report the fees used in the transaction record

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* fix(fee): Append the evm fee instead of setting it directly on top of hedera fees

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* ref(renames): Fix naming typos

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Move to StackedUpdater sublass for creates

Move away from ContextVariables to StackedUpdaters. The need to rollback
failed creates on a per MessageFrame basis was the main reason for the
change of approach.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Simplify

Remove unneeded logic from HederaCreateOperation, un-plumb
EntityIdSource passing.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* HederaCreateOperation gas pricing

Update HederaCreateOperation to sue the gas pricing formula of the
EthereumJ implementation.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* EET tests for EVM Opcodes (hashgraph#2130)

* Opcode exercising contracts

EET tests to exercise the opcodes of the EVM. The contracts are tuned
for 6KiB transaction size limit and 300K gas limit.

There are some stub classes waiting for callable contract setup.

Because of the current EVM and storage
the current exec time timeout is set to 10 sec.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>
(cherry picked from commit f29d649)

* Don't permit negative gas cost.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* create and delete w/in a transaction

Wehn you both create and delete a contract within a TX we need to make
sure the account gets created and immediately marked as deleted.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* move update method

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Don't deduct value in tx processor

Only deduct the gasLimit*gasPrice, the value is transfered in the Besu
EVM library.  But do check for upfront cost failures with value.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Self Destruct Tests

Self destruct tests work, but multipleSelfDestructsAreSafe will require
a change tot he per-tx gas limit to 345,000.  Perhaps the hederaCreate
gas charging logic is wrong?

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* fix(merge-issues): Finalise merge from feature/ethereumj-besu-swap

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Contract create op test suite

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* create account gerenration

Change to stack climbing instead of adding the EntityIdSource to every
updater.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* resolve(licenses): Add missing licenses

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(selfdestruct): Get instead of pop the beneficiary address

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(nits): Extract variable in transition logic; remove unused imports

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(issue): Override Updater in HederaStackedWorldStateUpdater to resolve stacked updater class cast exception

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* resolve(bug): Call the WorldState directly instead of going through the stack. Sponsor map was polluted otherwise

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(e2e): Add e2e tests for HederaCreateOpcode

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* nits: Change package name; fix formatting

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Danno Ferrin <danno.ferrin@hedera.com>
Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>
Co-authored-by: Danno Ferrin <danno.ferrin@shemnon.com>

* feat(evm-opcodes): revert when accessing a non-existing account (#541)

* Revert EVM opcodes (Balance, Ext-*, Call, CallCode, DelegateCall, StaticCall) when trying to access a non-existing account
* Fix `getCodeHash`
* Add E2E

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* #526: Added unit tests for Call and Create Transition Logics (#534)

* #526: Added unit tests for Call and Create Transition Logics

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* rework mocking in tests

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fix(happy-path): Enhance happy path as example

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* added new tests

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* test: fix jcontract id key verification

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Added new test for constructor parameters

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Delete TransactionProcessingResultTest.java

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Revert "Delete TransactionProcessingResultTest.java"

This reverts commit d9ed9fa.

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fix(comments): Delete file; fix typos

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>
Co-authored-by: failfmi <oscurocalma@gmail.com>

* Log Gas Calculations (#540)

Calculate the log gas cost as done in 0.18.0. Gas costs in tests come
from 0.18.0 executions

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* test: from call/callLocal/createEvmTxProcessor (#544)


Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Update Besu Version (#558)

Update Besu version to 21.10.0-RC1

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Fix Copy-paste error (#559)

Migration to the released Besu RC introduced a copy-paste error.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Refactored HederaWorldState to persist objects through ServicesReposi… (#543)

* Refactored HederaWorldState to persist objects through ServicesRepositoryRoot

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* PR comments

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Fix issue with non-existing account

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Added E2E tests for contract, transferring to account configured with receiverSigRequired true

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* remove unnecessary changes

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: proper set of contract merkle fields and fix null pointer in hedera op

Signed-off-by: failfmi <oscurocalma@gmail.com>

* e2e: test for nested contract creations

Signed-off-by: failfmi <oscurocalma@gmail.com>

* E2E: Verify rest of the Contract Service operations are functional (#554)

Signed-off-by: Daniel <Daniel.K.Ivanov95@gmail.com>

* e2e(contract-delete): Verify Contract Delete is working; Add e2e tests

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-get-bytecode): Add E2E tests for GetBytecode

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-get-info): Add E2E tests for GetContractInfo

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-update): Add E2E tests for ContractUpdate op

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix: proper set fields of child contracts

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style: fix typo; flip check

Signed-off-by: failfmi <oscurocalma@gmail.com>

* wip: delete contract

Signed-off-by: failfmi <oscurocalma@gmail.com>

* fix: similar to legacy deletion

refactor: account balance adjustment on commit

Signed-off-by: failfmi <oscurocalma@gmail.com>

* feat(contracts): create deleted contracts and customize already deleted ones

Signed-off-by: failfmi <oscurocalma@gmail.com>

* e2e: move tests for inheritance and selfdesetruct to create suite; add asserts

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>
Co-authored-by: Daniel <Daniel.K.Ivanov95@gmail.com>

* feat(contracts): signature verification on recipients that require it (#549)

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* NPE in EVM Opcodes that require the usage of an expiry (#561)

* Refactored HederaWorldState to persist objects through ServicesRepositoryRoot

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* PR comments

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Fix issue with non-existing account

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Added E2E tests for contract, transferring to account configured with receiverSigRequired true

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* remove unnecessary changes

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: proper set of contract merkle fields and fix null pointer in hedera op

Signed-off-by: failfmi <oscurocalma@gmail.com>

* e2e: test for nested contract creations

Signed-off-by: failfmi <oscurocalma@gmail.com>

* E2E: Verify rest of the Contract Service operations are functional (#554)

* e2e(contract-delete): Verify Contract Delete is working; Add e2e tests

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-get-bytecode): Add E2E tests for GetBytecode

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-get-info): Add E2E tests for GetContractInfo

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-update): Add E2E tests for ContractUpdate op

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix: proper set fields of child contracts

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style: fix typo; flip check

Signed-off-by: failfmi <oscurocalma@gmail.com>

* wip: delete contract

Signed-off-by: failfmi <oscurocalma@gmail.com>

* fix: similar to legacy deletion

refactor: account balance adjustment on commit
Signed-off-by: failfmi <oscurocalma@gmail.com>

* NPE in EVM Opcodes that require the usage of an expiry

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Change Optional<Long> to long in CreateEvmTxProcessor

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

Co-authored-by: failfmi <oscurocalma@gmail.com>
Co-authored-by: Daniel <Daniel.K.Ivanov95@gmail.com>

* merge(hedera-master): Fix import path from hedera-master

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Added TransactionProcessingTest (#564)

* Added TransactionProcessingTest

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* removed empty lines

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fixed PR comment

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fixed PR comment

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Gas calculator for 0.19.0 (#547)

* Gas calculator for 0.18.0 values

A gas calculator that matches the behavior of the 0.18.0 smart contract
service.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Gas calculator for 0.19.0 values

0.19.0 gas calculator
* London prices, except when legacy 0.18.0 prices are higher.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* license

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Added logic for expiry extraction from frame
Changed getStackItem(0) to popStackItem in HederaExtCodeHashOperation

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Check recipientAccount for expiry first

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* license: add missing

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Inject operations and GasCalculator (#565)

Move to providing operations and gas calculators via injection to the
EvmTxProcessors. This will reduce the amount of unneded values passed
through for constructors.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Unit tests for `*Call` operations (#557)

* tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* address pr comments + more tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* enhance tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* add successful execution tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* licenses

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* address PR comments

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* fix old tests after changes + coverage for new lines

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* HederaWorldState tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* address comments

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* test(hswstu): getHederaAccount

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* Unit Tests: Coverage Increase (#560)

* Additional Unit Tests for Coverage

Signed-off-by: Georgi Yazovaliyski <georgi.yazovaliiski@gmail.com>

* Added GasCalculatorHedera_0_18 tests (#571)

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Unit tests for *ExtCode operations (#563)

* add unit tests for coverage

Signed-off-by: alshapi <alexander.shapkarov@limechain.tech>

* increase ContextOptionValidator coverage

Signed-off-by: alshapi <alexander.shapkarov@limechain.tech>

* add unit tests, resolve PR comments

Signed-off-by: alshapi <alexander.shapkarov@limechain.tech>

* Remove Legacy EthereumJ Code (#575)

* delete(dead-code): Remove SolidityLifecycle.java & SolidityExecutor.java; clear unused methods from SmartContractRequestHandler

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* move(packages): Move process package to old execution package

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* move(unit-test): Move TxnAwareSoliditySigsVerifierTest to the correct package

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(contract-processor): correct response codes upon fail before execution (#577)

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Return ResponseCode INSUFFICIENT_GAS when exceptional halt reason is INSUFFICIENT_GAS (#578)

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Revise SStore gas price (#573)

Revise the SStore gas price to use the London prices for existing slots.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* Fix breakes found in perf tests (#574)

* Fix breakes found in perf tests

* create cost float breaks CREATE and SELFDESTRUCT, so disable them
* creating and then deleting a contract in a call operation results in a
  stack trace attempting to customize a deleted account.
* Expose more fail reasons through the receipt: Out of Gas, Revert, and
  local call modification.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Stand alon quick delete test

Stand alone test that validates deleted contracts are not customized.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* fix: use customizePotentiallyDeleted

Signed-off-by: failfmi <oscurocalma@gmail.com>

* e2e: fix expected status on execution

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* Return Status ERROR_DECODING_BYTESTRING when trying to create contrac… (#576)

* Return Status ERROR_DECODING_BYTESTRING when trying to create contract with invalid bytecode


Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* added unit test for invalid bytecode response code

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Changed unit test name to throwsErrorOnInvalidBytecode

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Docs: Add JavaDocs to new classes/interfaces/methods (#579)

* delete(dead-code): Remove SolidityLifecycle.java & SolidityExecutor.java; clear unused methods from SmartContractRequestHandler

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* move(packages): Move process package to old execution package

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* move(unit-test): Move TxnAwareSoliditySigsVerifierTest to the correct package

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* add(java-docs): Add javadocs part 1

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* add(java-docs): Add java docs part 2

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(unit-test): Fix failing unit test

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Re-order maven repositories

Placing the hyperledger repository after maven central results in
noisy errors.  Moving it before removes them.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* besu swap sonar fixes (#580)

* Fix Optional.get() issue.
   Sonar identified a possible null get on an optional.  But the bigger
   issue is that the code is duplicated and partly wrong in utility.
   Centralize the function and fix the sonar issue.
* Sonar doesn't like underscores in names.
* Factor out vars in some lambda exception tests
* expected/actual order in asserts
* use assertEquals when relevant.
* make use of NumBytes
* Utility Class Constructor
* collapse if
* Abstract class constructor visibility
* Don't directly duplicate a method.
* remove magic constant
* remove unused private field
* make constants final
* remove imports
* inline variable
* variable name

* javadoc

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* public test classes

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Fix NewOpInConstructorSuite

* Ensure that ContractIDs are always in-order
* update test to reflect that the contract created by the transaction is
  also in the created contract IDs

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Check for out of gas in SStore

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Unit tests for code coverage increase (#566)

* fixes code cov for account model

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes code cov for id model

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes code cov for TransactionRecordService

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes code cov for AccountStore

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes unused imports

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes code coverage gor HederaBalanceOperation

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* adds new test scenario

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* reflects reviewers comments

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes failing unit test and code coverage

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* cleans empty imports

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* Refactored E2E tests related to Contracts (#572)

* Refactored E2E tests related to Contracts part 1
- more tests remain to be refactored
- it remains for tests to be added to SuiteRunner
- this commit adds 2 tests to CreateSuite that are currently failing, will discuss them and fix logic or test expectations

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Refactored E2E tests related to Contracts part 2
- more tests remain to be refactored
- it remains for tests to be added to SuiteRunner


Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* e2e(contracts): format and update perf tests

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Refactor e2e part 3


Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* E2E refactoring:
added contract tests to SuiteRunner
removed system.out.printlns

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* fix(code-smell): Remove public modifier

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Coverage: Additional Unit Tests for ci-enabled-2208 (#582)

* CallCode, OperationUtil and SStoreOperation Unit Tests

Signed-off-by: Georgi Yazovaliyski <georgi.yazovaliiski@gmail.com>

* MerkleEntityIdUtilsTest

Signed-off-by: Georgi Yazovaliyski <georgi.yazovaliiski@gmail.com>

* test(contracts): additional coverage (#583)

* Format code
* `CreateEvmTxProcessor`
* `HederaWorldState`
* `HederaExtCodeSize`
* `HederaExtCodeCopy`
* `AccountStore`

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Enforce Storage Limit (#581)

* Enorce Storage Limit

Enforce the limit to allowed slot storage. Restore behavior in
ChildStorage test that validates the out of storage space condition
results in a contract failure.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* undo tpyo

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* setup and cleanup app properties

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* feat(unit-tests): Add unit tests for HederaWorldState

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(code-smell): Fix sonar code smell

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(failing-tests): Fix failing e2e tests

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(failing-tests): Fix failing e2e test

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(bug): Clear provisional creations on MAX_CONTRACT_STORAGE_EXCEEDED

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* E2E tests refactoring
removed Result Size Limit Exceeded test
updated SStoreSuite valuesMatch to not expect precheck failure and actually verify contract values

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>
Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Feature: Resolve TODOs (#592)

* feat(bloom): Add bloom per log

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* comment(remove): Remove already completed TODO

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* E2E tests refactoring (#593)

* E2E tests refactoring
fixed fridayThe13th spec - changes in method names, sigs, moved to update contract suite
fixed issue with gas refunds externalization to TX record in EvmTxProcessor
fixed smart contract fail first to expect revert, not execution exception
refactored txRecordsContainValidTransfers() in RecordsSuite

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Small refactor, removed second gasUsedByTransaction assignment

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* e2e(contract-call-local): insufficientfee set payer different than default (#594)

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Feat/sbh refunds (#595)

* SBH gas refunds logic moved to updaters and TX records externalization fix

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Updated expected status for non-payable constructor call with balance
Revert is the corect behavior

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Unit tests for sbh refunds

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Changed Gas.of(0) to Gas.ZERO
Removed empty line

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Refactor(contracts): extract duplicate code in operations (#596)

* refactor(contracts): extract duplicate code in operations

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style(contract-delegate-call-op): arguments enlistment

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style(contract-delegate-call-op): unnecessary usage of paragraphs in inline docs

Signed-off-by: failfmi <oscurocalma@gmail.com>

* fix: static class private ctor throwing

Signed-off-by: failfmi <oscurocalma@gmail.com>

* test: npe mocks (#597)

Signed-off-by: failfmi <oscurocalma@gmail.com>

* refactor(contracts): gas calculators (#598)

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style: unnecessary constants

Signed-off-by: failfmi <oscurocalma@gmail.com>

* check: suppress unused

Signed-off-by: failfmi <oscurocalma@gmail.com>

* delete(file): Remove empty file

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* pom cleanup

add references for tuweni and besu-native versions.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* E2E: ERC721 Contract Interaction (#599)

* E2E - ERC721

Signed-off-by: Georgi Yazovaliyski <georgi.yazovaliiski@gmail.com>

* Optimised Bytecode

Signed-off-by: Georgi Yazovaliyski <georgi.yazovaliiski@gmail.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: failfmi <oscurocalma@gmail.com>
Co-authored-by: Daniel <Daniel.K.Ivanov95@gmail.com>
Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>
Co-authored-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>
Co-authored-by: stoqnkpL <85231995+stoqnkpL@users.noreply.github.com>
Co-authored-by: Danno Ferrin <danno.ferrin@hedera.com>
Co-authored-by: Danno Ferrin <danno.ferrin@shemnon.com>
Co-authored-by: Yoan Sredkov <yoansredkov@gmail.com>
Co-authored-by: alshapi <84335193+alshapi@users.noreply.github.com>
Co-authored-by: CordonaCodeCraft <77110630+CordonaCodeCraft@users.noreply.github.com>
joan41868 added a commit that referenced this pull request Oct 25, 2021
* Bump maven-gpg-plugin from 1.6 to 3.0.1 (#378)

Bumps [maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) from 1.6 to 3.0.1.
- [Release notes](https://github.com/apache/maven-gpg-plugin/releases)
- [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-1.6...maven-gpg-plugin-3.0.1)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-gpg-plugin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump os-maven-plugin from 1.6.0 to 1.7.0 (#379)

Bumps [os-maven-plugin](https://github.com/trustin/os-maven-plugin) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/trustin/os-maven-plugin/releases)
- [Commits](trustin/os-maven-plugin@os-maven-plugin-1.6.0...os-maven-plugin-1.7.0)

---
updated-dependencies:
- dependency-name: kr.motd.maven:os-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump maven-release-plugin from 3.0.0-M1 to 3.0.0-M4 (#380)

Bumps [maven-release-plugin](https://github.com/apache/maven-release) from 3.0.0-M1 to 3.0.0-M4.
- [Release notes](https://github.com/apache/maven-release/releases)
- [Commits](apache/maven-release@maven-release-3.0.0-M1...maven-release-3.0.0-M4)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-release-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump snakeyaml from 1.26 to 1.29 (#382)

Bumps [snakeyaml](https://bitbucket.org/asomov/snakeyaml) from 1.26 to 1.29.
- [Commits](https://bitbucket.org/asomov/snakeyaml/branches/compare/snakeyaml-1.29..snakeyaml-1.26)

---
updated-dependencies:
- dependency-name: org.yaml:snakeyaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump ubuntu from 20.10 to 21.10 (#410)

Bumps ubuntu from 20.10 to 21.10.

---
updated-dependencies:
- dependency-name: ubuntu
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump jackson-databind from 2.11.2 to 2.12.4 (#411)

Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.11.2 to 2.12.4.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump maven-dependency-plugin from 3.1.1 to 3.2.0 (#412)

Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/apache/maven-dependency-plugin/releases)
- [Commits](apache/maven-dependency-plugin@maven-dependency-plugin-3.1.1...maven-dependency-plugin-3.2.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-dependency-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump maven-antrun-plugin from 1.8 to 3.0.0 (#413)

Bumps [maven-antrun-plugin](https://github.com/apache/maven-antrun-plugin) from 1.8 to 3.0.0.
- [Release notes](https://github.com/apache/maven-antrun-plugin/releases)
- [Commits](apache/maven-antrun-plugin@maven-antrun-plugin-1.8...maven-antrun-plugin-3.0.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-antrun-plugin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump swirlds.version from 0.17.1 to 0.17.3 (#422)

Bumps `swirlds.version` from 0.17.1 to 0.17.3.

Updates `swirlds-platform-core` from 0.17.1 to 0.17.3

Updates `swirlds-fcmap` from 0.17.1 to 0.17.3

Updates `swirlds-fcqueue` from 0.17.1 to 0.17.3

Updates `swirlds-common` from 0.17.1 to 0.17.3

---
updated-dependencies:
- dependency-name: com.swirlds:swirlds-platform-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-fcmap
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-fcqueue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump mockito.version from 3.11.2 to 3.12.1 (#423)

Bumps `mockito.version` from 3.11.2 to 3.12.1.

Updates `mockito-core` from 3.11.2 to 3.12.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.11.2...v3.12.1)

Updates `mockito-junit-jupiter` from 3.11.2 to 3.12.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.11.2...v3.12.1)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump netty-bom from 4.1.66.Final to 4.1.67.Final (#424)

Bumps [netty-bom](https://github.com/netty/netty) from 4.1.66.Final to 4.1.67.Final.
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](netty/netty@netty-4.1.66.Final...netty-4.1.67.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump grpc-bom from 1.39.0 to 1.40.0 (#425)

Bumps [grpc-bom](https://github.com/grpc/grpc-java) from 1.39.0 to 1.40.0.
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](grpc/grpc-java@v1.39.0...v1.40.0)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump mockito.version from 3.12.1 to 3.12.4 (#435)

Bumps `mockito.version` from 3.12.1 to 3.12.4.

Updates `mockito-core` from 3.12.1 to 3.12.4
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.12.1...v3.12.4)

Updates `mockito-junit-jupiter` from 3.12.1 to 3.12.4
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](mockito/mockito@v3.12.1...v3.12.4)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump swirlds.version from 0.17.3 to 0.17.4 (#436)

Bumps `swirlds.version` from 0.17.3 to 0.17.4.

Updates `swirlds-platform-core` from 0.17.3 to 0.17.4

Updates `swirlds-fcmap` from 0.17.3 to 0.17.4

Updates `swirlds-fcqueue` from 0.17.3 to 0.17.4

Updates `swirlds-common` from 0.17.3 to 0.17.4

---
updated-dependencies:
- dependency-name: com.swirlds:swirlds-platform-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-fcmap
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-fcqueue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.swirlds:swirlds-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump grpc-bom from 1.40.0 to 1.40.1 (#437)

Bumps [grpc-bom](https://github.com/grpc/grpc-java) from 1.40.0 to 1.40.1.
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](grpc/grpc-java@v1.40.0...v1.40.1)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump jackson-databind from 2.12.4 to 2.12.5 (#438)

Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.12.4 to 2.12.5.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump dagger from 2.37 to 2.38.1 (#450)

Bumps [dagger](https://github.com/google/dagger) from 2.37 to 2.38.1.
- [Release notes](https://github.com/google/dagger/releases)
- [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md)
- [Commits](google/dagger@dagger-2.37...dagger-2.38.1)

---
updated-dependencies:
- dependency-name: com.google.dagger:dagger
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Initial swap of EthereumJ for Hyperledger Besu

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Fix imports after besu packages refactor

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Refactor BesuAdapter and ContractCallTransitionLogic
Fix gas calculators in BesuAdapter
Create HederaUpdateTrackingAccount
Merge AccountStore and Account from crypto-create brach (persistNew)

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Added google-maven repository for dagger dependencies resolution

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Added getEvmAddress method to Account

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Merged AccountTest and AccountStoreTest from crypto-create branch

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Latest changes on BesuAdapter
Renamed BesuStateAdapter to HederaWorldUpdater
Merged changes to Account and AccountState from crypto-create branch

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Add getAccount to HederaWorldUpdater.updater

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Introduce `CreateEvmProcessor` and `CallEvmProcessor` (#486)

* #417: Contract Create Transition logic refactoring

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* #417: Contract Create Transition logic refactoring

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* #417: Contract Create transition logic refactoring

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fix(evm-processor): Add base evm processor and CallEvmTxProcessor

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(build): Resolve build errors

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(contract-create): Integrate CreateEvmTxProcessor in ContractCreateTransitionLogic

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(remove-besu-adapter): Remove any unnecessary logic left from the Besu Adapter

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(header): Override Block Header properties

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* refactor: Remove commented code

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* annotate code changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Copied EthJ storage models to Hedera (#488)

* Copied EthJ storage models to Hedera
Changed types in ContractsModule to bind to Hedera types
Commented out SolidityExecutor and SmartContractRequestHandler logic
Fixed build - commented out some tests
Implementation of HederaWorldUpdater methods

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix(formatting): Change formatting to tabs

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Ref/update hedera world (#493)

* Copied EthJ storage models to Hedera
Changed types in ContractsModule to bind to Hedera types
Commented out SolidityExecutor and SmartContractRequestHandler logic
Fixed build - commented out some tests
Implementation of HederaWorldUpdater methods

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix(formatting): Change formatting to tabs

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(world-state): initial commit for the world state refactoring

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(build)

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* save progress

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(get): Implement HederaWorldState get for account

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* HederaWorldStateAccount

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: Remove EvmTransaction.java; return TransactionProcessingResult

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feature: externalise almost all data in transaction records

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* merge(master): merge from hedera master

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Feat/use old impl of world state (#497)

* refactor of world updaters
implementation of commit methods of Updaters
initial implementation of persist method in HederaWorldState

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* up tuweni version to 2.0.0

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* merge(latest): Get latest changes from Danno's branch

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(initial): Use previous impl of world state

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* test: Add e2e test use

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: remove unnecessary changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(build)

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(reclaim): count provisional Ids when allocating new contractId

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* refactor: remove unnecessary file changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* remove dependency on Besu Core

Remove the two classes that were outside the EVM library.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Custom Build EVM

Custom build the EVM rathe than using London preset.
This allows us to make CREATE2 an invalid op.
Also, turn off requires code deposit.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* cleanup

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* successful runthrough

* Add CryptoCreate and CryptoCall back into default is success
* uncomment some Transaction runner code
formatting

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Removed copied classes from ethJ (#499)

* Removed copied classes from ethJ
Fixed imports to work with EthJ classes
DWUtil static methods for converting DataWord <> UInt256


Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Change besu dependency version to 21.7.4 to fix

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* refactor: remove unnecessary file changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(license+java-doc): Add license and java doc to util file

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Fix NPE when retrieving null value from contract storage
Added SimpleUpdate solidity contract and test case in ContractCallSuite

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix(deployment-bugs): Revert with insufficient gas once gas is consumed; Simplify externalisation (#510)

* fix(deployment-bugs): Revert with insufficient gas once gas is consumed

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* ref(tx-processing-result): Simplify the externalisation of evm tx; fix OK status

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* comment(todo): Add TODO comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(license)

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Signed-off-by: Daniel Daniel.K.Ivanov95@gmail.com

* clear storage implementation in HederaWorldState (#512)

* clear storage implementation in HederaWorldState
added e2e test for simple update + selfdestruct

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* PR comments fix

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* PR fixes revert of unnecessary changes

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Removed provisionalStorageUpdates
Removed clearStorage method

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* remove unnecessary TODO

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: resolve load account issue

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Feature: Transaction Record Externalisation (#519)

* fix(externalisation): Externalise logs, createdContracts & transfer list; Uses the legacy implementation to capture the transfer list

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(issues): Fix NPE and non-changing balances

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(e2e): Add e2e tests for logs, data and topics

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* ref(remove): Remove unnecessary changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* note(todo): Add more clarification to todo comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* note: edit solidity comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e: call opcode contract test (#518)

* Add CallingContract test to ContractCallSuite

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>
Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* Feature/global opcodes (#516)

* #503: Verify global dynamic props

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* added contract call suite

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fix(externalisation): Externalise logs, createdContracts & transfer list; Uses the legacy implementation to capture the transfer list

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(issues): Fix NPE and non-changing balances

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(e2e): Add e2e tests for logs, data and topics

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* ref(remove): Remove unnecessary changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* note(todo): Add more clarification to todo comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* note: edit solidity comment

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* refactor(e2e): Refactor e2e tests and fix basefee INVALID_OPERATION

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(import)

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(issues): Fix failing e2e test

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Revert Account model and Store changes (#530)

* refactor(undo): Remove unnecessary changes

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* refactor(imports): Reorg imports

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat: besu ContractCallLocal (#525)

* Updated `ContractCallLocal` to Besu
* Updated e2e Tests
* Updated Unit Tests

Signed-off-by: failfmi <oscurocalma@gmail.com>

* resolve(conflicts): Resolve conflicts from Hedera master

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Feat: Hedera Custom Create Operation + SelfDestructs (#529)

* Hedera Create WIP

Work in progress for create, depends on
hyperledger/besu#2804

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* fees and value

* Send the value to the receiver
* report the fees used in the transaction record

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* fix(fee): Append the evm fee instead of setting it directly on top of hedera fees

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* ref(renames): Fix naming typos

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Move to StackedUpdater sublass for creates

Move away from ContextVariables to StackedUpdaters. The need to rollback
failed creates on a per MessageFrame basis was the main reason for the
change of approach.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Simplify

Remove unneeded logic from HederaCreateOperation, un-plumb
EntityIdSource passing.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* HederaCreateOperation gas pricing

Update HederaCreateOperation to sue the gas pricing formula of the
EthereumJ implementation.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* EET tests for EVM Opcodes (hashgraph#2130)

* Opcode exercising contracts

EET tests to exercise the opcodes of the EVM. The contracts are tuned
for 6KiB transaction size limit and 300K gas limit.

There are some stub classes waiting for callable contract setup.

Because of the current EVM and storage
the current exec time timeout is set to 10 sec.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>
(cherry picked from commit f29d649)

* Don't permit negative gas cost.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* create and delete w/in a transaction

Wehn you both create and delete a contract within a TX we need to make
sure the account gets created and immediately marked as deleted.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* move update method

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Don't deduct value in tx processor

Only deduct the gasLimit*gasPrice, the value is transfered in the Besu
EVM library.  But do check for upfront cost failures with value.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Self Destruct Tests

Self destruct tests work, but multipleSelfDestructsAreSafe will require
a change tot he per-tx gas limit to 345,000.  Perhaps the hederaCreate
gas charging logic is wrong?

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* fix(merge-issues): Finalise merge from feature/ethereumj-besu-swap

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Contract create op test suite

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* create account gerenration

Change to stack climbing instead of adding the EntityIdSource to every
updater.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* resolve(licenses): Add missing licenses

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(selfdestruct): Get instead of pop the beneficiary address

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(nits): Extract variable in transition logic; remove unused imports

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(issue): Override Updater in HederaStackedWorldStateUpdater to resolve stacked updater class cast exception

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* resolve(bug): Call the WorldState directly instead of going through the stack. Sponsor map was polluted otherwise

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* feat(e2e): Add e2e tests for HederaCreateOpcode

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* nits: Change package name; fix formatting

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Danno Ferrin <danno.ferrin@hedera.com>
Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>
Co-authored-by: Danno Ferrin <danno.ferrin@shemnon.com>

* feat(evm-opcodes): revert when accessing a non-existing account (#541)

* Revert EVM opcodes (Balance, Ext-*, Call, CallCode, DelegateCall, StaticCall) when trying to access a non-existing account
* Fix `getCodeHash`
* Add E2E

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* #526: Added unit tests for Call and Create Transition Logics (#534)

* #526: Added unit tests for Call and Create Transition Logics

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* rework mocking in tests

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fix(happy-path): Enhance happy path as example

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* added new tests

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* test: fix jcontract id key verification

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Added new test for constructor parameters

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Delete TransactionProcessingResultTest.java

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Revert "Delete TransactionProcessingResultTest.java"

This reverts commit d9ed9fa.

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fix(comments): Delete file; fix typos

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>
Co-authored-by: failfmi <oscurocalma@gmail.com>

* Log Gas Calculations (#540)

Calculate the log gas cost as done in 0.18.0. Gas costs in tests come
from 0.18.0 executions

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* test: from call/callLocal/createEvmTxProcessor (#544)


Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Update Besu Version (#558)

Update Besu version to 21.10.0-RC1

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Fix Copy-paste error (#559)

Migration to the released Besu RC introduced a copy-paste error.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Refactored HederaWorldState to persist objects through ServicesReposi… (#543)

* Refactored HederaWorldState to persist objects through ServicesRepositoryRoot

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* PR comments

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Fix issue with non-existing account

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Added E2E tests for contract, transferring to account configured with receiverSigRequired true

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* remove unnecessary changes

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: proper set of contract merkle fields and fix null pointer in hedera op

Signed-off-by: failfmi <oscurocalma@gmail.com>

* e2e: test for nested contract creations

Signed-off-by: failfmi <oscurocalma@gmail.com>

* E2E: Verify rest of the Contract Service operations are functional (#554)

Signed-off-by: Daniel <Daniel.K.Ivanov95@gmail.com>

* e2e(contract-delete): Verify Contract Delete is working; Add e2e tests

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-get-bytecode): Add E2E tests for GetBytecode

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-get-info): Add E2E tests for GetContractInfo

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-update): Add E2E tests for ContractUpdate op

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix: proper set fields of child contracts

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style: fix typo; flip check

Signed-off-by: failfmi <oscurocalma@gmail.com>

* wip: delete contract

Signed-off-by: failfmi <oscurocalma@gmail.com>

* fix: similar to legacy deletion

refactor: account balance adjustment on commit

Signed-off-by: failfmi <oscurocalma@gmail.com>

* feat(contracts): create deleted contracts and customize already deleted ones

Signed-off-by: failfmi <oscurocalma@gmail.com>

* e2e: move tests for inheritance and selfdesetruct to create suite; add asserts

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>
Co-authored-by: Daniel <Daniel.K.Ivanov95@gmail.com>

* feat(contracts): signature verification on recipients that require it (#549)

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* NPE in EVM Opcodes that require the usage of an expiry (#561)

* Refactored HederaWorldState to persist objects through ServicesRepositoryRoot

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* PR comments

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Fix issue with non-existing account

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Added E2E tests for contract, transferring to account configured with receiverSigRequired true

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* remove unnecessary changes

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* fix: proper set of contract merkle fields and fix null pointer in hedera op

Signed-off-by: failfmi <oscurocalma@gmail.com>

* e2e: test for nested contract creations

Signed-off-by: failfmi <oscurocalma@gmail.com>

* E2E: Verify rest of the Contract Service operations are functional (#554)

* e2e(contract-delete): Verify Contract Delete is working; Add e2e tests

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-get-bytecode): Add E2E tests for GetBytecode

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-get-info): Add E2E tests for GetContractInfo

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* e2e(contract-update): Add E2E tests for ContractUpdate op

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix: proper set fields of child contracts

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style: fix typo; flip check

Signed-off-by: failfmi <oscurocalma@gmail.com>

* wip: delete contract

Signed-off-by: failfmi <oscurocalma@gmail.com>

* fix: similar to legacy deletion

refactor: account balance adjustment on commit
Signed-off-by: failfmi <oscurocalma@gmail.com>

* NPE in EVM Opcodes that require the usage of an expiry

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Change Optional<Long> to long in CreateEvmTxProcessor

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

Co-authored-by: failfmi <oscurocalma@gmail.com>
Co-authored-by: Daniel <Daniel.K.Ivanov95@gmail.com>

* merge(hedera-master): Fix import path from hedera-master

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Added TransactionProcessingTest (#564)

* Added TransactionProcessingTest

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* removed empty lines

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fixed PR comment

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* fixed PR comment

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Gas calculator for 0.19.0 (#547)

* Gas calculator for 0.18.0 values

A gas calculator that matches the behavior of the 0.18.0 smart contract
service.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Gas calculator for 0.19.0 values

0.19.0 gas calculator
* London prices, except when legacy 0.18.0 prices are higher.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* license

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Added logic for expiry extraction from frame
Changed getStackItem(0) to popStackItem in HederaExtCodeHashOperation

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Check recipientAccount for expiry first

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* license: add missing

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Inject operations and GasCalculator (#565)

Move to providing operations and gas calculators via injection to the
EvmTxProcessors. This will reduce the amount of unneded values passed
through for constructors.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Unit tests for `*Call` operations (#557)

* tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* address pr comments + more tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* enhance tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* add successful execution tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* licenses

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* address PR comments

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* fix old tests after changes + coverage for new lines

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* HederaWorldState tests

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* address comments

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* test(hswstu): getHederaAccount

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* Unit Tests: Coverage Increase (#560)

* Additional Unit Tests for Coverage

Signed-off-by: Georgi Yazovaliyski <georgi.yazovaliiski@gmail.com>

* Added GasCalculatorHedera_0_18 tests (#571)

Signed-off-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>

* Unit tests for *ExtCode operations (#563)

* add unit tests for coverage

Signed-off-by: alshapi <alexander.shapkarov@limechain.tech>

* increase ContextOptionValidator coverage

Signed-off-by: alshapi <alexander.shapkarov@limechain.tech>

* add unit tests, resolve PR comments

Signed-off-by: alshapi <alexander.shapkarov@limechain.tech>

* Remove Legacy EthereumJ Code (#575)

* delete(dead-code): Remove SolidityLifecycle.java & SolidityExecutor.java; clear unused methods from SmartContractRequestHandler

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* move(packages): Move process package to old execution package

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* move(unit-test): Move TxnAwareSoliditySigsVerifierTest to the correct package

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(contract-processor): correct response codes upon fail before execution (#577)

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Return ResponseCode INSUFFICIENT_GAS when exceptional halt reason is INSUFFICIENT_GAS (#578)

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Revise SStore gas price (#573)

Revise the SStore gas price to use the London prices for existing slots.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* Fix breakes found in perf tests (#574)

* Fix breakes found in perf tests

* create cost float breaks CREATE and SELFDESTRUCT, so disable them
* creating and then deleting a contract in a call operation results in a
  stack trace attempting to customize a deleted account.
* Expose more fail reasons through the receipt: Out of Gas, Revert, and
  local call modification.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Stand alon quick delete test

Stand alone test that validates deleted contracts are not customized.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* fix: use customizePotentiallyDeleted

Signed-off-by: failfmi <oscurocalma@gmail.com>

* e2e: fix expected status on execution

Signed-off-by: failfmi <oscurocalma@gmail.com>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* Return Status ERROR_DECODING_BYTESTRING when trying to create contrac… (#576)

* Return Status ERROR_DECODING_BYTESTRING when trying to create contract with invalid bytecode


Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* added unit test for invalid bytecode response code

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Changed unit test name to throwsErrorOnInvalidBytecode

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Docs: Add JavaDocs to new classes/interfaces/methods (#579)

* delete(dead-code): Remove SolidityLifecycle.java & SolidityExecutor.java; clear unused methods from SmartContractRequestHandler

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* move(packages): Move process package to old execution package

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* move(unit-test): Move TxnAwareSoliditySigsVerifierTest to the correct package

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* add(java-docs): Add javadocs part 1

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* add(java-docs): Add java docs part 2

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(unit-test): Fix failing unit test

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Re-order maven repositories

Placing the hyperledger repository after maven central results in
noisy errors.  Moving it before removes them.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* besu swap sonar fixes (#580)

* Fix Optional.get() issue.
   Sonar identified a possible null get on an optional.  But the bigger
   issue is that the code is duplicated and partly wrong in utility.
   Centralize the function and fix the sonar issue.
* Sonar doesn't like underscores in names.
* Factor out vars in some lambda exception tests
* expected/actual order in asserts
* use assertEquals when relevant.
* make use of NumBytes
* Utility Class Constructor
* collapse if
* Abstract class constructor visibility
* Don't directly duplicate a method.
* remove magic constant
* remove unused private field
* make constants final
* remove imports
* inline variable
* variable name

* javadoc

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* public test classes

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Fix NewOpInConstructorSuite

* Ensure that ContractIDs are always in-order
* update test to reflect that the contract created by the transaction is
  also in the created contract IDs

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Check for out of gas in SStore

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* Unit tests for code coverage increase (#566)

* fixes code cov for account model

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes code cov for id model

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes code cov for TransactionRecordService

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes code cov for AccountStore

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes unused imports

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes code coverage gor HederaBalanceOperation

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* adds new test scenario

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* reflects reviewers comments

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* fixes failing unit test and code coverage

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* cleans empty imports

Signed-off-by: Ventsislav Stoevski <cordonahcodecraft@gmail.com>

* Refactored E2E tests related to Contracts (#572)

* Refactored E2E tests related to Contracts part 1
- more tests remain to be refactored
- it remains for tests to be added to SuiteRunner
- this commit adds 2 tests to CreateSuite that are currently failing, will discuss them and fix logic or test expectations

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Refactored E2E tests related to Contracts part 2
- more tests remain to be refactored
- it remains for tests to be added to SuiteRunner


Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* e2e(contracts): format and update perf tests

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Refactor e2e part 3


Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* E2E refactoring:
added contract tests to SuiteRunner
removed system.out.printlns

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

Co-authored-by: failfmi <oscurocalma@gmail.com>

* fix(code-smell): Remove public modifier

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* Coverage: Additional Unit Tests for ci-enabled-2208 (#582)

* CallCode, OperationUtil and SStoreOperation Unit Tests

Signed-off-by: Georgi Yazovaliyski <georgi.yazovaliiski@gmail.com>

* MerkleEntityIdUtilsTest

Signed-off-by: Georgi Yazovaliyski <georgi.yazovaliiski@gmail.com>

* test(contracts): additional coverage (#583)

* Format code
* `CreateEvmTxProcessor`
* `HederaWorldState`
* `HederaExtCodeSize`
* `HederaExtCodeCopy`
* `AccountStore`

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Enforce Storage Limit (#581)

* Enorce Storage Limit

Enforce the limit to allowed slot storage. Restore behavior in
ChildStorage test that validates the out of storage space condition
results in a contract failure.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* undo tpyo

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* setup and cleanup app properties

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* feat(unit-tests): Add unit tests for HederaWorldState

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(code-smell): Fix sonar code smell

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(failing-tests): Fix failing e2e tests

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(failing-tests): Fix failing e2e test

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* fix(bug): Clear provisional creations on MAX_CONTRACT_STORAGE_EXCEEDED

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* E2E tests refactoring
removed Result Size Limit Exceeded test
updated SStoreSuite valuesMatch to not expect precheck failure and actually verify contract values

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

Co-authored-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>
Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Feature: Resolve TODOs (#592)

* feat(bloom): Add bloom per log

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* comment(remove): Remove already completed TODO

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* E2E tests refactoring (#593)

* E2E tests refactoring
fixed fridayThe13th spec - changes in method names, sigs, moved to update contract suite
fixed issue with gas refunds externalization to TX record in EvmTxProcessor
fixed smart contract fail first to expect revert, not execution exception
refactored txRecordsContainValidTransfers() in RecordsSuite

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Small refactor, removed second gasUsedByTransaction assignment

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* e2e(contract-call-local): insufficientfee set payer different than default (#594)

Signed-off-by: failfmi <oscurocalma@gmail.com>

* Feat/sbh refunds (#595)

* SBH gas refunds logic moved to updaters and TX records externalization fix

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Updated expected status for non-payable constructor call with balance
Revert is the corect behavior

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Unit tests for sbh refunds

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Changed Gas.of(0) to Gas.ZERO
Removed empty line

Signed-off-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>

* Refactor(contracts): extract duplicate code in operations (#596)

* refactor(contracts): extract duplicate code in operations

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style(contract-delegate-call-op): arguments enlistment

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style(contract-delegate-call-op): unnecessary usage of paragraphs in inline docs

Signed-off-by: failfmi <oscurocalma@gmail.com>

* fix: static class private ctor throwing

Signed-off-by: failfmi <oscurocalma@gmail.com>

* test: npe mocks (#597)

Signed-off-by: failfmi <oscurocalma@gmail.com>

* refactor(contracts): gas calculators (#598)

Signed-off-by: failfmi <oscurocalma@gmail.com>

* style: unnecessary constants

Signed-off-by: failfmi <oscurocalma@gmail.com>

* check: suppress unused

Signed-off-by: failfmi <oscurocalma@gmail.com>

* delete(file): Remove empty file

Signed-off-by: Daniel Ivanov <daniel.k.ivanov95@gmail.com>

* pom cleanup

add references for tuweni and besu-native versions.

Signed-off-by: Danno Ferrin <danno.ferrin@hedera.com>

* OZ ERC - 1155 contract interactions (#605)

* initial commit

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* some assertions

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* use `updateLargeFile` instead of multiple appends

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* bytecode for ERC-1155

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* add contract as .sol as well

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* address comments

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* use savingSnapshot

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* revert unnecessary changes

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* revert unnecessary changes

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* address comments

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* remove obsolete accounts

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

* optimize bytecode

Signed-off-by: Yoan Sredkov <yoansredkov@gmail.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: failfmi <oscurocalma@gmail.com>
Co-authored-by: Daniel <Daniel.K.Ivanov95@gmail.com>
Co-authored-by: Stoyan Panayotov <stoyan.panayotov@limechain.tech>
Co-authored-by: Rusi Boyadjiev <rusiboyadjiev@gmail.com>
Co-authored-by: stoqnkpL <85231995+stoqnkpL@users.noreply.github.com>
Co-authored-by: Danno Ferrin <danno.ferrin@hedera.com>
Co-authored-by: Danno Ferrin <danno.ferrin@shemnon.com>
Co-authored-by: Georgi Yazovaliyski <georgi.yazovaliiski@gmail.com>
Co-authored-by: alshapi <84335193+alshapi@users.noreply.github.com>
Co-authored-by: CordonaCodeCraft <77110630+CordonaCodeCraft@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file java Pull requests that update Java code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant