Conversation
2a3dbc8 to
5b88862
Compare
|
5b88862 to
56c676d
Compare
|
I see you updated files related to
|
56c676d to
6ed54fd
Compare
|
|
This PR is stale because it has been open days with no activity. |
|
This PR has been automatically closed because it had been stale for > days. |
6ed54fd to
6b9a19b
Compare
CORA - Pending Reviewers
Legend: ✅ Approved | ❌ Changes Requested | 💬 Commented | 🚫 Dismissed | ⏳ Pending | ❓ Unknown For more details, see the full review summary. |
6b9a19b to
26aa369
Compare
There was a problem hiding this comment.
🔴 Test Results: Solana Test Helper Update
Affected failures:
- Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_Solana2EVM
- Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_Solana2EVM_LOOPP
- Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_token_transfer_test.go:*_LOOPP
- Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_token_transfer_test.go:*
- Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_EVM2Solana
What Broke
The updated chainlink-solana and chainlink-common dependencies, along with refactored Solana configuration types, have introduced incompatibilities and outdated type usage in the Solana test helpers (deployment/ccip/changeset/testhelpers/test_helpers_solana_v0_1_0.go). This prevents Solana log filters from being successfully registered or detected, leading to test timeouts and failures in event filter registration mechanisms.
Proposed Fixes
Update Solana test helpers to align with refactored chainlink-solana and chainlink-common dependencies. Map generic event names to chain-specific Solana names, use correct program IDs for event filter registration, replace outdated commitment types, and remove obsolete global variable assignments.
In test_helpers_solana_v0_1_0.go:219
return fmt.Errorf("failed to find event with name %s in onramp or offramp ABIs", eventName)
case chainsel.FamilySolana:
+ // Map the generic event name to the chain-specific name for Solana
+ switch eventName {
+ case consts.EventNameCCIPMessageSent:
+ eventID = "CcipCctpMessageSentEvent"
+ case consts.EventNameCommitReportAccepted:
+ eventID = "CommitReportAccepted"
+ case consts.EventNameExecutionStateChanged:
+ eventID = consts.EventNameExecutionStateChanged
+ default:
+ eventID = eventName
+ }
- eventID = eventName
case chainsel.FamilyTon:
eventID = eventNameIn test_helpers_solana_v0_1_0.go:255
- onRampAddr, err := onchainState.GetOnRampAddressBytes(sourceChainSel)
+ onRampProgramID := solutils.GetProgramID(solutils.ProgCCIPRouter)
require.NoError(t, err)
// Ensure CCIPMessageSent event filter is registered
// Sending message too early could result in LogPoller missing the send event
- err = WaitForEventFilterRegistration(t, onchainClient, sourceChainSel, consts.EventNameCCIPMessageSent, onRampAddr)
+ err = WaitForEventFilterRegistration(t, onchainClient, sourceChainSel, consts.EventNameCCIPMessageSent, onRampProgramID.Bytes())
require.NoError(t, err)
// Ensure CommitReportAccepted and ExecutionStateChanged event filters are registered for the offramp
// The LogPoller could pick up the message sent event but miss the commit or execute event
- offRampAddr, err := onchainState.GetOffRampAddressBytes(destChainSel)
+ offRampProgramID := solutils.GetProgramID(solutils.ProgCCIPOfframp)
require.NoError(t, err)
- err = WaitForEventFilterRegistration(t, onchainClient, destChainSel, consts.EventNameCommitReportAccepted, offRampAddr)
+ err = WaitForEventFilterRegistration(t, onchainClient, destChainSel, consts.EventNameCommitReportAccepted, offRampProgramID.Bytes())
require.NoError(t, err)
- err = WaitForEventFilterRegistration(t, onchainClient, destChainSel, consts.EventNameExecutionStateChanged, offRampAddr)
+ err = WaitForEventFilterRegistration(t, onchainClient, destChainSel, consts.EventNameExecutionStateChanged, offRampProgramID.Bytes())
require.NoError(t, err)In test_helpers_solana_v0_1_0.go:81
- solconfig "github.com/smartcontractkit/chainlink-ccip/chains/solana/contracts/tests/config"In test_helpers_solana_v0_1_0.go:322
- return env.BlockChains.SolanaChains()[chainSelector].Client.GetSlot(ctx, solconfig.DefaultCommitment)
+ return env.BlockChains.SolanaChains()[chainSelector].Client.GetSlot(ctx, rpc.Confirmed)In test_helpers_solana_v0_1_0.go:723
- // set config.FeeQuoterProgram and CcipRouterProgram since they point to wrong addresses
- solconfig.FeeQuoterProgram = s.FeeQuoter
- solconfig.CcipRouterProgram = s.RouterIn test_helpers_solana_v0_1_0.go:758
- err = solcommon.GetAccountDataBorshInto(ctx, client, tokenPool.AdminRegistryPDA, solconfig.DefaultCommitment, &tokenAdminRegistry)
+ err = solcommon.GetAccountDataBorshInto(ctx, client, tokenPool.AdminRegistryPDA, rpc.Confirmed, &tokenAdminRegistry)In test_helpers_solana_v0_1_0.go:811
- result, err := solcommon.SendAndConfirmWithLookupTables(ctx, client, ixs, *sender, solconfig.DefaultCommitment, addressTables, solcommon.AddComputeUnitLimit(400_000))
+ result, err := solcommon.SendAndConfirmWithLookupTables(ctx, client, ixs, *sender, rpc.Confirmed, addressTables, solcommon.AddComputeUnitLimit(400_000))In test_helpers_solana_v0_1_0.go:2276
- _, balance, berr := soltokens.TokenBalance(ctx, chain.Client, receiver, solconfig.DefaultCommitment)
+ _, balance, berr := soltokens.TokenBalance(ctx, chain.Client, receiver, rpc.Confirmed)Autofix Options
You can apply the proposed fixes directly to your branch. Try the following:
- Comment
/trunk stack-fix gwPToqLfto generate a stacked PR with the proposed fixes. - Use MCP in your IDE to fix the issue. Try
Help me fix CI failures from gwPToqLfto get started.
Tip
Get Better Results: This CI job is not uploading test reports. Adding structured test reports enables more precise, test-level analysis with better root cause identification and more targeted fix recommendations.
👉🏻 Learn how to upload test results.
|
There was a problem hiding this comment.
🔴 Test Results: Unrelated Failure
Affected failures:
- Workflow Run: Integration Tests
What Broke
The root cause is an incompatibility arising from the refactoring of Solana-related types and the update of the chainlink-solana dependency. This change in underlying types likely led to runtime errors during integration tests, resulting in a generic exit code 1.
Autofix Options
You can use our MCP server to get AI assistance with debugging and fixing these failures.
- Use MCP in your IDE to debug the issue. Try
Help me fix CI failures from iwidYn7hto get started.
Tip
Get Better Results: This CI job is not uploading test reports. Adding structured test reports enables more precise, test-level analysis with better root cause identification and more targeted fix recommendations.
👉🏻 Learn how to upload test results.
There was a problem hiding this comment.
🔴 Test Results: Solana Contract Reader Misconfiguration
Affected failures:
- Workflow Run: Run CCIP integration In Memory Tests For PR / smoke/ccip/ccip_messaging_test.go:Test_CCIPMessaging_EVM2Solana_LOOPP
What Broke
The refactoring of Solana type imports in the contract reader configurations prevented the correct registration of event filters by the offchain client.
Proposed Fixes
Revert a typo in a commented-out line in core/capabilities/ccip/configs/solana/contract_reader.go related to OCR3 configuration, and run go mod tidy in the core directory to ensure correct dependency resolution.
go mod tidy- // &codec.ByteToBooleanModifierConfig{Fields: []string{"Ocrtypes.ConfigInfo.IsSignatureVerificationEnabled"}},
+ // &codec.ByteToBooleanModifierConfig{Fields: []string{"OcrConfig.ConfigInfo.IsSignatureVerificationEnabled"}},Autofix Options
You can use our MCP server to get AI assistance with debugging and fixing these failures.
- Use MCP in your IDE to debug the issue. Try
Help me fix CI failures from dAQvMYfMto get started.


Requires: