forked from cerc-io/plugeth
GetOrNew for accessors. Fixes #404
This commit is contained in:
parent
65cad14f9b
commit
ac88ae86a3
@ -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()
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user