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

Release v1.11.5 #9

Merged
merged 69 commits into from
Mar 30, 2023
Merged

Release v1.11.5 #9

merged 69 commits into from
Mar 30, 2023

Conversation

hmoens
Copy link

@hmoens hmoens commented Mar 30, 2023

No description provided.

holiman and others added 30 commits February 17, 2023 15:34
ci: disable coverage reporting in appveyor and travis
This improves the speed of DHT crawling by using concurrent requests.
It also removes logging of individual DNS updates.
…ereum#26377)

Adds support for a native call tracer with the Parity format, which outputs call frames
in a flat array. This tracer accepts the following options:

- `convertParityErrors: true` will convert error messages to match those of Parity
- `includePrecompiles: true` will report all calls to precompiles. The default
  matches Parity's behavior where CALL and STATICCALLs to precompiles are excluded

Incompatibilities with Parity include:

- Parity removes the result object in case of failure. This behavior is maintained
  with the exception of reverts. Revert output usually contains useful information,
  i.e. Solidity revert reason.
- The `gasUsed` field accounts for intrinsic gas (e.g. 21000 for simple transfers)
  and refunds unlike Parity
- Block rewards are not reported

Co-authored-by: Sina Mahmoodi <[email protected]>
…26756)

This fixes an issue where the withdrawal index was not calculated correctly
for multiple withdrawals in a single block.

Co-authored-by: Gary Rong <[email protected]>
Co-authored-by: Felix Lange <[email protected]>
* ethdb/pebble: fix range compaction

* ethdb/pebble: add comment
…#26778)

* include withdrawals in ethclient responses

* omit empty withdrawals array in json serialization
* core: params: schedule Shanghai on goerli

* core/forkid: fix comment
This change adds a struct field EffectiveGasPrice in types.Receipt. The field is present
in RPC responses, but not in the Go struct, and thus can't easily be accessed via ethclient.

Co-authored-by: PulsarAI <[email protected]>
Fixes a race in TestNewPayloadOnInvalidTerminalBlock where setting the TTD raced with
the miner. Solution: set the TTD on the blockchain config not the genesis config.

Also fixes a race in CopyHeader which resulted in race reports all over the place.
This PR changes metrics collection to actually measure the time interval between collections, rather
than assume 3 seconds. I did some ad hoc profiling, and on slower hardware (eg, my Raspberry Pi 4)
I routinely saw intervals between 3.3 - 3.5 seconds, with some being as high as 4.5 seconds. This
will generally cause the CPU gauge readings to be too high, and in some cases can cause impossibly
large values for the CPU load metrics (eg. greater than 400 for a 4 core CPU).

---------

Co-authored-by: Felix Lange <[email protected]>
…thereum#26799)

This change fixes a flaw where, in certain scenarios, the block sealer did not accurately reset the remaining gas after failing to include an invalid transaction. Fixes ethereum#26791
…al (ethereum#26667)

Checks that Transaction.MarshalJSON and newRPCTransaction JSON output can be parsed by Transaction.UnmarshalJSON

---------

Co-authored-by: Martin Holst Swende <[email protected]>
Fixes a minor error in the testdata
This PR mitigates an issue with Ledger's on-device RLP deserialization, see
LedgerHQ/app-ethereum#409

Ledger's RLP deserialization code does not validate the length of the RLP list received,
and it may prematurely enter the signing flow when a APDU chunk boundary falls immediately
before the EIP-155 chain_id when deserializing a transaction. Since the chain_id is
uninitialized, it is 0 during this signing flow. This may cause the user to accidentally
sign the transaction with chain_id = 0. That signature would be returned from the device 1
packet earlier than expected by the communication loop. The device blocks the
second-to-last packet waiting for the signer flow, and then errors on the successive
packet (which contains the chain_id, zeroed r, and zeroed s)

Since the signature's early arrival causes successive errors during the communication
process, geth does not parse the improper signature produced by the device, and therefore
no improperly-signed transaction can be created. User funds are not at risk.

We mitigate by selecting the highest chunk size that leaves at least 4 bytes in the
final chunk.
…ethereum#26698)

This ensures the "withdrawals" field will always be present in responses
to getPayloadBodiesByRangeV1 and getPayloadBodiesByHashV1.

---------

Co-authored-by: Felix Lange <[email protected]>
fjl and others added 27 commits March 10, 2023 14:03
Since forks are now scheduled by block time, it can be necessary
to check the timestamp of a block while generating transactions.
This adds two new rules to the transaction pool:

- A future transaction can not evict a pending transaction.
- A transaction can not overspend available funds of a sender.

---

Co-authored-by: dwn1998 <[email protected]>
Co-authored-by: Martin Holst Swende <[email protected]>
it should be constantinople rather than contantinople
* core: refactor code

* core: drop it from this anonymous goroutine func
Minor refactor to use the 'intended' accessor
…eum#26699)

This makes it possible to run another protocol alongside discv5, by reading 
unhandled packets from the channel.
Not sure why this was removed, it's pretty useful to see the version
also in --help.
)

When a database failure occurs, bubble it up a into statedb, and report it in suitable places, such as during a 'bad block' report.
Makes clear the distinction between Finalize and FinalizedAndAssemble:

- In Finalize function, a series of state operations are applied according to consensus rules. The statedb is mutated and the root hash can be checked and compared afterwards.

This function should be used in block processing(receive afrom network and apply it locally) but not block generation.

- In FinalizeAndAssemble function, after applying state mutations, the block is also to be assembled with the latest
  state root computed, updating the header. 

 This function should be used in block generation only.
 Increases the time between consensus updates that we give the CL before we start warning the user.
This adds built-in support in package rlp for encoding, decoding and generating code dealing with uint256.Int.

---------

Co-authored-by: Felix Lange <[email protected]>
* api: Use 0700 file permissions for ExportChain

* change perm to 0644

* Update api.go

---------

Co-authored-by: Felix Lange <[email protected]>
Makes use of atomic.Uint64 instead of atomic by pointer
Schedules the shanghai hardfork on timestamp 1681338455 as discussed on ACDE 157: ethereum/execution-specs#727
Local transactions should not be subject to the "future shouldn't churn pending txs" rule
@hmoens hmoens merged commit b8f419f into master Mar 30, 2023
@simonecid simonecid deleted the release_v1.11.5 branch March 30, 2023 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.