Boot exchange_transaction. No tests depend on it.
This commit is contained in:
parent
c2fdd1362a
commit
4507dca342
|
@ -1,103 +0,0 @@
|
||||||
use crate::exchange_instruction;
|
|
||||||
use crate::exchange_state::*;
|
|
||||||
use crate::id;
|
|
||||||
use solana_sdk::hash::Hash;
|
|
||||||
use solana_sdk::pubkey::Pubkey;
|
|
||||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
|
||||||
use solana_sdk::system_instruction;
|
|
||||||
use solana_sdk::transaction::Transaction;
|
|
||||||
use std::mem;
|
|
||||||
|
|
||||||
pub fn account_request(
|
|
||||||
owner: &Keypair,
|
|
||||||
new: &Pubkey,
|
|
||||||
recent_blockhash: Hash,
|
|
||||||
_fee: u64,
|
|
||||||
) -> Transaction {
|
|
||||||
let owner_id = &owner.pubkey();
|
|
||||||
let space = mem::size_of::<ExchangeState>() as u64;
|
|
||||||
let create_ix = system_instruction::create_account(owner_id, new, 1, space, &id());
|
|
||||||
let request_ix = exchange_instruction::account_request(owner_id, new);
|
|
||||||
Transaction::new_signed_instructions(&[owner], vec![create_ix, request_ix], recent_blockhash)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn transfer_request(
|
|
||||||
owner: &Keypair,
|
|
||||||
to: &Pubkey,
|
|
||||||
from: &Pubkey,
|
|
||||||
token: Token,
|
|
||||||
tokens: u64,
|
|
||||||
recent_blockhash: Hash,
|
|
||||||
_fee: u64,
|
|
||||||
) -> Transaction {
|
|
||||||
let owner_id = &owner.pubkey();
|
|
||||||
let request_ix = exchange_instruction::transfer_request(owner_id, to, from, token, tokens);
|
|
||||||
Transaction::new_signed_instructions(&[owner], vec![request_ix], recent_blockhash)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[allow(clippy::too_many_arguments)]
|
|
||||||
pub fn trade_request(
|
|
||||||
owner: &Keypair,
|
|
||||||
trade: &Pubkey,
|
|
||||||
direction: Direction,
|
|
||||||
pair: TokenPair,
|
|
||||||
tokens: u64,
|
|
||||||
price: u64,
|
|
||||||
src_account: &Pubkey,
|
|
||||||
dst_account: &Pubkey,
|
|
||||||
recent_blockhash: Hash,
|
|
||||||
_fee: u64,
|
|
||||||
) -> Transaction {
|
|
||||||
let owner_id = &owner.pubkey();
|
|
||||||
let space = mem::size_of::<ExchangeState>() as u64;
|
|
||||||
let create_ix = system_instruction::create_account(owner_id, trade, 1, space, &id());
|
|
||||||
let request_ix = exchange_instruction::trade_request(
|
|
||||||
owner_id,
|
|
||||||
trade,
|
|
||||||
direction,
|
|
||||||
pair,
|
|
||||||
tokens,
|
|
||||||
price,
|
|
||||||
src_account,
|
|
||||||
dst_account,
|
|
||||||
);
|
|
||||||
Transaction::new_signed_instructions(&[owner], vec![create_ix, request_ix], recent_blockhash)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn trade_cancellation(
|
|
||||||
owner: &Keypair,
|
|
||||||
trade: &Pubkey,
|
|
||||||
account: &Pubkey,
|
|
||||||
recent_blockhash: Hash,
|
|
||||||
_fee: u64,
|
|
||||||
) -> Transaction {
|
|
||||||
let owner_id = &owner.pubkey();
|
|
||||||
let request_ix = exchange_instruction::trade_cancellation(owner_id, trade, account);
|
|
||||||
Transaction::new_signed_instructions(&[owner], vec![request_ix], recent_blockhash)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn swap_request(
|
|
||||||
owner: &Keypair,
|
|
||||||
swap: &Pubkey,
|
|
||||||
to_trade: &Pubkey,
|
|
||||||
from_trade: &Pubkey,
|
|
||||||
to_trade_account: &Pubkey,
|
|
||||||
from_trade_account: &Pubkey,
|
|
||||||
profit_account: &Pubkey,
|
|
||||||
recent_blockhash: Hash,
|
|
||||||
_fee: u64,
|
|
||||||
) -> Transaction {
|
|
||||||
let owner_id = &owner.pubkey();
|
|
||||||
let space = mem::size_of::<ExchangeState>() as u64;
|
|
||||||
let create_ix = system_instruction::create_account(owner_id, swap, 1, space, &id());
|
|
||||||
let request_ix = exchange_instruction::swap_request(
|
|
||||||
owner_id,
|
|
||||||
swap,
|
|
||||||
to_trade,
|
|
||||||
from_trade,
|
|
||||||
to_trade_account,
|
|
||||||
from_trade_account,
|
|
||||||
profit_account,
|
|
||||||
);
|
|
||||||
Transaction::new_signed_instructions(&[owner], vec![create_ix, request_ix], recent_blockhash)
|
|
||||||
}
|
|
|
@ -1,7 +1,6 @@
|
||||||
pub mod exchange_instruction;
|
pub mod exchange_instruction;
|
||||||
pub mod exchange_processor;
|
pub mod exchange_processor;
|
||||||
pub mod exchange_state;
|
pub mod exchange_state;
|
||||||
pub mod exchange_transaction;
|
|
||||||
|
|
||||||
use solana_sdk::pubkey::Pubkey;
|
use solana_sdk::pubkey::Pubkey;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue