Jeffrey Wilcke
8b57c49490
params: core, core/vm, miner: 64bit gas instructions ( #3514 )
...
Reworked the EVM gas instructions to use 64bit integers rather than
arbitrary size big ints. All gas operations, be it additions,
multiplications or divisions, are checked and guarded against 64 bit
integer overflows.
In additon, most of the protocol paramaters in the params package have
been converted to uint64 and are now constants rather than variables.
* common/math: added overflow check ops
* core: vmenv, env renamed to evm
* eth, internal/ethapi, les: unmetered eth_call and cancel methods
* core/vm: implemented big.Int pool for evm instructions
* core/vm: unexported intPool methods & verification methods
* core/vm: added memoryGasCost overflow check and test
2017-02-02 15:25:42 +01:00
Felix Lange
e171bf74f8
core/types: remove redundant SignECDSA wrappers, rename to SignTx
2017-01-05 12:59:17 +01:00
Jeffrey Wilcke
4dca5d4db7
core/types, params: EIP#155
2016-11-13 14:55:30 +01:00
Jeffrey Wilcke
445feaeef5
core, core/state, trie: EIP158, reprice & skip empty account write
...
This commit implements EIP158 part 1, 2, 3 & 4
1. If an account is empty it's no longer written to the trie. An empty
account is defined as (balance=0, nonce=0, storage=0, code=0).
2. Delete an empty account if it's touched
3. An empty account is redefined as either non-existent or empty.
4. Zero value calls and zero value suicides no longer consume the 25k
reation costs.
params: moved core/config to params
Signed-off-by: Jeffrey Wilcke <jeffrey@ethereum.org>
2016-11-13 10:44:04 +01:00
Stein Dekker
4ce83bf57b
eth/fetcher: small typo fix ( #2932 )
2016-08-23 18:23:34 +03:00
Péter Szilágyi
454dc9b7c2
eth/fetcher: fix a log message formatting issue
2016-08-19 14:04:03 +03:00
Felix Lange
016007bd25
eth, eth/downloader, eth/fetcher: delete eth/61 code
...
The eth/61 protocol was disabled in #2776 , this commit removes its
message handlers and hash-chain sync logic.
2016-07-22 13:17:19 +02:00
Péter Szilágyi
3291235711
accounts, core, eth: pass chain config for chain maker to test DAO
2016-07-15 16:52:55 +03:00
Leif Jurvetson
bbbe2360d0
eth: various typos
2016-03-15 11:27:49 -07:00
Péter Szilágyi
5b0ee8ec30
core, eth, trie: fix data races and merge/review issues
2015-10-21 16:49:55 +03:00
Péter Szilágyi
832b37c822
core, eth: receipt chain reconstruction
2015-10-19 10:03:09 +03:00
Péter Szilágyi
17f65cd1e5
eth: update metrics collection to handle eth/62 algos
2015-08-25 17:48:47 +03:00
Péter Szilágyi
47a7fe5d22
eth: port the synchronisation algo to eth/62
2015-08-25 17:48:47 +03:00
Péter Szilágyi
42f44dda54
eth, eth/downloader: handle header requests, table driven proto tests
2015-08-24 17:57:28 +03:00
Gustav Simonsson
26c6e3b206
miner: gas limit strategy, target 3141592 & def gas price 50 Shannon
2015-08-04 15:20:28 +02:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Péter Szilágyi
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
2015-06-30 00:51:46 +02:00
Felix Lange
e0e5f74776
eth/downloader, eth/fetcher: use core.GenerateChain in tests
...
TestMadeupParentBlockChainAttack has been deleted because it was too
hard to port and the attack that it checks the prevention of is being
averted in a different way (through a protocol change).
2015-06-29 18:51:47 +02:00
Péter Szilágyi
a7d22658ad
eth/fetcher: don't drop on future blocks, just not propagate
2015-06-29 14:20:13 +03:00
Péter Szilágyi
29d53b2073
eth/fetcher: don't double filter/fetch the same block
2015-06-29 13:49:04 +03:00
Péter Szilágyi
792b0ddccd
core, eth, eth/fetcher, ethdb: polish metrics gathering a bit
2015-06-24 18:34:04 +03:00
Péter Szilágyi
6260b86c15
eth/fetcher: fix failed merge
2015-06-24 18:34:04 +03:00
Péter Szilágyi
b426301467
cmd/geth, eth/fetcher: polish metrics reporting, add some more
2015-06-24 18:34:04 +03:00
Péter Szilágyi
821e01b013
cmd/geth, eth/fetcher: initial metrics support
...
Conflicts:
cmd/geth/admin.go
2015-06-24 18:33:33 +03:00
Péter Szilágyi
3ce17d2862
eth/fetcher: fix a closure data race
2015-06-22 20:13:18 +03:00
Péter Szilágyi
99ca4b619b
eth/fetcher: clean up test assertions
2015-06-22 18:28:38 +03:00
Péter Szilágyi
b53f701c27
eth/fetcher: remove test sleeps (15s -> 2.8s)
2015-06-22 18:08:28 +03:00
Péter Szilágyi
1989d1491a
eth/fetcher: handle and (crude) test block memory DOS
2015-06-22 16:49:47 +03:00
Péter Szilágyi
d36c25bcbc
eth/fetcher: handle and test block announce DOS attacks
2015-06-22 14:07:08 +03:00
Péter Szilágyi
8c4c7ea192
eth/fetcher: lower max cache size, add timeout slack
2015-06-19 16:46:16 +03:00
Péter Szilágyi
13c25036ea
eth/fetcher: since uncles are allowed, drop phase test
2015-06-18 20:10:07 +03:00
Péter Szilágyi
ecd19919c5
eth/fetcher: allow backward uncle imports too
2015-06-18 19:43:47 +03:00
Péter Szilágyi
b91b581b80
eth, eth/fetcher: propagate after header verify, announce only on insert
2015-06-18 18:00:19 +03:00
Péter Szilágyi
5ec6ecc511
eth, eth/fetcher: move propagated block import into fetcher
2015-06-18 15:56:08 +03:00
Péter Szilágyi
a9ada0b5ba
eth/fetcher: make tests thread safe
2015-06-18 15:56:08 +03:00
Péter Szilágyi
37c5ff392f
eth/fetcher: build longest chain until proven otherwise
2015-06-18 15:56:08 +03:00
Péter Szilágyi
2a7411bc96
eth/fetcher: fix premature queue cleanup, general polishes
2015-06-18 15:56:08 +03:00
Péter Szilágyi
497a7f1717
eth, eth/fetcher: define and enforce propagation boundaries
2015-06-18 15:56:08 +03:00
Péter Szilágyi
026ee40650
eth/fetcher: deduplicate future blocks
2015-06-18 15:56:08 +03:00
Péter Szilágyi
11c8f83a58
eth, eth/fetcher: cache future propagated blocks too
2015-06-18 15:56:08 +03:00
Péter Szilágyi
057bc237ad
eth, eth/fetcher: use an import queue to store out of order blocks
2015-06-18 15:56:07 +03:00
Péter Szilágyi
8b64e041d6
eth/fetcher: add test to check for duplicate downloads
2015-06-18 15:56:07 +03:00
Péter Szilágyi
2a1b722d04
eth/fetcher: fix timer reset bug, add initial tests
2015-06-18 15:56:07 +03:00
Péter Szilágyi
7c2af1c117
eth, eth/fetcher: separate notification sync mechanism
2015-06-18 15:56:07 +03:00