Commit Graph

12 Commits

Author SHA1 Message Date
Jeffrey Wilcke
dc2e34ddf3 core, core/state, trie: Hardfork EIP155, EIP161, EIP170
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-15 12:40:36 +01:00
Jeffrey Wilcke
33a6e52aef [release/1.4.18] params: set reprice block number to 2463000
(cherry picked from commit f2be249385)
2016-10-15 11:00:55 +03:00
Jeffrey Wilcke
00ba748707 [release/1.4.18] core, core/vm: added gas price variance table
This implements 1b & 1c of EIP150 by adding a new GasTable which must be
returned from the RuleSet config method. This table is used to determine
the gas prices for the current epoch.

Please note that when the CreateBySuicide gas price is set it is assumed
that we're in the new epoch phase.

In addition this PR will serve as temporary basis while refactorisation
in being done in the EVM64 PR, which will substentially overhaul the gas
price code.

(cherry picked from commit 64af2aafda)
2016-10-14 19:46:38 +03:00
Péter Szilágyi
1b2941cd56 [release/1.4.10] cmd, core, eth, miner, params, tests: finalize the DAO fork
(cherry picked from commit 2c2e389b77)
2016-07-16 14:30:07 +03:00
Péter Szilágyi
14bad7e212 [release/1.4.10] core, params, tests: add DAO hard-fork balance moves
(cherry picked from commit 461cdb593b)
2016-07-16 14:30:03 +03:00
Péter Szilágyi
682c4531af [release/1.4.10] cmd/geth, miner, params: special extradata for DAO fork start
(cherry picked from commit 1e24c2e4f4)
2016-07-16 14:29:56 +03:00
Péter Szilágyi
3dd46bc884 [release/1.4.10] cmd, core, eth, params: implement flags to control dao fork blocks
(cherry picked from commit 6060e098c9)
2016-07-16 14:29:52 +03:00
Jeffrey Wilcke
f0cbebb19f core: added basic chain configuration
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.
2016-04-01 01:01:10 +02:00
Jeffrey Wilcke
7d598af493 params: updated homestead block 2016-02-29 16:19:32 +01:00
Jeffrey Wilcke
0d89e6c2f1 cmd/utils, params: homestead block 2016-02-29 15:04:55 +01:00
Jeffrey Wilcke
b6d88a0e9f core, core/vm, crypto: fixes for homestead
* Removed some strange code that didn't apply state reverting properly
* Refactored code setting from vm & state transition to the executioner
* Updated tests
2016-02-18 10:11:48 +01:00
Gustav Simonsson
371871d685 parmas, crypto, core, core/vm: homestead consensus protocol changes
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
2016-02-18 10:08:11 +01:00