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 plugin codec implementation #15816

Open
wants to merge 26 commits into
base: develop
Choose a base branch
from

Conversation

huangzhen1997
Copy link
Contributor

@huangzhen1997 huangzhen1997 commented Dec 30, 2024

Copy link
Contributor

github-actions bot commented Dec 30, 2024

AER Report: CI Core

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

1. Undefined: capabilities_registry (typecheck):[Golang Lint (deployment)]

Source of Error:
deployment/ccip/changeset/internal/deploy_home_chain.go:79:35: undefined: capabilities_registry (typecheck)
func getNodeOperatorIDMap(capReg *capabilities_registry.CapabilitiesRegistry, maxNops uint32) (map[string]uint32, error) {
^
deployment/ccip/changeset/internal/deploy_home_chain.go:98:30: undefined: capabilities_registry (typecheck)
func LatestCCIPDON(registry *capabilities_registry.CapabilitiesRegistry) (*capabilities_registry.CapabilitiesRegistryDONInfo, error) {
^
deployment/ccip/changeset/internal/deploy_home_chain.go:116:30: undefined: capabilities_registry (typecheck)
func DonIDForChain(registry *capabilities_registry.CapabilitiesRegistry, ccipHome *ccip_home.CCIPHome, chainSelector uint64) (uint32, error) {
^
**Why**: The `capabilities_registry` package is not imported or is incorrectly referenced in the code.

Suggested fix: Ensure that the capabilities_registry package is correctly imported and referenced in the code.

2. Missing method BalanceAt (typecheck):[Golang Lint (deployment)]

Source of Error:
deployment/multiclient.go:43:23: cannot use &MultiClient{} (value of type *MultiClient) as OnchainClient value in variable declaration: *MultiClient does not implement OnchainClient (missing method BalanceAt) (typecheck)
var _ OnchainClient = &MultiClient{}
^
**Why**: The `MultiClient` struct does not implement the `BalanceAt` method required by the `OnchainClient` interface.

Suggested fix: Implement the BalanceAt method for the MultiClient struct.

3. Undefined: ethereum (typecheck):[Golang Lint (deployment)]

Source of Error:
deployment/helpers.go:52:10: undefined: ethereum (typecheck)
	call := ethereum.CallMsg{
	 ^
**Why**: The `ethereum` package is not imported or is incorrectly referenced in the code.

Suggested fix: Ensure that the ethereum package is correctly imported and referenced in the code.

4. Declared and not used: onRamp100 (typecheck):[Golang Lint (deployment)]

Source of Error:
deployment/address_book_test.go:76:2: declared and not used: onRamp100 (typecheck)
	onRamp100 := NewTypeAndVersion("OnRamp", Version1_0_0)
	^
deployment/address_book_test.go:77:2: declared and not used: onRamp110 (typecheck)
	onRamp110 := NewTypeAndVersion("OnRamp", Version1_1_0)
	^
deployment/address_book_test.go:129:2: declared and not used: onRamp100 (typecheck)
	onRamp100 := NewTypeAndVersion("OnRamp", Version1_0_0)
	^
deployment/address_book_test.go:130:2: declared and not used: onRamp110 (typecheck)
	onRamp110 := NewTypeAndVersion("OnRamp", Version1_1_0)
	^
deployment/address_book_test.go:250:2: declared and not used: onRamp120 (typecheck)
	onRamp120 := NewTypeAndVersion("OnRamp", Version1_2_0)
	^
**Why**: The variables `onRamp100`, `onRamp110`, and `onRamp120` are declared but not used in the code.

Suggested fix: Remove the unused variable declarations or use them in the code.

5. Undefined field or method Timelock (typecheck):[Golang Lint (deployment)]

Source of Error:
deployment/ccip/changeset/cs_ccip_home.go:470:63: state.Chains[cfg.HomeChainSelector].Timelock undefined (type CCIPChainState has no field or method Timelock) (typecheck)
	cfg.HomeChainSelector: state.Chains[cfg.HomeChainSelector].Timelock.Address(),
	 ^
deployment/ccip/changeset/cs_ccip_home.go:473:63: state.Chains[cfg.HomeChainSelector].ProposerMcm undefined (type CCIPChainState has no field or method ProposerMcm) (typecheck)
	cfg.HomeChainSelector: state.Chains[cfg.HomeChainSelector].ProposerMcm,
	 ^
**Why**: The `CCIPChainState` struct does not have the `Timelock` or `ProposerMcm` fields or methods.

Suggested fix: Ensure that the Timelock and ProposerMcm fields or methods are correctly defined in the CCIPChainState struct.

6. Undefined: gethParams.Version (typecheck):[Run Tests]

Source of Error:
../gethwrappers/abigen.go:52:27: undefined: gethParams.Version
../gethwrappers/abigen.go:55:15: undefined: gethParams.Version
**Why**: The `gethParams` package or its `Version` field is not imported or is incorrectly referenced in the code.

Suggested fix: Ensure that the gethParams package and its Version field are correctly imported and referenced in the code.

7. Missing go.sum entry for module providing package github.com/ethereum/go-ethereum (imported by github.com/smartcontractkit/chainlink/deployment):[Run tests]

Source of Error:
helpers.go:11:2: missing go.sum entry for module providing package github.com/ethereum/go-ethereum (imported by github.com/smartcontractkit/chainlink/deployment); to add:
	go get github.com/smartcontractkit/chainlink/deployment
**Why**: The `go.sum` file is missing an entry for the `github.com/ethereum/go-ethereum` package.

Suggested fix: Run go get github.com/smartcontractkit/chainlink/deployment to update the go.sum file with the missing entry.

8. Not enough arguments in call to client.Decode (typecheck):[Golang Lint (integration-tests)]

Source of Error:
integration-tests/universal/log_poller/helpers.go:823:124: not enough arguments in call to client.Decode
	have (unknown type)
	want (*"github.com/ethereum/go-ethereum/core/types".Transaction, error) (typecheck)
	_, err = client.Decode((*task.emitter).EmitLogIntsFromKey(getIntSlice(*cfg.General.EventsPerTx), client.AnySyncedKey()))
	 ^
integration-tests/universal/log_poller/helpers.go:825:131: not enough arguments in call to client.Decode
	have (unknown type)
	want (*"github.com/ethereum/go-ethereum/core/types".Transaction, error) (typecheck)
	_, err = client.Decode((*task.emitter).EmitLogIntsIndexedFromKey(getIntSlice(*cfg.General.EventsPerTx), client.AnySyncedKey()))
	 ^
integration-tests/universal/log_poller/helpers.go:827:130: not enough arguments in call to client.Decode
	have (unknown type)
	want (*"github.com/ethereum/go-ethereum/core/types".Transaction, error) (typecheck)
	_, err = client.Decode((*task.emitter).EmitLogStringsFromKey(getStringSlice(*cfg.General.EventsPerTx), client.AnySyncedKey()))
	 ^
**Why**: The `client.Decode` function is called with an incorrect number of arguments.

Suggested fix: Ensure that the correct number and types of arguments are passed to the client.Decode function.

9. Declared and not used: ownerChainB (typecheck):[Golang Lint (integration-tests)]

Source of Error:
integration-tests/smoke/ccip/ccip_usdc_test.go:52:2: declared and not used: ownerChainB (typecheck)
	ownerChainB := e.Chains[chainB].DeployerKey
	^
**Why**: The variable `ownerChainB` is declared but not used in the code.

Suggested fix: Remove the unused variable declaration or use it in the code.

10. Can't run linter goanalysis_metalinter (typecheck):[Golang Lint (core/scripts)]

Source of Error:
level=warning msg="[runner] Can't run linter goanalysis_metalinter: inspect: failed to load package keeper: could not load export data: no export data for \"github.com/smartcontractkit/chainlink/v2/core/services/keeper\""
level=error msg="Running error: can't run linter goanalysis_metalinter\ninspect: failed to load package keeper: could not load export data: no export data for \"github.com/smartcontractkit/chainlink/v2/core/services/keeper\""
**Why**: The linter cannot run because it failed to load the `keeper` package.

Suggested fix: Ensure that the keeper package is correctly imported and that its export data is available.

11. Process completed with exit code 1 (git diff --stat --cached --exit-code):[Ensure clean after generate]

Source of Error:
deployment/mocks/offchain_client_mock.go | 1375 ------------------------------
go.md | 22 +-
2 files changed, 20 insertions(+), 1377 deletions(-)
**Why**: The `git diff --stat --cached --exit-code` command detected changes in the repository after running the generate command.

Suggested fix: Ensure that all generated files are committed to the repository before running the generate command.

AER Report: Operator UI CI ran successfully ✅

aer_workflow , commit

@huangzhen1997 huangzhen1997 marked this pull request as ready for review January 3, 2025 21:56
@huangzhen1997 huangzhen1997 requested review from a team as code owners January 3, 2025 21:56
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.

2 participants