Class TradeAccount

A trade account instance. The instance is connected to a specific equity token, and will only have access to LPs with that same underlying token.

Hierarchy

  • TradeAccount

Implements

  • ITradeAccount

Constructors

  • Parameters

    • id: number
    • realizedEquity: BigNumber
    • positions: Position[]
    • openOrders: {
          accountId: number;
          accountUser: string;
          createdTimestampUnixMillis: number;
          expiryTimestampUnixMillis: number;
          id: string;
          kind: (({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; })) & (undefined | ({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; }));
          lpId: string;
          nonce: string;
          pair: Pair;
          signature: string;
          size: { amount: BigNumber; unit: "lpc" | "lot"; };
          status: (({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; })) & (undefined | ({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; }));
      }[]
    • protocol: TradeProtocol
    • adapter: TradeAdapter
    • reader: TradeReader
    • equityTokenAddress: string

    Returns TradeAccount

Properties

adapter: TradeAdapter
equityTokenAddress: string
id: number
isProcessingSubscriptionRequest: boolean = false
onUpdate?: (() => void)

Type declaration

    • (): void
    • Returns void

openOrders: {
    accountId: number;
    accountUser: string;
    createdTimestampUnixMillis: number;
    expiryTimestampUnixMillis: number;
    id: string;
    kind: (({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; })) & (undefined | ({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; }));
    lpId: string;
    nonce: string;
    pair: Pair;
    signature: string;
    size: { amount: BigNumber; unit: "lpc" | "lot"; };
    status: (({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; })) & (undefined | ({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; }));
}[]

Type declaration

  • accountId: number
  • accountUser: string
  • createdTimestampUnixMillis: number
  • expiryTimestampUnixMillis: number
  • id: string
  • kind: (({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; })) & (undefined | ({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; }))
  • lpId: string
  • nonce: string
  • pair: Pair
  • signature: string
  • size: { amount: BigNumber; unit: "lpc" | "lot"; }
  • status: (({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; })) & (undefined | ({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; }))
orderPublicationListener: undefined | OrderPublicationListener
positions: Position[]
protocol: TradeProtocol
reader: TradeReader
realizedEquity: BigNumber
subsriptionId: null | string = null

Methods

  • Returns the available equity for the account.

    Returns BigNumber

  • Returns the available equity for the account.

    Returns BigNumber

  • Returns BigNumber

    The total value of all positions in the liquidity token currency (currently USD).

  • Returns {
        accountId: number;
        accountUser: string;
        createdTimestampUnixMillis: number;
        expiryTimestampUnixMillis: number;
        id: string;
        kind: (({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; })) & (undefined | ({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; }));
        lpId: string;
        nonce: string;
        pair: Pair;
        signature: string;
        size: { amount: BigNumber; unit: "lpc" | "lot"; };
        status: (({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; })) & (undefined | ({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; }));
    }[]

  • Parameters

    Returns Promise<{
        accountId: number;
        accountUser: string;
        createdTimestampUnixMillis: number;
        expiryTimestampUnixMillis: number;
        id: string;
        kind: (({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; })) & (undefined | ({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; }));
        lpId: string;
        nonce: string;
        pair: Pair;
        signature: string;
        size: { amount: BigNumber; unit: "lpc" | "lot"; };
        status: (({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; })) & (undefined | ({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; }));
    }[]>

  • Returns the unrealised equity for the account.

    Returns BigNumber

  • Parameters

    Returns Promise<{
        accountId: number;
        accountUser: string;
        createdTimestampUnixMillis: number;
        expiryTimestampUnixMillis: number;
        id: string;
        kind: (({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; })) & (undefined | ({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; }));
        lpId: string;
        nonce: string;
        pair: Pair;
        signature: string;
        size: { amount: BigNumber; unit: "lpc" | "lot"; };
        status: (({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; })) & (undefined | ({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; }));
    }>

  • Parameters

    Returns Promise<{
        accountId: number;
        accountUser: string;
        createdTimestampUnixMillis: number;
        expiryTimestampUnixMillis: number;
        id: string;
        kind: (({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; })) & (undefined | ({ kind: "market"; }) | ({ kind: "limit"; args: { limitPrice: BigNumber; }; }) | ({ kind: "stopMarket"; args: { triggerPrice: BigNumber; stopLoss?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: "stopLimit"; args: { triggerPrice: BigNumber; limitPrice: BigNumber; }; }) | ({ kind: "limitTrigger"; args: { triggerPrice: BigNumber; takeProfit?: { kind: "position"; } | { id: string; kind: "order"; } | null | undefined; }; }) | ({ kind: string; }));
        lpId: string;
        nonce: string;
        pair: Pair;
        signature: string;
        size: { amount: BigNumber; unit: "lpc" | "lot"; };
        status: (({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; })) & (undefined | ({ status: "open"; content: { status: "placed"; } | { status: "triggered"; content: { triggerPrice: BigNumber; timestampUnixMillis: number; }; }; }) | ({ status: "filled"; content: { price: BigNumber; timestampUnixMillis: number; settlementStatus: { status: "queued"; } | { status: "beforeTx"; } | { status: "indexing"; } | { status: "settled"; content: { ...; }; }; }; }) | ({ status: "cancelled"; content: { timestampUnixMillis: number; reason: string; userCancellation?: { address: string; nonce: string; signature: { v: number; r: string; s: string; }; } | null | undefined; }; }));
    }[]>

Generated using TypeDoc