diff --git a/dex/Cargo.toml b/dex/Cargo.toml index 572bb49..e0e1445 100644 --- a/dex/Cargo.toml +++ b/dex/Cargo.toml @@ -16,10 +16,10 @@ default = ["program"] no-entrypoint = [] [dependencies] -anchor-lang = "=0.29.0" -solana-program = "1.10.41" +anchor-lang = { git = "https://github.com/akgod/anchor.git" } +solana-program = "2.1.11" solana-security-txt = "1.0.2" -spl-token = { version = "3.5.0", features = ["no-entrypoint"] } +spl-token = { version = "7.0.0", features = ["no-entrypoint"] } serde = "1.0.150" itertools = "0.10.5" without-alloc = "0.2.2" diff --git a/dex/src/state.rs b/dex/src/state.rs index 18cc493..9ded4ca 100644 --- a/dex/src/state.rs +++ b/dex/src/state.rs @@ -39,6 +39,7 @@ use crate::{ }; use anchor_lang::prelude::{borsh, emit, event, AnchorDeserialize, AnchorSerialize}; +use anchor_lang::Discriminator; declare_check_assert_macros!(SourceFileId::State); @@ -737,7 +738,9 @@ impl MarketState { } fn pubkey(&self) -> Pubkey { - Pubkey::new(cast_slice(&identity(self.own_address) as &[_])) + //Pubkey::new(cast_slice(&identity(self.own_address) as &[_])) + Pubkey::new_from_array(cast_slice(&identity(self.own_address) as &[_]).try_into().expect("slice length must be 32")) + } } @@ -3243,9 +3246,20 @@ impl State { ); } - let open_orders_pk = Pubkey::new(cast_slice(&identity(owner) as &[_])); - let open_orders_owner_pk = - Pubkey::new(cast_slice(&identity(open_orders.owner) as &[_])); + // let open_orders_pk = Pubkey::new(cast_slice(&identity(owner) as &[_])); + let open_orders_pk = Pubkey::new_from_array( + cast_slice(&identity(owner) as &[_]) + .try_into() + .expect("Slice length must be exactly 32 bytes"), + ); + // let open_orders_owner_pk = + // Pubkey::new(cast_slice(&identity(open_orders.owner) as &[_])); + + let open_orders_owner_pk =Pubkey::new_from_array( + cast_slice(&identity(open_orders.owner) as &[_]) + .try_into() + .expect("Slice length must be exactly 32 bytes"), + ); emit!(FillEventLog { market: market.pubkey(), bid: match side {