Skip to content

feat: add wincode serialization as alternative to bincode - #328

Merged
joncinque merged 2 commits into
solana-program:mainfrom
kskalski:ks/inteface_wincode
Aug 27, 2026
Merged

feat: add wincode serialization as alternative to bincode#328
joncinque merged 2 commits into
solana-program:mainfrom
kskalski:ks/inteface_wincode

Conversation

@kskalski

@kskalski kskalski commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Add a wincode feature to the interface crate that implements ConfigKeys (de)serialization, get_config_data and the instruction builders on top of wincode instead of bincode. The encoding is byte-identical to bincode; wincode takes precedence when both features are enabled.

Bump solana-instruction, solana-pubkey, solana-short-vec and solana-system-interface to versions exposing their wincode features, and drop the unused solana-account dependency from the interface crate.

Add a `wincode` feature to the interface crate that implements
`ConfigKeys` (de)serialization, `get_config_data` and the instruction
builders on top of wincode instead of bincode. The encoding is
byte-identical to bincode; `wincode` takes precedence when both features
are enabled.

Bump solana-instruction, solana-pubkey, solana-short-vec and
solana-system-interface to versions exposing their `wincode` features,
and drop the unused solana-account dependency from the interface crate.
@kskalski
kskalski marked this pull request as ready for review August 15, 2026 07:48
joncinque
joncinque previously approved these changes Aug 26, 2026

@joncinque joncinque left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks great!

Problem:
- cargo spellcheck rejects "backend", missing from hunspell dictionary

Summary of Changes:
- name bincode and wincode directly instead of calling them backends
@joncinque
joncinque merged commit 6317caa into solana-program:main Aug 27, 2026
25 checks passed
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