1. 01 Oct, 2021 2 commits
  2. 29 Sep, 2021 4 commits
  3. 28 Sep, 2021 7 commits
  4. 27 Sep, 2021 3 commits
  5. 22 Sep, 2021 1 commit
  6. 21 Sep, 2021 3 commits
  7. 20 Sep, 2021 7 commits
  8. 17 Sep, 2021 1 commit
    • Sina Mahmoodi's avatar
      core,eth: call frame tracing (#23087) · 40135497
      Sina Mahmoodi authored
      
      This change introduces 2 new optional methods; `enter()` and `exit()` for js tracers, and makes `step()` optiona. The two new methods are invoked when entering and exiting a call frame (but not invoked for the outermost scope, which has it's own methods). Currently these are the data fields passed to each of them:
      
          enter: type (opcode), from, to, input, gas, value
          exit: output, gasUsed, error
      
      The PR also comes with a re-write of the callTracer. As a backup we keep the previous tracing script under the name `callTracerLegacy`. Behaviour of both tracers are equivalent for the most part, although there are some small differences (improvements), where the new tracer is more correct / has more information. 
      40135497
  9. 16 Sep, 2021 1 commit
  10. 15 Sep, 2021 1 commit
  11. 13 Sep, 2021 3 commits
  12. 10 Sep, 2021 2 commits
  13. 08 Sep, 2021 1 commit
  14. 07 Sep, 2021 4 commits
    • Felix Lange's avatar
      core: 64bit alignment of testBlockChain.gasLimit (#23543) · 5c1fc3bf
      Felix Lange authored
      This fixes crashes in txpool tests on 32bit platforms.
      5c1fc3bf
    • Felix Lange's avatar
      core: make txPricedList.stales the first field for 64bit alignment (#23542) · 51ed39c0
      Felix Lange authored
      This fixes crashes on 32bit builds.
      51ed39c0
    • Péter Szilágyi's avatar
      p2p/enode: use unix timestamp as base ENR sequence number (#19903) · 6ef3a168
      Péter Szilágyi authored
      This PR ensures that wiping all data associated with a node (apart from its nodekey)
      will not generate already used sequence number for the ENRs, since all remote nodes
      would reject them until they out-number the previously published largest one.
      
      The big complication with this scheme is that every local update to the ENR can
      potentially bump the sequence number by one. In order to ensure that local updates
      do not outrun the clock, the sequence number is a millisecond-precision timestamp,
      and updates are throttled to occur at most once per millisecond.
      Co-authored-by: 's avatarFelix Lange <fjl@twurst.com>
      6ef3a168
    • Martin Holst Swende's avatar
      core/rawdb: freezer batch write (#23462) · 794c6133
      Martin Holst Swende authored
      This change is a rewrite of the freezer code.
      
      When writing ancient chain data to the freezer, the previous version first encoded each
      individual item to a temporary buffer, then wrote the buffer. For small item sizes (for
      example, in the block hash freezer table), this strategy causes a lot of system calls for
      writing tiny chunks of data. It also allocated a lot of temporary []byte buffers.
      
      In the new version, we instead encode multiple items into a re-useable batch buffer, which
      is then written to the file all at once. This avoids performing a system call for every
      inserted item.
      
      To make the internal batching work, the ancient database API had to be changed. While
      integrating this new API in BlockChain.InsertReceiptChain, additional optimizations were
      also added there.
      Co-authored-by: 's avatarFelix Lange <fjl@twurst.com>
      794c6133