func (tp *TimeoutParams) Precommit(round agtypes.INT) time.Duration {
	return time.Duration(tp.Precommit0+tp.PrecommitDelta*round) * time.Millisecond
}
After receiving any +2/3 precommits, wait this long for stragglers
package consensus
import (
	"bytes"
	"encoding/hex"
	"encoding/json"
	"errors"
	"fmt"
	"io"
	"math/big"
	"reflect"
	"sync"
	"time"
	"unsafe"
	bc "github.com/Baptist-Publication/angine/blockchain"
	mempl "github.com/Baptist-Publication/angine/mempool"
	csspb "github.com/Baptist-Publication/angine/protos/consensus"
	pbtypes "github.com/Baptist-Publication/angine/protos/types"
	sm "github.com/Baptist-Publication/angine/state"
	agtypes "github.com/Baptist-Publication/angine/types"
	. "github.com/Baptist-Publication/chorus-module/lib/go-common"
	"github.com/Baptist-Publication/chorus-module/lib/go-crypto"
	"github.com/spf13/viper"
	"go.uber.org/zap"
)
type TimeoutParams struct {
	Propose0          agtypes.INT
	ProposeDelta      agtypes.INT
	Prevote0          agtypes.INT
	PrevoteDelta      agtypes.INT
	Precommit0        agtypes.INT
	PrecommitDelta    agtypes.INT
	Commit0           agtypes.INT
	SkipTimeoutCommit bool
}
func (tp *TimeoutParams) Propose(round agtypes.INT) time.Duration {
	return time.Duration(tp.Propose0+tp.ProposeDelta*round) * time.Millisecond
}
func (tp *TimeoutParams) Prevote(round agtypes.INT) time.Duration {
	return time.Duration(tp.Prevote0+tp.PrevoteDelta*round) * time.Millisecond
}