good morning!!!!

Skip to content
Snippets Groups Projects
  1. Feb 26, 2021
  2. Feb 25, 2021
    • lightclient's avatar
      all: add support for EIP-2718, EIP-2930 transactions (#21502) · bbfb1e40
      lightclient authored
      
      This adds support for EIP-2718 typed transactions as well as EIP-2930
      access list transactions (tx type 1). These EIPs are scheduled for the
      Berlin fork.
      
      There very few changes to existing APIs in core/types, and several new APIs
      to deal with access list transactions. In particular, there are two new
      constructor functions for transactions: types.NewTx and types.SignNewTx.
      Since the canonical encoding of typed transactions is not RLP-compatible,
      Transaction now has new methods for encoding and decoding: MarshalBinary
      and UnmarshalBinary.
      
      The existing EIP-155 signer does not support the new transaction types.
      All code dealing with transaction signatures should be updated to use the
      newer EIP-2930 signer. To make this easier for future updates, we have
      added new constructor functions for types.Signer: types.LatestSigner and
      types.LatestSignerForChainID. 
      
      This change also adds support for the YoloV3 testnet.
      
      Co-authored-by: default avatarMartin Holst Swende <martin@swende.se>
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      Co-authored-by: default avatarRyan Schneider <ryanleeschneider@gmail.com>
      bbfb1e40
    • Gary Rong's avatar
      les, light: improve txstatus retrieval (#22349) · 7a3c8900
      Gary Rong authored
      Transaction unindexing will be enabled by default as of 1.10, which causes tx status retrieval will be broken without this PR. 
      
      This PR introduces a retry mechanism in TxStatus retrieval.
      7a3c8900
  3. Dec 10, 2020
  4. Dec 09, 2020
    • Martin Holst Swende's avatar
      core,les: headerchain import in batches (#21471) · 40b6ccf3
      Martin Holst Swende authored
      
      * core: add test for headerchain inserts
      
      * core, light: write headerchains in batches
      
      * core: change to one callback per batch of inserted headers + review concerns
      
      * core: error-check on batch write
      
      * core: unexport writeHeaders
      
      * core: remove callback parameter in InsertHeaderChain
      
      The semantics of InsertHeaderChain are now much simpler: it is now an
      all-or-nothing operation. The new WriteStatus return value allows
      callers to check for the canonicality of the insertion. This change
      simplifies use of HeaderChain in package les, where the callback was
      previously used to post chain events.
      
      * core: skip some hashing when writing headers
      
      * core: less hashing in header validation
      
      * core: fix headerchain flaw regarding blacklisted hashes
      
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      40b6ccf3
  5. Dec 04, 2020
    • Martin Holst Swende's avatar
      core: improve contextual information on core errors (#21869) · 7770e41c
      Martin Holst Swende authored
      A lot of times when we hit 'core' errors, example: invalid tx, the information provided is
      insufficient. We miss several pieces of information: what account has nonce too high,
      and what transaction in that block was offending?
      
      This PR adds that information, using the new type of wrapped errors.
      It also adds a testcase which (partly) verifies the output from the errors.
      
      The first commit changes all usage of direct equality-checks on core errors, into
      using errors.Is. The second commit adds contextual information. This wraps most
      of the core errors with more information, and also wraps it one more time in
      stateprocessor, to further provide tx index and tx hash, if such a tx is encoutered in
      a block. The third commit uses the chainmaker to try to generate chains with such
      errors in them, thus triggering the errors and checking that the generated string meets
      expectations.
      7770e41c
  6. Nov 18, 2020
  7. Nov 13, 2020
  8. Sep 28, 2020
  9. Sep 15, 2020
  10. Aug 21, 2020
  11. Jul 28, 2020
  12. Jul 13, 2020
  13. May 26, 2020
    • Felix Lange's avatar
      eth: interrupt chain insertion on shutdown (#21114) · 9219e0fb
      Felix Lange authored
      This adds a new API method on core.BlockChain to allow interrupting
      running data inserts, and calls the method before shutting down the
      downloader.
      
      The BlockChain interrupt checks are now done through a method instead
      of inlining the atomic load everywhere. There is no loss of efficiency from
      this and it makes the interrupt protocol a lot clearer because the check is
      defined next to the method that sets the flag.
      9219e0fb
  14. May 11, 2020
  15. Apr 22, 2020
    • Gary Rong's avatar
      all: seperate consensus error and evm internal error (#20830) · b9df7ecd
      Gary Rong authored
      * all: seperate consensus error and evm internal error
      
      There are actually two types of error will be returned when
      a tranaction/message call is executed: (a) consensus error
      (b) evm internal error. The former should be converted to
      a consensus issue, e.g. The sender doesn't enough asset to
      purchase the gas it specifies. The latter is allowed since
      evm itself is a blackbox and internal error is allowed to happen.
      
      This PR emphasizes the difference by introducing a executionResult
      structure. The evm error is embedded inside. So if any error
      returned, it indicates consensus issue happens.
      
      And also this PR improve the `EstimateGas` API to return the concrete
      revert reason if the transaction always fails
      
      * all: polish
      
      * accounts/abi/bind/backends: add tests
      
      * accounts/abi/bind/backends, internal: cleanup error message
      
      * all: address comments
      
      * core: fix lint
      
      * accounts, core, eth, internal: address comments
      
      * accounts, internal: resolve revert reason if possible
      
      * accounts, internal: address comments
      b9df7ecd
  16. Feb 25, 2020
  17. Jan 17, 2020
  18. Nov 19, 2019
  19. Nov 06, 2019
  20. Sep 26, 2019
  21. Sep 17, 2019
    • Zsolt Felföldi's avatar
      les: multiple server bugfixes (#20079) · 0ac9bbba
      Zsolt Felföldi authored
      * les: detailed relative cost metrics
      
      * les: filter txpool relative request statistic
      
      * les: initialize price factors
      
      * les: increased connected bias to lower churn rate
      
      * les: fixed clientPool.setLimits
      
      * core: do not use mutex in GetAncestor
      
      * les: bump factor db version again
      
      * les: add metrics
      
      * les, light: minor fixes
      0ac9bbba
  22. Aug 21, 2019
  23. Aug 14, 2019
  24. Jun 28, 2019
    • Gary Rong's avatar
      all: on-chain oracle checkpoint syncing (#19543) · f7cdea2b
      Gary Rong authored
      * all: implement simple checkpoint syncing
      
      cmd, les, node: remove callback mechanism
      
      cmd, node: remove callback definition
      
      les: simplify the registrar
      
      les: expose checkpoint rpc services in the light client
      
      les, light: don't store untrusted receipt
      
      cmd, contracts, les: discard stale checkpoint
      
      cmd, contracts/registrar: loose restriction of registeration
      
      cmd, contracts: add replay-protection
      
      all: off-chain multi-signature contract
      
      params: deploy checkpoint contract for rinkeby
      
      cmd/registrar: add raw signing mode for registrar
      
      cmd/registrar, contracts/registrar, les: fixed messages
      
      * cmd/registrar, contracts/registrar: fix lints
      
      * accounts/abi/bind, les: address comments
      
      * cmd, contracts, les, light, params: minor checkpoint sync cleanups
      
      * cmd, eth, les, light: move checkpoint config to config file
      
      * cmd, eth, les, params: address comments
      
      * eth, les, params: address comments
      
      * cmd: polish up the checkpoint admin CLI
      
      * cmd, contracts, params: deploy new version contract
      
      * cmd/checkpoint-admin: add another flag for clef mode signing
      
      * cmd, contracts, les: rename and regen checkpoint oracle with abigen
      f7cdea2b
  25. May 16, 2019
    • Gary Rong's avatar
      all: integrate the freezer with fast sync · 80469bea
      Gary Rong authored
      * all: freezer style syncing
      
      core, eth, les, light: clean up freezer relative APIs
      
      core, eth, les, trie, ethdb, light: clean a bit
      
      core, eth, les, light: add unit tests
      
      core, light: rewrite setHead function
      
      core, eth: fix downloader unit tests
      
      core: add receipt chain insertion test
      
      core: use constant instead of hardcoding table name
      
      core: fix rollback
      
      core: fix setHead
      
      core/rawdb: remove canonical block first and then iterate side chain
      
      core/rawdb, ethdb: add hasAncient interface
      
      eth/downloader: calculate ancient limit via cht first
      
      core, eth, ethdb: lots of fixes
      
      * eth/downloader: print ancient disable log only for fast sync
      80469bea
  26. May 13, 2019
    • Zsolt Felföldi's avatar
      les, light: implement ODR transaction lookup by hash (#19069) · 40cdcf8c
      Zsolt Felföldi authored
      * les, light: implement ODR transaction lookup by hash
      
      * les: delete useless file
      
      * internal/ethapi: always use backend to find transaction
      
      * les, eth, internal/ethapi: renamed GetCanonicalTransaction to GetTransaction
      
      * light: add canonical header verification to GetTransaction
      40cdcf8c
  27. Apr 17, 2019
  28. Apr 15, 2019
  29. Apr 08, 2019
  30. Apr 02, 2019
  31. Mar 26, 2019
  32. Mar 18, 2019
  33. Mar 06, 2019
  34. Feb 26, 2019
    • Zsolt Felföldi's avatar
      les, les/flowcontrol: improved request serving and flow control (#18230) · c2003ed6
      Zsolt Felföldi authored
      This change
      
      - implements concurrent LES request serving even for a single peer.
      - replaces the request cost estimation method with a cost table based on
        benchmarks which gives much more consistent results. Until now the
        allowed number of light peers was just a guess which probably contributed
        a lot to the fluctuating quality of available service. Everything related
        to request cost is implemented in a single object, the 'cost tracker'. It
        uses a fixed cost table with a global 'correction factor'. Benchmark code
        is included and can be run at any time to adapt costs to low-level
        implementation changes.
      - reimplements flowcontrol.ClientManager in a cleaner and more efficient
        way, with added capabilities: There is now control over bandwidth, which
        allows using the flow control parameters for client prioritization.
        Target utilization over 100 percent is now supported to model concurrent
        request processing. Total serving bandwidth is reduced during block
        processing to prevent database contention.
      - implements an RPC API for the LES servers allowing server operators to
        assign priority bandwidth to certain clients and change prioritized
        status even while the client is connected. The new API is meant for
        cases where server operators charge for LES using an off-protocol mechanism.
      - adds a unit test for the new client manager.
      - adds an end-to-end test using the network simulator that tests bandwidth
        control functions through the new API.
      c2003ed6
  35. Feb 14, 2019
Loading