Move stateAt func to XEth

This commit is contained in:
Taylor Gerring
2015-03-19 23:28:45 -04:00
parent 6669ef5b70
commit 19360c0079
2 changed files with 24 additions and 30 deletions

View File

@ -154,6 +154,24 @@ func (self *XEth) stop() {
close(self.quit)
}
func (self *XEth) AtStateNum(num int64) *XEth {
chain := self.Backend().ChainManager()
var block *types.Block
if num < 0 {
num = chain.CurrentBlock().Number().Int64() + num + 1
}
block = chain.GetBlockByNumber(uint64(num))
var st *state.StateDB
if block != nil {
st = state.New(block.Root(), self.Backend().StateDb())
} else {
st = chain.State()
}
return self.WithState(st)
}
func (self *XEth) Backend() Backend { return self.eth }
func (self *XEth) WithState(statedb *state.StateDB) *XEth {
xeth := &XEth{