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

merge main into verkle #7928

Merged
merged 57 commits into from
Nov 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
22a570e
Fix registering new metric categories from plugins (#7825)
fab-10 Oct 30, 2024
ba86ce1
Add a method to check if a metric category is enabled to the plugin A…
fab-10 Oct 30, 2024
f9f721c
Issue 5589 trigger a timeout (#7469)
cloudspores Oct 30, 2024
db29df7
7311: add GetReceiptsFromPeerTask (#7638)
Matilda-Clerke Oct 30, 2024
c5020be
Update DCO.md (#7827)
pucedoteth Oct 31, 2024
ec46074
Test against EngineNewPayloadV4 in EngineNewPayloadV4Test (#7837)
siladu Oct 31, 2024
24ed2d0
update discord invite link (#7836)
macfarla Oct 31, 2024
d846e37
Remove retesteth rpc service and commands (#7833)
garyschulte Oct 31, 2024
7eb7b87
Refactoring around MiningParameters (#7798)
jflo Oct 31, 2024
8fce5aa
IntelliJ do not fail me (#7846)
jflo Nov 3, 2024
11fc094
adds issue templates (#7820)
jflo Nov 3, 2024
03a2b92
IntelliJ do not fail me (#7855)
jflo Nov 4, 2024
1da0e9f
remove dangling retesteth references (#7856)
garyschulte Nov 4, 2024
d415b7d
feature: Add optional worldstate move flag to debug_setHead (#7821)
garyschulte Nov 4, 2024
ef9d1ab
fix(push): right pad if `push parameter + PC +1` exceeds code length…
letypequividelespoubelles Nov 4, 2024
2054e12
nonce as integer for preloaded contracts (#7850)
vaidikcode Nov 5, 2024
d73e815
calling the wrong create() method (#7857)
jflo Nov 5, 2024
a585f1f
Fully initialize MetricCategoryRegistry for acceptance tests (#7860)
fab-10 Nov 6, 2024
4099b3b
Add more subprojects to BOM (#7859)
fab-10 Nov 6, 2024
deb3fa2
adds action to manage stale issues (#7864)
jflo Nov 6, 2024
3ebf50e
chore: fix some typos in comments (#7866)
wangjingcun Nov 8, 2024
e17ebc5
Add TLS/mTLS options for websockets (#7854)
pullurib Nov 8, 2024
62b2c50
Fix missing registration of PeerTransactionTracker to dropped tx noti…
fab-10 Nov 8, 2024
62b8b4e
Make healing an action of the WorldStateArchive (#7862)
fab-10 Nov 8, 2024
1c75afb
Remove the Synchronizer from ProtocolContext (#7863)
fab-10 Nov 8, 2024
1895d44
Typo Update trace_rpc_apis.md (#7868)
mdqst Nov 8, 2024
c15afb9
control jemalloc reporting and loading (#7424)
amsmota Nov 13, 2024
f156a17
Fix registration of RocksDB metrics categories (#7879)
fab-10 Nov 14, 2024
e548cdc
MAINTAINERS - Add Matilda Clerke (#7829)
Gabriel-Trintinalia Nov 14, 2024
40b27a1
Upgrade netty to 4.1.115 (latest version) to resolve CVE (#7878)
matthew1001 Nov 14, 2024
37ea028
Typo Update Private-Txns-Migration.md (#7870)
mdqst Nov 19, 2024
dc81641
narrows dependencies of BlockchainService (#7882)
jflo Nov 19, 2024
833a5ce
Simplify ProtocolContext creation (#7792)
fab-10 Nov 19, 2024
02722bc
Consolidate all metric collectors into the metrics system (#7877)
fab-10 Nov 19, 2024
58acfce
Add support for TransactionPoolService in acceptance tests (#7861)
fab-10 Nov 19, 2024
2384c09
Fix #7810 (#7867)
vaidikcode Nov 19, 2024
8b7ca20
eth_call overrides (#7801)
macfarla Nov 19, 2024
46f3d64
Pass correct evmUpdater to trace end transaction (#7886)
Gabriel-Trintinalia Nov 20, 2024
e85a436
Don't create reward account if no reward (#7826)
matthew1001 Nov 20, 2024
73a1e5b
Simplify difficulty calculator interface (#7893)
fab-10 Nov 20, 2024
fe46289
Add support for counter metric with external supplied value (#7894)
fab-10 Nov 20, 2024
9718fd5
eth_estimateGas state overrides (#7890)
macfarla Nov 20, 2024
c127f9c
naming things is important (#7895)
jflo Nov 20, 2024
55920e0
add Tx simulate method that accepts state override (#7892)
macfarla Nov 20, 2024
ab12657
[CHANGELOG] Deprecation warnings for privacy, permissioning, PoW, fas…
macfarla Nov 20, 2024
7bb2cf3
Refactor Body Validation logic (#7896)
Gabriel-Trintinalia Nov 22, 2024
302999a
Privacy deprecation warnings on CLI (#7897)
macfarla Nov 22, 2024
35b138d
Fix minor stylistic issue in tracing documentation (#7901)
defitricks Nov 22, 2024
4a629da
shorten rolling increment to 32 (#7909)
garyschulte Nov 24, 2024
6a2f4c9
Correct other counters that were created as gauges (#7908)
fab-10 Nov 24, 2024
4064851
Add mining service (#7913)
Gabriel-Trintinalia Nov 25, 2024
a0fa599
remove unused dependencies from qbft (#7915)
jframe Nov 25, 2024
788b29f
deprecate RPC methods related to privacy (#7903)
macfarla Nov 25, 2024
4620477
renaming state trie account for verkle integration (#7907)
matkt Nov 25, 2024
674a7ba
Upgrade rocksdb jni lib from 8.3.2 to 9.7.3 (#7817)
ahamlat Nov 25, 2024
e02fb60
merge main (674a7bae583f8f2ac62bdba62b896e9bccba6dbe) into verkle
matkt Nov 26, 2024
e01f0ff
spotless and fix after review
matkt Nov 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: Bug Report
about: necessary information to help us resolve the issue
title: ''
labels: 'bug'
assignees: ''

---

<!-- Have you done the following? -->
<!-- * read the Code of Conduct? By filing an Issue, you are expected to -->
<!-- comply with it, including treating everyone with respect: -->
<!-- https://github.com/hyperledger/besu/blob/main/CODE_OF_CONDUCT.md -->
<!-- * Reproduced the issue in the latest version of the software -->
<!-- * Read the debugging docs: https://besu.hyperledger.org/private-networks/how-to -->
<!-- * Duplicate Issue check: https://github.com/search?q=+is%3Aissue+repo%3Ahyperledger/Besu -->

### Steps to Reproduce
1. [Step 1]
2. [Step 2]
3. [Step ...]

**Expected behavior:** [What you expect to happen]

**Actual behavior:** [What actually happens]

**Frequency:** [What percentage of the time does it occur?]

### Logs
Please post relevant logs from Besu (and the consensus client, if running proof of stake) from before and after the issue.

### Versions (Add all that apply)
* Software version: [`besu --version`]
* Java version: [`java -version`]
* OS Name & Version: [`cat /etc/*release`]
* Kernel Version: [`uname -a`]
* Virtual Machine software & version: [`vmware -v`]
* Docker Version: [`docker version`]
* Cloud VM, type, size: [Amazon Web Services I3-large]
* Consensus Client & Version if using Proof of Stake: [e.g. Teku, Lighthouse, Prysm, Nimbus, Lodestar]

### Smart contract information (If you're reporting an issue arising from deploying or calling a smart contract, please supply related information)
* Solidity version [`solc --version`]
* Repo with minimal set of deployable/reproducible contract code - please provide a link
* Please include specifics on how you are deploying/calling the contract
* Have you reproduced the issue on other eth clients

### Additional Information (Add any of the following or anything else that may be relevant)
* Besu setup info - genesis file, config options
* System info - memory, CPU
45 changes: 45 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
name: Feature Request
about: suggesting new or altered functionality
title: ''
labels: ''
assignees: ''

---

<!-- Have you done the following? -->
<!-- * read the Code of Conduct? By filing an Issue, you are expected to -->
<!-- comply with it, including treating everyone with respect: -->
<!-- https://github.com/hyperledger/besu/blob/main/CODE_OF_CONDUCT.md -->
<!-- * Duplicate Issue check: https://github.com/search?q=+is%3Aissue+repo%3Ahyperledger/Besu -->

### Description
As an [Actor], I want [feature] so that [why].

### Acceptance Criteria
* [Criteria 1]
* [Criteria 2]
* [Criteria 3...]

### Logs (if a change in behavior)
Please post relevant logs from Besu (and the consensus client, if running proof of stake) illustrating behavior to be altered

### Versions (Add all that apply)
* Software version: [`besu --version`]
* Java version: [`java -version`]
* OS Name & Version: [`cat /etc/*release`]
* Kernel Version: [`uname -a`]
* Virtual Machine software & version: [`vmware -v`]
* Docker Version: [`docker version`]
* Cloud VM, type, size: [Amazon Web Services I3-large]
* Consensus Client & Version if using Proof of Stake: [e.g. Teku, Lighthouse, Prysm, Nimbus, Lodestar]

### Smart contract information (If you're reporting an issue arising from deploying or calling a smart contract, please supply related information)
* Solidity version [`solc --version`]
* Repo with minimal set of deployable/reproducible contract code - please provide a link
* Please include specifics on how you are deploying/calling the contract
* Have you reproduced the issue on other eth clients

### Additional Information (Add any of the following or anything else that may be relevant)
* Besu setup info - genesis file, config options
* System info - memory, CPU
22 changes: 1 addition & 21 deletions .github/issue_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,10 @@
<!-- * read the Code of Conduct? By filing an Issue, you are expected to -->
<!-- comply with it, including treating everyone with respect: -->
<!-- https://github.com/hyperledger/besu/blob/main/CODE_OF_CONDUCT.md -->
<!-- * Reproduced the issue in the latest version of the software -->
<!-- * Read the debugging docs: https://besu.hyperledger.org/private-networks/how-to -->
<!-- * Duplicate Issue check: https://github.com/search?q=+is%3Aissue+repo%3Ahyperledger/Besu -->
<!-- Note: Not all sections will apply to all issue types. -->
<!-- * Considered using a specific template for submitting a Bug or Feature Request? -->

### Description
As an [Actor], I want [feature] so that [why].

### Acceptance Criteria
* [Criteria 1]

### Steps to Reproduce (Bug)
1. [Step 1]
2. [Step 2]
3. [Step ...]

**Expected behavior:** [What you expect to happen]

**Actual behavior:** [What actually happens]

**Frequency:** [What percentage of the time does it occur?]

### Logs (if a bug)
Please post relevant logs from Besu (and the consensus client, if running proof of stake) from before and after the issue.

### Versions (Add all that apply)
* Software version: [`besu --version`]
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/stale-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Close inactive issues
on:
schedule:
- cron: "30 1 * * *"

jobs:
close-issues:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
contents: write
steps:
- uses: actions/stale@v5
with:
days-before-issue-stale: 180
days-before-issue-close: 14
stale-issue-label: "stale"
stale-issue-message: "This issue is stale because it has been open for 6 months with no activity."
close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
days-before-pr-stale: 30
days-before-pr-close: 14
stale-pr-message: "This pr is stale because it has been open for 30 days with no activity."
close-pr-message: "This pr was closed because it has been inactive for 14 days since being marked as stale."
remove-issue-stale-when-updated: true
remove-pr-stale-when-updated: true
repo-token: ${{ secrets.GITHUB_TOKEN }}
19 changes: 18 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,35 @@
# Changelog

## [Unreleased]
- Added isLabelsObserved to LabelledGauge in plugin-api. Default implementation returns false.

### Breaking Changes
- Removed Retesteth rpc service and commands [#7833](https://github.com/hyperledger/besu/pull/7783)

### Upcoming Breaking Changes
- Plugin API will be deprecating the BesuContext interface to be replaced with the ServiceManager interface.
- `MetricSystem::createLabelledGauge` is deprecated and will be removed in a future release, replace it with `MetricSystem::createLabelledSuppliedGauge`
- k8s (KUBERNETES) Nat method is now deprecated and will be removed in a future release
- `--host-whitelist` has been deprecated in favor of `--host-allowlist` since 2020 and will be removed in a future release
- Sunsetting features - for more context on the reasoning behind the deprecation of these features, including alternative options, read [this blog post](https://www.lfdecentralizedtrust.org/blog/sunsetting-tessera-and-simplifying-hyperledger-besu)
- Tessera privacy
- Smart-contract-based permissioning
- Proof of Work consensus
- Fast Sync

### Additions and Improvements
- Fine tune already seen txs tracker when a tx is removed from the pool [#7755](https://github.com/hyperledger/besu/pull/7755)
- Support for enabling and configuring TLS/mTLS in WebSocket service. [#7854](https://github.com/hyperledger/besu/pull/7854)
- Create and publish Besu BOM (Bill of Materials) [#7615](https://github.com/hyperledger/besu/pull/7615)
- Update Java dependencies [#7786](https://github.com/hyperledger/besu/pull/7786)
- Add a method to get all the transaction in the pool, to the `TransactionPoolService`, to easily access the transaction pool content from plugins [#7813](https://github.com/hyperledger/besu/pull/7813)
- Upgrade RocksDB JNI library from version 8.3.2 to 9.7.3 [#7817](https://github.com/hyperledger/besu/pull/7817)
- Add a method to check if a metric category is enabled to the plugin API [#7832](https://github.com/hyperledger/besu/pull/7832)
- Add a new metric collector for counters which get their value from suppliers [#7894](https://github.com/hyperledger/besu/pull/7894)
- Add account and state overrides to `eth_call` [#7801](https://github.com/hyperledger/besu/pull/7801) and `eth_estimateGas` [#7890](https://github.com/hyperledger/besu/pull/7890)

### Bug fixes
- Fix registering new metric categories from plugins [#7825](https://github.com/hyperledger/besu/pull/7825)
- Fix CVE-2024-47535 [7878](https://github.com/hyperledger/besu/pull/7878)

## 24.10.0

Expand Down Expand Up @@ -99,6 +115,7 @@ This release version has been deprecated release due to CI bug
- Remove long-deprecated `perm*whitelist*` methods [#7401](https://github.com/hyperledger/besu/pull/7401)

### Additions and Improvements
- Allow optional loading of `jemalloc` (if installed) by setting the environment variable `BESU_USING_JEMALLOC` to true/false. It that env is not set at all it will behave as if it is set to `true`
- Expose set finalized/safe block in plugin api BlockchainService. These method can be used by plugins to set finalized/safe block for a PoA network (such as QBFT, IBFT and Clique).[#7382](https://github.com/hyperledger/besu/pull/7382)
- In process RPC service [#7395](https://github.com/hyperledger/besu/pull/7395)
- Added support for tracing private transactions using `priv_traceTransaction` API. [#6161](https://github.com/hyperledger/besu/pull/6161)
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Welcome to the Besu repository! The following links are a set of guidelines for
Having the following accounts is necessary for contributing code/issues to Besu.
* If you want to contribute code, you can make a [github account here](https://github.com).
* If you want to raise an issue, do so [in the issues tab](https://github.com/hyperledger/besu/issues).
* To ask questions or chat with us, join our [Discord](https://discord.gg/hyperledger)
* To ask questions or chat with us, join our [Discord](https://discord.com/invite/hyperledger)
* To edit pages in our wiki, you'll need a [Linux Foundation (LF) account].

### Useful contributing links
Expand Down
2 changes: 1 addition & 1 deletion DCO.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ As per section 13.a of the [Hyperledger Charter](https://www.hyperledger.org/abo

The sign off needs to be using your legal name, not a pseudonym. Git has a built-in mechanism to allow this with the `-s` or `--signoff` argument to `git commit` command, providing your `user.name` and `user.email` have been setup correctly.

If you have any questions, you can reach us on Besu chat; first, [join the Discord server](https://discord.gg/hyperledger/) then [join the Besu channel](https://discord.com/channels/905194001349627914/938504958909747250).
If you have any questions, you can reach us on Besu chat; first, [join the Discord server](https://discord.com/invite/hyperledger) then [join the Besu channel](https://discord.com/channels/905194001349627914/938504958909747250).
3 changes: 2 additions & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
| Luis Pinto | lu-pinto | lu-pinto |
| Lucas Saldanha | lucassaldanha | lucassaldanha |
| Sally MacFarlane | macfarla | macfarla |
| Matilda Clerke | Matilda-Clerke | MatildaClerke |
| Karim Taam | matkt | matkt |
| Matthew Whitehead| matthew1001 | matthew.whitehead |
| Meredith Baxter | mbaxter | mbaxter |
Expand Down Expand Up @@ -84,7 +85,7 @@ The following steps must occur for a contributor to be "upgraded" as a maintaine
- The proposed maintainer accepts the nomination and expresses a willingness
to be a long-term (more than 6 month) committer by adding a comment in the proposal PR.
- The PR will be communicated in all appropriate communication channels
including at least [besu-contributors channel on Discord](https://discord.gg/hyperledger),
including at least [besu-contributors channel on Discord](https://discord.com/invite/hyperledger),
the [mailing list](https://lists.hyperledger.org/g/besu)
and any maintainer/community call.
- Approval by at least 3 current maintainers within two weeks of the proposal or
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![Documentation](https://img.shields.io/github/actions/workflow/status/hyperledger/besu-docs/publish-main-docs.yml?branch=main&label=docs)](https://github.com/hyperledger/besu-docs/actions/workflows/publish-main-docs.yml)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3174/badge)](https://bestpractices.coreinfrastructure.org/projects/3174)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/hyperledger/besu/blob/main/LICENSE)
[![Discord](https://img.shields.io/discord/905194001349627914?logo=Hyperledger&style=plastic)](https://discord.gg/hyperledger)
[![Discord](https://img.shields.io/discord/905194001349627914?logo=Hyperledger&style=plastic)](https://discord.com/invite/hyperledger)
[![Twitter Follow](https://img.shields.io/twitter/follow/HyperledgerBesu)](https://twitter.com/HyperledgerBesu)

[Download](https://github.com/hyperledger/besu/releases)
Expand Down Expand Up @@ -67,5 +67,5 @@ and <a href="https://www.yourkit.com/youmonitor/">YourKit YouMonitor</a>.

[Besu Issues]: https://github.com/hyperledger/besu/issues
[Besu User Documentation]: https://besu.hyperledger.org
[Besu channel on Discord]: https://discord.gg/hyperledger
[Besu channel on Discord]: https://discord.com/invite/hyperledger
[Contributing Guidelines]: CONTRIBUTING.md
2 changes: 1 addition & 1 deletion SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ Having Github, Discord, and Linux Foundation accounts is necessary for obtaining


[Besu User Documentation]: https://besu.hyperledger.org
[Besu channel on Discord]: https://discord.gg/hyperledger
[Besu channel on Discord]: https://discord.com/invite/hyperledger
[Contributing Guidelines]: CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import org.hyperledger.besu.ethereum.api.jsonrpc.JsonRpcConfiguration;
import org.hyperledger.besu.ethereum.api.jsonrpc.ipc.JsonRpcIpcConfiguration;
import org.hyperledger.besu.ethereum.api.jsonrpc.websocket.WebSocketConfiguration;
import org.hyperledger.besu.ethereum.core.MiningParameters;
import org.hyperledger.besu.ethereum.core.MiningConfiguration;
import org.hyperledger.besu.ethereum.core.PrivacyParameters;
import org.hyperledger.besu.ethereum.core.Util;
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration;
Expand Down Expand Up @@ -101,7 +101,7 @@ public class BesuNode implements NodeConfiguration, RunnableNode, AutoCloseable
private final boolean revertReasonEnabled;

private final String name;
private MiningParameters miningParameters;
private MiningConfiguration miningConfiguration;
private TransactionPoolConfiguration txPoolConfiguration;
private final List<String> runCommand;
private PrivacyParameters privacyParameters = PrivacyParameters.DEFAULT;
Expand Down Expand Up @@ -139,7 +139,7 @@ public class BesuNode implements NodeConfiguration, RunnableNode, AutoCloseable
public BesuNode(
final String name,
final Optional<Path> dataPath,
final MiningParameters miningParameters,
final MiningConfiguration miningConfiguration,
final TransactionPoolConfiguration txPoolConfiguration,
final JsonRpcConfiguration jsonRpcConfiguration,
final Optional<JsonRpcConfiguration> engineRpcConfiguration,
Expand Down Expand Up @@ -191,7 +191,7 @@ public BesuNode(
},
() -> this.keyPair = KeyPairUtil.loadKeyPair(homeDirectory));
this.name = name;
this.miningParameters = miningParameters;
this.miningConfiguration = miningConfiguration;
this.txPoolConfiguration = txPoolConfiguration;
this.jsonRpcConfiguration = jsonRpcConfiguration;
this.engineRpcConfiguration = engineRpcConfiguration;
Expand Down Expand Up @@ -678,12 +678,12 @@ public void setBootnodes(final List<URI> bootnodes) {
this.bootnodes.addAll(bootnodes);
}

public MiningParameters getMiningParameters() {
return miningParameters;
public MiningConfiguration getMiningParameters() {
return miningConfiguration;
}

public void setMiningParameters(final MiningParameters miningParameters) {
this.miningParameters = miningParameters;
public void setMiningParameters(final MiningConfiguration miningConfiguration) {
this.miningConfiguration = miningConfiguration;
}

public TransactionPoolConfiguration getTransactionPoolConfiguration() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
import static com.google.common.base.Preconditions.checkState;
import static java.nio.charset.StandardCharsets.UTF_8;

import org.hyperledger.besu.cli.options.NetworkingOptions;
import org.hyperledger.besu.cli.options.TransactionPoolOptions;
import org.hyperledger.besu.cli.options.storage.DataStorageOptions;
import org.hyperledger.besu.cli.options.unstable.NetworkingOptions;
import org.hyperledger.besu.ethereum.api.jsonrpc.ipc.JsonRpcIpcConfiguration;
import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration;
import org.hyperledger.besu.ethereum.p2p.rlpx.connections.netty.TLSConfiguration;
Expand Down
Loading
Loading