Skip to content
This repository was archived by the owner on Mar 14, 2025. It is now read-only.

Commit 047109f

Browse files
Do not return the error in case if onRamp not initialized (#1487)
## Motivation For the exec provider, in some cases, the onRamp reader is not initialized. For immediate reaction, we need to allow execution without blocking in cases if onRamp is not initialized. It fails due the issue when onRampReader is not initialized for execProvider. This fix should fix this issue. In case the onRamp reader is not initialized, the module will return 0 values and DAGasEstimator will behave as it worked before this feature been implemented.
1 parent 28e5fec commit 047109f

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

core/services/ocr2/plugins/ccip/estimatorconfig/config.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package estimatorconfig
22

33
import (
44
"context"
5-
"errors"
65
"math/big"
76

87
"github.com/smartcontractkit/chainlink-common/pkg/types/ccip"
@@ -42,7 +41,7 @@ func (c *FeeEstimatorConfigService) SetOnRampReader(reader ccip.OnRampReader) {
4241
// GetDynamicConfig should be cached in the onRamp reader to avoid unnecessary on-chain calls
4342
func (c *FeeEstimatorConfigService) GetDataAvailabilityConfig(ctx context.Context) (destDataAvailabilityOverheadGas, destGasPerDataAvailabilityByte, destDataAvailabilityMultiplierBps int64, err error) {
4443
if c.onRampReader == nil {
45-
return 0, 0, 0, errors.New("no OnRampReader has been configured")
44+
return 0, 0, 0, nil
4645
}
4746

4847
cfg, err := c.onRampReader.GetDynamicConfig(ctx)

core/services/ocr2/plugins/ccip/estimatorconfig/config_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,11 @@ func TestFeeEstimatorConfigService(t *testing.T) {
2424
var expectedDestDataAvailabilityMultiplierBps int64 = 3
2525

2626
onRampReader := mocks.NewOnRampReader(t)
27-
_, _, _, err := svc.GetDataAvailabilityConfig(ctx)
28-
require.Error(t, err)
27+
destDataAvailabilityOverheadGas, destGasPerDataAvailabilityByte, destDataAvailabilityMultiplierBps, err := svc.GetDataAvailabilityConfig(ctx)
28+
require.NoError(t, err) // if onRampReader not set, return nil error and 0 values
29+
require.EqualValues(t, 0, destDataAvailabilityOverheadGas)
30+
require.EqualValues(t, 0, destGasPerDataAvailabilityByte)
31+
require.EqualValues(t, 0, destDataAvailabilityMultiplierBps)
2932
svc.SetOnRampReader(onRampReader)
3033

3134
onRampReader.On("GetDynamicConfig", ctx).
@@ -35,7 +38,7 @@ func TestFeeEstimatorConfigService(t *testing.T) {
3538
DestDataAvailabilityMultiplierBps: uint16(expectedDestDataAvailabilityMultiplierBps),
3639
}, nil).Once()
3740

38-
destDataAvailabilityOverheadGas, destGasPerDataAvailabilityByte, destDataAvailabilityMultiplierBps, err := svc.GetDataAvailabilityConfig(ctx)
41+
destDataAvailabilityOverheadGas, destGasPerDataAvailabilityByte, destDataAvailabilityMultiplierBps, err = svc.GetDataAvailabilityConfig(ctx)
3942
require.NoError(t, err)
4043
require.Equal(t, expectedDestDataAvailabilityOverheadGas, destDataAvailabilityOverheadGas)
4144
require.Equal(t, expectedDestGasPerDataAvailabilityByte, destGasPerDataAvailabilityByte)

0 commit comments

Comments
 (0)