ethstate.NewState => ethstate.New
This commit is contained in:
parent
3debeb7236
commit
03ce15df4c
@ -100,7 +100,7 @@ func CreateBlock(root interface{},
|
|||||||
}
|
}
|
||||||
block.SetUncles([]*Block{})
|
block.SetUncles([]*Block{})
|
||||||
|
|
||||||
block.state = ethstate.NewState(ethtrie.New(ethutil.Config.Db, root))
|
block.state = ethstate.New(ethtrie.New(ethutil.Config.Db, root))
|
||||||
|
|
||||||
return block
|
return block
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ func (block *Block) RlpValueDecode(decoder *ethutil.Value) {
|
|||||||
block.PrevHash = header.Get(0).Bytes()
|
block.PrevHash = header.Get(0).Bytes()
|
||||||
block.UncleSha = header.Get(1).Bytes()
|
block.UncleSha = header.Get(1).Bytes()
|
||||||
block.Coinbase = header.Get(2).Bytes()
|
block.Coinbase = header.Get(2).Bytes()
|
||||||
block.state = ethstate.NewState(ethtrie.New(ethutil.Config.Db, header.Get(3).Val))
|
block.state = ethstate.New(ethtrie.New(ethutil.Config.Db, header.Get(3).Val))
|
||||||
block.TxSha = header.Get(4).Bytes()
|
block.TxSha = header.Get(4).Bytes()
|
||||||
block.Difficulty = header.Get(5).BigInt()
|
block.Difficulty = header.Get(5).BigInt()
|
||||||
block.Number = header.Get(6).BigInt()
|
block.Number = header.Get(6).BigInt()
|
||||||
@ -307,7 +307,7 @@ func NewUncleBlockFromValue(header *ethutil.Value) *Block {
|
|||||||
block.PrevHash = header.Get(0).Bytes()
|
block.PrevHash = header.Get(0).Bytes()
|
||||||
block.UncleSha = header.Get(1).Bytes()
|
block.UncleSha = header.Get(1).Bytes()
|
||||||
block.Coinbase = header.Get(2).Bytes()
|
block.Coinbase = header.Get(2).Bytes()
|
||||||
block.state = ethstate.NewState(ethtrie.New(ethutil.Config.Db, header.Get(3).Val))
|
block.state = ethstate.New(ethtrie.New(ethutil.Config.Db, header.Get(3).Val))
|
||||||
block.TxSha = header.Get(4).Bytes()
|
block.TxSha = header.Get(4).Bytes()
|
||||||
block.Difficulty = header.Get(5).BigInt()
|
block.Difficulty = header.Get(5).BigInt()
|
||||||
block.Number = header.Get(6).BigInt()
|
block.Number = header.Get(6).BigInt()
|
||||||
|
@ -278,7 +278,7 @@ func MakeContract(tx *Transaction, state *ethstate.State) *ethstate.StateObject
|
|||||||
|
|
||||||
contract := state.NewStateObject(addr)
|
contract := state.NewStateObject(addr)
|
||||||
contract.InitCode = tx.Data
|
contract.InitCode = tx.Data
|
||||||
contract.State = ethstate.NewState(ethtrie.New(ethutil.Config.Db, ""))
|
contract.State = ethstate.New(ethtrie.New(ethutil.Config.Db, ""))
|
||||||
|
|
||||||
return contract
|
return contract
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ type State struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create a new state from a given trie
|
// Create a new state from a given trie
|
||||||
func NewState(trie *ethtrie.Trie) *State {
|
func New(trie *ethtrie.Trie) *State {
|
||||||
return &State{Trie: trie, stateObjects: make(map[string]*StateObject), manifest: NewManifest()}
|
return &State{Trie: trie, stateObjects: make(map[string]*StateObject), manifest: NewManifest()}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ func (s *State) Cmp(other *State) bool {
|
|||||||
|
|
||||||
func (self *State) Copy() *State {
|
func (self *State) Copy() *State {
|
||||||
if self.Trie != nil {
|
if self.Trie != nil {
|
||||||
state := NewState(self.Trie.Copy())
|
state := New(self.Trie.Copy())
|
||||||
for k, stateObject := range self.stateObjects {
|
for k, stateObject := range self.stateObjects {
|
||||||
state.stateObjects[k] = stateObject.Copy()
|
state.stateObjects[k] = stateObject.Copy()
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ func NewStateObject(addr []byte) *StateObject {
|
|||||||
address := ethutil.Address(addr)
|
address := ethutil.Address(addr)
|
||||||
|
|
||||||
object := &StateObject{address: address, Balance: new(big.Int), gasPool: new(big.Int)}
|
object := &StateObject{address: address, Balance: new(big.Int), gasPool: new(big.Int)}
|
||||||
object.State = NewState(ethtrie.New(ethutil.Config.Db, ""))
|
object.State = New(ethtrie.New(ethutil.Config.Db, ""))
|
||||||
object.storage = make(Storage)
|
object.storage = make(Storage)
|
||||||
object.gasPool = new(big.Int)
|
object.gasPool = new(big.Int)
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ func NewStateObject(addr []byte) *StateObject {
|
|||||||
func NewContract(address []byte, balance *big.Int, root []byte) *StateObject {
|
func NewContract(address []byte, balance *big.Int, root []byte) *StateObject {
|
||||||
contract := NewStateObject(address)
|
contract := NewStateObject(address)
|
||||||
contract.Balance = balance
|
contract.Balance = balance
|
||||||
contract.State = NewState(ethtrie.New(ethutil.Config.Db, string(root)))
|
contract.State = New(ethtrie.New(ethutil.Config.Db, string(root)))
|
||||||
|
|
||||||
return contract
|
return contract
|
||||||
}
|
}
|
||||||
@ -300,7 +300,7 @@ func (c *StateObject) RlpDecode(data []byte) {
|
|||||||
|
|
||||||
c.Nonce = decoder.Get(0).Uint()
|
c.Nonce = decoder.Get(0).Uint()
|
||||||
c.Balance = decoder.Get(1).BigInt()
|
c.Balance = decoder.Get(1).BigInt()
|
||||||
c.State = NewState(ethtrie.New(ethutil.Config.Db, decoder.Get(2).Interface()))
|
c.State = New(ethtrie.New(ethutil.Config.Db, decoder.Get(2).Interface()))
|
||||||
c.storage = make(map[string]*ethutil.Value)
|
c.storage = make(map[string]*ethutil.Value)
|
||||||
c.gasPool = new(big.Int)
|
c.gasPool = new(big.Int)
|
||||||
|
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
package ethstate
|
package ethstate
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
"github.com/ethereum/eth-go/ethdb"
|
"github.com/ethereum/eth-go/ethdb"
|
||||||
"github.com/ethereum/eth-go/ethtrie"
|
"github.com/ethereum/eth-go/ethtrie"
|
||||||
"github.com/ethereum/eth-go/ethutil"
|
"github.com/ethereum/eth-go/ethutil"
|
||||||
"testing"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var ZeroHash256 = make([]byte, 32)
|
var ZeroHash256 = make([]byte, 32)
|
||||||
@ -14,7 +15,7 @@ func TestSnapshot(t *testing.T) {
|
|||||||
ethutil.ReadConfig(".ethtest", "/tmp/ethtest", "")
|
ethutil.ReadConfig(".ethtest", "/tmp/ethtest", "")
|
||||||
ethutil.Config.Db = db
|
ethutil.Config.Db = db
|
||||||
|
|
||||||
state := NewState(ethtrie.NewTrie(db, ""))
|
state := New(ethtrie.New(db, ""))
|
||||||
|
|
||||||
stateObject := state.GetOrNewStateObject([]byte("aa"))
|
stateObject := state.GetOrNewStateObject([]byte("aa"))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user