// @generated by protoc-gen-es v2.4.0 with parameter "target=ts"
// @generated from file orders.proto (package orders, syntax proto3)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file orders.proto.
 */
export const file_orders: GenFile = /*@__PURE__*/
  fileDesc("CgxvcmRlcnMucHJvdG8SBm9yZGVycyILCglQb3NpdGlvbnMiKQoMRGVsZXRlT3JkZXJzEgwKBG1pbnQYASABKAkSCwoDaWRzGAIgAygDIkEKGFBsYWNlTGltaXRPcmRlcnNSZXNwb25jZRIYChB0b2tlbl9vcmRlcnNfbnVtGAEgASgNEgsKA2lkcxgCIAMoAyJCChBUb2tlbkxpbWl0T3JkZXJzEgwKBG1pbnQYASABKAkSIAoGb3JkZXJzGAIgAygLMhAub3JkZXJzLkFwaU9yZGVyIsMBCghBcGlPcmRlchIPCgJpZBgBIAEoA0gAiAEBEhQKDHNsaXBwYWdlX2JwcxgCIAEoDRILCgN0aXAYAyABKAQSHgoGdGFyZ2V0GAQgASgLMg4ub3JkZXJzLlRhcmdldBIaCgRzaWRlGAUgASgOMgwub3JkZXJzLlNpZGUSHgoGYW1vdW50GAYgASgLMg4ub3JkZXJzLkFtb3VudBIgCgd0cmlnZ2VyGAcgASgOMg8ub3JkZXJzLlRyaWdnZXJCBQoDX2lkIrgBCgZUYXJnZXQSJAoFcHJpY2UYASABKAsyEy5vcmRlcnMuVGFyZ2V0UHJpY2VIABImCgZwcm9maXQYAiABKAsyFC5vcmRlcnMuVGFyZ2V0UHJvZml0SAASLwoLbW92aW5nX3BlcmMYAyABKAsyGC5vcmRlcnMuVGFyZ2V0TW92aW5nUGVyY0gAEiAKBm1hcmtldBgEIAEoCzIOLm9yZGVycy5NYXJrZXRIAEINCgt0YXJnZXRfdHlwZSJCCgtUYXJnZXRQcmljZRINCgVwcmljZRgBIAEoAhIkCglkaXJlY3Rpb24YAiABKA4yES5vcmRlcnMuRGlyZWN0aW9uIkkKDFRhcmdldFByb2ZpdBITCgtwcm9maXRfcGVyYxgBIAEoAhIkCglkaXJlY3Rpb24YAiABKA4yES5vcmRlcnMuRGlyZWN0aW9uInIKEFRhcmdldE1vdmluZ1BlcmMSEgoKcHJpY2VfcGVyYxgBIAEoAhIWCglsb2NhbF9hdGgYAiABKAJIAIgBARIkCglkaXJlY3Rpb24YAyABKA4yES5vcmRlcnMuRGlyZWN0aW9uQgwKCl9sb2NhbF9hdGgiCAoGTWFya2V0IjwKBkFtb3VudBISCghwZXJjX2JwcxgBIAEoDUgAEg8KBWZpeGVkGAIgASgESABCDQoLYW1vdW50X3R5cGUqJwoHVHJpZ2dlchINCglJTU1FRElBVEUQABINCglNSUdSQVRJT04QASoZCgRTaWRlEgcKA0JVWRAAEggKBFNFTEwQASohCglEaXJlY3Rpb24SCQoFQUJPVkUQABIJCgVCRUxPVxABYgZwcm90bzM");

/**
 * @generated from message orders.Positions
 */
export type Positions = Message<"orders.Positions"> & {
};

/**
 * Describes the message orders.Positions.
 * Use `create(PositionsSchema)` to create a new message.
 */
export const PositionsSchema: GenMessage<Positions> = /*@__PURE__*/
  messageDesc(file_orders, 0);

/**
 * @generated from message orders.DeleteOrders
 */
export type DeleteOrders = Message<"orders.DeleteOrders"> & {
  /**
   * @generated from field: string mint = 1;
   */
  mint: string;

  /**
   * @generated from field: repeated int64 ids = 2;
   */
  ids: bigint[];
};

/**
 * Describes the message orders.DeleteOrders.
 * Use `create(DeleteOrdersSchema)` to create a new message.
 */
export const DeleteOrdersSchema: GenMessage<DeleteOrders> = /*@__PURE__*/
  messageDesc(file_orders, 1);

/**
 * @generated from message orders.PlaceLimitOrdersResponce
 */
export type PlaceLimitOrdersResponce = Message<"orders.PlaceLimitOrdersResponce"> & {
  /**
   * @generated from field: uint32 token_orders_num = 1;
   */
  tokenOrdersNum: number;

  /**
   * @generated from field: repeated int64 ids = 2;
   */
  ids: bigint[];
};

/**
 * Describes the message orders.PlaceLimitOrdersResponce.
 * Use `create(PlaceLimitOrdersResponceSchema)` to create a new message.
 */
export const PlaceLimitOrdersResponceSchema: GenMessage<PlaceLimitOrdersResponce> = /*@__PURE__*/
  messageDesc(file_orders, 2);

/**
 * @generated from message orders.TokenLimitOrders
 */
export type TokenLimitOrders = Message<"orders.TokenLimitOrders"> & {
  /**
   * @generated from field: string mint = 1;
   */
  mint: string;

  /**
   * @generated from field: repeated orders.ApiOrder orders = 2;
   */
  orders: ApiOrder[];
};

/**
 * Describes the message orders.TokenLimitOrders.
 * Use `create(TokenLimitOrdersSchema)` to create a new message.
 */
export const TokenLimitOrdersSchema: GenMessage<TokenLimitOrders> = /*@__PURE__*/
  messageDesc(file_orders, 3);

/**
 * @generated from message orders.ApiOrder
 */
export type ApiOrder = Message<"orders.ApiOrder"> & {
  /**
   * @generated from field: optional int64 id = 1;
   */
  id?: bigint;

  /**
   * @generated from field: uint32 slippage_bps = 2;
   */
  slippageBps: number;

  /**
   * @generated from field: uint64 tip = 3;
   */
  tip: bigint;

  /**
   * @generated from field: orders.Target target = 4;
   */
  target?: Target;

  /**
   * @generated from field: orders.Side side = 5;
   */
  side: Side;

  /**
   * @generated from field: orders.Amount amount = 6;
   */
  amount?: Amount;

  /**
   * @generated from field: orders.Trigger trigger = 7;
   */
  trigger: Trigger;
};

/**
 * Describes the message orders.ApiOrder.
 * Use `create(ApiOrderSchema)` to create a new message.
 */
export const ApiOrderSchema: GenMessage<ApiOrder> = /*@__PURE__*/
  messageDesc(file_orders, 4);

/**
 * @generated from message orders.Target
 */
export type Target = Message<"orders.Target"> & {
  /**
   * @generated from oneof orders.Target.target_type
   */
  targetType: {
    /**
     * @generated from field: orders.TargetPrice price = 1;
     */
    value: TargetPrice;
    case: "price";
  } | {
    /**
     * @generated from field: orders.TargetProfit profit = 2;
     */
    value: TargetProfit;
    case: "profit";
  } | {
    /**
     * @generated from field: orders.TargetMovingPerc moving_perc = 3;
     */
    value: TargetMovingPerc;
    case: "movingPerc";
  } | {
    /**
     * @generated from field: orders.Market market = 4;
     */
    value: Market;
    case: "market";
  } | { case: undefined; value?: undefined };
};

/**
 * Describes the message orders.Target.
 * Use `create(TargetSchema)` to create a new message.
 */
export const TargetSchema: GenMessage<Target> = /*@__PURE__*/
  messageDesc(file_orders, 5);

/**
 * @generated from message orders.TargetPrice
 */
export type TargetPrice = Message<"orders.TargetPrice"> & {
  /**
   * @generated from field: float price = 1;
   */
  price: number;

  /**
   * @generated from field: orders.Direction direction = 2;
   */
  direction: Direction;
};

/**
 * Describes the message orders.TargetPrice.
 * Use `create(TargetPriceSchema)` to create a new message.
 */
export const TargetPriceSchema: GenMessage<TargetPrice> = /*@__PURE__*/
  messageDesc(file_orders, 6);

/**
 * @generated from message orders.TargetProfit
 */
export type TargetProfit = Message<"orders.TargetProfit"> & {
  /**
   * @generated from field: float profit_perc = 1;
   */
  profitPerc: number;

  /**
   * @generated from field: orders.Direction direction = 2;
   */
  direction: Direction;
};

/**
 * Describes the message orders.TargetProfit.
 * Use `create(TargetProfitSchema)` to create a new message.
 */
export const TargetProfitSchema: GenMessage<TargetProfit> = /*@__PURE__*/
  messageDesc(file_orders, 7);

/**
 * @generated from message orders.TargetMovingPerc
 */
export type TargetMovingPerc = Message<"orders.TargetMovingPerc"> & {
  /**
   * @generated from field: float price_perc = 1;
   */
  pricePerc: number;

  /**
   * @generated from field: optional float local_ath = 2;
   */
  localAth?: number;

  /**
   * @generated from field: orders.Direction direction = 3;
   */
  direction: Direction;
};

/**
 * Describes the message orders.TargetMovingPerc.
 * Use `create(TargetMovingPercSchema)` to create a new message.
 */
export const TargetMovingPercSchema: GenMessage<TargetMovingPerc> = /*@__PURE__*/
  messageDesc(file_orders, 8);

/**
 * @generated from message orders.Market
 */
export type Market = Message<"orders.Market"> & {
};

/**
 * Describes the message orders.Market.
 * Use `create(MarketSchema)` to create a new message.
 */
export const MarketSchema: GenMessage<Market> = /*@__PURE__*/
  messageDesc(file_orders, 9);

/**
 * @generated from message orders.Amount
 */
export type Amount = Message<"orders.Amount"> & {
  /**
   * @generated from oneof orders.Amount.amount_type
   */
  amountType: {
    /**
     * @generated from field: uint32 perc_bps = 1;
     */
    value: number;
    case: "percBps";
  } | {
    /**
     * @generated from field: uint64 fixed = 2;
     */
    value: bigint;
    case: "fixed";
  } | { case: undefined; value?: undefined };
};

/**
 * Describes the message orders.Amount.
 * Use `create(AmountSchema)` to create a new message.
 */
export const AmountSchema: GenMessage<Amount> = /*@__PURE__*/
  messageDesc(file_orders, 10);

/**
 * @generated from enum orders.Trigger
 */
export enum Trigger {
  /**
   * @generated from enum value: IMMEDIATE = 0;
   */
  IMMEDIATE = 0,

  /**
   * @generated from enum value: MIGRATION = 1;
   */
  MIGRATION = 1,
}

/**
 * Describes the enum orders.Trigger.
 */
export const TriggerSchema: GenEnum<Trigger> = /*@__PURE__*/
  enumDesc(file_orders, 0);

/**
 * @generated from enum orders.Side
 */
export enum Side {
  /**
   * @generated from enum value: BUY = 0;
   */
  BUY = 0,

  /**
   * @generated from enum value: SELL = 1;
   */
  SELL = 1,
}

/**
 * Describes the enum orders.Side.
 */
export const SideSchema: GenEnum<Side> = /*@__PURE__*/
  enumDesc(file_orders, 1);

/**
 * @generated from enum orders.Direction
 */
export enum Direction {
  /**
   * @generated from enum value: ABOVE = 0;
   */
  ABOVE = 0,

  /**
   * @generated from enum value: BELOW = 1;
   */
  BELOW = 1,
}

/**
 * Describes the enum orders.Direction.
 */
export const DirectionSchema: GenEnum<Direction> = /*@__PURE__*/
  enumDesc(file_orders, 2);

