Files
agnostic_orderbook
ahash
aho_corasick
arrayref
arrayvec
atty
base64
bincode
blake3
block_buffer
block_padding
borsh
borsh_derive
borsh_derive_internal
borsh_schema_derive_internal
bs58
bv
adapter
bit_vec
traits
bytemuck
byteorder
cfg_if
constant_time_eq
cpufeatures
crunchy
crypto_mac
curve25519_dalek
backend
derivative
digest
either
enumflags2
enumflags2_derive
env_logger
filter
fmt
generic_array
getrandom
hashbrown
hex
hmac
hmac_drbg
humantime
itertools
adaptors
combinations.rscombinations_with_replacement.rsconcat_impl.rscons_tuples_impl.rsdiff.rseither_or_both.rsexactly_one_err.rsformat.rsfree.rsgroup_map.rsgroupbylazy.rsimpl_macros.rsintersperse.rskmerge_impl.rslazy_buffer.rslib.rsmerge_join.rsminmax.rsmultipeek_impl.rspad_tail.rspeeking_take_while.rspermutations.rsprocess_results_impl.rsput_back_n_impl.rsrciter_impl.rsrepeatn.rssize_hint.rssources.rstee.rstuple_impl.rsunique_impl.rswith_position.rszip_eq_impl.rszip_longest.rsziptuple.rs
keccak
lazy_static
libc
libsecp256k1
libsecp256k1_core
log
memchr
memchr
memmem
memmap2
num_derive
num_enum
num_enum_derive
num_traits
opaque_debug
ppv_lite86
proc_macro2
quote
rand
distributions
weighted
rngs
seq
rand_chacha
rand_core
rand_pcg
regex
regex_syntax
ast
hir
unicode_tables
rustversion
serde
de
private
ser
serde_bytes
serde_derive
sha2
sha3
solana_frozen_abi
solana_frozen_abi_macro
solana_logger
solana_program
nonce
stake
sysvar
account_info.rsborsh.rsbpf_loader.rsbpf_loader_deprecated.rsbpf_loader_upgradeable.rsclock.rsdecode_error.rsentrypoint.rsentrypoint_deprecated.rsepoch_schedule.rsfeature.rsfee_calculator.rshash.rsincinerator.rsinstruction.rskeccak.rslamports.rslib.rsloader_instruction.rsloader_upgradeable_instruction.rslog.rsmessage.rsnative_token.rsprogram.rsprogram_error.rsprogram_memory.rsprogram_option.rsprogram_pack.rsprogram_stubs.rspubkey.rsrent.rssanitize.rssecp256k1_program.rssecp256k1_recover.rsserialize_utils.rsshort_vec.rsslot_hashes.rsslot_history.rsstake_history.rssystem_instruction.rssystem_program.rs
solana_sdk_macro
spin
spl_token
subtle
syn
attr.rsawait.rsbigint.rsbuffer.rscustom_keyword.rscustom_punctuation.rsdata.rsderive.rsdiscouraged.rserror.rsexport.rsexpr.rsext.rsfile.rsgenerics.rsgroup.rsident.rsitem.rslib.rslifetime.rslit.rslookahead.rsmac.rsmacros.rsop.rsparse.rsparse_macro_input.rsparse_quote.rspat.rspath.rsprint.rspunctuated.rsreserved.rssealed.rsspan.rsspanned.rsstmt.rsthread.rstoken.rstt.rsty.rsverbatim.rswhitespace.rs
synstructure
termcolor
thiserror
thiserror_impl
typenum
unicode_xid
zeroize
zeroize_derive
>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
use de::read::SliceReader; use {ErrorKind, Result}; /// A trait for erroring deserialization if not all bytes were read. pub trait TrailingBytes { /// Checks a given slice reader to determine if deserialization used all bytes in the slice. fn check_end(reader: &SliceReader) -> Result<()>; } /// A TrailingBytes config that will allow trailing bytes in slices after deserialization. #[derive(Copy, Clone)] pub struct AllowTrailing; /// A TrailingBytes config that will cause bincode to produce an error if bytes are left over in the slice when deserialization is complete. #[derive(Copy, Clone)] pub struct RejectTrailing; impl TrailingBytes for AllowTrailing { #[inline(always)] fn check_end(_reader: &SliceReader) -> Result<()> { Ok(()) } } impl TrailingBytes for RejectTrailing { #[inline(always)] fn check_end(reader: &SliceReader) -> Result<()> { if reader.is_finished() { Ok(()) } else { Err(Box::new(ErrorKind::Custom( "Slice had bytes remaining after deserialization".to_string(), ))) } } }