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.4 #53

Merged
merged 103 commits into from
Feb 7, 2023
Merged

Merge upstream v1.10.4 #53

merged 103 commits into from
Feb 7, 2023

Conversation

junnmm
Copy link
Collaborator

@junnmm junnmm commented Feb 6, 2023

EIPs

v1.10.4 implements the following EIPs that may relate to KCC:

Fee market Related (may not enable them recently):

EOF (Evm Object Format) related:

Anti-spam:

Other Possible effects

  • new flag --gpo.ignoreprice is similar to set minimum gas price #21
  • --miner.gasprice & --miner.gaslimit are different from the previous.

TODO

Add more test cases in hive.

diff stat

The diff between go-Ethereum v1.10.4 and the 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                                |  255 +--
 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                     |    5 +-
 cmd/geth/config.go                       |    1 +
 cmd/geth/consolecmd.go                   |   20 +-
 cmd/geth/dbcmd.go                        |   40 +-
 cmd/geth/main.go                         |   22 +-
 cmd/geth/snapshot.go                     |   23 +-
 cmd/geth/usage.go                        |    6 +-
 cmd/utils/flags.go                       |  111 +-
 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                          |   77 +-
 core/genesis_alloc.go                    |    8 +-
 core/mkalloc.go                          |   10 +-
 core/rawdb/database.go                   |    4 +
 core/state_transition.go                 |   39 +-
 core/types/transaction.go                |    9 +-
 core/vm/analysis.go                      |   94 +-
 core/vm/analysis_test.go                 |   24 +-
 core/vm/instructions.go                  |    4 +
 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                 |   18 +-
 eth/protocols/eth/handler.go             |    2 +-
 genesis-mainnet.json                     |   47 +
 genesis-testnet.json                     |   50 +
 internal/ethapi/api.go                   |   15 +-
 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                      |  103 +-
 params/config.go                         |  447 ++---
 params/version.go                        |    6 +-
 65 files changed, 5741 insertions(+), 947 deletions(-)

fjl and others added 30 commits May 5, 2021 13:21
…thereum#22822)

* all: define London+baikal, undefine yolov3, add london override flag

* cmd, core, params: add baikal genesis definition
* core, params: implement EIP-3529

* core/vm: add london instructionset

* core/vm: add method doc for EIP enabler

Co-authored-by: Péter Szilágyi <[email protected]>
This adds support for a new struct tag "optional". Using this tag, structs used
for RLP encoding/decoding can be extended in a backwards-compatible way,
by adding new fields at the end.
'geth monitor' subcommand is no longer supported.
…eum#22841)

Getting the raw value is not necessary to decode this type, and
decoding it directly from the stream is faster.
…thereum#22852)

* core/types: remove support for legacy receipt storage encoding

* core/types: remove support for legacy log storage encoding
ethereum#22752)

This adds a cmd line parameter `--gpo.ignoreprice`, to make the gas price oracle ignore transactions below the given threshold.
eth/tracers: do the JSON serialization via .js to capture C faults
…um#22780)

* Ensure state could be created in ToBlock

* Fix rebase errors

* use a panic instead
consensus/ethash: implement EIP-3554 (bomb delay)
…2795)

* cmd/geth, eth, core: snapshot dump + unify with trie dump

* cmd/evm: dump API fixes

* cmd/geth, core, eth: fix some remaining errors

* cmd/evm: dump - add limit, support address startkey, address review concerns

* cmd, core/state, eth: minor polishes, fix snap dump crash, unify format

Co-authored-by: Péter Szilágyi <[email protected]>
…m#22871)

* cmd/evm: return json error if unmarshalling from stdin fails

* cmd/evm: make error capitalizations uniform (all lowercase starts)

* cmd/evm: capitalize error sent directly to stderror
This is the initial implementation of EIP-1559 in packages core/types and core.
Mining, RPC, etc. will be added in subsequent commits.

Co-authored-by: Marius van der Wijden <[email protected]>
Co-authored-by: [email protected] <[email protected]>
Co-authored-by: Felix Lange <[email protected]>
This PR fixes two errors that regressed when EIP-1559 was merged.
* forkid: added failing test

* forkid: fixed off-by-one bug
…#22842)

This changes the definitions of Ping and Pong, adding an optional field
for the sequence number. This field was previously encoded/decoded using
the "tail" struct tag, but using "optional" is much nicer.
This commit makes various cleanup changes to rlp.Stream.

* rlp: shrink Stream struct

This removes a lot of unused padding space in Stream by reordering the
fields. The size of Stream changes from 120 bytes to 88 bytes. Stream
instances are internally cached and reused using sync.Pool, so this does
not improve performance.

* rlp: simplify list stack

The list stack kept track of the size of the current list context as
well as the current offset into it. The size had to be stored in the
stack in order to subtract it from the remaining bytes of any enclosing
list in ListEnd. It seems that this can be implemented in a simpler
way: just subtract the size from the enclosing list context in List instead.
holiman and others added 26 commits June 8, 2021 11:07
…um#23010)

* all: rename internal 1559 gas fields, add support for graphql

* cmd/evm/testdata, core: use public 1559 gas names on API surfaces
eth/ethconfig: bump the RPC gas cap to 50M, since 1559 exceeds 25
This function is not used in the code base, so probably safe to do rename, or remove in its entirety, but I'm assuming the logic from the original creator still applies so rename probably better.
core, internal: support various eth_call invocations post 1559
core: make genesis parse baseFee correctly
* accounts/abi/bind/backends: add blockByHashNoLock

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* accounts/abi/bind/backends: add 'parent' arg to rollback

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* accounts/abi/bind/backends: add simulated forks

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* accounts/abi/bind/backends: minor nitpicks

* accounts/abi/bind/backends: don't add defensive panics

Co-authored-by: Péter Szilágyi <[email protected]>
core: change baseFee into baseFeePerGas in genesis json
* params: add london testnet blocks

* core/forkid: update fork hashes
…hereum#23038)

* accounts/abi/bind: fix bounded contracts and sim backend for 1559

* accounts/abi/bind, ethclient: don't rely on chain config for gas prices

* all: enable London for all internal tests

* les: get receipt type info in les tests

* les: fix weird test

Co-authored-by: Martin Holst Swende <[email protected]>
params: bump CHTs for Geth v1.10.4
core, graphql, internal: expose effectiveGasPrice in receipts
* core/vm: evm fix panic

* core/vm/runtime: default to params.initialbasefee
travis, build: own docker builder and hub pusher
travis: don't overwrite amd64 images with arm64
@junnmm junnmm marked this pull request as ready for review February 6, 2023 02:35
@0xcary
Copy link
Collaborator

0xcary commented Feb 7, 2023

LGTM

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