Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solana ccip_messaging_test #15965

Draft
wants to merge 62 commits into
base: develop
Choose a base branch
from
Draft

Solana ccip_messaging_test #15965

wants to merge 62 commits into from

Conversation

archseer
Copy link
Contributor

Requires

Supports

@archseer archseer changed the base branch from develop to solana-home-chain-update January 17, 2025 08:15
@archseer archseer force-pushed the solana-messaging-test branch from 05b8589 to 2274b90 Compare January 21, 2025 06:14
Copy link
Contributor

github-actions bot commented Jan 21, 2025

AER Report: CI Core

aer_workflow , commit , Detect Changes , Clean Go Tidy & Generate , Scheduled Run Frequency , Core Tests (go_core_tests) , Core Tests (go_core_tests_integration) , Core Tests (go_core_ccip_deployment_tests) , Core Tests (go_core_fuzz) , Core Tests (go_core_race_tests) , GolangCI Lint (.) , GolangCI Lint (integration-tests) , test-scripts , GolangCI Lint (deployment) , lint , SonarQube Scan

1. Undefined field in struct literal: Golang Lint (deployment)

Source of Error:
deployment/ccip/changeset/deployer_group.go:144:38: d.state.Chains[chain].Timelock undefined (type CCIPChainState has no field or method Timelock) (typecheck)
deployment/ccip/changeset/deployer_group.go:367:44: state.Chains[chain.Selector].Timelock undefined (type CCIPChainState has no field or method Timelock) (typecheck)
deployment/ccip/changeset/deployer_group.go:368:44: state.Chains[chain.Selector].CallProxy undefined (type CCIPChainState has no field or method CallProxy) (typecheck)
deployment/ccip/changeset/deployer_group.go:377:66: state.Chains[chain.Selector].Timelock undefined (type CCIPChainState has no field or method Timelock) (typecheck)
deployment/ccip/changeset/deployer_group.go:385:66: state.Chains[chain.Selector].ProposerMcm undefined (type CCIPChainState has no field or method ProposerMcm) (typecheck)
deployment/ccip/changeset/state.go:208:7: c.LinkToken undefined (type CCIPChainState has no field or method LinkToken) (typecheck)
deployment/ccip/changeset/state.go:209:32: c.LinkToken undefined (type CCIPChainState has no field or method LinkToken) (typecheck)
deployment/ccip/changeset/state.go:211:7: c.StaticLinkToken undefined (type CCIPChainState has no field or method StaticLinkToken) (typecheck)
deployment/ccip/changeset/state.go:212:32: c.StaticLinkToken undefined (type CCIPChainState has no field or method StaticLinkToken) (typecheck)
deployment/ccip/changeset/state.go:227:7: c.LinkToken undefined (type CCIPChainState has no field or method LinkToken) (typecheck)
deployment/ccip/changeset/state.go:230:7: c.StaticLinkToken undefined (type CCIPChainState has no field or method StaticLinkToken) (typecheck)
deployment/ccip/changeset/state.go:371:27: c.GenerateLinkView undefined (type CCIPChainState has no field or method GenerateLinkView) (typecheck)
deployment/ccip/changeset/state.go:378:33: c.GenerateStaticLinkView undefined (type CCIPChainState has no field or method GenerateStaticLinkView) (typecheck)
deployment/ccip/changeset/state.go:495:12: chain.LinkToken undefined (type CCIPChainState has no field or method LinkToken) (typecheck)
deployment/ccip/changeset/state.go:509:17: chainState.ProposerMcm undefined (type CCIPChainState has no field or method ProposerMcm) (typecheck)
deployment/ccip/changeset/state.go:512:33: chainState.ProposerMcm undefined (type CCIPChainState has no field or method ProposerMcm) (typecheck)
deployment/ccip/changeset/state.go:524:17: chainState.Timelock undefined (type CCIPChainState has no field or method Timelock) (typecheck)
deployment/ccip/changeset/state.go:527:33: chainState.Timelock undefined (type CCIPChainState has no field or method Timelock) (typecheck)
deployment/ccip/changeset/state.go:1066:17: chainState.Timelock undefined (type CCIPChainState has no field or method Timelock) (typecheck)
deployment/ccip/changeset/state.go:1069:60: chainState.ProposerMcm undefined (type CCIPChainState has no field or method ProposerMcm) (typecheck)
deployment/ccip/changeset/state.go:1072:58: chainState.CancellerMcm undefined (type CCIPChainState has no field or method CancellerMcm) (typecheck)
deployment/ccip/changeset/state.go:1075:58: chainState.BypasserMcm undefined (type CCIPChainState has no field or method BypasserMcm) (typecheck)
deployment/ccip/changeset/solana/cs_add_remote_chain.go:164:32: undefined: solOffRamp.OnRampAddress (typecheck)
deployment/ccip/changeset/solana/cs_add_remote_chain.go:289:29: undefined: solOffRamp.OnRampAddress (typecheck)
deployment/ccip/changeset/testhelpers/test_assertions.go:545:29: invalid operation: commitEvent.Report == nil (mismatched types ccip_offramp.MerkleRoot and untyped nil) (typecheck)
deployment/ccip/changeset/testhelpers/test_token_helpers.go:149:26: contract.Owner undefined (type T has no field or method Owner) (typecheck)
deployment/ccip/changeset/testhelpers/test_token_helpers.go:152:43: contract.Address undefined (type T has no field or method Address) (typecheck)
deployment/keystone/changeset/add_capabilities.go:62:40: contractSet.Timelock undefined (type ContractSet has no field or method Timelock) (typecheck)
deployment/keystone/changeset/add_capabilities.go:65:40: contractSet.ProposerMcm undefined (type ContractSet has no field or method ProposerMcm) (typecheck)
deployment/keystone/changeset/add_nodes.go:243:51: registryChainContracts.Timelock undefined (type ContractSet has no field or method Timelock) (typecheck)
deployment/keystone/changeset/add_nodes.go:246:51: registryChainContracts.ProposerMcm undefined (type ContractSet has no field or method ProposerMcm) (typecheck)
deployment/keystone/changeset/add_nops.go:65:40: contractSet.Timelock undefined (type ContractSet has no field or method Timelock) (typecheck)
deployment/keystone/changeset/add_nops.go:68:40: contractSet.ProposerMcm undefined (type ContractSet has no field or method ProposerMcm) (typecheck)
deployment/keystone/changeset/append_node_capabilities.go:24:5: declared and not used: contractSet (typecheck)
deployment/keystone/changeset/deploy_forwarder.go:104:4: declared and not used: contracts (typecheck)
deployment/keystone/changeset/deploy_ocr3.go:96:28: contracts.Timelock undefined (type ContractSet has no field or method Timelock) (typecheck)
deployment/keystone/changeset/deploy_ocr3.go:99:28: contracts.ProposerMcm undefined (type ContractSet has no field or method ProposerMcm) (typecheck)
deployment/keystone/changeset/state.go:42:34: cs.MCMSWithTimelockContracts undefined (type ContractSet has no field or method MCMSWithTimelockContracts) (typecheck)
deployment/keystone/changeset/update_node_capabilities.go:110:5: declared and not used: contractSet (typecheck)
deployment/keystone/changeset/update_nodes.go:94:36: contracts.Timelock undefined (type ContractSet has no field or method Timelock) (typecheck)
deployment/keystone/changeset/update_nodes.go:97:36: contracts.ProposerMcm undefined (type ContractSet has no field or method ProposerMcm) (typecheck)
deployment/ccip/changeset/solana/cs_chain_contracts_test.go:238:5: declared and not used: newTokenAddress (typecheck)
deployment/ccip/changeset/solana/cs_deploy_chain_test.go:42:2: declared and not used: nodes (typecheck)
deployment/ccip/changeset/solana/transfer_ccip_to_mcms_with_timelock_test.go:203:2: declared and not used: nodes (typecheck)
deployment/ccip/changeset/solana/cs_deploy_chain_test.go:12:2: "github.com/gagliardetto/binary" imported as solBinary and not used (typecheck)
deployment/ccip/changeset/solana/cs_deploy_chain_test.go:25:2: "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/globals" imported and not used (typecheck)
deployment/ccip/changeset/solana/transfer_ccip_to_mcms_with_timelock_test.go:5:2: "math/big" imported and not used (typecheck)
deployment/ccip/changeset/solana/transfer_ccip_to_mcms_with_timelock_test.go:25:2: "github.com/gagliardetto/binary" imported as solBinary and not used (typecheck)
deployment/ccip/changeset/solana/transfer_ccip_to_mcms_with_timelock_test.go:32:2: "github.com/smartcontractkit/chainlink/deployment/ccip/changeset/globals" imported and not used (typecheck)
deployment/ccip/changeset/solana/transfer_ccip_to_mcms_with_timelock_test.go:33:2: "github.com/smartcontractkit/chainlink/deployment/common/proposalutils" imported and not used (typecheck)

Why: The errors indicate that the struct CCIPChainState or ContractSet does not have the fields or methods being accessed, such as Timelock, CallProxy, ProposerMcm, etc.

Suggested fix: Ensure that the CCIPChainState and ContractSet structs are defined with the required fields and methods. If these fields are intended to be part of the structs, they need to be added to the struct definitions.

2. Unknown field in struct literal: Run Tests

Source of Error:
../capabilities/ccip/configs/solana/chain_writer.go:158:5: unknown field Optional in struct literal of type chainwriter.ATALookup
../capabilities/ccip/configs/solana/contract_reader.go:48:23: undefined: solanacodec.IdlTypeDefTyKindCustom
../capabilities/ccip/configs/solana/contract_reader.go:49:4: unknown field Codec in struct literal of type "github.com/smartcontractkit/chainlink-solana/pkg/solana/codec".IdlTypeDefTy
../capabilities/ccip/configs/solana/contract_reader.go:68:7: unknown field EventDefinitions in struct literal of type "github.com/smartcontractkit/chainlink-solana/pkg/solana/config".ReadDefinition
../capabilities/ccip/configs/solana/contract_reader.go:68:33: undefined: config.EventDefinitions
../capabilities/ccip/configs/solana/contract_reader.go:87:7: unknown field EventDefinitions in struct literal of type "github.com/smartcontractkit/chainlink-solana/pkg/solana/config".ReadDefinition

Why: The errors indicate that the struct ATALookup, IdlTypeDefTy, and ReadDefinition do not have the fields Optional, Codec, and EventDefinitions respectively.

Suggested fix: Ensure that the structs ATALookup, IdlTypeDefTy, and ReadDefinition are defined with the required fields. If these fields are intended to be part of the structs, they need to be added to the struct definitions.

3. Undefined field in struct literal: Core Tests (go_core_tests_integration)

Source of Error:
core/capabilities/ccip/configs/solana/chain_writer.go:158:5: unknown field Optional in struct literal of type chainwriter.ATALookup
core/capabilities/ccip/configs/solana/contract_reader.go:48:23: undefined: solanacodec.IdlTypeDefTyKindCustom
core/capabilities/ccip/configs/solana/contract_reader.go:49:4: unknown field Codec in struct literal of type "github.com/smartcontractkit/chainlink-solana/pkg/solana/codec".IdlTypeDefTy
core/capabilities/ccip/configs/solana/contract_reader.go:68:7: unknown field EventDefinitions in struct literal of type "github.com/smartcontractkit/chainlink-solana/pkg/solana/config".ReadDefinition
core/capabilities/ccip/configs/solana/contract_reader.go:68:33: undefined: config.EventDefinitions
core/capabilities/ccip/configs/solana/contract_reader.go:87:7: unknown field EventDefinitions in struct literal of type "github.com/smartcontractkit/chainlink-solana/pkg/solana/config".ReadDefinition

Why: The errors indicate that the struct ATALookup, IdlTypeDefTy, and ReadDefinition do not have the fields Optional, Codec, and EventDefinitions respectively.

Suggested fix: Ensure that the structs ATALookup, IdlTypeDefTy, and ReadDefinition are defined with the required fields. If these fields are intended to be part of the structs, they need to be added to the struct definitions.

4. Undefined field in struct literal: Core Tests (go_core_ccip_deployment_tests)

Source of Error:
../core/capabilities/ccip/configs/solana/chain_writer.go:158:5: unknown field Optional in struct literal of type chainwriter.ATALookup
../core/capabilities/ccip/configs/solana/contract_reader.go:48:23: undefined: solanacodec.IdlTypeDefTyKindCustom
../core/capabilities/ccip/configs/solana/contract_reader.go:49:4: unknown field Codec in struct literal of type "github.com/smartcontractkit/chainlink-solana/pkg/solana/codec".IdlTypeDefTy
../core/capabilities/ccip/configs/solana/contract_reader.go:68:7: unknown field EventDefinitions in struct literal of type "github.com/smartcontractkit/chainlink-solana/pkg/solana/config".ReadDefinition
../core/capabilities/ccip/configs/solana/contract_reader.go:68:33: undefined: config.EventDefinitions
../core/capabilities/ccip/configs/solana/contract_reader.go:87:7: unknown field EventDefinitions in struct literal of type "github.com/smartcontractkit/chainlink-solana/pkg/solana/config".ReadDefinition

Why: The errors indicate that the struct ATALookup, IdlTypeDefTy, and ReadDefinition do not have the fields Optional, Codec, and EventDefinitions respectively.

Suggested fix: Ensure that the structs ATALookup, IdlTypeDefTy, and ReadDefinition are defined with the required fields. If these fields are intended to be part of the structs, they need to be added to the struct definitions.

5. Declared and not used: Golang Lint (integration-tests)

Source of Error:
integration-tests/smoke/ccip/ccip_disable_lane_test.go:45:3: declared and not used: linkPrice (typecheck)
integration-tests/smoke/ccip/ccip_disable_lane_test.go:46:3: declared and not used: wethPrice (typecheck)
integration-tests/smoke/ccip/ccip_token_transfer_test.go:241:2: declared and not used: ownerSourceChain (typecheck)
integration-tests/smoke/ccip/ccip_usdc_test.go:54:2: declared and not used: ownerChainB (typecheck)

Why: The errors indicate that the variables linkPrice, wethPrice, ownerSourceChain, and ownerChainB are declared but not used in the code.

Suggested fix: Remove the unused variable declarations or use them in the code if they are intended to be used.

6. Undefined field in struct literal: Golang Lint (.)

Source of Error:
core/internal/cltest/cltest.go:266:38: app.KeyStore undefined (type *TestApplication has no field or method KeyStore) (typecheck)
core/internal/cltest/cltest.go:269:34: app.KeyStore undefined (type *TestApplication has no field or method KeyStore) (typecheck)
core/internal/cltest/cltest.go:288:27: app.GetKeyStore undefined (type *TestApplication has no field or method GetKeyStore) (typecheck)
core/internal/cltest/cltest.go:290:27: app.GetKeyStore undefined (type *TestApplication has no field or method GetKeyStore) (typecheck)
core/internal/cltest/cltest.go:292:27: app.GetKeyStore undefined (type *TestApplication has no field or method GetKeyStore) (typecheck)
core/internal/cltest/cltest.go:659:12: ta.GetDB undefined (type *TestApplication has no field or method GetDB) (typecheck)
core/internal/cltest/cltest.go:666:27: ta.KeyStore undefined (type *TestApplication has no field or method KeyStore) (typecheck)
core/internal/cltest/cltest.go:667:15: ta.KeyStore undefined (type *TestApplication has no field or method KeyStore) (typecheck)
core/internal/cltest/cltest.go:695:11: ta.BasicAdminUsersORM undefined (type *TestApplication has no field or method BasicAdminUsersORM) (typecheck)
core/internal/cltest/cltest.go:717:38: ta.GetConfig undefined (type *TestApplication has no field or method GetConfig) (typecheck)
core/internal/cltest/cltest.go:736:38: ta.GetConfig undefined (type *TestApplication has no field or method GetConfig) (typecheck)
core/internal/cltest/cltest.go:1328:95: app.GetConfig undefined (type *TestApplication has no field or method GetConfig) (typecheck)
core/capabilities/integration_tests/framework/don.go:291:18: node.Stop undefined (type *capabilityNode has no field or method Stop) (typecheck)
core/capabilities/integration_tests/framework/don.go:368:15: node.AddJobV2 undefined (type *capabilityNode has no field or
</cicore>
  
    

































<operatoruici>

## AER Report: [Operator UI CI](https://github.com/smartcontractkit/chainlink/actions/runs/13542554387) ran successfully :white_check_mark:

[aer_workflow](https://github.com/smartcontractkit/chainlink/actions/runs/13542577480/job/37846804094) , [commit](https://github.com/smartcontractkit/chainlink/commit/eea6fa4f1fe3c7dea7b70b9f0c4b5a223808e381)

</operatoruici>

@archseer archseer force-pushed the solana-messaging-test branch 8 times, most recently from 9a3d247 to ea69ddb Compare January 28, 2025 06:20
@archseer archseer force-pushed the solana-messaging-test branch from ea69ddb to f61a68e Compare January 28, 2025 08:44
Copy link
Contributor

github-actions bot commented Jan 28, 2025

I see you updated files related to core. Please run pnpm changeset in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

🎖️ No JIRA issue number found in: PR title, commit message, or branch name. Please include the issue ID in one of these.

@archseer archseer force-pushed the solana-messaging-test branch 3 times, most recently from 07c3db9 to 0c4cbad Compare January 29, 2025 14:50
Base automatically changed from solana-home-chain-update to develop January 29, 2025 19:01
@archseer archseer force-pushed the solana-messaging-test branch from 0c4cbad to 940a77e Compare January 30, 2025 06:40
@archseer archseer force-pushed the solana-messaging-test branch from 940a77e to 3ddcb4d Compare February 5, 2025 05:36
@archseer archseer changed the base branch from develop to deploy-transferable-solana February 5, 2025 05:39
Copy link
Contributor

github-actions bot commented Feb 5, 2025

Flakeguard Summary

Ran new or updated tests between develop and 3ddcb4d (solana-messaging-test).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

1 Results
Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
TestSmokeState 33.33% true true false 3 1 2 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset true 11.21s @AnieeG, @kylesmartin, @smartcontractkit/ccip-offchain, @smartcontractkit/deployment-automation

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

Base automatically changed from deploy-transferable-solana to develop February 10, 2025 18:17
@archseer archseer force-pushed the solana-messaging-test branch from 403ad6c to fe0c44e Compare February 11, 2025 05:35
Copy link
Contributor

Flakeguard Summary

Ran new or updated tests between develop and fe0c44e (solana-messaging-test).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

1 Results
Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
TestDeployerGroupGenerateMultipleProposals 0% true true false 3 0 3 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset true 0s @smartcontractkit/ccip-tooling, @smartcontractkit/ccip-offchain, @smartcontractkit/deployment-automation

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

Copy link
Contributor

Flakeguard Summary

Ran new or updated tests between develop and 716f32b (solana-messaging-test).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

1 Results
Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
TestDeployerGroupGenerateMultipleProposals 33.3333% true true false 3 1 2 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset true 9.91s @smartcontractkit/ccip-tooling, @smartcontractkit/ccip-offchain, @smartcontractkit/deployment-automation

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

Copy link
Contributor

Flakeguard Summary

Ran new or updated tests between develop and 036a154 (solana-messaging-test).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

2 Results
Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
TestDeployerGroupGenerateMultipleProposals 66.6667% true true false 3 2 1 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset true 9.81s @smartcontractkit/ccip-tooling, @smartcontractkit/ccip-offchain, @smartcontractkit/deployment-automation
TestDeployerGroupMultipleProposalsMCMS 0% true true false 2 0 2 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset true 0s @smartcontractkit/ccip-tooling, @smartcontractkit/ccip-offchain, @smartcontractkit/deployment-automation

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

@archseer archseer force-pushed the solana-messaging-test branch from 036a154 to 2a7a4a7 Compare February 12, 2025 09:19
Copy link
Contributor

Flakeguard Summary

Ran new or updated tests between develop and 2a7a4a7 (solana-messaging-test).

View Flaky Detector Details | Compare Changes

Found Flaky Tests ❌

1 Results
Name Pass Ratio Panicked? Timed Out? Race? Runs Successes Failures Skips Package Package Panicked? Avg Duration Code Owners
TestDeployerGroupMCMS 0% true true false 3 0 3 0 github.com/smartcontractkit/chainlink/deployment/ccip/changeset true 0s @smartcontractkit/ccip-tooling, @smartcontractkit/ccip-offchain, @smartcontractkit/deployment-automation

Artifacts

For detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json.

@archseer archseer force-pushed the solana-messaging-test branch from 2a7a4a7 to ff069ad Compare February 13, 2025 07:47
@archseer archseer force-pushed the solana-messaging-test branch from 72a8359 to 72919fb Compare February 26, 2025 07:24
@cl-sonarqube-production
Copy link

Quality Gate failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube

Catch issues before they fail your Quality Gate with our IDE extension SonarQube IDE SonarQube IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants