From 83bba6b376d8e5d215ecf926b4b4514d5c10f79f Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Mon, 13 Jul 2026 18:32:24 +0200 Subject: [PATCH 1/6] EVM LP CLI to skip block --- core/cmd/blocks_commands.go | 66 +++++++++++++ core/cmd/blocks_commands_test.go | 39 ++++++++ core/internal/mocks/application.go | 49 +++++++++ core/services/chainlink/application.go | 33 +++++++ core/web/lp_skip_controller.go | 91 +++++++++++++++++ core/web/lp_skip_controller_test.go | 131 +++++++++++++++++++++++++ core/web/router.go | 2 + plugins/plugins.public.yaml | 2 +- 8 files changed, 412 insertions(+), 1 deletion(-) create mode 100644 core/web/lp_skip_controller.go create mode 100644 core/web/lp_skip_controller_test.go diff --git a/core/cmd/blocks_commands.go b/core/cmd/blocks_commands.go index 81d70ef499c..fc1536cc9be 100644 --- a/core/cmd/blocks_commands.go +++ b/core/cmd/blocks_commands.go @@ -2,6 +2,7 @@ package cmd import ( "bytes" + "encoding/json" stderrors "errors" "fmt" "net/url" @@ -53,6 +54,28 @@ func initBlocksSubCmds(s *Shell) []cli.Command { }, }, }, + { + Name: "lp-skip-to-block", + Usage: "Reposition LogPoller to start processing from the given finalized block number", + Action: s.LPSkipToBlock, + Flags: []cli.Flag{ + cli.Int64Flag{ + Name: "block-number", + Usage: "Block number to skip to", + Required: true, + }, + cli.StringFlag{ + Name: "family", + Usage: "Chain family for specified chain-id (currently only evm is supported)", + Required: true, + }, + cli.StringFlag{ + Name: "chain-id", + Usage: "Chain ID of the blockchain", + Required: true, + }, + }, + }, } } @@ -140,3 +163,46 @@ func (s *Shell) FindLCA(c *cli.Context) (err error) { return s.renderAPIResponse(resp, &LCAPresenter{}, "Last Common Ancestor") } + +// LPSkipToBlock repositions LogPoller to start processing from the given block number. +func (s *Shell) LPSkipToBlock(c *cli.Context) (err error) { + blockNumber := c.Int64("block-number") + if blockNumber < 2 { + return s.errorOut(errors.New("Must pass a value >= 2 in '--block-number' parameter")) + } + + if !c.IsSet("family") { + return s.errorOut(errors.New("Must set '--family' parameter to specify chain family type")) + } + + if !c.IsSet("chain-id") { + return s.errorOut(errors.New("Must set '--chain-id' parameter")) + } + + request, err := json.Marshal(web.LPSkipToBlockRequest{ + BlockNumber: blockNumber, + Family: c.String("family"), + ChainID: c.String("chain-id"), + }) + if err != nil { + return s.errorOut(err) + } + + resp, err := s.HTTP.Post(s.ctx(), "/v2/lp_skip_to_block", bytes.NewReader(request)) + if err != nil { + return s.errorOut(err) + } + + defer func() { + if cerr := resp.Body.Close(); cerr != nil { + err = stderrors.Join(err, cerr) + } + }() + + _, err = s.parseResponse(resp) + if err != nil { + return s.errorOut(err) + } + fmt.Println("Log poller will start processing from the new block on next tick") + return nil +} diff --git a/core/cmd/blocks_commands_test.go b/core/cmd/blocks_commands_test.go index da50bc03060..803006780d1 100644 --- a/core/cmd/blocks_commands_test.go +++ b/core/cmd/blocks_commands_test.go @@ -77,3 +77,42 @@ func Test_FindLCA(t *testing.T) { c = cli.NewContext(nil, set, nil) require.ErrorContains(t, client.FindLCA(c), "FindLCA is only available if LogPoller is enabled") } + +func Test_LPSkipToBlock(t *testing.T) { + t.Parallel() + + app := startNewApplicationV2(t, func(c *chainlink.Config, s *chainlink.Secrets) { + c.EVM[0].ChainID = (*sqlutil.Big)(big.NewInt(5)) + c.EVM[0].Enabled = ptr(true) + }) + + client, _ := app.NewShellAndRenderer() + + set := flag.NewFlagSet("test", 0) + flagSetApplyFromAction(client.LPSkipToBlock, set, "") + + t.Run("invalid args", func(t *testing.T) { + require.NoError(t, set.Set("block-number", "1")) + c := cli.NewContext(nil, set, nil) + require.ErrorContains(t, client.LPSkipToBlock(c), "Must pass a value >= 2") + + require.NoError(t, set.Set("block-number", "100")) + require.NoError(t, set.Set("chain-id", "1")) + require.NoError(t, set.Set("family", "evm")) + c = cli.NewContext(nil, set, nil) + require.ErrorContains(t, client.LPSkipToBlock(c), "relayer does not exist") + + require.NoError(t, set.Set("chain-id", "5")) + require.NoError(t, set.Set("family", "solana")) + c = cli.NewContext(nil, set, nil) + require.ErrorContains(t, client.LPSkipToBlock(c), "only evm is supported") + }) + + t.Run("evm skip", func(t *testing.T) { + require.NoError(t, set.Set("block-number", "100")) + require.NoError(t, set.Set("chain-id", "5")) + require.NoError(t, set.Set("family", "evm")) + c := cli.NewContext(nil, set, nil) + require.ErrorContains(t, client.LPSkipToBlock(c), "LPSkipToBlock is only available if LogPoller is enabled") + }) +} diff --git a/core/internal/mocks/application.go b/core/internal/mocks/application.go index 34f2bcccf92..804ccacdc12 100644 --- a/core/internal/mocks/application.go +++ b/core/internal/mocks/application.go @@ -322,6 +322,55 @@ func (_c *Application_DeleteLogPollerDataAfter_Call) RunAndReturn(run func(conte return _c } +// LPSkipToBlock provides a mock function with given fields: ctx, chainFamily, chainID, blockNumber +func (_m *Application) LPSkipToBlock(ctx context.Context, chainFamily string, chainID string, blockNumber int64) error { + ret := _m.Called(ctx, chainFamily, chainID, blockNumber) + + if len(ret) == 0 { + panic("no return value specified for LPSkipToBlock") + } + + var r0 error + if rf, ok := ret.Get(0).(func(context.Context, string, string, int64) error); ok { + r0 = rf(ctx, chainFamily, chainID, blockNumber) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// Application_LPSkipToBlock_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'LPSkipToBlock' +type Application_LPSkipToBlock_Call struct { + *mock.Call +} + +// LPSkipToBlock is a helper method to define mock.On call +// - ctx context.Context +// - chainFamily string +// - chainID string +// - blockNumber int64 +func (_e *Application_Expecter) LPSkipToBlock(ctx interface{}, chainFamily interface{}, chainID interface{}, blockNumber interface{}) *Application_LPSkipToBlock_Call { + return &Application_LPSkipToBlock_Call{Call: _e.mock.On("LPSkipToBlock", ctx, chainFamily, chainID, blockNumber)} +} + +func (_c *Application_LPSkipToBlock_Call) Run(run func(ctx context.Context, chainFamily string, chainID string, blockNumber int64)) *Application_LPSkipToBlock_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(string), args[2].(string), args[3].(int64)) + }) + return _c +} + +func (_c *Application_LPSkipToBlock_Call) Return(_a0 error) *Application_LPSkipToBlock_Call { + _c.Call.Return(_a0) + return _c +} + +func (_c *Application_LPSkipToBlock_Call) RunAndReturn(run func(context.Context, string, string, int64) error) *Application_LPSkipToBlock_Call { + _c.Call.Return(run) + return _c +} + // FindLCA provides a mock function with given fields: ctx, chainID func (_m *Application) FindLCA(ctx context.Context, chainID *big.Int) (*logpoller.Block, error) { ret := _m.Called(ctx, chainID) diff --git a/core/services/chainlink/application.go b/core/services/chainlink/application.go index 2d11f857528..aadc1aae3df 100644 --- a/core/services/chainlink/application.go +++ b/core/services/chainlink/application.go @@ -146,6 +146,8 @@ type Application interface { FindLCA(ctx context.Context, chainID *big.Int) (*logpoller.Block, error) // DeleteLogPollerDataAfter - delete LogPoller state starting from the specified block DeleteLogPollerDataAfter(ctx context.Context, chainID *big.Int, start int64) error + // LPSkipToBlock repositions the LogPoller to start processing from the given block number. + LPSkipToBlock(ctx context.Context, chainFamily string, chainID string, blockNumber int64) error } // ChainlinkApplication contains fields for the JobSubscriber, Scheduler, @@ -1265,6 +1267,7 @@ func (app *ChainlinkApplication) FindLCA(ctx context.Context, chainID *big.Int) if err != nil { return nil, err } + if !app.Config.Feature().LogPoller() { return nil, errors.New("FindLCA is only available if LogPoller is enabled") } @@ -1281,6 +1284,36 @@ func (app *ChainlinkApplication) FindLCA(ctx context.Context, chainID *big.Int) return lca, nil } +// LPSkipToBlock repositions the LogPoller to start processing from the given block number. +func (app *ChainlinkApplication) LPSkipToBlock(ctx context.Context, chainFamily string, chainID string, blockNumber int64) error { + if chainFamily != relay.NetworkEVM { + return fmt.Errorf("LPSkipToBlock is only supported for %s chain family", relay.NetworkEVM) + } + if !app.Config.Feature().LogPoller() { + return errors.New("LPSkipToBlock is only available if LogPoller is enabled") + } + if blockNumber < 2 { + return fmt.Errorf("invalid skip block number %d, must be >= 2", blockNumber) + } + + relayer, err := app.GetRelayers().Get(commontypes.RelayID{ + Network: chainFamily, + ChainID: chainID, + }) + if err != nil { + return err + } + evmService, err := relayer.EVM() + if err != nil { + return err + } + + if err = evmService.LPSkipToBlock(ctx, blockNumber); err != nil { + return fmt.Errorf("failed to skip log poller to block %d: %w", blockNumber, err) + } + return nil +} + // DeleteLogPollerDataAfter - delete LogPoller state starting from the specified block func (app *ChainlinkApplication) DeleteLogPollerDataAfter(ctx context.Context, chainID *big.Int, start int64) error { chain, err := app.GetRelayers().LegacyEVMChains().Get(chainID.String()) diff --git a/core/web/lp_skip_controller.go b/core/web/lp_skip_controller.go new file mode 100644 index 00000000000..636ac61d08b --- /dev/null +++ b/core/web/lp_skip_controller.go @@ -0,0 +1,91 @@ +package web + +import ( + "net/http" + "strings" + + "github.com/gin-gonic/gin" + "github.com/pkg/errors" + + "github.com/smartcontractkit/chainlink/v2/core/services/chainlink" + "github.com/smartcontractkit/chainlink/v2/core/services/relay" +) + +type LPSkipController struct { + App chainlink.Application +} + +type LPSkipToBlockRequest struct { + BlockNumber int64 `json:"blockNumber"` + Family string `json:"family"` + ChainID string `json:"chain-id"` +} + +// LPSkipToBlock repositions the LogPoller to start processing from the given block number. +// Example: +// +// "/v2/lp_skip_to_block" +func (c *LPSkipController) LPSkipToBlock(gctx *gin.Context) { + var request LPSkipToBlockRequest + if err := gctx.ShouldBindJSON(&request); err != nil { + jsonAPIError(gctx, http.StatusUnprocessableEntity, err) + return + } + if request.BlockNumber < 2 { + jsonAPIError(gctx, http.StatusUnprocessableEntity, errors.Errorf("block number must be >= 2: %v", request.BlockNumber)) + return + } + + if request.Family == "" { + jsonAPIError(gctx, http.StatusUnprocessableEntity, errors.New("chain family was not provided")) + return + } + if request.Family != relay.NetworkEVM { + jsonAPIError(gctx, http.StatusUnprocessableEntity, errors.Errorf("unsupported chain family %q, only %s is supported", request.Family, relay.NetworkEVM)) + return + } + + if strings.TrimSpace(request.ChainID) == "" { + jsonAPIError(gctx, http.StatusUnprocessableEntity, errors.New("chain-id was not provided")) + return + } + + ctx := gctx.Request.Context() + if err := c.App.LPSkipToBlock(ctx, request.Family, request.ChainID, request.BlockNumber); err != nil { + if errors.Is(err, chainlink.ErrNoSuchRelayer) { + jsonAPIError(gctx, http.StatusBadRequest, err) + return + } + jsonAPIError(gctx, http.StatusInternalServerError, err) + return + } + + response := LPSkipToBlockResponse{ + Message: "Log poller will start processing from the new block on next tick", + ChainID: request.ChainID, + BlockNumber: request.BlockNumber, + } + jsonAPIResponse(gctx, &response, "response") +} + +type LPSkipToBlockResponse struct { + Message string `json:"message"` + ChainID string `json:"chain-id"` + BlockNumber int64 `json:"blockNumber"` +} + +// GetID returns the jsonapi ID. +func (s LPSkipToBlockResponse) GetID() string { + return "lpSkipToBlockID" +} + +// GetName returns the collection name for jsonapi. +func (LPSkipToBlockResponse) GetName() string { + return "lp_skip_to_block" +} + +// SetID is used to conform to the UnmarshallIdentifier interface for +// deserializing from jsonapi documents. +func (*LPSkipToBlockResponse) SetID(string) error { + return nil +} diff --git a/core/web/lp_skip_controller_test.go b/core/web/lp_skip_controller_test.go new file mode 100644 index 00000000000..d99bb53b549 --- /dev/null +++ b/core/web/lp_skip_controller_test.go @@ -0,0 +1,131 @@ +package web_test + +import ( + "bytes" + _ "embed" + "encoding/json" + "io" + "net/http" + "net/http/httptest" + "testing" + + "github.com/gin-gonic/gin" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/mock" + "github.com/stretchr/testify/require" + + "github.com/smartcontractkit/chainlink/v2/core/internal/cltest" + appmocks "github.com/smartcontractkit/chainlink/v2/core/internal/mocks" + "github.com/smartcontractkit/chainlink/v2/core/internal/testutils" + "github.com/smartcontractkit/chainlink/v2/core/internal/testutils/configtest" + "github.com/smartcontractkit/chainlink/v2/core/web" +) + +func TestLPSkipController_LPSkipToBlock(t *testing.T) { + cfg := configtest.NewTestGeneralConfig(t) + ec := setupEthClientForControllerTests(t) + app := cltest.NewApplicationWithConfigAndKey(t, cfg, cltest.DefaultP2PKey, ec) + require.NoError(t, app.Start(testutils.Context(t))) + client := app.NewHTTPClient(nil) + + postSkip := func(t *testing.T, request web.LPSkipToBlockRequest) *http.Response { + t.Helper() + body, err := json.Marshal(request) + require.NoError(t, err) + resp, cleanup := client.Post("/v2/lp_skip_to_block", bytes.NewReader(body)) + t.Cleanup(cleanup) + return resp + } + + t.Run("missing chain family", func(t *testing.T) { + resp := postSkip(t, web.LPSkipToBlockRequest{ + BlockNumber: 100, + ChainID: "1", + }) + assert.Equal(t, http.StatusUnprocessableEntity, resp.StatusCode) + b, err := io.ReadAll(resp.Body) + require.NoError(t, err) + assert.Contains(t, string(b), "chain family was not provided") + }) + + t.Run("unsupported chain family", func(t *testing.T) { + resp := postSkip(t, web.LPSkipToBlockRequest{ + BlockNumber: 100, + Family: "solana", + ChainID: "1", + }) + assert.Equal(t, http.StatusUnprocessableEntity, resp.StatusCode) + b, err := io.ReadAll(resp.Body) + require.NoError(t, err) + assert.Contains(t, string(b), "only evm is supported") + }) + + t.Run("missing chain id", func(t *testing.T) { + resp := postSkip(t, web.LPSkipToBlockRequest{ + BlockNumber: 100, + Family: "evm", + }) + assert.Equal(t, http.StatusUnprocessableEntity, resp.StatusCode) + b, err := io.ReadAll(resp.Body) + require.NoError(t, err) + assert.Contains(t, string(b), "chain-id was not provided") + }) + + t.Run("invalid block number", func(t *testing.T) { + resp := postSkip(t, web.LPSkipToBlockRequest{ + BlockNumber: 1, + Family: "evm", + ChainID: "1", + }) + assert.Equal(t, http.StatusUnprocessableEntity, resp.StatusCode) + b, err := io.ReadAll(resp.Body) + require.NoError(t, err) + assert.Contains(t, string(b), "block number must be >= 2") + }) + + t.Run("unknown relayer", func(t *testing.T) { + resp := postSkip(t, web.LPSkipToBlockRequest{ + BlockNumber: 100, + Family: "evm", + ChainID: "99999", + }) + assert.Equal(t, http.StatusBadRequest, resp.StatusCode) + b, err := io.ReadAll(resp.Body) + require.NoError(t, err) + assert.Contains(t, string(b), "relayer does not exist") + }) +} + +func TestLPSkipController_LPSkipToBlock_HappyPath(t *testing.T) { + t.Parallel() + + mockApp := appmocks.NewApplication(t) + mockApp.EXPECT().LPSkipToBlock(mock.Anything, "evm", "1", int64(100)).Return(nil) + + controller := web.LPSkipController{App: mockApp} + + gin.SetMode(gin.TestMode) + w := httptest.NewRecorder() + c, _ := gin.CreateTestContext(w) + + body, err := json.Marshal(web.LPSkipToBlockRequest{ + BlockNumber: 100, + Family: "evm", + ChainID: "1", + }) + require.NoError(t, err) + + c.Request, err = http.NewRequestWithContext(t.Context(), "POST", "/v2/lp_skip_to_block", bytes.NewReader(body)) + require.NoError(t, err) + c.Request.Header.Set("Content-Type", "application/json") + + controller.LPSkipToBlock(c) + require.Equal(t, http.StatusOK, w.Code) + + var response web.LPSkipToBlockResponse + err = web.ParseJSONAPIResponse(w.Body.Bytes(), &response) + require.NoError(t, err) + assert.Equal(t, "Log poller will start processing from the new block on next tick", response.Message) + assert.Equal(t, "1", response.ChainID) + assert.Equal(t, int64(100), response.BlockNumber) +} diff --git a/core/web/router.go b/core/web/router.go index 3a93812f40c..3cff38ebe34 100644 --- a/core/web/router.go +++ b/core/web/router.go @@ -297,6 +297,8 @@ func v2Routes(app chainlink.Application, r *gin.RouterGroup) { authv2.POST("/replay_from_block/:number", auth.RequiresRunRole(rc.ReplayFromBlock)) lcaC := LCAController{app} authv2.GET("/find_lca", auth.RequiresRunRole(lcaC.FindLCA)) + lpSkipC := LPSkipController{app} + authv2.POST("/lp_skip_to_block", auth.RequiresRunRole(lpSkipC.LPSkipToBlock)) if build.IsDev() { capContr := CapabilityController{app} diff --git a/plugins/plugins.public.yaml b/plugins/plugins.public.yaml index b8ebc436d51..7350b387a4d 100644 --- a/plugins/plugins.public.yaml +++ b/plugins/plugins.public.yaml @@ -66,7 +66,7 @@ plugins: evm: - moduleURI: "github.com/smartcontractkit/chainlink-evm" - gitRef: "v0.3.4-0.20260623170329-4577ef4ba0ae" + gitRef: "v0.3.4-0.20260713161947-559439dd0d3f" installPath: "./pkg/cmd/chainlink-evm" capability-cron: From eaf7fc35ca70877b0476922d7a2ff4eeb820ee7e Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Mon, 13 Jul 2026 19:29:46 +0200 Subject: [PATCH 2/6] expand on help --- core/cmd/blocks_commands.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/cmd/blocks_commands.go b/core/cmd/blocks_commands.go index fc1536cc9be..9facf27975e 100644 --- a/core/cmd/blocks_commands.go +++ b/core/cmd/blocks_commands.go @@ -56,7 +56,7 @@ func initBlocksSubCmds(s *Shell) []cli.Command { }, { Name: "lp-skip-to-block", - Usage: "Reposition LogPoller to start processing from the given finalized block number", + Usage: `Reposition LogPoller to start processing from the given finalized block number. Note: LogPoller does not guarantee that finalized blocks in the DB and specified block belong to the same chain. LogPoller will remove all unfinalized logs before saving new checkpoint.`, Action: s.LPSkipToBlock, Flags: []cli.Flag{ cli.Int64Flag{ @@ -190,7 +190,7 @@ func (s *Shell) LPSkipToBlock(c *cli.Context) (err error) { resp, err := s.HTTP.Post(s.ctx(), "/v2/lp_skip_to_block", bytes.NewReader(request)) if err != nil { - return s.errorOut(err) + return s.errorOut(errors.Wrap(err, "failed to send request to reposition LogPoller")) } defer func() { From fb5c1e794a89e3fb4ecf4d29c86e052e2b6384be Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Mon, 13 Jul 2026 20:16:08 +0200 Subject: [PATCH 3/6] tidy & generate --- common/logpoller/mocks/log_poller.go | 47 +++++++++++++ core/internal/mocks/application.go | 98 ++++++++++++++-------------- core/scripts/go.mod | 6 +- core/scripts/go.sum | 12 ++-- deployment/go.mod | 6 +- deployment/go.sum | 12 ++-- go.mod | 6 +- go.sum | 12 ++-- integration-tests/go.mod | 6 +- integration-tests/go.sum | 12 ++-- integration-tests/load/go.mod | 4 +- integration-tests/load/go.sum | 8 +-- system-tests/lib/go.mod | 6 +- system-tests/lib/go.sum | 12 ++-- system-tests/tests/go.mod | 6 +- system-tests/tests/go.sum | 12 ++-- 16 files changed, 156 insertions(+), 109 deletions(-) diff --git a/common/logpoller/mocks/log_poller.go b/common/logpoller/mocks/log_poller.go index 34be649211b..5fd62d68786 100644 --- a/common/logpoller/mocks/log_poller.go +++ b/common/logpoller/mocks/log_poller.go @@ -1758,6 +1758,53 @@ func (_c *LogPoller_ReplayAsync_Call) RunAndReturn(run func(int64)) *LogPoller_R return _c } +// SkipToBlock provides a mock function with given fields: ctx, blockNumber +func (_m *LogPoller) SkipToBlock(ctx context.Context, blockNumber int64) error { + ret := _m.Called(ctx, blockNumber) + + if len(ret) == 0 { + panic("no return value specified for SkipToBlock") + } + + var r0 error + if rf, ok := ret.Get(0).(func(context.Context, int64) error); ok { + r0 = rf(ctx, blockNumber) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// LogPoller_SkipToBlock_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'SkipToBlock' +type LogPoller_SkipToBlock_Call struct { + *mock.Call +} + +// SkipToBlock is a helper method to define mock.On call +// - ctx context.Context +// - blockNumber int64 +func (_e *LogPoller_Expecter) SkipToBlock(ctx interface{}, blockNumber interface{}) *LogPoller_SkipToBlock_Call { + return &LogPoller_SkipToBlock_Call{Call: _e.mock.On("SkipToBlock", ctx, blockNumber)} +} + +func (_c *LogPoller_SkipToBlock_Call) Run(run func(ctx context.Context, blockNumber int64)) *LogPoller_SkipToBlock_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(int64)) + }) + return _c +} + +func (_c *LogPoller_SkipToBlock_Call) Return(_a0 error) *LogPoller_SkipToBlock_Call { + _c.Call.Return(_a0) + return _c +} + +func (_c *LogPoller_SkipToBlock_Call) RunAndReturn(run func(context.Context, int64) error) *LogPoller_SkipToBlock_Call { + _c.Call.Return(run) + return _c +} + // Start provides a mock function with given fields: _a0 func (_m *LogPoller) Start(_a0 context.Context) error { ret := _m.Called(_a0) diff --git a/core/internal/mocks/application.go b/core/internal/mocks/application.go index 804ccacdc12..e1789b08831 100644 --- a/core/internal/mocks/application.go +++ b/core/internal/mocks/application.go @@ -322,55 +322,6 @@ func (_c *Application_DeleteLogPollerDataAfter_Call) RunAndReturn(run func(conte return _c } -// LPSkipToBlock provides a mock function with given fields: ctx, chainFamily, chainID, blockNumber -func (_m *Application) LPSkipToBlock(ctx context.Context, chainFamily string, chainID string, blockNumber int64) error { - ret := _m.Called(ctx, chainFamily, chainID, blockNumber) - - if len(ret) == 0 { - panic("no return value specified for LPSkipToBlock") - } - - var r0 error - if rf, ok := ret.Get(0).(func(context.Context, string, string, int64) error); ok { - r0 = rf(ctx, chainFamily, chainID, blockNumber) - } else { - r0 = ret.Error(0) - } - - return r0 -} - -// Application_LPSkipToBlock_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'LPSkipToBlock' -type Application_LPSkipToBlock_Call struct { - *mock.Call -} - -// LPSkipToBlock is a helper method to define mock.On call -// - ctx context.Context -// - chainFamily string -// - chainID string -// - blockNumber int64 -func (_e *Application_Expecter) LPSkipToBlock(ctx interface{}, chainFamily interface{}, chainID interface{}, blockNumber interface{}) *Application_LPSkipToBlock_Call { - return &Application_LPSkipToBlock_Call{Call: _e.mock.On("LPSkipToBlock", ctx, chainFamily, chainID, blockNumber)} -} - -func (_c *Application_LPSkipToBlock_Call) Run(run func(ctx context.Context, chainFamily string, chainID string, blockNumber int64)) *Application_LPSkipToBlock_Call { - _c.Call.Run(func(args mock.Arguments) { - run(args[0].(context.Context), args[1].(string), args[2].(string), args[3].(int64)) - }) - return _c -} - -func (_c *Application_LPSkipToBlock_Call) Return(_a0 error) *Application_LPSkipToBlock_Call { - _c.Call.Return(_a0) - return _c -} - -func (_c *Application_LPSkipToBlock_Call) RunAndReturn(run func(context.Context, string, string, int64) error) *Application_LPSkipToBlock_Call { - _c.Call.Return(run) - return _c -} - // FindLCA provides a mock function with given fields: ctx, chainID func (_m *Application) FindLCA(ctx context.Context, chainID *big.Int) (*logpoller.Block, error) { ret := _m.Called(ctx, chainID) @@ -1133,6 +1084,55 @@ func (_c *Application_JobSpawner_Call) RunAndReturn(run func() job.Spawner) *App return _c } +// LPSkipToBlock provides a mock function with given fields: ctx, chainFamily, chainID, blockNumber +func (_m *Application) LPSkipToBlock(ctx context.Context, chainFamily string, chainID string, blockNumber int64) error { + ret := _m.Called(ctx, chainFamily, chainID, blockNumber) + + if len(ret) == 0 { + panic("no return value specified for LPSkipToBlock") + } + + var r0 error + if rf, ok := ret.Get(0).(func(context.Context, string, string, int64) error); ok { + r0 = rf(ctx, chainFamily, chainID, blockNumber) + } else { + r0 = ret.Error(0) + } + + return r0 +} + +// Application_LPSkipToBlock_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'LPSkipToBlock' +type Application_LPSkipToBlock_Call struct { + *mock.Call +} + +// LPSkipToBlock is a helper method to define mock.On call +// - ctx context.Context +// - chainFamily string +// - chainID string +// - blockNumber int64 +func (_e *Application_Expecter) LPSkipToBlock(ctx interface{}, chainFamily interface{}, chainID interface{}, blockNumber interface{}) *Application_LPSkipToBlock_Call { + return &Application_LPSkipToBlock_Call{Call: _e.mock.On("LPSkipToBlock", ctx, chainFamily, chainID, blockNumber)} +} + +func (_c *Application_LPSkipToBlock_Call) Run(run func(ctx context.Context, chainFamily string, chainID string, blockNumber int64)) *Application_LPSkipToBlock_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(string), args[2].(string), args[3].(int64)) + }) + return _c +} + +func (_c *Application_LPSkipToBlock_Call) Return(_a0 error) *Application_LPSkipToBlock_Call { + _c.Call.Return(_a0) + return _c +} + +func (_c *Application_LPSkipToBlock_Call) RunAndReturn(run func(context.Context, string, string, int64) error) *Application_LPSkipToBlock_Call { + _c.Call.Return(run) + return _c +} + // PipelineORM provides a mock function with no fields func (_m *Application) PipelineORM() pipeline.ORM { ret := _m.Called() diff --git a/core/scripts/go.mod b/core/scripts/go.mod index 05af21782d3..ca12508b554 100644 --- a/core/scripts/go.mod +++ b/core/scripts/go.mod @@ -47,11 +47,11 @@ require ( github.com/smartcontractkit/chain-selectors v1.0.104 github.com/smartcontractkit/chainlink-automation v0.8.1 github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 github.com/smartcontractkit/chainlink-common/keystore v1.2.0 github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 - github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae + github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260623200841-e0322b819f62 github.com/smartcontractkit/chainlink-protos/job-distributor v0.20.1-0.20260701185448-696c075849ea @@ -517,7 +517,7 @@ require ( github.com/smartcontractkit/chainlink-protos/workflows/go v0.0.0-20260630073003-fb8da7229930 // indirect github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d347eaf314e1 // indirect github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae // indirect - github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 // indirect + github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae // indirect github.com/smartcontractkit/chainlink-testing-framework/framework/components/chiprouter v1.0.4 // indirect github.com/smartcontractkit/chainlink-testing-framework/framework/components/fake v0.15.0 // indirect github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.9 // indirect diff --git a/core/scripts/go.sum b/core/scripts/go.sum index 117286bd3eb..80ebc93a59f 100644 --- a/core/scripts/go.sum +++ b/core/scripts/go.sum @@ -1581,8 +1581,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094 h1:uMn1w/n95p+pSxK6hYNqji/sDaab8D0Cxuph9qUkM2g= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094/go.mod h1:3XQmy2zQHrmufebP7dM+x595+gghxzyIKxK9wv91Rh8= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b h1:tQz44wP1HL/Y+9iX+gEmuDeoBEftV0yDvhgfuiG1Xv0= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 h1:rFjir/QzKrffvy37Ccu3J0URdEfFv6PyBxtcBsvDsSk= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= github.com/smartcontractkit/chainlink-common/keystore v1.2.0 h1:1BH/b14CkGjArfzznlioQpIJiynECWVT48JUP9E277U= github.com/smartcontractkit/chainlink-common/keystore v1.2.0/go.mod h1:9R/74vN+bJ5PbkOyM/pUy/AeAZaRwYb/k4XPeXcbDio= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62 h1:o7vfwNQjQbMKQ9YsZFQOxvU7RMXD/wKnZsX5N9sDS3w= @@ -1591,8 +1591,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5 github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc/go.mod h1:dF5JiHWueHjYguUUUrFeb03MkcDqha/tssEkqTkgzp4= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 h1:mzbvXxdbE/96Pdj1zyPKzf25ZlDR48+iTTDTbaITvmk= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54/go.mod h1:sz/YCiLs8i/V57WISALB7ywNjxW24sj0hi+DE4kzv6A= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae h1:VrOaSNVhElURmca9ZVVyKlSiOg9Hz372+oFJD38fYRo= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f h1:Ov0FMsfXuuRfEzDZLQbfy/g/D/8Gl4louLRrvUNe3RI= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501/go.mod h1:4cT1BeNF8DAn6In9zr3LayVCv1KzFeuxT7zcuNkfIb0= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b h1:UdsGoTutNrzqQ23xA49U19lucVR98agzXRVPUPUf7eU= @@ -1649,8 +1649,8 @@ github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d34 github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d347eaf314e1/go.mod h1:lQK+YvR9Ox0ft72k0se7DlA+kujVWyjFQXG3DLbEZ/4= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae h1:0vPX7KjVbdMLImLfeKXNDir0qswAwwQOMDAB/ciVPq8= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae/go.mod h1:6FWUSAXA58d0c9AyOi/1zymX40/67czcDR1SGZt/BKg= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 h1:uu9Q34CyiZ1t841WvuA5V4/wTg0S3EA5YYoqFjla8Xk= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae h1:q9tTW+OWjLjAX8FfCm0zh5akTIcfaJop4+J0HLC8nwc= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df h1:a5PvGrH0Wgk5GtXWSXxlBfNPlyZ8x6FKDQ4UbNa6/Qk= github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df/go.mod h1:nyOjn4ADJGqRMe3+4ZXSV+J/7nWb1H2Vx8Qk57eLRYA= github.com/smartcontractkit/chainlink-testing-framework/framework/components/chiprouter v1.0.4 h1:bGicxBPndwy9NeB79n+CgyNxA8aeWoMudC84krz6QGM= diff --git a/deployment/go.mod b/deployment/go.mod index efc106af608..73a07f08122 100644 --- a/deployment/go.mod +++ b/deployment/go.mod @@ -47,11 +47,11 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/deployment v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 github.com/smartcontractkit/chainlink-common/keystore v1.2.0 github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 - github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae + github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260623200841-e0322b819f62 @@ -448,7 +448,7 @@ require ( github.com/smartcontractkit/chainlink-protos/storage-service v0.3.0 // indirect github.com/smartcontractkit/chainlink-protos/svr v1.2.0 // indirect github.com/smartcontractkit/chainlink-protos/workflows/go v0.0.0-20260630073003-fb8da7229930 // indirect - github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 // indirect + github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5 // indirect github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a // indirect diff --git a/deployment/go.sum b/deployment/go.sum index 0dab456709b..f83726f4952 100644 --- a/deployment/go.sum +++ b/deployment/go.sum @@ -1384,8 +1384,8 @@ github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094 h github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094/go.mod h1:3XQmy2zQHrmufebP7dM+x595+gghxzyIKxK9wv91Rh8= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194 h1:QxZkbKtQyPtVLYP4eMwc+VbXY7M5ve1deSiLZ2pOA+Y= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194/go.mod h1:bNMFRxwWdgVFdSsFZRmsUUPoBUncU3RM765K99svIKM= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b h1:tQz44wP1HL/Y+9iX+gEmuDeoBEftV0yDvhgfuiG1Xv0= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 h1:rFjir/QzKrffvy37Ccu3J0URdEfFv6PyBxtcBsvDsSk= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= github.com/smartcontractkit/chainlink-common/keystore v1.2.0 h1:1BH/b14CkGjArfzznlioQpIJiynECWVT48JUP9E277U= github.com/smartcontractkit/chainlink-common/keystore v1.2.0/go.mod h1:9R/74vN+bJ5PbkOyM/pUy/AeAZaRwYb/k4XPeXcbDio= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62 h1:o7vfwNQjQbMKQ9YsZFQOxvU7RMXD/wKnZsX5N9sDS3w= @@ -1394,8 +1394,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5 github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc/go.mod h1:dF5JiHWueHjYguUUUrFeb03MkcDqha/tssEkqTkgzp4= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 h1:mzbvXxdbE/96Pdj1zyPKzf25ZlDR48+iTTDTbaITvmk= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54/go.mod h1:sz/YCiLs8i/V57WISALB7ywNjxW24sj0hi+DE4kzv6A= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae h1:VrOaSNVhElURmca9ZVVyKlSiOg9Hz372+oFJD38fYRo= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f h1:Ov0FMsfXuuRfEzDZLQbfy/g/D/8Gl4louLRrvUNe3RI= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501/go.mod h1:4cT1BeNF8DAn6In9zr3LayVCv1KzFeuxT7zcuNkfIb0= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b h1:UdsGoTutNrzqQ23xA49U19lucVR98agzXRVPUPUf7eU= @@ -1452,8 +1452,8 @@ github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d34 github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d347eaf314e1/go.mod h1:lQK+YvR9Ox0ft72k0se7DlA+kujVWyjFQXG3DLbEZ/4= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae h1:0vPX7KjVbdMLImLfeKXNDir0qswAwwQOMDAB/ciVPq8= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae/go.mod h1:6FWUSAXA58d0c9AyOi/1zymX40/67czcDR1SGZt/BKg= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 h1:uu9Q34CyiZ1t841WvuA5V4/wTg0S3EA5YYoqFjla8Xk= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae h1:q9tTW+OWjLjAX8FfCm0zh5akTIcfaJop4+J0HLC8nwc= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260713221039-69796c8a78ae h1:hOQw1vhLo8hFcPQYIcDHWRenqnrf+PJZJwnHDG+PpjA= github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260713221039-69796c8a78ae/go.mod h1:LZT0bSPw7xtKrfGoGqBDoZqiYvnLTfXvXHd4E5Bxs5o= github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df h1:a5PvGrH0Wgk5GtXWSXxlBfNPlyZ8x6FKDQ4UbNa6/Qk= diff --git a/go.mod b/go.mod index b604f152668..db3def22d72 100644 --- a/go.mod +++ b/go.mod @@ -85,11 +85,11 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260415165642-49f23e4d76cc github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094 - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 github.com/smartcontractkit/chainlink-common/keystore v1.2.0 github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62 github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc - github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae + github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260512150409-b4068bf735e6 github.com/smartcontractkit/chainlink-feeds v0.1.2-0.20250227211209-7cd000095135 @@ -105,7 +105,7 @@ require ( github.com/smartcontractkit/chainlink-protos/ring/go v0.0.0-20260331131315-f08a616d8dcd github.com/smartcontractkit/chainlink-protos/storage-service v0.3.0 github.com/smartcontractkit/chainlink-protos/workflows/go v0.0.0-20260630073003-fb8da7229930 - github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 + github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260629213843-c52e07523035 github.com/smartcontractkit/cre-sdk-go v1.9.0-capdev.1.0.20260625132924-dcceeb57cf3c github.com/smartcontractkit/cre-sdk-go/capabilities/networking/http v1.3.0 diff --git a/go.sum b/go.sum index 2bbc82e6ee3..1feb8f71011 100644 --- a/go.sum +++ b/go.sum @@ -1159,16 +1159,16 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260415165642-49f23e4d76cc/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094 h1:uMn1w/n95p+pSxK6hYNqji/sDaab8D0Cxuph9qUkM2g= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094/go.mod h1:3XQmy2zQHrmufebP7dM+x595+gghxzyIKxK9wv91Rh8= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b h1:tQz44wP1HL/Y+9iX+gEmuDeoBEftV0yDvhgfuiG1Xv0= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 h1:rFjir/QzKrffvy37Ccu3J0URdEfFv6PyBxtcBsvDsSk= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= github.com/smartcontractkit/chainlink-common/keystore v1.2.0 h1:1BH/b14CkGjArfzznlioQpIJiynECWVT48JUP9E277U= github.com/smartcontractkit/chainlink-common/keystore v1.2.0/go.mod h1:9R/74vN+bJ5PbkOyM/pUy/AeAZaRwYb/k4XPeXcbDio= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62 h1:o7vfwNQjQbMKQ9YsZFQOxvU7RMXD/wKnZsX5N9sDS3w= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62/go.mod h1:HmUyH2oD9m+GRpKq7q3vuRnm1F2Uczf/Nd1v3ipMSK8= github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc h1:9xj2uDKZ4JSvJOfjT1LwoK1M9Ux+NUEE+FTMl4KqYsE= github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc/go.mod h1:dF5JiHWueHjYguUUUrFeb03MkcDqha/tssEkqTkgzp4= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae h1:VrOaSNVhElURmca9ZVVyKlSiOg9Hz372+oFJD38fYRo= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f h1:Ov0FMsfXuuRfEzDZLQbfy/g/D/8Gl4louLRrvUNe3RI= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501/go.mod h1:4cT1BeNF8DAn6In9zr3LayVCv1KzFeuxT7zcuNkfIb0= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260512150409-b4068bf735e6 h1:JFo7C3FilwhfwGBLAyj2umbL+P4QxGmVi/b8yt9kqvI= @@ -1215,8 +1215,8 @@ github.com/smartcontractkit/chainlink-protos/svr v1.2.0 h1:7jjgqRgORQS/ikL3z0ZgJ github.com/smartcontractkit/chainlink-protos/svr v1.2.0/go.mod h1:TcOliTQU6r59DwG4lo3U+mFM9WWyBHGuFkkxQpvSujo= github.com/smartcontractkit/chainlink-protos/workflows/go v0.0.0-20260630073003-fb8da7229930 h1:x2nm4nDoC//WGQRPrInDmBH2/lTN1qAI/IGDQ3gAi7A= github.com/smartcontractkit/chainlink-protos/workflows/go v0.0.0-20260630073003-fb8da7229930/go.mod h1:GTpDgyK0OObf7jpch6p8N281KxN92wbB8serZhU9yRc= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 h1:uu9Q34CyiZ1t841WvuA5V4/wTg0S3EA5YYoqFjla8Xk= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae h1:q9tTW+OWjLjAX8FfCm0zh5akTIcfaJop4+J0HLC8nwc= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260629213843-c52e07523035 h1:6kOtwaTuvnXatZrcEBpETiRPaSS4nh9mXBPiGPXRi9w= github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260629213843-c52e07523035/go.mod h1:4e/rmLNsaA39KZYQ9BvBbyf2fMsYtf7Da/FX9YEwgtw= github.com/smartcontractkit/chainlink-tron/relayer v0.0.11-0.20260408092456-3c6369888d4a h1:Xu8iBnBQEibWIXTCwKYf8okXjFtzJ0KochjL03h+T40= diff --git a/integration-tests/go.mod b/integration-tests/go.mod index 7c5b0cceedf..b86b79e69f7 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -33,10 +33,10 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 github.com/smartcontractkit/chainlink-common/keystore v1.2.0 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 - github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae + github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b github.com/smartcontractkit/chainlink-protos/job-distributor v0.20.1-0.20260701185448-696c075849ea github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae @@ -430,7 +430,7 @@ require ( github.com/smartcontractkit/chainlink-protos/svr v1.2.0 // indirect github.com/smartcontractkit/chainlink-protos/workflows/go v0.0.0-20260630073003-fb8da7229930 // indirect github.com/smartcontractkit/chainlink-solana v1.3.1-0.20260605202330-b5a89c32fdc1 // indirect - github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 // indirect + github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae // indirect github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df // indirect github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260629213843-c52e07523035 // indirect github.com/smartcontractkit/chainlink-ton/deployment v0.0.0-20260601214705-1ab0adfd785f // indirect diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 45cc51f37c1..1d1ee7dd6f0 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -1371,8 +1371,8 @@ github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094 h github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094/go.mod h1:3XQmy2zQHrmufebP7dM+x595+gghxzyIKxK9wv91Rh8= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194 h1:QxZkbKtQyPtVLYP4eMwc+VbXY7M5ve1deSiLZ2pOA+Y= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194/go.mod h1:bNMFRxwWdgVFdSsFZRmsUUPoBUncU3RM765K99svIKM= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b h1:tQz44wP1HL/Y+9iX+gEmuDeoBEftV0yDvhgfuiG1Xv0= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 h1:rFjir/QzKrffvy37Ccu3J0URdEfFv6PyBxtcBsvDsSk= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= github.com/smartcontractkit/chainlink-common/keystore v1.2.0 h1:1BH/b14CkGjArfzznlioQpIJiynECWVT48JUP9E277U= github.com/smartcontractkit/chainlink-common/keystore v1.2.0/go.mod h1:9R/74vN+bJ5PbkOyM/pUy/AeAZaRwYb/k4XPeXcbDio= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62 h1:o7vfwNQjQbMKQ9YsZFQOxvU7RMXD/wKnZsX5N9sDS3w= @@ -1381,8 +1381,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5 github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc/go.mod h1:dF5JiHWueHjYguUUUrFeb03MkcDqha/tssEkqTkgzp4= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 h1:mzbvXxdbE/96Pdj1zyPKzf25ZlDR48+iTTDTbaITvmk= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54/go.mod h1:sz/YCiLs8i/V57WISALB7ywNjxW24sj0hi+DE4kzv6A= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae h1:VrOaSNVhElURmca9ZVVyKlSiOg9Hz372+oFJD38fYRo= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f h1:Ov0FMsfXuuRfEzDZLQbfy/g/D/8Gl4louLRrvUNe3RI= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501/go.mod h1:4cT1BeNF8DAn6In9zr3LayVCv1KzFeuxT7zcuNkfIb0= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b h1:UdsGoTutNrzqQ23xA49U19lucVR98agzXRVPUPUf7eU= @@ -1437,8 +1437,8 @@ github.com/smartcontractkit/chainlink-solana v1.3.1-0.20260605202330-b5a89c32fdc github.com/smartcontractkit/chainlink-solana v1.3.1-0.20260605202330-b5a89c32fdc1/go.mod h1:wi1QdXqhSJnADt9YRaRtEWomqknLcrdkTS0JotupuOQ= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae h1:0vPX7KjVbdMLImLfeKXNDir0qswAwwQOMDAB/ciVPq8= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae/go.mod h1:6FWUSAXA58d0c9AyOi/1zymX40/67czcDR1SGZt/BKg= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 h1:uu9Q34CyiZ1t841WvuA5V4/wTg0S3EA5YYoqFjla8Xk= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae h1:q9tTW+OWjLjAX8FfCm0zh5akTIcfaJop4+J0HLC8nwc= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260713221039-69796c8a78ae h1:hOQw1vhLo8hFcPQYIcDHWRenqnrf+PJZJwnHDG+PpjA= github.com/smartcontractkit/chainlink-sui/deployment v0.0.0-20260713221039-69796c8a78ae/go.mod h1:LZT0bSPw7xtKrfGoGqBDoZqiYvnLTfXvXHd4E5Bxs5o= github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df h1:a5PvGrH0Wgk5GtXWSXxlBfNPlyZ8x6FKDQ4UbNa6/Qk= diff --git a/integration-tests/load/go.mod b/integration-tests/load/go.mod index 185c371c1e2..bbd52841ba5 100644 --- a/integration-tests/load/go.mod +++ b/integration-tests/load/go.mod @@ -24,9 +24,9 @@ require ( github.com/smartcontractkit/chainlink-ccip/chains/evm v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 - github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae + github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.5 github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.5 diff --git a/integration-tests/load/go.sum b/integration-tests/load/go.sum index ddc489553e6..93bebf037df 100644 --- a/integration-tests/load/go.sum +++ b/integration-tests/load/go.sum @@ -1631,8 +1631,8 @@ github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094 h github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094/go.mod h1:3XQmy2zQHrmufebP7dM+x595+gghxzyIKxK9wv91Rh8= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194 h1:QxZkbKtQyPtVLYP4eMwc+VbXY7M5ve1deSiLZ2pOA+Y= github.com/smartcontractkit/chainlink-ccv/deployment v0.0.2-0.20260616151800-9a3a31c4e194/go.mod h1:bNMFRxwWdgVFdSsFZRmsUUPoBUncU3RM765K99svIKM= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b h1:tQz44wP1HL/Y+9iX+gEmuDeoBEftV0yDvhgfuiG1Xv0= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 h1:rFjir/QzKrffvy37Ccu3J0URdEfFv6PyBxtcBsvDsSk= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= github.com/smartcontractkit/chainlink-common/keystore v1.2.0 h1:1BH/b14CkGjArfzznlioQpIJiynECWVT48JUP9E277U= github.com/smartcontractkit/chainlink-common/keystore v1.2.0/go.mod h1:9R/74vN+bJ5PbkOyM/pUy/AeAZaRwYb/k4XPeXcbDio= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62 h1:o7vfwNQjQbMKQ9YsZFQOxvU7RMXD/wKnZsX5N9sDS3w= @@ -1641,8 +1641,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5 github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc/go.mod h1:dF5JiHWueHjYguUUUrFeb03MkcDqha/tssEkqTkgzp4= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 h1:mzbvXxdbE/96Pdj1zyPKzf25ZlDR48+iTTDTbaITvmk= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54/go.mod h1:sz/YCiLs8i/V57WISALB7ywNjxW24sj0hi+DE4kzv6A= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae h1:VrOaSNVhElURmca9ZVVyKlSiOg9Hz372+oFJD38fYRo= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f h1:Ov0FMsfXuuRfEzDZLQbfy/g/D/8Gl4louLRrvUNe3RI= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501/go.mod h1:4cT1BeNF8DAn6In9zr3LayVCv1KzFeuxT7zcuNkfIb0= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b h1:UdsGoTutNrzqQ23xA49U19lucVR98agzXRVPUPUf7eU= diff --git a/system-tests/lib/go.mod b/system-tests/lib/go.mod index ac72350eead..3ba57c49108 100644 --- a/system-tests/lib/go.mod +++ b/system-tests/lib/go.mod @@ -37,10 +37,10 @@ require ( github.com/smartcontractkit/chain-selectors v1.0.104 github.com/smartcontractkit/chainlink-aptos v0.0.0-20260708114855-e953eeb028a7 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 github.com/smartcontractkit/chainlink-common/keystore v1.2.0 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 - github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae + github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20260623200841-e0322b819f62 github.com/smartcontractkit/chainlink-protos/job-distributor v0.20.1-0.20260701185448-696c075849ea @@ -482,7 +482,7 @@ require ( github.com/smartcontractkit/chainlink-protos/svr v1.2.0 // indirect github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d347eaf314e1 // indirect github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae // indirect - github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 // indirect + github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae // indirect github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.9 // indirect github.com/smartcontractkit/chainlink-testing-framework/parrot v0.6.2 // indirect github.com/smartcontractkit/chainlink-ton v1.0.5-0.20260629213843-c52e07523035 // indirect diff --git a/system-tests/lib/go.sum b/system-tests/lib/go.sum index 53a7d14241a..f4c7932e56a 100644 --- a/system-tests/lib/go.sum +++ b/system-tests/lib/go.sum @@ -1546,8 +1546,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094 h1:uMn1w/n95p+pSxK6hYNqji/sDaab8D0Cxuph9qUkM2g= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094/go.mod h1:3XQmy2zQHrmufebP7dM+x595+gghxzyIKxK9wv91Rh8= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b h1:tQz44wP1HL/Y+9iX+gEmuDeoBEftV0yDvhgfuiG1Xv0= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 h1:rFjir/QzKrffvy37Ccu3J0URdEfFv6PyBxtcBsvDsSk= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= github.com/smartcontractkit/chainlink-common/keystore v1.2.0 h1:1BH/b14CkGjArfzznlioQpIJiynECWVT48JUP9E277U= github.com/smartcontractkit/chainlink-common/keystore v1.2.0/go.mod h1:9R/74vN+bJ5PbkOyM/pUy/AeAZaRwYb/k4XPeXcbDio= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62 h1:o7vfwNQjQbMKQ9YsZFQOxvU7RMXD/wKnZsX5N9sDS3w= @@ -1556,8 +1556,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5 github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc/go.mod h1:dF5JiHWueHjYguUUUrFeb03MkcDqha/tssEkqTkgzp4= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 h1:mzbvXxdbE/96Pdj1zyPKzf25ZlDR48+iTTDTbaITvmk= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54/go.mod h1:sz/YCiLs8i/V57WISALB7ywNjxW24sj0hi+DE4kzv6A= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae h1:VrOaSNVhElURmca9ZVVyKlSiOg9Hz372+oFJD38fYRo= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f h1:Ov0FMsfXuuRfEzDZLQbfy/g/D/8Gl4louLRrvUNe3RI= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501/go.mod h1:4cT1BeNF8DAn6In9zr3LayVCv1KzFeuxT7zcuNkfIb0= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b h1:UdsGoTutNrzqQ23xA49U19lucVR98agzXRVPUPUf7eU= @@ -1614,8 +1614,8 @@ github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d34 github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d347eaf314e1/go.mod h1:lQK+YvR9Ox0ft72k0se7DlA+kujVWyjFQXG3DLbEZ/4= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae h1:0vPX7KjVbdMLImLfeKXNDir0qswAwwQOMDAB/ciVPq8= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae/go.mod h1:6FWUSAXA58d0c9AyOi/1zymX40/67czcDR1SGZt/BKg= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 h1:uu9Q34CyiZ1t841WvuA5V4/wTg0S3EA5YYoqFjla8Xk= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae h1:q9tTW+OWjLjAX8FfCm0zh5akTIcfaJop4+J0HLC8nwc= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df h1:a5PvGrH0Wgk5GtXWSXxlBfNPlyZ8x6FKDQ4UbNa6/Qk= github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df/go.mod h1:nyOjn4ADJGqRMe3+4ZXSV+J/7nWb1H2Vx8Qk57eLRYA= github.com/smartcontractkit/chainlink-testing-framework/framework/components/chiprouter v1.0.4 h1:bGicxBPndwy9NeB79n+CgyNxA8aeWoMudC84krz6QGM= diff --git a/system-tests/tests/go.mod b/system-tests/tests/go.mod index d705c44fbe9..adbe43f41f2 100644 --- a/system-tests/tests/go.mod +++ b/system-tests/tests/go.mod @@ -62,7 +62,7 @@ require ( github.com/rs/zerolog v1.35.1 github.com/smartcontractkit/chain-selectors v1.0.104 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20260624154507-ea7ff77a0ddb - github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b + github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 github.com/smartcontractkit/chainlink-common/keystore v1.2.0 github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 @@ -247,7 +247,7 @@ require ( github.com/smartcontractkit/chainlink-protos/job-distributor v0.20.1-0.20260701185448-696c075849ea // indirect github.com/smartcontractkit/chainlink-protos/node-platform v0.0.0-20260709145319-7782fb89eb16 // indirect github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d347eaf314e1 // indirect - github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 // indirect + github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae // indirect github.com/smartcontractkit/chainlink-testing-framework/lib v1.54.9 // indirect github.com/smartcontractkit/chainlink-testing-framework/lib/grafana v1.50.0 // indirect github.com/smartcontractkit/chainlink-testing-framework/wasp v1.52.0 // indirect @@ -634,7 +634,7 @@ require ( github.com/smartcontractkit/chainlink-automation v0.8.1 // indirect github.com/smartcontractkit/chainlink-ccip v0.1.1-solana.0.20260625091148-e5618f5682ee // indirect github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62 - github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae + github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f github.com/smartcontractkit/chainlink-framework/capabilities v0.0.0-20260423135514-5b1a7565a99c // indirect github.com/smartcontractkit/chainlink-framework/chains v0.0.0-20260423135514-5b1a7565a99c // indirect github.com/smartcontractkit/chainlink-framework/metrics v0.0.0-20260521164805-26d78d5e1243 // indirect diff --git a/system-tests/tests/go.sum b/system-tests/tests/go.sum index f2e32b77cd2..3404411ce37 100644 --- a/system-tests/tests/go.sum +++ b/system-tests/tests/go.sum @@ -1751,8 +1751,8 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260 github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20260624154507-ea7ff77a0ddb/go.mod h1:67YbnoglYD61Pz/jTVCgav9wFq7S35OU8UyQSvPllRw= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094 h1:uMn1w/n95p+pSxK6hYNqji/sDaab8D0Cxuph9qUkM2g= github.com/smartcontractkit/chainlink-ccv v0.0.2-0.20260706093831-dad26b360094/go.mod h1:3XQmy2zQHrmufebP7dM+x595+gghxzyIKxK9wv91Rh8= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b h1:tQz44wP1HL/Y+9iX+gEmuDeoBEftV0yDvhgfuiG1Xv0= -github.com/smartcontractkit/chainlink-common v0.11.2-0.20260713194119-2689c5708c8b/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7 h1:rFjir/QzKrffvy37Ccu3J0URdEfFv6PyBxtcBsvDsSk= +github.com/smartcontractkit/chainlink-common v0.11.2-0.20260714113618-bd55996215f7/go.mod h1:snfVBRRQTpC2x5O3bQHZe9SvJX5yv/SbG8oHkJTKLtE= github.com/smartcontractkit/chainlink-common/keystore v1.2.0 h1:1BH/b14CkGjArfzznlioQpIJiynECWVT48JUP9E277U= github.com/smartcontractkit/chainlink-common/keystore v1.2.0/go.mod h1:9R/74vN+bJ5PbkOyM/pUy/AeAZaRwYb/k4XPeXcbDio= github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.11-0.20260626151909-052e55e62e62 h1:o7vfwNQjQbMKQ9YsZFQOxvU7RMXD/wKnZsX5N9sDS3w= @@ -1761,8 +1761,8 @@ github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5 github.com/smartcontractkit/chainlink-data-streams v0.1.15-0.20260707105132-2da5d31f22fc/go.mod h1:dF5JiHWueHjYguUUUrFeb03MkcDqha/tssEkqTkgzp4= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54 h1:mzbvXxdbE/96Pdj1zyPKzf25ZlDR48+iTTDTbaITvmk= github.com/smartcontractkit/chainlink-deployments-framework v0.111.1-0.20260612191326-e31c0ae4cd54/go.mod h1:sz/YCiLs8i/V57WISALB7ywNjxW24sj0hi+DE4kzv6A= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae h1:VrOaSNVhElURmca9ZVVyKlSiOg9Hz372+oFJD38fYRo= -github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260623170329-4577ef4ba0ae/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f h1:Ov0FMsfXuuRfEzDZLQbfy/g/D/8Gl4louLRrvUNe3RI= +github.com/smartcontractkit/chainlink-evm v0.3.4-0.20260713161947-559439dd0d3f/go.mod h1:3ifVi4ueXLo5+pSVpvmaJBbCYhTFVx9qxp6bIU11QQc= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501 h1:QJiXTG9CmaQAuMRn5JGi+Jhji7fSkehVnKpjc8oNJJY= github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings v0.0.0-20260403151002-2c91155b5501/go.mod h1:4cT1BeNF8DAn6In9zr3LayVCv1KzFeuxT7zcuNkfIb0= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20260713161920-de075095648b h1:UdsGoTutNrzqQ23xA49U19lucVR98agzXRVPUPUf7eU= @@ -1819,8 +1819,8 @@ github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d34 github.com/smartcontractkit/chainlink-solana/contracts v0.0.0-20260513123719-d347eaf314e1/go.mod h1:lQK+YvR9Ox0ft72k0se7DlA+kujVWyjFQXG3DLbEZ/4= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae h1:0vPX7KjVbdMLImLfeKXNDir0qswAwwQOMDAB/ciVPq8= github.com/smartcontractkit/chainlink-sui v0.0.0-20260713221039-69796c8a78ae/go.mod h1:6FWUSAXA58d0c9AyOi/1zymX40/67czcDR1SGZt/BKg= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0 h1:uu9Q34CyiZ1t841WvuA5V4/wTg0S3EA5YYoqFjla8Xk= -github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713202800-ac352a2c68f0/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae h1:q9tTW+OWjLjAX8FfCm0zh5akTIcfaJop4+J0HLC8nwc= +github.com/smartcontractkit/chainlink-sui/codec v0.0.0-20260713221039-69796c8a78ae/go.mod h1:kiteWrjRjMjtZc3UqvjgtmF7JQpw1VttjCmQ083HJro= github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df h1:a5PvGrH0Wgk5GtXWSXxlBfNPlyZ8x6FKDQ4UbNa6/Qk= github.com/smartcontractkit/chainlink-testing-framework/framework v0.16.6-0.20260630120514-36abe27604df/go.mod h1:nyOjn4ADJGqRMe3+4ZXSV+J/7nWb1H2Vx8Qk57eLRYA= github.com/smartcontractkit/chainlink-testing-framework/framework/components/chiprouter v1.0.4 h1:bGicxBPndwy9NeB79n+CgyNxA8aeWoMudC84krz6QGM= From b72b75b83c22a365acb697af451aff61292ff4e5 Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Mon, 13 Jul 2026 20:47:56 +0200 Subject: [PATCH 4/6] Fix tests --- core/web/lp_skip_controller_test.go | 4 ++-- testdata/scripts/blocks/help.txtar | 5 +++-- testdata/scripts/help-all/help-all.txtar | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/web/lp_skip_controller_test.go b/core/web/lp_skip_controller_test.go index d99bb53b549..fd33017dcb0 100644 --- a/core/web/lp_skip_controller_test.go +++ b/core/web/lp_skip_controller_test.go @@ -16,16 +16,16 @@ import ( "github.com/smartcontractkit/chainlink/v2/core/internal/cltest" appmocks "github.com/smartcontractkit/chainlink/v2/core/internal/mocks" - "github.com/smartcontractkit/chainlink/v2/core/internal/testutils" "github.com/smartcontractkit/chainlink/v2/core/internal/testutils/configtest" "github.com/smartcontractkit/chainlink/v2/core/web" ) func TestLPSkipController_LPSkipToBlock(t *testing.T) { + t.Parallel() cfg := configtest.NewTestGeneralConfig(t) ec := setupEthClientForControllerTests(t) app := cltest.NewApplicationWithConfigAndKey(t, cfg, cltest.DefaultP2PKey, ec) - require.NoError(t, app.Start(testutils.Context(t))) + require.NoError(t, app.Start(t.Context())) client := app.NewHTTPClient(nil) postSkip := func(t *testing.T, request web.LPSkipToBlockRequest) *http.Response { diff --git a/testdata/scripts/blocks/help.txtar b/testdata/scripts/blocks/help.txtar index 5d362a082fd..eb137332424 100644 --- a/testdata/scripts/blocks/help.txtar +++ b/testdata/scripts/blocks/help.txtar @@ -9,8 +9,9 @@ USAGE: chainlink blocks command [command options] [arguments...] COMMANDS: - replay Replays block data from the given number - find-lca Find latest common block stored in DB and on chain + replay Replays block data from the given number + find-lca Find latest common block stored in DB and on chain + lp-skip-to-block Reposition LogPoller to start processing from the given finalized block number. Note: LogPoller does not guarantee that finalized blocks in the DB and specified block belong to the same chain. LogPoller will remove all unfinalized logs before saving new checkpoint. OPTIONS: --help, -h show help diff --git a/testdata/scripts/help-all/help-all.txtar b/testdata/scripts/help-all/help-all.txtar index 99b03516abc..8d7b4cab4b8 100644 --- a/testdata/scripts/help-all/help-all.txtar +++ b/testdata/scripts/help-all/help-all.txtar @@ -17,6 +17,7 @@ attempts # Commands for managing Ethereum Transaction Attempts attempts list # List the Transaction Attempts in descending order blocks # Commands for managing blocks blocks find-lca # Find latest common block stored in DB and on chain +blocks lp-skip-to-block # Reposition LogPoller to start processing from the given finalized block number. Note: LogPoller does not guarantee that finalized blocks in the DB and specified block belong to the same chain. LogPoller will remove all unfinalized logs before saving new checkpoint. blocks replay # Replays block data from the given number bridges # Commands for Bridges communicating with External Adapters bridges create # Create a new Bridge to an External Adapter From d6df9c362273900728982c5fcbbbedbb5115698d Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Tue, 14 Jul 2026 14:07:19 +0200 Subject: [PATCH 5/6] fix tests --- core/cmd/blocks_commands_test.go | 14 +++++--------- core/web/lp_skip_controller_test.go | 12 ++++++++++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/core/cmd/blocks_commands_test.go b/core/cmd/blocks_commands_test.go index 803006780d1..0b7903275b8 100644 --- a/core/cmd/blocks_commands_test.go +++ b/core/cmd/blocks_commands_test.go @@ -26,6 +26,7 @@ func Test_ReplayFromBlock(t *testing.T) { flagSetApplyFromAction(client.ReplayFromBlock, set, "") t.Run("invalid args", func(t *testing.T) { + t.Parallel() // Incorrect block number require.NoError(t, set.Set("block-number", "0")) c := cli.NewContext(nil, set, nil) @@ -45,6 +46,7 @@ func Test_ReplayFromBlock(t *testing.T) { }) t.Run("evm replay", func(t *testing.T) { + t.Parallel() require.NoError(t, set.Set("block-number", "1")) require.NoError(t, set.Set("chain-id", "5")) require.NoError(t, set.Set("family", "evm")) @@ -82,6 +84,7 @@ func Test_LPSkipToBlock(t *testing.T) { t.Parallel() app := startNewApplicationV2(t, func(c *chainlink.Config, s *chainlink.Secrets) { + c.Feature.LogPoller = ptr(true) c.EVM[0].ChainID = (*sqlutil.Big)(big.NewInt(5)) c.EVM[0].Enabled = ptr(true) }) @@ -92,12 +95,13 @@ func Test_LPSkipToBlock(t *testing.T) { flagSetApplyFromAction(client.LPSkipToBlock, set, "") t.Run("invalid args", func(t *testing.T) { + t.Parallel() require.NoError(t, set.Set("block-number", "1")) c := cli.NewContext(nil, set, nil) require.ErrorContains(t, client.LPSkipToBlock(c), "Must pass a value >= 2") require.NoError(t, set.Set("block-number", "100")) - require.NoError(t, set.Set("chain-id", "1")) + require.NoError(t, set.Set("chain-id", "123")) require.NoError(t, set.Set("family", "evm")) c = cli.NewContext(nil, set, nil) require.ErrorContains(t, client.LPSkipToBlock(c), "relayer does not exist") @@ -107,12 +111,4 @@ func Test_LPSkipToBlock(t *testing.T) { c = cli.NewContext(nil, set, nil) require.ErrorContains(t, client.LPSkipToBlock(c), "only evm is supported") }) - - t.Run("evm skip", func(t *testing.T) { - require.NoError(t, set.Set("block-number", "100")) - require.NoError(t, set.Set("chain-id", "5")) - require.NoError(t, set.Set("family", "evm")) - c := cli.NewContext(nil, set, nil) - require.ErrorContains(t, client.LPSkipToBlock(c), "LPSkipToBlock is only available if LogPoller is enabled") - }) } diff --git a/core/web/lp_skip_controller_test.go b/core/web/lp_skip_controller_test.go index fd33017dcb0..c93ecd30ffb 100644 --- a/core/web/lp_skip_controller_test.go +++ b/core/web/lp_skip_controller_test.go @@ -17,12 +17,15 @@ import ( "github.com/smartcontractkit/chainlink/v2/core/internal/cltest" appmocks "github.com/smartcontractkit/chainlink/v2/core/internal/mocks" "github.com/smartcontractkit/chainlink/v2/core/internal/testutils/configtest" + "github.com/smartcontractkit/chainlink/v2/core/services/chainlink" "github.com/smartcontractkit/chainlink/v2/core/web" ) func TestLPSkipController_LPSkipToBlock(t *testing.T) { t.Parallel() - cfg := configtest.NewTestGeneralConfig(t) + cfg := configtest.NewGeneralConfig(t, func(config *chainlink.Config, secrets *chainlink.Secrets) { + config.Feature.LogPoller = ptr(true) + }) ec := setupEthClientForControllerTests(t) app := cltest.NewApplicationWithConfigAndKey(t, cfg, cltest.DefaultP2PKey, ec) require.NoError(t, app.Start(t.Context())) @@ -38,6 +41,7 @@ func TestLPSkipController_LPSkipToBlock(t *testing.T) { } t.Run("missing chain family", func(t *testing.T) { + t.Parallel() resp := postSkip(t, web.LPSkipToBlockRequest{ BlockNumber: 100, ChainID: "1", @@ -49,6 +53,7 @@ func TestLPSkipController_LPSkipToBlock(t *testing.T) { }) t.Run("unsupported chain family", func(t *testing.T) { + t.Parallel() resp := postSkip(t, web.LPSkipToBlockRequest{ BlockNumber: 100, Family: "solana", @@ -61,6 +66,7 @@ func TestLPSkipController_LPSkipToBlock(t *testing.T) { }) t.Run("missing chain id", func(t *testing.T) { + t.Parallel() resp := postSkip(t, web.LPSkipToBlockRequest{ BlockNumber: 100, Family: "evm", @@ -72,6 +78,7 @@ func TestLPSkipController_LPSkipToBlock(t *testing.T) { }) t.Run("invalid block number", func(t *testing.T) { + t.Parallel() resp := postSkip(t, web.LPSkipToBlockRequest{ BlockNumber: 1, Family: "evm", @@ -80,10 +87,11 @@ func TestLPSkipController_LPSkipToBlock(t *testing.T) { assert.Equal(t, http.StatusUnprocessableEntity, resp.StatusCode) b, err := io.ReadAll(resp.Body) require.NoError(t, err) - assert.Contains(t, string(b), "block number must be >= 2") + assert.Contains(t, string(b), "block number must be") }) t.Run("unknown relayer", func(t *testing.T) { + t.Parallel() resp := postSkip(t, web.LPSkipToBlockRequest{ BlockNumber: 100, Family: "evm", From 585a8f31f4510d23afa36a8cd8ff063658cde0e1 Mon Sep 17 00:00:00 2001 From: Dmytro Haidashenko Date: Tue, 14 Jul 2026 15:13:08 +0200 Subject: [PATCH 6/6] lint fixes --- core/cmd/blocks_commands_test.go | 6 +++--- core/web/lp_skip_controller_test.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/cmd/blocks_commands_test.go b/core/cmd/blocks_commands_test.go index 0b7903275b8..65e6b615ccc 100644 --- a/core/cmd/blocks_commands_test.go +++ b/core/cmd/blocks_commands_test.go @@ -61,7 +61,7 @@ func Test_FindLCA(t *testing.T) { // ethClient.On("BalanceAt", mock.Anything, mock.Anything, mock.Anything).Return(big.NewInt(42), nil) app := startNewApplicationV2(t, func(c *chainlink.Config, s *chainlink.Secrets) { c.EVM[0].ChainID = (*sqlutil.Big)(big.NewInt(5)) - c.EVM[0].Enabled = ptr(true) + c.EVM[0].Enabled = new(true) }) client, _ := app.NewShellAndRenderer() @@ -84,9 +84,9 @@ func Test_LPSkipToBlock(t *testing.T) { t.Parallel() app := startNewApplicationV2(t, func(c *chainlink.Config, s *chainlink.Secrets) { - c.Feature.LogPoller = ptr(true) + c.Feature.LogPoller = new(true) c.EVM[0].ChainID = (*sqlutil.Big)(big.NewInt(5)) - c.EVM[0].Enabled = ptr(true) + c.EVM[0].Enabled = new(true) }) client, _ := app.NewShellAndRenderer() diff --git a/core/web/lp_skip_controller_test.go b/core/web/lp_skip_controller_test.go index c93ecd30ffb..a404ef92c2a 100644 --- a/core/web/lp_skip_controller_test.go +++ b/core/web/lp_skip_controller_test.go @@ -24,7 +24,7 @@ import ( func TestLPSkipController_LPSkipToBlock(t *testing.T) { t.Parallel() cfg := configtest.NewGeneralConfig(t, func(config *chainlink.Config, secrets *chainlink.Secrets) { - config.Feature.LogPoller = ptr(true) + config.Feature.LogPoller = new(true) }) ec := setupEthClientForControllerTests(t) app := cltest.NewApplicationWithConfigAndKey(t, cfg, cltest.DefaultP2PKey, ec)