Skip to content

fix: pad Poseidon hashv inputs to 32 bytes for syscall compatibility#2373

Merged
ananas-block merged 1 commit intorelease-rustfrom
release/light-sdk-v0.11.1
Apr 16, 2026
Merged

fix: pad Poseidon hashv inputs to 32 bytes for syscall compatibility#2373
ananas-block merged 1 commit intorelease-rustfrom
release/light-sdk-v0.11.1

Conversation

@ananas-block
Copy link
Copy Markdown
Contributor

Solana mainnet now enforces all Poseidon syscall inputs to be exactly 32 bytes. Left-pad sub-32-byte inputs inside Poseidon::hashv() right before the syscall/library call. This preserves field element values (leading BE zeros are a no-op) and keeps AsByteVec and #[truncate] backwards compatible.

Bumps light-hasher 1.1.0 -> 1.1.1, light-sdk 0.11.0 -> 0.11.1.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 15, 2026

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • ai-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a945bc9a-1ba9-455e-9295-1b081504d369

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/light-sdk-v0.11.1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Solana mainnet now enforces all Poseidon syscall inputs to be exactly
32 bytes. Left-pad sub-32-byte inputs inside Poseidon::hashv() right
before the syscall/library call. This preserves field element values
(leading BE zeros are a no-op) and keeps AsByteVec and #[truncate]
backwards compatible.

Bumps light-hasher 1.1.0 -> 1.1.1, light-sdk 0.11.0 -> 0.11.1.
@ananas-block ananas-block force-pushed the release/light-sdk-v0.11.1 branch from cc44cc4 to 0a393e6 Compare April 16, 2026 00:16
@ananas-block ananas-block merged commit 159a45d into release-rust Apr 16, 2026
4 of 15 checks passed
@ananas-block ananas-block deleted the release/light-sdk-v0.11.1 branch April 16, 2026 00:34
ananas-block added a commit that referenced this pull request Apr 16, 2026
…2373)

Solana mainnet now enforces all Poseidon syscall inputs to be exactly
32 bytes. Left-pad sub-32-byte inputs inside Poseidon::hashv() right
before the syscall/library call. This preserves field element values
(leading BE zeros are a no-op) and keeps AsByteVec and #[truncate]
backwards compatible.

Bumps light-hasher 1.1.0 -> 1.1.1, light-sdk 0.11.0 -> 0.11.1.
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