30 lines
577 B
Go
30 lines
577 B
Go
package processor
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/wormhole-foundation/wormhole-explorer/contract-watcher/watcher"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type Processor struct {
|
|
watchers []watcher.ContractWatcher
|
|
logger *zap.Logger
|
|
}
|
|
|
|
func NewProcessor(watchers []watcher.ContractWatcher, logger *zap.Logger) *Processor {
|
|
return &Processor{watchers: watchers, logger: logger}
|
|
}
|
|
|
|
func (p *Processor) Start(ctx context.Context) {
|
|
for _, watcher := range p.watchers {
|
|
go watcher.Start(ctx)
|
|
}
|
|
}
|
|
|
|
func (p *Processor) Close() {
|
|
for _, watcher := range p.watchers {
|
|
watcher.Close()
|
|
}
|
|
}
|