Skip to content

Commit

Permalink
Extract ed25519-instructions crate (#3330)
Browse files Browse the repository at this point in the history
* strat extracting ed25519-instructions crate

* missing feature activation

* fix imports and deps

* update lock file

* import program id from solana_sdk_ids

* use more granular dev deps

* fix program id in tests
  • Loading branch information
kevinheavey authored Nov 13, 2024
1 parent 89c0f70 commit 22e10c7
Show file tree
Hide file tree
Showing 7 changed files with 85 additions and 11 deletions.
21 changes: 21 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ members = [
"sdk/decode-error",
"sdk/define-syscall",
"sdk/derivation-path",
"sdk/ed25519-instructions",
"sdk/epoch-rewards",
"sdk/epoch-schedule",
"sdk/feature-set",
Expand Down Expand Up @@ -438,6 +439,7 @@ solana-decode-error = { path = "sdk/decode-error", version = "=2.2.0" }
solana-define-syscall = { path = "sdk/define-syscall", version = "=2.2.0" }
solana-derivation-path = { path = "sdk/derivation-path", version = "=2.2.0" }
solana-download-utils = { path = "download-utils", version = "=2.2.0" }
solana-ed25519-instructions = { path = "sdk/ed25519-instructions", version = "=2.2.0" }
solana-entry = { path = "entry", version = "=2.2.0" }
solana-program-entrypoint = { path = "sdk/program-entrypoint", version = "=2.2.0" }
solana-epoch-rewards = { path = "sdk/epoch-rewards", version = "=2.2.0" }
Expand Down
14 changes: 14 additions & 0 deletions programs/sbf/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions sdk/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ full = [
"digest",
"solana-pubkey/rand",
"dep:solana-cluster-type",
"dep:solana-ed25519-instructions",
"dep:solana-keypair",
"dep:solana-precompile-error",
"dep:solana-presigner",
Expand Down Expand Up @@ -104,6 +105,7 @@ solana-cluster-type = { workspace = true, features = [
solana-commitment-config = { workspace = true, optional = true, features = ["serde"] }
solana-decode-error = { workspace = true }
solana-derivation-path = { workspace = true }
solana-ed25519-instructions = { workspace = true, optional = true }
solana-feature-set = { workspace = true }
solana-fee-structure = { workspace = true, features = ["serde"] }
solana-frozen-abi = { workspace = true, optional = true, features = [
Expand Down
34 changes: 34 additions & 0 deletions sdk/ed25519-instructions/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[package]
name = "solana-ed25519-instructions"
description = "Instructions for the Solana ed25519 native program"
documentation = "https://docs.rs/solana-ed25519-instructions"
version = { workspace = true }
authors = { workspace = true }
repository = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
edition = { workspace = true }

[dependencies]
bytemuck = { workspace = true }
bytemuck_derive = { workspace = true }
ed25519-dalek = { workspace = true }
solana-feature-set = { workspace = true }
solana-instruction = { workspace = true, features = ["std"] }
solana-precompile-error = { workspace = true }
solana-sdk-ids = { workspace = true }

[dev-dependencies]
hex = { workspace = true }
rand0-7 = { workspace = true }
solana-hash = { workspace = true }
solana-keypair = { workspace = true }
solana-logger = { workspace = true }
solana-sdk = { path = ".." }
solana-signer = { workspace = true }

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[lints]
workspace = true
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
//!
//! [np]: https://docs.solanalabs.com/runtime/programs#ed25519-program
#![cfg(feature = "full")]

use {
bytemuck::bytes_of,
bytemuck_derive::{Pod, Zeroable},
Expand Down Expand Up @@ -79,7 +77,7 @@ pub fn new_ed25519_instruction(keypair: &ed25519_dalek::Keypair, message: &[u8])
instruction_data.extend_from_slice(message);

Instruction {
program_id: solana_sdk::ed25519_program::id(),
program_id: solana_sdk_ids::ed25519_program::id(),
accounts: vec![],
data: instruction_data,
}
Expand Down Expand Up @@ -190,15 +188,13 @@ fn get_data_slice<'a>(
pub mod test {
use {
super::*,
crate::{
ed25519_instruction::new_ed25519_instruction,
hash::Hash,
signature::{Keypair, Signer},
transaction::Transaction,
},
hex,
rand0_7::{thread_rng, Rng},
solana_feature_set::FeatureSet,
solana_hash::Hash,
solana_keypair::Keypair,
solana_sdk::transaction::Transaction,
solana_signer::Signer,
};

pub fn new_ed25519_instruction_raw(
Expand Down Expand Up @@ -249,7 +245,7 @@ pub mod test {
instruction_data.extend_from_slice(message);

Instruction {
program_id: solana_sdk::ed25519_program::id(),
program_id: solana_sdk_ids::ed25519_program::id(),
accounts: vec![],
data: instruction_data,
}
Expand Down
7 changes: 6 additions & 1 deletion sdk/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ pub use solana_signer::signers;
pub mod client;
pub mod compute_budget;
pub mod deserialize_utils;
pub mod ed25519_instruction;
pub mod entrypoint;
pub mod entrypoint_deprecated;
pub mod epoch_info;
Expand Down Expand Up @@ -120,6 +119,12 @@ pub use solana_bn254 as alt_bn128;
pub use solana_decode_error as decode_error;
#[deprecated(since = "2.1.0", note = "Use `solana-derivation-path` crate instead")]
pub use solana_derivation_path as derivation_path;
#[cfg(feature = "full")]
#[deprecated(
since = "2.2.0",
note = "Use `solana-ed25519-instructions` crate instead"
)]
pub use solana_ed25519_instructions as ed25519_instruction;
#[deprecated(since = "2.1.0", note = "Use `solana-feature-set` crate instead")]
pub use solana_feature_set as feature_set;
#[deprecated(since = "2.2.0", note = "Use `solana-fee-structure` crate instead")]
Expand Down

0 comments on commit 22e10c7

Please sign in to comment.