Terminology (#4995)

* update exchange program: tradeOrder->Order, tradeRequest->OrderRequest, tradeCancel->OrderCancel

* Update bench-exchange: tradeOrder -> Order

* update bench exchange Readme
This commit is contained in:
Patrick Amato
2019-07-10 23:22:33 -06:00
committed by GitHub
parent 2abbc89dcd
commit bd92f37553
6 changed files with 81 additions and 88 deletions

View File

@@ -7,7 +7,7 @@ use solana_sdk::instruction::{AccountMeta, Instruction};
use solana_sdk::pubkey::Pubkey;
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)]
pub struct TradeRequestInfo {
pub struct OrderRequestInfo {
/// Direction of trade
pub direction: Direction,
@@ -35,16 +35,16 @@ pub enum ExchangeInstruction {
/// the exchange has a limitless number of tokens it can transfer.
TransferRequest(Token, u64),
/// Trade request
/// Order request
/// key 0 - Signer
/// key 1 - Account in which to record the trade order
/// key 2 - Token account to source tokens from
TradeRequest(TradeRequestInfo),
OrderRequest(OrderRequestInfo),
/// Trade cancellation
/// Order cancellation
/// key 0 - Signer
/// key 1 - Trade order to cancel
TradeCancellation,
/// key 1 - Order to cancel
OrderCancellation,
/// Trade swap request
/// key 0 - Signer
@@ -97,7 +97,7 @@ pub fn trade_request(
];
Instruction::new(
id(),
&ExchangeInstruction::TradeRequest(TradeRequestInfo {
&ExchangeInstruction::OrderRequest(OrderRequestInfo {
direction,
pair,
tokens,
@@ -107,12 +107,12 @@ pub fn trade_request(
)
}
pub fn trade_cancellation(owner: &Pubkey, trade: &Pubkey) -> Instruction {
pub fn order_cancellation(owner: &Pubkey, order: &Pubkey) -> Instruction {
let account_metas = vec![
AccountMeta::new(*owner, true),
AccountMeta::new(*trade, false),
AccountMeta::new(*order, false),
];
Instruction::new(id(), &ExchangeInstruction::TradeCancellation, account_metas)
Instruction::new(id(), &ExchangeInstruction::OrderCancellation, account_metas)
}
pub fn swap_request(

View File

@@ -39,7 +39,7 @@ impl ExchangeProcessor {
}
}
fn deserialize_trade(data: &[u8]) -> Result<TradeOrderInfo, InstructionError> {
fn deserialize_trade(data: &[u8]) -> Result<OrderInfo, InstructionError> {
let state: ExchangeState = bincode::deserialize(data).map_err(Self::map_to_invalid_arg)?;
if let ExchangeState::Trade(info) = state {
Ok(info)
@@ -60,7 +60,7 @@ impl ExchangeProcessor {
}
}
fn trade_to_token_account(trade: &TradeOrderInfo) -> TokenAccountInfo {
fn trade_to_token_account(trade: &OrderInfo) -> TokenAccountInfo {
// Turn trade order into token account
let token = match trade.direction {
@@ -75,8 +75,8 @@ impl ExchangeProcessor {
fn calculate_swap(
scaler: u64,
to_trade: &mut TradeOrderInfo,
from_trade: &mut TradeOrderInfo,
to_trade: &mut OrderInfo,
from_trade: &mut OrderInfo,
profit_account: &mut TokenAccountInfo,
) -> Result<(), InstructionError> {
if to_trade.tokens == 0 || from_trade.tokens == 0 {
@@ -261,7 +261,7 @@ impl ExchangeProcessor {
fn do_trade_request(
keyed_accounts: &mut [KeyedAccount],
info: &TradeRequestInfo,
info: &OrderRequestInfo,
) -> Result<(), InstructionError> {
const OWNER_INDEX: usize = 0;
const TRADE_INDEX: usize = 1;
@@ -299,7 +299,7 @@ impl ExchangeProcessor {
inc_new_counter_info!("exchange_processor-trades", 1, 1000, 1000);
Self::serialize(
&ExchangeState::Trade(TradeOrderInfo {
&ExchangeState::Trade(OrderInfo {
owner: *keyed_accounts[OWNER_INDEX].unsigned_key(),
direction: info.direction,
pair: info.pair,
@@ -315,7 +315,7 @@ impl ExchangeProcessor {
)
}
fn do_trade_cancellation(keyed_accounts: &mut [KeyedAccount]) -> Result<(), InstructionError> {
fn do_order_cancellation(keyed_accounts: &mut [KeyedAccount]) -> Result<(), InstructionError> {
const OWNER_INDEX: usize = 0;
const TRADE_INDEX: usize = 1;
@@ -446,11 +446,11 @@ pub fn process_instruction(
ExchangeInstruction::TransferRequest(token, tokens) => {
ExchangeProcessor::do_transfer_request(keyed_accounts, token, tokens)
}
ExchangeInstruction::TradeRequest(info) => {
ExchangeInstruction::OrderRequest(info) => {
ExchangeProcessor::do_trade_request(keyed_accounts, &info)
}
ExchangeInstruction::TradeCancellation => {
ExchangeProcessor::do_trade_cancellation(keyed_accounts)
ExchangeInstruction::OrderCancellation => {
ExchangeProcessor::do_order_cancellation(keyed_accounts)
}
ExchangeInstruction::SwapRequest => ExchangeProcessor::do_swap_request(keyed_accounts),
}
@@ -487,8 +487,8 @@ mod test {
secondary_tokens,
secondary_price,
);
let mut to_trade = TradeOrderInfo::default();
let mut from_trade = TradeOrderInfo::default().direction(Direction::From);
let mut to_trade = OrderInfo::default();
let mut from_trade = OrderInfo::default().direction(Direction::From);
let mut profit_account = TokenAccountInfo::default();
to_trade.tokens = primary_tokens;
@@ -714,7 +714,7 @@ mod test {
// check results
assert_eq!(
TradeOrderInfo {
OrderInfo {
owner: owner.pubkey(),
direction: Direction::To,
pair: TokenPair::AB,
@@ -773,7 +773,7 @@ mod test {
// check results
assert_eq!(
TradeOrderInfo {
OrderInfo {
owner: owner.pubkey(),
direction: Direction::To,
pair: TokenPair::AB,

View File

@@ -150,7 +150,7 @@ impl fmt::Display for Direction {
/// Trade accounts are populated with this structure
#[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct TradeOrderInfo {
pub struct OrderInfo {
/// Owner of the trade order
pub owner: Pubkey,
/// Direction of the exchange
@@ -167,7 +167,7 @@ pub struct TradeOrderInfo {
/// token account by the owner.
pub tokens_settled: u64,
}
impl Default for TradeOrderInfo {
impl Default for OrderInfo {
fn default() -> Self {
Self {
owner: Pubkey::default(),
@@ -179,7 +179,7 @@ impl Default for TradeOrderInfo {
}
}
}
impl TradeOrderInfo {
impl OrderInfo {
pub fn pair(mut self, pair: TokenPair) -> Self {
self.pair = pair;
self
@@ -228,7 +228,7 @@ pub enum ExchangeState {
// Token account
Account(TokenAccountInfo),
// Trade order account
Trade(TradeOrderInfo),
Trade(OrderInfo),
Invalid,
}
impl Default for ExchangeState {