Skip to content

Commit

Permalink
Improve CCIP CR QueryKey usage and fix CR data word index calculation
Browse files Browse the repository at this point in the history
  • Loading branch information
ilija42 committed Nov 1, 2024
1 parent 83804a8 commit 71ac32c
Show file tree
Hide file tree
Showing 16 changed files with 133 additions and 48 deletions.
5 changes: 5 additions & 0 deletions .changeset/good-roses-smash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"chainlink": minor
---

#internal Fix Contract Reader data word index calculation and change ccip contract reader config for more optimal querying.
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,17 @@ func TestCCIPReader_ExecutedMessageRanges(t *testing.T) {
consts.EventNameExecutionStateChanged: {
ChainSpecificName: consts.EventNameExecutionStateChanged,
ReadType: evmtypes.Event,
EventDefinitions: &evmtypes.EventDefinitions{
GenericTopicNames: map[string]string{
"sourceChainSelector": consts.EventAttributeSourceChain,
"sequenceNumber": consts.EventAttributeSequenceNumber,
},
GenericDataWordDetails: map[string]evmtypes.DataWordDetail{
consts.EventAttributeState: {
Name: "state",
},
},
},
},
},
},
Expand Down Expand Up @@ -236,6 +247,13 @@ func TestCCIPReader_MsgsBetweenSeqNums(t *testing.T) {
consts.EventNameCCIPMessageSent: {
ChainSpecificName: "CCIPMessageSent",
ReadType: evmtypes.Event,
EventDefinitions: &evmtypes.EventDefinitions{
GenericDataWordDetails: map[string]evmtypes.DataWordDetail{
consts.EventAttributeSourceChain: {Name: "message.header.sourceChainSelector"},
consts.EventAttributeDestChain: {Name: "message.header.destChainSelector"},
consts.EventAttributeSequenceNumber: {Name: "message.header.sequenceNumber"},
},
},
},
},
},
Expand Down
18 changes: 18 additions & 0 deletions core/capabilities/ccip/configs/evm/contract_reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,17 @@ var DestReaderConfig = evmrelaytypes.ChainReaderConfig{
consts.EventNameExecutionStateChanged: {
ChainSpecificName: mustGetEventName(consts.EventNameExecutionStateChanged, offrampABI),
ReadType: evmrelaytypes.Event,
EventDefinitions: &evmrelaytypes.EventDefinitions{
GenericTopicNames: map[string]string{
"sourceChainSelector": consts.EventAttributeSourceChain,
"sequenceNumber": consts.EventAttributeSequenceNumber,
},
GenericDataWordDetails: map[string]evmrelaytypes.DataWordDetail{
consts.EventAttributeState: {
Name: "state",
},
},
},
},
},
},
Expand Down Expand Up @@ -210,6 +221,13 @@ var SourceReaderConfig = evmrelaytypes.ChainReaderConfig{
consts.EventNameCCIPMessageSent: {
ChainSpecificName: mustGetEventName("CCIPMessageSent", onrampABI),
ReadType: evmrelaytypes.Event,
EventDefinitions: &evmrelaytypes.EventDefinitions{
GenericDataWordDetails: map[string]evmrelaytypes.DataWordDetail{
consts.EventAttributeSourceChain: {Name: "message.header.sourceChainSelector"},
consts.EventAttributeDestChain: {Name: "message.header.destChainSelector"},
consts.EventAttributeSequenceNumber: {Name: "message.header.sequenceNumber"},
},
},
},
consts.MethodNameOnRampGetStaticConfig: {
ChainSpecificName: mustGetMethodName("getStaticConfig", onrampABI),
Expand Down
2 changes: 1 addition & 1 deletion core/scripts/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ require (
github.com/shirou/gopsutil/v3 v3.24.3 // indirect
github.com/smartcontractkit/ccip-owner-contracts v0.0.0-20240926212305-a6deabdfce86 // indirect
github.com/smartcontractkit/chain-selectors v1.0.27 // indirect
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4 // indirect
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007 // indirect

Check failure on line 291 in core/scripts/go.mod

View workflow job for this annotation

GitHub Actions / Validate go.mod dependencies

[./core/scripts/go.mod] dependency github.com/smartcontractkit/chainlink-ccip@v0.0.0-20241101155858-0cf44c0d3007 // indirect not on default branch (main). Version(commit): 0cf44c0d3007 Tree: https://github.com/smartcontractkit/chainlink-ccip/tree/0cf44c0d3007 Commit: https://github.com/smartcontractkit/chainlink-ccip/commit/0cf44c0d3007
github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241017133723-5277829bd53f // indirect
github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20241018134907-a00ba3729b5e // indirect
github.com/smartcontractkit/chainlink-feeds v0.1.1 // indirect
Expand Down
4 changes: 2 additions & 2 deletions core/scripts/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1090,8 +1090,8 @@ github.com/smartcontractkit/chain-selectors v1.0.27 h1:VE/ftX9Aae4gnw67yR1raKi+3
github.com/smartcontractkit/chain-selectors v1.0.27/go.mod h1:d4Hi+E1zqjy9HqMkjBE5q1vcG9VGgxf5VxiRHfzi2kE=
github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU=
github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4 h1:+VR9yKhbz+iCtWnCabaCDP18lIqGnk7YvGQIbJYgDrs=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4/go.mod h1:4adKaHNaxFsRvV/lYfqtbsWyyvIPUMLR0FdOJN/ljis=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007 h1:J8WGYWC6sArDG+oj5Nzd5exqDrL1HDpZhg1ofNL+bos=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007/go.mod h1:4adKaHNaxFsRvV/lYfqtbsWyyvIPUMLR0FdOJN/ljis=
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7 h1:AGi0kAtMRW1zl1h7sGw+3CKO4Nlev6iA08YfEcgJCGs=
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7/go.mod h1:TQ9/KKXZ9vr8QAlUquqGpSvDCpR+DtABKPXZY4CiRns=
github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241017133723-5277829bd53f h1:BwrIaQIx5Iy6eT+DfLhFfK2XqjxRm74mVdlX8gbu4dw=
Expand Down
89 changes: 56 additions & 33 deletions core/services/relay/evm/chain_reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ func (cr *chainReader) addEvent(contractName, eventName string, a abi.ABI, chain
return fmt.Errorf("%w: event %q doesn't exist", commontypes.ErrInvalidConfig, chainReaderDefinition.ChainSpecificName)
}

indexedAsUnIndexedABITypes, indexedTopicsCodecTypes, eventDWs := getEventTypes(event)
indexedAsUnIndexedABITypes, indexedTopicsCodecTypes, dwsDetails := getEventTypes(event)
if err := indexedTopicsCodecTypes.Init(); err != nil {
return err
}
Expand Down Expand Up @@ -337,7 +337,7 @@ func (cr *chainReader) addEvent(contractName, eventName string, a abi.ABI, chain
maps.Copy(codecModifiers, topicsModifiers)

// TODO BCFR-44 no dw modifier for now
dataWordsDetails, dWSCodecTypeInfo, initDWQueryingErr := cr.initDWQuerying(contractName, eventName, eventDWs, eventDefinitions.GenericDataWordDetails)
dataWordsDetails, dWSCodecTypeInfo, initDWQueryingErr := cr.initDWQuerying(contractName, eventName, dwsDetails, eventDefinitions.GenericDataWordDetails)
if initDWQueryingErr != nil {
return fmt.Errorf("failed to init dw querying for event: %q, err: %w", eventName, initDWQueryingErr)
}
Expand Down Expand Up @@ -473,43 +473,61 @@ func (cr *chainReader) addDecoderDef(contractName, itemType string, outputs abi.
func getEventTypes(event abi.Event) ([]abi.Argument, types.CodecEntry, map[string]read.DataWordDetail) {
indexedAsUnIndexedTypes := make([]abi.Argument, 0, types.MaxTopicFields)
indexedTypes := make([]abi.Argument, 0, len(event.Inputs))
dataWords := make(map[string]read.DataWordDetail)
var dwIndex int

for _, input := range event.Inputs {
if !input.Indexed {
dwIndex = calculateFieldDWIndex(input, event.Name+"."+input.Name, dataWords, dwIndex)
continue
if input.Indexed {
indexedAsUnIndexed := input
indexedAsUnIndexed.Indexed = false
// when presenting the filter off-chain, the caller will provide the unHashed version of the input and CR will hash topics when needed.
indexedAsUnIndexedTypes = append(indexedAsUnIndexedTypes, indexedAsUnIndexed)
indexedTypes = append(indexedTypes, input)
}

indexedAsUnIndexed := input
indexedAsUnIndexed.Indexed = false
// when presenting the filter off-chain, the caller will provide the unHashed version of the input and CR will hash topics when needed.
indexedAsUnIndexedTypes = append(indexedAsUnIndexedTypes, indexedAsUnIndexed)
indexedTypes = append(indexedTypes, input)
}

return indexedAsUnIndexedTypes, types.NewCodecEntry(indexedTypes, nil, nil), dataWords
return indexedAsUnIndexedTypes, types.NewCodecEntry(indexedTypes, nil, nil), getDWIndexesWithTypes(event.Name, event.Inputs)
}

// calculateFieldDWIndex recursively calculates the indices of all static unindexed fields in the event
// and calculates the offset for all unsearchable / dynamic fields.
func calculateFieldDWIndex(arg abi.Argument, fieldPath string, dataWords map[string]read.DataWordDetail, index int) int {
if isDynamic(arg.Type) {
return index + 1
func getDWIndexesWithTypes(eventName string, eventInputs abi.Arguments) map[string]read.DataWordDetail {
var dwIndexOffset int
dataWords := make(map[string]read.DataWordDetail)
dynamicQueue := make([]abi.Argument, 0)

for _, input := range eventInputs.NonIndexed() {
// each dynamic field has an extra field that stores the dwIndexOffset that points to the start of the dynamic data.
if isDynamic(input.Type) {
dynamicQueue = append(dynamicQueue, input)
dwIndexOffset = dwIndexOffset + 1

Check failure on line 498 in core/services/relay/evm/chain_reader.go

View workflow job for this annotation

GitHub Actions / lint

assignOp: replace `dwIndexOffset = dwIndexOffset + 1` with `dwIndexOffset++` (gocritic)
} else {
dwIndexOffset = processDWStaticField(input.Type, eventName+"."+input.Name, dataWords, dwIndexOffset)
}
}

return processFields(arg.Type, fieldPath, dataWords, index)
processDWDynamicFields(eventName, dataWords, dynamicQueue, dwIndexOffset)
return dataWords
}

func isDynamic(fieldType abi.Type) bool {
switch fieldType.T {
case abi.StringTy, abi.SliceTy, abi.BytesTy:
return true
case abi.TupleTy:
// If one element in a struct is dynamic, the whole struct is treated as dynamic.
for _, elem := range fieldType.TupleElems {
if isDynamic(*elem) {
return true
}
}
}
return false
}

func processFields(fieldType abi.Type, parentFieldPath string, dataWords map[string]read.DataWordDetail, index int) int {
func processDWStaticField(fieldType abi.Type, parentFieldPath string, dataWords map[string]read.DataWordDetail, index int) int {
switch fieldType.T {
case abi.TupleTy:
// Recursively process tuple elements
for i, tupleElem := range fieldType.TupleElems {
fieldName := fieldType.TupleRawNames[i]
fullFieldPath := fmt.Sprintf("%s.%s", parentFieldPath, fieldName)
index = processFields(*tupleElem, fullFieldPath, dataWords, index)
index = processDWStaticField(*tupleElem, fullFieldPath, dataWords, index)
}
return index
case abi.ArrayTy:
Expand All @@ -525,19 +543,24 @@ func processFields(fieldType abi.Type, parentFieldPath string, dataWords map[str
}
}

func isDynamic(fieldType abi.Type) bool {
switch fieldType.T {
case abi.StringTy, abi.SliceTy, abi.BytesTy:
return true
case abi.TupleTy:
// If one element in a struct is dynamic, the whole struct is treated as dynamic.
for _, elem := range fieldType.TupleElems {
if isDynamic(*elem) {
return true
// processDWDynamicFields indexes static fields in dynamic structs.
// These fields come first after the static fields in the event encoding, so we can calculate their indices.
func processDWDynamicFields(eventName string, dataWords map[string]read.DataWordDetail, dynamicQueue []abi.Argument, dwIndex int) {
for _, arg := range dynamicQueue {
switch arg.Type.T {
case abi.TupleTy:
for i, tupleElem := range arg.Type.TupleElems {
// any field after a dynamic field can't be predictably indexed.
if isDynamic(*tupleElem) {
return
}
dwIndex = processDWStaticField(*tupleElem, fmt.Sprintf("%s.%s.%s", eventName, arg.Name, arg.Type.TupleRawNames[i]), dataWords, dwIndex)
}
default:
// exit if we see a dynamic field, as we can't predict the index of fields after it.
return
}
}
return false
}

// ConfirmationsFromConfig maps chain agnostic confidence levels defined in config to predefined EVM finality.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ func (it *EVMChainComponentsInterfaceTester[T]) Setup(t T) {
"OracleID": {Name: "oracleId"},
// this is just to illustrate an example, generic names shouldn't really be formatted like this since other chains might not store it in the same way
"NestedStaticStruct.Inner.IntVal": {Name: "nestedStaticStruct.Inner.IntVal"},
"NestedDynamicStruct.FixedBytes": {Name: "nestedDynamicStruct.FixedBytes"},
"BigField": {Name: "bigField"},
},
},
Expand Down
20 changes: 20 additions & 0 deletions core/services/relay/evm/evmtesting/run_tests.go
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,26 @@ func RunContractReaderInLoopTests[T TestingT[T]](t T, it ChainComponentsInterfac
}, it.MaxWaitTimeForEvents(), time.Millisecond*10)
})

t.Run("Filtering can be done on data words using value comparator on a static field in a dynamic struct that is the first dynamic field", func(t T) {
ts := &TestStruct{}
assert.Eventually(t, func() bool {
sequences, err := cr.QueryKey(ctx, boundContract, query.KeyFilter{Key: EventName, Expressions: []query.Expression{
query.Comparator("OracleID",
primitives.ValueComparator{
Value: uint8(ts2.OracleID),
Operator: primitives.Eq,
}),
query.Comparator("NestedDynamicStruct.FixedBytes",
primitives.ValueComparator{
Value: ts2.NestedDynamicStruct.FixedBytes,
Operator: primitives.Eq,
}),
},
}, query.LimitAndSort{}, ts)
return err == nil && len(sequences) == 1 && reflect.DeepEqual(&ts2, sequences[0].Data)
}, it.MaxWaitTimeForEvents(), time.Millisecond*10)
})

t.Run("Filtering can be done on data words using value comparators on fields that require manual index input", func(t T) {
empty12Bytes := [12]byte{}
val1, val2, val3, val4 := uint32(1), uint32(2), uint32(3), uint64(4)
Expand Down
2 changes: 1 addition & 1 deletion deployment/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ require (
github.com/sethvargo/go-retry v0.2.4
github.com/smartcontractkit/ccip-owner-contracts v0.0.0-20240926212305-a6deabdfce86
github.com/smartcontractkit/chain-selectors v1.0.27
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007

Check failure on line 26 in deployment/go.mod

View workflow job for this annotation

GitHub Actions / Validate go.mod dependencies

[./deployment/go.mod] dependency github.com/smartcontractkit/chainlink-ccip@v0.0.0-20241101155858-0cf44c0d3007 not on default branch (main). Version(commit): 0cf44c0d3007 Tree: https://github.com/smartcontractkit/chainlink-ccip/tree/0cf44c0d3007 Commit: https://github.com/smartcontractkit/chainlink-ccip/commit/0cf44c0d3007
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7
github.com/smartcontractkit/chainlink-protos/job-distributor v0.4.0
github.com/smartcontractkit/chainlink-testing-framework/lib v1.50.13
Expand Down
4 changes: 2 additions & 2 deletions deployment/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1382,8 +1382,8 @@ github.com/smartcontractkit/chain-selectors v1.0.27 h1:VE/ftX9Aae4gnw67yR1raKi+3
github.com/smartcontractkit/chain-selectors v1.0.27/go.mod h1:d4Hi+E1zqjy9HqMkjBE5q1vcG9VGgxf5VxiRHfzi2kE=
github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU=
github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4 h1:+VR9yKhbz+iCtWnCabaCDP18lIqGnk7YvGQIbJYgDrs=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4/go.mod h1:4adKaHNaxFsRvV/lYfqtbsWyyvIPUMLR0FdOJN/ljis=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007 h1:J8WGYWC6sArDG+oj5Nzd5exqDrL1HDpZhg1ofNL+bos=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007/go.mod h1:4adKaHNaxFsRvV/lYfqtbsWyyvIPUMLR0FdOJN/ljis=
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7 h1:AGi0kAtMRW1zl1h7sGw+3CKO4Nlev6iA08YfEcgJCGs=
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7/go.mod h1:TQ9/KKXZ9vr8QAlUquqGpSvDCpR+DtABKPXZY4CiRns=
github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241017133723-5277829bd53f h1:BwrIaQIx5Iy6eT+DfLhFfK2XqjxRm74mVdlX8gbu4dw=
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ require (
github.com/shopspring/decimal v1.4.0
github.com/smartcontractkit/chain-selectors v1.0.27
github.com/smartcontractkit/chainlink-automation v0.8.1
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007

Check failure on line 78 in go.mod

View workflow job for this annotation

GitHub Actions / Validate go.mod dependencies

[./go.mod] dependency github.com/smartcontractkit/chainlink-ccip@v0.0.0-20241101155858-0cf44c0d3007 not on default branch (main). Version(commit): 0cf44c0d3007 Tree: https://github.com/smartcontractkit/chainlink-ccip/tree/0cf44c0d3007 Commit: https://github.com/smartcontractkit/chainlink-ccip/commit/0cf44c0d3007
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7
github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241017133723-5277829bd53f
github.com/smartcontractkit/chainlink-data-streams v0.1.1-0.20241018134907-a00ba3729b5e
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1075,8 +1075,8 @@ github.com/smartcontractkit/chain-selectors v1.0.27 h1:VE/ftX9Aae4gnw67yR1raKi+3
github.com/smartcontractkit/chain-selectors v1.0.27/go.mod h1:d4Hi+E1zqjy9HqMkjBE5q1vcG9VGgxf5VxiRHfzi2kE=
github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU=
github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4 h1:+VR9yKhbz+iCtWnCabaCDP18lIqGnk7YvGQIbJYgDrs=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4/go.mod h1:4adKaHNaxFsRvV/lYfqtbsWyyvIPUMLR0FdOJN/ljis=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007 h1:J8WGYWC6sArDG+oj5Nzd5exqDrL1HDpZhg1ofNL+bos=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007/go.mod h1:4adKaHNaxFsRvV/lYfqtbsWyyvIPUMLR0FdOJN/ljis=
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7 h1:AGi0kAtMRW1zl1h7sGw+3CKO4Nlev6iA08YfEcgJCGs=
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7/go.mod h1:TQ9/KKXZ9vr8QAlUquqGpSvDCpR+DtABKPXZY4CiRns=
github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241017133723-5277829bd53f h1:BwrIaQIx5Iy6eT+DfLhFfK2XqjxRm74mVdlX8gbu4dw=
Expand Down
2 changes: 1 addition & 1 deletion integration-tests/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ require (
github.com/slack-go/slack v0.15.0
github.com/smartcontractkit/chain-selectors v1.0.27
github.com/smartcontractkit/chainlink-automation v0.8.1
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007

Check failure on line 38 in integration-tests/go.mod

View workflow job for this annotation

GitHub Actions / Validate go.mod dependencies

[./integration-tests/go.mod] dependency github.com/smartcontractkit/chainlink-ccip@v0.0.0-20241101155858-0cf44c0d3007 not on default branch (main). Version(commit): 0cf44c0d3007 Tree: https://github.com/smartcontractkit/chainlink-ccip/tree/0cf44c0d3007 Commit: https://github.com/smartcontractkit/chainlink-ccip/commit/0cf44c0d3007
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7
github.com/smartcontractkit/chainlink-protos/job-distributor v0.4.0
github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2
Expand Down
4 changes: 2 additions & 2 deletions integration-tests/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1403,8 +1403,8 @@ github.com/smartcontractkit/chain-selectors v1.0.27 h1:VE/ftX9Aae4gnw67yR1raKi+3
github.com/smartcontractkit/chain-selectors v1.0.27/go.mod h1:d4Hi+E1zqjy9HqMkjBE5q1vcG9VGgxf5VxiRHfzi2kE=
github.com/smartcontractkit/chainlink-automation v0.8.1 h1:sTc9LKpBvcKPc1JDYAmgBc2xpDKBco/Q4h4ydl6+UUU=
github.com/smartcontractkit/chainlink-automation v0.8.1/go.mod h1:Iij36PvWZ6blrdC5A/nrQUBuf3MH3JvsBB9sSyc9W08=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4 h1:+VR9yKhbz+iCtWnCabaCDP18lIqGnk7YvGQIbJYgDrs=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4/go.mod h1:4adKaHNaxFsRvV/lYfqtbsWyyvIPUMLR0FdOJN/ljis=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007 h1:J8WGYWC6sArDG+oj5Nzd5exqDrL1HDpZhg1ofNL+bos=
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007/go.mod h1:4adKaHNaxFsRvV/lYfqtbsWyyvIPUMLR0FdOJN/ljis=
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7 h1:AGi0kAtMRW1zl1h7sGw+3CKO4Nlev6iA08YfEcgJCGs=
github.com/smartcontractkit/chainlink-common v0.3.1-0.20241101093830-33711d0c3de7/go.mod h1:TQ9/KKXZ9vr8QAlUquqGpSvDCpR+DtABKPXZY4CiRns=
github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241017133723-5277829bd53f h1:BwrIaQIx5Iy6eT+DfLhFfK2XqjxRm74mVdlX8gbu4dw=
Expand Down
2 changes: 1 addition & 1 deletion integration-tests/load/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ require (
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101132401-00090bf7feb4 // indirect
github.com/smartcontractkit/chainlink-ccip v0.0.0-20241101155858-0cf44c0d3007 // indirect

Check failure on line 67 in integration-tests/load/go.mod

View workflow job for this annotation

GitHub Actions / Validate go.mod dependencies

[./integration-tests/load/go.mod] dependency github.com/smartcontractkit/chainlink-ccip@v0.0.0-20241101155858-0cf44c0d3007 // indirect not on default branch (main). Version(commit): 0cf44c0d3007 Tree: https://github.com/smartcontractkit/chainlink-ccip/tree/0cf44c0d3007 Commit: https://github.com/smartcontractkit/chainlink-ccip/commit/0cf44c0d3007
github.com/smartcontractkit/chainlink-cosmos v0.5.2-0.20241017133723-5277829bd53f // indirect
github.com/smartcontractkit/chainlink-testing-framework/havoc v1.50.2 // indirect
github.com/smartcontractkit/grpc-proxy v0.0.0-20240830132753-a7e17fec5ab7 // indirect
Expand Down
Loading

0 comments on commit 71ac32c

Please sign in to comment.