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 changeset support for e2e testing #15892

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

Conversation

yashnevatia
Copy link
Contributor

Requires

Supports

@tt-cll tt-cll changed the title Solana home chain update + router deploy Solana home chain update + save existing + add lane Jan 25, 2025
@tt-cll tt-cll changed the title Solana home chain update + save existing + add lane Solana support for e2e testing Jan 25, 2025
@tt-cll tt-cll changed the title Solana support for e2e testing Solana changeset support for e2e testing Jan 25, 2025
@tt-cll tt-cll requested review from archseer, toblich and tt-cll January 25, 2025 09:43
@archseer archseer requested a review from AnieeG January 27, 2025 14:30
Comment on lines +253 to +256
chainState, ok := state.Chains[chainSel]
if !ok {
return fmt.Errorf("chain %d not found in onchain state", chainSel)
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This check probably needs removing right? Otherwise it'll only permit EVM chains

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think long-term we need to rename state.Chains to state.EVMChains so it's a bit more obvious in code, but that's going to be a large diff

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, forgot to mention that UpdateOnRampsDestsChangeset is out of scope for this PR. This refactor is a bit bigger so we wanted to split it out. This is just starting to partition the checks into EVM vs non-EVM. And definitely agree about state.Chains vs state.EVMChains

proposers[remote] = state.Chains[remote].ProposerMcm
}
case chain_selectors.FamilySolana:
// TODO: check if ocr3 has already been set
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The EVM code calls a line isOCR3ConfigSetOnOffRamp. We need a similar check on Solana but it shouldn't interfere with the initial configuration we need for unit tests or E2E. We're marking this as a TODO because we will need it for full functionality but don't need it for happy path E2E.

Comment on lines +119 to +121
// TODO: what if chain family is solana ?
// bytes4(keccak256("CCIP ChainFamilySelector EVM"))
ChainFamilySelector: [4]uint8{40, 18, 213, 44},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs resolution?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes anything with a TODO we will need to follow up on before this is prod ready.

IsEnabled: update.EnabledAsSource,
}
// TODO: this should be GetDestChainStatePDA
destChainStatePDA := cs.GetEvmDestChainStatePDA(ccipRouterID, destination)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a selector probably?

Copy link
Contributor

@archseer archseer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's merge to unblock, but I'd like @AnieeG or someone else from tooling to take a look as well

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.

5 participants