2021-06-09 14:53:31 +03:00

40 lines
1.4 KiB
Go

package mempool
import (
"time"
"github.com/kaspanet/kaspad/domain/dagconfig"
)
const (
defaultTransactionExpireIntervalSeconds uint64 = 60
defaultTransactionExpireScanIntervalSeconds uint64 = 10
defaultOrphanExpireIntervalSeconds uint64 = 60
defaultOrphanExpireScanIntervalSeconds uint64 = 10
defaultMaximumOrphanTransactionSize = 100000
defaultMaximumOrphanTransactionCount = 50
)
type config struct {
transactionExpireIntervalDAAScore uint64
transactionExpireScanIntervalDAAScore uint64
orphanExpireIntervalDAAScore uint64
orphanExpireScanIntervalDAAScore uint64
maximumOrphanTransactionSize int
maximumOrphanTransactionCount int
}
func defaultConfig(dagParams *dagconfig.Params) *config {
targetBlocksPerSecond := uint64(dagParams.TargetTimePerBlock / time.Second)
return &config{
transactionExpireIntervalDAAScore: defaultTransactionExpireIntervalSeconds / targetBlocksPerSecond,
transactionExpireScanIntervalDAAScore: defaultTransactionExpireScanIntervalSeconds / targetBlocksPerSecond,
orphanExpireIntervalDAAScore: defaultOrphanExpireIntervalSeconds / targetBlocksPerSecond,
orphanExpireScanIntervalDAAScore: defaultOrphanExpireScanIntervalSeconds / targetBlocksPerSecond,
maximumOrphanTransactionSize: defaultMaximumOrphanTransactionSize,
maximumOrphanTransactionCount: defaultMaximumOrphanTransactionCount,
}
}