good morning!!!!

Skip to content
Snippets Groups Projects
  1. Aug 22, 2019
  2. Aug 21, 2019
    • Péter Szilágyi's avatar
    • Piotr Dyraga's avatar
      core/vm, crypto/blake2b: add BLAKE2b compression func at 0x09 · 2890f060
      Piotr Dyraga authored
      The precompile at 0x09 wraps the BLAKE2b F compression function:
      https://tools.ietf.org/html/rfc7693#section-3.2
      
      The precompile requires 6 inputs tightly encoded, taking exactly 213
      bytes, as explained below.
      
      - `rounds` - the number of rounds - 32-bit unsigned big-endian word
      - `h` - the state vector - 8 unsigned 64-bit little-endian words
      - `m` - the message block vector - 16 unsigned 64-bit little-endian words
      - `t_0, t_1` - offset counters - 2 unsigned 64-bit little-endian words
      - `f` - the final block indicator flag - 8-bit word
      
      [4 bytes for rounds][64 bytes for h][128 bytes for m][8 bytes for t_0]
      [8 bytes for t_1][1 byte for f]
      
      The boolean `f` parameter is considered as `true` if set to `1`.
      The boolean `f` parameter is considered as `false` if set to `0`.
      All other values yield an invalid encoding of `f` error.
      
      The precompile should compute the F function as specified in the RFC
      (https://tools.ietf.org/html/rfc7693#section-3.2) and return the updated
      state vector `h` with unchanged encoding (little-endian).
      
      See EIP-152 for details.
      Unverified
      2890f060
  3. Jul 22, 2019
  4. Jul 18, 2019
  5. Jul 17, 2019
  6. May 28, 2019
  7. May 25, 2019
  8. Feb 28, 2019
  9. Feb 27, 2019
  10. Feb 19, 2019
    • Jeremy Schlatter's avatar
      crypto: fix build when CGO_ENABLED=0 (#19121) · b5e5b356
      Jeremy Schlatter authored
      Package crypto works with or without cgo, which is great. However, to make it
      work without cgo required setting the build tag `nocgo`. It's common to disable
      cgo by instead just setting the environment variable `CGO_ENABLED=0`. Setting
      this environment variable does _not_ implicitly set the build tag `nocgo`. So
      projects that try to build the crypto package with `CGO_ENABLED=0` will fail. I
      have done this myself several times. Until today, I had just assumed that this
      meant that this package requires cgo.
      
      But a small build tag change will make this case work. Instead of using `nocgo`
      and `!nocgo`, we can use `!cgo` and `cgo`, respectively. The `cgo` build tag is
      automatically set if cgo is enabled, and unset if it is disabled.
      b5e5b356
  11. Feb 18, 2019
  12. Jan 04, 2019
  13. Dec 13, 2018
  14. Oct 04, 2018
    • Martin Holst Swende's avatar
      core/vm: faster create/create2 (#17806) · 89a32451
      Martin Holst Swende authored
      * core/vm/runtim: benchmark create/create2
      
      * core/vm: do less hashing in CREATE2
      
      * core/vm: avoid storing jumpdest analysis for initcode
      
      * core/vm: avoid unneccesary lookups, remove unused fields
      
      * core/vm: go formatting tests
      
      * core/vm: save jumpdest analysis locally
      
      * core/vm: use common.Hash instead of nil, fix review comments
      
      * core/vm: removed type destinations
      
      * core/vm: correct check for empty hash
      
      * eth: more elegant api_tracer
      
      * core/vm: address review concerns
      89a32451
  15. Sep 25, 2018
  16. Sep 21, 2018
  17. Aug 27, 2018
  18. Aug 20, 2018
  19. Aug 16, 2018
  20. Aug 14, 2018
  21. Jul 26, 2018
  22. Jul 24, 2018
    • Gary Rong's avatar
      core, crypto, params: implement CREATE2 evm instrction (#17196) · cab1cff1
      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
      cab1cff1
    • Péter Szilágyi's avatar
      crypto/secp256k1: unify the package license to 3-Clause BSD (#17225) · afd8b847
      Péter Szilágyi authored
      Our original wrapper code had two parts. One taken from a third
      party repository (who took it from upstream Go) licensed under
      BSD-3. The second written by Jeff, Felix and Gustav, licensed
      under LGPL. This made this package problematic to use from the
      outside.
      
      With the agreement of the original copyright holders, this commit
      changes the license of the LGPL portions of the code to BSD-3:
      
      ---
      I agree changing from LGPL to a BSD style license.
      
      Jeff
      ---
      Hey guys,
      
      My preference would be to relicense to GNUBL, but I'm also OK with BSD.
      
      Cheers,
      Gustav
      ---
      Felix Lange (fjl):
      I would approve anything that makes our licensing less complicated
      ---
      afd8b847
  23. Jun 12, 2018
  24. May 08, 2018
  25. Apr 17, 2018
  26. Apr 03, 2018
  27. Mar 26, 2018
  28. Mar 19, 2018
    • Péter Szilágyi's avatar
      crypto/bn256: full switchover to cloudflare's code (#16301) · 1203c6a2
      Péter Szilágyi authored
      * crypto/bn256: full switchover to cloudflare's code
      
      * crypto/bn256: only use cloudflare for optimized architectures
      
      * crypto/bn256: upstream fallback for non-optimized code
      
      * .travis, build: drop support for Go 1.8 (need type aliases)
      
      * crypto/bn256/cloudflare: enable curve mul lattice optimization
      Unverified
      1203c6a2
  29. Mar 05, 2018
  30. Jan 03, 2018
  31. Jan 02, 2018
  32. Dec 20, 2017
  33. Dec 15, 2017
  34. Dec 14, 2017
  35. Dec 11, 2017
  36. Dec 06, 2017
  37. Dec 01, 2017
    • Matthew Di Ferrante's avatar
      crypto/bn256: fix generator on G1 (#15591) · 80c6dfc1
      Matthew Di Ferrante authored
      Generator in the current lib uses -2 as the y point when doing
      ScalarBaseMult, this makes it so that points/signatures generated
      from libs like py_ecc don't match/validate as pretty much all
      other libs (including libsnark) have (1, 2) as the standard
      generator.
      
      This does not affect consensus as the generator is never used in
      the VM, points are always explicitly defined and there is not
      ScalarBaseMult op - it only makes it so that doing "import
      github.com/ethereum/go-ethereum/crypto/bn256" doesn't generate
      bad points in userland tools.
      80c6dfc1
  38. Aug 17, 2017
Loading