* Add support for configuring TLS protocols and ciphersuites
Two new command line options
--rpc-http-tls-protocols
--rpc-http-tls-ciphersuites
New test cases added for valid and invalid TLS protocols and ciphersuites
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
* Fixing tests and cleaning up the code
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
* Adding changelog note
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
* Making TLSv1.3 part of the default
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: cusden <ian.cusden@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* Include invalid value in Enode error message.
Makes it much easier for users to identify their mistake if the CLI argument after `--bootnodes <some-valid-enode>` has a typo. PicoCLI will treat any unrecognised option as another bootnode so it's very confusing to get an invalid enode message when the enode is fine and it's the next argument that's incorrect.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* CLI option name change
Signed-off-by: Frank Li <b439988l@gmail.com>
* refactor privacyparameters.java and add deprecation warning
Signed-off-by: Frank Li <b439988l@gmail.com>
* more refactoring
Signed-off-by: Frank Li <b439988l@gmail.com>
* add to everything.toml
Signed-off-by: Frank Li <b439988l@gmail.com>
* bugs
Signed-off-by: Frank Li <b439988l@gmail.com>
* more missing variable names
Signed-off-by: Frank Li <b439988l@gmail.com>
* more classes
Signed-off-by: Frank Li <b439988l@gmail.com>
* more classes
Signed-off-by: Frank Li <b439988l@gmail.com>
* fix compile error
Signed-off-by: Frank Li <b439988l@gmail.com>
* add new test to invalidate passing both commands
Signed-off-by: Frank Li <b439988l@gmail.com>
* more refactoring + more tests
Signed-off-by: Frank Li <b439988l@gmail.com>
* new batch
Signed-off-by: Frank Li <b439988l@gmail.com>
* final batch?
Signed-off-by: Frank Li <b439988l@gmail.com>
* failing unit test
Signed-off-by: Frank Li <b439988l@gmail.com>
* revert incorrect refactoring back to onchain
Signed-off-by: Frank Li <b439988l@gmail.com>
* fix unit test
Signed-off-by: Frank Li <b439988l@gmail.com>
* comment
Signed-off-by: Frank Li <b439988l@gmail.com>
* comment
Signed-off-by: Frank Li <b439988l@gmail.com>
* support both privx methods
Signed-off-by: Frank Li <b439988l@gmail.com>
* add to changelog
Signed-off-by: Frank Li <b439988l@gmail.com>
* address comment
Signed-off-by: Frank Li <b439988l@gmail.com>
* add plugin privacy
Signed-off-by: Frank Li <b439988l@gmail.com>
Adding support of the NO_COLOR environment variable as described in
the [NO_COLOR](https://no-color.org/) standard.
The new behaviour looks like this:
1) Both NO_COLOR is not set and color-enabled options is not set => colors
will be enabled (by default we have colors on)
2) NO_COLOR is not set but color-enabled option is set to false =>
colors will be disabled (we can disable colors using an option)
3) NO_COLOR is set to any value and color-enabled option is not used =>
colors will be disabled (we can disable colors using an environment
variable this is new!)
4) NO_COLOR is set to any value but color-enabled option is set to true
=> colors will be enabled (an option has precedence over the environment
variable)
Signed-off-by: Jiri Peinlich <jiri.peinlich@gmail.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* add unit test for JWTAuthOptionsFactory
Signed-off-by: Frank Li <b439988l@gmail.com>
* additional test for invalid algo
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Think about how to handle the invalid algorithm exception
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Handle exception at BesuCommand level, remove test
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Acceptance Tests
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Fix obvios test run errors
Signed-off-by: Frank Li <b439988l@gmail.com>
* WIP || Break long line of string
Signed-off-by: Frank Li <b439988l@gmail.com>
* Acceptance tests working
Signed-off-by: Frank Li <b439988l@gmail.com>
* remove accidentally committed file
Signed-off-by: Frank Li <b439988l@gmail.com>
* fix failing tests
Signed-off-by: Frank Li <b439988l@gmail.com>
* changelog entry
Signed-off-by: Frank Li <b439988l@gmail.com>
* fixes based on CR
Signed-off-by: Frank Li <b439988l@gmail.com>
* add missed acceptance test stuff
Signed-off-by: Frank Li <b439988l@gmail.com>
* use enum for CLI arg
Signed-off-by: Frank Li <b439988l@gmail.com>
* two seperate CLI args for ws and http
Signed-off-by: Frank Li <b439988l@gmail.com>
* add file header
Signed-off-by: Frank Li <b439988l@gmail.com>
* use JwtAlgorithm class + fix broken unit test
Signed-off-by: Frank Li <b439988l@gmail.com>
* add fromString
Signed-off-by: Frank Li <b439988l@gmail.com>
* experimental flag || changelog update || CLI option dependency
Signed-off-by: Frank Li <b439988l@gmail.com>
* hide exprimental options
Signed-off-by: Frank Li <b439988l@gmail.com>
* remove experimental flag
Signed-off-by: Frank Li <b439988l@gmail.com>
* change experimental options in toml
Signed-off-by: Frank Li <b439988l@gmail.com>
* add download link for 21.10.1
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* corrected link and hash
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* Remove benchmark from workflow (#2827)
Remove benchmark from workflow
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Signed-off-by: Min Song <minsong@splunk.com>
* Added subcommand for validate-config
Signed-off-by: Min Song <ms2597@cornell.edu>
Signed-off-by: Min Song <minsong@splunk.com>
* formatting
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* use the main TomlConfigFile provider
* inject commandLine
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Co-authored-by: Antony Denyer <git@antonydenyer.co.uk>
Co-authored-by: Min Song <minsong@splunk.com>
Co-authored-by: Min Song <ms2597@cornell.edu>
* 21.10.2-SNAPSHOT
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
* moved things to next release
Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
* Only add --bootnodes if there are some nodes set (#1632)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* Allow to configure P2P port (#1632)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* Add discovery options to genesis file (#1632)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* [2950] Support websocket binary frames
Signed-off-by: Frank Li <b439988l@gmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
More EVM Speed Improvements aimed at improving MSTORE times.
* Move Memory from raw bytes to byte array
* Add calls for right packed partial value copy
* Remove `incrementProgramCounter` and move data into OperationResult
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Before we set the account balance to maximum allowed, but this had
side effects in smart contracts.
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Always copy create code
Always copy the create code. Since it is memory bytes it is subject to
re-writing by the caller and all data would otherwise have to be treated
as mutable.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
This is a re-implementation of the initial POC done in https://github.com/PegaSysEng/pantheon/pull/1909/ by Danno Ferrin <danno.ferrin@gmail.com>
* Only enable plugin rpc api when enabled on --rpc-http-api or --rpc-ws-apis
* Only allow new rpc endpoints to be defined
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
* Extract private key file option to mixin (#536)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* Method rename (#536)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* Use keypair to resolve node key in public-key subcommands (#536)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* Refactor common behavior for public key subcommands (#536)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* Write test private key to default location (#536)
This is to rely on actual file system resolution for the test context
Signed-off-by: Diego López León <dieguitoll@gmail.com>
* Add support for custom private key file on public-key subcommands (#536)
Signed-off-by: Diego López León <dieguitoll@gmail.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
Private accounts are not able to change the state of public accounts. When transferValue is called in MessageCallProcessor it attempts to get a mutable account. This is only required when a transfer of value is happening. If a transfer of value from a private contract to a public contract is attempted an error will be thrown.
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
Migrate ExceptionalHaltReason to an interface from an enum. The enum
made it difficult for downstream implementations to add custom reasons
as to why the EVM has halted. Switching to an interface is needed
because enums are final and not extensible.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Allow the use of BESU_CONFIG_FILE env var to specify config TOML
* Throw an exception when BESU_CONFIG_FILE and --config-file specified
* Switch ExecutionException for ParameterException
Signed-off-by: Antony Denyer <git@antonydenyer.co.uk>
Broad reaching optimizations to speed up EVM calculations
* Generally speaking, use int and long where it is more appropriate than UInt256 (memory indexes mostly)
* Move the internal stack to Bytes from UInt256
* Re-work the flow of many operations to account for the above
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Move EVM to a standalone module
Move the EVM classes to a standalone module. This is mostly moves but
some API re-resign to peel out some features not essential to the EVM,
such as privacy support and ties to the data storage subsystem.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Move entires that were mistakenly added to 21.7.3 lists to 21.7.4.
Add entry for ETC gas calculator bug.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Gradle 7.2 upgrade / Java 17 Build Support
* Upgrade to Gradle 7.2, which supports Java 17
* Regenerate gradlew script and wrapper (as recommended)
* Suppress the removal warning for `AccessController` for now
* Update the JMH version to get rid of Gradle deprecation warning
* Add spotless `targetExcludes` so it won't re-format submodules
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* allow onchain privacy group proxy calls under group lock
Prior to this commit, the only allowed transactions in locked onchain
privacy groups were those making the addParticipants call to *any*
contract--not just the proxy. This commit ensures that:
- while locked, only the group management proxy can be called
- while locked, all functions of the management proxy can be called
Corollary, this commit allows unlocking a group using unlock instead
of implicitely unlocking it via addParticipants. This fixes#2693.
Signed-off-by: Taccat Isid <taccatisid@protonmail.com>
* add acceptance test asserting that privacy groups can be unlocked
Signed-off-by: Taccat Isid <taccatisid@protonmail.com>
Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
When the prometheus service restarts, connections can be left open and never closed. These connections should close after an idle timeout to avoid causing issues with running out of ports.
Signed-off-by: Paul Harris <paul.harris@consensys.net>
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>