Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions cmd/vigilante/cmd/monitor.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ package cmd

import (
"fmt"
"time"

bbnqccfg "github.com/babylonlabs-io/babylon/v3/client/config"
bbnqc "github.com/babylonlabs-io/babylon/v3/client/query"
"github.com/spf13/cobra"

bbnclient "github.com/babylonlabs-io/babylon/v3/client/client"
"github.com/babylonlabs-io/vigilante/btcclient"
"github.com/babylonlabs-io/vigilante/btcstaking-tracker/indexer"
"github.com/babylonlabs-io/vigilante/config"
"github.com/babylonlabs-io/vigilante/metrics"
"github.com/babylonlabs-io/vigilante/monitor"
Expand Down Expand Up @@ -91,6 +93,9 @@ func GetMonitorCmd() *cobra.Command {

babylonAdaptorClient := monitor.NewBabylonAdaptorClientAdapter(babylonClient, &cfg.Monitor)

// create indexer
indexerClient := indexer.NewHTTPIndexerClient(cfg.BTCStakingTracker.IndexerAddr, 10*time.Second, *rootLogger)

// create monitor
vigilanteMonitor, err = monitor.New(
&cfg.Monitor,
Expand All @@ -99,6 +104,7 @@ func GetMonitorCmd() *cobra.Command {
genesisInfo,
bbnQueryClient,
btcClient,
indexerClient,
btcNotifier,
monitorMetrics,
babylonAdaptorClient,
Expand Down
10 changes: 9 additions & 1 deletion config/monitor.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ const (
defaultLivenessCheckIntervalSeconds = 10
defaultMaxLiveBtcHeights = 100
defaultActivationTimeoutSeconds = 1800
defaultTimingCheckIntervalSeconds = 30
defaultUnbondingTimeoutMinutes = 60
)

// MonitorConfig defines the Monitor's basic configuration
Expand All @@ -31,7 +33,11 @@ type MonitorConfig struct {
// whether to enable liveness checker
EnableLivenessChecker bool `mapstructure:"enable-liveness-checker"`
// timeout in seconds for delegation activation after K-deep confirmation
ActivationTimeoutSeconds int64 `mapstructure:"activation-timeout-minutes"`
ActivationTimeoutSeconds int64 `mapstructure:"activation-timeout-seconds"`
// interval in seconds for checking activation and unbonding timing
TimingCheckIntervalSeconds uint64 `mapstructure:"timing-check-interval-seconds"`
// timeout in minutes for unbonding detection after spending
UnbondingTimeoutMinutes uint64 `mapstructure:"unbonding-timeout-minutes"`
// DatabaseConfig stores lates epoch and height used for faster bootstrap
DatabaseConfig *DBConfig `mapstructure:"dbconfig"`
}
Expand Down Expand Up @@ -60,6 +66,8 @@ func DefaultMonitorConfig() MonitorConfig {
MaxLiveBtcHeights: defaultMaxLiveBtcHeights,
EnableLivenessChecker: true,
ActivationTimeoutSeconds: defaultActivationTimeoutSeconds,
TimingCheckIntervalSeconds: defaultTimingCheckIntervalSeconds,
UnbondingTimeoutMinutes: defaultUnbondingTimeoutMinutes,
DatabaseConfig: DefaultDBConfig(),
}
}
Loading