func NewSlotProposalManager(slot uint64, epochState chainhash.Hash, epochSlot uint64, mgr *ShardSyncManager) *SlotProposalManager {
	return &SlotProposalManager{
		proposalSlot: slot,
		bestProposal: &ProposalInformation{
			TransactionPackage: primitives.TransactionPackage{
				StartRoot:     epochState,
				EndRoot:       epochState,
				Updates:       nil,
				Verifications: nil,
				Transactions:  nil,
			},
			startSlot: epochSlot,
		},
		mgr:       mgr,
		requested: false,
	}
}
// NewSlotProposalManager creates a new manager to keep track of proposals for this slot.
NewSlotProposalManager creates a new manager to keep track of proposals for this slot.
// NewSlotProposalManager creates a new manager to keep track of proposals for this slot .
func NewSlotProposalManager(slot uint64, epochState chainhash.Hash, epochSlot uint64, mgr *ShardSyncManager) *SlotProposalManager {
	return &SlotProposalManager{
		proposalSlot: slot,
		bestProposal: &ProposalInformation{
			TransactionPackage: primitives.TransactionPackage{
				StartRoot:     epochState,
				EndRoot:       epochState,
				Updates:       nil,
				Verifications: nil,
				Transactions:  nil,
			},
			startSlot: epochSlot,
		},
		mgr:       mgr,
		requested: false,
	}
}
func NewSlotProposalManager ( slot uint64 , epochState chainhash . Hash , epochSlot uint64 , mgr * ShardSyncManager ) * SlotProposalManager { return & SlotProposalManager { proposalSlot : slot , bestProposal : & ProposalInformation { TransactionPackage : primitives . TransactionPackage { StartRoot : epochState , EndRoot : epochState , Updates : nil , Verifications : nil , Transactions : nil , } , startSlot : epochSlot , } , mgr : mgr , requested : false , } }
NewSlotProposalManager creates a new manager to keep track of proposals for this slot.
NewSlotProposalManager creates a new manager to keep track of proposals for this slot .