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/bor v1.0.4 #10

Merged
merged 1,383 commits into from
Sep 28, 2023
Merged

Merge/bor v1.0.4 #10

merged 1,383 commits into from
Sep 28, 2023

Conversation

philip-morlier
Copy link
Contributor

No description provided.

darioush and others added 30 commits March 17, 2023 20:06
* 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
When interacting with geth as a library to e.g. produce state tests, it is desirable to obtain the consensus-correct jumptable definition for a given fork. This changes adds accessors so the instructionset can be obtained and characteristics about opcodes can be inspected.
The meter for "for measuring the effective amount of data read" within the freezertable was never updated. This change remedies that. 
---------

Signed-off-by: jsvisa <[email protected]>
With #25287 we made it so that preimages were not recorded by default. This had the side effect that the evm command is no longer able to dump state since it does a preimage lookup to determine the address represented by a key.

This change enables the recording of preimages when the dump command is given.
This changes the Trie interface to add the plain account address as a
parameter to all storage-related methods.

After the introduction of the TryAccount* functions, TryGet, TryUpdate and
TryDelete are now only meant to read an account's storage. In their current
form, they assume that an account storage is stored in a separate trie, and
that the hashing of the slot is independent of its account's address.

The proposed structure for a stateless storage breaks these two
assumptions: the hashing of a slot key requires the address and all slots
and accounts are stored in a single trie.

This PR therefore adds an address parameter to the interface. It is ignored
in the MPT version, so this change has no functional impact, however it
will reduce the diff size when merging verkle trees.
This PR adds counter metrics for the CPU system and the Geth process.
Currently the only metrics available for these items are gauges. Gauges are
fine when the consumer scrapes metrics data at the same interval as Geth
produces new values (every 3 seconds), but it is likely that most consumers
will not scrape that often. Intervals of 10, 15, or maybe even 30 seconds
are probably more common.

So the problem is, how does the consumer estimate what the CPU was doing in
between scrapes. With a counter, it's easy ... you just subtract two
successive values and divide by the time to get a nice, accurate average.
But with a gauge, you can't do that. A gauge reading is an instantaneous
picture of what was happening at that moment, but it gives you no idea
about what was going on between scrapes. Taking an average of values is
meaningless.
…d v2 reporters (#26963)

This change switches to use the smaller influxdata/influxdb1-client package instead of depending on the whole infuxdb package. The new smaller client is very similar to the influxdb-v2 client, which made it possible to refactor the two reporters to reuse code a lot more.
This change renames StateTrie methods to remove the Try* prefix. 

We added the Trie methods with prefix 'Try' a long time ago, working
around the problem that most existing methods of Trie did not return the
database error. This weird naming convention has persisted until now.

Co-authored-by: Gary Rong <[email protected]>
This change ensures that we call Close on a http response body, in various places in the source code (mostly tests)
Make use of new atomic types
---------

Co-authored-by: Felix Lange <[email protected]>
Co-authored-by: Martin Holst Swende <[email protected]>
Fixes multiple data races caused by the fact that resolving fields are done concurrently by the graphql library. It also enforces caching at the stateobject level for account fields.
This PR fixes OOM panic in the callTracer as well as panicing on
opcode validation errors (e.g. stack underflow) in callTracer and
prestateTracer.

Co-authored-by: Martin Holst Swende <[email protected]>
pratikspatil024 and others added 28 commits September 13, 2023 08:28
…port EIP-4337 Bundled Transactions (#945)

* added new api to support conditional transactions (EIP-4337) (#700)

* Refactored the code and updated the miner to check for the validity of options (#793)

* refactored the code and updated the miner to check for the validity of options

* added new errors -32003 and -32005

* added unit tests

* addressed comments

* Aa 4337 update generics (#799)

* poc

* minor bug fix

* use common.Hash

* updated UnmarshalJSON function (reference - tynes)

* fix

* done

* linters

* with test

* undo some unintentional changes

---------

Co-authored-by: Pratik Patil <[email protected]>

* handelling the block range and timestamp range, also made timestamp a pointer

---------

Co-authored-by: Evgeny Danilenko <[email protected]>

* Added filtering of conditional transactions in txpool (#920)

* added filtering of conditional transactions in txpool

* minor fix in ValidateKnownAccounts

* bug fix

* Supporting nil knownAccounts

* lints

* bundled transactions are not announced/broadcasted to the peers

* fixed after upstream merge

* few fixes

* sentry reject conditional transaction

* Changed the namespace of conditional transaction API from `eth` to `bor` (#985)

* added conditional transaction to bor namespace

* test comit

* test comit

* added conditional transaction

* namespapce changed to bor

* cleanup

* cleanup

* addressed comments

* reverted changes in ValidateKnownAccounts

* addressed comments and removed unwanted code

* addressed comments

* bug fix

* lint

* removed licence from core/types/transaction_conditional_test.go

---------

Co-authored-by: Evgeny Danilenko <[email protected]>
* README: remove unnecessary info from readme and simplify

* more changes

* more changes

* more changes

* add contribution guidelines

* add test command

* README: add release tag info
* README: remove unnecessary info from readme and simplify

* more changes

* more changes

* more changes

* add contribution guidelines

* add test command

* README: add release tag info
* Stop execution pool in rpc handler

All execution pools need to be closed properly. This fixes a potential goroutine leak caused by metric goutine created by each execution pool.

* Cancel only once
There were several spots here where some hotfixes were imported from foundation geth to enable ETC, polygon, and Geth to all use the same utils. At some point we will need to revisit those places, they are called out in foundation plugeth, and update accordingly.
As of now the project appears to have been shipped with broken code as geth will not run and complains of an error in the flags library.
develop to v1.0.2-beta-candidate
Removed all sepolia and goerli flags and flag logic from main.go.

Updated mod and sum to correspond to cardianl and plugins ecosystem.
Bor was trying to look up the chainconfig from the genesis block, but
if the genesis block is loaded from the database the genesis block object
is nil at that point in the code. Fortunately the chainconfig is available
elsewhere without any issue.

Also updates the connect_nodes.py to peer on localhost instead of the network,
as the network ports aren't open from my home network.
Test was modified to match function with bor v1.0.4. A new psuedo injection was placed in core/blockchain to enable the test to run faster.
@AusIV AusIV merged commit f21d3d3 into main Sep 28, 2023
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.