1. 01 6月, 2017 2 次提交
  2. 30 5月, 2017 1 次提交
  3. 29 5月, 2017 1 次提交
  4. 25 5月, 2017 2 次提交
  5. 17 5月, 2017 1 次提交
  6. 28 2月, 2017 2 次提交
    • F
      all: unify big.Int zero checks, use common/math in more places (#3716) · 5f782627
      Felix Lange 提交于
      * common/math: optimize PaddedBigBytes, use it more
      
      name              old time/op    new time/op    delta
      PaddedBigBytes-8    71.1ns ± 5%    46.1ns ± 1%  -35.15%  (p=0.000 n=20+19)
      
      name              old alloc/op   new alloc/op   delta
      PaddedBigBytes-8     48.0B ± 0%     32.0B ± 0%  -33.33%  (p=0.000 n=20+20)
      
      * all: unify big.Int zero checks
      
      Various checks were in use. This commit replaces them all with Int.Sign,
      which is cheaper and less code.
      
      eg templates:
      
          func before(x *big.Int) bool { return x.BitLen() == 0 }
          func after(x *big.Int) bool  { return x.Sign() == 0 }
      
          func before(x *big.Int) bool { return x.BitLen() > 0 }
          func after(x *big.Int) bool  { return x.Sign() != 0 }
      
          func before(x *big.Int) int { return x.Cmp(common.Big0) }
          func after(x *big.Int) int  { return x.Sign() }
      
      * common/math, crypto/secp256k1: make ReadBits public in package math
      5f782627
    • P
      e588e0ca
  7. 23 2月, 2017 1 次提交
  8. 15 2月, 2017 1 次提交
  9. 25 1月, 2017 1 次提交
    • F
      event: deprecate TypeMux and related types · 9b62facd
      Felix Lange 提交于
      The Subscription type is gone, all uses are replaced by
      *TypeMuxSubscription. This change is prep-work for the
      introduction of the new Subscription type in a later commit.
      
         gorename -from '"github.com/ethereum/go-ethereum/event"::Event' -to TypeMuxEvent
         gorename -from '"github.com/ethereum/go-ethereum/event"::muxsub' -to TypeMuxSubscription
         gofmt -w -r 'Subscription -> *TypeMuxSubscription' ./event/*.go
         find . -name '*.go' -and -not -regex '\./vendor/.*' \| xargs gofmt -w -r 'event.Subscription -> *event.TypeMuxSubscription'
      9b62facd
  10. 07 1月, 2017 1 次提交
  11. 06 1月, 2017 1 次提交
  12. 16 12月, 2016 1 次提交
  13. 13 12月, 2016 1 次提交
  14. 11 12月, 2016 1 次提交
    • B
      core: bugfix state change race condition in txpool (#3412) · 4e36b1e3
      bas-vk 提交于
      The transaction pool keeps track of the current nonce in its local pendingState. When a
      new block comes in the pendingState is reset. During the reset it fetches multiple times
      the current state through the use of the currentState callback. When a second block comes
      in during the reset its possible that the state changes during the reset. If that block
      holds transactions that are currently in the pool the local pendingState that is used to
      determine nonces can get out of sync.
      4e36b1e3
  15. 13 11月, 2016 2 次提交
  16. 01 11月, 2016 1 次提交
    • M
      core: metrics collection for transaction events (#3157) · 36956da4
      Martin Holst Swende 提交于
      * core: Add metrics collection for transaction events; replace/discard for pending and future queues, as well as invalid transactions
      
      * core: change namespace for txpool metrics
      
      * core: define more metrics (not yet used)
      
      * core: implement more tx metrics for when transactions are dropped
      
      * core: minor formatting tweeks (will squash later)
      
      * core: remove superfluous meter, fix missing pending nofunds
      
      * core, metrics: switch txpool meters to counters
      36956da4
  17. 14 10月, 2016 1 次提交
  18. 10 10月, 2016 1 次提交
  19. 06 10月, 2016 1 次提交
    • F
      core/state: implement reverts by journaling all changes · 1f1ea18b
      Felix Lange 提交于
      This commit replaces the deep-copy based state revert mechanism with a
      linear complexity journal. This commit also hides several internal
      StateDB methods to limit the number of ways in which calling code can
      use the journal incorrectly.
      
      As usual consultation and bug fixes to the initial implementation were
      provided by @karalabe, @obscuren and @Arachnid. Thank you!
      1f1ea18b
  20. 02 9月, 2016 4 次提交
  21. 03 6月, 2016 1 次提交
  22. 09 5月, 2016 1 次提交
    • F
      core, eth, miner: improve shutdown synchronisation · 56ed6152
      Felix Lange 提交于
      Shutting down geth prints hundreds of annoying error messages in some
      cases. The errors appear because the Stop method of eth.ProtocolManager,
      miner.Miner and core.TxPool is asynchronous. Left over peer sessions
      generate events which are processed after Stop even though the database
      has already been closed.
      
      The fix is to make Stop synchronous using sync.WaitGroup.
      
      For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
      a way to stop new peer sessions from being added while waiting on the
      WaitGroup. The eth protocol Run function now selects on a signaling
      channel and adds to the WaitGroup only if ProtocolManager is not
      shutting down.
      
      For miner.worker and core.TxPool the number of goroutines is static,
      WaitGroup can be used in the usual way without additional
      synchronisation.
      56ed6152
  23. 01 4月, 2016 1 次提交
    • J
      core: added basic chain configuration · f0cbebb1
      Jeffrey Wilcke 提交于
      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
  24. 16 3月, 2016 1 次提交
  25. 18 2月, 2016 2 次提交
  26. 01 2月, 2016 1 次提交
  27. 22 1月, 2016 1 次提交
  28. 05 1月, 2016 1 次提交
  29. 16 12月, 2015 1 次提交
  30. 16 10月, 2015 1 次提交
  31. 12 10月, 2015 1 次提交
  32. 22 9月, 2015 1 次提交
    • J
      core, core/types: readd transactions after chain re-org · eaa4473d
      Jeffrey Wilcke 提交于
      Added a `Difference` method to `types.Transactions` which sets the
      receiver to the difference of a to b (NOTE: not a **and** b).
      
      Transaction pool subscribes to RemovedTransactionEvent adding back to
      those potential missing from the chain.
      
      When a chain re-org occurs remove any transactions that were removed
      from the canonical chain during the re-org as well as the receipts that
      were generated in the process.
      
      Closes #1746
      eaa4473d