Commit Graph

514 Commits

Author SHA1 Message Date
Martin Holst Swende
cc606be74c
all: define London+baikal, undefine yolov3, add london override flag (#22822)
* all: define London+baikal, undefine yolov3, add london override flag

* cmd, core, params: add baikal genesis definition
2021-05-06 12:07:42 +03:00
Felix Lange
37b5595456 params: begin v1.10.4 release cycle 2021-05-05 13:21:13 +02:00
Felix Lange
991384a7f6 params: go-ethereum v1.10.3 stable 2021-05-05 13:20:06 +02:00
Felix Lange
afb097eda8
params: remove dependency on crypto (#22788)
* params: remove dependency on crypto

Package params should not depend on package crypto because building
crypto requires cgo.

Since build/ci.go needs package params to get the go-ethereum version
number, C code must be compiled in order to run the build tool, which is
annoying for certain cross-compilation setups.

* params: add SectionHead
2021-05-03 15:28:02 +03:00
Guillaume Ballet
f79cce5de9
eth/catalyst: add catalyst API prototype (#22641)
This change adds the --catalyst flag, enabling an RPC API for eth2 integration.
In this initial version, catalyst mode also disables all peer-to-peer networking.

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
2021-04-16 21:29:22 +02:00
meowsbits
3cfd0fe7a8
core: add TestGenesisHashes and fix YoloV3 (#22559)
This adds simple unit test checking if the hard-coded genesis
hash values in package params match the actual genesis block hashes.
2021-04-16 00:32:16 +02:00
Felix Lange
04dcc9378d params: begin v1.10.3 release cycle 2021-04-08 13:04:30 +02:00
Felix Lange
97d11b0187 params: release go-ethereum v1.10.2 stable 2021-04-08 13:02:25 +02:00
Péter Szilágyi
e3ff37c47a
params: update CHTs for v1.10.2 2021-04-08 13:23:34 +03:00
Péter Szilágyi
182670849e
params: begin v1.10.2 release cycle 2021-03-08 11:34:08 +02:00
Péter Szilágyi
c2d2f4ed8f
params: release Geth v1.10.1 2021-03-08 11:32:20 +02:00
Péter Szilágyi
9230ca4924 Revert "core/forkid, params: unset Berlin fork number (#22413)"
This reverts commit ba999105ef89473cfe39e5e53354f7099e67a290.
2021-03-04 10:44:37 +02:00
Felix Lange
63385374ec params: begin v1.10.1 release cycle 2021-03-03 18:01:31 +01:00
Felix Lange
56dec25ae2 params: release geth 1.10.0 stable 2021-03-03 17:44:17 +01:00
Péter Szilágyi
ba999105ef
core/forkid, params: unset Berlin fork number (#22413) 2021-03-03 12:05:27 +02:00
gary rong
c539a052bd
params: update chts (#22418) 2021-03-03 12:04:25 +02:00
Péter Szilágyi
0928562670
all: define Berlin hard fork spec 2021-02-26 14:24:07 +02:00
lightclient
bbfb1e4008
all: add support for EIP-2718, EIP-2930 transactions (#21502)
This adds support for EIP-2718 typed transactions as well as EIP-2930
access list transactions (tx type 1). These EIPs are scheduled for the
Berlin fork.

There very few changes to existing APIs in core/types, and several new APIs
to deal with access list transactions. In particular, there are two new
constructor functions for transactions: types.NewTx and types.SignNewTx.
Since the canonical encoding of typed transactions is not RLP-compatible,
Transaction now has new methods for encoding and decoding: MarshalBinary
and UnmarshalBinary.

The existing EIP-155 signer does not support the new transaction types.
All code dealing with transaction signatures should be updated to use the
newer EIP-2930 signer. To make this easier for future updates, we have
added new constructor functions for types.Signer: types.LatestSigner and
types.LatestSignerForChainID. 

This change also adds support for the YoloV3 testnet.

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Ryan Schneider <ryanleeschneider@gmail.com>
2021-02-25 15:26:57 +01:00
Péter Szilágyi
d86906f1e6
params: just to make snapshots a bit more official 2021-02-08 13:03:06 +02:00
Sina Mahmoodi
eb21c652c0
cmd,core,eth,params,tests: define yolov3 + enable EIP-2565 (#22213)
Removes the yolov2 definition, adds yolov3, including EIP-2565. This PR also disables some of the erroneously generated blockchain and statetests, and adds the new genesis hash + alloc for yolov3. 
This PR disables the CLI switches for yolo, since it's not complete until we merge support for 2930.
2021-01-28 21:19:07 +01:00
Felföldi Zsolt
a72fa88a0d
les: switch to new discv5 (#21940)
This PR enables running the new discv5 protocol in both LES client
and server mode. In client mode it mixes discv5 and dnsdisc iterators
(if both are enabled) and filters incoming ENRs for "les" tag and fork ID.
The old p2p/discv5 package and all references to it are removed.

Co-authored-by: Felix Lange <fjl@twurst.com>
2021-01-26 21:41:35 +01:00
Felix Lange
fc0662bb23 params: begin v1.9.26 release cycle 2020-12-11 09:03:16 +01:00
Felix Lange
e787272901 params: go-ethereum v1.9.25 stable 2020-12-11 09:03:16 +01:00
gary rong
908c18073a
params: update CHTs (#21941) 2020-12-02 09:17:59 +01:00
Martin Holst Swende
6f4cccf8d2
core/vm, protocol_params: implement eip-2565 modexp repricing (#21607)
* core/vm, protocol_params: implement eip-2565 modexp repricing

* core/vm: fix review concerns
2020-11-13 13:39:59 +01:00
Felix Lange
919229d63c params: begin v1.9.25 release cycle 2020-11-12 21:21:24 +01:00
Péter Szilágyi
cc05b050df
params: release Geth v1.9.24 with Go 1.15.5 (#21842) 2020-11-12 21:10:15 +01:00
Martin Holst Swende
68ac4eb796
params: update yolov2 bootnode with elastic ip 2020-10-23 16:47:26 +02:00
Martin Holst Swende
f5182c7b9c
utils, params: add yolov2 bootnode 2020-10-23 15:40:48 +02:00
Martin Holst Swende
6487c002f6
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
2020-10-23 08:26:57 +02:00
Felix Lange
51d026ca85 params: begin v1.9.24 release cycle 2020-10-15 12:30:41 +02:00
Felix Lange
8c2f271528 params: go-ethereum v1.9.23 stable 2020-10-15 12:29:42 +02:00
gary rong
bdc7554918
params: update CHTs (#21706) 2020-10-14 11:57:37 +02:00
Raw Pong Ghmoa
2b2fd74158
params: update goerli testnet bootnodes (#21659)
* params: update pegasys besu bootnode

* params: update goerli initiative bootnodes
2020-10-06 08:35:21 +03:00
Martin Holst Swende
0ddd4612b7
core/vm, params: make 2200 in line with spec (#21605) 2020-09-28 14:14:45 +02:00
Péter Szilágyi
c9959145a9
params: begin v1.9.23 release cycle 2020-09-28 11:23:02 +03:00
Péter Szilágyi
c71a7e26a8
params: release Geth v1.9.22 2020-09-28 11:21:47 +03:00
Péter Szilágyi
b5d362b2bf
params: update CHTs for Geth v1.9.22 2020-09-28 11:19:22 +03:00
Vinod Damle
8696dd39cb
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-09-16 09:39:35 +03:00
Péter Szilágyi
8d35b1eb2b
params: begin v1.9.22 release cycle 2020-09-09 11:23:37 +03:00
Péter Szilágyi
0287d54847
params: release Geth v1.9.21 2020-09-09 11:22:11 +03:00
Péter Szilágyi
dc681fc1f6
params: update CHTs for v1.9.21 release 2020-09-09 10:33:20 +03:00
Felix Lange
fc20680b95 params: begin v1.9.21 release cycle 2020-08-25 16:21:41 +02:00
Felix Lange
979fc96899 params: release Geth v1.9.20 2020-08-25 16:20:37 +02:00
Péter Szilágyi
ce5f94920d
params: update CHTs for v1.9.20 release 2020-08-25 13:02:51 +03:00
Péter Szilágyi
04926db204
params: begin v1.9.20 release cycle 2020-08-11 14:11:16 +03:00
Péter Szilágyi
3e0641923d
params: release Geth v1.9.19 2020-08-11 14:10:21 +03:00
Péter Szilágyi
7afdf792ab
params: update CHTs for v1.9.19 2020-08-11 10:20:03 +03:00
Péter Szilágyi
8e7bee9b56
params: begin v1.9.19 release cycle 2020-07-27 14:58:45 +03:00
Péter Szilágyi
f538259187
params: release Geth v1.9.18 2020-07-27 14:53:53 +03:00
gary rong
b1be979443
params: upgrade CHTs (#21376) 2020-07-27 12:57:15 +03:00
Péter Szilágyi
722b742780
params: begin v1.9.18 release cycle 2020-07-20 15:58:33 +03:00
Péter Szilágyi
748f22c192
params: release Geth v1.9.17 2020-07-20 15:56:42 +03:00
gary rong
6eef141aef
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.
2020-07-13 11:02:54 +02:00
Felix Lange
b8dd0890b3 params: begin v1.9.17 release cycle 2020-07-10 12:40:31 +02:00
Felix Lange
ea3b00ad75 params: go-ethereum v1.9.16 stable 2020-07-10 12:38:48 +02:00
Felix Lange
da06519347 params: begin v1.9.16 release cycle 2020-06-08 11:00:17 +02:00
Felix Lange
0f77f34bb6 params: go-ethereum v1.9.15 stable 2020-06-08 10:56:48 +02:00
Péter Szilágyi
a5c827af86
params: update CHTs for 1.9.15 release 2020-06-08 11:14:33 +03:00
Martin Holst Swende
890757f03a
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>
2020-06-03 12:05:15 +03:00
kilic
4fc678542d
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>
2020-06-03 09:44:32 +03:00
Martin Michlmayr
4f2784b38f
all: fix typos in comments (#21118) 2020-05-25 10:21:28 +02:00
Felföldi Zsolt
b4a2681120
les, les/lespay: implement new server pool (#20758)
This PR reimplements the light client server pool. It is also a first step
to move certain logic into a new lespay package. This package will contain
the implementation of the lespay token sale functions, the token buying and
selling logic and other components related to peer selection/prioritization
and service quality evaluation. Over the long term this package will be
reusable for incentivizing future protocols.

Since the LES peer logic is now based on enode.Iterator, it can now use
DNS-based fallback discovery to find servers.

This document describes the function of the new components:
https://gist.github.com/zsfelfoldi/3c7ace895234b7b345ab4f71dab102d4
2020-05-22 13:46:34 +02:00
Péter Szilágyi
46698d7931
params: begin v1.9.15 release cycle 2020-05-13 12:33:58 +03:00
Péter Szilágyi
6d74d1e5f7
params: release go-ethereum v1.9.14 2020-05-13 12:31:35 +03:00
Péter Szilágyi
126ac94f36
params: bump CHTs for the v1.9.14 release 2020-05-11 18:56:09 +03:00
Marius van der Wijden
930e82d7f4
params, cmd/utils: remove outdated discv5 bootnodes, deprecate flags (#20949)
* params: remove outdated discv5 bootnodes

* cmd/utils: deprecated bootnodesv4/v5 flags
2020-05-11 11:16:32 +03:00
Péter Szilágyi
3bf1054a13
params: begin v1.9.14 release cycle 2020-04-16 10:41:32 +03:00
Péter Szilágyi
cbc4ac264e
params: release Geth v1.9.13 2020-04-16 10:39:22 +03:00
Péter Szilágyi
d77d35a4a9
params: update CHTs for the 1.9.13 release 2020-04-15 18:03:10 +03:00
Raw Pong Ghmoa
15540ae992
cmd: deprecate --testnet, use named networks instead (#20852)
* cmd/utils: make goerli the default testnet

* cmd/geth: explicitly rename testnet to ropsten

* core: explicitly rename testnet to ropsten

* params: explicitly rename testnet to ropsten

* cmd: explicitly rename testnet to ropsten

* miner: explicitly rename testnet to ropsten

* mobile: allow for returning the goerli spec

* tests: explicitly rename testnet to ropsten

* docs: update readme to reflect changes to the default testnet

* mobile: allow for configuring goerli and rinkeby nodes

* cmd/geth: revert --testnet back to ropsten and mark as legacy

* cmd/util: mark --testnet flag as deprecated

* docs: update readme to properly reflect the 3 testnets

* cmd/utils: add an explicit deprecation warning on startup

* cmd/utils: swap goerli and ropsten in usage

* cmd/geth: swap goerli and ropsten in usage

* cmd/geth: if running a known preset, log it for convenience

* docs: improve readme on usage of ropsten's testnet datadir

* cmd/utils: check if legacy `testnet` datadir exists for ropsten

* cmd/geth: check for legacy testnet path in console command

* cmd/geth: use switch statement for complex conditions in main

* cmd/geth: move known preset log statement to the very top

* cmd/utils: create new ropsten configurations in the ropsten datadir

* cmd/utils: makedatadir should check for existing testnet dir

* cmd/geth: add legacy testnet flag to the copy db command

* cmd/geth: add legacy testnet flag to the inspect command
2020-04-09 12:09:58 +03:00
Péter Szilágyi
8d7aa9078f
params: begin v1.9.13 release cycle 2020-03-16 13:44:58 +02:00
Péter Szilágyi
b6f1c8dcc0
params: release Geth v1.9.12 2020-03-16 13:39:04 +02:00
Gregory Markou
4be8840120
core/vm: use dedicated SLOAD gas constant for EIP-2200 (#20646) 2020-02-18 15:07:41 +01:00
Péter Szilágyi
529b81dadb
params: begin v1.9.12 release cycle 2020-02-18 13:27:39 +02:00
Péter Szilágyi
6a62fe399b
params: release Geth v1.9.11 stable 2020-02-18 13:26:00 +02:00
Péter Szilágyi
4f55e24c02
params: update CHTs for the v1.9.11 release 2020-02-18 10:55:44 +02:00
Felix Lange
38d1b0cba2
cmd/geth: enable DNS discovery by default (#20660)
* node: expose config in service context

* eth: integrate p2p/dnsdisc

* cmd/geth: add some DNS flags

* eth: remove DNS URLs

* cmd/utils: configure DNS names for testnets

* params: update DNS URLs

* cmd/geth: configure mainnet DNS

* cmd/utils: rename DNS flag and fix flag processing

* cmd/utils: remove debug print

* node: fix test
2020-02-13 15:38:30 +02:00
Martin Holst Swende
15d09038a6
params: update bootnodes (#20610) 2020-01-31 14:12:19 +01:00
Péter Szilágyi
ad2fc7c6a6
params: begin Geth v1.9.11 release cycle 2020-01-20 12:32:47 +02:00
Péter Szilágyi
58cf5686ea
params: release Geth v1.9.10 2020-01-20 12:27:51 +02:00
Péter Szilágyi
1f1cefc036
params: update CHTs for v1.9.10 release 2020-01-20 10:28:49 +02:00
Péter Szilágyi
370cb95b7f
params: begin v1.9.10 release cycle 2019-12-06 11:53:25 +02:00
Péter Szilágyi
017449971e
params: release Geth v1.9.9 2019-12-06 11:51:37 +02:00
Martin Holst Swende
bc01593afb consensus/ethash, params: eip-2384: bump difficulty bomb (#20347)
* consensus/ethash, params: implement eip-2384: bump difficulty bomb

* params: EIP 2384 compat checks

* consensus, params: add Muir Glacier block number (mainnet,ropsten) + official name

* core/forkid: forkid tests for muir glacier

* params/config: address review concerns

* params, core/forkid: review nitpicks

* cmd/geth,eth,les: add override option for muir glacier

* params: nit fix
2019-12-06 11:36:40 +02:00
Péter Szilágyi
6b6882f08b
params: update CHTs for v1.9.9 release 2019-12-05 11:01:40 +02:00
Péter Szilágyi
0676320169
params: begin v1.9.9 release cycle 2019-11-26 12:21:11 +02:00
Péter Szilágyi
d62e9b2857
params: release go-ethereum v1.9.8 2019-11-26 12:20:22 +02:00
meowsbits
f03b2db7db params: finish sentence in comment (#20291) 2019-11-14 23:05:32 +02:00
Péter Szilágyi
4b8f56cf98
params: begin v1.9.8 release cycle 2019-11-07 10:01:20 +02:00
Péter Szilágyi
a718daa674
params: release Geth v1.9.7 2019-11-07 09:58:39 +02:00
Péter Szilágyi
9948724deb
params: hard-code new CHTs for the 1.9.7 release 2019-11-06 17:47:13 +02:00
Martin Holst Swende
9278951a62 params, core/forkid: configure mainnet istanbul block 9069K (#20222)
* params: configure mainnet istanbul block 9069K

* core/forkid: add some more test items for mainnet istanbul
2019-10-31 11:04:26 +02:00
Martin Holst Swende
c476460cb2
params: check fork ordering when initializing new genesis, fixes #20136 (#20169)
prevent users from misconfiguring their nodes so that fork ordering is not preserved.
2019-10-16 13:23:14 +02:00
Felix Lange
a73f3f4518 params: begin v1.9.7 release cycle 2019-10-03 11:29:55 +02:00
Felix Lange
bd05968077 params: release Geth v1.9.6 stable 2019-10-03 11:29:20 +02:00
Péter Szilágyi
311419c7d6
Merge pull request #20096 from skylenet/remove-ef-legacy-bootnodes
params: remove legacy bootnodes
2019-09-23 11:38:39 +03:00
Felix Lange
63b18027dc params: start v1.9.6 release cycle 2019-09-20 13:33:08 +02:00
Felix Lange
a1c09b9387 params: release Geth v1.9.5 stable 2019-09-20 13:32:42 +02:00
Rafael Matias
75aec8a28d
params: remove legacy bootnodes 2019-09-19 19:35:57 +02:00
Péter Szilágyi
24ef83518c
params: start v1.9.5 release cycle 2019-09-19 11:38:43 +03:00
Péter Szilágyi
46891c12ab
params: release Geth v1.9.4 stable 2019-09-19 11:36:53 +03:00
Péter Szilágyi
a6a14f6b71
Merge pull request #20090 from soc1c/s1-testnet-istanbul
params: activate Istanbul on Ropsten, Rinkeby and Görli
2019-09-19 10:47:50 +03:00
Péter Szilágyi
f9eb307216
core/forkid, params: fix tests, enable Istanbul on Rinkeby + testers 2019-09-19 10:13:11 +03:00
Péter Szilágyi
2becb99583
params: bump CHTs for the 1.9.4 release 2019-09-19 09:45:40 +03:00
soc1c
ad380cd57f
params: activate Istanbul on Ropsten and Görli 2019-09-19 08:25:08 +02:00
Péter Szilágyi
b4a4a4db71
params: begin Geth v1.9.4 release cycle 2019-09-03 12:12:53 +03:00
Péter Szilágyi
cfbb969da8
params: release Geth v1.9.3 stable 2019-09-03 12:00:38 +03:00
Péter Szilágyi
3bb9b49afb
core/vm, params: implement EIP2200, SSTORE optimizations (#19964)
* core/vm, params: implement EIP2200, SSTORE optimizations

* core/vm, params: switch EIP2200 to Wei's version
2019-08-19 14:39:38 +03:00
gary rong
c2c4c9f1e5 core, light, params: implement eip2028 (#19931)
* core, light, params: implement eip2028

* core, light: address comments

* core: address comments

* tests: disable Istanbul tx tests (until updated)

* core: address comment
2019-08-14 15:53:21 +03:00
Péter Szilágyi
aaf29095bb
params: begin Geth v1.9.3 release cycle 2019-08-13 13:06:00 +03:00
Péter Szilágyi
e76047e9f5
params: release Geth v1.9.2 2019-08-13 13:03:42 +03:00
Péter Szilágyi
423fd5877d
params: update CHT to 12th August, 2019 2019-08-12 14:23:32 +03:00
Martin Holst Swende
3e993ff64a Eip 1884 v3 (#19743)
* core/vm, tests: implement EIP 1884, add support for feature-tests

* core/vm: 1884-changes to extcodehash, move selfbalance opcode

* tests: fix statetests

* core/vm: move constants, address review concerns

* core/vm: word formatting

Co-Authored-By: Péter Szilágyi <peterke@gmail.com>
2019-08-08 12:07:23 +03:00
Antonio Salazar Cardozo
beff5fa578 params, core/vm: Istanbul EIP-1108 bn256 gas cost reduction (#19904)
* params: add IsIstanbul to config + rules

IstanbulBlock, used to determine if the config IsIstanbul, is currently
left nil until an actual block is chosen.

* params, core/vm: implement EIP-1108

Old gas costs for elliptic curve operations are given the PreIstanbul
prefix, while current gas costs retain the unprefixed names. The actual
precompile implementations are the same, so they are factored out into
common functions that are called by the pre-Istanbul and current
precompile structs. Finally, an Istanbul precompile list is added that
references the new precompile structs, which in turn reference the new
gas costs.

* params: fix fork ordering, add missing chain compatibility check
2019-08-06 17:12:54 +03:00
Martin Holst Swende
aa6005b469 core/vm, params: refactor chain configuration (#19735)
* params, core/vm: deprecating gastable, part 1

* core/vm, params: deprecate gastable, use both constant and dynamic gas

* core/vm, params: remove gastable, remove copypaste

* core/vm: make use of the chainrules

* interpreter: make tracing count constant+dynamic gas

* core/vm: review concerns (param/method name changes)

* core/vm: make use of chainrules more
2019-08-05 11:01:02 +03:00
Péter Szilágyi
08e5cd94a9
params: begin Geth v1.9.2 release cycle 2019-07-24 09:44:37 +03:00
Péter Szilágyi
b7b2f60f86
params: release Geth v1.9.1 2019-07-24 09:41:48 +03:00
Péter Szilágyi
28fea9c5af
params: bump hard-coded CHTs to 22nd July values 2019-07-22 11:26:07 +03:00
Péter Szilágyi
72029f0f88
params: begin Geth v1.9.1 release cycle 2019-07-10 10:42:44 +03:00
Péter Szilágyi
52f2461774
params: release Geth v1.9.0 2019-07-10 10:41:15 +03:00
Péter Szilágyi
1bed5afd92
params: bump all CHTs, deploy all checkpoint oracles 2019-07-09 02:05:01 +03:00
Péter Szilágyi
22411919da
cmd, eth, les, param: drop --override.constantinople 2019-07-02 14:14:59 +03:00
gary rong
f7cdea2bdc all: on-chain oracle checkpoint syncing (#19543)
* all: implement simple checkpoint syncing

cmd, les, node: remove callback mechanism

cmd, node: remove callback definition

les: simplify the registrar

les: expose checkpoint rpc services in the light client

les, light: don't store untrusted receipt

cmd, contracts, les: discard stale checkpoint

cmd, contracts/registrar: loose restriction of registeration

cmd, contracts: add replay-protection

all: off-chain multi-signature contract

params: deploy checkpoint contract for rinkeby

cmd/registrar: add raw signing mode for registrar

cmd/registrar, contracts/registrar, les: fixed messages

* cmd/registrar, contracts/registrar: fix lints

* accounts/abi/bind, les: address comments

* cmd, contracts, les, light, params: minor checkpoint sync cleanups

* cmd, eth, les, light: move checkpoint config to config file

* cmd, eth, les, params: address comments

* eth, les, params: address comments

* cmd: polish up the checkpoint admin CLI

* cmd, contracts, params: deploy new version contract

* cmd/checkpoint-admin: add another flag for clef mode signing

* cmd, contracts, les: rename and regen checkpoint oracle with abigen
2019-06-28 10:34:02 +03:00
Martin Holst Swende
a4eeeedb37
params: add new bootnodes 2019-06-07 10:55:45 +02:00
Péter Szilágyi
536b3b416c
cosensus, core, eth, params, trie: fixes + clique history cap 2019-05-16 10:39:35 +03:00
C. Brown
be4d74f8d2 cmd, internal/build, docker: advertise commit date in unstable build versions (#19522)
* add-date-to unstable

* fields-insteadof-split

* internal/build: support building with missing git

* docker: add git history back to support commit date in version

* internal/build: use PR commits hashes for PR builds
2019-05-08 16:44:28 +03:00
Péter Szilágyi
38f6b85638
eth, les, light: enforce CHT checkpoints on fast-sync too 2019-04-17 13:16:15 +03:00
Zsolt Felfoldi
64f9c1ea09 les, light: remove support for les/1 4096 block CHT sections 2019-04-08 13:17:24 +02:00
Péter Szilágyi
dd0cfe5e11
params: set Rinkeby Petersburg fork block (4th May, 2019) 2019-04-08 12:15:47 +03:00
Péter Szilágyi
ccffad5553
light, params: update CHTs, integrate CHT for Goerli too 2019-04-02 11:47:01 +03:00
Péter Szilágyi
b0ed083ead
cmd, core, params: add support for Goerli 2019-02-04 14:53:12 +02:00
Felix Lange
f4094d09cd params, swarm/version: Geth v1.9.0 unstable, Swarm v0.3.11-unstable 2019-01-29 17:43:13 +01:00
Felföldi Zsolt
1a19c596bf params: new CHTs (#18577) 2019-01-29 17:39:57 +01:00
Nalin Bhardwaj
b8f9b3779f core/vm: fix typos and use ExpGas for EXP (#18400)
This replaces the GasSlowStep constant with params.ExpGas.
Both constants have value 10.
2019-01-24 12:14:02 +01:00
Martin Holst Swende
ecb781297b core, cmd/puppeth: implement constantinople fix, disable EIP-1283 (#18486)
This PR adds a new fork which disables EIP-1283. Internally it's called Petersburg,
but the genesis/config field is ConstantinopleFix.

The block numbers are:

    7280000 for Constantinople on Mainnet
    7280000 for ConstantinopleFix on Mainnet
    4939394 for ConstantinopleFix on Ropsten
    9999999 for ConstantinopleFix on Rinkeby (real number decided later)

This PR also defaults to using the same ConstantinopleFix number as whatever
Constantinople is set to. That is, it will default to mainnet behaviour if ConstantinopleFix
is not set.This means that for private networks which have already transitioned
to Constantinople, this PR will break the network unless ConstantinopleFix is
explicitly set!
2019-01-24 11:36:30 +01:00
Péter Szilágyi
24d66944cb
params, swarm: begin Geth v1.8.22 and Swarm v0.3.10 cycle 2019-01-15 22:52:47 +02:00
Péter Szilágyi
9dc5d1a915
params, swarm: release Geth v1.8.21 and Swarm v0.3.9 2019-01-15 22:51:31 +02:00
Péter Szilágyi
2a2fd5adf8
params: postpone Constantinople due to net SSTORE reentrancy 2019-01-15 22:06:17 +02:00
Péter Szilágyi
1e190a3b1c
params, swarm: begin Geth v1.9.0 family, Swarm v0.3.9 cycle 2018-12-11 14:23:57 +02:00
Péter Szilágyi
24d727b6d6
params, swarm: release Geth v1.8.20 and Swarm v0.3.8 2018-12-11 14:20:21 +02:00
Péter Szilágyi
362e2ba792
params: update CHTs for the 1.8.20 release 2018-12-10 14:55:29 +02:00
Péter Szilágyi
6a1a4375c6
params: set mainnet and Rinkeby Constantinople fork blocks 2018-12-10 11:36:36 +02:00
Péter Szilágyi
a7501d0c41
params, swarm: start Geth v1.8.20 and Swarm v0.3.8 release cycle 2018-11-28 14:44:00 +02:00
Péter Szilágyi
dae82f0985
params, swarm: release Geth v1.8.19 and Swarm v0.3.7 2018-11-28 14:42:37 +02:00
Péter Szilágyi
d606a7a46a
params: update CHTs for the v1.8.19 release 2018-11-28 13:53:33 +02:00
Martin Holst Swende
a5898ba621
config: add constantinople block to testchainconfig 2018-11-26 09:55:45 +01:00
Enrique Fynn
9d5e3e0637 params: add Constantinople block to AllXYZProtocolChanges (#18162)
* params: Add Constantinople block to AllCliqueProtocolChanges

* params: Add Constantinople block to AllEthashProtocolChanges
2018-11-22 15:03:50 +02:00
Péter Szilágyi
48b4e8069c
params, swarm: begin Geth v1.8.19 and Swarm v0.3.7 cycle 2018-11-14 10:27:30 +02:00
Péter Szilágyi
58632d4402
params, swarm: release Geth v1.8.18 and Swarm v0.3.6 2018-11-14 10:25:19 +02:00
Péter Szilágyi
cef7ed53bd
params: update CHTs 2018-11-14 10:16:28 +02:00
Péter Szilágyi
ff5538ad4c
params, swarm: begin Geth v1.8.18, Swarm v0.3.6 cycle 2018-10-09 10:37:49 +03:00
Péter Szilágyi
8bbe72075e
params, swarm: release Geth v1.8.17 and Swar v0.3.5 2018-10-09 10:35:31 +03:00
Péter Szilágyi
ff7fad18fb
params: add ropsten fork delay, update les checkpoints 2018-10-04 19:14:53 +03:00
EOS Classic
668c37fde1
params: enable constantinople on ropsten at 4.2M 2018-10-01 22:44:09 +09:00
Péter Szilágyi
0ae462fb80
params, swarm: begin Geth v1.8.17, Swarm v0.3.5 cycle 2018-09-24 16:02:07 +03:00
Péter Szilágyi
477eb0933b
params, swarm: release Geth v1.8.16, Swarm v0.3.4 2018-09-24 15:59:21 +03:00
Péter Szilágyi
ee92bc537f
Merge pull request #17383 from holiman/eip1283
Eip1283
2018-09-21 14:16:18 +03:00
Péter Szilágyi
af89093116
les, light, params: update light client CHTs 2018-09-20 14:14:48 +03:00
Guillaume Ballet
da29332c5f core/vm: add switches to select evm+ewasm interpreters (#17687)
Interpreter initialization is left to the PRs implementing them.
Options for external interpreters are passed after a colon in the
`--vm.ewasm` and `--vm.evm` switches.
2018-09-20 10:44:35 +03:00
Péter Szilágyi
5d921fa3a0
core, params: polish net gas metering PR a bit 2018-09-18 16:29:51 +03:00
Mymskmkt
e1c64a7d89 params: fix typo (#17552) 2018-09-03 16:52:32 +02:00
Péter Szilágyi
62e94895da
params, swarm: begin geth v1.8.16 and swarm v0.3.4 cycle 2018-08-29 18:27:43 +03:00
Péter Szilágyi
89451f7c38
params, swarm: release geth v1.8.15 and swarm 0.3.3 2018-08-29 18:24:32 +03:00
Péter Szilágyi
e8f229b82e
cmd, core, eth, miner, params: configurable gas floor and ceil 2018-08-29 12:40:12 +03:00
gary rong
b69476b372 all: make indexer configurable (#17188) 2018-08-28 10:08:16 +03:00
Péter Szilágyi
2993fb519d
params, swarm: begin geth v1.8.15 and swarm v0.3.3 cycle 2018-08-22 11:42:03 +03:00
Péter Szilágyi
316fc7ecfc
params, swarm: release Geth v1.8.14 and Swarm v0.3.2 2018-08-22 11:39:00 +03:00
Péter Szilágyi
9f036647e4
consensus/clique, light: light client snapshots on Rinkeby 2018-08-21 15:21:59 +03:00
Péter Szilágyi
454382e81a
params, swarm/version: begin Geth v1.8.14, Swarm v0.3.2 cycle 2018-07-31 13:39:22 +03:00
Péter Szilágyi
225171a4bf
params, swarm/version: release Geth v1.8.13, Swarm 0.3.1 2018-07-31 13:35:53 +03:00
Anton Evangelatov
a5d5609e38 build: rename swarm deb package to ethereum-swarm; change swarm deb version from 1.8.x to 0.3.x (#16988)
* build: add support for different package and binary names

* build: bump up copyright date

* build: change default PackageName to empty string

* build, internal, swarm: enhance build/release process

* build: hack ethereum-swarm as a "depends" in deb package

* build/ci: remove redundant variables

* build, cmd, mobile, params, swarm: remove VERSION file; rename Version to VersionMeta;

* internal: remove VERSION() method which reads VERSION file

* build: fix VersionFilePath to Version

* Makefile: remove clean_go_build_cache.sh until it works

* Makefile: revert removal of clean_go_build_cache.sh
2018-07-30 11:56:40 +03:00
gary rong
2433349c80 core/vm, params: implement EXTCODEHASH opcode (#17202)
* core/vm, params: implement EXTCODEHASH opcode

* core, params: tiny fixes and polish

* core: add function description
2018-07-24 18:06:40 +03:00
gary rong
cab1cff11c core, crypto, params: implement CREATE2 evm instrction (#17196)
* core, crypto, params: implement CREATE2 evm instrction

* core/vm: add opcode to string mapping

* core: remove past fork checking

* core, crypto: use option2 to generate new address
2018-07-24 17:22:03 +03:00
Felix Lange
3b07451564 params, VERSION: v1.8.13 unstable 2018-07-05 01:09:02 +02:00
Felix Lange
37685930d9 params: v1.8.12 stable 2018-07-05 01:08:05 +02:00
Péter Szilágyi
423d4254f5
VERSION, params: begin v1.8.12 release cycle 2018-06-12 17:04:17 +03:00
Péter Szilágyi
dea1ce052a
params: release go-ethereum v1.8.11 2018-06-12 17:02:14 +03:00
kiel barry
cbfb40b0aa params: fix golint warnings (#16853)
params: fix golint warnings
2018-06-05 12:31:34 +02:00
Péter Szilágyi
68b0d30d4a
VERSION, params: begin 1.8.11 release cycle 2018-05-30 11:04:45 +03:00
Péter Szilágyi
eae63c511c
params: release Geth 1.8.10 hotfix 2018-05-30 11:00:07 +03:00
Péter Szilágyi
ccc0debb63
VERSION, params: begin 1.8.10 release cycle 2018-05-28 13:01:20 +03:00
Péter Szilágyi
ff9b14617e
params: release go-ethereum v1.8.9 2018-05-28 12:58:22 +03:00
Péter Szilágyi
49ec4f0cd1
VERSION, params: start 1.8.9 release cycle 2018-05-14 13:16:55 +03:00
Péter Szilágyi
2688dab48c
params: release go-ethereum v1.8.8 2018-05-14 13:14:17 +03:00
Péter Szilágyi
577d375a0d
VERSION, params: begin v1.8.8 release cycle 2018-05-02 14:04:09 +03:00
Péter Szilágyi
66432f3821
params: release geth 1.8.7 2018-05-02 14:01:38 +03:00
Péter Szilágyi
9586f2acc7
VERSION, params: begin release cycle 1.8.7 2018-04-23 15:54:11 +03:00
Péter Szilágyi
12683feca7
params: release v1.8.6 to fix docker images 2018-04-23 15:52:02 +03:00
Péter Szilágyi
50aa1dcfda
VERSION, params: begin Geth 1.8.6 release cycle 2018-04-23 10:06:45 +03:00
Péter Szilágyi
cbdaa0ca2a
params: release Geth v1.8.5 - Dirty Derivative² 2018-04-23 10:02:34 +03:00
Péter Szilágyi
7605e63cb9
VERSION, params: begin v1.8.5 release cycle 2018-04-17 11:26:06 +03:00
Péter Szilágyi
2423ae01e0
params: release Geth v1.8.4 2018-04-17 11:20:53 +03:00
Felix Lange
85ea9159d0 params, VERSION: v1.8.4 unstable 2018-03-26 18:09:56 +02:00
Felix Lange
329ac18ef6 params: v1.8.3 stable 2018-03-26 18:09:06 +02:00
Péter Szilágyi
1548518644
VERSION, params: begin 1.8.3 release cycle 2018-03-05 15:52:21 +02:00
Péter Szilágyi
b8b9f7f447
params: release Geth 1.8.2 stable 2018-03-05 15:48:48 +02:00
Martin Holst Swende
44d40ffce1 core, vm, common: define constantinople fork + shift (#16045)
* core, vm, common: define constantinople fork, start implementation of shift instructions

* vm: more testcases

* vm: add tests for intpool erroneous intpool handling

* core, vm, common: fix constantinople review concerns

* vm: add string<->op definitions for new opcodes
2018-02-23 12:32:57 +02:00
Péter Szilágyi
46a5532ac5
VERSION, params: begin v1.8.2 release cycle 2018-02-19 11:38:36 +02:00
Péter Szilágyi
1e67410e88
params: release Geth v1.8.1 2018-02-19 11:35:31 +02:00
Felix Lange
752761cb57 params, VERSION: v1.8.1 unstable 2018-02-14 13:55:21 +01:00
Felix Lange
5f54075760 params: v1.8.0 stable 2018-02-14 13:51:30 +01:00
cdetrio
2b4c7e9b37 params: update ropsten bootnodes (#16029)
* params: update ropsten bootnodes

* params: fix linter
2018-02-08 15:30:26 +02:00
Péter Szilágyi
efc9209158
params: fix bootnodes gofmt 2018-02-02 15:57:13 +02:00
Afri Schoedon
4dedde7beb params: Add Ropsten bootnodes (#16008) 2018-02-01 16:10:57 +02:00
Felföldi Zsolt
c335821479 cmd, params: update discovery v5 bootnodes (#15954) 2018-01-25 12:25:00 +02:00
Felföldi Zsolt
92580d69d3 p2p, p2p/discover, p2p/discv5: implement UDP port sharing (#15200)
This commit affects p2p/discv5 "topic discovery" by running it on
the same UDP port where the old discovery works. This is realized
by giving an "unhandled" packet channel to the old v4 discovery
packet handler where all invalid packets are sent. These packets
are then processed by v5. v5 packets are always invalid when
interpreted by v4 and vice versa. This is ensured by adding one
to the first byte of the packet hash in v5 packets.

DiscoveryV5Bootnodes is also changed to point to new bootnodes
that are implementing the changed packet format with modified
hash. Existing and new v5 bootnodes are both running on different
ports ATM.
2018-01-22 13:38:34 +01:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64 2018-01-03 14:45:35 +02:00
Péter Szilágyi
a28390542c
params: add Rinkeby bootnode from Akasha 2017-12-21 13:19:42 +02:00
Péter Szilágyi
005665867d
VERSION, params: begin 1.8.0 release cycle 2017-11-21 11:59:12 +02:00
Péter Szilágyi
4bb3c89d44
params: release v1.7.3 stable 2017-11-21 11:54:19 +02:00
Péter Szilágyi
6d6a5a9337 cmd, consensus, core, miner: instatx clique for --dev (#15323)
* cmd, consensus, core, miner: instatx clique for --dev

* cmd, consensus, clique: support configurable --dev block times

* cmd, core: allow --dev to use persistent storage too
2017-10-24 13:40:42 +03:00
Péter Szilágyi
e9295163aa
VERSION, params: start 1.7.3 release cycle 2017-10-14 16:00:46 +03:00
Péter Szilágyi
1db4ecdc0b
params: bump to 1.7.2 stable 2017-10-14 15:58:53 +03:00
Péter Szilágyi
3680cd5926 params: explain EIP150Hash (#15237) 2017-10-10 10:56:33 +02:00
Felix Lange
c0a1f1c907 params, VERSION: v1.7.2 unstable 2017-10-03 19:19:37 +02:00
Felix Lange
0510164145 params: v1.7.1 stable 2017-10-03 19:18:39 +02:00
Péter Szilágyi
7514e8a24d
cmd/puppeth, params: enable Byzantium on all networks 2017-10-02 13:01:40 +03:00
gary rong
b9ff44bd64 params: rename EIP150 gas table (#15167) 2017-09-20 11:27:00 +02:00
Péter Szilágyi
a989cf5bad
VERSION, params: begin 1.7.1 release cycle 2017-09-14 14:01:31 +03:00
Péter Szilágyi
6c6c7b2af3
params: release Geth 1.7.0 - Megara 2017-09-14 13:55:42 +03:00
Péter Szilágyi
701d60c889
params: enable Byzantium on Ropsten/tests, fix failures 2017-09-14 10:59:05 +03:00
Martin Holst Swende
9be07de539 params: Updated finalized gascosts for ECMUL/MODEXP (#15135)
* params: Updated finalized gascosts for ECMUL/MODEXP

* core,tests: Updates pending new tests

* tests: Updated with new tests

* core: revert state transition bugfix

* tests: Add expected failures due to  #15119
2017-09-14 10:35:54 +03:00
Péter Szilágyi
5bbd7fb390
consensus, core, params: rebrand Metro to Byzantium 2017-09-14 10:10:46 +03:00
Péter Szilágyi
72af509abe
params: add Infura bootnode to Rinkeby 2017-09-13 11:25:50 +03:00
Péter Szilágyi
f585f9eee8
core, eth: clean up bloom filtering, add some tests 2017-09-06 11:14:19 +03:00
Péter Szilágyi
b0ca1b67ce
eth: use maxpeers from p2p layer instead of extra config 2017-09-05 19:18:28 +03:00
Péter Szilágyi
6131dd55c5
core/vm: polish precompile contract code, add tests and benches
* Update modexp gas calculation to new version
 * Fix modexp modulo 0 special case to return zero
2017-08-14 15:27:44 +03:00
Péter Szilágyi
8d6a5a3581
VERSION, params: begin 1.7.0 cycle (cannot downgrade) 2017-07-14 18:10:18 +03:00
Felix Lange
bf468a81ec params, VERSION: v1.6.8 unstable 2017-07-11 16:33:39 +02:00
Felix Lange
ab5646c532 params: v1.6.7 stable 2017-07-11 16:32:36 +02:00
Péter Szilágyi
8f12d76a47
params: remove redundant consts, disable metro on AllProtocolChanges 2017-07-04 12:28:58 +03:00
Felix Lange
78c04c920d params, VERSION: 1.6.7 unstable 2017-06-23 11:28:43 +02:00
Felix Lange
10a45cb59b params: 1.6.6 stable 2017-06-23 11:26:54 +02:00
Péter Szilágyi
6171d01b11
VERSION, params: begin Geth 1.6.6 release cycle 2017-06-01 22:08:19 +03:00
Péter Szilágyi
cf87713dd4
params: mark Geth v1.6.5 stable (Hat Trick) 2017-06-01 21:48:47 +03:00
Péter Szilágyi
0424192e61
VERSION, params: begin geth 1.6.5 cycle 2017-06-01 17:37:44 +03:00
Péter Szilágyi
9c2882b2e5
params: Geth 1.6.4 stable (hotfix) 2017-06-01 17:33:17 +03:00
Péter Szilágyi
727eadacca
VERSION, params: begin Geth 1.6.4 release cycle 2017-06-01 11:43:57 +03:00
Péter Szilágyi
99cba96f26
params: release Geth 1.6.3 - Covfefe 2017-06-01 11:41:48 +03:00
Felix Lange
067dc2cbf5 params, VERSION: 1.6.3 unstable 2017-05-31 05:47:35 +02:00
Felix Lange
65979770e6 params: 1.6.2 stable 2017-05-31 05:45:13 +02:00
Jeffrey Wilcke
a5f6a1cb7c consensus, core, core/vm, parems: review fixes 2017-05-18 09:05:58 +02:00
Jeffrey Wilcke
e6aff513db core/types: corrected abstract signing address 2017-05-18 09:05:58 +02:00
Jeffrey Wilcke
10a57fc3d4 consensus, core/*, params: metropolis preparation refactor
This commit is a preparation for the upcoming metropolis hardfork. It
prepares the state, core and vm packages such that integration with
metropolis becomes less of a hassle.

* Difficulty calculation requires header instead of individual
  parameters
* statedb.StartRecord renamed to statedb.Prepare and added Finalise
  method required by metropolis, which removes unwanted accounts from
  the state (i.e. selfdestruct)
* State keeps record of destructed objects (in addition to dirty
  objects)
* core/vm pre-compiles may now return errors
* core/vm pre-compiles gas check now take the full byte slice as argument
  instead of just the size
* core/vm now keeps several hard-fork instruction tables instead of a
  single instruction table and removes the need for hard-fork checks in
  the instructions
* core/vm contains a empty restruction function which is added in
  preparation of metropolis write-only mode operations
* Adds the bn256 curve
* Adds and sets the metropolis chain config block parameters (2^64-1)
2017-05-18 09:05:58 +02:00
Péter Szilágyi
93832b633e
VERSION, params: begin 1.6.2 release cycle 2017-05-04 14:34:59 +03:00
Péter Szilágyi
021c3c2816
params: release Geth 1.6.1, Deripors of Ohratuu 2017-05-04 14:11:45 +03:00
Péter Szilágyi
d51a9fd6b7
cmd, core, params: add --rinkeby flag for fast connectivity 2017-05-04 12:36:20 +03:00
Péter Szilágyi
c7a4d9cf8a
VERSION, params: begin 1.6.1 release cycle 2017-04-14 13:43:10 +03:00
Péter Szilágyi
facc47cb5c
params: release Geth 1.6.0, Puppeth Master 2017-04-14 13:07:07 +03:00