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
ferhat elmas
dc7ca52b3b
core: handle ignored error ( #16065 )
...
- according to implementation of `IntrinsicGas`
we can continue execution since problem will be detected
later. However, early return is future-proof for changes.
2018-02-14 22:02:51 +02:00
ferhat elmas
ff225db813
core/vm: remove unused hashing ( #16075 )
2018-02-14 15:41:05 +02:00
Felix Lange
a5c0bbb4f4
all: update license information ( #16089 )
2018-02-14 13:49:11 +01:00
Felix Lange
b007412db1
core: soften up state memory force-commit log messages ( #16080 )
...
Talk about "state" instead of "trie timing", "trie memory" and remove
the overzealous warning when the limit is just reached. Since the time
limit is always reached on slow machines, move the message to info level
so users don't freak out about internal details.
2018-02-13 15:12:55 +02:00
Péter Szilágyi
69c1f2c2a7
core: force import known but rolled back blocks
2018-02-12 11:54:14 +02:00
Péter Szilágyi
55599ee95d
core, trie: intermediate mempool between trie and database ( #15857 )
...
This commit reduces database I/O by not writing every state trie to disk.
2018-02-05 17:40:32 +01:00
Péter Szilágyi
fdb34b7a7c
Merge pull request #15996 from karalabe/drop-redundant-methods
...
core, eth, les, light: get rid of redundant methods
2018-01-31 12:46:38 +02:00
Martin Holst Swende
017b9f7eac
core, ethdb: reuse database batches ( #15989 )
...
* leveldb: Update leveldb to 211f780 (poolfix)
* core, ethdb: reuse database batches
2018-01-30 19:03:31 +02:00
Péter Szilágyi
566d5c0777
core, eth, les, light: get rid of redundant methods
2018-01-30 18:42:00 +02:00
mark.lin
c1d70ea970
accounts/abi, core: add AddTxWithChain in BlockGen for simulation
2018-01-29 18:47:08 +08:00
Péter Szilágyi
84be009154
core: sorted reorg insertion order for proper head header updating
2018-01-22 14:11:07 +02:00
George Ornbo
370dca4491
core/vm: Fix comment typo
2018-01-16 15:47:33 +00:00
Jim McDonald
18a7d31338
miner: avoid unnecessary work ( #15883 )
2018-01-15 12:57:06 +02:00
Felix Lange
9d06026c19
all: regenerate codecs with gencodec commit 90983d99de ( #15830 )
...
Fixes #15777 because null is now allowed for hexutil.Bytes.
2018-01-08 15:13:22 +02:00
Felix Lange
5c2f1e0014
all: update generated code ( #15808 )
...
* core/types, core/vm, eth, tests: regenerate gencodec files
* Makefile: update devtools target
Install protoc-gen-go and print reminders about npm, solc and protoc.
Also switch to github.com/kevinburke/go-bindata because it's more
maintained.
* contracts/ens: update contracts and regenerate with solidity v0.4.19
The newer upstream version of the FIFSRegistrar contract doesn't set the
resolver anymore. The resolver is now deployed separately.
* contracts/release: regenerate with solidity v0.4.19
* contracts/chequebook: fix fallback and regenerate with solidity v0.4.19
The contract didn't have a fallback function, payments would be rejected
when compiled with newer solidity. References to 'mortal' and 'owned'
use the local file system so we can compile without network access.
* p2p/discv5: regenerate with recent stringer
* cmd/faucet: regenerate
* dashboard: regenerate
* eth/tracers: regenerate
* internal/jsre/deps: regenerate
* dashboard: avoid sed -i because it's not portable
* accounts/usbwallet/internal/trezor: fix go generate warnings
2018-01-08 14:15:57 +02:00
Felix Lange
1c2378b926
tests: update to upstream commit 2bb0c3da3b ( #15806 )
...
Also raise traceLimit once again and print the VM
error and output on failure.
2018-01-04 13:18:30 +01:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64
2018-01-03 14:45:35 +02:00
ferhat elmas
5866626b08
core, p2p/discv5: use time.NewTicker instead of time.Tick ( #15747 )
2018-01-02 12:50:46 +01:00
gary rong
5f8888e116
accounts, consensus, core, eth: make chain maker consensus agnostic ( #15497 )
...
* accounts, consensus, core, eth: make chain maker consensus agnostic
* consensus, core: move CalcDifficulty to Engine interface
* consensus: add docs for calcDifficulty function
* consensus, core: minor comment fixups
2017-12-22 14:37:50 +02:00
Péter Szilágyi
5258785c81
cmd, core, eth/tracers: support fancier js tracing ( #15516 )
...
* cmd, core, eth/tracers: support fancier js tracing
* eth, internal/web3ext: rework trace API, concurrency, chain tracing
* eth/tracers: add three more JavaScript tracers
* eth/tracers, vendor: swap ottovm to duktape for tracing
* core, eth, internal: finalize call tracer and needed extras
* eth, tests: prestate tracer, call test suite, rewinding
* vendor: fix windows builds for tracer js engine
* vendor: temporary duktape fix
* eth/tracers: fix up 4byte and evmdis tracer
* vendor: pull in latest duktape with my upstream fixes
* eth: fix some review comments
* eth: rename rewind to reexec to make it more obvious
* core/vm: terminate tracing using defers
2017-12-21 13:56:11 +02:00
Péter Szilágyi
7138de7b55
core: silence txpool reorg warning (annoying on import) ( #15725 )
2017-12-21 10:20:10 +02:00
Kurkó Mihály
b4cf57a581
core: fix typos ( #15720 )
2017-12-20 19:08:51 +02:00
Péter Szilágyi
5e1581c2c3
core: fix panic when stat-ing a tx from a queue-only account ( #15714 )
2017-12-20 12:34:43 +02:00
Paweł Bylica
fb5f25eeee
core/vm: Remove snapshot param from Interpreter.Run()
2017-12-15 13:33:35 +01:00
Zach
3da1bf8ca1
all: use gometalinter.v2, fix new gosimple issues ( #15650 )
2017-12-12 19:05:47 +01:00
Airead
8092106abc
core/types: fix typo in comment ( #15619 )
2017-12-07 10:06:44 +01:00
Felix Lange
be12392fba
core/vm: track 63/64 call gas off stack ( #15563 )
...
* core/vm: track 63/64 call gas off stack
Gas calculations in gasCall* relayed the available gas for calls by
replacing it on the stack. This lead to inconsistent traces, which we
papered over by copying the pre-execution stack in trace mode.
This change relays available gas using a temporary variable, off the
stack, and allows removing the weird copy.
* core/vm: remove stackCopy
* core/vm: pop call gas into pool
* core/vm: to -> addr
2017-11-28 21:05:49 +02:00
Péter Szilágyi
5dea0f2aa4
core/state: copy trie too, not just content
2017-11-24 14:20:49 +02:00
Ricardo Domingos
9ff9d04a69
all: fix code comment typos ( #15547 )
...
* console: fix typo in comment
* contracts/release: fix typo in comment
* core: fix typo in comment
* eth: fix typo in comment
* miner: fix typo in comment
2017-11-24 11:20:01 +02:00
Péter Szilágyi
b0190189a3
core/vm, internal/ethapi: tracer no full storage, nicer json output ( #15499 )
...
* core/vm, internal/ethapi: tracer no full storage, nicer json output
* core/vm, internal/ethapi: omit disabled trace fields
2017-11-16 18:53:18 +02:00
Péter Szilágyi
463014126f
core/bloombits: handle non 8-bit boundary section matches
2017-11-15 14:10:35 +02:00
Péter Szilágyi
bce5d837b5
Merge pull request #14582 from holiman/jumpdest_improv
...
core/vm: improve jumpdest analysis
2017-11-15 10:52:14 +02:00
Péter Szilágyi
43c8a1914c
Merge pull request #15470 from karalabe/clique-sametd-splitter
...
core: split same-td blocks on block height
2017-11-15 10:44:18 +02:00
Jay Guo
924098c6e5
core/vm: fix typos in jump_table.go
2017-11-14 17:57:37 +08:00
Martin Holst Swende
96ddf27a48
core/vm: copyright header on test-file
2017-11-13 22:04:53 +01:00
Péter Szilágyi
54ce3887d8
core: split same-td blocks on block height
2017-11-13 17:07:05 +02:00
ferhat elmas
86f6568f66
build: enable unconvert linter ( #15456 )
...
* build: enable unconvert linter
- fixes #15453
- update code base for failing cases
* cmd/puppeth: replace syscall.Stdin with os.Stdin.Fd() for unconvert linter
2017-11-10 19:06:45 +02:00
ferhat elmas
9619a61024
all: gofmt -w -s ( #15419 )
2017-11-08 11:45:52 +01:00
Jim McDonald
0131bd6ff9
core: respect price bump threshold ( #15401 )
...
* core: allow price bump at threshold
* core: test changes to allow price bump at threshold
* core: reinstate tx replacement test underneath threshold
* core: minor test failure message cleanups
2017-10-30 13:05:00 +02:00
ferhat elmas
07e8c177e7
core, swarm: typo fixes
2017-10-30 01:23:23 +01:00
Felföldi Zsolt
8d434f6a6f
les, core/bloombits: post-LES/2 fixes ( #15391 )
...
* les: fix topic ID
* core/bloombits: fix interface conversion
2017-10-27 17:18:53 +03:00
Péter Szilágyi
0095531a58
core, eth, les: fix messy code ( #15367 )
...
* core, eth, les: fix messy code
* les: fixed tx status test and rlp encoding
* core: add a workaround for light sync
2017-10-25 12:18:44 +03:00
Felföldi Zsolt
ca376ead88
les, light: LES/2 protocol version ( #14970 )
...
This PR implements the new LES protocol version extensions:
* new and more efficient Merkle proofs reply format (when replying to
a multiple Merkle proofs request, we just send a single set of trie
nodes containing all necessary nodes)
* BBT (BloomBitsTrie) works similarly to the existing CHT and contains
the bloombits search data to speed up log searches
* GetTxStatusMsg returns the inclusion position or the
pending/queued/unknown state of a transaction referenced by hash
* an optional signature of new block data (number/hash/td) can be
included in AnnounceMsg to provide an option for "very light
clients" (mobile/embedded devices) to skip expensive Ethash check
and accept multiple signatures of somewhat trusted servers (still a
lot better than trusting a single server completely and retrieving
everything through RPC). The new client mode is not implemented in
this PR, just the protocol extension.
2017-10-24 15:19:09 +02:00
Péter Szilágyi
6d6a5a9337
cmd, consensus, core, miner: instatx clique for --dev ( #15323 )
...
* cmd, consensus, core, miner: instatx clique for --dev
* cmd, consensus, clique: support configurable --dev block times
* cmd, core: allow --dev to use persistent storage too
2017-10-24 13:40:42 +03:00
Péter Szilágyi
0af1ab0c86
core: avoid warning when loading the transaction journal
2017-10-20 14:42:20 +03:00
Péter Szilágyi
0e7d019e0e
core: fire tx event on replace, expand tests
2017-10-20 14:42:19 +03:00
Péter Szilágyi
a91e682234
core/vm: check opcode stack before readonly enforcement
2017-10-14 15:42:48 +03:00
Jim McDonald
c599b78f62
core/types: fix test for TransactionsByPriceAndNonce
2017-10-11 11:35:44 +01:00
Péter Szilágyi
629b5837e9
core: revert invalid block dedup code ( #15235 )
2017-10-03 18:59:53 +02:00
Péter Szilágyi
7e9e3a134b
core/types, internal: swap Receipt.Failed to Status
2017-10-02 14:04:22 +03:00
Felix Lange
d78ad226c2
ethclient, mobile: add TransactionSender ( #15127 )
...
* core/types: make Signer derive address instead of public key
There are two reasons to do this now: The upcoming ethclient signer
doesn't know the public key, just the address. EIP 208 will introduce a
new signer which derives the 'entry point' address for transactions with
zero signature. The entry point has no public key.
Other changes to the interface ease the path make to moving signature
crypto out of core/types later.
* ethclient, mobile: add TransactionSender
The new method can get the right signer without any crypto, and without
knowledge of the signature scheme that was used when the transaction was
included.
2017-10-01 11:03:28 +02:00
Péter Szilágyi
2ab2a9f131
core/bloombits, eth/filters: handle null topics ( #15195 )
...
When implementing the new bloombits based filter, I've accidentally broke null
topics by removing the special casing of common.Hash{} filter rules, which
acted as the wildcard topic until now.
This PR fixes the regression, but instead of using the magic hash
common.Hash{} as the null wildcard, the PR reworks the code to handle nil
topics during parsing, converting a JSON null into nil []common.Hash topic.
2017-09-27 12:14:52 +02:00
Péter Szilágyi
229bf51f0d
Merge pull request #15181 from fjl/state-revert-log-index
...
core/state: revert log index when removing logs
2017-09-26 17:11:46 +03:00
cdetrio
673007d7ae
core/vm: standard vm traces ( #15035 )
2017-09-22 10:22:56 +02:00
Felix Lange
a0d783094e
core/state: revert log index when removing logs
2017-09-21 20:46:21 +02:00
Péter Szilágyi
701d60c889
params: enable Byzantium on Ropsten/tests, fix failures
2017-09-14 10:59:05 +03:00
Martin Holst Swende
9be07de539
params: Updated finalized gascosts for ECMUL/MODEXP ( #15135 )
...
* params: Updated finalized gascosts for ECMUL/MODEXP
* core,tests: Updates pending new tests
* tests: Updated with new tests
* core: revert state transition bugfix
* tests: Add expected failures due to #15119
2017-09-14 10:35:54 +03:00
Péter Szilágyi
5bbd7fb390
consensus, core, params: rebrand Metro to Byzantium
2017-09-14 10:10:46 +03:00
Péter Szilágyi
10b3f97c9d
core: only fire one chain head per batch ( #15123 )
...
* core: only fire one chain head per batch
* miner: announce chan events synchronously
2017-09-11 13:13:05 +03:00
Felix Lange
42a5b54bf5
core/vm: improve bitvec comments
2017-09-10 21:04:36 +02:00
Felix Lange
10181b57a9
core, eth/downloader: commit block data using batches ( #15115 )
...
* ethdb: add Putter interface and Has method
* ethdb: improve docs and add IdealBatchSize
* ethdb: remove memory batch lock
Batches are not safe for concurrent use.
* core: use ethdb.Putter for Write* functions
This covers the easy cases.
* core/state: simplify StateSync
* trie: optimize local node check
* ethdb: add ValueSize to Batch
* core: optimize HasHeader check
This avoids one random database read get the block number. For many uses
of HasHeader, the expectation is that it's actually there. Using Has
avoids a load + decode of the value.
* core: write fast sync block data in batches
Collect writes into batches up to the ideal size instead of issuing many
small, concurrent writes.
* eth/downloader: commit larger state batches
Collect nodes into a batch up to the ideal size instead of committing
whenever a node is received.
* core: optimize HasBlock check
This avoids a random database read to get the number.
* core: use numberCache in HasHeader
numberCache has higher capacity, increasing the odds of finding the
header without a database lookup.
* core: write imported block data using a batch
Restore batch writes of state and add blocks, tx entries, receipts to
the same batch. The change also simplifies the miner.
This commit also removes posting of logs when a forked block is imported.
* core: fix DB write error handling
* ethdb: use RLock for Has
* core: fix HasBlock comment
2017-09-09 19:03:07 +03:00
Martin Holst Swende
d6681ed360
core/vm: Rename + updated doc on jumpdest analysis
2017-09-08 12:47:44 +02:00
Mark
c1740e4540
core/types, miner: avoid tx sender miscaching ( #14773 )
2017-09-07 23:22:27 +02:00
Fiisio
02b4d074f6
core/asm: use ContainsRune instead of IndexRune ( #15098 )
2017-09-07 23:11:48 +02:00
Pawan Singh Pal
69c8be7c86
core: delete dao.go ( #15113 )
...
- dao.go is already present in consensus/misc
- core/dao.go is not used anywhere in the codebase
2017-09-07 23:08:06 +02:00
Péter Szilágyi
c4d21bc8e5
Merge pull request #14631 from zsfelfoldi/bloombits2
...
core/bloombits, eth/filter: transformed bloom bitmap based log search
2017-09-06 13:00:35 +03:00
Péter Szilágyi
564c8f3ae6
core/bloombits: drop nil-matcher special case
2017-09-06 11:14:22 +03:00
Zsolt Felfoldi
451ffdb62b
core/bloombits: use general filters instead of addresses and topics
2017-09-06 11:14:21 +03:00
Zsolt Felfoldi
6ff2c02991
core/bloombits: AddBloom index parameter and fixes variable names
2017-09-06 11:14:20 +03:00
Péter Szilágyi
f585f9eee8
core, eth: clean up bloom filtering, add some tests
2017-09-06 11:14:19 +03:00
Zsolt Felfoldi
4ea4d2dc34
core, eth: add bloombit indexer, filter based on it
2017-09-06 11:13:13 +03:00
Péter Szilágyi
cc313e78b7
core: use blocks and avoid deep reorgs in txpool
2017-09-05 19:50:29 +03:00
Péter Szilágyi
da7d57e07c
core: make txpool operate on immutable state
2017-09-05 13:34:41 +03:00
Martin Holst Swende
e7408b5552
core/vm: Make MaxCodesize non-retroactive ( #15072 )
...
* core/vm: Make max_codesize only applicable post Spurious Dragon/158/155/161/170
* tests: Remove expected failure
2017-09-04 12:53:25 +03:00
Martin Holst Swende
1901521ed0
core: Fix flaw where underpriced locals were removed ( #15081 )
...
* core: Fix flaw where underpriced locals were removed
* core: minor code cleanups for tx pool tests
2017-09-04 12:48:36 +03:00
Martin Holst Swende
23b51a68cb
core/vm: avoid state lookup during gas calc for call ( #15061 )
2017-09-04 10:56:45 +02:00
Martin Holst Swende
07635e43e2
core/vm: renamed struct member + go fmt
2017-08-28 13:33:24 +02:00
Martin Holst Swende
64a3a3d23c
core/vm: Fix testcase input for ecmul
2017-08-28 13:30:26 +02:00
Martin Holst Swende
bc2a5578c0
core/vm: more benchmarks
2017-08-27 14:00:32 +02:00
Péter Szilágyi
08f27428b4
core, tests: implement Metropolis EIP 684
2017-08-25 13:00:27 +03:00
Péter Szilágyi
27a5622e99
Merge pull request #15028 from karalabe/metropolis-iceage
...
consensus, core, tests: implement Metropolis EIP 649
2017-08-25 11:00:51 +03:00
Felix Lange
ad16aeb0a2
core/types: encode receipt status in PostState field
...
This fixes a regression where the new Failed field in ReceiptForStorage
rejected previously stored receipts. Fix it by removing the new field
and store status in the PostState field. This also removes massive RLP
hackery around the status field.
2017-08-24 23:51:50 +02:00
Péter Szilágyi
b872961ec8
consensus, core, tests: implement Metropolis EIP 649
2017-08-24 17:16:39 +03:00
Felix Lange
54b1de67e2
core/vm: make jumpdest code nicer
2017-08-24 13:09:53 +02:00
nkbai
68955ed2eb
core/types: fix create indicator in Transaction.String ( #15025 )
2017-08-24 12:48:13 +02:00
Péter Szilágyi
ff9a868232
core/state: revert metro suicide map addition ( #15024 )
2017-08-24 12:42:00 +02:00
Péter Szilágyi
3c48a25762
Merge pull request #15014 from rjl493456442/metropolis-eip658
...
core: add status as a consensus field in receipt
2017-08-23 14:39:37 +03:00
Martin Holst Swende
286ec5df40
cmd/evm, core/vm, internal/ethapi: Show error when exiting ( #14985 )
...
* cmd/evm, core/vm, internal/ethapi: Add 'err' to tracer interface CaptureEnd
* cmd/evm: fix nullpointer when there is no error
2017-08-23 14:37:18 +03:00
Péter Szilágyi
4ee92f2d19
core/types: reject Metro receipts with > 0x01 status bytes
2017-08-23 13:57:15 +03:00
rjl493456442
28aea46ac0
core: implement Metropolis EIP 658, receipt status byte
2017-08-22 18:35:17 +03:00
Ti Zhou
2fd5ba6bd4
core/vm: fix typo in method documentation ( #15019 )
...
Signed-off-by: Ti Zhou <tizhou1986@gmail.com>
2017-08-22 12:43:36 +03:00
Péter Szilágyi
afdfdebd87
Merge pull request #14983 from karalabe/metropolis-revert
...
core/vm: implement REVERT metropolis opcode
2017-08-21 12:23:03 +03:00
Miya Chen
bf1e263128
core, light: send chain events using event.Feed ( #14865 )
2017-08-18 12:58:36 +02:00
Péter Szilágyi
f9fb70d2ee
core/vm: rework reversion to work on a higher level
2017-08-17 16:50:35 +03:00
Péter Szilágyi
1335a6cc8c
core/vm, crypto/bn256: fix bn256 use and pairing corner case
2017-08-17 16:46:46 +03:00
Jeffrey Wilcke
b70a73cd3e
core/vm: implement REVERT metropolis opcode
2017-08-16 15:32:59 +03:00
Péter Szilágyi
4e0fea4d30
core/vm: polish RETURNDATA, add missing returns to CALL*
2017-08-16 13:43:14 +03:00
Jeffrey Wilcke
9bd6068fef
core/vm: implement RETURNDATA metropolis opcodes
2017-08-16 13:43:08 +03:00
Péter Szilágyi
3df7142b3e
core/vm: minor polishes, fix STATICCALL for precompiles
...
* Fix STATICCALL so it is able to call precompiles too
* Fix write detection to use the correct value argument of CALL
* Fix write protection to ignore the value in CALLCODE
2017-08-15 14:40:12 +03:00
Jeffrey Wilcke
3d123bcde6
core/vm: implement metropolis static call opcode
2017-08-15 13:03:49 +03:00
Péter Szilágyi
f8d8b56b28
core/vm: optimize copy-less data retrievals
2017-08-14 17:08:49 +03:00
Martin Holst Swende
d8aaa3a215
core/vm: benchmarking of metro precompiles
2017-08-14 15:37:09 +03:00
Péter Szilágyi
6131dd55c5
core/vm: polish precompile contract code, add tests and benches
...
* Update modexp gas calculation to new version
* Fix modexp modulo 0 special case to return zero
2017-08-14 15:27:44 +03:00
Martin Holst Swende
967e097faa
core/vm: Address review concerns
2017-08-14 10:57:54 +02:00
Jeffrey Wilcke
7bbdf3e268
core: add Metropolis pre-compiles (EIP 197, 198 and 213)
2017-08-11 15:24:54 +03:00
Joel Burget
833eeb9f23
core/vm/runtime: remove unused state parameter to NewEnv ( #14953 )
...
* core: Remove unused `state` parameter to `NewEnv`.
`cfg.State` is used instead.
* core/vm/runtime: remove unused import
2017-08-11 14:29:32 +03:00
Felix Lange
374c49e0ac
Merge pull request #14522 from ethereum/go-ethereum/chainproc2
2017-08-08 13:37:59 +02:00
Péter Szilágyi
1c45f2f42e
core: fix txpool journal and test races
2017-08-08 12:22:01 +03:00
Péter Szilágyi
8edaaa227d
core: polish chain indexer a bit
2017-08-07 17:38:33 +03:00
Zsolt Felfoldi
bd74882d83
core: implement ChainIndexer
2017-08-07 17:37:08 +03:00
Péter Szilágyi
2b50367fe9
core: fix blockchain goroutine leaks in tests
2017-08-07 16:00:47 +03:00
Péter Szilágyi
5b742fb82b
core: bump timeout test to avoid flakyness on overloaded ci
2017-08-07 12:53:32 +03:00
evgk
0cc9b8791e
core/vm: fix typo in comment ( #14894 )
2017-08-04 01:31:18 +02:00
njupt-moon
53f3460ab5
core/asm: fix hex number lexing ( #14861 )
2017-07-31 13:02:36 +02:00