diff options
author | obscuren <geffobscura@gmail.com> | 2014-07-17 20:53:27 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-07-17 20:53:27 +0800 |
commit | 0415e4a637296539e7a5c09282b7aee19268e599 (patch) | |
tree | c403eac0c3d4cda7aef003bba658f7b39881cdb5 /ethchain/state_object.go | |
parent | ed3424ff75b396360990725afc124326dea4ab45 (diff) | |
download | go-tangerine-0415e4a637296539e7a5c09282b7aee19268e599.tar go-tangerine-0415e4a637296539e7a5c09282b7aee19268e599.tar.gz go-tangerine-0415e4a637296539e7a5c09282b7aee19268e599.tar.bz2 go-tangerine-0415e4a637296539e7a5c09282b7aee19268e599.tar.lz go-tangerine-0415e4a637296539e7a5c09282b7aee19268e599.tar.xz go-tangerine-0415e4a637296539e7a5c09282b7aee19268e599.tar.zst go-tangerine-0415e4a637296539e7a5c09282b7aee19268e599.zip |
Fixed coinbase copy in state
Diffstat (limited to 'ethchain/state_object.go')
-rw-r--r-- | ethchain/state_object.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ethchain/state_object.go b/ethchain/state_object.go index cf37586fc..a4225991a 100644 --- a/ethchain/state_object.go +++ b/ethchain/state_object.go @@ -80,6 +80,7 @@ func NewStateObject(addr []byte) *StateObject { object := &StateObject{address: address, Amount: new(big.Int), gasPool: new(big.Int)} object.state = NewState(ethtrie.NewTrie(ethutil.Config.Db, "")) object.storage = make(Storage) + object.gasPool = new(big.Int) return object } @@ -183,7 +184,7 @@ func (self *StateObject) Sync() { fmt.Printf("%x %x %x\n", self.Address(), []byte(key), value.Bytes()) }) */ - //fmt.Printf("%x @:%x\n", self.Address(), self.state.Root()) + fmt.Printf("%x @:%x\n", self.Address(), self.state.Root()) } func (c *StateObject) GetInstr(pc *big.Int) *ethutil.Value { @@ -197,13 +198,13 @@ func (c *StateObject) GetInstr(pc *big.Int) *ethutil.Value { func (c *StateObject) AddAmount(amount *big.Int) { c.SetAmount(new(big.Int).Add(c.Amount, amount)) - statelogger.DebugDetailf("%x: #%d %v (+ %v)\n", c.Address(), c.Nonce, c.Amount, amount) + statelogger.Debugf("%x: #%d %v (+ %v)\n", c.Address(), c.Nonce, c.Amount, amount) } func (c *StateObject) SubAmount(amount *big.Int) { c.SetAmount(new(big.Int).Sub(c.Amount, amount)) - statelogger.DebugDetailf("%x: #%d %v (- %v)\n", c.Address(), c.Nonce, c.Amount, amount) + statelogger.Debugf("%x: #%d %v (- %v)\n", c.Address(), c.Nonce, c.Amount, amount) } func (c *StateObject) SetAmount(amount *big.Int) { @@ -266,6 +267,7 @@ func (self *StateObject) Copy() *StateObject { stateObject.script = ethutil.CopyBytes(self.script) stateObject.initScript = ethutil.CopyBytes(self.initScript) stateObject.storage = self.storage.Copy() + stateObject.gasPool.Set(self.gasPool) return stateObject } @@ -324,6 +326,7 @@ func (c *StateObject) RlpDecode(data []byte) { c.Amount = decoder.Get(1).BigInt() c.state = NewState(ethtrie.NewTrie(ethutil.Config.Db, decoder.Get(2).Interface())) c.storage = make(map[string]*ethutil.Value) + c.gasPool = new(big.Int) c.ScriptHash = decoder.Get(3).Bytes() |