diff --git a/Cargo.lock b/Cargo.lock index 63624df360b..c8e539c8ce9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5477,7 +5477,7 @@ dependencies = [ "borsh 0.10.3", "bytemuck", "log", - "num-derive 0.3.3", + "num-derive 0.4.2", "num-traits", "proptest", "rand 0.8.5", diff --git a/token-lending/program/Cargo.toml b/token-lending/program/Cargo.toml index a58c4d08c06..5d5a5fe4e14 100644 --- a/token-lending/program/Cargo.toml +++ b/token-lending/program/Cargo.toml @@ -15,10 +15,10 @@ test-bpf = [] bytemuck = "1.5.1" # pyth-sdk-solana = "0.8.0" # pyth-solana-receiver-sdk = "0.3.0" -solana-program = "=1.16.20" +solana-program = "=1.16.20,<2" solend-sdk = { path = "../sdk" } oracles = { path = "../oracles" } -spl-token = { version = "3.3.0", features=["no-entrypoint"] } +spl-token = { version = "^3.3.0", features=["no-entrypoint"] } static_assertions = "1.1.0" [dev-dependencies] diff --git a/token-lending/sdk/Cargo.toml b/token-lending/sdk/Cargo.toml index f969a318766..5d0ef4d1037 100644 --- a/token-lending/sdk/Cargo.toml +++ b/token-lending/sdk/Cargo.toml @@ -11,10 +11,10 @@ edition = "2018" arrayref = "0.3.6" borsh = "0.10.3" bytemuck = "1.5.1" -num-derive = "0.3" -num-traits = "0.2" -solana-program = ">=1.9" -spl-token = { version = "3.2.0", features=["no-entrypoint"] } +num-derive = "=0.4" +num-traits = "=0.2" +solana-program = ">=1.9,<2" +spl-token = { version = "^3.2.0,<4", features=["no-entrypoint"] } static_assertions = "1.1.0" thiserror = "1.0" uint = "=0.9.1" diff --git a/token-lending/sdk/src/error.rs b/token-lending/sdk/src/error.rs index 597521cd91c..6cd7cb78e53 100644 --- a/token-lending/sdk/src/error.rs +++ b/token-lending/sdk/src/error.rs @@ -1,13 +1,13 @@ //! Error types -use num_derive::FromPrimitive; +// use num_derive::FromPrimitive; use num_traits::FromPrimitive; use solana_program::{decode_error::DecodeError, program_error::ProgramError}; use solana_program::{msg, program_error::PrintProgramError}; use thiserror::Error; /// Errors that may be returned by the TokenLending program. -#[derive(Clone, Debug, Eq, Error, FromPrimitive, PartialEq)] +#[derive(Clone, Debug, Eq, Error, PartialEq)] pub enum LendingError { // 0 /// Invalid instruction data passed in. diff --git a/token-lending/sdk/src/state/reserve.rs b/token-lending/sdk/src/state/reserve.rs index 14092c277e6..68b715894eb 100644 --- a/token-lending/sdk/src/state/reserve.rs +++ b/token-lending/sdk/src/state/reserve.rs @@ -4,8 +4,7 @@ use crate::{ math::{Decimal, Rate, TryAdd, TryDiv, TryMul, TrySub}, }; use arrayref::{array_mut_ref, array_ref, array_refs, mut_array_refs}; -use num_derive::FromPrimitive; -use num_traits::FromPrimitive; +use num_traits::FromPrimitive as _; use solana_program::{ clock::Slot, entrypoint::ProgramResult, @@ -971,7 +970,7 @@ pub struct ReserveConfig { pub fee_receiver: Pubkey, /// Cut of the liquidation bonus that the protocol receives, in deca bps pub protocol_liquidation_fee: u8, - /// Protocol take rate is the amount borrowed interest protocol recieves, as a percentage + /// Protocol take rate is the amount borrowed interest protocol recieves, as a percentage pub protocol_take_rate: u8, /// Added borrow weight in basis points. THIS FIELD SHOULD NEVER BE USED DIRECTLY. Always use /// borrow_weight() @@ -1094,7 +1093,8 @@ pub fn validate_reserve_config(config: ReserveConfig) -> ProgramResult { Ok(()) } -#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, FromPrimitive)] +#[allow(non_local_definitions)] +#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, num_derive::FromPrimitive)] /// Asset Type of the reserve pub enum ReserveType { #[default]