All files / src types.ts

100% Statements 12/12
100% Branches 6/6
100% Functions 3/3
100% Lines 12/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65                    1x 1x 1x     1x 1x 1x 1x 1x     1x 1x 1x 1x                                                                              
import {
  Keypair,
  TransactionInstruction,
  PublicKey,
  Commitment,
} from "@solana/web3.js";
import BN from "bn.js";
 
export type PrimedTransaction = [Keypair[], TransactionInstruction[]];
 
export enum Side {
  Bid = 0,
  Ask = 1,
}
 
export enum OrderType {
  Limit = 0,
  ImmediateOrCancel = 1,
  FillOrKill = 2,
  PostOnly = 3,
}
 
export enum SelfTradeBehavior {
  DecrementTake = 0,
  CancelProvide = 1,
  AbortTransaction = 2,
}
 
export interface OrderParams<T = Keypair> {
  owner: T;
  payer: PublicKey;
  side: Side;
  price: number;
  size: number;
  orderType?: OrderType;
  clientId?: BN;
  openOrdersAddressKey?: PublicKey;
  openOrdersAccount?: Keypair;
  feeDiscountPubkey?: PublicKey | null;
  selfTradeBehavior?: SelfTradeBehavior;
  programId?: PublicKey;
}
 
export interface Order {
  orderIndex: BN;
  openOrdersAddress: PublicKey;
  price: number;
  size: number;
  feeTier: number;
  side: Side;
  orderType: OrderType;
  selfTradeBehavior: SelfTradeBehavior;
  clientId?: BN;
}
 
export interface OrderInfo {
  orderIndex: number;
  orderId: BN;
}
 
export interface MarketOptions {
  skipPreflight?: boolean;
  commitment?: Commitment;
}