good morning!!!!

Skip to content
Snippets Groups Projects
  1. Sep 28, 2020
  2. Jun 03, 2020
    • kilic's avatar
      core/vm, crypto/bls12381, params: add bls12-381 elliptic curve precompiles (#21018) · 4fc67854
      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: default avatarMartin Holst Swende <martin@swende.se>
      Co-authored-by: default avatarPéter Szilágyi <peterke@gmail.com>
      4fc67854
  3. Feb 18, 2020
  4. Aug 19, 2019
  5. Aug 14, 2019
  6. Aug 08, 2019
    • Martin Holst Swende's avatar
      Eip 1884 v3 (#19743) · 3e993ff6
      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: default avatarPéter Szilágyi <peterke@gmail.com>
      3e993ff6
  7. Aug 06, 2019
    • Antonio Salazar Cardozo's avatar
      params, core/vm: Istanbul EIP-1108 bn256 gas cost reduction (#19904) · beff5fa5
      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
      beff5fa5
  8. Aug 05, 2019
    • Martin Holst Swende's avatar
      core/vm, params: refactor chain configuration (#19735) · aa6005b4
      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
      aa6005b4
  9. Jan 24, 2019
  10. Sep 18, 2018
  11. Aug 29, 2018
  12. Jul 24, 2018
  13. Jun 05, 2018
  14. Jan 03, 2018
  15. Sep 14, 2017
  16. Aug 14, 2017
  17. Feb 13, 2017
    • Jeffrey Wilcke's avatar
      params: core, core/vm, miner: 64bit gas instructions · c12f4df9
      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
      c12f4df9
    • Jeffrey Wilcke's avatar
      57f4e902
  18. Feb 02, 2017
    • Jeffrey Wilcke's avatar
      params: core, core/vm, miner: 64bit gas instructions (#3514) · 8b57c494
      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
      8b57c494
  19. Jan 06, 2017
  20. Nov 13, 2016
  21. Oct 14, 2016
    • Jeffrey Wilcke's avatar
      core, core/vm: added gas price variance table · 64af2aaf
      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.
      64af2aaf
  22. Mar 31, 2016
    • Jeffrey Wilcke's avatar
      core: added basic chain configuration · f0cbebb1
      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.
      f0cbebb1
  23. Feb 26, 2016
  24. Feb 21, 2016
  25. Feb 18, 2016
  26. Aug 04, 2015
  27. Jul 26, 2015
  28. Jul 25, 2015
  29. Jul 23, 2015
  30. Jul 22, 2015
  31. Jul 07, 2015
  32. Apr 02, 2015
    • Gustav Simonsson's avatar
      Read most protocol params from common/params.json · c26c8d3a
      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
      c26c8d3a
Loading