99 "strconv"
1010
1111 "github.com/pelletier/go-toml/v2"
12+ "go.opentelemetry.io/otel/metric"
1213
1314 "github.com/smartcontractkit/chainlink-common/pkg/chains"
1415 "github.com/smartcontractkit/chainlink-common/pkg/logger"
@@ -33,9 +34,9 @@ type Chain interface {
3334}
3435
3536type ChainOpts struct {
36- Logger logger.Logger
37- // the implementation used here needs to be co-ordinated with the starknet transaction manager keystore adapter
38- KeyStore loop. Keystore
37+ Logger logger.Logger
38+ KeyStore loop. Keystore // the implementation used here needs to be co-ordinated with the starknet transaction manager keystore adapter
39+ Meter metric. Meter // OpenTelemetry meter for beholder metrics
3940}
4041
4142func (o * ChainOpts ) Name () string {
@@ -69,14 +70,14 @@ func NewChain(cfg *config.TOMLConfig, opts ChainOpts) (Chain, error) {
6970 if ! cfg .IsEnabled () {
7071 return nil , fmt .Errorf ("cannot create new chain with ID %s: chain is disabled" , * cfg .ChainID )
7172 }
72- c , err := newChain (* cfg .ChainID , cfg , opts .KeyStore , opts .Logger )
73+ c , err := newChain (* cfg .ChainID , cfg , opts .KeyStore , opts .Logger , opts . Meter )
7374 if err != nil {
7475 return nil , err
7576 }
7677 return c , nil
7778}
7879
79- func newChain (id string , cfg * config.TOMLConfig , loopKs loop.Keystore , lggr logger.Logger ) (* chain , error ) {
80+ func newChain (id string , cfg * config.TOMLConfig , loopKs loop.Keystore , lggr logger.Logger , meter metric. Meter ) (* chain , error ) {
8081 lggr = logger .Named (lggr , "Chain" )
8182 lggr = logger .With (lggr , "starknetChainID" , id )
8283 ch := & chain {
@@ -86,7 +87,7 @@ func newChain(id string, cfg *config.TOMLConfig, loopKs loop.Keystore, lggr logg
8687 }
8788
8889 var err error
89- ch .txm , err = txm .New (lggr , loopKs , cfg , ch .getClient , ch .getFeederClient )
90+ ch .txm , err = txm .New (lggr , loopKs , cfg , ch .ChainID (), meter , ch . getClient , ch .getFeederClient )
9091 if err != nil {
9192 return nil , err
9293 }
0 commit comments