Skip to content

Commit 642f6eb

Browse files
authored
Fix TON accessor function return (#582)
1 parent 2ef4ef8 commit 642f6eb

2 files changed

Lines changed: 21 additions & 10 deletions

File tree

pkg/ccip/chainaccessor/config.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,18 @@ func (a *TONAccessor) GetOffRampSourceChainConfigs(ctx context.Context, block *t
167167
return nil, nil
168168
}
169169

170-
sourceChainConfigs := filterSourceChainConfigs(sourceConfigsGot, sourceChainSelectors)
170+
sourceChainConfigs, err := filterSourceChainConfigs(sourceConfigsGot, sourceChainSelectors)
171+
if err != nil {
172+
return nil, fmt.Errorf("failed to filter source chain configs: %w", err)
173+
}
171174
lggr.Debugw("GetOffRampSourceChainConfigs returning", "sourceChainConfigs", sourceChainConfigs)
172175
return sourceChainConfigs, nil
173176
}
174177

175178
// filterSourceChainConfigs filters the fetched source chain configs based on the requested selectors.
176179
// If sourceChainSelectors is empty, all configs are returned.
177180
// If sourceChainSelectors is provided, only matching configs are returned, non-existent selectors are skipped.
178-
func filterSourceChainConfigs(sourceConfigsGot offrampview.SourceChainConfigMap, sourceChainSelectors []ccipocr3.ChainSelector) map[ccipocr3.ChainSelector]ccipocr3.SourceChainConfig {
181+
func filterSourceChainConfigs(sourceConfigsGot offrampview.SourceChainConfigMap, sourceChainSelectors []ccipocr3.ChainSelector) (map[ccipocr3.ChainSelector]ccipocr3.SourceChainConfig, error) {
179182
sourceChainConfigs := make(map[ccipocr3.ChainSelector]ccipocr3.SourceChainConfig, len(sourceChainSelectors))
180183

181184
if len(sourceChainSelectors) == 0 {
@@ -201,7 +204,7 @@ func filterSourceChainConfigs(sourceConfigsGot offrampview.SourceChainConfigMap,
201204
}
202205
}
203206

204-
return sourceChainConfigs
207+
return sourceChainConfigs, nil
205208
}
206209

207210
// GetOffRampSourceChainConfig retrieves a specific source chain configuration

pkg/ccip/chainaccessor/config_test.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"testing"
66

77
"github.com/stretchr/testify/assert"
8+
"github.com/stretchr/testify/require"
89
"github.com/xssnick/tonutils-go/address"
910

1011
"github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3"
@@ -187,7 +188,8 @@ func TestFilterSourceChainConfigs(t *testing.T) {
187188
1003: makeConfig(300, false),
188189
}
189190

190-
result := filterSourceChainConfigs(sourceConfigsGot, []ccipocr3.ChainSelector{})
191+
result, err := filterSourceChainConfigs(sourceConfigsGot, []ccipocr3.ChainSelector{})
192+
require.NoError(t, err)
191193

192194
assert.Len(t, result, 3, "should return all 3 configs")
193195
assert.Equal(t, uint64(100), result[ccipocr3.ChainSelector(1001)].MinSeqNr)
@@ -201,7 +203,8 @@ func TestFilterSourceChainConfigs(t *testing.T) {
201203
2002: makeConfig(600, true),
202204
}
203205

204-
result := filterSourceChainConfigs(sourceConfigsGot, nil)
206+
result, err := filterSourceChainConfigs(sourceConfigsGot, nil)
207+
require.NoError(t, err)
205208

206209
assert.Len(t, result, 2, "should return all 2 configs")
207210
assert.Equal(t, uint64(500), result[ccipocr3.ChainSelector(2001)].MinSeqNr)
@@ -216,7 +219,8 @@ func TestFilterSourceChainConfigs(t *testing.T) {
216219
}
217220

218221
selectors := []ccipocr3.ChainSelector{3001, 3003}
219-
result := filterSourceChainConfigs(sourceConfigsGot, selectors)
222+
result, err := filterSourceChainConfigs(sourceConfigsGot, selectors)
223+
require.NoError(t, err)
220224

221225
assert.Len(t, result, 2, "should return only 2 matching configs")
222226
assert.Equal(t, uint64(100), result[ccipocr3.ChainSelector(3001)].MinSeqNr)
@@ -233,7 +237,8 @@ func TestFilterSourceChainConfigs(t *testing.T) {
233237

234238
// Request selectors that don't all exist
235239
selectors := []ccipocr3.ChainSelector{4001, 9999, 8888}
236-
result := filterSourceChainConfigs(sourceConfigsGot, selectors)
240+
result, err := filterSourceChainConfigs(sourceConfigsGot, selectors)
241+
require.NoError(t, err)
237242

238243
assert.Len(t, result, 1, "should return only 1 existing config")
239244
assert.Equal(t, uint64(100), result[ccipocr3.ChainSelector(4001)].MinSeqNr)
@@ -245,7 +250,8 @@ func TestFilterSourceChainConfigs(t *testing.T) {
245250
}
246251

247252
selectors := []ccipocr3.ChainSelector{9999, 8888, 7777}
248-
result := filterSourceChainConfigs(sourceConfigsGot, selectors)
253+
result, err := filterSourceChainConfigs(sourceConfigsGot, selectors)
254+
require.NoError(t, err)
249255

250256
assert.Empty(t, result, "should return empty map when no selectors match")
251257
})
@@ -254,7 +260,8 @@ func TestFilterSourceChainConfigs(t *testing.T) {
254260
sourceConfigsGot := offrampview.SourceChainConfigMap{}
255261

256262
selectors := []ccipocr3.ChainSelector{1001, 1002}
257-
result := filterSourceChainConfigs(sourceConfigsGot, selectors)
263+
result, err := filterSourceChainConfigs(sourceConfigsGot, selectors)
264+
require.NoError(t, err)
258265

259266
assert.Empty(t, result, "should return empty map")
260267
})
@@ -272,7 +279,8 @@ func TestFilterSourceChainConfigs(t *testing.T) {
272279
}
273280

274281
selectors := []ccipocr3.ChainSelector{6001}
275-
result := filterSourceChainConfigs(sourceConfigsGot, selectors)
282+
result, err := filterSourceChainConfigs(sourceConfigsGot, selectors)
283+
require.NoError(t, err)
276284

277285
assert.Len(t, result, 1)
278286
config := result[ccipocr3.ChainSelector(6001)]

0 commit comments

Comments
 (0)