solana/sdk
Jarred Nicholls 4da435f2a0 Avoid entropy sources when constructing a solana_program::message::Message.
The solana-program crate can be used in certain embedded environments (HSMs) where
the source of entropy, whether used for cryptographic purposes or not, is tightly
controlled. In these cases, using the default OS source of entrophy is not always
acceptable. Thus, using the default Rust stdlib entropy source for seeding its
default hasher, is prohibited. This means any use of HashMap/HashSet must be able
to be constructed and used with a custom hasher implementation.

This commit removes the use of Itertools::unique() to dedupe Instructions that are
being compiled into a new Message, which uses a default-configured HashMap
under-the-hood. Instead, we use a BTreeSet which does not invoke any entropy
source in order to seed a hash implementation.
2021-12-07 19:19:01 -08:00
..
benches Reformat imports to a consistent style for imports 2021-12-03 09:19:13 -08:00
bpf Bump bpf-tools to v1.20 2021-11-18 20:50:58 -08:00
cargo-build-bpf Bump version to v1.10.0 2021-12-04 20:17:54 +00:00
cargo-test-bpf Bump version to v1.10.0 2021-12-04 20:17:54 +00:00
docker-solana Fix solana docker image 2021-10-09 20:35:39 +01:00
macro Bump version to v1.10.0 2021-12-04 20:17:54 +00:00
program Avoid entropy sources when constructing a solana_program::message::Message. 2021-12-07 19:19:01 -08:00
src Ensure we have keys to activate these features (#21669) 2021-12-07 18:58:59 +00:00
.gitignore
Cargo.toml chore: bump itertools from 0.10.1 to 0.10.3 (#21643) 2021-12-06 23:23:26 -07:00
README.md Add new logos to README files and docs (#20049) 2021-09-21 13:35:36 -06:00
Xargo.toml Initial population of solana-program-sdk 2020-10-24 08:37:55 -07:00
build.rs

README.md

Solana

Solana SDK

Use the Solana SDK Crate to write client side applications in Rust. If writing on-chain programs, use the Solana Program Crate instead.

More information about Solana is available in the Solana documentation.

The Solana Program Library provides examples of how to use this crate.

Still have questions? Ask us on Discord