Expand description
Raw loader input parsing for Hopper Native.
This is the single source of truth for Solana loader input decoding. It owns duplicate-account resolution, canonical-account lookup, and original-index tracking so higher layers operate on already-resolved account views.
Structs§
- Frame
Info - Summary of a safely-parsed loader input frame.
- RawAccount
Index - Metadata for one parsed account slot in the loader input.
- RawInstruction
Frame - Instruction tail discovered after scanning the loader input buffer.
Enums§
- Direct
Mapping Error - Failure reported by the host/replay SIMD-0449 conformance decoder.
- Frame
Error - Errors returned by the safe parser.
Constants§
- MAX_
SAFE_ ACCOUNT_ SLOTS - Hard cap on accounts the safe parser will record slot offsets for.
- SIMD_
0449_ TABLE_ ENABLED - Whether this build trusts the SIMD-0449 account-pointer table
(
feature = "simd-0449"). Enabling it before the SIMD activates on the target cluster reads garbage, ship it only alongside the cluster gate, exactly likesimd-0321.
Functions§
- deserialize_
accounts ⚠ - Deserialize the loader input into
AccountViews. - deserialize_
accounts_ ⚠0449 - SIMD-0449 direct account resolution: overlay the runtime’s appended
account-pointer table as a borrowed
[AccountView], one bounds computation and onefrom_raw_parts, then capture each account’s invocation-wide resize baseline. - deserialize_
accounts_ ⚠0449_ checked - Validate and consume a SIMD-0449 account-pointer table.
- deserialize_
accounts_ ⚠0449_ into - Adapter matching the
deserialize_accounts_fastshape: copy up toMAXtable entries into the caller’s array (8 bytes per account, a pointer copy, not a record parse) so the existing entrypoint plumbing consumes the table without changing its account storage. - deserialize_
accounts_ ⚠fast - Fast two-argument deserialize: instruction data and program id are provided directly by the caller (from the SVM’s second entrypoint register), so the full account-scan pass is skipped entirely.
- deserialize_
leading_ ⚠accounts - Materialize at most
MAXleading account views without walking to the instruction tail. - parse_
instruction_ frame_ checked - Parse a loader-input byte buffer with full bounds checking.
- scan_
instruction_ ⚠frame - Parse just the instruction tail and account span from the loader input.