Skip to content

sdk: Bump all SDK crates for relaxed dependencies#4969

Merged
mergify[bot] merged 2 commits intoanza-xyz:masterfrom
joncinque:bumpsdk
Feb 13, 2025
Merged

sdk: Bump all SDK crates for relaxed dependencies#4969
mergify[bot] merged 2 commits intoanza-xyz:masterfrom
joncinque:bumpsdk

Conversation

@joncinque
Copy link
Copy Markdown

@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
@mergify
Copy link
Copy Markdown

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.
Comment thread programs/bpf_loader/src/lib.rs Outdated
additional_bytes
);
}
UpgradeableLoaderInstruction::Migrate => unimplemented!(),
Copy link
Copy Markdown

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
Copy Markdown
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

}),
})
}
UpgradeableLoaderInstruction::Migrate => unimplemented!(),
Copy link
Copy Markdown

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
Copy Markdown
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 labels Feb 13, 2025
@mergify
Copy link
Copy Markdown

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
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 <me@jonc.dev>
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants