Skip to content
This repository was archived by the owner on May 23, 2023. It is now read-only.

Commit 6d6a6ae

Browse files
authored
Merge pull request #387 from ethereum/dao-hf-ref
Possible DAO HF impl for reference
2 parents 01d2cef + 6a1d283 commit 6d6a6ae

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

ethereum/blocks.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,6 +1171,14 @@ def revert(self, mysnapshot):
11711171
self.ether_delta = mysnapshot['ether_delta']
11721172

11731173
def initialize(self, parent):
1174+
# DAO fork
1175+
if self.number == self.config["DAO_FORK_BLKNUM"]:
1176+
dao_main_addr = utils.normalize_address(self.config["DAO_MAIN_ADDR"])
1177+
for acct in map(utils.normalize_address, self.config["DAO_ADDRESS_LIST"]):
1178+
self.delta_balance(dao_main_addr, self.get_balance(acct))
1179+
self.set_balance(acct, 0)
1180+
self.set_code(dao_main_addr, self.config["DAO_NEWCODE"])
1181+
# Likely metropolis changes
11741182
if self.number == self.config["METROPOLIS_FORK_BLKNUM"]:
11751183
self.set_code(utils.normalize_address(self.config["METROPOLIS_STATEROOT_STORE"]), self.config["METROPOLIS_GETTER_CODE"])
11761184
self.set_code(utils.normalize_address(self.config["METROPOLIS_BLOCKHASH_STORE"]), self.config["METROPOLIS_GETTER_CODE"])

ethereum/config.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@
5656
METROPOLIS_WRAPAROUND=65536,
5757
METROPOLIS_GETTER_CODE=decode_hex('6000355460205260206020f3'),
5858
METROPOLIS_DIFF_ADJUSTMENT_CUTOFF=9,
59-
# Metropolis fork
59+
# DAO fork
60+
DAO_FORK_BLKNUM = 9999998,
61+
DAO_ADDRESS_LIST = [],
62+
DAO_MAIN_ADDR = '0xbb9bc244d798123fde783fcc1c72d3bb8c189413',
63+
DAO_NEWCODE = ''
6064
)
6165
assert default_config['NEPHEW_REWARD'] == \
6266
default_config['BLOCK_REWARD'] // 32

0 commit comments

Comments
 (0)