Instruction introspection: don't hardcode discriminators
Patch anchor to allow access to the generated discriminators.
This commit is contained in:
parent
e4a073c83b
commit
2880a2ec88
2
anchor
2
anchor
|
@ -1 +1 @@
|
|||
Subproject commit 442c00634e847af84672727dc00b45a2c8d0a956
|
||||
Subproject commit b52f23614601652a99ec6c27aec77bd327363b31
|
|
@ -10,6 +10,7 @@ use crate::state::{
|
|||
use crate::util::checked_math as cm;
|
||||
use anchor_lang::prelude::*;
|
||||
use anchor_lang::solana_program::sysvar::instructions as tx_instructions;
|
||||
use anchor_lang::Discriminator;
|
||||
use anchor_spl::token::{self, Token, TokenAccount};
|
||||
use fixed::types::I80F48;
|
||||
|
||||
|
@ -141,7 +142,7 @@ pub fn flash_loan_begin<'key, 'accounts, 'remaining, 'info>(
|
|||
|
||||
// must be the FlashLoanEnd instruction
|
||||
require!(
|
||||
ix.data[0..8] == [178, 170, 2, 78, 240, 23, 190, 178],
|
||||
ix.data[0..8] == crate::instruction::FlashLoanEnd::discriminator(),
|
||||
MangoError::SomeError
|
||||
);
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ use crate::{
|
|||
state::{oracle_price, Bank, Group, MintInfo},
|
||||
};
|
||||
use anchor_lang::solana_program::sysvar::instructions as tx_instructions;
|
||||
use anchor_lang::Discriminator;
|
||||
use checked_math as cm;
|
||||
use fixed::types::I80F48;
|
||||
|
||||
|
@ -46,7 +47,8 @@ pub fn token_update_index_and_rate(ctx: Context<TokenUpdateIndexAndRate>) -> Res
|
|||
// 2. we want to forbid cpi, since ix we would like to blacklist could just be called from cpi
|
||||
require!(
|
||||
ix.program_id == crate::id()
|
||||
&& ix.data[0..8] == [131, 136, 194, 39, 11, 50, 10, 198], // token_update_index_and_rate
|
||||
&& ix.data[0..8]
|
||||
== crate::instruction::TokenUpdateIndexAndRate::discriminator(),
|
||||
MangoError::SomeError
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in New Issue