Skip to content

Commit 6d18ff7

Browse files
authored
remove solana-program from program/src (#26)
* remove solana-program from program/src * fmt * use updated mollusk fork * switch to published mollusk * fix import in tests * add sdk to solana.dic
1 parent 08aa3cc commit 6d18ff7

File tree

11 files changed

+1187
-314
lines changed

11 files changed

+1187
-314
lines changed

Cargo.lock

Lines changed: 1099 additions & 257 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

program/Cargo.toml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,30 @@ bytemuck = "1.20.0"
1717
num-derive = "0.4"
1818
num-traits = "0.2"
1919
num_enum = "0.7.3"
20-
solana-program = "2.1.0"
20+
solana-account-info = "2.2.0"
21+
solana-cpi = "2.2.0"
22+
solana-decode-error = "2.2.0"
23+
solana-instruction = "2.2.0"
24+
solana-msg = "2.2.0"
25+
solana-program-entrypoint = "2.2.0"
26+
solana-program-error = "2.2.0"
27+
solana-program-memory = "2.2.0"
28+
solana-program-option = "2.2.0"
29+
solana-program-pack = "2.2.0"
30+
solana-pubkey = { version = "2.2.0", features = ["bytemuck"] }
31+
solana-rent = "2.2.0"
32+
solana-sdk-ids = "2.2.0"
33+
solana-sysvar = { version = "2.2.0", features = ["bincode"] }
2134
thiserror = "2.0"
2235

2336
[dev-dependencies]
2437
lazy_static = "1.5.0"
25-
mollusk-svm = { version = "0.0.13", git = "https://github.com/buffalojoec/mollusk.git" }
38+
mollusk-svm = "0.1.0"
2639
proptest = "1.5"
2740
serial_test = "3.2.0"
28-
solana-sdk = "2.1.0"
41+
solana-clock = "2.2.1"
42+
solana-native-token = "2.2.1"
43+
solana-sdk = "2.2.1"
2944

3045
[lib]
3146
crate-type = ["cdylib", "lib"]

program/src/entrypoint.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22
33
use {
44
crate::{error::TokenError, processor::Processor},
5-
solana_program::{
6-
account_info::AccountInfo, entrypoint::ProgramResult, program_error::PrintProgramError,
7-
pubkey::Pubkey,
8-
},
5+
solana_account_info::AccountInfo,
6+
solana_program_error::{PrintProgramError, ProgramResult},
7+
solana_pubkey::Pubkey,
98
};
109

11-
solana_program::entrypoint!(process_instruction);
10+
solana_program_entrypoint::entrypoint!(process_instruction);
1211
fn process_instruction(
1312
program_id: &Pubkey,
1413
accounts: &[AccountInfo],

program/src/error.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22
33
use {
44
num_derive::FromPrimitive,
5-
solana_program::{
6-
decode_error::DecodeError,
7-
msg,
8-
program_error::{PrintProgramError, ProgramError},
9-
},
5+
solana_decode_error::DecodeError,
6+
solana_msg::msg,
7+
solana_program_error::{PrintProgramError, ProgramError},
108
thiserror::Error,
119
};
1210

program/src/instruction.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22
33
use {
44
crate::{check_program_account, error::TokenError},
5-
solana_program::{
6-
instruction::{AccountMeta, Instruction},
7-
program_error::ProgramError,
8-
program_option::COption,
9-
pubkey::Pubkey,
10-
sysvar,
11-
},
5+
solana_instruction::{AccountMeta, Instruction},
6+
solana_program_error::ProgramError,
7+
solana_program_option::COption,
8+
solana_pubkey::Pubkey,
9+
solana_sdk_ids::sysvar,
1210
std::{convert::TryInto, mem::size_of},
1311
};
1412

program/src/lib.rs

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,33 @@ pub mod state;
1313
#[cfg(not(feature = "no-entrypoint"))]
1414
mod entrypoint;
1515

16-
// Export current sdk types for downstream users building with a different sdk
17-
// version
18-
pub use solana_program;
19-
use solana_program::{entrypoint::ProgramResult, program_error::ProgramError, pubkey::Pubkey};
16+
/// Export current sdk types for downstream users building with a different sdk
17+
/// version
18+
pub mod solana_program {
19+
#![allow(missing_docs)]
20+
pub mod entrypoint {
21+
pub use solana_program_error::ProgramResult;
22+
}
23+
pub mod instruction {
24+
pub use solana_instruction::{AccountMeta, Instruction};
25+
}
26+
pub mod program_error {
27+
pub use solana_program_error::{PrintProgramError, ProgramError};
28+
}
29+
pub mod program_option {
30+
pub use solana_program_option::COption;
31+
}
32+
pub mod program_pack {
33+
pub use solana_program_pack::{IsInitialized, Pack, Sealed};
34+
}
35+
pub mod pubkey {
36+
pub use solana_pubkey::{Pubkey, PUBKEY_BYTES};
37+
}
38+
}
39+
use {
40+
solana_program_error::{ProgramError, ProgramResult},
41+
solana_pubkey::Pubkey,
42+
};
2043

2144
/// Convert the UI representation of a token amount (using the decimals field
2245
/// defined in its mint) to the raw amount
@@ -82,7 +105,7 @@ pub fn try_ui_amount_into_amount(ui_amount: String, decimals: u8) -> Result<u64,
82105
.map_err(|_| ProgramError::InvalidArgument)
83106
}
84107

85-
solana_program::declare_id!("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
108+
solana_pubkey::declare_id!("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
86109

87110
/// Checks that the supplied program ID is the correct one for SPL-token
88111
pub fn check_program_account(spl_token_program_id: &Pubkey) -> ProgramResult {

program/src/native_mint.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
pub const DECIMALS: u8 = 9;
55

66
// The Mint for native SOL Token accounts
7-
solana_program::declare_id!("So11111111111111111111111111111111111111112");
7+
solana_pubkey::declare_id!("So11111111111111111111111111111111111111112");
88

99
#[cfg(test)]
1010
mod tests {
11-
use {super::*, solana_program::native_token::*};
11+
use {super::*, solana_native_token::*};
1212

1313
#[test]
1414
fn test_decimals() {

program/src/processor.rs

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,17 @@ use {
88
state::{Account, AccountState, Mint, Multisig},
99
try_ui_amount_into_amount,
1010
},
11-
solana_program::{
12-
account_info::{next_account_info, AccountInfo},
13-
entrypoint::ProgramResult,
14-
msg,
15-
program::set_return_data,
16-
program_error::ProgramError,
17-
program_memory::sol_memcmp,
18-
program_option::COption,
19-
program_pack::{IsInitialized, Pack},
20-
pubkey::{Pubkey, PUBKEY_BYTES},
21-
system_program,
22-
sysvar::{rent::Rent, Sysvar},
23-
},
11+
solana_account_info::{next_account_info, AccountInfo},
12+
solana_cpi::set_return_data,
13+
solana_msg::msg,
14+
solana_program_error::{ProgramError, ProgramResult},
15+
solana_program_memory::sol_memcmp,
16+
solana_program_option::COption,
17+
solana_program_pack::{IsInitialized, Pack},
18+
solana_pubkey::{Pubkey, PUBKEY_BYTES},
19+
solana_rent::Rent,
20+
solana_sdk_ids::system_program,
21+
solana_sysvar::Sysvar,
2422
};
2523

2624
/// Program state handler.
@@ -695,7 +693,7 @@ impl Processor {
695693
authority_info,
696694
account_info_iter.as_slice(),
697695
)?;
698-
} else if !solana_program::incinerator::check_id(destination_account_info.key) {
696+
} else if !solana_sdk_ids::incinerator::check_id(destination_account_info.key) {
699697
return Err(ProgramError::InvalidAccountData);
700698
}
701699

@@ -1027,7 +1025,7 @@ fn delete_account(account_info: &AccountInfo) -> Result<(), ProgramError> {
10271025
account_info.assign(&system_program::id());
10281026
let mut account_data = account_info.data.borrow_mut();
10291027
let data_len = account_data.len();
1030-
solana_program::program_memory::sol_memset(*account_data, 0, data_len);
1028+
solana_program_memory::sol_memset(*account_data, 0, data_len);
10311029
Ok(())
10321030
}
10331031

@@ -1042,7 +1040,8 @@ fn delete_account(account_info: &AccountInfo) -> Result<(), ProgramError> {
10421040
mod tests {
10431041
use {
10441042
super::*,
1045-
solana_program::{clock::Epoch, program_error::PrintProgramError},
1043+
solana_clock::Epoch,
1044+
solana_program_error::PrintProgramError,
10461045
std::sync::{Arc, RwLock},
10471046
};
10481047

program/src/state.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@ use {
44
crate::instruction::MAX_SIGNERS,
55
arrayref::{array_mut_ref, array_ref, array_refs, mut_array_refs},
66
num_enum::TryFromPrimitive,
7-
solana_program::{
8-
program_error::ProgramError,
9-
program_option::COption,
10-
program_pack::{IsInitialized, Pack, Sealed},
11-
pubkey::{Pubkey, PUBKEY_BYTES},
12-
},
7+
solana_program_error::ProgramError,
8+
solana_program_option::COption,
9+
solana_program_pack::{IsInitialized, Pack, Sealed},
10+
solana_pubkey::{Pubkey, PUBKEY_BYTES},
1311
};
1412

1513
/// Mint data.
@@ -120,8 +118,8 @@ impl Account {
120118
/// Checks if a token Account's owner is the `system_program` or the
121119
/// incinerator
122120
pub fn is_owned_by_system_program_or_incinerator(&self) -> bool {
123-
solana_program::system_program::check_id(&self.owner)
124-
|| solana_program::incinerator::check_id(&self.owner)
121+
solana_sdk_ids::system_program::check_id(&self.owner)
122+
|| solana_sdk_ids::incinerator::check_id(&self.owner)
125123
}
126124
}
127125
impl Sealed for Account {}

program/tests/processor.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3833,7 +3833,7 @@ fn test_burn_and_close_system_and_incinerator_tokens() {
38333833
&program_id,
38343834
&incinerator_account_key,
38353835
&mint_key,
3836-
&solana_program::incinerator::id(),
3836+
&solana_sdk_ids::incinerator::id(),
38373837
)
38383838
.unwrap(),
38393839
vec![&mut incinerator_account, &mut mint_account],
@@ -3845,7 +3845,7 @@ fn test_burn_and_close_system_and_incinerator_tokens() {
38453845
&program_id,
38463846
&system_account_key,
38473847
&mint_key,
3848-
&solana_program::system_program::id(),
3848+
&solana_sdk_ids::system_program::id(),
38493849
)
38503850
.unwrap(),
38513851
vec![&mut system_account, &mut mint_account],
@@ -3906,7 +3906,7 @@ fn test_burn_and_close_system_and_incinerator_tokens() {
39063906
close_account(
39073907
&program_id,
39083908
&incinerator_account_key,
3909-
&solana_program::incinerator::id(),
3909+
&solana_sdk_ids::incinerator::id(),
39103910
&owner_key,
39113911
&[]
39123912
)
@@ -3925,7 +3925,7 @@ fn test_burn_and_close_system_and_incinerator_tokens() {
39253925
close_account(
39263926
&program_id,
39273927
&system_account_key,
3928-
&solana_program::incinerator::id(),
3928+
&solana_sdk_ids::incinerator::id(),
39293929
&owner_key,
39303930
&[]
39313931
)
@@ -4022,7 +4022,7 @@ fn test_burn_and_close_system_and_incinerator_tokens() {
40224022
close_account(
40234023
&program_id,
40244024
&incinerator_account_key,
4025-
&solana_program::incinerator::id(),
4025+
&solana_sdk_ids::incinerator::id(),
40264026
&owner_key,
40274027
&[],
40284028
)
@@ -4040,7 +4040,7 @@ fn test_burn_and_close_system_and_incinerator_tokens() {
40404040
close_account(
40414041
&program_id,
40424042
&system_account_key,
4043-
&solana_program::incinerator::id(),
4043+
&solana_sdk_ids::incinerator::id(),
40444044
&owner_key,
40454045
&[],
40464046
)

0 commit comments

Comments
 (0)