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 upstream v1.10.9 #59

Merged
merged 146 commits into from
Feb 9, 2023
Merged

Merge upstream v1.10.9 #59

merged 146 commits into from
Feb 9, 2023

Conversation

junnmm
Copy link
Collaborator

@junnmm junnmm commented Feb 9, 2023

Merge upstream v1.10.9 into develop.

Note: the conflicts will be resolved if #57 is merged.

Diff stat between upstream v1.10.9 and head of this pull request:

 .github/dependabot.yml                   |   11 +
 .github/workflows/codeql.yml             |   76 +
 .github/workflows/hive.yml               |   41 +
 .github/workflows_old/docker-image.yml   |   55 +
 .gitignore                               |    2 +
 Dockerfile                               |    2 +
 KCC_Green.png                            |  Bin 0 -> 88361 bytes
 README.md                                |  256 +--
 accounts/accounts.go                     |    1 +
 accounts/external/backend.go             |    6 +-
 cmd/clef/main.go                         |    2 +-
 cmd/devp2p/discv4cmd.go                  |    2 +-
 cmd/devp2p/nodesetcmd.go                 |    8 +-
 cmd/geth/chaincmd.go                     |    4 +-
 cmd/geth/config.go                       |    1 +
 cmd/geth/consolecmd.go                   |   18 +-
 cmd/geth/dbcmd.go                        |   32 +-
 cmd/geth/main.go                         |   18 +-
 cmd/geth/snapshot.go                     |   23 +-
 cmd/geth/usage.go                        |    5 +-
 cmd/utils/flags.go                       |   93 +-
 consensus/clique/clique.go               |    4 +-
 consensus/consensus.go                   |    7 +-
 consensus/ethash/consensus.go            |    4 +-
 consensus/posa/abi.go                    | 2827 ++++++++++++++++++++++++++++++
 consensus/posa/api.go                    |  147 ++
 consensus/posa/interactive.go            |   86 +
 consensus/posa/kccIshikari.go            |  103 ++
 consensus/posa/kccIshikari_patch.go      |  105 ++
 consensus/posa/kccIshikari_patch_test.go |   24 +
 consensus/posa/posa.go                   | 1170 +++++++++++++
 consensus/posa/snapshot.go               |  203 +++
 core/forkid/forkid.go                    |    7 +
 core/forkid/forkid_test.go               |   68 -
 core/genesis.go                          |   63 +-
 core/genesis_alloc.go                    |    8 +-
 core/mkalloc.go                          |   10 +-
 core/rawdb/database.go                   |    4 +
 core/state_transition.go                 |   38 +-
 core/types/transaction.go                |    9 +-
 core/vm/instructions_kcc_issue_9.go      |   62 +
 core/vm/interpreter.go                   |   17 +-
 core/vm/jump_table.go                    |   27 +-
 eth/backend.go                           |   59 +-
 eth/ethconfig/config.go                  |   14 +-
 eth/gasprice/gasprice.go                 |   16 +
 eth/protocols/eth/handler.go             |    2 +-
 genesis-mainnet.json                     |   47 +
 genesis-testnet.json                     |   50 +
 internal/ethapi/api.go                   |   19 +-
 internal/web3ext/web3ext.go              |   31 +
 les/commons.go                           |    2 +-
 les/protocol.go                          |    2 +-
 miner/miner.go                           |    8 +-
 miner/worker.go                          |    9 +
 mobile/geth.go                           |   24 +-
 mobile/params.go                         |   24 +-
 p2p/peer.go                              |    6 +-
 p2p/peer_error.go                        |    2 +-
 params/bootnodes.go                      |   97 +-
 params/config.go                         |  447 +++--
 params/version.go                        |    6 +-
 62 files changed, 5652 insertions(+), 862 deletions(-)

karalabe and others added 30 commits June 29, 2021 12:31
…thereum#23239)

* internal/ethapi/api: use hexutil.uint for blockCount parameter instead of int for feeHistory

* return hex value for oldestBlock instead of number

* return uint64 from oracle.resolveBlockRange

* eth/gasprice: fixed test

Co-authored-by: Zsolt Felfoldi <zsfelfoldi@gmail.com>
* internal/ethapi: revert + fix properly in al tracer

* internal/ethapi: use toMessage instead of creating new message

* internal/ethapi: remove ineffassign

* core: fix invalid unmarshalling, fix test

Co-authored-by: Martin Holst Swende <martin@swende.se>
…reum#23274)

Ticket ethereum#23273 found a flaw where we were unable to sign legacy-transactions
using the external signer, even if we're still on non-london network. That's
fixed in this PR.

Additionally, I found that even when supplying all parameters, it was impossible
to sign a london-transaction on an unsynched node. It's a pretty common usecase
that someone wants to sign a transaction using an unsynced 'vanilla' node,
providing all necessary data. Our setDefaults, however, insisted on checking the
current block against the config. This PR therefore adds a case, so that if both
MaxPriorityFeePerGas and MaxFeePerGas are provided, we accept them as given.

OBS This PR fixes a regression -- on current master, we are unable to sign a
london-transaction unless the node is synched, which may break scenarios where
geth (or clef) is used as a cold wallet.

Fixes ethereum#23273
…m#23200)

When the nodeCount is less than 10, it will panic with the out of bound error.
How about we just skip this round, when rand1 and rand2 are equal?
This PR moves (some) account types into a standalone package, to avoid
depending on signer/core from accounts/external.
Co-authored-by: Felix Lange <fjl@twurst.com>
* node: remove term "whitelist"

* include cmd/clef
This PR modifies the post-PING-send expectations to both be laxer and stricter: it doesn't care what order the packets arrive, but also verifies that exactly one PING and one PONG is returned.
* core/state: add trie prefetcher tests

* core/state: add missing license
This adds a check to verify that a sender-account does not have code, which means that the codehash is either `emptyCodeHash` _OR_ not present. The latter occurs IFF the sender did not previously exist, a situation which can only occur with zero cost gasprices.
In many cases, it's desireable to use already-signed transactions as input to the state transition, instead of having the evm sign them internally (for example to use malformed or not-yet-valid transactions). This PR adds support + docs for that feature.
…23287)

* add db close to avoid goroutine leak

* core/rawdb: move close to defer

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: lxex <liuxmzc1@163.com>
s1na and others added 27 commits September 17, 2021 09:31
This change introduces 2 new optional methods; `enter()` and `exit()` for js tracers, and makes `step()` optiona. The two new methods are invoked when entering and exiting a call frame (but not invoked for the outermost scope, which has it's own methods). Currently these are the data fields passed to each of them:

    enter: type (opcode), from, to, input, gas, value
    exit: output, gasUsed, error

The PR also comes with a re-write of the callTracer. As a backup we keep the previous tracing script under the name `callTracerLegacy`. Behaviour of both tracers are equivalent for the most part, although there are some small differences (improvements), where the new tracer is more correct / has more information.
* ethclient/gethclient: fix flaky test (due to map key ordering)

* accounts/keystore: fix test failing due to rand collision due to low time resolution on windows
…um#23605)

* internal: support optional filter expression for debug.stacks

* internal/debug: fix string regexp

* internal/debug: support searching for line numbers too
internal/debug: make gosimple linter happy
go.mod: fix module file to prevent go from updating it during build
* add explicit note about typing exit in console

* Add note about typing exit as alternative
Closes ethereum#23522

Co-authored-by: Martin Holst Swende <martin@swende.se>
* rpc: set scheme for ws and ipc conns to the server

* rpc: review fixes

* rpc: bugfix

* rpc: empty default scheme
This PR adds a 30s timeout for the remote part to answer a ping message, thus detecting (silent) disconnnects
* eth/tracers: add re-write of 4byte tracer using enter/exit

* eth/tracers: fix 4byte indent
…unt to trie" (ethereum#23567)

* core/state: abstracted "write account to trie" method

* fix appveyor build

* Apply suggestions from code review

Co-authored-by: Martin Holst Swende <martin@swende.se>

* review feedback

* core/state/accounts: move Account to core/types

* core/types: rename Account -> StateAccount

* core/state: restore EncodeRLP for stateObject

* core/types: add the missing file

* more review feedback

* more review feedback

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
This PR implements a new debug method, which I've talked briefly about to some other client developers. It allows the caller to obtain the intermediate state roots for a block (which might be either a canon block or a 'bad' block).
…thereum#23147)

* core/types: rm extranous check in test

* core/rawdb: add lightweight types for block logs

* core/rawdb,eth: use lightweight accessor for log filtering

* core/rawdb: add bench for decoding into rlpLogs
* accounts/abi/bind: check event signature before parsing

* remove redundant break line
…#23632)

This PR fixes an issue in traceChain, where the statedb Commit operation was performed asynchronously with dereference-operations agains the underlying trie.Database instance. Due to how the reference counting works within the trie database (where parent count is recursively updated when new parents are added), doing dereferencing in the middle of Commit can cause the refcount to become wrong, leading to an inconsistent state. 

This was fixed by doing Commit/Deref from the same routine.
* Simplify peer known block/txns cache

* Address minor changes

* Add more minor comments

* Minor changes from review
@junnmm junnmm marked this pull request as ready for review February 9, 2023 11:48
@0xcary
Copy link
Collaborator

0xcary commented Feb 9, 2023

LGTM

@viaweb3 viaweb3 merged commit 4f56db1 into kcc-community:develop Feb 9, 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.