aboutsummaryrefslogtreecommitdiffstats
path: root/core/genesis.go
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2018-10-26 13:33:35 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 21:32:52 +0800
commit470d8c119d9985e93cf54f537ccd5cc86a2fdea7 (patch)
tree4a501dd663cb8fb6b7aec00f44fc2345aa4cdb5f /core/genesis.go
parentab5b7053ef5821c83b1cdaaf60b27436f405117b (diff)
downloaddexon-470d8c119d9985e93cf54f537ccd5cc86a2fdea7.tar
dexon-470d8c119d9985e93cf54f537ccd5cc86a2fdea7.tar.gz
dexon-470d8c119d9985e93cf54f537ccd5cc86a2fdea7.tar.bz2
dexon-470d8c119d9985e93cf54f537ccd5cc86a2fdea7.tar.lz
dexon-470d8c119d9985e93cf54f537ccd5cc86a2fdea7.tar.xz
dexon-470d8c119d9985e93cf54f537ccd5cc86a2fdea7.tar.zst
dexon-470d8c119d9985e93cf54f537ccd5cc86a2fdea7.zip
core: set correct balance for governance contract
Diffstat (limited to 'core/genesis.go')
-rw-r--r--core/genesis.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/genesis.go b/core/genesis.go
index cdc5531f2..2412ede30 100644
--- a/core/genesis.go
+++ b/core/genesis.go
@@ -254,6 +254,8 @@ func (g *Genesis) ToBlock(db ethdb.Database) *types.Block {
statedb, _ := state.New(common.Hash{}, state.NewDatabase(db))
govStateHelper := vm.GovernanceStateHelper{statedb}
+ totalStaked := big.NewInt(0)
+
for addr, account := range g.Alloc {
statedb.AddBalance(addr, new(big.Int).Sub(account.Balance, account.Staked))
statedb.SetCode(addr, account.Code)
@@ -261,8 +263,12 @@ func (g *Genesis) ToBlock(db ethdb.Database) *types.Block {
for key, value := range account.Storage {
statedb.SetState(addr, key, value)
}
+ totalStaked = new(big.Int).Add(totalStaked, account.Staked)
}
+ // Move staked balance to governance contract.
+ statedb.AddBalance(vm.GovernanceContractAddress, totalStaked)
+
// Stake in governance state.
keys := AllocKey{}
for addr := range g.Alloc {