diff options
author | Wei-Ning Huang <w@dexon.org> | 2018-10-26 13:33:35 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-04-09 21:32:52 +0800 |
commit | 470d8c119d9985e93cf54f537ccd5cc86a2fdea7 (patch) | |
tree | 4a501dd663cb8fb6b7aec00f44fc2345aa4cdb5f /core/genesis.go | |
parent | ab5b7053ef5821c83b1cdaaf60b27436f405117b (diff) | |
download | dexon-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.go | 6 |
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 { |