func (sm *StateManager) GetStateForHashAtSlot(blockHash chainhash.Hash, slot uint64, view primitives.BlockView, c *config.Config) (*primitives.EpochTransitionOutput, *primitives.State, error) {
	sm.stateMapLock.RLock()
	derivedState, found := sm.stateMap[blockHash]
	sm.stateMapLock.RUnlock()
	if !found {
		return nil, nil, fmt.Errorf("could not find state for block %s", blockHash)
	}

	return derivedState.deriveState(slot, view, c)
}
// GetStateForHashAtSlot gets the state derived from a certain block Hash at a given
// slot.
GetStateForHashAtSlot gets the state derived from a certain block Hash at a given
slot.
// GetStateForHashAtSlot gets the state derived from a certain block Hash at a given // slot .
func (sm *StateManager) GetStateForHashAtSlot(blockHash chainhash.Hash, slot uint64, view primitives.BlockView, c *config.Config) (*primitives.EpochTransitionOutput, *primitives.State, error) {
	sm.stateMapLock.RLock()
	derivedState, found := sm.stateMap[blockHash]
	sm.stateMapLock.RUnlock()
	if !found {
		return nil, nil, fmt.Errorf("could not find state for block %s", blockHash)
	}
	return derivedState.deriveState(slot, view, c)
}
func ( sm * StateManager ) GetStateForHashAtSlot ( blockHash chainhash . Hash , slot uint64 , view primitives . BlockView , c * config . Config ) ( * primitives . EpochTransitionOutput , * primitives . State , error ) { sm . stateMapLock . RLock ( ) derivedState , found := sm . stateMap [ blockHash ] sm . stateMapLock . RUnlock ( ) if ! found { return nil , nil , fmt . Errorf ( " " , blockHash ) } return derivedState . deriveState ( slot , view , c ) }
GetStateForHashAtSlot gets the state derived from a certain block Hash at a given
slot.
GetStateForHashAtSlot gets the state derived from a certain block Hash at a given slot .