Implemented a manage state for keeping track of nonces
This commit is contained in:
@ -86,7 +86,7 @@ type ChainManager struct {
|
||||
lastBlockHash []byte
|
||||
|
||||
transState *state.StateDB
|
||||
txState *state.StateDB
|
||||
txState *state.ManagedState
|
||||
|
||||
quit chan struct{}
|
||||
}
|
||||
@ -95,7 +95,8 @@ func NewChainManager(blockDb, stateDb ethutil.Database, mux *event.TypeMux) *Cha
|
||||
bc := &ChainManager{blockDb: blockDb, stateDb: stateDb, genesisBlock: GenesisBlock(stateDb), eventMux: mux, quit: make(chan struct{})}
|
||||
bc.setLastBlock()
|
||||
bc.transState = bc.State().Copy()
|
||||
bc.txState = bc.State().Copy()
|
||||
// Take ownership of this particular state
|
||||
bc.txState = state.ManageState(bc.State().Copy())
|
||||
go bc.update()
|
||||
|
||||
return bc
|
||||
@ -144,17 +145,17 @@ func (self *ChainManager) TransState() *state.StateDB {
|
||||
return self.transState
|
||||
}
|
||||
|
||||
func (self *ChainManager) TxState() *state.StateDB {
|
||||
func (self *ChainManager) TxState() *state.ManagedState {
|
||||
self.tsmu.RLock()
|
||||
defer self.tsmu.RUnlock()
|
||||
|
||||
return self.txState
|
||||
}
|
||||
|
||||
func (self *ChainManager) setTxState(state *state.StateDB) {
|
||||
func (self *ChainManager) setTxState(statedb *state.StateDB) {
|
||||
self.tsmu.Lock()
|
||||
defer self.tsmu.Unlock()
|
||||
self.txState = state
|
||||
self.txState = state.ManageState(statedb)
|
||||
}
|
||||
|
||||
func (self *ChainManager) setTransState(statedb *state.StateDB) {
|
||||
|
Reference in New Issue
Block a user