aboutsummaryrefslogtreecommitdiffstats
path: root/params/protocol_params.go
Commit message (Collapse)AuthorAgeFilesLines
* core/vm, params: implement EIP2200, SSTORE optimizations (#19964)Péter Szilágyi2019-08-191-0/+9
| | | | | | * core/vm, params: implement EIP2200, SSTORE optimizations * core/vm, params: switch EIP2200 to Wei's version
* core, light, params: implement eip2028 (#19931)gary rong2019-08-141-13/+14
| | | | | | | | | | | | * core, light, params: implement eip2028 * core, light: address comments * core: address comments * tests: disable Istanbul tx tests (until updated) * core: address comment
* Eip 1884 v3 (#19743)Martin Holst Swende2019-08-081-10/+13
| | | | | | | | | | | | | | * 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>
* params, core/vm: Istanbul EIP-1108 bn256 gas cost reduction (#19904)Antonio Salazar Cardozo2019-08-061-12/+17
| | | | | | | | | | | | | | | | | | | * 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
* core/vm, params: refactor chain configuration (#19735)Martin Holst Swende2019-08-051-16/+42
| | | | | | | | | | | | | | | | * 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
* core/vm: fix typos and use ExpGas for EXP (#18400)Nalin Bhardwaj2019-01-241-1/+1
| | | | | This replaces the GasSlowStep constant with params.ExpGas. Both constants have value 10.
* core, params: polish net gas metering PR a bitPéter Szilágyi2018-09-181-6/+17
|
* cmd, core, eth, miner, params: configurable gas floor and ceilPéter Szilágyi2018-08-291-4/+0
|
* core, crypto, params: implement CREATE2 evm instrction (#17196)gary rong2018-07-241-0/+1
| | | | | | | | | | * 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
* params: fix golint warnings (#16853)kiel barry2018-06-051-1/+1
| | | params: fix golint warnings
* all: switch gas limits from big.Int to uint64Péter Szilágyi2018-01-031-8/+12
|
* params: Updated finalized gascosts for ECMUL/MODEXP (#15135)Martin Holst Swende2017-09-141-2/+2
| | | | | | | | | | | | * 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
* core/vm: polish precompile contract code, add tests and benchesPéter Szilágyi2017-08-141-8/+16
| | | | | * Update modexp gas calculation to new version * Fix modexp modulo 0 special case to return zero
* params: core, core/vm, miner: 64bit gas instructionsJeffrey Wilcke2017-02-141-49/+51
| | | | | | | | | | | | | | | | | Reworked the EVM gas instructions to use 64bit integers rather than arbitrary size big ints. All gas operations, be it additions, multiplications or divisions, are checked and guarded against 64 bit integer overflows. In additon, most of the protocol paramaters in the params package have been converted to uint64 and are now constants rather than variables. * common/math: added overflow check ops * core: vmenv, env renamed to evm * eth, internal/ethapi, les: unmetered eth_call and cancel methods * core/vm: implemented big.Int pool for evm instructions * core/vm: unexported intPool methods & verification methods * core/vm: added memoryGasCost overflow check and test
* Revert "params: core, core/vm, miner: 64bit gas instructions (#3514)"Jeffrey Wilcke2017-02-131-51/+49
| | | | This reverts commit 8b57c494908637a5c0e74f8f7a13b3218e026757.
* params: core, core/vm, miner: 64bit gas instructions (#3514)Jeffrey Wilcke2017-02-021-49/+51
| | | | | | | | | | | | | | | | Reworked the EVM gas instructions to use 64bit integers rather than arbitrary size big ints. All gas operations, be it additions, multiplications or divisions, are checked and guarded against 64 bit integer overflows. In additon, most of the protocol paramaters in the params package have been converted to uint64 and are now constants rather than variables. * common/math: added overflow check ops * core: vmenv, env renamed to evm * eth, internal/ethapi, les: unmetered eth_call and cancel methods * core/vm: implemented big.Int pool for evm instructions * core/vm: unexported intPool methods & verification methods * core/vm: added memoryGasCost overflow check and test
* all: fix spelling errorsPéter Szilágyi2017-01-071-1/+1
|
* core, params: EIP#170Jeffrey Wilcke2016-11-141-3/+1
|
* core, core/vm: added gas price variance tableJeffrey Wilcke2016-10-151-0/+1
| | | | | | | | | | | | | This implements 1b & 1c of EIP150 by adding a new GasTable which must be returned from the RuleSet config method. This table is used to determine the gas prices for the current epoch. Please note that when the CreateBySuicide gas price is set it is assumed that we're in the new epoch phase. In addition this PR will serve as temporary basis while refactorisation in being done in the EVM64 PR, which will substentially overhaul the gas price code.
* core: added basic chain configurationJeffrey Wilcke2016-04-011-2/+3
| | | | | | | | | Added chain configuration options and write out during genesis database insertion. If no "config" was found, nothing is written to the database. Configurations are written on a per genesis base. This means that any chain (which is identified by it's genesis hash) can have their own chain settings.
* params: settle the Pi vs Tau disputeJeffrey Wilcke2016-02-261-1/+1
| | | | This commit increases the artificial gas floor to 4712388
* generators: Don't generate params/protocol_params.go with +x bitRicardo Catalinas Jiménez2016-02-221-0/+0
|
* parmas, crypto, core, core/vm: homestead consensus protocol changesGustav Simonsson2016-02-181-2/+3
| | | | | | | | * change gas cost for contract creating txs * invalidate signature with s value greater than secp256k1 N / 2 * OOG contract creation if not enough gas to store code * new difficulty adjustment algorithm * new DELEGATECALL op code
* miner: gas limit strategy, target 3141592 & def gas price 50 ShannonGustav Simonsson2015-08-041-2/+2
|
* Merge pull request #1515 from fjl/license-fixesJeffrey Wilcke2015-07-281-1/+1
|\ | | | | all: fix license headers one more time
| * all: fix license headers one more timeFelix Lange2015-07-241-1/+1
| | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* | params: reduce extra data to 32 bytesJeffrey Wilcke2015-07-261-2/+2
| |
* | cmd/geth, core, eth: Version 1.0.0Jeffrey Wilcke2015-07-251-45/+47
|/ | | | | | | Genesis release. Closes #1402 Conflicts: cmd/geth/main.go
* all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-231-4/+4
| | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* all: update license informationFelix Lange2015-07-071-0/+16
|
* Read most protocol params from common/params.jsonGustav Simonsson2015-04-021-0/+54
* Add params package with exported variables generated from github.com/ethereum/common/blob/master/params.json * Use params package variables in applicable places * Add check for minimum gas limit in validation of block's gas limit * Remove common/params.json from go-ethereum to avoid outdated version of it