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

sdk: Bump all SDK crates for relaxed dependencies #4969

Merged
merged 2 commits into from
Feb 13, 2025

Conversation

joncinque
Copy link

@joncinque joncinque commented Feb 13, 2025

Problem

The SDK relaxed its internal dependencies in
anza-xyz/solana-sdk#27, but the monorepo is still using the pinned versions.

Summary of changes

Update all SDK crates to their next version. For almost all of them, that's v2.2.1

Otherwise, the address-lookup-table-interface crates goes to v2.2.2, and the loader-v3-interface goes to v3.0.0 due to a breaking change.

To keep this PR small, the logic changes required for v3.0.0 are not implemented, and must be done in follow-up work, which essentially means reapplying the changes from #4661.

@joncinque joncinque requested a review from a team as a code owner February 13, 2025 13:59
Copy link

mergify bot commented Feb 13, 2025

The Firedancer team maintains a line-for-line reimplementation of the
native programs, and until native programs are moved to BPF, those
implementations must exactly match their Agave counterparts.
If this PR represents a change to a native program implementation (not
tests), please include a reviewer from the Firedancer team. And please
keep refactors to a minimum.

#### Problem

The SDK relaxed its internal dependencies in
anza-xyz/solana-sdk#27, but the monorepo is
still using the pinned versions.

#### Summary of changes

Update all SDK crates to their next version. For almost all of them,
that's v2.2.1

Otherwise, the address-lookup-table-interface crates goes to v2.2.2, and
the loader-v3-interface goes to v3.0.0 due to a breaking change.

To keep this PR small, the logic changes required for v3.0.0 are not
implemented, and must be done in follow-up work, which essentially means
reapplying the changes from solana-labs#4661.
@@ -1336,6 +1336,7 @@ fn process_loader_upgradeable_instruction(
additional_bytes
);
}
UpgradeableLoaderInstruction::Migrate => unimplemented!(),
Copy link

Choose a reason for hiding this comment

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

This should return InstructionError::InvalidInstructionData. Can't merge any code into master that would cause a validator to panic

Copy link
Author

Choose a reason for hiding this comment

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

Makes sense, done with 8eed5ab

@@ -187,6 +187,7 @@ pub fn parse_bpf_upgradeable_loader(
}),
})
}
UpgradeableLoaderInstruction::Migrate => unimplemented!(),
Copy link

Choose a reason for hiding this comment

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

same here, this would cause rpc to panic. Return ParseInstructionError::InstructionNotParsable(ParsableProgram::BpfUpgradeableLoader) here instead

Copy link
Author

Choose a reason for hiding this comment

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

Done with 8eed5ab

@joncinque joncinque added automerge automerge Merge this Pull Request automatically once CI passes v2.2 Backport to v2.2 branch labels Feb 13, 2025
Copy link

mergify bot commented Feb 13, 2025

Backports to the beta branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule. Exceptions include CI/metrics changes, CLI improvements and documentation updates on a case by case basis.

@mergify mergify bot merged commit a1ed2b1 into anza-xyz:master Feb 13, 2025
60 checks passed
mergify bot pushed a commit that referenced this pull request Feb 13, 2025
* sdk: Bump all SDK crates for relaxed dependencies

#### Problem

The SDK relaxed its internal dependencies in
anza-xyz/solana-sdk#27, but the monorepo is
still using the pinned versions.

#### Summary of changes

Update all SDK crates to their next version. For almost all of them,
that's v2.2.1

Otherwise, the address-lookup-table-interface crates goes to v2.2.2, and
the loader-v3-interface goes to v3.0.0 due to a breaking change.

To keep this PR small, the logic changes required for v3.0.0 are not
implemented, and must be done in follow-up work, which essentially means
reapplying the changes from #4661.

* Return errors instead of panicking

(cherry picked from commit a1ed2b1)
@joncinque joncinque deleted the bumpsdk branch February 13, 2025 16:41
joncinque added a commit that referenced this pull request Feb 13, 2025
* sdk: Bump all SDK crates for relaxed dependencies

#### Problem

The SDK relaxed its internal dependencies in
anza-xyz/solana-sdk#27, but the monorepo is
still using the pinned versions.

#### Summary of changes

Update all SDK crates to their next version. For almost all of them,
that's v2.2.1

Otherwise, the address-lookup-table-interface crates goes to v2.2.2, and
the loader-v3-interface goes to v3.0.0 due to a breaking change.

To keep this PR small, the logic changes required for v3.0.0 are not
implemented, and must be done in follow-up work, which essentially means
reapplying the changes from #4661.

* Return errors instead of panicking

(cherry picked from commit a1ed2b1)
Lichtso pushed a commit that referenced this pull request Feb 14, 2025
…4969) (#4972)

sdk: Bump all SDK crates for relaxed dependencies (#4969)

* sdk: Bump all SDK crates for relaxed dependencies

#### Problem

The SDK relaxed its internal dependencies in
anza-xyz/solana-sdk#27, but the monorepo is
still using the pinned versions.

#### Summary of changes

Update all SDK crates to their next version. For almost all of them,
that's v2.2.1

Otherwise, the address-lookup-table-interface crates goes to v2.2.2, and
the loader-v3-interface goes to v3.0.0 due to a breaking change.

To keep this PR small, the logic changes required for v3.0.0 are not
implemented, and must be done in follow-up work, which essentially means
reapplying the changes from #4661.

* Return errors instead of panicking

(cherry picked from commit a1ed2b1)

Co-authored-by: Jon C <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge automerge Merge this Pull Request automatically once CI passes v2.2 Backport to v2.2 branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants