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 MessageHasher #15675

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

Solana MessageHasher #15675

wants to merge 6 commits into from

Conversation

prashantkumar1982
Copy link
Contributor

Solana MessageHasher initial implementation

Copy link
Contributor

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.

Copy link
Contributor

github-actions bot commented Dec 13, 2024

AER Report: CI Core

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

1. Missing required modules for Solana packages:[go_core_race_tests]

Source of Error:
##[error]core/capabilities/ccip/ccipsolana/msghasher.go:9:2: no required module provides package github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/ccip_router; to add it:
	go get github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/ccip_router
##[error]core/capabilities/ccip/ccipsolana/msghasher.go:10:2: no required module provides package github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/ccip; to add it:
	go get github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/ccip
##[error]core/capabilities/ccip/ccipsolana/msghasher.go:11:2: no required module provides package github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/tokens; to add it:
	go get github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/tokens

Why: The build process is failing because the required modules for Solana packages are not available. The Go compiler cannot find the specified packages in the module cache or the project's go.mod file.

Suggested fix: Run the following commands to add the missing modules to the project:

go get github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings/ccip_router
go get github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/ccip
go get github.com/smartcontractkit/chainlink-ccip/chains/solana/utils/tokens

2. Undefined fields and methods in TestApplication:[Golang Lint (.)]

Source of Error:
##[error]core/internal/cltest/cltest.go:263:38: app.KeyStore undefined (type *TestApplication has no field or method KeyStore) (typecheck)
	k, _ := MustInsertRandomKey(t, app.KeyStore.Eth(), chainID)
##[error]core/internal/cltest/cltest.go:266:34: app.KeyStore undefined (type *TestApplication has no field or method KeyStore) (typecheck)
	id, ks := chainID.ToInt(), app.KeyStore.Eth()
##[error]core/internal/cltest/cltest.go:279:25: app.KeyStore undefined (type *TestApplication has no field or method KeyStore) (typecheck)
	require.NoError(t, app.KeyStore.Unlock(ctx, Password))
##[error]core/internal/cltest/cltest.go:286:27: app.GetKeyStore undefined (type *TestApplication has no field or method GetKeyStore) (typecheck)
	require.NoError(t, app.GetKeyStore().P2P().Add(ctx, v))
##[error]core/internal/cltest/cltest.go:288:27: app.GetKeyStore undefined (type *TestApplication has no field or method GetKeyStore) (typecheck)
	require.NoError(t, app.GetKeyStore().CSA().Add(ctx, v))
##[error]core/internal/cltest/cltest.go:290:27: app.GetKeyStore undefined (type *TestApplication has no field or method GetKeyStore) (typecheck)
	require.NoError(t, app.GetKeyStore().OCR2().Add(ctx, v))
##[error]core/internal/cltest/cltest.go:641:12: ta.GetDB undefined (type *TestApplication has no field or method GetDB) (typecheck)
	err := ta.GetDB().GetContext(ctx, &id, `INSERT INTO sessions (id, email, last_used, created_at) VALUES ($1, $2, $3, NOW()) RETURNING id`, session.ID, email, session.LastUsed)
##[error]core/internal/cltest/cltest.go:648:27: ta.KeyStore undefined (type *TestApplication has no field or method KeyStore) (typecheck)
	require.NoError(ta.t, ta.KeyStore.Unlock(ctx, Password))
##[error]core/internal/cltest/cltest.go:649:15: ta.KeyStore undefined (type *TestApplication has no field or method KeyStore) (typecheck)
	_, err := ta.KeyStore.Eth().Import(ctx, []byte(content), Password, &FixtureChainID)
##[error]core/internal/cltest/cltest.go:677:11: ta.BasicAdminUsersORM undefined (type *TestApplication has no field or method BasicAdminUsersORM) (typecheck)
	err = ta.BasicAdminUsersORM().CreateUser(ctx, &u)
##[error]core/internal/cltest/cltest.go:699:38: ta.GetConfig undefined (type *TestApplication has no field or method GetConfig) (typecheck)
	Config: ta.GetConfig(),
##[error]core/internal/cltest/cltest.go:718:38: ta.GetConfig undefined (type *TestApplication has no field or method GetConfig) (typecheck)
	Config: ta.GetConfig(),
##[error]core/internal/cltest/cltest.go:1310:95: app.GetConfig undefined (type *TestApplication has no field or method GetConfig) (typecheck)
	ethClient.On("ConfiguredChainID", mock.Anything).Return(evmtest.MustGetDefaultChainID(t, app.GetConfig().EVMConfigs()), nil)

Why: The TestApplication struct is missing fields or methods such as KeyStore, GetKeyStore, GetDB, BasicAdminUsersORM, and GetConfig. This could be due to changes in the struct definition or incomplete refactoring.

Suggested fix: Ensure that the TestApplication struct includes the required fields and methods. Update the struct definition or refactor the code to match the current struct design.

3. Undefined methods in capabilityNode:[Golang Lint (.)]

Source of Error:
##[error]core/capabilities/integration_tests/framework/don.go:260:18: node.Stop undefined (type *capabilityNode has no field or method Stop) (typecheck)
	if err := node.Stop(); err != nil {
##[error]core/capabilities/integration_tests/framework/don.go:337:15: node.AddJobV2 undefined (type *capabilityNode has no field or method AddJobV2) (typecheck)
	err := node.AddJobV2(ctx, j)

Why: The capabilityNode struct is missing the Stop and AddJobV2 methods. This could be due to changes in the struct definition or incomplete implementation.

Suggested fix: Implement the Stop and AddJobV2 methods in the capabilityNode struct or refactor the code to use the correct methods.

4. Incorrect arguments in function calls:[Golang Lint (.)]

Source of Error:
##[error]core/chains/evm/txmgr/broadcaster_test.go:683:100: not enough arguments in call to commonutils.JustError
	have (unknown type)
	want (interface{}, error) (typecheck)
	assert.NoError(t, commonutils.JustError(db.Exec(`DELETE FROM evm.txes WHERE state = 'unstarted'`)))
##[error]core/cmd/aptos_keys_commands_test.go:67:63: not enough arguments in call to utils.JustError
	have (unknown type)
	want (interface{}, error) (typecheck)
	require.NoError(t, utils.JustError(ks.Delete(ctx, key.ID())))
##[error]core/cmd/aptos_keys_commands_test.go:154:85: not enough arguments in call to utils.JustError
	have (*invalid type)
	want (interface{}, error) (typecheck)
	require.NoError(t, utils.JustError(app.GetKeyStore().Aptos().Delete(ctx, key.ID())))
##[error]core/cmd/cosmos_keys_commands_test.go:67:63: not enough arguments in call to utils.JustError
	have (unknown type)
	want (interface{}, error) (typecheck)
	require.NoError(t, utils.JustError(ks.Delete(ctx, key.ID())))
##[error]core/cmd/cosmos_keys_commands_test.go:154:86: not enough arguments in call to utils.JustError
	have (*invalid type)
	want (interface{}, error) (typecheck)
	require.NoError(t, utils.JustError(app.GetKeyStore().Cosmos().Delete(ctx, key.ID())))
##[error]core/cmd/csa_keys_commands_test.go:128:82: not enough arguments in call to utils.JustError
	have (*invalid type)
	want (interface{}, error) (typecheck)
	require.NoError(t, utils.JustError(app.GetKeyStore().CSA().Delete(ctx, key.ID())))
##[error]core/cmd/solana_keys_commands_test.go:67:63: not enough arguments in call to utils.JustError
	have (unknown type)
	want (interface{}, error) (typecheck)
	require.NoError(t, utils.JustError(ks.Delete(ctx, key.ID())))
##[error]core/web/resolver/query.go:507:44: not enough arguments in call to NewConfigV2Payload
	have (unknown type)
	want (string, string) (typecheck)
	return NewConfigV2Payload(cfg.ConfigTOML()), nil

Why: The function calls to commonutils.JustError, utils.JustError, and NewConfigV2Payload have incorrect arguments. The number or types of arguments do not match the function signatures.

Suggested fix: Update the function calls to match the required signatures. Ensure that the correct number and types of arguments are passed to these functions.

AER Report: Operator UI CI ran successfully ✅

aer_workflow , commit

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.

1 participant