gary rong
54216811a0
miner: regenerate mining work every 3 seconds ( #17413 )
...
* miner: regenerate mining work every 3 seconds
* miner: polish
2018-08-16 14:14:33 +03:00
Felföldi Zsolt
2cdf6ee7e0
light: CHT and bloom trie indexers working in light mode ( #16534 )
...
This PR enables the indexers to work in light client mode by
downloading a part of these tries (the Merkle proofs of the last
values of the last known section) in order to be able to add new
values and recalculate subsequent hashes. It also adds CHT data to
NodeInfo.
2018-08-15 22:25:46 +02:00
gary rong
a1783d1697
miner: move agent logic to worker ( #17351 )
...
* miner: move agent logic to worker
* miner: polish
* core: persist block before reorg
2018-08-14 18:34:33 +03:00
gary rong
e0e0e53401
crypto: change formula for create2 ( #17393 )
2018-08-14 18:30:42 +03:00
Mymskmkt
fb368723ac
core: fix comment typo ( #17376 )
2018-08-13 11:40:52 +03:00
stormpang
6711f098d5
core/vm: fix comment typo ( #17319 )
...
antything --> anything
:P
2018-08-06 11:42:49 +03:00
Hyung-Kyu Hqueue Choi
0ab54de1a5
core/vm: update benchmarks for core/vm ( #17308 )
...
- Update benchmarks to use a pool of int pools.
Unless benchmarks are aborted with segmentation fault.
Signed-off-by: Hyung-Kyu Choi <hqueue@users.noreply.github.com>
2018-08-03 08:15:33 +03:00
Ha ĐANG
702b8a7aec
core/vm: fix typo in cryptographic hash function name ( #17285 )
2018-07-31 13:27:51 +03:00
Ha ĐANG
2cffd4ff3c
core: fix some small typos on comment code ( #17278 )
2018-07-30 14:10:48 +03:00
Oleg Kovalov
d42ce0f2c1
all: simplify switches ( #17267 )
...
* all: simplify switches
* silly mistake
2018-07-30 12:30:09 +03:00
Raghav Sood
11a402f747
core: report progress on log chain exports ( #17066 )
...
* core/blockchain: export progress
* core: polish up chain export progress report a bit
2018-07-26 14:26:24 +03:00
Guillaume Ballet
7abedf9bbb
core/vm: support for multiple interpreters ( #17093 )
...
- Define an Interpreter interface
- One contract can call contracts from other interpreter types.
- Pass the interpreter to the operands instead of the evm.
This is meant to prevent type assertions in operands.
2018-07-25 08:56:39 -04:00
Antoine Rondelet
27a278e6e3
core: fixed typo in addresssByHeartbeat ( #17243 )
2018-07-25 14:25:14 +03:00
hadv
bc0a43191e
core: fix typo in comment code
2018-07-25 18:04:38 +07:00
Osuke
10780e8a00
core: fix txpool guarantee comment ( #17214 )
...
* fixed-typo
* core: fix txpool guarantee comment
2018-07-24 18:44:41 +03:00
gary rong
2433349c80
core/vm, params: implement EXTCODEHASH opcode ( #17202 )
...
* core/vm, params: implement EXTCODEHASH opcode
* core, params: tiny fixes and polish
* core: add function description
2018-07-24 18:06:40 +03:00
gary rong
cab1cff11c
core, crypto, params: implement CREATE2 evm instrction ( #17196 )
...
* 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
2018-07-24 17:22:03 +03:00
Wenbiao Zheng
d0082bb7ec
core: fix comment typo ( #17236 )
2018-07-24 13:17:12 +03:00
Sheldon
9e24491c65
core/bloombits, light: fix typos ( #17235 )
2018-07-24 11:24:27 +03:00
gary rong
dcdd57df62
core, ethdb: two tiny fixes ( #17183 )
...
* ethdb: fix memory database
* core: fix bloombits checking
* core: minor polish
2018-07-18 13:41:36 +03:00
Smilenator
30bdf817a0
core/types: polish TxDifference code and docs a bit ( #17130 )
...
* core: fix func TxDifference
fix a typo in func comment;
change named return to unnamed as there's explicit return in the body
* fix another typo in TxDifference
2018-07-09 11:48:54 +03:00
Guillaume Ballet
4e5d1f1c39
core/vm: reuse bigint pools across transactions ( #17070 )
...
* core/vm: A pool for int pools
* core/vm: fix rebase issue
* core/vm: push leftover stack items after execution, not before
2018-07-03 13:06:42 +03:00
gary rong
a4a2343cdc
ethdb, core: implement delete for db batch ( #17101 )
2018-07-02 11:16:30 +03:00
Guillaume Ballet
598f786aab
core/vm: clear linter warnings ( #17057 )
...
* core/vm: clear linter warnings
* core/vm: review input
* core/vm.go: revert lint in noop as per request
2018-06-26 15:56:25 +03:00
Péter Szilágyi
d926bf2c7e
trie: cache collapsed tries node, not rlp blobs ( #16876 )
...
The current trie memory database/cache that we do pruning on stores
trie nodes as binary rlp encoded blobs, and also stores the node
relationships/references for GC purposes. However, most of the trie
nodes (everything apart from a value node) is in essence just a
collection of references.
This PR switches out the RLP encoded trie blobs with the
collapsed-but-not-serialized trie nodes. This permits most of the
references to be recovered from within the node data structure,
avoiding the need to track them a second time (expensive memory wise).
2018-06-21 11:28:05 +02:00
Wenbiao Zheng
9b1536b26a
core: remove dead code, limit test code scope ( #17006 )
...
* core: move test util var/func to test file
* core: remove useless func
2018-06-19 14:41:13 +03:00
Caesar Chad
ec192f18b4
core/asm: correct comments typo ( #16974 )
...
* core/asm/compiler: correct comments typo
core/asm/compiler: correct comments typo
* Correct comments typo
2018-06-14 16:24:35 +03:00
Wenbiao Zheng
52b1d09457
core: reduce nesting in transaction pool code ( #16980 )
2018-06-14 13:46:43 +03:00
Martin Holst Swende
947e0afeb3
core/vm: optimize MSTORE and SLOAD ( #16939 )
...
* vm/test: add tests+benchmarks for mstore
* core/vm: less alloc and copying for mstore
* core/vm: less allocs in sload
* vm: check for errors more correctly
2018-06-14 12:23:37 +03:00
Caesar Chad
f04c0e341e
core/asm: correct comments typo ( #16975 )
...
core/asm/lexer: correct comments typo
2018-06-14 11:32:19 +03:00
John C. Vernaleo
8c4a7fa8d3
core: change comment to match code more closely ( #16963 )
2018-06-13 10:14:15 +03:00
Felföldi Zsolt
049f5b3572
core, eth, les: more efficient hash-based header chain retrieval ( #16946 )
2018-06-12 16:52:54 +03:00
Wenbiao Zheng
aab7ab04b0
core/rawdb: wrap db key creations ( #16914 )
...
* core/rawdb: use wrappered helper to assemble key
* core/rawdb: wrappered helper to assemble key
* core/rawdb: rewrite the wrapper, pass common.Hash
2018-06-11 16:06:26 +03:00
Martin Holst Swende
eac16f9824
core: improve getBadBlocks to return full block rlp ( #16902 )
...
* core: improve getBadBlocks to return full block rlp
* core, eth, ethapi: changes to getBadBlocks formatting
* ethapi: address review concerns
2018-06-11 11:03:40 +03:00
ledgerwatch
feb6620c34
core: relax type requirement for bc in ApplyTransaction ( #16901 )
2018-06-07 10:34:24 +02:00
Péter Szilágyi
01a7e267dc
Merge pull request #16882 from karalabe/streaming-ecrecover
...
core: concurrent background transaction sender ecrecover
2018-06-05 17:13:43 +03:00
kiel barry
cbfb40b0aa
params: fix golint warnings ( #16853 )
...
params: fix golint warnings
2018-06-05 12:31:34 +02:00
Péter Szilágyi
2ab24a2a8f
core: concurrent background transaction sender ecrecover
2018-06-05 11:03:55 +03:00
hadv
e3a993d774
core: fix typo in comment code
2018-06-05 09:56:45 +07:00
Péter Szilágyi
143c4341d8
core, eth, trie: streaming GC for the trie cache ( #16810 )
...
* core, eth, trie: streaming GC for the trie cache
* trie: track memcache statistics
2018-06-04 10:47:43 +03:00
Péter Szilágyi
342ec83d67
core: fix transaction event asynchronicity
2018-05-30 10:14:00 +03:00
Wenbiao Zheng
38c7eb0f26
trie: rename TrieSync to Sync and improve hexToKeybytes ( #16804 )
...
This removes a golint warning: type name will be used as trie.TrieSync by
other packages, and that stutters; consider calling this Sync.
In hexToKeybytes len(hex) is even and (even+1)/2 == even/2, remove the +1.
2018-05-29 17:48:43 +02:00
Péter Szilágyi
d51faee240
Merge pull request #16831 from abeln/patch-1
...
core/vm: fix typo in comment
2018-05-29 15:44:30 +03:00
kimmylin
426f62f1a8
core: improve test for TransactionPriceNonceSort ( #16413 )
2018-05-29 14:21:04 +02:00
Abel Nieto
d258eee211
core/vm: fix typo in comment
2018-05-29 13:22:00 +02:00
kiel barry
84f8c0cc1f
common: improve documentation comments ( #16701 )
...
This commit adds many comments and removes unused code.
It also removes the EmptyHash function, which had some uses
but was silly.
2018-05-29 12:42:21 +02:00
Ryan Schneider
55b579e02c
core: use a wrapped map to remove contention in `TxPool.Get`. ( #16670 )
...
* core: use a wrapped `map` and `sync.RWMutex` for `TxPool.all` to remove contention in `TxPool.Get`.
* core: Remove redundant `txLookup.Find` and improve comments on txLookup methods.
2018-05-23 15:55:42 +03:00
Abel Nieto
be22ee8dda
core/vm: fix typo in instructions.go ( #16788 )
2018-05-23 15:02:10 +03:00
gary rong
fbf57d53e2
core/types: convert status type from uint to uint64 ( #16784 )
2018-05-23 11:10:24 +03:00
Péter Szilágyi
ab6bdbd9b0
Merge pull request #16758 from hadv/fix/typos
...
Fix some typos in comment code and output log
2018-05-19 19:40:55 +03:00
hadv
f2fdb75dd9
core, consensus: fix some typos in comment code and output log
2018-05-19 15:44:36 +07:00
Péter Szilágyi
49719e21bc
core, eth: minor txpool event cleanups
2018-05-18 12:08:24 +03:00
rjl493456442
a2e43d28d0
all: collate new transaction events together
2018-05-18 11:46:44 +03:00
gary rong
7beccb29be
all: get rid of error when creating memory database ( #16716 )
...
* all: get rid of error when create mdb
* core: clean up variables definition
* all: inline mdb definition
2018-05-09 15:24:25 +03:00
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package ( #16666 )
2018-05-07 14:35:06 +03:00
Péter Szilágyi
579ac6287b
Merge pull request #16576 from CrispinFlowerday/bugfix/local_underpriced_txs
...
core: ensure local transactions aren't discarded as underpriced
2018-05-02 11:34:47 +03:00
kiel barry
a7720b5926
core: golint updates for this or self warning ( #16633 )
2018-05-02 11:27:59 +03:00
Crispin Flowerday
0afd767537
core: ensure local transactions aren't discarded as underpriced
...
This fixes an issue where local transactions are discarded as
underpriced when the pool and queue are full.
2018-05-02 11:04:40 +03:00
Péter Szilágyi
7a7428a027
core, eth: fix tracer dirty finalization
2018-04-27 14:29:18 +03:00
Felix Lange
b724d1aada
core/state: cache missing storage entries ( #16584 )
2018-04-27 12:13:23 +03:00
kimmylin
86be91b3e2
core/types: avoid duplicating transactions on changing signer ( #16435 )
2018-04-24 10:39:03 +03:00
Wuxiang
8f8774cf6d
all: fix various typos ( #16533 )
...
* fix typo
* fix typo
* fix typo
2018-04-19 16:32:02 +03:00
dm4
c514fbccc0
core/asm: accept uppercase instructions ( #16531 )
2018-04-19 15:31:30 +02:00
dm4
49e38c970e
core/asm: remove unused condition ( #16487 )
2018-04-18 01:08:31 +02:00
thomasmodeneis
ba1030b6b8
build: enable goimports and varcheck linters ( #16446 )
2018-04-18 00:53:50 +02:00
Péter Szilágyi
db48d312e4
core: txpool stable underprice drop order, perf fixes
2018-04-12 12:54:22 +03:00
Martin Holst Swende
7205366c9f
core/state: fix ripemd-cornercase in Copy
2018-04-11 15:03:49 +02:00
Martin Holst Swende
0c7b99b8cc
core/state: fix bug in copy of copy State
2018-04-11 10:23:01 +02:00
Felix Lange
3caf16b15f
core: remove stray account creations in state transition ( #16470 )
...
The 'from' and 'to' methods on StateTransitions are reader methods and
shouldn't have inadvertent side effects on state.
It is safe to remove the check in 'from' because account existence is
implicitly checked by the nonce and balance checks. If the account has
non-zero balance or nonce, it must exist. Even if the sender account has
nonce zero at the start of the state transition or no balance, the nonce
is incremented before execution and the account will be created at that
time.
It is safe to remove the check in 'to' because the EVM creates the
account if necessary.
Fixes #15119
2018-04-10 15:33:25 +02:00
Felix Lange
c7ab3e5544
common: delete StringToAddress, StringToHash ( #16436 )
...
* common: delete StringToAddress, StringToHash
These functions are confusing because they don't parse hex, but use the
bytes of the string. This change removes them, replacing all uses of
StringToAddress(s) by BytesToAddress([]byte(s)).
* eth/filters: remove incorrect use of common.BytesToAddress
2018-04-10 14:12:07 +03:00
Péter Szilágyi
39f4c80155
Merge pull request #15225 from holiman/test_removefrom_dirtyset
...
Change handling of dirty objects in state
2018-04-10 12:28:30 +03:00
Martin Holst Swende
8c31d2897b
core: add blockchain benchmarks
2018-04-10 11:20:06 +02:00
Martin Holst Swende
14c9215dd3
state: handle nil in journal dirties
2018-04-10 11:20:02 +02:00
dm4
3ebcf92b42
cmd/evm: print vm output when debug flag is on ( #16326 )
2018-04-06 12:43:36 +02:00
Steven Roose
ec8ee611ca
core/types: remove String methods from struct types ( #16205 )
...
Most of these methods did not contain all the relevant information
inside the object and were not using a similar formatting type.
Moreover, the existence of a suboptimal String method breaks usage
with more advanced data dumping tools like go-spew.
2018-04-05 14:13:02 +02:00
Jia Chenhui
5909482fb5
core/state: avoid redundant addition to code size cache ( #16427 )
2018-04-03 17:13:19 +02:00
Péter Szilágyi
d985b9052a
core/state: avoid linear overhead on journal dirty listing
2018-03-28 09:32:02 +03:00
Martin Holst Swende
958ed4f3d9
core/state: rework dirty handling to avoid quadratic overhead
2018-03-28 09:29:28 +03:00
Jia Chenhui
1a8894b3d5
core/state: uniform parameter style ( #16398 )
...
- Uniform code style.
2018-03-28 09:26:37 +03:00
hydai
6134990709
core/vm: Fixed typos in core/vm/interpreter.go
2018-03-27 12:29:04 +08:00
hydai
c3dc814fea
core/vm: Fixed typo in core/vm/evm.go
2018-03-26 21:40:00 +08:00
Jia Chenhui
e506d384e9
core/state: fix typo ( #16370 )
2018-03-26 14:45:34 +03:00
hydai
7c131f4d6d
core/asm: fixed typo (posititon -> position) ( #16366 )
2018-03-26 13:48:39 +03:00
hydai
84c5db5409
core/vm: remove JIT VM codes ( #16362 )
2018-03-26 13:48:04 +03:00
Péter Szilágyi
1fae50a199
core: minor evm polishes and optimizations
2018-03-26 12:28:46 +03:00
Martin Holst Swende
faed47b3c5
Merge pull request #15990 from markya0616/sim_backend_block_hash
...
accounts/abi, core: add AddTxWithChain in BlockGen for simulation
2018-03-19 08:29:54 +01:00
hydai
a063876749
core/asm: fixed typo (labal -> label) ( #16313 )
2018-03-14 11:59:06 +02:00
Martin Holst Swende
4871e25f5f
core/vm: optimize eq, slt, sgt and iszero + tests ( #16047 )
...
* vm: optimize eq, slt, sgt and iszero + tests
* core/vm: fix error in slt/sgt, found by vmtests. Added testcase
* core/vm: make slt/sgt cleaner
2018-03-08 14:48:19 +02:00
Kyuntae Ethan Kim
63687f04e4
core: check transaction/receipt count match when reconstructing blocks ( #16272 )
2018-03-07 12:05:14 +02:00
Péter Szilágyi
2b5d1a4a4c
core: update txpool tests for the removal fix
2018-03-07 10:58:11 +02:00
cui
f8601430fd
core: should enqueue the invalids tx anyway
...
even the pending is empty we shoud enqueue the invalid txs
2018-03-07 10:07:50 +02:00
Péter Szilágyi
bd6879ac51
core/vm, crypto/bn256: switch over to cloudflare library ( #16203 )
...
* core/vm, crypto/bn256: switch over to cloudflare library
* crypto/bn256: unmarshal constraint + start pure go impl
* crypto/bn256: combo cloudflare and google lib
* travis: drop 386 test job
2018-03-05 14:33:45 +02:00
Péter Szilágyi
b7e57ca1d0
cmd/evm, core/vm, internal/ethapi: don't disable call gas metering
2018-03-05 14:01:13 +02:00
Péter Szilágyi
ca64a122d3
eth/downloader: save and load trie sync progress ( #16224 )
2018-03-03 00:52:39 +01:00
Mark Rushakoff
98ec5e5011
core/asm: rename isAlphaNumeric to isLetter ( #16212 )
...
The function would return false for numbers, so isLetter is a more
accurate description of the behavior.
2018-02-28 12:20:07 +02:00
Martin Holst Swende
f83237573f
core: make current*Block atomic, and accessor functions mutex-free ( #16171 )
...
* core: make current*Block atomic, and accessor functions mutex-free
* core: fix review concerns
* core: fix error in atomic assignment
* core/light: implement atomic getter/setter for headerchain
2018-02-26 11:53:10 +02:00
Péter Szilágyi
89f914c030
core: flush out trie cache more meaningfully on stop ( #16143 )
...
* core: flush out trie cache more meaningfully on stop
* core: upgrade legacy tests to chain maker
2018-02-23 14:02:33 +02:00
Martin Holst Swende
44d40ffce1
core, vm, common: define constantinople fork + shift ( #16045 )
...
* core, vm, common: define constantinople fork, start implementation of shift instructions
* vm: more testcases
* vm: add tests for intpool erroneous intpool handling
* core, vm, common: fix constantinople review concerns
* vm: add string<->op definitions for new opcodes
2018-02-23 12:32:57 +02:00
Anton Evangelatov
ae9f97221a
metrics: pull library and introduce ResettingTimer and InfluxDB reporter ( #15910 )
...
* go-metrics: fork library and introduce ResettingTimer and InfluxDB reporter.
* vendor: change nonsense/go-metrics to ethersphere/go-metrics
* go-metrics: add tests. move ResettingTimer logic from reporter to type.
* all, metrics: pull in metrics package in go-ethereum
* metrics/test: make sure metrics are enabled for tests
* metrics: apply gosimple rules
* metrics/exp, internal/debug: init expvar endpoint when starting pprof server
* internal/debug: tiny comment formatting fix
2018-02-23 11:56:08 +02:00
Péter Szilágyi
0b3e23f636
core: yeah, funny file, drop it
2018-02-22 15:41:48 +02:00