aboutsummaryrefslogtreecommitdiffstats
path: root/core/state
diff options
context:
space:
mode:
authorJeffrey Wilcke <geffobscura@gmail.com>2016-01-20 06:50:00 +0800
committerJeffrey Wilcke <geffobscura@gmail.com>2016-02-18 17:11:48 +0800
commitb6d88a0e9f9aaeb47d585d79c768d457b545af90 (patch)
tree49e667cd929ce6b561961ac741d9ff0f82e61261 /core/state
parent4f4d2b647488eaa056613fa6f026229ac91f066a (diff)
downloaddexon-b6d88a0e9f9aaeb47d585d79c768d457b545af90.tar.gz
dexon-b6d88a0e9f9aaeb47d585d79c768d457b545af90.tar.zst
dexon-b6d88a0e9f9aaeb47d585d79c768d457b545af90.zip
core, core/vm, crypto: fixes for homestead
* Removed some strange code that didn't apply state reverting properly * Refactored code setting from vm & state transition to the executioner * Updated tests
Diffstat (limited to 'core/state')
-rw-r--r--core/state/dump.go3
-rw-r--r--core/state/state_object.go7
-rw-r--r--core/state/statedb.go17
3 files changed, 3 insertions, 24 deletions
diff --git a/core/state/dump.go b/core/state/dump.go
index cff9c50aa..8eb03e8e4 100644
--- a/core/state/dump.go
+++ b/core/state/dump.go
@@ -28,6 +28,7 @@ type Account struct {
Nonce uint64 `json:"nonce"`
Root string `json:"root"`
CodeHash string `json:"codeHash"`
+ Code string `json:"code"`
Storage map[string]string `json:"storage"`
}
@@ -47,7 +48,7 @@ func (self *StateDB) RawDump() World {
addr := self.trie.GetKey(it.Key)
stateObject, _ := DecodeObject(common.BytesToAddress(addr), self.db, it.Value)
- account := Account{Balance: stateObject.balance.String(), Nonce: stateObject.nonce, Root: common.Bytes2Hex(stateObject.Root()), CodeHash: common.Bytes2Hex(stateObject.codeHash)}
+ account := Account{Balance: stateObject.balance.String(), Nonce: stateObject.nonce, Root: common.Bytes2Hex(stateObject.Root()), CodeHash: common.Bytes2Hex(stateObject.codeHash), Code: common.Bytes2Hex(stateObject.Code())}
account.Storage = make(map[string]string)
storageIt := stateObject.trie.Iterator()
diff --git a/core/state/state_object.go b/core/state/state_object.go
index ebc9f8358..6095fc96a 100644
--- a/core/state/state_object.go
+++ b/core/state/state_object.go
@@ -211,11 +211,6 @@ func (c *StateObject) Address() common.Address {
return c.address
}
-// Sets the address of the contract/account
-func (c *StateObject) SetAddress(addr common.Address) {
- c.address = addr
-}
-
func (self *StateObject) Trie() *trie.SecureTrie {
return self.trie
}
@@ -247,7 +242,7 @@ func (self *StateObject) Nonce() uint64 {
// as a vm.Account interface that also satisfies the vm.ContractRef
// interface. Interfaces are awesome.
func (self *StateObject) Value() *big.Int {
- return nil
+ panic("Value on StateObject should never be called")
}
func (self *StateObject) EachStorage(cb func(key, value []byte)) {
diff --git a/core/state/statedb.go b/core/state/statedb.go
index e1dde84d1..22ffa36a0 100644
--- a/core/state/statedb.go
+++ b/core/state/statedb.go
@@ -87,18 +87,6 @@ func (self *StateDB) GetLogs(hash common.Hash) vm.Logs {
return self.logs[hash]
}
-func (self *StateDB) GetAllLogs() *map[common.Hash]vm.Logs {
- copy := make(map[common.Hash]vm.Logs, len(self.logs))
- for k, v := range self.logs {
- copy[k] = v
- }
- return &copy
-}
-
-func (self *StateDB) SetAllLogs(logs *map[common.Hash]vm.Logs) {
- self.logs = *logs
-}
-
func (self *StateDB) Logs() vm.Logs {
var logs vm.Logs
for _, lgs := range self.logs {
@@ -107,11 +95,6 @@ func (self *StateDB) Logs() vm.Logs {
return logs
}
-// TODO: this may not be the most proper thing
-func (self *StateDB) GetDB() ethdb.Database {
- return self.db
-}
-
func (self *StateDB) AddRefund(gas *big.Int) {
self.refund.Add(self.refund, gas)
}