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
8 years ago
Felix Lange
e171bf74f8
core/types: remove redundant SignECDSA wrappers, rename to SignTx
8 years ago
Jeffrey Wilcke
4dca5d4db7
core/types, params: EIP#155
8 years ago
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>
8 years ago
Stein Dekker
4ce83bf57b
eth/fetcher: small typo fix ( #2932 )
8 years ago
Péter Szilágyi
454dc9b7c2
eth/fetcher: fix a log message formatting issue
8 years ago
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.
8 years ago
Péter Szilágyi
3291235711
accounts, core, eth: pass chain config for chain maker to test DAO
8 years ago
Leif Jurvetson
bbbe2360d0
eth: various typos
9 years ago
Péter Szilágyi
5b0ee8ec30
core, eth, trie: fix data races and merge/review issues
9 years ago
Péter Szilágyi
832b37c822
core, eth: receipt chain reconstruction
9 years ago
Péter Szilágyi
17f65cd1e5
eth: update metrics collection to handle eth/62 algos
9 years ago
Péter Szilágyi
47a7fe5d22
eth: port the synchronisation algo to eth/62
9 years ago
Péter Szilágyi
42f44dda54
eth, eth/downloader: handle header requests, table driven proto tests
9 years ago
Gustav Simonsson
26c6e3b206
miner: gas limit strategy, target 3141592 & def gas price 50 Shannon
9 years ago
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
9 years ago
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".
9 years ago
Felix Lange
ea54283b30
all: update license information
9 years ago
Péter Szilágyi
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
10 years ago
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).
10 years ago
Péter Szilágyi
a7d22658ad
eth/fetcher: don't drop on future blocks, just not propagate
10 years ago
Péter Szilágyi
29d53b2073
eth/fetcher: don't double filter/fetch the same block
10 years ago
Péter Szilágyi
792b0ddccd
core, eth, eth/fetcher, ethdb: polish metrics gathering a bit
10 years ago
Péter Szilágyi
6260b86c15
eth/fetcher: fix failed merge
10 years ago
Péter Szilágyi
b426301467
cmd/geth, eth/fetcher: polish metrics reporting, add some more
10 years ago
Péter Szilágyi
821e01b013
cmd/geth, eth/fetcher: initial metrics support
...
Conflicts:
cmd/geth/admin.go
10 years ago
Péter Szilágyi
3ce17d2862
eth/fetcher: fix a closure data race
10 years ago
Péter Szilágyi
99ca4b619b
eth/fetcher: clean up test assertions
10 years ago
Péter Szilágyi
b53f701c27
eth/fetcher: remove test sleeps (15s -> 2.8s)
10 years ago
Péter Szilágyi
1989d1491a
eth/fetcher: handle and (crude) test block memory DOS
10 years ago
Péter Szilágyi
d36c25bcbc
eth/fetcher: handle and test block announce DOS attacks
10 years ago
Péter Szilágyi
8c4c7ea192
eth/fetcher: lower max cache size, add timeout slack
10 years ago
Péter Szilágyi
13c25036ea
eth/fetcher: since uncles are allowed, drop phase test
10 years ago
Péter Szilágyi
ecd19919c5
eth/fetcher: allow backward uncle imports too
10 years ago
Péter Szilágyi
b91b581b80
eth, eth/fetcher: propagate after header verify, announce only on insert
10 years ago
Péter Szilágyi
5ec6ecc511
eth, eth/fetcher: move propagated block import into fetcher
10 years ago
Péter Szilágyi
a9ada0b5ba
eth/fetcher: make tests thread safe
10 years ago
Péter Szilágyi
37c5ff392f
eth/fetcher: build longest chain until proven otherwise
10 years ago
Péter Szilágyi
2a7411bc96
eth/fetcher: fix premature queue cleanup, general polishes
10 years ago
Péter Szilágyi
497a7f1717
eth, eth/fetcher: define and enforce propagation boundaries
10 years ago
Péter Szilágyi
026ee40650
eth/fetcher: deduplicate future blocks
10 years ago
Péter Szilágyi
11c8f83a58
eth, eth/fetcher: cache future propagated blocks too
10 years ago
Péter Szilágyi
057bc237ad
eth, eth/fetcher: use an import queue to store out of order blocks
10 years ago
Péter Szilágyi
8b64e041d6
eth/fetcher: add test to check for duplicate downloads
10 years ago
Péter Szilágyi
2a1b722d04
eth/fetcher: fix timer reset bug, add initial tests
10 years ago
Péter Szilágyi
7c2af1c117
eth, eth/fetcher: separate notification sync mechanism
10 years ago