Commit Graph

305 Commits

Author SHA1 Message Date
Martin Holst Swende
6fb6cbf27c core/vm, protocol_params: implement eip-2565 modexp repricing (#21607)
* core/vm, protocol_params: implement eip-2565 modexp repricing

* core/vm: fix review concerns
2021-03-08 11:44:39 +01:00
ledgerwatch
b743b88218
Revert "Extract validating interface (#1120)" (#1543)
* Revert "Extract validating interface (#1120)"

This reverts commit e4e36c152e.

* Fix go mod tidy

* Fix lint

* Fix lint

* fix lint

* Test fix

* Fix test

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-03-05 20:34:23 +00:00
Evgeny Danilenko
e4e36c152e
Extract validating interface (#1120)
* interface

* generalize interface

* linters

* fix deadlock

* fix linters

* close goroutine

* fix

* debug

* id+ttl

* refactor downloader tests

* tests

* lru

* handle genesis, extract fake consensuses

* fix fake consensus

* test uncles, verify

* after a new master

* fmt

* fix close

* debug

* debug

* fix chain length

* remove test field

* use single account

* fix data race on closing channel

* remove postponed blocks queue

* miner test

* VerifyHeaderRequests

* fmt

* fmt

* fix data race

* handle validating errors

* simplify matchParents

* remove copy-paste

* move sort to constructor

* clean up

* debug for 10 parents

* debug

* debug

* batch responses

* batch requests

* works for many ancestors

* remove debug

* always Close an engine

* linters

* ancestors deduplication

* fix test

* reduce interface

* api

* clique

* green clique sync

* stable

* perpermance per second

* full sync

* linters

* gitignore

* deps

* fix panic after master merge

* init consensus

* clique tests

* fix tests

* fix tests

* clean up

* reuse snap

* store vefified snapshots

* optimize snapshots

* safe close

* cleanup loop

* after downloader

* downloader and consensus tests

* update tests

* hack.go

* clique flags

* fix cliuqe config

* review

* gitignore

* remove additional bucket

* blk/sec instead of blk/microsecond

* rename

* deps

* optimize

* debug

* test

* tests without extracted validation process

* same base performance as on master

* benchmark

* simplify ethash verification

* ethash

* ethash

* linters

* ethash

* master stats

* cleanup

* gomod

* linters

* tests

* better locks

* Fix

* Remove logging for verifyHeaders

* Verification speed in the logs

* Fix compile error

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-02-25 19:40:45 +00:00
Igor Mandrigin
75ad819cc5
begin 2021.03.01 release cycle 2021-02-25 10:38:04 +01:00
Igor Mandrigin
0ffff53d00 begin 2021.02.04 release cycle 2021-02-18 12:56:03 +01:00
Igor Mandrigin
42094ae9ac begin release cycle 2021.02.03 2021-02-11 15:00:54 +01:00
Igor Mandrigin
29bf7eb864 begin release cycle 2021.02.02 2021-02-04 09:40:21 +01:00
Igor Mandrigin
906d3eefb6 begin release cycle 2021.02.01 2021-01-28 15:17:28 +01:00
Igor Mandrigin
c972a94c7c begin release cycle 2021.01.03 2021-01-21 14:13:03 +01:00
Igor Mandrigin
d4abe16d25 begin release cycle 2021.01.02 2021-01-14 16:17:08 +01:00
Igor Mandrigin
dc0f950103 begin 2021.1.1 release cycle 2020-12-17 10:17:55 +01:00
Igor Mandrigin
20b3824cf6 begin 2020.12.3 release cycle 2020-12-10 10:43:17 +01:00
Martin Holst Swende
3e6100fe4f params: update yolov2 bootnode with elastic ip 2020-12-03 18:59:17 +01:00
Martin Holst Swende
39c494f4f3 utils, params: add yolov2 bootnode 2020-12-03 18:59:17 +01:00
Martin Holst Swende
ca3d54a32c all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509)
* core/vm, core/state: implement EIP-2929 + YOLOv2

* core/state, core/vm: fix some review concerns

* core/state, core/vm: address review concerns

* core/vm: address review concerns

* core/vm: better documentation

* core/vm: unify sload cost as fully dynamic

* core/vm: fix typo

* core/vm/runtime: fix compilation flaw

* core/vm/runtime: fix renaming-err leftovers

* core/vm: renaming

* params/config: use correct yolov2 chainid for config

* core, params: use a proper new genesis for yolov2

* core/state/tests: golinter nitpicks
# Conflicts:
#	cmd/evm/internal/t8ntool/execution.go
#	cmd/geth/chaincmd.go
#	cmd/geth/consolecmd.go
#	cmd/geth/main.go
#	cmd/geth/usage.go
#	cmd/utils/flags.go
#	core/state/statedb.go
#	core/state/statedb_test.go
#	core/vm/evm.go
#	core/vm/interpreter.go
#	core/vm/logger.go
#	core/vm/runtime/runtime.go
#	eth/api_tracer.go
2020-12-03 17:37:38 +01:00
Igor Mandrigin
f787c24ba8 begin 2020.12.2 release cycle 2020-12-03 10:37:11 +01:00
Igor Mandrigin
6dc0f8e840 begin 2020.12.1 release cycle 2020-11-26 11:04:29 +01:00
Igor Mandrigin
76974c0afa begin 2020.11.4 release cycle 2020-11-19 13:54:45 +01:00
Igor Mandrigin
f1becbe0a3 begin 2020.11.3 release cycle 2020-11-12 13:03:43 +01:00
Igor Mandrigin
e4596532d5 begin 2020.11.2 release cycle 2020-11-05 13:28:50 +01:00
Igor Mandrigin
feaac77390 begin 2020.11.01 release cycle 2020-10-29 13:10:51 +01:00
gary rong
ee6e0cbd5c params: update CHTs (#21706) 2020-10-26 17:16:00 +01:00
Raw Pong Ghmoa
1e869888ec params: update goerli testnet bootnodes (#21659)
* params: update pegasys besu bootnode

* params: update goerli initiative bootnodes
2020-10-26 17:16:00 +01:00
Martin Holst Swende
618f9bedfa core/vm, params: make 2200 in line with spec (#21605)
# Conflicts:
#	core/vm/gas_table.go
2020-10-26 17:16:00 +01:00
Igor Mandrigin
468f246371 begin 2020.10.03 release cycle 2020-10-22 12:30:48 +02:00
Péter Szilágyi
3ff949b7d0 params: update CHTs for Geth v1.9.22 2020-10-06 14:12:09 +02:00
Vinod Damle
9c65cbd46a params: allow setting Petersburg block before chain head (#21473)
* Allow setting PetersburgBlock before chainhead

if it is at the same block as ConstantinopleBlock

* Add a negative test
2020-10-06 14:12:09 +02:00
Igor Mandrigin
da9f333a2b begin 2020.10.02 release cycle 2020-10-01 11:21:06 +02:00
Igor Mandrigin
5aedee8e6f begin 2020.10.01 release cycle 2020-09-24 10:56:17 +02:00
Igor Mandrigin
be2100766c begin 2020.09.04 release cycle 2020-09-17 14:27:55 +02:00
Igor Mandrigin
dc9460bbaf fixups 2020-09-11 16:45:11 +02:00
Péter Szilágyi
20ec4436e2 params: release Geth v1.9.21
# Conflicts:
#	params/version.go
2020-09-11 16:30:35 +02:00
Péter Szilágyi
329badfa76 params: update CHTs for v1.9.21 release 2020-09-11 16:30:00 +02:00
Igor Mandrigin
bbb01d86ac begin 2020.09.03 release cycle 2020-09-10 12:59:36 +02:00
Igor Mandrigin
581dbcbe9b 2020.09.02 release cycle 2020-09-03 11:09:40 +02:00
Péter Szilágyi
a1c28a0178 params: update CHTs for v1.9.20 release 2020-08-29 13:28:59 +02:00
Igor Mandrigin
03c1b48180 calver: start 2020.09.01 release 2020-08-27 10:55:52 +02:00
Igor Mandrigin
d848233275 Merge branch 'master' into geth-1.9.19
# Conflicts:
#	cmd/geth/consolecmd.go
#	cmd/rpcdaemon/service/service.go
#	cmd/utils/flags.go
#	eth/backend.go
2020-08-15 21:55:09 +02:00
Péter Szilágyi
31cd3e7a92 params: update CHTs for v1.9.19 2020-08-14 16:49:50 +02:00
Igor Mandrigin
bea1132aae begin 2020.08.03 release cycle 2020-08-13 17:34:16 +02:00
gary rong
5f15f68afb params: upgrade CHTs (#21376) 2020-08-07 13:54:06 +02:00
gary rong
8738c90219 les: historical data garbage collection (#19570)
This change introduces garbage collection for the light client. Historical
chain data is deleted periodically. If you want to disable the GC, use
the --light.nopruning flag.
# Conflicts:
#	cmd/geth/main.go
#	cmd/utils/flags.go
#	core/blockchain.go
#	core/chain_indexer.go
#	core/chain_indexer_test.go
#	core/chain_makers.go
#	core/dao_test.go
#	core/genesis.go
#	core/rawdb/accessors_chain_test.go
#	core/rawdb/accessors_indexes_test.go
#	core/rawdb/freezer.go
#	core/state/statedb_test.go
#	eth/downloader/downloader.go
#	eth/downloader/downloader_test.go
#	eth/downloader/testchain_test.go
#	eth/gen_config.go
#	internal/ethapi/api.go
#	internal/ethapi/backend.go
#	les/api_backend.go
#	les/client.go
#	les/odr_requests.go
#	les/odr_test.go
#	les/request_test.go
#	les/server.go
#	les/sync_test.go
#	les/test_helper.go
#	les/ulc_test.go
#	light/lightchain.go
#	light/odr.go
#	light/odr_util.go
#	light/postprocess.go
#	trie/database.go
#	trie/iterator_test.go
#	trie/trie_test.go
2020-08-07 13:16:46 +02:00
Igor Mandrigin
715874f060 update version 2020-08-06 14:09:36 +02:00
Igor Mandrigin
6ca3e36024
Use CalVer for turbo-geth versioning. (#792) 2020-07-27 14:18:26 +02:00
Igor Mandrigin
93f6c4c01a post-rebase fixups 2020-06-15 19:38:54 +03:00
Felix Lange
2df2531eaf params: go-ethereum v1.9.15 stable 2020-06-15 19:38:13 +03:00
Péter Szilágyi
0e44638fa6 params: update CHTs for 1.9.15 release 2020-06-15 19:38:13 +03:00
Martin Holst Swende
7347d036b0 cmd, core, params: inital support for yolo-v1 testnet (#21154)
* core,params,puppeth: inital support for yolo-v1 testnet

* cmd/geth, core: add yolov1 console flag

* cmd, core, params: YoloV1 bakein fixups

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
# Conflicts:
#	core/vm/interpreter.go
#	params/config.go
2020-06-15 19:38:13 +03:00
kilic
0921861edb core/vm, crypto/bls12381, params: add bls12-381 elliptic curve precompiles (#21018)
* crypto: add bls12-381 elliptic curve wrapper

* params: add bls12-381 precompile gas parameters

* core/vm: add bls12-381 precompiles

* core/vm: add bls12-381 precompile tests

* go.mod, go.sum: use latest bls12381 lib

* core/vm: move point encode/decode functions to base library

* crypto/bls12381: introduce bls12-381 library init function

* crypto/bls12381: import bls12381 elliptic curve implementation

* go.mod, go.sum: remove bls12-381 library

* remove unsued frobenious coeffs

supress warning for inp that used in asm

* add mappings tests for zero inputs

fix swu g2 minus z inverse constant

* crypto/bls12381: fix typo

* crypto/bls12381: better comments for bls12381 constants

* crypto/bls12381: swu, use single conditional for e2

* crypto/bls12381: utils, delete empty line

* crypto/bls12381: utils, use FromHex for string to big

* crypto/bls12381: g1, g2, strict length check for FromBytes

* crypto/bls12381: field_element, comparision changes

* crypto/bls12381: change swu, isogeny constants with hex values

* core/vm: fix point multiplication comments

* core/vm: fix multiexp gas calculation and lookup for g1 and g2

* core/vm: simpler imput length check for multiexp and pairing precompiles

* core/vm: rm empty multiexp result declarations

* crypto/bls12381: remove modulus type definition

* crypto/bls12381: use proper init function

* crypto/bls12381: get rid of new lines at fatal desciprtions

* crypto/bls12-381: fix no-adx assembly multiplication

* crypto/bls12-381: remove old config function

* crypto/bls12381: update multiplication backend

this commit changes mul backend to 6limb eip1962 backend

mul assign operations are dropped

* core/vm/contracts_tests: externalize test vectors for precompiles

* core/vm/contracts_test: externalize failure-cases for precompiles

* core/vm: linting

* go.mod: tiny up sum file

* core/vm: fix goimports linter issues

* crypto/bls12381: build tags for plain ASM or ADX implementation

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
# Conflicts:
#	core/vm/contracts.go
#	core/vm/contracts_test.go
#	go.sum
2020-06-15 19:38:13 +03:00
Martin Michlmayr
732a20d468 all: fix typos in comments (#21118)
# Conflicts:
#	accounts/abi/bind/backends/simulated.go
#	cmd/puppeth/module_dashboard.go
#	core/blockchain_test.go
#	core/rawdb/chain_iterator.go
#	core/state/snapshot/difflayer.go
#	core/state/snapshot/iterator.go
#	core/state/snapshot/iterator_fast.go
#	core/state/snapshot/snapshot.go
#	core/state/snapshot/wipe.go
#	core/tx_pool.go
#	les/clientpool.go
#	les/peer.go
#	mobile/doc.go
#	trie/committer.go
#	trie/database.go
2020-06-15 19:38:13 +03:00