The affected sources have drifted from import organization conventions
since the shared IDEA configuration was added in commit a155518. There
are several ways to avoid this in the future:
1. Run Code->Optimize Imports manually prior to making any commit (or
use the shortcut key).
2. Select 'Optimize Imports on the Fly' from
Preferences->Editor->General->Auto Import.
If IDEA is not being used, simply follow convention.
Trailing whitespace has crept into the sources affected by this commit
since the original stripping in commit e5fcf5b. Editors and IDEs should
be configured to strip trailing whitespace on save, or in any case
trailing whitespace should be manually stripped prior to commit/push.
Fix syntax for @author and @since tags, for the same reasons detailed in
commits 7d2cf7f and c38907b, respectively.
Recommendations:
- Disable automatic Javadoc templates completely within IDEA.
- Add Javadoc by hand when new classes are created.
- Follow the proper conventions for `@author` and `@since` tags.
- Do not add @since tags in src/test classes. Javadoc for these types
will never be generated or published, and developers can query
creation date metadata (more accurately) from git for these classes.
Note that in the future--particularly once ethereumj has its own
independent versioning--it will be desirable to use `@since` tags with
version values (for semantic versioning clarity, backward compatibility
analysis and communication, etc). Until then, the `@since DD.MM.YY`
approach will suffice.
In order to improve performance of certain VM functionality
Ethereum introduce plug-in mechanism called pre-compiled
contracts.
Supported functionality:
ecRecover - (addr: 01) - recover address out of hash, v, r, s - parameters.
sha256 - (addr: 02) - calculate hash value with sha256 algorithm
ripempd160 - (addr:03) - calculate hash value with repimpd algorithm
This is in order to accommodate GitHubStateTest#stSystemOperationsTest,
which tests Ethereum's rules around maximum call stack depth, and thus
requires increasing Java's own defaults.
If this option is not set, this test results in a
StackOverflowException. Note that the setting is applied to Gradle's
`test` closure as opposed to a the global `JAVA_OPTS` environment
variable, because Gradle spawns a new process for executing tests.