diff --git a/common/txmgr/mocks/tx_manager.go b/common/txmgr/mocks/tx_manager.go index 9d71c8b8ab4..91382f487b5 100644 --- a/common/txmgr/mocks/tx_manager.go +++ b/common/txmgr/mocks/tx_manager.go @@ -8,6 +8,8 @@ import ( chains "github.com/smartcontractkit/chainlink-framework/chains" + evm "github.com/smartcontractkit/chainlink-common/pkg/types/chains/evm" + fees "github.com/smartcontractkit/chainlink-framework/chains/fees" mock "github.com/stretchr/testify/mock" @@ -670,23 +672,23 @@ func (_c *TxManager_GetForwarderForEOAOCR2Feeds_Call[CID, HEAD, ADDR, THASH, BHA } // GetTransactionFee provides a mock function with given fields: ctx, transactionID -func (_m *TxManager[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE]) GetTransactionFee(ctx context.Context, transactionID string) (*pkgtypes.TransactionFee, error) { +func (_m *TxManager[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE]) GetTransactionFee(ctx context.Context, transactionID string) (*evm.TransactionFee, error) { ret := _m.Called(ctx, transactionID) if len(ret) == 0 { panic("no return value specified for GetTransactionFee") } - var r0 *pkgtypes.TransactionFee + var r0 *evm.TransactionFee var r1 error - if rf, ok := ret.Get(0).(func(context.Context, string) (*pkgtypes.TransactionFee, error)); ok { + if rf, ok := ret.Get(0).(func(context.Context, string) (*evm.TransactionFee, error)); ok { return rf(ctx, transactionID) } - if rf, ok := ret.Get(0).(func(context.Context, string) *pkgtypes.TransactionFee); ok { + if rf, ok := ret.Get(0).(func(context.Context, string) *evm.TransactionFee); ok { r0 = rf(ctx, transactionID) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).(*pkgtypes.TransactionFee) + r0 = ret.Get(0).(*evm.TransactionFee) } } @@ -718,12 +720,12 @@ func (_c *TxManager_GetTransactionFee_Call[CID, HEAD, ADDR, THASH, BHASH, SEQ, F return _c } -func (_c *TxManager_GetTransactionFee_Call[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE]) Return(fee *pkgtypes.TransactionFee, err error) *TxManager_GetTransactionFee_Call[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE] { +func (_c *TxManager_GetTransactionFee_Call[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE]) Return(fee *evm.TransactionFee, err error) *TxManager_GetTransactionFee_Call[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE] { _c.Call.Return(fee, err) return _c } -func (_c *TxManager_GetTransactionFee_Call[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE]) RunAndReturn(run func(context.Context, string) (*pkgtypes.TransactionFee, error)) *TxManager_GetTransactionFee_Call[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE] { +func (_c *TxManager_GetTransactionFee_Call[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE]) RunAndReturn(run func(context.Context, string) (*evm.TransactionFee, error)) *TxManager_GetTransactionFee_Call[CID, HEAD, ADDR, THASH, BHASH, SEQ, FEE] { _c.Call.Return(run) return _c } diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 7a0b244e2bf..ebf8ab066ac 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -33,10 +33,10 @@ require ( github.com/shopspring/decimal v1.4.0 github.com/smartcontractkit/chainlink-automation v0.8.1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 - github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 + github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd - github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c + github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca github.com/smartcontractkit/chainlink-testing-framework/lib v1.52.4 github.com/smartcontractkit/libocr v0.0.0-20250408131511-c90716988ee0 github.com/spf13/cobra v1.8.1 @@ -356,7 +356,7 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20250414155853-651b4e583ee9 // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 // indirect github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 // indirect - github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa // indirect + github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 // indirect github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250501150903-3e93089d9ad5 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index bb781110d49..f85d049dc74 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1191,20 +1191,20 @@ github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 h1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6/go.mod h1:Jb05WL6lj5H89XGcaaOinxTf4Gdj+vXO4TcUhqTgqIM= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 h1:jswzyxv1bIt9gjmEaMPyTRDVMnOjH+AZEFJfHP94sdY= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990/go.mod h1:k3/Z6AvwurPUlfuDFEonRbkkiTSgNSrtVNhJEWNlUZA= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 h1:VomBm6IeVmLjp2IDXnd8/mKdpYzocDJdvi+lu3ad6Sk= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 h1:luR7oS01qzkw8anxnSYaXurzKzMdgl5ROKFm1/I6llY= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7/go.mod h1:yaDOAZF6MNB+NGYpxGCUc+owIdKrjvFW0JODdTcQ3V0= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 h1:7HwYt8rDz1ehTcB28oNipdTZUtV17F2sfkLTLtMJC4c= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049/go.mod h1:2MggrMtbhqr0u4U2pcYa21lvAtvaeSawjxdIy1ytHWE= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd h1:CQ2Go+jr6EIPsHKiTWWJb9b7Atr5rlDxYYNebD0rDC8= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd/go.mod h1:mL2A8XfX+KipiqgBarPaBxULqVLSJRZ6HYObxFncMEM= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c h1:1jrQDhZ5NJ6MtXUB1mngguhNTx897p2+WMV5c358GCE= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c/go.mod h1:8QsSYkL3nf3CnRbfpcXPGkxDRc8FuiWo1GiEEZR8b2A= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca h1:F7u+fZEPLN6onVa3qTkHn96Qd9mC2R2JTmdwBYxzNs8= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca/go.mod h1:45uPLLRG/RZlZT0U5ikI3LJORNeu+kfZSlw5M2PLId0= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 h1:8u9xUrC+yHrTDexOKDd+jrA6LCzFFHeX1G82oj2fsSI= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135/go.mod h1:NkvE4iQgiT7dMCP6U3xPELHhWhN5Xr6rHC0axRebyMU= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa h1:WJNO3646oVvLQtPf+8YUoAOjBWg6XbGUctnOPLp4ZTE= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa/go.mod h1:apM9rdhKDAFRiwQl94sGaQbXT/q1+Ji8Pt9BrLE6WHQ= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 h1:CK4v+IXsvYfzwHbZakJt/RpiWNkkiVIJ6ynGGOo7buc= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657/go.mod h1:7SIisRODXILBOqkUYvdfosemV6ttDTR+AjGHPws7DoA= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa h1:NNFspORov2OGt7ex+mYFm+7nTUvjrUWBbCQBYvVXKK4= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa/go.mod h1:jo+cUqNcHwN8IF7SInQNXDZ8qzBsyMpnLdYbDswviFc= github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa h1:6hXK26pDSnZ4/hK6t/CnL50OEE3GF78r9inuGKn2+p4= diff --git a/core/services/relay/evm/evm.go b/core/services/relay/evm/evm.go index 232ec1c295b..4afe133bbdd 100644 --- a/core/services/relay/evm/evm.go +++ b/core/services/relay/evm/evm.go @@ -1002,10 +1002,6 @@ func (r *Relayer) EVM() (commontypes.EVMService, error) { return r, nil } -func (r *Relayer) GetTransactionFee(ctx context.Context, transactionID string) (*commontypes.TransactionFee, error) { - return r.chain.TxManager().GetTransactionFee(ctx, transactionID) -} - func (r *Relayer) NewMedianProvider(ctx context.Context, rargs commontypes.RelayArgs, pargs commontypes.PluginArgs) (commontypes.MedianProvider, error) { lggr := logger.Sugared(r.lggr).Named("MedianProvider").Named(rargs.ExternalJobID.String()) relayOpts := types.NewRelayOpts(rargs) diff --git a/core/services/relay/evm/evm_service.go b/core/services/relay/evm/evm_service.go new file mode 100644 index 00000000000..17996302716 --- /dev/null +++ b/core/services/relay/evm/evm_service.go @@ -0,0 +1,316 @@ +package evm + +import ( + "context" + "math/big" + + "github.com/ethereum/go-ethereum" + "github.com/ethereum/go-ethereum/common" + gethtypes "github.com/ethereum/go-ethereum/core/types" + "github.com/pkg/errors" + commontypes "github.com/smartcontractkit/chainlink-common/pkg/types" + "github.com/smartcontractkit/chainlink-common/pkg/types/chains/evm" + evmtypes "github.com/smartcontractkit/chainlink-common/pkg/types/chains/evm" + + "github.com/smartcontractkit/chainlink-common/pkg/types/query" + "github.com/smartcontractkit/chainlink-common/pkg/types/query/primitives" + "github.com/smartcontractkit/chainlink-evm/pkg/heads" + "github.com/smartcontractkit/chainlink-evm/pkg/logpoller" + "github.com/smartcontractkit/chainlink-evm/pkg/types" + "github.com/smartcontractkit/chainlink-framework/chains" +) + +// Direct RPC +func (r *Relayer) CallContract(ctx context.Context, msg *evmtypes.CallMsg, blockNumber *big.Int) ([]byte, error) { + return r.chain.Client().CallContract(ctx, toEthMsg(msg), blockNumber) +} + +func (r *Relayer) FilterLogs(ctx context.Context, filterQuery evmtypes.FilterQuery) ([]*evmtypes.Log, error) { + logs, err := r.chain.Client().FilterLogs(ctx, convertEthFilter(filterQuery)) + if err != nil { + return nil, err + } + + ret := make([]*evmtypes.Log, 0, len(logs)) + + for _, l := range logs { + ret = append(ret, convertLog(&l)) + } + + return ret, nil +} + +func (r *Relayer) BalanceAt(ctx context.Context, account evmtypes.Address, blockNumber *big.Int) (*big.Int, error) { + return r.chain.Client().BalanceAt(ctx, account, blockNumber) +} + +func (r *Relayer) EstimateGas(ctx context.Context, call *evmtypes.CallMsg) (uint64, error) { + return r.chain.Client().EstimateGas(ctx, toEthMsg(call)) +} + +func (r *Relayer) TransactionByHash(ctx context.Context, hash evmtypes.Hash) (*evmtypes.Transaction, error) { + tx, err := r.chain.Client().TransactionByHash(ctx, hash) + if err != nil { + return nil, err + } + + return convertTransaction(tx), nil +} + +func (r *Relayer) TransactionReceipt(ctx context.Context, txHash evmtypes.Hash) (*evmtypes.Receipt, error) { + receipt, err := r.chain.Client().TransactionReceipt(ctx, txHash) + if err != nil { + return nil, err + } + + return convertReceipt(receipt), nil +} + +// ChainService +func (r *Relayer) GetTransactionFee(ctx context.Context, transactionID commontypes.IdempotencyKey) (*evmtypes.TransactionFee, error) { + return r.chain.TxManager().GetTransactionFee(ctx, transactionID) +} + +func (r *Relayer) LatestAndFinalizedHead(ctx context.Context) (evmtypes.Head, evmtypes.Head, error) { + latest, finalized, err := r.chain.HeadTracker().LatestAndFinalizedBlock(ctx) + if err != nil { + return evmtypes.Head{}, evmtypes.Head{}, err + } + + return convertHead(latest), convertHead(finalized), nil +} + +func (r *Relayer) QueryTrackedLogs(ctx context.Context, filterQuery []query.Expression, + limitAndSort query.LimitAndSort, confidenceLevel primitives.ConfidenceLevel) ([]*evmtypes.Log, error) { + // TODO move evm specific expressions to common + // TODO check if required filters[event sig and address] are set + // TODO specify query name BCFR-1328 + // BCFR-1328 + conformations := confidenceToConformations(confidenceLevel) + filterQuery = append(filterQuery, logpoller.NewConfirmationsFilter(conformations)) + logs, err := r.chain.LogPoller().FilteredLogs(ctx, filterQuery, limitAndSort, "") + + if err != nil { + return nil, err + } + + return convertLPLogs(logs), nil +} + +func (r *Relayer) RegisterLogTracking(ctx context.Context, filter evmtypes.LPFilterQuery) error { + lpfilter, err := convertLPFilter(filter) + if err != nil { + return err + } + if r.chain.LogPoller().HasFilter(lpfilter.Name) { + return nil + } + + return r.chain.LogPoller().RegisterFilter(ctx, lpfilter) +} + +func (r *Relayer) UnregisterLogTracking(ctx context.Context, filterName string) error { + if filterName == "" { + return errEmptyFilterName + } + if !r.chain.LogPoller().HasFilter(filterName) { + return nil + } + + return r.chain.LogPoller().UnregisterFilter(ctx, filterName) +} + +func (r *Relayer) GetTransactionStatus(ctx context.Context, transactionID commontypes.IdempotencyKey) (commontypes.TransactionStatus, error) { + status, err := r.chain.TxManager().GetTransactionStatus(ctx, transactionID) + if err != nil { + return commontypes.Unknown, err + } + + return commontypes.TransactionStatus(status), nil +} + +func blockFromConfidence(ctx context.Context, ht heads.Tracker, confidence primitives.ConfidenceLevel) (*big.Int, error) { + latest, finalized, err := ht.LatestAndFinalizedBlock(ctx) + if err != nil { + return nil, err + } + if confidence == primitives.Finalized { + return big.NewInt(finalized.BlockNumber()), nil + } + + return big.NewInt(latest.BlockNumber()), nil +} + +func convertHead[H chains.Head[BLOCK_HASH], BLOCK_HASH chains.Hashable](h H) evmtypes.Head { + return evmtypes.Head{ + Timestamp: uint64(h.GetTimestamp().Unix()), + Hash: bytesToHash(h.BlockHash().Bytes()), + Number: big.NewInt(h.BlockNumber()), + ParentHash: bytesToHash(h.GetParentHash().Bytes()), + } +} + +func convertReceipt(r *gethtypes.Receipt) *evmtypes.Receipt { + return &evmtypes.Receipt{ + Status: r.Status, + Logs: convertLogs(r.Logs), + TxHash: r.TxHash, + ContractAddress: r.ContractAddress, + GasUsed: r.GasUsed, + BlockHash: r.BlockHash, + BlockNumber: r.BlockNumber, + TransactionIndex: uint64(r.TransactionIndex), + EffectiveGasPrice: r.EffectiveGasPrice, + } +} + +func convertEthFilter(q evmtypes.FilterQuery) ethereum.FilterQuery { + return ethereum.FilterQuery{ + FromBlock: q.FromBlock, + ToBlock: q.ToBlock, + Addresses: arraysToAddresses(q.Addresses), + Topics: arraysToHashMatrix(q.Topics), + } +} + +var errEmptyFilterName = errors.New("filter name can't be empty") + +func convertLPFilter(q evmtypes.LPFilterQuery) (logpoller.Filter, error) { + if q.Name == "" { + return logpoller.Filter{}, errEmptyFilterName + } + return logpoller.Filter{ + Name: q.Name, + Addresses: arraysToAddresses(q.Addresses), + EventSigs: arraysToHashes(q.EventSigs), + Topic2: arraysToHashes(q.Topic2), + Topic3: arraysToHashes(q.Topic3), + Topic4: arraysToHashes(q.Topic4), + Retention: q.Retention, + MaxLogsKept: q.MaxLogsKept, + LogsPerBlock: q.LogsPerBlock, + }, nil +} + +func convertTransaction(tx *gethtypes.Transaction) *evmtypes.Transaction { + var to evm.Address + if tx.To() != nil { + to = *tx.To() + } + + return &evmtypes.Transaction{ + To: to, + Data: tx.Data(), + Hash: tx.Hash(), + Nonce: tx.Nonce(), + Gas: tx.Gas(), + GasPrice: tx.GasPrice(), + Value: tx.Value(), + } +} + +func arraysToHashMatrix(input [][][32]byte) [][]common.Hash { + result := make([][]common.Hash, 0, len(input)) + for _, row := range input { + result = append(result, arraysToHashes(row)) + } + return result +} + +func arraysToAddresses(input [][20]byte) []common.Address { + res := make([]common.Address, 0, len(input)) + for _, s := range input { + res = append(res, s) + } + + return res +} + +func arraysToHashes(input [][32]byte) []common.Hash { + res := make([]common.Hash, 0, len(input)) + for _, s := range input { + res = append(res, s) + } + + return res +} + +func hashesToArrays(input []common.Hash) [][32]byte { + res := make([][32]byte, 0, len(input)) + for _, s := range input { + res = append(res, s) + } + + return res +} + +var empty common.Address + +func toEthMsg(msg *evmtypes.CallMsg) ethereum.CallMsg { + var to *common.Address + + if empty.Cmp(msg.To) != 0 { + to = new(common.Address) + *to = msg.To + } + + return ethereum.CallMsg{ + From: msg.From, + To: to, + Data: msg.Data, + } +} + +func convertLogs(logs []*gethtypes.Log) []*evmtypes.Log { + ret := make([]*evmtypes.Log, 0, len(logs)) + + for _, l := range logs { + ret = append(ret, convertLog(l)) + } + + return ret +} + +func convertLPLogs(logs []logpoller.Log) []*evmtypes.Log { + ret := make([]*evmtypes.Log, 0, len(logs)) + for _, l := range logs { + gl := l.ToGethLog() + ret = append(ret, convertLog(&gl)) + } + + return ret +} + +func convertLog(log *gethtypes.Log) *evmtypes.Log { + topics := hashesToArrays(log.Topics) + + var eventSig [32]byte + if len(log.Topics) > 0 { + eventSig = log.Topics[0] + } + + return &evmtypes.Log{ + LogIndex: uint32(log.Index), + BlockHash: log.BlockHash, + BlockNumber: new(big.Int).SetUint64(log.BlockNumber), + Topics: topics, + EventSig: eventSig, + Address: log.Address, + TxHash: log.TxHash, + Data: log.Data, + Removed: log.Removed, + } +} + +func confidenceToConformations(conf primitives.ConfidenceLevel) types.Confirmations { + if conf == primitives.Finalized { + return types.Finalized + } + + return types.Unconfirmed +} + +func bytesToHash(b []byte) (h evm.Hash) { + copy(h[:], b) + return +} diff --git a/core/services/relay/evm/evm_service_test.go b/core/services/relay/evm/evm_service_test.go new file mode 100644 index 00000000000..b86431c6ad3 --- /dev/null +++ b/core/services/relay/evm/evm_service_test.go @@ -0,0 +1,129 @@ +package evm + +import ( + "math/big" + "testing" + "time" + + "github.com/ethereum/go-ethereum/common" + "github.com/stretchr/testify/mock" + "github.com/stretchr/testify/require" + + gethtypes "github.com/ethereum/go-ethereum/core/types" + evmtypes "github.com/smartcontractkit/chainlink-common/pkg/types/chains/evm" + "github.com/smartcontractkit/chainlink-evm/pkg/client/clienttest" + "github.com/smartcontractkit/chainlink-evm/pkg/heads/headstest" + "github.com/smartcontractkit/chainlink-evm/pkg/logpoller" + pollermocks "github.com/smartcontractkit/chainlink/v2/core/chains/evm/logpoller/mocks" + txmmocks "github.com/smartcontractkit/chainlink/v2/core/chains/evm/txmgr/mocks" + evmmocks "github.com/smartcontractkit/chainlink/v2/core/chains/legacyevm/mocks" + + "github.com/smartcontractkit/chainlink-evm/pkg/types" +) + +func TestEVMService(t *testing.T) { + t.Parallel() + ctx := t.Context() + chain := evmmocks.NewChain(t) + txManager := txmmocks.NewMockEvmTxManager(t) + evmClient := clienttest.NewClient(t) + poller := pollermocks.NewLogPoller(t) + ht := headstest.NewTracker[*types.Head](t) + + chain.On("TxManager").Return(txManager).Maybe() + chain.On("LogPoller").Return(poller).Maybe() + chain.On("HeadTracker").Return(ht).Maybe() + chain.On("Client").Return(evmClient).Maybe() + + relayer := &Relayer{ + chain: chain, + } + + t.Run("RegisterLogTracking", func(t *testing.T) { + filter := evmtypes.LPFilterQuery{ + Name: "filter-1", + Retention: time.Second, + Addresses: []evmtypes.Address{common.HexToAddress("0x123")}, + EventSigs: []evmtypes.Hash{common.HexToHash("0x321")}, + Topic2: []evmtypes.Hash{common.HexToHash("0x222")}, + Topic3: []evmtypes.Hash{common.HexToHash("0x543")}, + Topic4: []evmtypes.Hash{common.HexToHash("0x432")}, + MaxLogsKept: 100, + LogsPerBlock: 10, + } + + poller.On("HasFilter", mock.MatchedBy(func(fname string) bool { + return fname == filter.Name + })).Return(false) + poller.On("RegisterFilter", ctx, mock.MatchedBy(func(f logpoller.Filter) bool { + return f.LogsPerBlock == filter.LogsPerBlock && + f.Retention == filter.Retention && + f.Topic2[0] == filter.Topic2[0] && + f.Topic3[0] == filter.Topic3[0] && + f.Topic4[0] == filter.Topic4[0] && + f.EventSigs[0] == filter.EventSigs[0] && + f.MaxLogsKept == filter.MaxLogsKept && + f.Addresses[0] == filter.Addresses[0] && + f.Name == filter.Name + })).Return(nil) + + err := relayer.RegisterLogTracking(ctx, filter) + require.NoError(t, err) + }) + + t.Run("TransactionByHash", func(t *testing.T) { + hash := common.HexToHash("0x123") + nonce := uint64(1) + to := common.HexToAddress("0x555") + amount := big.NewInt(1) + gasLimit := uint64(2) + gasPrice := big.NewInt(2) + data := []byte("kitties") + + transaction := gethtypes.NewTransaction(nonce, to, amount, gasLimit, gasPrice, data) + evmClient.On("TransactionByHash", ctx, hash).Return(transaction, nil) + tx, err := relayer.TransactionByHash(ctx, hash) + require.NoError(t, err) + require.Equal(t, transaction.Hash().Bytes(), tx.Hash[:]) + require.Equal(t, transaction.Nonce(), tx.Nonce) + require.Equal(t, transaction.GasPrice(), tx.GasPrice) + require.Equal(t, transaction.Data(), tx.Data) + require.Equal(t, transaction.Gas(), tx.Gas) + require.Equal(t, transaction.To().Bytes(), tx.To[:]) + }) +} + +func TestConverters(t *testing.T) { + t.Parallel() + + t.Run("convert head", func(t *testing.T) { + head := types.Head{ + Timestamp: time.Unix(100000, 100), + Number: 100, + Hash: common.HexToHash("0x123"), + } + result := convertHead(&head) + require.Equal(t, head.Hash.Bytes(), result.Hash[:]) + }) + + t.Run("convert transaction", func(t *testing.T) { + tx := gethtypes.NewTransaction( + 1, + common.HexToAddress("0xabc123"), + big.NewInt(1000), + 21000, + big.NewInt(1e9), + []byte{1, 2, 3}, + ) + + result := convertTransaction(tx) + require.NotNil(t, result) + require.Equal(t, tx.Hash().Bytes(), result.Hash[:]) + require.Equal(t, tx.Nonce(), result.Nonce) + require.Equal(t, tx.Gas(), result.Gas) + require.Equal(t, tx.GasPrice(), result.GasPrice) + require.Equal(t, tx.Value(), result.Value) + require.Equal(t, tx.To().Bytes(), result.To[:]) + require.Equal(t, tx.Data(), result.Data) + }) +} diff --git a/deployment/go.mod b/deployment/go.mod index 3dee7a7404d..48536e4a626 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -34,9 +34,9 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20250414155853-651b4e583ee9 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 - github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 + github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd - github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c + github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa github.com/smartcontractkit/chainlink-protos/job-distributor v0.9.0 github.com/smartcontractkit/chainlink-protos/orchestrator v0.5.0 @@ -371,7 +371,7 @@ require ( github.com/smartcontractkit/chainlink-automation v0.8.1 // indirect github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 // indirect github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 // indirect - github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa // indirect + github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 // indirect github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250501150903-3e93089d9ad5 // indirect github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6 // indirect diff --git a/deployment/go.sum b/deployment/go.sum index c7627815548..beb68f10c0c 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1240,20 +1240,20 @@ github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 h1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6/go.mod h1:Jb05WL6lj5H89XGcaaOinxTf4Gdj+vXO4TcUhqTgqIM= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 h1:jswzyxv1bIt9gjmEaMPyTRDVMnOjH+AZEFJfHP94sdY= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990/go.mod h1:k3/Z6AvwurPUlfuDFEonRbkkiTSgNSrtVNhJEWNlUZA= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 h1:VomBm6IeVmLjp2IDXnd8/mKdpYzocDJdvi+lu3ad6Sk= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 h1:luR7oS01qzkw8anxnSYaXurzKzMdgl5ROKFm1/I6llY= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7/go.mod h1:yaDOAZF6MNB+NGYpxGCUc+owIdKrjvFW0JODdTcQ3V0= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 h1:7HwYt8rDz1ehTcB28oNipdTZUtV17F2sfkLTLtMJC4c= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049/go.mod h1:2MggrMtbhqr0u4U2pcYa21lvAtvaeSawjxdIy1ytHWE= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd h1:CQ2Go+jr6EIPsHKiTWWJb9b7Atr5rlDxYYNebD0rDC8= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd/go.mod h1:mL2A8XfX+KipiqgBarPaBxULqVLSJRZ6HYObxFncMEM= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c h1:1jrQDhZ5NJ6MtXUB1mngguhNTx897p2+WMV5c358GCE= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c/go.mod h1:8QsSYkL3nf3CnRbfpcXPGkxDRc8FuiWo1GiEEZR8b2A= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca h1:F7u+fZEPLN6onVa3qTkHn96Qd9mC2R2JTmdwBYxzNs8= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca/go.mod h1:45uPLLRG/RZlZT0U5ikI3LJORNeu+kfZSlw5M2PLId0= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 h1:8u9xUrC+yHrTDexOKDd+jrA6LCzFFHeX1G82oj2fsSI= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135/go.mod h1:NkvE4iQgiT7dMCP6U3xPELHhWhN5Xr6rHC0axRebyMU= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa h1:WJNO3646oVvLQtPf+8YUoAOjBWg6XbGUctnOPLp4ZTE= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa/go.mod h1:apM9rdhKDAFRiwQl94sGaQbXT/q1+Ji8Pt9BrLE6WHQ= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 h1:CK4v+IXsvYfzwHbZakJt/RpiWNkkiVIJ6ynGGOo7buc= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657/go.mod h1:7SIisRODXILBOqkUYvdfosemV6ttDTR+AjGHPws7DoA= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa h1:NNFspORov2OGt7ex+mYFm+7nTUvjrUWBbCQBYvVXKK4= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa/go.mod h1:jo+cUqNcHwN8IF7SInQNXDZ8qzBsyMpnLdYbDswviFc= github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa h1:6hXK26pDSnZ4/hK6t/CnL50OEE3GF78r9inuGKn2+p4= diff --git a/go.mod b/go.mod index 0954b2d138f..94ece13a1a9 100644 --- a/go.mod +++ b/go.mod @@ -76,11 +76,11 @@ require ( github.com/smartcontractkit/chainlink-automation v0.8.1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250425163923-16aa375957b7 - github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 + github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 - github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c + github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 - github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa + github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250501150903-3e93089d9ad5 diff --git a/go.sum b/go.sum index 0223ffbe427..20c779cfdc7 100644 --- a/go.sum +++ b/go.sum @@ -1052,18 +1052,18 @@ github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 h1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6/go.mod h1:Jb05WL6lj5H89XGcaaOinxTf4Gdj+vXO4TcUhqTgqIM= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250425163923-16aa375957b7 h1:j6Vo/NX2ABsPdGxETC5pfQLcz/h6iLJu/Yx+8AhPa34= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250425163923-16aa375957b7/go.mod h1:k3/Z6AvwurPUlfuDFEonRbkkiTSgNSrtVNhJEWNlUZA= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 h1:VomBm6IeVmLjp2IDXnd8/mKdpYzocDJdvi+lu3ad6Sk= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 h1:luR7oS01qzkw8anxnSYaXurzKzMdgl5ROKFm1/I6llY= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7/go.mod h1:yaDOAZF6MNB+NGYpxGCUc+owIdKrjvFW0JODdTcQ3V0= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 h1:7HwYt8rDz1ehTcB28oNipdTZUtV17F2sfkLTLtMJC4c= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049/go.mod h1:2MggrMtbhqr0u4U2pcYa21lvAtvaeSawjxdIy1ytHWE= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c h1:1jrQDhZ5NJ6MtXUB1mngguhNTx897p2+WMV5c358GCE= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c/go.mod h1:8QsSYkL3nf3CnRbfpcXPGkxDRc8FuiWo1GiEEZR8b2A= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca h1:F7u+fZEPLN6onVa3qTkHn96Qd9mC2R2JTmdwBYxzNs8= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca/go.mod h1:45uPLLRG/RZlZT0U5ikI3LJORNeu+kfZSlw5M2PLId0= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 h1:8u9xUrC+yHrTDexOKDd+jrA6LCzFFHeX1G82oj2fsSI= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135/go.mod h1:NkvE4iQgiT7dMCP6U3xPELHhWhN5Xr6rHC0axRebyMU= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa h1:WJNO3646oVvLQtPf+8YUoAOjBWg6XbGUctnOPLp4ZTE= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa/go.mod h1:apM9rdhKDAFRiwQl94sGaQbXT/q1+Ji8Pt9BrLE6WHQ= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 h1:CK4v+IXsvYfzwHbZakJt/RpiWNkkiVIJ6ynGGOo7buc= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657/go.mod h1:7SIisRODXILBOqkUYvdfosemV6ttDTR+AjGHPws7DoA= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa h1:NNFspORov2OGt7ex+mYFm+7nTUvjrUWBbCQBYvVXKK4= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa/go.mod h1:jo+cUqNcHwN8IF7SInQNXDZ8qzBsyMpnLdYbDswviFc= github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa h1:6hXK26pDSnZ4/hK6t/CnL50OEE3GF78r9inuGKn2+p4= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index f12aecd5183..a41c3ac3430 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -47,9 +47,9 @@ require ( github.com/smartcontractkit/chainlink-automation v0.8.1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 - github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 + github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd - github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c + github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca github.com/smartcontractkit/chainlink-protos/job-distributor v0.9.0 github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.5 github.com/smartcontractkit/chainlink-testing-framework/lib v1.52.4 @@ -453,7 +453,7 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20250414155853-651b4e583ee9 // indirect github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 // indirect github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 // indirect - github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa // indirect + github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 // indirect github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250501150903-3e93089d9ad5 // indirect diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 1a9b14835e5..565039a36af 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1474,20 +1474,20 @@ github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 h1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6/go.mod h1:Jb05WL6lj5H89XGcaaOinxTf4Gdj+vXO4TcUhqTgqIM= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 h1:jswzyxv1bIt9gjmEaMPyTRDVMnOjH+AZEFJfHP94sdY= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990/go.mod h1:k3/Z6AvwurPUlfuDFEonRbkkiTSgNSrtVNhJEWNlUZA= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 h1:VomBm6IeVmLjp2IDXnd8/mKdpYzocDJdvi+lu3ad6Sk= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 h1:luR7oS01qzkw8anxnSYaXurzKzMdgl5ROKFm1/I6llY= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7/go.mod h1:yaDOAZF6MNB+NGYpxGCUc+owIdKrjvFW0JODdTcQ3V0= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 h1:7HwYt8rDz1ehTcB28oNipdTZUtV17F2sfkLTLtMJC4c= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049/go.mod h1:2MggrMtbhqr0u4U2pcYa21lvAtvaeSawjxdIy1ytHWE= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd h1:CQ2Go+jr6EIPsHKiTWWJb9b7Atr5rlDxYYNebD0rDC8= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd/go.mod h1:mL2A8XfX+KipiqgBarPaBxULqVLSJRZ6HYObxFncMEM= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c h1:1jrQDhZ5NJ6MtXUB1mngguhNTx897p2+WMV5c358GCE= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c/go.mod h1:8QsSYkL3nf3CnRbfpcXPGkxDRc8FuiWo1GiEEZR8b2A= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca h1:F7u+fZEPLN6onVa3qTkHn96Qd9mC2R2JTmdwBYxzNs8= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca/go.mod h1:45uPLLRG/RZlZT0U5ikI3LJORNeu+kfZSlw5M2PLId0= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 h1:8u9xUrC+yHrTDexOKDd+jrA6LCzFFHeX1G82oj2fsSI= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135/go.mod h1:NkvE4iQgiT7dMCP6U3xPELHhWhN5Xr6rHC0axRebyMU= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa h1:WJNO3646oVvLQtPf+8YUoAOjBWg6XbGUctnOPLp4ZTE= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa/go.mod h1:apM9rdhKDAFRiwQl94sGaQbXT/q1+Ji8Pt9BrLE6WHQ= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 h1:CK4v+IXsvYfzwHbZakJt/RpiWNkkiVIJ6ynGGOo7buc= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657/go.mod h1:7SIisRODXILBOqkUYvdfosemV6ttDTR+AjGHPws7DoA= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa h1:NNFspORov2OGt7ex+mYFm+7nTUvjrUWBbCQBYvVXKK4= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa/go.mod h1:jo+cUqNcHwN8IF7SInQNXDZ8qzBsyMpnLdYbDswviFc= github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa h1:6hXK26pDSnZ4/hK6t/CnL50OEE3GF78r9inuGKn2+p4= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index 0f02de00e37..dcd00051e71 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -29,8 +29,8 @@ require ( github.com/smartcontractkit/chain-selectors v1.0.55 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 - github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 - github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c + github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 + github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca github.com/smartcontractkit/chainlink-testing-framework/framework v0.7.4 github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.5 github.com/smartcontractkit/chainlink-testing-framework/lib v1.52.4 @@ -442,7 +442,7 @@ require ( github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 // indirect github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd // indirect github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 // indirect - github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa // indirect + github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 // indirect github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250501150903-3e93089d9ad5 // indirect diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index 413910faeb0..582f8481ccb 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1455,20 +1455,20 @@ github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 h1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6/go.mod h1:Jb05WL6lj5H89XGcaaOinxTf4Gdj+vXO4TcUhqTgqIM= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 h1:jswzyxv1bIt9gjmEaMPyTRDVMnOjH+AZEFJfHP94sdY= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990/go.mod h1:k3/Z6AvwurPUlfuDFEonRbkkiTSgNSrtVNhJEWNlUZA= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 h1:VomBm6IeVmLjp2IDXnd8/mKdpYzocDJdvi+lu3ad6Sk= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 h1:luR7oS01qzkw8anxnSYaXurzKzMdgl5ROKFm1/I6llY= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7/go.mod h1:yaDOAZF6MNB+NGYpxGCUc+owIdKrjvFW0JODdTcQ3V0= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 h1:7HwYt8rDz1ehTcB28oNipdTZUtV17F2sfkLTLtMJC4c= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049/go.mod h1:2MggrMtbhqr0u4U2pcYa21lvAtvaeSawjxdIy1ytHWE= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd h1:CQ2Go+jr6EIPsHKiTWWJb9b7Atr5rlDxYYNebD0rDC8= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd/go.mod h1:mL2A8XfX+KipiqgBarPaBxULqVLSJRZ6HYObxFncMEM= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c h1:1jrQDhZ5NJ6MtXUB1mngguhNTx897p2+WMV5c358GCE= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c/go.mod h1:8QsSYkL3nf3CnRbfpcXPGkxDRc8FuiWo1GiEEZR8b2A= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca h1:F7u+fZEPLN6onVa3qTkHn96Qd9mC2R2JTmdwBYxzNs8= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca/go.mod h1:45uPLLRG/RZlZT0U5ikI3LJORNeu+kfZSlw5M2PLId0= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 h1:8u9xUrC+yHrTDexOKDd+jrA6LCzFFHeX1G82oj2fsSI= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135/go.mod h1:NkvE4iQgiT7dMCP6U3xPELHhWhN5Xr6rHC0axRebyMU= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa h1:WJNO3646oVvLQtPf+8YUoAOjBWg6XbGUctnOPLp4ZTE= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa/go.mod h1:apM9rdhKDAFRiwQl94sGaQbXT/q1+Ji8Pt9BrLE6WHQ= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 h1:CK4v+IXsvYfzwHbZakJt/RpiWNkkiVIJ6ynGGOo7buc= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657/go.mod h1:7SIisRODXILBOqkUYvdfosemV6ttDTR+AjGHPws7DoA= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa h1:NNFspORov2OGt7ex+mYFm+7nTUvjrUWBbCQBYvVXKK4= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa/go.mod h1:jo+cUqNcHwN8IF7SInQNXDZ8qzBsyMpnLdYbDswviFc= github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa h1:6hXK26pDSnZ4/hK6t/CnL50OEE3GF78r9inuGKn2+p4= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index 27023370cc0..9c8e66a7a93 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -21,9 +21,9 @@ require ( github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.33.0 github.com/smartcontractkit/chain-selectors v1.0.55 - github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 + github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd - github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c + github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca github.com/smartcontractkit/chainlink-protos/job-distributor v0.9.0 github.com/smartcontractkit/chainlink-testing-framework/framework v0.7.5 github.com/smartcontractkit/chainlink-testing-framework/lib v1.52.4 @@ -360,7 +360,7 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 // indirect github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 // indirect github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 // indirect - github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa // indirect + github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 // indirect github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250501150903-3e93089d9ad5 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 9f0c02092ff..747ca4011bd 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -1228,20 +1228,20 @@ github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 h1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6/go.mod h1:Jb05WL6lj5H89XGcaaOinxTf4Gdj+vXO4TcUhqTgqIM= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 h1:jswzyxv1bIt9gjmEaMPyTRDVMnOjH+AZEFJfHP94sdY= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990/go.mod h1:k3/Z6AvwurPUlfuDFEonRbkkiTSgNSrtVNhJEWNlUZA= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 h1:VomBm6IeVmLjp2IDXnd8/mKdpYzocDJdvi+lu3ad6Sk= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 h1:luR7oS01qzkw8anxnSYaXurzKzMdgl5ROKFm1/I6llY= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7/go.mod h1:yaDOAZF6MNB+NGYpxGCUc+owIdKrjvFW0JODdTcQ3V0= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 h1:7HwYt8rDz1ehTcB28oNipdTZUtV17F2sfkLTLtMJC4c= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049/go.mod h1:2MggrMtbhqr0u4U2pcYa21lvAtvaeSawjxdIy1ytHWE= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd h1:CQ2Go+jr6EIPsHKiTWWJb9b7Atr5rlDxYYNebD0rDC8= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd/go.mod h1:mL2A8XfX+KipiqgBarPaBxULqVLSJRZ6HYObxFncMEM= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c h1:1jrQDhZ5NJ6MtXUB1mngguhNTx897p2+WMV5c358GCE= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c/go.mod h1:8QsSYkL3nf3CnRbfpcXPGkxDRc8FuiWo1GiEEZR8b2A= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca h1:F7u+fZEPLN6onVa3qTkHn96Qd9mC2R2JTmdwBYxzNs8= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca/go.mod h1:45uPLLRG/RZlZT0U5ikI3LJORNeu+kfZSlw5M2PLId0= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 h1:8u9xUrC+yHrTDexOKDd+jrA6LCzFFHeX1G82oj2fsSI= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135/go.mod h1:NkvE4iQgiT7dMCP6U3xPELHhWhN5Xr6rHC0axRebyMU= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa h1:WJNO3646oVvLQtPf+8YUoAOjBWg6XbGUctnOPLp4ZTE= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa/go.mod h1:apM9rdhKDAFRiwQl94sGaQbXT/q1+Ji8Pt9BrLE6WHQ= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 h1:CK4v+IXsvYfzwHbZakJt/RpiWNkkiVIJ6ynGGOo7buc= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657/go.mod h1:7SIisRODXILBOqkUYvdfosemV6ttDTR+AjGHPws7DoA= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa h1:NNFspORov2OGt7ex+mYFm+7nTUvjrUWBbCQBYvVXKK4= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa/go.mod h1:jo+cUqNcHwN8IF7SInQNXDZ8qzBsyMpnLdYbDswviFc= github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa h1:6hXK26pDSnZ4/hK6t/CnL50OEE3GF78r9inuGKn2+p4= diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index 389fc9d5ad6..1b82a7dd13c 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -25,10 +25,10 @@ require ( github.com/pkg/errors v0.9.1 github.com/rs/zerolog v1.33.0 github.com/shopspring/decimal v1.4.0 - github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 + github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd - github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c + github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca github.com/smartcontractkit/chainlink-protos/job-distributor v0.9.0 github.com/smartcontractkit/chainlink-testing-framework/framework v0.7.5 github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.7 @@ -432,7 +432,7 @@ require ( github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 // indirect github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 // indirect - github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa // indirect + github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 // indirect github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa // indirect github.com/smartcontractkit/chainlink-protos/billing/go v0.0.0-20250501150903-3e93089d9ad5 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index 0dabf0bd218..9764c329c80 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -1430,20 +1430,20 @@ github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6 h1 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250506195202-6a3f20db41c6/go.mod h1:Jb05WL6lj5H89XGcaaOinxTf4Gdj+vXO4TcUhqTgqIM= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990 h1:jswzyxv1bIt9gjmEaMPyTRDVMnOjH+AZEFJfHP94sdY= github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250508225633-13a092427990/go.mod h1:k3/Z6AvwurPUlfuDFEonRbkkiTSgNSrtVNhJEWNlUZA= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649 h1:VomBm6IeVmLjp2IDXnd8/mKdpYzocDJdvi+lu3ad6Sk= -github.com/smartcontractkit/chainlink-common v0.7.1-0.20250507190601-db395570d649/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351 h1:luR7oS01qzkw8anxnSYaXurzKzMdgl5ROKFm1/I6llY= +github.com/smartcontractkit/chainlink-common v0.7.1-0.20250509155341-2b5a5170a351/go.mod h1:uNF6+noody47ZdmRwymDZAnQ7eKTXLzMKvl41LA63lo= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7 h1:9wh1G+WbXwPVqf0cfSRSgwIcaXTQgvYezylEAfwmrbw= github.com/smartcontractkit/chainlink-common/pkg/monitoring v0.0.0-20250415235644-8703639403c7/go.mod h1:yaDOAZF6MNB+NGYpxGCUc+owIdKrjvFW0JODdTcQ3V0= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049 h1:7HwYt8rDz1ehTcB28oNipdTZUtV17F2sfkLTLtMJC4c= github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20250417193446-eeb0a7d1e049/go.mod h1:2MggrMtbhqr0u4U2pcYa21lvAtvaeSawjxdIy1ytHWE= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd h1:CQ2Go+jr6EIPsHKiTWWJb9b7Atr5rlDxYYNebD0rDC8= github.com/smartcontractkit/chainlink-deployments-framework v0.0.15-0.20250508081139-ee24199564bd/go.mod h1:mL2A8XfX+KipiqgBarPaBxULqVLSJRZ6HYObxFncMEM= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c h1:1jrQDhZ5NJ6MtXUB1mngguhNTx897p2+WMV5c358GCE= -github.com/smartcontractkit/chainlink-evm v0.0.0-20250506144221-ee990aefea6c/go.mod h1:8QsSYkL3nf3CnRbfpcXPGkxDRc8FuiWo1GiEEZR8b2A= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca h1:F7u+fZEPLN6onVa3qTkHn96Qd9mC2R2JTmdwBYxzNs8= +github.com/smartcontractkit/chainlink-evm v0.0.0-20250509162544-26e3267013ca/go.mod h1:45uPLLRG/RZlZT0U5ikI3LJORNeu+kfZSlw5M2PLId0= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 h1:8u9xUrC+yHrTDexOKDd+jrA6LCzFFHeX1G82oj2fsSI= github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135/go.mod h1:NkvE4iQgiT7dMCP6U3xPELHhWhN5Xr6rHC0axRebyMU= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa h1:WJNO3646oVvLQtPf+8YUoAOjBWg6XbGUctnOPLp4ZTE= -github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250502210357-2df484128afa/go.mod h1:apM9rdhKDAFRiwQl94sGaQbXT/q1+Ji8Pt9BrLE6WHQ= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657 h1:CK4v+IXsvYfzwHbZakJt/RpiWNkkiVIJ6ynGGOo7buc= +github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20250509160340-4f4a9265e657/go.mod h1:7SIisRODXILBOqkUYvdfosemV6ttDTR+AjGHPws7DoA= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa h1:NNFspORov2OGt7ex+mYFm+7nTUvjrUWBbCQBYvVXKK4= github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20250502210357-2df484128afa/go.mod h1:jo+cUqNcHwN8IF7SInQNXDZ8qzBsyMpnLdYbDswviFc= github.com/smartcontractkit/chainlink-framework/multinode v0.0.0-20250502210357-2df484128afa h1:6hXK26pDSnZ4/hK6t/CnL50OEE3GF78r9inuGKn2+p4=