From ac88ae86a3f6fa5d5a957bac9d96e0a2027ac068 Mon Sep 17 00:00:00 2001 From: obscuren Date: Sun, 1 Mar 2015 19:07:38 +0100 Subject: [PATCH] GetOrNew for accessors. Fixes #404 --- state/statedb.go | 18 +++++++++--------- xeth/xeth.go | 8 -------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/state/statedb.go b/state/statedb.go index 7e2b24b94..ff8242e1a 100644 --- a/state/statedb.go +++ b/state/statedb.go @@ -54,7 +54,7 @@ func (self *StateDB) Refund(addr []byte, gas *big.Int) { // Retrieve the balance from the given address or 0 if object not found func (self *StateDB) GetBalance(addr []byte) *big.Int { - stateObject := self.GetStateObject(addr) + stateObject := self.GetOrNewStateObject(addr) if stateObject != nil { return stateObject.balance } @@ -63,14 +63,14 @@ func (self *StateDB) GetBalance(addr []byte) *big.Int { } func (self *StateDB) AddBalance(addr []byte, amount *big.Int) { - stateObject := self.GetStateObject(addr) + stateObject := self.GetOrNewStateObject(addr) if stateObject != nil { stateObject.AddBalance(amount) } } func (self *StateDB) GetNonce(addr []byte) uint64 { - stateObject := self.GetStateObject(addr) + stateObject := self.GetOrNewStateObject(addr) if stateObject != nil { return stateObject.nonce } @@ -79,7 +79,7 @@ func (self *StateDB) GetNonce(addr []byte) uint64 { } func (self *StateDB) GetCode(addr []byte) []byte { - stateObject := self.GetStateObject(addr) + stateObject := self.GetOrNewStateObject(addr) if stateObject != nil { return stateObject.code } @@ -88,7 +88,7 @@ func (self *StateDB) GetCode(addr []byte) []byte { } func (self *StateDB) GetState(a, b []byte) []byte { - stateObject := self.GetStateObject(a) + stateObject := self.GetOrNewStateObject(a) if stateObject != nil { return stateObject.GetState(b).Bytes() } @@ -97,28 +97,28 @@ func (self *StateDB) GetState(a, b []byte) []byte { } func (self *StateDB) SetNonce(addr []byte, nonce uint64) { - stateObject := self.GetStateObject(addr) + stateObject := self.GetOrNewStateObject(addr) if stateObject != nil { stateObject.SetNonce(nonce) } } func (self *StateDB) SetCode(addr, code []byte) { - stateObject := self.GetStateObject(addr) + stateObject := self.GetOrNewStateObject(addr) if stateObject != nil { stateObject.SetCode(code) } } func (self *StateDB) SetState(addr, key []byte, value interface{}) { - stateObject := self.GetStateObject(addr) + stateObject := self.GetOrNewStateObject(addr) if stateObject != nil { stateObject.SetState(key, ethutil.NewValue(value)) } } func (self *StateDB) Delete(addr []byte) bool { - stateObject := self.GetStateObject(addr) + stateObject := self.GetOrNewStateObject(addr) if stateObject != nil { stateObject.MarkForDeletion() diff --git a/xeth/xeth.go b/xeth/xeth.go index d4c188fec..677d40fd5 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -300,14 +300,6 @@ func (self *XEth) Transact(toStr, valueStr, gasStr, gasPriceStr, codeStr string) tx.SetNonce(nonce) tx.Sign(key.PrivateKey) - //fmt.Printf("create tx: %x %v\n", tx.Hash()[:4], tx.Nonce()) - - // Do some pre processing for our "pre" events and hooks - //block := self.chainManager.NewBlock(key.Address()) - //coinbase := state.GetOrNewStateObject(key.Address()) - //coinbase.SetGasPool(block.GasLimit()) - //self.blockProcessor.ApplyTransactions(coinbase, state, block, types.Transactions{tx}, true) - err = self.eth.TxPool().Add(tx) if err != nil { return "", err