1. 15 Mar, 2022 6 commits
  2. 14 Mar, 2022 2 commits
  3. 11 Mar, 2022 4 commits
    • s7v7nislands's avatar
      rpc: fix defer in test (#24490) · 496f05cf
      s7v7nislands authored
      Co-authored-by: 's avatarFelix Lange <fjl@twurst.com>
      496f05cf
    • Péter Szilágyi's avatar
      eth/downloader: implement beacon sync (#23982) · 8f66ea37
      Péter Szilágyi authored
      * eth/downloader: implement beacon sync
      
      * eth/downloader: fix a crash if the beacon chain is reduced in length
      
      * eth/downloader: fix beacon sync start/stop thrashing data race
      
      * eth/downloader: use a non-nil pivot even in degenerate sync requests
      
      * eth/downloader: don't touch internal state on beacon Head retrieval
      
      * eth/downloader: fix spelling mistakes
      
      * eth/downloader: fix some typos
      
      * eth: integrate legacy/beacon sync switchover and UX
      
      * eth: handle UX wise being stuck on post-merge TTD
      
      * core, eth: integrate the beacon client with the beacon sync
      
      * eth/catalyst: make some warning messages nicer
      
      * eth/downloader: remove Ethereum 1&2 notions in favor of merge
      
      * core/beacon, eth: clean up engine API returns a bit
      
      * eth/downloader: add skeleton extension tests
      
      * eth/catalyst: keep non-kiln spec, handle mining on ttd
      
      * eth/downloader: add beacon header retrieval tests
      
      * eth: fixed spelling, commented failing tests out
      
      * eth/downloader: review fixes
      
      * eth/downloader: drop peers failing to deliver beacon headers
      
      * core/rawdb: track beacon sync data in db inspect
      
      * eth: fix review concerns
      
      * internal/web3ext: nit
      Co-authored-by: 's avatarMarius van der Wijden <m.vanderwijden@live.de>
      8f66ea37
    • Péter Szilágyi's avatar
      Merge pull request #24529 from holiman/fix_inf · 1b58e428
      Péter Szilágyi authored
      eth/protocols/snap: avoid estimating infinite percentage
      1b58e428
    • 沉风's avatar
      7d3ecca4
  4. 10 Mar, 2022 4 commits
  5. 09 Mar, 2022 3 commits
  6. 08 Mar, 2022 5 commits
  7. 07 Mar, 2022 3 commits
  8. 04 Mar, 2022 1 commit
  9. 02 Mar, 2022 2 commits
    • uji's avatar
      internal/build: switch azure sdk from Azure/azure-storage-blob-go to... · 8fddf27a
      uji authored
      internal/build: switch azure sdk from Azure/azure-storage-blob-go to Azure/azure-sdk-for-go/sdk/storage/azblob. (#24473)
      
      * go.mod: update azure-storage-blob-go
      
      update Azure/azure-storage-blob-go from v0.7.0 to v0.14.0.
      relation #24396.
      
      * internal/build: fix for breaking changes of azure-storage-blob-go
      
      fix for breaking changes of update Azure/azure-storage-blob-go from v0.7.0 to v0.14.0.
      relation #24396.
      
      * internal/build: switch azure sdk from Azure/azure-storage-blob-go to Azure/azure-sdk-for-go/sdk/storage/azblob.
      
      * internal/build refactor appending BlobItems
      
      * internal/build: fix azure blobstore client to include container id
      Co-authored-by: 's avatarPéter Szilágyi <peterke@gmail.com>
      8fddf27a
    • s7v7nislands's avatar
      rpc: fix godoc (#24488) · f4ff4268
      s7v7nislands authored
      Co-authored-by: 's avatarseven <seven@nodereal.io>
      f4ff4268
  10. 01 Mar, 2022 4 commits
  11. 24 Feb, 2022 1 commit
  12. 23 Feb, 2022 1 commit
  13. 22 Feb, 2022 1 commit
  14. 18 Feb, 2022 1 commit
    • Felix Lange's avatar
      core/types: faster RLP encoding of Header, StateAcccount, ReceiptForStorage (#24420) · d6f49bf7
      Felix Lange authored
      This change makes use of the new code generator rlp/rlpgen to improve the
      performance of RLP encoding for Header and StateAccount. It also speeds up
      encoding of ReceiptForStorage using the new rlp.EncoderBuffer API.
      
      The change is much less transparent than I wanted it to be, because Header and
      StateAccount now have an EncodeRLP method defined with pointer receiver. It
      used to be possible to encode non-pointer values of these types, but the new
      method prevents that and attempting to encode unadressable values (even if
      part of another value) will return an error. The error can be surprising and may
      pop up in places that previously didn't expect any errors.
      
      To make things work, I also needed to update all code paths (mostly in unit tests)
      that lead to encoding of non-pointer values, and pass a pointer instead.
      
      Benchmark results:
      
          name                             old time/op    new time/op    delta
          EncodeRLP/legacy-header-8           328ns ± 0%     237ns ± 1%   -27.63%  (p=0.000 n=8+8)
          EncodeRLP/london-header-8           353ns ± 0%     247ns ± 1%   -30.06%  (p=0.000 n=8+8)
          EncodeRLP/receipt-for-storage-8     237ns ± 0%     123ns ± 0%   -47.86%  (p=0.000 n=8+7)
          EncodeRLP/receipt-full-8            297ns ± 0%     301ns ± 1%    +1.39%  (p=0.000 n=8+8)
      
          name                             old speed      new speed      delta
          EncodeRLP/legacy-header-8        1.66GB/s ± 0%  2.29GB/s ± 1%   +38.19%  (p=0.000 n=8+8)
          EncodeRLP/london-header-8        1.55GB/s ± 0%  2.22GB/s ± 1%   +42.99%  (p=0.000 n=8+8)
          EncodeRLP/receipt-for-storage-8  38.0MB/s ± 0%  64.8MB/s ± 0%   +70.48%  (p=0.000 n=8+7)
          EncodeRLP/receipt-full-8          910MB/s ± 0%   897MB/s ± 1%    -1.37%  (p=0.000 n=8+8)
      
          name                             old alloc/op   new alloc/op   delta
          EncodeRLP/legacy-header-8           0.00B          0.00B           ~     (all equal)
          EncodeRLP/london-header-8           0.00B          0.00B           ~     (all equal)
          EncodeRLP/receipt-for-storage-8     64.0B ± 0%      0.0B       -100.00%  (p=0.000 n=8+8)
          EncodeRLP/receipt-full-8             320B ± 0%      320B ± 0%      ~     (all equal)
      d6f49bf7
  15. 17 Feb, 2022 1 commit
  16. 16 Feb, 2022 1 commit
    • Felix Lange's avatar
      rlp/rlpgen: RLP encoder code generator (#24251) · 9b93564e
      Felix Lange authored
      This change adds a code generator tool for creating EncodeRLP method
      implementations. The generated methods will behave identically to the
      reflect-based encoder, but run faster because there is no reflection overhead.
      
      Package rlp now provides the EncoderBuffer type for incremental encoding. This
      is used by generated code, but the new methods can also be useful for
      hand-written encoders.
      
      There is also experimental support for generating DecodeRLP, and some new
      methods have been added to the existing Stream type to support this. Creating
      decoders with rlpgen is not recommended at this time because the generated
      methods create very poor error reporting.
      
      More detail about package rlp changes:
      
      * rlp: externalize struct field processing / validation
      
      This adds a new package, rlp/internal/rlpstruct, in preparation for the
      RLP encoder generator.
      
      I think the struct field rules are subtle enough to warrant extracting
      this into their own package, even though it means that a bunch of
      adapter code is needed for converting to/from rlpstruct.Type.
      
      * rlp: add more decoder methods (for rlpgen)
      
      This adds new methods on rlp.Stream:
      
      - Uint64, Uint32, Uint16, Uint8, BigInt
      - ReadBytes for decoding into []byte
      - MoreDataInList - useful for optional list elements
      
      * rlp: expose encoder buffer (for rlpgen)
      
      This exposes the internal encoder buffer type for use in EncodeRLP
      implementations.
      
      The new EncoderBuffer type is a sort-of 'opaque handle' for a pointer to
      encBuffer. It is implemented this way to ensure the global encBuffer pool
      is handled correctly.
      9b93564e