- Sep 28, 2020
-
-
Martin Holst Swende authored
-
- Jun 03, 2020
-
-
kilic authored
* 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>
-
- Feb 18, 2020
-
-
Gregory Markou authored
-
- Aug 19, 2019
-
-
Péter Szilágyi authored
* core/vm, params: implement EIP2200, SSTORE optimizations * core/vm, params: switch EIP2200 to Wei's version
-
- Aug 14, 2019
-
-
Gary Rong authored
* core, light, params: implement eip2028 * core, light: address comments * core: address comments * tests: disable Istanbul tx tests (until updated) * core: address comment
-
- Aug 08, 2019
-
-
Martin Holst Swende authored
* 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>
-
- Aug 06, 2019
-
-
Antonio Salazar Cardozo authored
* 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
-
- Aug 05, 2019
-
-
Martin Holst Swende authored
* 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
-
- Jan 24, 2019
-
-
Nalin Bhardwaj authored
This replaces the GasSlowStep constant with params.ExpGas. Both constants have value 10.
-
- Sep 18, 2018
-
-
Péter Szilágyi authored
-
- Aug 29, 2018
-
-
Péter Szilágyi authored
-
- Jul 24, 2018
-
-
Gary Rong authored
* 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
-
- Jun 05, 2018
-
-
kiel barry authored
params: fix golint warnings
-
- Jan 03, 2018
-
-
Péter Szilágyi authored
-
- Sep 14, 2017
-
-
Martin Holst Swende authored
* 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
-
- Aug 14, 2017
-
-
Péter Szilágyi authored
* Update modexp gas calculation to new version * Fix modexp modulo 0 special case to return zero
-
- Feb 13, 2017
-
-
Jeffrey Wilcke authored
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
-
Jeffrey Wilcke authored
This reverts commit 8b57c494.
-
- Feb 02, 2017
-
-
Jeffrey Wilcke authored
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
-
- Jan 06, 2017
-
-
Péter Szilágyi authored
-
- Nov 13, 2016
-
-
Jeffrey Wilcke authored
-
- Oct 14, 2016
-
-
Jeffrey Wilcke authored
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.
-
- Mar 31, 2016
-
-
Jeffrey Wilcke authored
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.
-
- Feb 26, 2016
-
-
Jeffrey Wilcke authored
This commit increases the artificial gas floor to 4712388
-
- Feb 21, 2016
-
-
Ricardo Catalinas Jiménez authored
-
- Feb 18, 2016
-
-
Gustav Simonsson authored
* 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
-
- Aug 04, 2015
-
-
Gustav Simonsson authored
-
- Jul 26, 2015
-
-
Jeffrey Wilcke authored
-
- Jul 25, 2015
-
-
Jeffrey Wilcke authored
Genesis release. Closes #1402 Conflicts: cmd/geth/main.go
-
- Jul 23, 2015
-
-
Felix Lange authored
I forgot to update one instance of "go-ethereum" in commit 3f047be5.
-
- Jul 22, 2015
-
-
Felix Lange authored
All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
-
- Jul 07, 2015
-
-
Felix Lange authored
-
- Apr 02, 2015
-
-
Gustav Simonsson authored
* 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
-