tinkoff-invest-api
Version:
Node.js SDK for Tinkoff Invest API
1,235 lines • 58.4 kB
JavaScript
/* eslint-disable */
import Long from "long";
import _m0 from "protobufjs/minimal.js";
import { MoneyValue, priceTypeFromJSON, priceTypeToJSON, Quotation, ResponseMetadata } from "./common.js";
import { Timestamp } from "./google/protobuf/timestamp.js";
export const protobufPackage = "tinkoff.public.invest.api.contract.v1";
/** Направление сделки стоп-заявки. */
export var StopOrderDirection;
(function (StopOrderDirection) {
/** STOP_ORDER_DIRECTION_UNSPECIFIED - Значение не указано. */
StopOrderDirection[StopOrderDirection["STOP_ORDER_DIRECTION_UNSPECIFIED"] = 0] = "STOP_ORDER_DIRECTION_UNSPECIFIED";
/** STOP_ORDER_DIRECTION_BUY - Покупка. */
StopOrderDirection[StopOrderDirection["STOP_ORDER_DIRECTION_BUY"] = 1] = "STOP_ORDER_DIRECTION_BUY";
/** STOP_ORDER_DIRECTION_SELL - Продажа. */
StopOrderDirection[StopOrderDirection["STOP_ORDER_DIRECTION_SELL"] = 2] = "STOP_ORDER_DIRECTION_SELL";
StopOrderDirection[StopOrderDirection["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(StopOrderDirection || (StopOrderDirection = {}));
export function stopOrderDirectionFromJSON(object) {
switch (object) {
case 0:
case "STOP_ORDER_DIRECTION_UNSPECIFIED":
return StopOrderDirection.STOP_ORDER_DIRECTION_UNSPECIFIED;
case 1:
case "STOP_ORDER_DIRECTION_BUY":
return StopOrderDirection.STOP_ORDER_DIRECTION_BUY;
case 2:
case "STOP_ORDER_DIRECTION_SELL":
return StopOrderDirection.STOP_ORDER_DIRECTION_SELL;
case -1:
case "UNRECOGNIZED":
default:
return StopOrderDirection.UNRECOGNIZED;
}
}
export function stopOrderDirectionToJSON(object) {
switch (object) {
case StopOrderDirection.STOP_ORDER_DIRECTION_UNSPECIFIED:
return "STOP_ORDER_DIRECTION_UNSPECIFIED";
case StopOrderDirection.STOP_ORDER_DIRECTION_BUY:
return "STOP_ORDER_DIRECTION_BUY";
case StopOrderDirection.STOP_ORDER_DIRECTION_SELL:
return "STOP_ORDER_DIRECTION_SELL";
case StopOrderDirection.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Тип экспирации стоп-заявке. */
export var StopOrderExpirationType;
(function (StopOrderExpirationType) {
/** STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED - Значение не указано. */
StopOrderExpirationType[StopOrderExpirationType["STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED"] = 0] = "STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED";
/** STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL - Действительно до отмены. */
StopOrderExpirationType[StopOrderExpirationType["STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL"] = 1] = "STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL";
/** STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE - Действительно до даты снятия. */
StopOrderExpirationType[StopOrderExpirationType["STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE"] = 2] = "STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE";
StopOrderExpirationType[StopOrderExpirationType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(StopOrderExpirationType || (StopOrderExpirationType = {}));
export function stopOrderExpirationTypeFromJSON(object) {
switch (object) {
case 0:
case "STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED":
return StopOrderExpirationType.STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED;
case 1:
case "STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL":
return StopOrderExpirationType.STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL;
case 2:
case "STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE":
return StopOrderExpirationType.STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE;
case -1:
case "UNRECOGNIZED":
default:
return StopOrderExpirationType.UNRECOGNIZED;
}
}
export function stopOrderExpirationTypeToJSON(object) {
switch (object) {
case StopOrderExpirationType.STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED:
return "STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED";
case StopOrderExpirationType.STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL:
return "STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL";
case StopOrderExpirationType.STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE:
return "STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE";
case StopOrderExpirationType.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Тип стоп-заявки. */
export var StopOrderType;
(function (StopOrderType) {
/** STOP_ORDER_TYPE_UNSPECIFIED - Значение не указано. */
StopOrderType[StopOrderType["STOP_ORDER_TYPE_UNSPECIFIED"] = 0] = "STOP_ORDER_TYPE_UNSPECIFIED";
/** STOP_ORDER_TYPE_TAKE_PROFIT - `Take-profit`-заявка. */
StopOrderType[StopOrderType["STOP_ORDER_TYPE_TAKE_PROFIT"] = 1] = "STOP_ORDER_TYPE_TAKE_PROFIT";
/** STOP_ORDER_TYPE_STOP_LOSS - `Stop-loss`-заявка. */
StopOrderType[StopOrderType["STOP_ORDER_TYPE_STOP_LOSS"] = 2] = "STOP_ORDER_TYPE_STOP_LOSS";
/** STOP_ORDER_TYPE_STOP_LIMIT - `Stop-limit`-заявка. */
StopOrderType[StopOrderType["STOP_ORDER_TYPE_STOP_LIMIT"] = 3] = "STOP_ORDER_TYPE_STOP_LIMIT";
StopOrderType[StopOrderType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(StopOrderType || (StopOrderType = {}));
export function stopOrderTypeFromJSON(object) {
switch (object) {
case 0:
case "STOP_ORDER_TYPE_UNSPECIFIED":
return StopOrderType.STOP_ORDER_TYPE_UNSPECIFIED;
case 1:
case "STOP_ORDER_TYPE_TAKE_PROFIT":
return StopOrderType.STOP_ORDER_TYPE_TAKE_PROFIT;
case 2:
case "STOP_ORDER_TYPE_STOP_LOSS":
return StopOrderType.STOP_ORDER_TYPE_STOP_LOSS;
case 3:
case "STOP_ORDER_TYPE_STOP_LIMIT":
return StopOrderType.STOP_ORDER_TYPE_STOP_LIMIT;
case -1:
case "UNRECOGNIZED":
default:
return StopOrderType.UNRECOGNIZED;
}
}
export function stopOrderTypeToJSON(object) {
switch (object) {
case StopOrderType.STOP_ORDER_TYPE_UNSPECIFIED:
return "STOP_ORDER_TYPE_UNSPECIFIED";
case StopOrderType.STOP_ORDER_TYPE_TAKE_PROFIT:
return "STOP_ORDER_TYPE_TAKE_PROFIT";
case StopOrderType.STOP_ORDER_TYPE_STOP_LOSS:
return "STOP_ORDER_TYPE_STOP_LOSS";
case StopOrderType.STOP_ORDER_TYPE_STOP_LIMIT:
return "STOP_ORDER_TYPE_STOP_LIMIT";
case StopOrderType.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Статус стоп-заяки. */
export var StopOrderStatusOption;
(function (StopOrderStatusOption) {
/** STOP_ORDER_STATUS_UNSPECIFIED - Значение не указано. */
StopOrderStatusOption[StopOrderStatusOption["STOP_ORDER_STATUS_UNSPECIFIED"] = 0] = "STOP_ORDER_STATUS_UNSPECIFIED";
/** STOP_ORDER_STATUS_ALL - Все заявки. */
StopOrderStatusOption[StopOrderStatusOption["STOP_ORDER_STATUS_ALL"] = 1] = "STOP_ORDER_STATUS_ALL";
/** STOP_ORDER_STATUS_ACTIVE - Активные заявки. */
StopOrderStatusOption[StopOrderStatusOption["STOP_ORDER_STATUS_ACTIVE"] = 2] = "STOP_ORDER_STATUS_ACTIVE";
/** STOP_ORDER_STATUS_EXECUTED - Исполненные заявки. */
StopOrderStatusOption[StopOrderStatusOption["STOP_ORDER_STATUS_EXECUTED"] = 3] = "STOP_ORDER_STATUS_EXECUTED";
/** STOP_ORDER_STATUS_CANCELED - Отменённые заявки. */
StopOrderStatusOption[StopOrderStatusOption["STOP_ORDER_STATUS_CANCELED"] = 4] = "STOP_ORDER_STATUS_CANCELED";
/** STOP_ORDER_STATUS_EXPIRED - Истёкшие заявки. */
StopOrderStatusOption[StopOrderStatusOption["STOP_ORDER_STATUS_EXPIRED"] = 5] = "STOP_ORDER_STATUS_EXPIRED";
StopOrderStatusOption[StopOrderStatusOption["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(StopOrderStatusOption || (StopOrderStatusOption = {}));
export function stopOrderStatusOptionFromJSON(object) {
switch (object) {
case 0:
case "STOP_ORDER_STATUS_UNSPECIFIED":
return StopOrderStatusOption.STOP_ORDER_STATUS_UNSPECIFIED;
case 1:
case "STOP_ORDER_STATUS_ALL":
return StopOrderStatusOption.STOP_ORDER_STATUS_ALL;
case 2:
case "STOP_ORDER_STATUS_ACTIVE":
return StopOrderStatusOption.STOP_ORDER_STATUS_ACTIVE;
case 3:
case "STOP_ORDER_STATUS_EXECUTED":
return StopOrderStatusOption.STOP_ORDER_STATUS_EXECUTED;
case 4:
case "STOP_ORDER_STATUS_CANCELED":
return StopOrderStatusOption.STOP_ORDER_STATUS_CANCELED;
case 5:
case "STOP_ORDER_STATUS_EXPIRED":
return StopOrderStatusOption.STOP_ORDER_STATUS_EXPIRED;
case -1:
case "UNRECOGNIZED":
default:
return StopOrderStatusOption.UNRECOGNIZED;
}
}
export function stopOrderStatusOptionToJSON(object) {
switch (object) {
case StopOrderStatusOption.STOP_ORDER_STATUS_UNSPECIFIED:
return "STOP_ORDER_STATUS_UNSPECIFIED";
case StopOrderStatusOption.STOP_ORDER_STATUS_ALL:
return "STOP_ORDER_STATUS_ALL";
case StopOrderStatusOption.STOP_ORDER_STATUS_ACTIVE:
return "STOP_ORDER_STATUS_ACTIVE";
case StopOrderStatusOption.STOP_ORDER_STATUS_EXECUTED:
return "STOP_ORDER_STATUS_EXECUTED";
case StopOrderStatusOption.STOP_ORDER_STATUS_CANCELED:
return "STOP_ORDER_STATUS_CANCELED";
case StopOrderStatusOption.STOP_ORDER_STATUS_EXPIRED:
return "STOP_ORDER_STATUS_EXPIRED";
case StopOrderStatusOption.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Тип выставляемой заявки. */
export var ExchangeOrderType;
(function (ExchangeOrderType) {
/** EXCHANGE_ORDER_TYPE_UNSPECIFIED - Значение не указано. */
ExchangeOrderType[ExchangeOrderType["EXCHANGE_ORDER_TYPE_UNSPECIFIED"] = 0] = "EXCHANGE_ORDER_TYPE_UNSPECIFIED";
/** EXCHANGE_ORDER_TYPE_MARKET - Заявка по рыночной цене. */
ExchangeOrderType[ExchangeOrderType["EXCHANGE_ORDER_TYPE_MARKET"] = 1] = "EXCHANGE_ORDER_TYPE_MARKET";
/** EXCHANGE_ORDER_TYPE_LIMIT - Лимитная заявка. */
ExchangeOrderType[ExchangeOrderType["EXCHANGE_ORDER_TYPE_LIMIT"] = 2] = "EXCHANGE_ORDER_TYPE_LIMIT";
ExchangeOrderType[ExchangeOrderType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(ExchangeOrderType || (ExchangeOrderType = {}));
export function exchangeOrderTypeFromJSON(object) {
switch (object) {
case 0:
case "EXCHANGE_ORDER_TYPE_UNSPECIFIED":
return ExchangeOrderType.EXCHANGE_ORDER_TYPE_UNSPECIFIED;
case 1:
case "EXCHANGE_ORDER_TYPE_MARKET":
return ExchangeOrderType.EXCHANGE_ORDER_TYPE_MARKET;
case 2:
case "EXCHANGE_ORDER_TYPE_LIMIT":
return ExchangeOrderType.EXCHANGE_ORDER_TYPE_LIMIT;
case -1:
case "UNRECOGNIZED":
default:
return ExchangeOrderType.UNRECOGNIZED;
}
}
export function exchangeOrderTypeToJSON(object) {
switch (object) {
case ExchangeOrderType.EXCHANGE_ORDER_TYPE_UNSPECIFIED:
return "EXCHANGE_ORDER_TYPE_UNSPECIFIED";
case ExchangeOrderType.EXCHANGE_ORDER_TYPE_MARKET:
return "EXCHANGE_ORDER_TYPE_MARKET";
case ExchangeOrderType.EXCHANGE_ORDER_TYPE_LIMIT:
return "EXCHANGE_ORDER_TYPE_LIMIT";
case ExchangeOrderType.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Тип TakeProfit-заявки. */
export var TakeProfitType;
(function (TakeProfitType) {
/** TAKE_PROFIT_TYPE_UNSPECIFIED - Значение не указано. */
TakeProfitType[TakeProfitType["TAKE_PROFIT_TYPE_UNSPECIFIED"] = 0] = "TAKE_PROFIT_TYPE_UNSPECIFIED";
/** TAKE_PROFIT_TYPE_REGULAR - Обычная заявка, значение по умолчанию. */
TakeProfitType[TakeProfitType["TAKE_PROFIT_TYPE_REGULAR"] = 1] = "TAKE_PROFIT_TYPE_REGULAR";
/** TAKE_PROFIT_TYPE_TRAILING - Трейлинг-стоп. */
TakeProfitType[TakeProfitType["TAKE_PROFIT_TYPE_TRAILING"] = 2] = "TAKE_PROFIT_TYPE_TRAILING";
TakeProfitType[TakeProfitType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(TakeProfitType || (TakeProfitType = {}));
export function takeProfitTypeFromJSON(object) {
switch (object) {
case 0:
case "TAKE_PROFIT_TYPE_UNSPECIFIED":
return TakeProfitType.TAKE_PROFIT_TYPE_UNSPECIFIED;
case 1:
case "TAKE_PROFIT_TYPE_REGULAR":
return TakeProfitType.TAKE_PROFIT_TYPE_REGULAR;
case 2:
case "TAKE_PROFIT_TYPE_TRAILING":
return TakeProfitType.TAKE_PROFIT_TYPE_TRAILING;
case -1:
case "UNRECOGNIZED":
default:
return TakeProfitType.UNRECOGNIZED;
}
}
export function takeProfitTypeToJSON(object) {
switch (object) {
case TakeProfitType.TAKE_PROFIT_TYPE_UNSPECIFIED:
return "TAKE_PROFIT_TYPE_UNSPECIFIED";
case TakeProfitType.TAKE_PROFIT_TYPE_REGULAR:
return "TAKE_PROFIT_TYPE_REGULAR";
case TakeProfitType.TAKE_PROFIT_TYPE_TRAILING:
return "TAKE_PROFIT_TYPE_TRAILING";
case TakeProfitType.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Тип параметров значений трейлинг-стопа. */
export var TrailingValueType;
(function (TrailingValueType) {
/** TRAILING_VALUE_UNSPECIFIED - Значение не указано. */
TrailingValueType[TrailingValueType["TRAILING_VALUE_UNSPECIFIED"] = 0] = "TRAILING_VALUE_UNSPECIFIED";
/** TRAILING_VALUE_ABSOLUTE - Абсолютное значение в единицах цены. */
TrailingValueType[TrailingValueType["TRAILING_VALUE_ABSOLUTE"] = 1] = "TRAILING_VALUE_ABSOLUTE";
/** TRAILING_VALUE_RELATIVE - Относительное значение в процентах. */
TrailingValueType[TrailingValueType["TRAILING_VALUE_RELATIVE"] = 2] = "TRAILING_VALUE_RELATIVE";
TrailingValueType[TrailingValueType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(TrailingValueType || (TrailingValueType = {}));
export function trailingValueTypeFromJSON(object) {
switch (object) {
case 0:
case "TRAILING_VALUE_UNSPECIFIED":
return TrailingValueType.TRAILING_VALUE_UNSPECIFIED;
case 1:
case "TRAILING_VALUE_ABSOLUTE":
return TrailingValueType.TRAILING_VALUE_ABSOLUTE;
case 2:
case "TRAILING_VALUE_RELATIVE":
return TrailingValueType.TRAILING_VALUE_RELATIVE;
case -1:
case "UNRECOGNIZED":
default:
return TrailingValueType.UNRECOGNIZED;
}
}
export function trailingValueTypeToJSON(object) {
switch (object) {
case TrailingValueType.TRAILING_VALUE_UNSPECIFIED:
return "TRAILING_VALUE_UNSPECIFIED";
case TrailingValueType.TRAILING_VALUE_ABSOLUTE:
return "TRAILING_VALUE_ABSOLUTE";
case TrailingValueType.TRAILING_VALUE_RELATIVE:
return "TRAILING_VALUE_RELATIVE";
case TrailingValueType.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Статус трейлинг-стопа. */
export var TrailingStopStatus;
(function (TrailingStopStatus) {
/** TRAILING_STOP_UNSPECIFIED - Значение не указано. */
TrailingStopStatus[TrailingStopStatus["TRAILING_STOP_UNSPECIFIED"] = 0] = "TRAILING_STOP_UNSPECIFIED";
/** TRAILING_STOP_ACTIVE - Активный. */
TrailingStopStatus[TrailingStopStatus["TRAILING_STOP_ACTIVE"] = 1] = "TRAILING_STOP_ACTIVE";
/** TRAILING_STOP_ACTIVATED - Активированный. */
TrailingStopStatus[TrailingStopStatus["TRAILING_STOP_ACTIVATED"] = 2] = "TRAILING_STOP_ACTIVATED";
TrailingStopStatus[TrailingStopStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(TrailingStopStatus || (TrailingStopStatus = {}));
export function trailingStopStatusFromJSON(object) {
switch (object) {
case 0:
case "TRAILING_STOP_UNSPECIFIED":
return TrailingStopStatus.TRAILING_STOP_UNSPECIFIED;
case 1:
case "TRAILING_STOP_ACTIVE":
return TrailingStopStatus.TRAILING_STOP_ACTIVE;
case 2:
case "TRAILING_STOP_ACTIVATED":
return TrailingStopStatus.TRAILING_STOP_ACTIVATED;
case -1:
case "UNRECOGNIZED":
default:
return TrailingStopStatus.UNRECOGNIZED;
}
}
export function trailingStopStatusToJSON(object) {
switch (object) {
case TrailingStopStatus.TRAILING_STOP_UNSPECIFIED:
return "TRAILING_STOP_UNSPECIFIED";
case TrailingStopStatus.TRAILING_STOP_ACTIVE:
return "TRAILING_STOP_ACTIVE";
case TrailingStopStatus.TRAILING_STOP_ACTIVATED:
return "TRAILING_STOP_ACTIVATED";
case TrailingStopStatus.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
function createBasePostStopOrderRequest() {
return {
figi: undefined,
quantity: 0,
price: undefined,
stopPrice: undefined,
direction: 0,
accountId: "",
expirationType: 0,
stopOrderType: 0,
expireDate: undefined,
instrumentId: "",
exchangeOrderType: 0,
takeProfitType: 0,
trailingData: undefined,
priceType: 0,
orderId: "",
};
}
export const PostStopOrderRequest = {
encode(message, writer = _m0.Writer.create()) {
if (message.figi !== undefined) {
writer.uint32(10).string(message.figi);
}
if (message.quantity !== 0) {
writer.uint32(16).int64(message.quantity);
}
if (message.price !== undefined) {
Quotation.encode(message.price, writer.uint32(26).fork()).ldelim();
}
if (message.stopPrice !== undefined) {
Quotation.encode(message.stopPrice, writer.uint32(34).fork()).ldelim();
}
if (message.direction !== 0) {
writer.uint32(40).int32(message.direction);
}
if (message.accountId !== "") {
writer.uint32(50).string(message.accountId);
}
if (message.expirationType !== 0) {
writer.uint32(56).int32(message.expirationType);
}
if (message.stopOrderType !== 0) {
writer.uint32(64).int32(message.stopOrderType);
}
if (message.expireDate !== undefined) {
Timestamp.encode(toTimestamp(message.expireDate), writer.uint32(74).fork()).ldelim();
}
if (message.instrumentId !== "") {
writer.uint32(82).string(message.instrumentId);
}
if (message.exchangeOrderType !== 0) {
writer.uint32(88).int32(message.exchangeOrderType);
}
if (message.takeProfitType !== 0) {
writer.uint32(96).int32(message.takeProfitType);
}
if (message.trailingData !== undefined) {
PostStopOrderRequest_TrailingData.encode(message.trailingData, writer.uint32(106).fork()).ldelim();
}
if (message.priceType !== 0) {
writer.uint32(112).int32(message.priceType);
}
if (message.orderId !== "") {
writer.uint32(122).string(message.orderId);
}
return writer;
},
decode(input, length) {
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBasePostStopOrderRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.figi = reader.string();
continue;
case 2:
if (tag !== 16) {
break;
}
message.quantity = longToNumber(reader.int64());
continue;
case 3:
if (tag !== 26) {
break;
}
message.price = Quotation.decode(reader, reader.uint32());
continue;
case 4:
if (tag !== 34) {
break;
}
message.stopPrice = Quotation.decode(reader, reader.uint32());
continue;
case 5:
if (tag !== 40) {
break;
}
message.direction = reader.int32();
continue;
case 6:
if (tag !== 50) {
break;
}
message.accountId = reader.string();
continue;
case 7:
if (tag !== 56) {
break;
}
message.expirationType = reader.int32();
continue;
case 8:
if (tag !== 64) {
break;
}
message.stopOrderType = reader.int32();
continue;
case 9:
if (tag !== 74) {
break;
}
message.expireDate = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
continue;
case 10:
if (tag !== 82) {
break;
}
message.instrumentId = reader.string();
continue;
case 11:
if (tag !== 88) {
break;
}
message.exchangeOrderType = reader.int32();
continue;
case 12:
if (tag !== 96) {
break;
}
message.takeProfitType = reader.int32();
continue;
case 13:
if (tag !== 106) {
break;
}
message.trailingData = PostStopOrderRequest_TrailingData.decode(reader, reader.uint32());
continue;
case 14:
if (tag !== 112) {
break;
}
message.priceType = reader.int32();
continue;
case 15:
if (tag !== 122) {
break;
}
message.orderId = reader.string();
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
figi: isSet(object.figi) ? globalThis.String(object.figi) : undefined,
quantity: isSet(object.quantity) ? globalThis.Number(object.quantity) : 0,
price: isSet(object.price) ? Quotation.fromJSON(object.price) : undefined,
stopPrice: isSet(object.stopPrice) ? Quotation.fromJSON(object.stopPrice) : undefined,
direction: isSet(object.direction) ? stopOrderDirectionFromJSON(object.direction) : 0,
accountId: isSet(object.accountId) ? globalThis.String(object.accountId) : "",
expirationType: isSet(object.expirationType) ? stopOrderExpirationTypeFromJSON(object.expirationType) : 0,
stopOrderType: isSet(object.stopOrderType) ? stopOrderTypeFromJSON(object.stopOrderType) : 0,
expireDate: isSet(object.expireDate) ? fromJsonTimestamp(object.expireDate) : undefined,
instrumentId: isSet(object.instrumentId) ? globalThis.String(object.instrumentId) : "",
exchangeOrderType: isSet(object.exchangeOrderType) ? exchangeOrderTypeFromJSON(object.exchangeOrderType) : 0,
takeProfitType: isSet(object.takeProfitType) ? takeProfitTypeFromJSON(object.takeProfitType) : 0,
trailingData: isSet(object.trailingData)
? PostStopOrderRequest_TrailingData.fromJSON(object.trailingData)
: undefined,
priceType: isSet(object.priceType) ? priceTypeFromJSON(object.priceType) : 0,
orderId: isSet(object.orderId) ? globalThis.String(object.orderId) : "",
};
},
toJSON(message) {
const obj = {};
if (message.figi !== undefined) {
obj.figi = message.figi;
}
if (message.quantity !== 0) {
obj.quantity = Math.round(message.quantity);
}
if (message.price !== undefined) {
obj.price = Quotation.toJSON(message.price);
}
if (message.stopPrice !== undefined) {
obj.stopPrice = Quotation.toJSON(message.stopPrice);
}
if (message.direction !== 0) {
obj.direction = stopOrderDirectionToJSON(message.direction);
}
if (message.accountId !== "") {
obj.accountId = message.accountId;
}
if (message.expirationType !== 0) {
obj.expirationType = stopOrderExpirationTypeToJSON(message.expirationType);
}
if (message.stopOrderType !== 0) {
obj.stopOrderType = stopOrderTypeToJSON(message.stopOrderType);
}
if (message.expireDate !== undefined) {
obj.expireDate = message.expireDate.toISOString();
}
if (message.instrumentId !== "") {
obj.instrumentId = message.instrumentId;
}
if (message.exchangeOrderType !== 0) {
obj.exchangeOrderType = exchangeOrderTypeToJSON(message.exchangeOrderType);
}
if (message.takeProfitType !== 0) {
obj.takeProfitType = takeProfitTypeToJSON(message.takeProfitType);
}
if (message.trailingData !== undefined) {
obj.trailingData = PostStopOrderRequest_TrailingData.toJSON(message.trailingData);
}
if (message.priceType !== 0) {
obj.priceType = priceTypeToJSON(message.priceType);
}
if (message.orderId !== "") {
obj.orderId = message.orderId;
}
return obj;
},
};
function createBasePostStopOrderRequest_TrailingData() {
return { indent: undefined, indentType: 0, spread: undefined, spreadType: 0 };
}
export const PostStopOrderRequest_TrailingData = {
encode(message, writer = _m0.Writer.create()) {
if (message.indent !== undefined) {
Quotation.encode(message.indent, writer.uint32(10).fork()).ldelim();
}
if (message.indentType !== 0) {
writer.uint32(16).int32(message.indentType);
}
if (message.spread !== undefined) {
Quotation.encode(message.spread, writer.uint32(26).fork()).ldelim();
}
if (message.spreadType !== 0) {
writer.uint32(32).int32(message.spreadType);
}
return writer;
},
decode(input, length) {
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBasePostStopOrderRequest_TrailingData();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.indent = Quotation.decode(reader, reader.uint32());
continue;
case 2:
if (tag !== 16) {
break;
}
message.indentType = reader.int32();
continue;
case 3:
if (tag !== 26) {
break;
}
message.spread = Quotation.decode(reader, reader.uint32());
continue;
case 4:
if (tag !== 32) {
break;
}
message.spreadType = reader.int32();
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
indent: isSet(object.indent) ? Quotation.fromJSON(object.indent) : undefined,
indentType: isSet(object.indentType) ? trailingValueTypeFromJSON(object.indentType) : 0,
spread: isSet(object.spread) ? Quotation.fromJSON(object.spread) : undefined,
spreadType: isSet(object.spreadType) ? trailingValueTypeFromJSON(object.spreadType) : 0,
};
},
toJSON(message) {
const obj = {};
if (message.indent !== undefined) {
obj.indent = Quotation.toJSON(message.indent);
}
if (message.indentType !== 0) {
obj.indentType = trailingValueTypeToJSON(message.indentType);
}
if (message.spread !== undefined) {
obj.spread = Quotation.toJSON(message.spread);
}
if (message.spreadType !== 0) {
obj.spreadType = trailingValueTypeToJSON(message.spreadType);
}
return obj;
},
};
function createBasePostStopOrderResponse() {
return { stopOrderId: "", orderRequestId: "", responseMetadata: undefined };
}
export const PostStopOrderResponse = {
encode(message, writer = _m0.Writer.create()) {
if (message.stopOrderId !== "") {
writer.uint32(10).string(message.stopOrderId);
}
if (message.orderRequestId !== "") {
writer.uint32(18).string(message.orderRequestId);
}
if (message.responseMetadata !== undefined) {
ResponseMetadata.encode(message.responseMetadata, writer.uint32(2034).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBasePostStopOrderResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.stopOrderId = reader.string();
continue;
case 2:
if (tag !== 18) {
break;
}
message.orderRequestId = reader.string();
continue;
case 254:
if (tag !== 2034) {
break;
}
message.responseMetadata = ResponseMetadata.decode(reader, reader.uint32());
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
stopOrderId: isSet(object.stopOrderId) ? globalThis.String(object.stopOrderId) : "",
orderRequestId: isSet(object.orderRequestId) ? globalThis.String(object.orderRequestId) : "",
responseMetadata: isSet(object.responseMetadata) ? ResponseMetadata.fromJSON(object.responseMetadata) : undefined,
};
},
toJSON(message) {
const obj = {};
if (message.stopOrderId !== "") {
obj.stopOrderId = message.stopOrderId;
}
if (message.orderRequestId !== "") {
obj.orderRequestId = message.orderRequestId;
}
if (message.responseMetadata !== undefined) {
obj.responseMetadata = ResponseMetadata.toJSON(message.responseMetadata);
}
return obj;
},
};
function createBaseGetStopOrdersRequest() {
return { accountId: "", status: 0, from: undefined, to: undefined };
}
export const GetStopOrdersRequest = {
encode(message, writer = _m0.Writer.create()) {
if (message.accountId !== "") {
writer.uint32(10).string(message.accountId);
}
if (message.status !== 0) {
writer.uint32(16).int32(message.status);
}
if (message.from !== undefined) {
Timestamp.encode(toTimestamp(message.from), writer.uint32(26).fork()).ldelim();
}
if (message.to !== undefined) {
Timestamp.encode(toTimestamp(message.to), writer.uint32(34).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetStopOrdersRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.accountId = reader.string();
continue;
case 2:
if (tag !== 16) {
break;
}
message.status = reader.int32();
continue;
case 3:
if (tag !== 26) {
break;
}
message.from = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
continue;
case 4:
if (tag !== 34) {
break;
}
message.to = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
accountId: isSet(object.accountId) ? globalThis.String(object.accountId) : "",
status: isSet(object.status) ? stopOrderStatusOptionFromJSON(object.status) : 0,
from: isSet(object.from) ? fromJsonTimestamp(object.from) : undefined,
to: isSet(object.to) ? fromJsonTimestamp(object.to) : undefined,
};
},
toJSON(message) {
const obj = {};
if (message.accountId !== "") {
obj.accountId = message.accountId;
}
if (message.status !== 0) {
obj.status = stopOrderStatusOptionToJSON(message.status);
}
if (message.from !== undefined) {
obj.from = message.from.toISOString();
}
if (message.to !== undefined) {
obj.to = message.to.toISOString();
}
return obj;
},
};
function createBaseGetStopOrdersResponse() {
return { stopOrders: [] };
}
export const GetStopOrdersResponse = {
encode(message, writer = _m0.Writer.create()) {
for (const v of message.stopOrders) {
StopOrder.encode(v, writer.uint32(10).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetStopOrdersResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.stopOrders.push(StopOrder.decode(reader, reader.uint32()));
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
stopOrders: globalThis.Array.isArray(object?.stopOrders)
? object.stopOrders.map((e) => StopOrder.fromJSON(e))
: [],
};
},
toJSON(message) {
const obj = {};
if (message.stopOrders?.length) {
obj.stopOrders = message.stopOrders.map((e) => StopOrder.toJSON(e));
}
return obj;
},
};
function createBaseCancelStopOrderRequest() {
return { accountId: "", stopOrderId: "" };
}
export const CancelStopOrderRequest = {
encode(message, writer = _m0.Writer.create()) {
if (message.accountId !== "") {
writer.uint32(10).string(message.accountId);
}
if (message.stopOrderId !== "") {
writer.uint32(18).string(message.stopOrderId);
}
return writer;
},
decode(input, length) {
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseCancelStopOrderRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.accountId = reader.string();
continue;
case 2:
if (tag !== 18) {
break;
}
message.stopOrderId = reader.string();
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
accountId: isSet(object.accountId) ? globalThis.String(object.accountId) : "",
stopOrderId: isSet(object.stopOrderId) ? globalThis.String(object.stopOrderId) : "",
};
},
toJSON(message) {
const obj = {};
if (message.accountId !== "") {
obj.accountId = message.accountId;
}
if (message.stopOrderId !== "") {
obj.stopOrderId = message.stopOrderId;
}
return obj;
},
};
function createBaseCancelStopOrderResponse() {
return { time: undefined };
}
export const CancelStopOrderResponse = {
encode(message, writer = _m0.Writer.create()) {
if (message.time !== undefined) {
Timestamp.encode(toTimestamp(message.time), writer.uint32(10).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseCancelStopOrderResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.time = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return { time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined };
},
toJSON(message) {
const obj = {};
if (message.time !== undefined) {
obj.time = message.time.toISOString();
}
return obj;
},
};
function createBaseStopOrder() {
return {
stopOrderId: "",
lotsRequested: 0,
figi: "",
direction: 0,
currency: "",
orderType: 0,
createDate: undefined,
activationDateTime: undefined,
expirationTime: undefined,
price: undefined,
stopPrice: undefined,
instrumentUid: "",
takeProfitType: 0,
trailingData: undefined,
status: 0,
exchangeOrderType: 0,
exchangeOrderId: undefined,
};
}
export const StopOrder = {
encode(message, writer = _m0.Writer.create()) {
if (message.stopOrderId !== "") {
writer.uint32(10).string(message.stopOrderId);
}
if (message.lotsRequested !== 0) {
writer.uint32(16).int64(message.lotsRequested);
}
if (message.figi !== "") {
writer.uint32(26).string(message.figi);
}
if (message.direction !== 0) {
writer.uint32(32).int32(message.direction);
}
if (message.currency !== "") {
writer.uint32(42).string(message.currency);
}
if (message.orderType !== 0) {
writer.uint32(48).int32(message.orderType);
}
if (message.createDate !== undefined) {
Timestamp.encode(toTimestamp(message.createDate), writer.uint32(58).fork()).ldelim();
}
if (message.activationDateTime !== undefined) {
Timestamp.encode(toTimestamp(message.activationDateTime), writer.uint32(66).fork()).ldelim();
}
if (message.expirationTime !== undefined) {
Timestamp.encode(toTimestamp(message.expirationTime), writer.uint32(74).fork()).ldelim();
}
if (message.price !== undefined) {
MoneyValue.encode(message.price, writer.uint32(82).fork()).ldelim();
}
if (message.stopPrice !== undefined) {
MoneyValue.encode(message.stopPrice, writer.uint32(90).fork()).ldelim();
}
if (message.instrumentUid !== "") {
writer.uint32(98).string(message.instrumentUid);
}
if (message.takeProfitType !== 0) {
writer.uint32(104).int32(message.takeProfitType);
}
if (message.trailingData !== undefined) {
StopOrder_TrailingData.encode(message.trailingData, writer.uint32(114).fork()).ldelim();
}
if (message.status !== 0) {
writer.uint32(120).int32(message.status);
}
if (message.exchangeOrderType !== 0) {
writer.uint32(128).int32(message.exchangeOrderType);
}
if (message.exchangeOrderId !== undefined) {
writer.uint32(138).string(message.exchangeOrderId);
}
return writer;
},
decode(input, length) {
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseStopOrder();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
if (tag !== 10) {
break;
}
message.stopOrderId = reader.string();
continue;
case 2:
if (tag !== 16) {
break;
}
message.lotsRequested = longToNumber(reader.int64());
continue;
case 3:
if (tag !== 26) {
break;
}
message.figi = reader.string();
continue;
case 4:
if (tag !== 32) {
break;
}
message.direction = reader.int32();
continue;
case 5:
if (tag !== 42) {
break;
}
message.currency = reader.string();
continue;
case 6:
if (tag !== 48) {
break;
}
message.orderType = reader.int32();
continue;
case 7:
if (tag !== 58) {
break;
}
message.createDate = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
continue;
case 8:
if (tag !== 66) {
break;
}
message.activationDateTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
continue;
case 9:
if (tag !== 74) {
break;
}
message.expirationTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
continue;
case 10:
if (tag !== 82) {
break;
}
message.price = MoneyValue.decode(reader, reader.uint32());
continue;
case 11:
if (tag !== 90) {
break;
}
message.stopPrice = MoneyValue.decode(reader, reader.uint32());
continue;
case 12:
if (tag !== 98) {
break;
}
message.instrumentUid = reader.string();
continue;
case 13:
if (tag !== 104) {
break;
}
message.takeProfitType = reader.int32();
continue;
case 14:
if (tag !== 114) {
break;
}
message.trailingData = StopOrder_TrailingData.decode(reader, reader.uint32());
continue;
case 15:
if (tag !== 120) {
break;
}
message.status = reader.int32();
continue;
case 16:
if (tag !== 128) {
break;
}
message.exchangeOrderType = reader.int32();
continue;
case 17:
if (tag !== 138) {
break;
}
message.exchangeOrderId = reader.string();
continue;
}
if ((tag & 7) === 4 || tag === 0) {
break;
}
reader.skipType(tag & 7);
}
return message;
},
fromJSON(object) {
return {
stopOrderId: isSet(object.stopOrderId) ? globalThis.String(object.stopOrderId) : "",
lotsRequested: isSet(object.lotsRequested) ? globalThis.Number(object.lotsRequested) : 0,
figi: isSet(object.figi) ? globalThis.String(object.figi) : "",
direction: isSet(object.direction) ? stopOrderDirectionFromJSON(object.direction) : 0,
currency: isSet(object.currency) ? globalThis.String(object.currency) : "",
orderType: isSet(object.orderType) ? stopOrderTypeFromJSON(object.orderType) : 0,
createDate: isSet(object.createDate) ? fromJsonTimestamp(object.createDate) : undefined,
activationDateTime: isSet(object.activationDateTime) ? fromJsonTimestamp(object.activationDateTime) : undefined,
expirationTime: isSet(object.expirationTime) ? fromJsonTimestamp(object.expirationTime) : undefined,
price: isSet(object.price) ? MoneyValue.fromJSON(object.price) : undefined,
stopPrice: isSet(object.stopPrice) ? MoneyValue.fromJSON(object.stopPrice) : undefined,
instrumentUid: isSet(object.instrumentUid) ? globalThis.String(object.instrumentUid) : "",
takeProfitType: isSet(object.takeProfitType) ? takeProfitTypeFromJSON(object.takeProfitType) : 0,
trailingData: isSet(object.trailingData) ? StopOrder_TrailingData.fromJSON(object.trailingData) : undefined,
status: isSet(object.status) ? stopOrderStatusOptionFromJSON(object.status) : 0,
exchangeOrderType: isSet(object.exchangeOrderType) ? exchangeOrderTypeFromJSON(object.exchangeOrderType) : 0,
exchangeOrderId: isSet(object.exchangeOrderId) ? globalThis.String(object.exchangeOrderId) : undefined,
};
},
toJSON(message) {
const obj = {};
if (message.stopOrderId !== "") {
obj.stopOrderId = message.stopOrderId;
}
if (message.lotsRequested !== 0) {
obj.lotsRequested = Math.round(message.lotsRequested);
}
if (message.figi !== "") {
obj.figi = message.figi;
}
if (message.direction !== 0) {
obj.direction = stopOrderDirectionToJSON(message.direction);
}
if (message.currency !== "") {
obj.currency = message.currency;
}
if (message.orderType !== 0) {
obj.orderType = stopOrderTypeToJSON(message.orderType);
}
if (message.createDate !== undefined) {
obj.createDate = message.createDate.toISOString();
}
if (message.activationDateTime !== undefined) {
obj.activationDateTime = message.activationDateTime.toISOString();
}
if (message.expirationTime !== undefined) {
obj.expirationTime = message.expirationTime.toISOString();
}
if (message.price !== undefined) {
obj.price = MoneyValue.toJSON(message.price);
}
if (message.stopPrice !== undefined) {
ob