All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.contek.invoker.bybit.api.websocket.user.ExecutionChannel Maven / Gradle / Ivy

The newest version!
package io.contek.invoker.bybit.api.websocket.user;

import io.contek.invoker.bybit.api.websocket.WebSocketChannel;
import io.contek.invoker.bybit.api.websocket.WebSocketChannelId;
import io.contek.invoker.bybit.api.websocket.WebSocketRequestIdGenerator;
import io.contek.invoker.bybit.api.websocket.common.WebSocketTopicMessage;

import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
import javax.annotation.concurrent.NotThreadSafe;
import javax.annotation.concurrent.ThreadSafe;
import java.util.ArrayList;

@ThreadSafe
public final class ExecutionChannel extends WebSocketChannel {

  ExecutionChannel(Id id, WebSocketRequestIdGenerator requestIdGenerator) {
    super(id, requestIdGenerator);
  }

  @Override
  public Class getMessageType() {
    return Message.class;
  }

  @Immutable
  public static final class Id extends WebSocketChannelId {

    private Id(String topic) {
      super(topic);
    }

    public static Id of(@Nullable String category) {
      return category == null
          ? new Id("execution")
          : new Id(String.format("execution.%s", category));
    }
  }

  @NotThreadSafe
  public static final class Message extends WebSocketTopicMessage {}

  @NotThreadSafe
  public static final class Data extends ArrayList {}

  @NotThreadSafe
  public static final class Execution {

    public String category;
    public String symbol;
    public String execFee;
    public String execId;
    public String execPrice;
    public String execQty;
    public String execType;
    public String execValue;
    public Boolean isMaker;
    public String feeRate;
    public String tradeIv;
    public String markIv;
    public String blockTradeId;
    public String markPrice;
    public String indexPrice;
    public String underlyingPrice;
    public String leavesQty;
    public String orderId;
    public String orderLinkId;
    public String orderPrice;
    public String orderQty;
    public String orderType;
    public String stopOrderType;
    public String side;
    public String execTime;
    public String isLeverage;
    public String closedSize;
    public Long seq;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy