Rename perp instructions to have perp_ prefix

This commit is contained in:
Christian Kamm 2022-04-01 08:01:56 +02:00
parent fbc7c5e9d5
commit 10ab9804d1
9 changed files with 493 additions and 369 deletions

View File

@ -1,13 +1,13 @@
pub use self::margin_trade::*; pub use self::margin_trade::*;
pub use close_account::*; pub use close_account::*;
pub use consume_events::*;
pub use create_account::*; pub use create_account::*;
pub use create_group::*; pub use create_group::*;
pub use create_perp_market::*;
pub use create_stub_oracle::*; pub use create_stub_oracle::*;
pub use deposit::*; pub use deposit::*;
pub use liq_token_with_token::*; pub use liq_token_with_token::*;
pub use place_perp_order::*; pub use perp_consume_events::*;
pub use perp_create_market::*;
pub use perp_place_order::*;
pub use register_token::*; pub use register_token::*;
pub use serum3_cancel_order::*; pub use serum3_cancel_order::*;
pub use serum3_create_open_orders::*; pub use serum3_create_open_orders::*;
@ -19,15 +19,15 @@ pub use set_stub_oracle::*;
pub use withdraw::*; pub use withdraw::*;
mod close_account; mod close_account;
mod consume_events;
mod create_account; mod create_account;
mod create_group; mod create_group;
mod create_perp_market;
mod create_stub_oracle; mod create_stub_oracle;
mod deposit; mod deposit;
mod liq_token_with_token; mod liq_token_with_token;
mod margin_trade; mod margin_trade;
mod place_perp_order; mod perp_consume_events;
mod perp_create_market;
mod perp_place_order;
mod register_token; mod register_token;
mod serum3_cancel_order; mod serum3_cancel_order;
mod serum3_create_open_orders; mod serum3_create_open_orders;

View File

@ -10,7 +10,7 @@ use crate::{
}; };
#[derive(Accounts)] #[derive(Accounts)]
pub struct ConsumeEvents<'info> { pub struct PerpConsumeEvents<'info> {
pub group: AccountLoader<'info, Group>, pub group: AccountLoader<'info, Group>,
#[account( #[account(
@ -23,7 +23,7 @@ pub struct ConsumeEvents<'info> {
pub event_queue: AccountLoader<'info, Queue<EventQueueHeader>>, pub event_queue: AccountLoader<'info, Queue<EventQueueHeader>>,
} }
pub fn consume_events(ctx: Context<ConsumeEvents>, limit: usize) -> Result<()> { pub fn perp_consume_events(ctx: Context<PerpConsumeEvents>, limit: usize) -> Result<()> {
let limit = std::cmp::min(limit, 8); let limit = std::cmp::min(limit, 8);
let mut perp_market = ctx.accounts.perp_market.load_mut()?; let mut perp_market = ctx.accounts.perp_market.load_mut()?;

View File

@ -6,7 +6,7 @@ use crate::state::*;
#[derive(Accounts)] #[derive(Accounts)]
#[instruction(perp_market_index: PerpMarketIndex)] #[instruction(perp_market_index: PerpMarketIndex)]
pub struct CreatePerpMarket<'info> { pub struct PerpCreateMarket<'info> {
#[account( #[account(
has_one = admin, has_one = admin,
)] )]
@ -40,8 +40,8 @@ pub struct CreatePerpMarket<'info> {
} }
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
pub fn create_perp_market( pub fn perp_create_market(
ctx: Context<CreatePerpMarket>, ctx: Context<PerpCreateMarket>,
perp_market_index: PerpMarketIndex, perp_market_index: PerpMarketIndex,
base_token_index_opt: Option<TokenIndex>, base_token_index_opt: Option<TokenIndex>,
quote_token_index: TokenIndex, quote_token_index: TokenIndex,

View File

@ -6,7 +6,7 @@ use crate::state::{
}; };
#[derive(Accounts)] #[derive(Accounts)]
pub struct PlacePerpOrder<'info> { pub struct PerpPlaceOrder<'info> {
pub group: AccountLoader<'info, Group>, pub group: AccountLoader<'info, Group>,
#[account( #[account(
@ -39,8 +39,8 @@ pub struct PlacePerpOrder<'info> {
// TODO // TODO
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
pub fn place_perp_order( pub fn perp_place_order(
ctx: Context<PlacePerpOrder>, ctx: Context<PerpPlaceOrder>,
side: Side, side: Side,
price: i64, price: i64,
max_base_quantity: i64, max_base_quantity: i64,

View File

@ -149,8 +149,8 @@ pub mod mango_v4 {
/// ///
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
pub fn create_perp_market( pub fn perp_create_market(
ctx: Context<CreatePerpMarket>, ctx: Context<PerpCreateMarket>,
perp_market_index: PerpMarketIndex, perp_market_index: PerpMarketIndex,
base_token_index_opt: Option<TokenIndex>, base_token_index_opt: Option<TokenIndex>,
quote_token_index: TokenIndex, quote_token_index: TokenIndex,
@ -164,7 +164,7 @@ pub mod mango_v4 {
maker_fee: f32, maker_fee: f32,
taker_fee: f32, taker_fee: f32,
) -> Result<()> { ) -> Result<()> {
instructions::create_perp_market( instructions::perp_create_market(
ctx, ctx,
perp_market_index, perp_market_index,
base_token_index_opt, base_token_index_opt,
@ -182,8 +182,8 @@ pub mod mango_v4 {
} }
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
pub fn place_perp_order( pub fn perp_place_order(
ctx: Context<PlacePerpOrder>, ctx: Context<PerpPlaceOrder>,
side: Side, side: Side,
price: i64, price: i64,
max_base_quantity: i64, max_base_quantity: i64,
@ -193,7 +193,7 @@ pub mod mango_v4 {
expiry_timestamp: u64, expiry_timestamp: u64,
limit: u8, limit: u8,
) -> Result<()> { ) -> Result<()> {
instructions::place_perp_order( instructions::perp_place_order(
ctx, ctx,
side, side,
price, price,
@ -206,8 +206,8 @@ pub mod mango_v4 {
) )
} }
pub fn consume_events(ctx: Context<ConsumeEvents>, limit: usize) -> Result<()> { pub fn perp_consume_events(ctx: Context<PerpConsumeEvents>, limit: usize) -> Result<()> {
instructions::consume_events(ctx, limit) instructions::perp_consume_events(ctx, limit)
} }
/// ///

View File

@ -1233,7 +1233,7 @@ impl<'keypair> ClientInstruction for LiqTokenWithTokenInstruction<'keypair> {
} }
} }
pub struct CreatePerpMarketInstruction<'keypair> { pub struct PerpCreateMarketInstruction<'keypair> {
pub group: Pubkey, pub group: Pubkey,
pub admin: &'keypair Keypair, pub admin: &'keypair Keypair,
pub oracle: Pubkey, pub oracle: Pubkey,
@ -1255,9 +1255,9 @@ pub struct CreatePerpMarketInstruction<'keypair> {
pub taker_fee: f32, pub taker_fee: f32,
} }
#[async_trait::async_trait(?Send)] #[async_trait::async_trait(?Send)]
impl<'keypair> ClientInstruction for CreatePerpMarketInstruction<'keypair> { impl<'keypair> ClientInstruction for PerpCreateMarketInstruction<'keypair> {
type Accounts = mango_v4::accounts::CreatePerpMarket; type Accounts = mango_v4::accounts::PerpCreateMarket;
type Instruction = mango_v4::instruction::CreatePerpMarket; type Instruction = mango_v4::instruction::PerpCreateMarket;
async fn to_instruction( async fn to_instruction(
&self, &self,
_loader: impl ClientAccountLoader + 'async_trait, _loader: impl ClientAccountLoader + 'async_trait,
@ -1309,7 +1309,7 @@ impl<'keypair> ClientInstruction for CreatePerpMarketInstruction<'keypair> {
} }
} }
pub struct PlacePerpOrderInstruction<'keypair> { pub struct PerpPlaceOrderInstruction<'keypair> {
pub group: Pubkey, pub group: Pubkey,
pub account: Pubkey, pub account: Pubkey,
pub perp_market: Pubkey, pub perp_market: Pubkey,
@ -1323,9 +1323,9 @@ pub struct PlacePerpOrderInstruction<'keypair> {
pub quantity: i64, pub quantity: i64,
} }
#[async_trait::async_trait(?Send)] #[async_trait::async_trait(?Send)]
impl<'keypair> ClientInstruction for PlacePerpOrderInstruction<'keypair> { impl<'keypair> ClientInstruction for PerpPlaceOrderInstruction<'keypair> {
type Accounts = mango_v4::accounts::PlacePerpOrder; type Accounts = mango_v4::accounts::PerpPlaceOrder;
type Instruction = mango_v4::instruction::PlacePerpOrder; type Instruction = mango_v4::instruction::PerpPlaceOrder;
async fn to_instruction( async fn to_instruction(
&self, &self,
_loader: impl ClientAccountLoader + 'async_trait, _loader: impl ClientAccountLoader + 'async_trait,

View File

@ -79,7 +79,7 @@ async fn test_perp() -> Result<(), TransportError> {
// //
// TEST: Create a perp market // TEST: Create a perp market
// //
let mango_v4::accounts::CreatePerpMarket { let mango_v4::accounts::PerpCreateMarket {
perp_market, perp_market,
asks, asks,
bids, bids,
@ -87,7 +87,7 @@ async fn test_perp() -> Result<(), TransportError> {
.. ..
} = send_tx( } = send_tx(
solana, solana,
CreatePerpMarketInstruction { PerpCreateMarketInstruction {
group, group,
admin, admin,
oracle: tokens[0].oracle, oracle: tokens[0].oracle,
@ -125,7 +125,7 @@ async fn test_perp() -> Result<(), TransportError> {
send_tx( send_tx(
solana, solana,
PlacePerpOrderInstruction { PerpPlaceOrderInstruction {
group, group,
account, account,
perp_market, perp_market,
@ -144,7 +144,7 @@ async fn test_perp() -> Result<(), TransportError> {
send_tx( send_tx(
solana, solana,
PlacePerpOrderInstruction { PerpPlaceOrderInstruction {
group, group,
account, account,
perp_market, perp_market,

View File

@ -20,7 +20,7 @@ solana --url https://mango.devnet.rpcpool.com program deploy --program-id $PROGR
-k $WALLET_WITH_FUNDS target/deploy/mango_v4.so -k $WALLET_WITH_FUNDS target/deploy/mango_v4.so
# publish idl # publish idl
anchor idl init --provider.cluster https://mango.devnet.rpcpool.com --provider.wallet $WALLET_WITH_FUNDS \ anchor idl upgrade --provider.cluster https://mango.devnet.rpcpool.com --provider.wallet $WALLET_WITH_FUNDS \
--filepath target/idl/mango_v4.json $PROGRAM_ID --filepath target/idl/mango_v4.json $PROGRAM_ID
# build npm package # build npm package

File diff suppressed because it is too large Load Diff