// NewHelper constructs the consensus helper object func NewHelper(mhc peer.MessageHandlerCoordinator) *Helper { h := &Helper{ coordinator: mhc, secOn: viper.GetBool("security.enabled"), secHelper: mhc.GetSecHelper(), valid: true, // Assume our state is consistent until we are told otherwise, actual consensus (pbft) will invalidate this immediately, but noops will not } h.executor = executor.NewImpl(h, h, mhc) return h }
// NewHelper constructs the consensus helper object func NewHelper(mhc peer.MessageHandlerCoordinator) *Helper { h := &Helper{ coordinator: mhc, secOn: viper.GetBool("security.enabled"), secHelper: mhc.GetSecHelper(), } h.sts = statetransfer.NewStateTransferState(h) h.sts.Initiate(nil) h.sts.RegisterListener(h) return h }
// NewHelper constructs the consensus helper object func NewHelper(mhc peer.MessageHandlerCoordinator) *Helper { h := &Helper{ coordinator: mhc, secOn: viper.GetBool("security.enabled"), secHelper: mhc.GetSecHelper(), valid: true, // Assume our state is consistent until we are told otherwise, TODO: revisit } h.sts = statetransfer.NewStateTransferState(mhc) h.sts.RegisterListener(h) return h }
// NewHelper constructs the consensus helper object func NewHelper(mhc peer.MessageHandlerCoordinator) *Helper { h := &Helper{ coordinator: mhc, secOn: viper.GetBool("security.enabled"), secHelper: mhc.GetSecHelper(), valid: true, // Assume our state is consistent until we are told otherwise, TODO: revisit } h.executor = executor.NewImpl(h, h, mhc) h.executor.Start() return h }