// @generated by protoc-gen-es v2.2.2 with parameter "target=ts,import_extension=.js"
// @generated from file gfxcafe/oku/account/v1/telemetry.proto (package gfxcafe.oku.account.v1, syntax proto3)
/* eslint-disable */

import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
import { file_buf_validate_validate } from "../../../../buf/validate/validate_pb.js";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file gfxcafe/oku/account/v1/telemetry.proto.
 */
export const file_gfxcafe_oku_account_v1_telemetry: GenFile = /*@__PURE__*/
  fileDesc("CiZnZnhjYWZlL29rdS9hY2NvdW50L3YxL3RlbGVtZXRyeS5wcm90bxIWZ2Z4Y2FmZS5va3UuYWNjb3VudC52MSK+AwoMRW50cnlSZXF1ZXN0EhgKCGNoYWluX2lkGAEgASgFQga6SAPIAQESfAoQdHJhbnNhY3Rpb25faGFzaBgCIAEoCUJiukhfyAEBcloyE14weFswLTlhLWZBLUZdezY0fSSSAkIweDc0MmQzNWNjNjYzNGMwNTMyOTI1YTNiODQ0YmM5ZTc1OTVmMmJkODkxMjM0NTY3ODkwMTIzNDU2Nzg5MGFiY2QSWgoGc2VuZGVyGAMgASgJQkq6SEfIAQFyQjITXjB4WzAtOWEtZkEtRl17NDB9JJICKjB4NzQyZDM1Q2M2NjM0QzA1MzI5MjVhM2I4NDRCYzllNzU5NWYyQkQ4ORIUCgxjdXJyZW50X3BhZ2UYBCABKAkSFwoHZmVhdHVyZRgFIAEoCUIGukgDyAEBEkcKCmV4dHJhX2RhdGEYBiADKAsyMy5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkVudHJ5UmVxdWVzdC5FeHRyYURhdGFFbnRyeRIQCghxdW90ZV9pZBgHIAEoCRowCg5FeHRyYURhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIjEKDUVudHJ5UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJMmgKEFRlbGVtZXRyeVNlcnZpY2USVAoFRW50cnkSJC5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkVudHJ5UmVxdWVzdBolLmdmeGNhZmUub2t1LmFjY291bnQudjEuRW50cnlSZXNwb25zZUI3WjVnZnguY2FmZS9va3UvYWNjb3VudC9nZW4vZ28vZ2Z4Y2FmZS9va3UvYWNjb3VudC92MTt2MWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp]);

/**
 * EntryRequest contains telemetry data
 *
 * @generated from message gfxcafe.oku.account.v1.EntryRequest
 */
export type EntryRequest = Message<"gfxcafe.oku.account.v1.EntryRequest"> & {
  /**
   * Chain ID where the transaction occurred
   *
   * @generated from field: int32 chain_id = 1;
   */
  chainId: number;

  /**
   * Transaction hash
   *
   * @generated from field: string transaction_hash = 2;
   */
  transactionHash: string;

  /**
   * Sender address
   *
   * @generated from field: string sender = 3;
   */
  sender: string;

  /**
   * Current page in the UI
   *
   * @generated from field: string current_page = 4;
   */
  currentPage: string;

  /**
   * Feature being used (e.g., "market_order", "swap", "router_swap")
   *
   * @generated from field: string feature = 5;
   */
  feature: string;

  /**
   * Extra data as key-value pairs
   *
   * @generated from field: map<string, string> extra_data = 6;
   */
  extraData: { [key: string]: string };

  /**
   * Quote ID if applicable
   *
   * @generated from field: string quote_id = 7;
   */
  quoteId: string;
};

/**
 * Describes the message gfxcafe.oku.account.v1.EntryRequest.
 * Use `create(EntryRequestSchema)` to create a new message.
 */
export const EntryRequestSchema: GenMessage<EntryRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_telemetry, 0);

/**
 * EntryResponse indicates success
 *
 * @generated from message gfxcafe.oku.account.v1.EntryResponse
 */
export type EntryResponse = Message<"gfxcafe.oku.account.v1.EntryResponse"> & {
  /**
   * Whether the entry was successfully recorded
   *
   * @generated from field: bool success = 1;
   */
  success: boolean;

  /**
   * Optional message
   *
   * @generated from field: string message = 2;
   */
  message: string;
};

/**
 * Describes the message gfxcafe.oku.account.v1.EntryResponse.
 * Use `create(EntryResponseSchema)` to create a new message.
 */
export const EntryResponseSchema: GenMessage<EntryResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_telemetry, 1);

/**
 * TelemetryService collects telemetry data
 *
 * @generated from service gfxcafe.oku.account.v1.TelemetryService
 */
export const TelemetryService: GenService<{
  /**
   * Submit a telemetry entry (/telemetry/entry)
   *
   * @generated from rpc gfxcafe.oku.account.v1.TelemetryService.Entry
   */
  entry: {
    methodKind: "unary";
    input: typeof EntryRequestSchema;
    output: typeof EntryResponseSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_gfxcafe_oku_account_v1_telemetry, 0);

