Skip to content

Commit 1feaffc

Browse files
0xripleysandreihrs
andauthored
bump solana to 1.9.18 (solendprotocol#97)
* bump t o 1.9.18 * Solve clippy warnings after bump update * bump solana version in script * fixing various warnings * fix all clippy warnings in the tests * fmt Co-authored-by: Andrei Hrs <[email protected]>
1 parent 6a2d4aa commit 1feaffc

25 files changed

+1093
-1287
lines changed

Cargo.lock

+977-1,167
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ci/solana-version.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
if [[ -n $SOLANA_VERSION ]]; then
1515
solana_version="$SOLANA_VERSION"
1616
else
17-
solana_version=v1.8.14
17+
solana_version=v1.9.18
1818
fi
1919

2020
export solana_version="$solana_version"

token-lending/cli/Cargo.toml

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ version = "0.1.0"
1010

1111
[dependencies]
1212
clap = "=2.34.0"
13-
solana-clap-utils = "=1.8.14"
14-
solana-cli-config = "=1.8.14"
15-
solana-client = "=1.8.14"
16-
solana-logger = "=1.8.14"
17-
solana-sdk = "=1.8.14"
18-
solana-program = "=1.8.14"
13+
solana-clap-utils = "=1.9.18"
14+
solana-cli-config = "=1.9.18"
15+
solana-client = "=1.9.18"
16+
solana-logger = "=1.9.18"
17+
solana-sdk = "=1.9.18"
18+
solana-program = "=1.9.18"
1919
solend-program = { path="../program", features = [ "no-entrypoint" ] }
2020
spl-token = { version = "3.2.0", features=["no-entrypoint"] }
2121

token-lending/cli/src/main.rs

+37-22
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ use {
1010
keypair::signer_from_path,
1111
},
1212
solana_client::rpc_client::RpcClient,
13-
solana_program::{native_token::lamports_to_sol, program_pack::Pack, pubkey::Pubkey},
13+
solana_program::{
14+
message::Message, native_token::lamports_to_sol, program_pack::Pack, pubkey::Pubkey,
15+
},
1416
solana_sdk::{
1517
commitment_config::CommitmentConfig,
1618
signature::{Keypair, Signer},
@@ -824,7 +826,9 @@ fn command_create_lending_market(
824826
.rpc_client
825827
.get_minimum_balance_for_rent_exemption(LendingMarket::LEN)?;
826828

827-
let mut transaction = Transaction::new_with_payer(
829+
let recent_blockhash = config.rpc_client.get_latest_blockhash()?;
830+
831+
let message = Message::new_with_blockhash(
828832
&[
829833
// Account for the lending market
830834
create_account(
@@ -845,15 +849,17 @@ fn command_create_lending_market(
845849
),
846850
],
847851
Some(&config.fee_payer.pubkey()),
852+
&recent_blockhash,
848853
);
849854

850-
let (recent_blockhash, fee_calculator) = config.rpc_client.get_recent_blockhash()?;
851855
check_fee_payer_balance(
852856
config,
853-
lending_market_balance + fee_calculator.calculate_fee(transaction.message()),
857+
lending_market_balance + config.rpc_client.get_fee_for_message(&message)?,
854858
)?;
855-
transaction.sign(
859+
860+
let transaction = Transaction::new(
856861
&vec![config.fee_payer.as_ref(), &lending_market_keypair],
862+
message,
857863
recent_blockhash,
858864
);
859865
send_transaction(config, transaction)?;
@@ -939,8 +945,9 @@ fn command_add_reserve(
939945
+ user_collateral_balance
940946
+ liquidity_supply_balance
941947
+ liquidity_fee_receiver_balance;
948+
let recent_blockhash = config.rpc_client.get_latest_blockhash()?;
942949

943-
let mut transaction_1 = Transaction::new_with_payer(
950+
let message_1 = Message::new_with_blockhash(
944951
&[
945952
create_account(
946953
&config.fee_payer.pubkey(),
@@ -972,9 +979,10 @@ fn command_add_reserve(
972979
),
973980
],
974981
Some(&config.fee_payer.pubkey()),
982+
&recent_blockhash,
975983
);
976984

977-
let mut transaction_2 = Transaction::new_with_payer(
985+
let message_2 = Message::new_with_blockhash(
978986
&[
979987
create_account(
980988
&config.fee_payer.pubkey(),
@@ -992,9 +1000,10 @@ fn command_add_reserve(
9921000
),
9931001
],
9941002
Some(&config.fee_payer.pubkey()),
1003+
&recent_blockhash,
9951004
);
9961005

997-
let mut transaction_3 = Transaction::new_with_payer(
1006+
let message_3 = Message::new_with_blockhash(
9981007
&[
9991008
approve(
10001009
&spl_token::id(),
@@ -1032,45 +1041,49 @@ fn command_add_reserve(
10321041
.unwrap(),
10331042
],
10341043
Some(&config.fee_payer.pubkey()),
1044+
&recent_blockhash,
10351045
);
10361046

1037-
let (recent_blockhash, fee_calculator) = config.rpc_client.get_recent_blockhash()?;
10381047
check_fee_payer_balance(
10391048
config,
10401049
total_balance
1041-
+ fee_calculator.calculate_fee(transaction_1.message())
1042-
+ fee_calculator.calculate_fee(transaction_2.message())
1043-
+ fee_calculator.calculate_fee(transaction_3.message()),
1050+
+ config.rpc_client.get_fee_for_message(&message_1)?
1051+
+ config.rpc_client.get_fee_for_message(&message_2)?
1052+
+ config.rpc_client.get_fee_for_message(&message_3)?,
10441053
)?;
1045-
transaction_1.sign(
1054+
1055+
let transaction_1 = Transaction::new(
10461056
&vec![
10471057
config.fee_payer.as_ref(),
10481058
&reserve_keypair,
10491059
&collateral_mint_keypair,
10501060
&collateral_supply_keypair,
10511061
&user_collateral_keypair,
10521062
],
1063+
message_1,
10531064
recent_blockhash,
10541065
);
1055-
transaction_2.sign(
1066+
send_transaction(config, transaction_1)?;
1067+
let transaction_2 = Transaction::new(
10561068
&vec![
10571069
config.fee_payer.as_ref(),
10581070
&liquidity_supply_keypair,
10591071
&liquidity_fee_receiver_keypair,
10601072
],
1073+
message_2,
10611074
recent_blockhash,
10621075
);
1063-
transaction_3.sign(
1076+
send_transaction(config, transaction_2)?;
1077+
let transaction_3 = Transaction::new(
10641078
&vec![
10651079
config.fee_payer.as_ref(),
10661080
&source_liquidity_owner_keypair,
10671081
&lending_market_owner_keypair,
10681082
&user_transfer_authority_keypair,
10691083
],
1084+
message_3,
10701085
recent_blockhash,
10711086
);
1072-
send_transaction(config, transaction_1)?;
1073-
send_transaction(config, transaction_2)?;
10741087
send_transaction(config, transaction_3)?;
10751088
Ok(())
10761089
}
@@ -1252,7 +1265,9 @@ fn command_update_reserve(
12521265
reserve.liquidity.switchboard_oracle_pubkey = switchboard_feed_pubkey.unwrap();
12531266
}
12541267

1255-
let mut transaction = Transaction::new_with_payer(
1268+
let recent_blockhash = config.rpc_client.get_latest_blockhash()?;
1269+
1270+
let message = Message::new_with_blockhash(
12561271
&[update_reserve_config(
12571272
config.lending_program_id,
12581273
reserve.config,
@@ -1264,15 +1279,15 @@ fn command_update_reserve(
12641279
reserve.liquidity.switchboard_oracle_pubkey,
12651280
)],
12661281
Some(&config.fee_payer.pubkey()),
1282+
&recent_blockhash,
12671283
);
12681284

1269-
let (recent_blockhash, fee_calculator) = config.rpc_client.get_recent_blockhash()?;
1270-
check_fee_payer_balance(config, fee_calculator.calculate_fee(transaction.message()))?;
1271-
1272-
transaction.sign(
1285+
let transaction = Transaction::new(
12731286
&vec![config.fee_payer.as_ref(), &lending_market_owner_keypair],
1287+
message,
12741288
recent_blockhash,
12751289
);
1290+
12761291
send_transaction(config, transaction)?;
12771292
Ok(())
12781293
}

token-lending/program/Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@ arrayref = "0.3.6"
1616
bytemuck = "1.5.1"
1717
num-derive = "0.3"
1818
num-traits = "0.2"
19-
solana-program = "=1.8.14"
19+
solana-program = "=1.9.18"
2020
spl-token = { version = "3.2.0", features=["no-entrypoint"] }
2121
switchboard-program = "0.2.0"
2222
switchboard-v2 = "0.1.3"
2323
thiserror = "1.0"
24-
uint = "=0.9.0"
24+
uint = "=0.9.1"
2525

2626
[dev-dependencies]
2727
assert_matches = "1.5.0"
2828
base64 = "0.13"
2929
log = "0.4.14"
3030
proptest = "1.0"
31-
solana-program-test = "=1.8.14"
32-
solana-sdk = "=1.8.14"
31+
solana-program-test = "=1.9.18"
32+
solana-sdk = "=1.9.18"
3333
serde = "1.0"
3434
serde_yaml = "0.8"
3535

token-lending/program/tests/borrow_obligation_liquidity.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use helpers::*;
66
use solana_program_test::*;
77
use solana_sdk::{
88
instruction::InstructionError,
9-
pubkey::Pubkey,
109
signature::{Keypair, Signer},
1110
transaction::{Transaction, TransactionError},
1211
};
@@ -28,7 +27,7 @@ async fn test_borrow_usdc_fixed_amount() {
2827
);
2928

3029
// limit to track compute unit increase
31-
test.set_bpf_compute_max_units(55_000);
30+
test.set_compute_max_units(55_000);
3231

3332
const USDC_TOTAL_BORROW_FRACTIONAL: u64 = 1_000 * FRACTIONAL_TO_USDC;
3433
const FEE_AMOUNT: u64 = 100;
@@ -172,7 +171,7 @@ async fn test_borrow_sol_max_amount() {
172171
);
173172

174173
// limit to track compute unit increase
175-
test.set_bpf_compute_max_units(60_000);
174+
test.set_compute_max_units(60_000);
176175

177176
const FEE_AMOUNT: u64 = 5000;
178177
const HOST_FEE_AMOUNT: u64 = 1000;

token-lending/program/tests/deposit_obligation_collateral.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ mod helpers;
55
use helpers::*;
66
use solana_program_test::*;
77
use solana_sdk::{
8-
pubkey::Pubkey,
98
signature::{Keypair, Signer},
109
transaction::Transaction,
1110
};
@@ -24,7 +23,7 @@ async fn test_success() {
2423
);
2524

2625
// limit to track compute unit increase
27-
test.set_bpf_compute_max_units(38_000);
26+
test.set_compute_max_units(38_000);
2827

2928
const SOL_DEPOSIT_AMOUNT_LAMPORTS: u64 = 10 * LAMPORTS_TO_SOL * INITIAL_COLLATERAL_RATIO;
3029
const SOL_RESERVE_COLLATERAL_LAMPORTS: u64 = 2 * SOL_DEPOSIT_AMOUNT_LAMPORTS;
@@ -112,7 +111,7 @@ async fn test_success() {
112111
assert!(banks_client.process_transaction(transaction).await.is_ok());
113112

114113
let sol_reserve = sol_test_reserve.get_state(&mut banks_client).await;
115-
assert_eq!(sol_reserve.last_update.stale, true);
114+
assert!(sol_reserve.last_update.stale);
116115

117116
// check that collateral tokens were transferred
118117
let collateral_supply_balance =

token-lending/program/tests/deposit_reserve_liquidity.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ mod helpers;
44

55
use helpers::*;
66
use solana_program_test::*;
7-
use solana_sdk::{pubkey::Pubkey, signature::Keypair};
7+
use solana_sdk::signature::Keypair;
88
use solend_program::processor::process_instruction;
99

1010
#[tokio::test]
@@ -16,7 +16,7 @@ async fn test_success() {
1616
);
1717

1818
// limit to track compute unit increase
19-
test.set_bpf_compute_max_units(50_000);
19+
test.set_compute_max_units(50_000);
2020

2121
let user_accounts_owner = Keypair::new();
2222
let lending_market = add_lending_market(&mut test);
@@ -65,7 +65,7 @@ async fn test_success() {
6565
.await;
6666

6767
let usdc_reserve = usdc_test_reserve.get_state(&mut banks_client).await;
68-
assert_eq!(usdc_reserve.last_update.stale, true);
68+
assert!(usdc_reserve.last_update.stale);
6969

7070
let user_remaining_liquidity_amount =
7171
get_token_balance(&mut banks_client, usdc_test_reserve.user_liquidity_pubkey).await;

token-lending/program/tests/deposit_reserve_liquidity_and_obligation_collateral.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ mod helpers;
44

55
use helpers::*;
66
use solana_program_test::*;
7-
use solana_sdk::{pubkey::Pubkey, signature::Keypair};
7+
use solana_sdk::signature::Keypair;
88
use solend_program::processor::process_instruction;
99

1010
#[tokio::test]
@@ -16,7 +16,7 @@ async fn test_success() {
1616
);
1717

1818
// limit to track compute unit increase
19-
test.set_bpf_compute_max_units(70_000);
19+
test.set_compute_max_units(70_000);
2020

2121
let user_accounts_owner = Keypair::new();
2222
let lending_market = add_lending_market(&mut test);
@@ -62,5 +62,5 @@ async fn test_success() {
6262
.await;
6363

6464
let usdc_reserve = usdc_test_reserve.get_state(&mut banks_client).await;
65-
assert_eq!(usdc_reserve.last_update.stale, true);
65+
assert!(usdc_reserve.last_update.stale);
6666
}

token-lending/program/tests/flash_loan.rs

+7-13
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ async fn test_success() {
2424
);
2525

2626
// limit to track compute unit increase
27-
test.set_bpf_compute_max_units(50_000);
27+
test.set_compute_max_units(50_000);
2828

2929
const FLASH_LOAN_AMOUNT: u64 = 1_000 * FRACTIONAL_TO_USDC;
3030
const FEE_AMOUNT: u64 = 3_000_000;
@@ -35,7 +35,7 @@ async fn test_success() {
3535
test.prefer_bpf(false);
3636
test.add_program(
3737
"flash_loan_receiver",
38-
receiver_program_id.clone(),
38+
receiver_program_id,
3939
processor!(helpers::flash_loan_receiver::process_instruction),
4040
);
4141

@@ -94,11 +94,8 @@ async fn test_success() {
9494
usdc_test_reserve.config.fee_receiver,
9595
usdc_test_reserve.liquidity_host_pubkey,
9696
lending_market.pubkey,
97-
receiver_program_id.clone(),
98-
vec![AccountMeta::new_readonly(
99-
receiver_authority_pubkey.clone(),
100-
false,
101-
)],
97+
receiver_program_id,
98+
vec![AccountMeta::new_readonly(receiver_authority_pubkey, false)],
10299
)],
103100
Some(&payer.pubkey()),
104101
);
@@ -152,7 +149,7 @@ async fn test_failure() {
152149
test.prefer_bpf(false);
153150
test.add_program(
154151
"flash_loan_receiver",
155-
flash_loan_receiver_program_id.clone(),
152+
flash_loan_receiver_program_id,
156153
processor!(helpers::flash_loan_receiver::process_instruction),
157154
);
158155

@@ -203,11 +200,8 @@ async fn test_failure() {
203200
usdc_test_reserve.config.fee_receiver,
204201
usdc_test_reserve.liquidity_host_pubkey,
205202
lending_market.pubkey,
206-
flash_loan_receiver_program_id.clone(),
207-
vec![AccountMeta::new_readonly(
208-
receiver_authority_pubkey.clone(),
209-
false,
210-
)],
203+
flash_loan_receiver_program_id,
204+
vec![AccountMeta::new_readonly(receiver_authority_pubkey, false)],
211205
)],
212206
Some(&payer.pubkey()),
213207
);

0 commit comments

Comments
 (0)