Skip to content

Conversation

@rustopian
Copy link
Owner

No description provided.

joncinque and others added 30 commits August 6, 2025 19:32
…a-xyz#264)

* sysvar!: Remove stake-interface dependency

#### Problem

The circular dependencies between the sdk, system-interface, and
stake-interface make crate publishing very tricky, especially around
breaking changes.

#### Summary of changes

To start breaking the chain, remove stake-interface from the repo.
stake-interface will implement the sysvar trait itself as part of the
next breaking change.

* system-interface: Add back into the sdk repo

#### Problem

Too many sdk crates depend on the system interface, which makes
updating, building, and publishing a big headache.

#### Summary of changes

Declare defeat, and add the system interface back into the sdk repo.
This will also remove circular dependencies completely, and make
publishing a pleasure once again.

* system-interface: Fixup post-migration

* Add feature required for solana-instruction

* Run cargo sort, specify circular dev deps with path

* Pacify dep checker by specifying path dependency

* Fixup docs build

* Fix doc / powerset build issues

* Run doctests with all features

* Update broken link
#### Problem

`AddressError` implements the num-traits primitives, but they probably
aren't needed.

#### Summary of changes

Remove the implementations.
* address: Gate `ParseAddressError` on `decode` feature

#### Problem

The `ParseAddressError` enum is only needed if the `decode` feature is
enabled, but it's currently included in all cases.

#### Summary of changes

Gate `ParseAddressError` on the `decode` feature.

* Oops, do the gating really correctly
github-actions bot and others added 26 commits August 7, 2025 12:08
* feature-gate-interface: Add revoke ix, reorganize

#### Problem

In order update Agave to SDK v3, it needs to use all crates that are
also on SDK v3. The Agave CLI uses solana-feature-gate-client, which is
auto-generated.

#### Summary of changes

Add what's required for the Agave CLI to just use
solana-feature-gate-interface, which is the revoke instruction and error
type.

While I was at it, I moved things around to make it look like a normal
interface crate, creating instruction.rs and state.rs.

* Fix deps
#### Problem

As noted in anza-xyz#226, the rent collector crate and struct are no longer
needed, and with anza-xyz/agave#7297, will no
longer be used.

#### Summary of changes

Mark the crate as deprecated, so that we can backport and release the
change, then delete the crate entirely.
…a-xyz#276)

* vote-interface: extract `vote_state_deserialize` mod

* vote-interface: make `deserialize_into` generic
@github-actions
Copy link

github-actions bot commented Aug 8, 2025

If this PR represents a change to the sysvar layout, please open a follow-up PR to update the JavaScript client @solana/sysvars (example)
Thank you for keeping the JavaScript clients in sync with the Rust clients.

@rustopian rustopian merged commit dc89365 into 235-sol-get-sysvar Aug 8, 2025
5 checks passed
@github-actions
Copy link

github-actions bot commented Aug 8, 2025

If this PR represents a change to the sysvar layout, please open a follow-up PR to update the JavaScript client @solana/sysvars (example)
Thank you for keeping the JavaScript clients in sync with the Rust clients.

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.

4 participants