Skip to content

Commit ab97253

Browse files
authored
fix: Solve issues with new solana_sdk version (#324)
1 parent e14a307 commit ab97253

11 files changed

Lines changed: 94 additions & 75 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ http = { version = "1.3.1" }
8484
pem = { version = "3" }
8585
simple_asn1 = { version = "0.6" }
8686
k256 = { version = "0.13", features = ["ecdsa-core"]}
87+
solana-system-interface = { version = "1.0.0", features = ["bincode"] }
8788

8889
[dev-dependencies]
8990
cargo-llvm-cov = "0.6"

helpers/test_tx.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@
66
use base64::{engine::general_purpose::STANDARD, Engine};
77
use eyre::Result;
88
use solana_client::rpc_client::RpcClient;
9-
use solana_sdk::{
10-
hash::Hash, message::Message, pubkey::Pubkey, system_instruction, transaction::Transaction,
11-
};
9+
use solana_sdk::{hash::Hash, message::Message, pubkey::Pubkey, transaction::Transaction};
10+
use solana_system_interface::instruction;
1211
use spl_token::instruction as token_instruction;
1312
use std::str::FromStr;
1413

@@ -57,7 +56,7 @@ fn create_sol_transfer(
5756
amount: u64,
5857
recent_blockhash: solana_sdk::hash::Hash,
5958
) -> Result<Transaction> {
60-
let ix = system_instruction::transfer(payer, recipient, amount);
59+
let ix = instruction::transfer(payer, recipient, amount);
6160
let mut message = Message::new(&[ix], Some(payer));
6261
message.recent_blockhash = recent_blockhash;
6362
Ok(Transaction::new_unsigned(message))
@@ -69,7 +68,7 @@ fn create_large_sol_transfer(
6968
amount: u64,
7069
recent_blockhash: solana_sdk::hash::Hash,
7170
) -> Result<Transaction> {
72-
let ix = system_instruction::transfer(payer, recipient, amount);
71+
let ix = instruction::transfer(payer, recipient, amount);
7372
let mut message = Message::new(&[ix], Some(payer));
7473
message.recent_blockhash = recent_blockhash;
7574
Ok(Transaction::new_unsigned(message))
@@ -81,9 +80,9 @@ fn create_multi_instruction_tx(
8180
recent_blockhash: solana_sdk::hash::Hash,
8281
) -> Result<Transaction> {
8382
let instructions = vec![
84-
system_instruction::transfer(payer, recipient, 1_000_000),
85-
system_instruction::transfer(payer, recipient, 2_000_000),
86-
system_instruction::transfer(payer, recipient, 3_000_000),
83+
instruction::transfer(payer, recipient, 1_000_000),
84+
instruction::transfer(payer, recipient, 2_000_000),
85+
instruction::transfer(payer, recipient, 3_000_000),
8786
];
8887
let mut message = Message::new(&instructions, Some(payer));
8988
message.recent_blockhash = recent_blockhash;

src/domain/relayer/solana/rpc/methods/prepare_transaction.rs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ use solana_sdk::{
3030
};
3131
use std::str::FromStr;
3232

33+
use super::{utils::FeeQuote, *};
3334
use crate::{
3435
models::{
3536
EncodedSerializedTransaction, PrepareTransactionRequestParams, PrepareTransactionResult,
@@ -38,8 +39,6 @@ use crate::{
3839
services::{JupiterServiceTrait, SolanaProviderTrait, SolanaSignTrait},
3940
};
4041

41-
use super::{utils::FeeQuote, *};
42-
4342
impl<P, S, J, JP> SolanaRpcMethodsImpl<P, S, J, JP>
4443
where
4544
P: SolanaProviderTrait + Send + Sync,
@@ -230,6 +229,7 @@ mod tests {
230229

231230
use std::str::FromStr;
232231

232+
use super::*;
233233
use crate::{
234234
constants::WRAPPED_SOL_MINT,
235235
models::{
@@ -238,12 +238,10 @@ mod tests {
238238
},
239239
services::{QuoteResponse, RoutePlan, SwapInfo},
240240
};
241-
242-
use super::*;
243241
use solana_sdk::{
244242
hash::Hash, message::Message, program_pack::Pack, signature::Keypair, signer::Signer,
245-
system_instruction,
246243
};
244+
use solana_system_interface::instruction;
247245
use spl_associated_token_account::get_associated_token_address;
248246
use spl_token::state::Account;
249247

@@ -296,6 +294,7 @@ mod tests {
296294
return_data: None,
297295
inner_instructions: None,
298296
replacement_blockhash: None,
297+
loaded_accounts_data_size: None,
299298
})
300299
})
301300
});
@@ -472,6 +471,7 @@ mod tests {
472471
return_data: None,
473472
inner_instructions: None,
474473
replacement_blockhash: None,
474+
loaded_accounts_data_size: None,
475475
})
476476
})
477477
});
@@ -554,6 +554,7 @@ mod tests {
554554
return_data: None,
555555
inner_instructions: None,
556556
replacement_blockhash: None,
557+
loaded_accounts_data_size: None,
557558
})
558559
})
559560
});
@@ -597,7 +598,7 @@ mod tests {
597598
// Create transaction with different fee payer
598599
let wrong_fee_payer = Keypair::new();
599600
let recipient = Pubkey::new_unique();
600-
let ix = system_instruction::transfer(&wrong_fee_payer.pubkey(), &recipient, 1000);
601+
let ix = instruction::transfer(&wrong_fee_payer.pubkey(), &recipient, 1000);
601602
let message = Message::new(&[ix], Some(&wrong_fee_payer.pubkey()));
602603
let transaction = Transaction::new_unsigned(message);
603604
let encoded_tx = EncodedSerializedTransaction::try_from(&transaction).unwrap();
@@ -628,6 +629,7 @@ mod tests {
628629
return_data: None,
629630
inner_instructions: None,
630631
replacement_blockhash: None,
632+
loaded_accounts_data_size: None,
631633
})
632634
})
633635
});
@@ -706,12 +708,13 @@ mod tests {
706708
return_data: None,
707709
inner_instructions: None,
708710
replacement_blockhash: None,
711+
loaded_accounts_data_size: None,
709712
})
710713
})
711714
});
712715

713716
// Create test transaction
714-
let ix = system_instruction::transfer(&Pubkey::new_unique(), &Pubkey::new_unique(), 1000);
717+
let ix = instruction::transfer(&Pubkey::new_unique(), &Pubkey::new_unique(), 1000);
715718
let message = Message::new(&[ix], Some(&relayer_keypair.pubkey()));
716719
let transaction = Transaction::new_unsigned(message);
717720
let encoded_tx = EncodedSerializedTransaction::try_from(&transaction).unwrap();
@@ -802,6 +805,7 @@ mod tests {
802805
return_data: None,
803806
inner_instructions: None,
804807
replacement_blockhash: None,
808+
loaded_accounts_data_size: None,
805809
})
806810
})
807811
});

src/domain/relayer/solana/rpc/methods/sign_and_send_transaction.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ mod tests {
206206
return_data: None,
207207
replacement_blockhash: None,
208208
inner_instructions: None,
209+
loaded_accounts_data_size: None,
209210
})
210211
})
211212
});
@@ -358,6 +359,7 @@ mod tests {
358359
return_data: None,
359360
replacement_blockhash: None,
360361
inner_instructions: None,
362+
loaded_accounts_data_size: None,
361363
})
362364
})
363365
});
@@ -513,6 +515,7 @@ mod tests {
513515
return_data: None,
514516
replacement_blockhash: None,
515517
inner_instructions: None,
518+
loaded_accounts_data_size: None,
516519
})
517520
})
518521
});
@@ -683,6 +686,7 @@ mod tests {
683686
return_data: None,
684687
replacement_blockhash: None,
685688
inner_instructions: None,
689+
loaded_accounts_data_size: None,
686690
})
687691
})
688692
});
@@ -831,6 +835,7 @@ mod tests {
831835
return_data: None,
832836
replacement_blockhash: None,
833837
inner_instructions: None,
838+
loaded_accounts_data_size: None,
834839
})
835840
})
836841
});

src/domain/relayer/solana/rpc/methods/sign_transaction.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,8 @@ mod tests {
165165
program_pack::Pack,
166166
signature::{Keypair, Signature},
167167
signer::Signer,
168-
system_instruction,
169168
};
169+
use solana_system_interface::instruction;
170170
use spl_token::state::Account;
171171

172172
#[tokio::test]
@@ -203,6 +203,7 @@ mod tests {
203203
return_data: None,
204204
replacement_blockhash: None,
205205
inner_instructions: None,
206+
loaded_accounts_data_size: None,
206207
})
207208
})
208209
});
@@ -351,6 +352,7 @@ mod tests {
351352
return_data: None,
352353
replacement_blockhash: None,
353354
inner_instructions: None,
355+
loaded_accounts_data_size: None,
354356
})
355357
})
356358
});
@@ -417,6 +419,7 @@ mod tests {
417419
return_data: None,
418420
replacement_blockhash: None,
419421
inner_instructions: None,
422+
loaded_accounts_data_size: None,
420423
})
421424
})
422425
});
@@ -570,6 +573,7 @@ mod tests {
570573
return_data: None,
571574
replacement_blockhash: None,
572575
inner_instructions: None,
576+
loaded_accounts_data_size: None,
573577
})
574578
})
575579
});
@@ -660,6 +664,7 @@ mod tests {
660664
return_data: None,
661665
replacement_blockhash: None,
662666
inner_instructions: None,
667+
loaded_accounts_data_size: None,
663668
})
664669
})
665670
});
@@ -714,6 +719,7 @@ mod tests {
714719
return_data: None,
715720
replacement_blockhash: None,
716721
inner_instructions: None,
722+
loaded_accounts_data_size: None,
717723
})
718724
})
719725
});
@@ -773,6 +779,7 @@ mod tests {
773779
return_data: None,
774780
replacement_blockhash: None,
775781
inner_instructions: None,
782+
loaded_accounts_data_size: None,
776783
})
777784
})
778785
});
@@ -813,7 +820,7 @@ mod tests {
813820
// Create transaction with different fee payer
814821
let wrong_fee_payer = Keypair::new();
815822
let recipient = Pubkey::new_unique();
816-
let ix = system_instruction::transfer(&wrong_fee_payer.pubkey(), &recipient, 1000);
823+
let ix = instruction::transfer(&wrong_fee_payer.pubkey(), &recipient, 1000);
817824
let message = Message::new(&[ix], Some(&wrong_fee_payer.pubkey())); // Different fee payer
818825
let transaction = Transaction::new_unsigned(message);
819826
let encoded_tx = EncodedSerializedTransaction::try_from(&transaction)
@@ -891,6 +898,7 @@ mod tests {
891898
return_data: None,
892899
replacement_blockhash: None,
893900
inner_instructions: None,
901+
loaded_accounts_data_size: None,
894902
})
895903
})
896904
});
@@ -947,6 +955,7 @@ mod tests {
947955
return_data: None,
948956
replacement_blockhash: None,
949957
inner_instructions: None,
958+
loaded_accounts_data_size: None,
950959
})
951960
})
952961
});
@@ -1014,6 +1023,7 @@ mod tests {
10141023
return_data: None,
10151024
replacement_blockhash: None,
10161025
inner_instructions: None,
1026+
loaded_accounts_data_size: None,
10171027
})
10181028
})
10191029
});

src/domain/relayer/solana/rpc/methods/test_setup.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
//! Test setup for solana rpc methods
22
use solana_sdk::{
33
hash::Hash, message::Message, pubkey::Pubkey, signature::Keypair, signer::Signer,
4-
system_instruction, transaction::Transaction,
4+
transaction::Transaction,
55
};
6+
use solana_system_interface::instruction;
67
use spl_associated_token_account::get_associated_token_address;
78
use std::str::FromStr;
89

@@ -31,7 +32,7 @@ pub fn setup_test_context() -> (
3132
let payer = Keypair::new();
3233
let source = Keypair::new();
3334
let recipient = Pubkey::new_unique();
34-
let ix = system_instruction::transfer(&source.pubkey(), &recipient, 1000);
35+
let ix = instruction::transfer(&source.pubkey(), &recipient, 1000);
3536
let message = Message::new(&[ix], Some(&payer.pubkey()));
3637
let transaction = Transaction::new_unsigned(message);
3738
// Create test relayer

0 commit comments

Comments
 (0)