From 7ed0a2144f35a798efdc5a56ee44c9275856c416 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 9 Jun 2023 09:20:11 -0400 Subject: [PATCH 1/2] Get current block details before making price fetch (#9532) --- core/services/relay/evm/mercury/data_source.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/core/services/relay/evm/mercury/data_source.go b/core/services/relay/evm/mercury/data_source.go index a2ff98585f2..64fa8622f55 100644 --- a/core/services/relay/evm/mercury/data_source.go +++ b/core/services/relay/evm/mercury/data_source.go @@ -54,6 +54,10 @@ func NewDataSource(pr pipeline.Runner, jb job.Job, spec pipeline.Spec, lggr logg } func (ds *datasource) Observe(ctx context.Context, repts ocrtypes.ReportTimestamp, fetchMaxFinalizedBlockNum bool) (obs relaymercury.Observation, err error) { + // setCurrentBlock must come first, along with observationTimestamp, to + // avoid front-running + ds.setCurrentBlock(ctx, &obs) + var wg sync.WaitGroup if fetchMaxFinalizedBlockNum { wg.Add(1) @@ -99,11 +103,6 @@ func (ds *datasource) Observe(ctx context.Context, repts ocrtypes.ReportTimestam obs.Bid = parsed.bid obs.Ask = parsed.ask }() - wg.Add(1) - go func() { - defer wg.Done() - ds.setCurrentBlock(ctx, &obs) - }() wg.Wait() if ocrcommon.ShouldCollectEnhancedTelemetryMercury(&ds.jb) { From 62618d4f7a8c0197661cd4f2dcdb992171325fe0 Mon Sep 17 00:00:00 2001 From: Anirudh Warrier Date: Fri, 9 Jun 2023 19:12:35 +0530 Subject: [PATCH 2/2] automation benchmark test - revert newDeployment changes (#9537) --- integration-tests/benchmark/keeper_test.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/integration-tests/benchmark/keeper_test.go b/integration-tests/benchmark/keeper_test.go index 5d1f461315b..0ed09384c3c 100644 --- a/integration-tests/benchmark/keeper_test.go +++ b/integration-tests/benchmark/keeper_test.go @@ -413,13 +413,11 @@ func SetupAutomationBenchmarkEnv(t *testing.T) (*environment.Environment, blockc for i := 0; i < NumberOfNodes; i++ { testNetwork.HTTPURLs = []string{internalHttpURLs[i]} testNetwork.URLs = []string{internalWsURLs[i]} - cd, err := chainlink.NewDeployment(1, map[string]any{ + testEnvironment.AddHelm(chainlink.New(i, map[string]any{ "toml": client.AddNetworkDetailedConfig(keeperBenchmarkBaseTOML, networkDetailTOML, testNetwork), "chainlink": chainlinkResources, "db": dbResources, - }) - require.NoError(t, err, "Error creating chainlink deployment") - testEnvironment.AddHelmCharts(cd) + })) } err = testEnvironment.Run() require.NoError(t, err, "Error launching test environment")