350 Commits

Author SHA1 Message Date
Lucas Saldanha
5230af51a2 Fix admin_nodeInfo with optional values (#3082)
- Add jackson-jdk8 module to handle Optional (de)serialization
- Ignore empty optional values in asMap method

Signed-off-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
2021-11-18 11:10:52 +10:00
Lucas Saldanha
8bd41fbb20 Create ConsensusScheduleBesuControllerBuilder with no migration capabilities (#3048)
* Initial implementation of ConsensusScheduleBesuControllerBuilder

Signed-off-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
2021-11-16 10:18:40 +01:00
Simon Dudley
7952452aa0 3038 clean up (#3049)
* Minimal cleanup: deleting rendundant code from ForkingValidatorProvider and associated tests

TODO refactor

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* Refactor: Remove now redundant lambdas and helper method in ForkingValidatorProvider

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* Refactor: Inline variables

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
2021-11-15 08:06:00 +10:00
Diego López León
ae2563e334 [1632] Add discovery options to genesis file (#2944)
* 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>
2021-11-09 16:14:31 +10:00
Lucas Saldanha
d8c9f21f8e JsonUtil.normalizeKeys should handle ArrayNodes (#3018)
* JsonUtil.normalizeKeys should handle ArrayNodes

Signed-off-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
2021-11-09 14:58:44 +10:00
garyschulte
93b556aa9d Feature/arrow glacier (#2978)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2021-10-29 22:07:27 -07:00
garyschulte
65cb5f6a9c iterative merge: Initial plumbing for merge subproject (#2968)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2021-10-28 12:13:59 -07:00
taccatisid
9deb5ea5d2 reduce use of global quorum config (#2805)
* reduce use of global quorum config

The use of the org.hyperledger.besu.config.GoQuorumOptions static
variable is ugly. In particular does changing its value during tests
cause flaky tests. To ameliorate the issue this commit
- removes unused code that did rely on GoQuorumOptions
- removes access to GoQuorumOptions deep in the call stack by looking
  it up in the transaction validator instead
- change the TransactionDecoder to explicitly take the
  goQuorumCompatbility flag as an argument where access to the
  transaction validator is not easy
- rewriting all tests that did change the GoQuorumOptions by mocking
  the option change instead.

Signed-off-by: Taccat Isid <taccatisid@protonmail.com>

* protect access to GoQuorum flag by getter and write once setter

Signed-off-by: Taccat Isid <taccatisid@protonmail.com>

* deduce goQuorum flag from privacyOptions

Signed-off-by: Taccat Isid <taccatisid@protonmail.com>

* remove unnecessary mocks from TransactionPoolTest

Signed-off-by: Taccat Isid <taccatisid@protonmail.com>

Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2021-10-22 10:06:12 +10:00
garyschulte
e3bf78cc08 Add Sepolia configs and address baseFee at genesis case (#2933)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2021-10-21 08:24:19 -07:00
Lucas Saldanha
6be1ed55d0 Added log for validator selection mode transition (#2909)
* Added log for validator selection mode transition

Signed-off-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
2021-10-18 13:22:39 +10:00
Jason Frame
91ef16d378 Qbft validator selection was incorrectly being applied to non validator selection mode transitions (#2874)
Signed-off-by: Jason Frame <jasonwframe@gmail.com>
2021-10-14 11:33:06 +10:00
Jason Frame
3996da8108 Common Bft forks schedule (#2862)
Signed-off-by: Jason Frame <jasonwframe@gmail.com>
2021-10-13 12:59:03 +10:00
Usman Saleem
93013e9324 Add QBFT support for evmtool (#2807)
* qbft support in evmtool

Signed-off-by: Usman Saleem <usman@usmans.info>
2021-10-08 15:51:40 +10:00
Jason Frame
a2fd2147cd Allow QBFT to switch from the existing block header validator selection mechanism to using a smart contract (#2655)
Signed-off-by: Jason Frame <jasonwframe@gmail.com>
2021-09-13 14:03:17 +10:00
Sally MacFarlane
e409e2cafb [MINOR] Typos (#2721)
* typo

Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>

* synchronisation

Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>

* typo

Signed-off-by: Sally MacFarlane <sally.macfarlane@consensys.net>

Co-authored-by: mark-terry <36909937+mark-terry@users.noreply.github.com>
2021-09-07 17:41:17 +10:00
garyschulte
b9e1ce05c0 Feature/1559 cleanup remove experimentaleip (#2586)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2021-08-06 13:07:42 -06:00
Jason Frame
1b45e22599 Qbft validator contract config (#2602)
Signed-off-by: Jason Frame <jasonwframe@gmail.com>
2021-08-02 11:54:59 +10:00
matkt
0a04d84541 EIP1559 Cleanup : remove experimental flags (#2577)
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

Co-authored-by: garyschulte <garyschulte@gmail.com>
2021-07-28 04:18:19 +10:00
Antoine Toulme
11f5cfb022 Upgrade to Apache Tuweni 2.0 (#2376)
* Upgrade to Apache Tuweni 2.0

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

* Remove intermediate repository

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

* Remove all occurrences of toBytes

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

* Migrate to tuweni-bytes

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

* add changelog

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

* correct reference tests

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

* Initial API changes

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

* more changes

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

* Change APIs for VM ops

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

* Use constant UInt256.ONE

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

* Optimize a bit address <> word transformation

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

* spotless

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2021-07-17 00:15:27 +02:00
Justin Florentine
9fe760fd83 add london block for mainnet (#2504)
Signed-off-by: Justin Florentine <justin.florentine@consensys.net>
2021-07-08 01:58:59 +10:00
garyschulte
d345e70245 fix baseFee config in genesis config file (#2457)
Signed-off-by: garyschulte <garyschulte@gmail.com>

Co-authored-by: matkt <karim.t2am@gmail.com>
2021-06-22 08:38:18 -06:00
Justin Florentine
f2c869c6c5 added London blocknumbers for testnets (#2426)
Signed-off-by: Justin Florentine <justin.florentine@consensys.net>
2021-06-14 15:14:51 +01:00
Vladyslav Lupashevskyi
2b24f43a8a Implement transitions for IBFT2 block rewards (#1977)
Signed-off-by: Vladyslav Lupashevskyi <vlad@lupashevskyi.com>
Co-authored-by: Trent Mohay <trent.mohay@consensys.net>
2021-06-08 15:45:03 +10:00
matkt
9a43227587 Add calaveras testnet and remove baikal (#2343)
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>
2021-06-01 08:01:30 -07:00
Antoine Toulme
61bf0d9cad Magneto hard fork (#2315)
* Magneto hard fork

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

* address code review

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2021-05-22 20:19:04 -07:00
Danno Ferrin
844ea35670 Fork Block Testing (#2317)
* Fork Block Testing

Add more testing to ensure new fork blocks are configured properly.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-05-22 19:25:44 -06:00
matkt
fff119b43b Remove EIP1559 flag (#2277)
* remove gasTarget

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* add tests

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* update tests

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* update implementation and tests

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* fix review

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* spotlessApply

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* update code to bump gasLimit on fork block

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* update eip1559 implementation

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* clean code

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* remove EIP1559 flag

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

* fix pipeline

Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2021-05-17 17:50:26 -07:00
garyschulte
a9dcd5bb5a update json-rpc responses for 1559 (#2222)
* address assumption that if 1559 is enabled there is a london fork block config
fixes #2192

Signed-off-by: garyschulte <garyschulte@gmail.com>

* omit null chainId from transaction json serialization, and fix merge regression

Signed-off-by: garyschulte <garyschulte@gmail.com>

* update json-rpc responses for 1559, use current feeCap and gasPremium field names

Signed-off-by: garyschulte <garyschulte@gmail.com>

* add pr number to changelog

Signed-off-by: garyschulte <garyschulte@gmail.com>

* fix transaction decoder

Signed-off-by: Gary Schulte <garyschulte@gmail.com>

* rebase and fix merge conflicts

Signed-off-by: garyschulte <garyschulte@gmail.com>

* remove null chainId from json-rpc test fixtures

Signed-off-by: garyschulte <garyschulte@gmail.com>

* the great 1559 rename

Signed-off-by: garyschulte <garyschulte@gmail.com>

* re-remove gasTarget

Signed-off-by: garyschulte <garyschulte@gmail.com>

* add serialization tests for 1559 transaction fields

Signed-off-by: garyschulte <garyschulte@gmail.com>

* add json property ordering annotations to Transaction*Result and spotless

Signed-off-by: garyschulte <garyschulte@gmail.com>

* rebase on master, update error message feedback from Karim

Signed-off-by: garyschulte <garyschulte@gmail.com>
2021-05-17 09:40:16 -07:00
matkt
9b542bc7ec Add support for baikal testnet and london network upgrade (#2237)
Signed-off-by: Karim TAAM <karim.t2am@gmail.com>

Co-authored-by: garyschulte <garyschulte@gmail.com>
2021-05-07 09:11:52 -07:00
garyschulte
eaafaaaae8 Address 1559 config assumption (#2193)
* address assumption that if 1559 is enabled there is a london fork block config
fixes #2192

Signed-off-by: garyschulte <garyschulte@gmail.com>

* fix tests

Signed-off-by: garyschulte <garyschulte@gmail.com>

* spotless. bump

Signed-off-by: garyschulte <garyschulte@gmail.com>

Co-authored-by: Sally MacFarlane <sally.macfarlane@consensys.net>
2021-05-04 09:04:24 -07:00
Manoj Mamidyala
d2f8b85763 Change dev network chain ID to 1337 (#2162)
changed the dev network chain ID to 1337 instead of 2018 so that users can connect to Metamask "localhost 8545" network preset using default chainid settings

Signed-off-by: Manoj Mamidyala <manojmamidyala36@gmail.com>
2021-04-29 13:31:04 +10:00
garyschulte
089bfabd9c add support for 1559 in retesteth besu command (#2181)
Signed-off-by: garyschulte <garyschulte@gmail.com>
2021-04-23 15:51:22 +02:00
Abdelhamid Bakhta
1486d1cf2d Update Aleut genesis block (#2149)
Signed-off-by: Abdelhamid Bakhta <abdelhamid.bakhta@consensys.net>
2021-04-15 09:30:23 -06:00
Daniel Lehrner
17cf72b916 Fixed elliptic curve configuration in genesis file (#2066)
* refactored code to always set an instance in SignatureAlgorithmFactory in BesuCommand

Signed-off-by: Daniel Lehrner <daniel@io.builders>
2021-03-24 00:27:27 +00:00
Lucas Saldanha
a58c472480 Revert "Added genesis config option for elliptic curves. (#2036)" (#2055)
This commit reverts commit a43e848e0a.

Signed-off-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
2021-03-23 10:46:22 +01:00
Daniel Lehrner
a43e848e0a Added genesis config option for elliptic curves. (#2036)
* Added genesis config option for elliptic curves.

Signed-off-by: Daniel Lehrner <daniel@io.builders>
2021-03-21 18:59:18 -05:00
Antoine Toulme
ec5e12157d Add Astor testnet, see https://astor.host (#2017)
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2021-03-14 13:32:12 -06:00
Antoine Toulme
db23aef122 Keccak256 mining (#1882)
* Decouple PoW from ethash

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

* Address code review comments, create a dev network for ecip1049, prepare for keccak hasher

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

* Add PoW function and a few simple tests as test vectors

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

* Make the PoWHasher hash function a bit easier to understand

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

* simplify and call out the code of the keccak hash function

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

* support fixed difficulty for keccak mining

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

* Fix the dev network config

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

* Add comment to KeccakHasher

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

* Increase fixed difficulty for the ecip1049 dev network to produce hashes a bit less often

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

* spotless

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

* fix test expectations

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

* Fix javadoc issue

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

* add acceptance test using keccak mining

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

* add changelog entry

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

* Address code review comments

Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
2021-03-05 21:38:38 +13:00
Danno Ferrin
9947692322 Add classic fork blocks to admin_nodeInfo (#1669)
The classic fork blocks are not enumerated in the `admin_nodeInfo` RPC.
Enumerate them.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-03-02 17:34:51 -07:00
Trent Mohay
e2963d69af Add 2/3n Commit count for IBFT blocks (#1906)
This allows Besu to interop with an Quorum IBFT-1 network which has been updated to use a 2/3 validator threshold, rather than 2F+1.

Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
2021-02-28 14:36:50 -08:00
Danno Ferrin
12dd50e529 Update ForkId list for Berlin (#1930)
Update ForkId list for Berlin, and add a test checking the forkId at
each milestone.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-02-20 11:07:42 +10:00
Danno Ferrin
d29102654a Update Berlin Block numbers (#1929)
Update ropsten, goerli, rinkeby, and mainnet block numbers to activate
Berlin.

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-02-19 13:25:50 -07:00
Ratan (Rai) Sur
2b4ba4c66b yolov3x (#1923)
Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
2021-02-17 15:43:32 -07:00
Ratan (Rai) Sur
f2669df10e Remove Berlin Feature Flag (#1898)
Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
2021-02-11 04:16:49 +00:00
Ratan (Rai) Sur
5ac3415a2e YoloV3 Support (#1852)
Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
2021-02-08 10:52:02 -06:00
Stefan Pingel
78fe588c9d Go quorum interop (#1782)
* Enable Besu to import blocks containing quorum style private transactions
* Add RPC to accept quorum style raw private transactions

Signed-off-by: Stefan Pingel <stefan.pingel@consensys.net>
Signed-off-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
Co-authored-by: Lucas Saldanha <lucascrsaldanha@gmail.com>
2021-01-29 11:22:09 +10:00
Jason Frame
e52222abb9 qbft transitions (#1818)
Signed-off-by: Jason Frame jasonwframe@gmail.com
2021-01-21 13:35:20 +13:00
Danno Ferrin
2d83e13bb8 Genesis config cleanup (#1812)
* Finish internal ConstantinopleFix->Petersburg transition, including
  class names. Only backwards compatibility and retesteth use of the
  name will remain.
* Remove four unused config fields from json configs.  These are fields
  with no code uses of any sort. All are implied by other fields.
  eip150Hash, eip155Block, eip160Block, and daoForkSupport.
* Remove redundant fork block fields where their value is implied

Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
2021-01-19 10:16:45 -05:00
Jason Frame
795779ba2b Integrate QBFT into Besu (#1801)
Signed-off-by: Jason Frame jasonwframe@gmail.com
2021-01-19 10:05:45 +10:00
Jason Frame
c43fddffca Rename IbftFork to BftFork so it can be reused in QBFT (#1808)
Signed-off-by: Jason Frame <jasonwframe@gmail.com>
2021-01-18 14:32:28 +10:00