// @generated by protoc-gen-es v2.2.2 with parameter "target=ts,import_extension=.js"
// @generated from file gfxcafe/oku/account/v1/auth.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_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Session, User } from "./common_pb.js";
import { file_gfxcafe_oku_account_v1_common } from "./common_pb.js";
import { file_buf_validate_validate } from "../../../../buf/validate/validate_pb.js";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file gfxcafe/oku/account/v1/auth.proto.
 */
export const file_gfxcafe_oku_account_v1_auth: GenFile = /*@__PURE__*/
  fileDesc("CiFnZnhjYWZlL29rdS9hY2NvdW50L3YxL2F1dGgucHJvdG8SFmdmeGNhZmUub2t1LmFjY291bnQudjEiRQoTRXZtQ2hhbGxlbmdlUmVxdWVzdBIuCgdhZGRyZXNzGAEgASgJQh26SBrIAQFyFTITXjB4WzAtOWEtZkEtRl17NDB9JCJMChRFdm1DaGFsbGVuZ2VSZXNwb25zZRIbCgt3b3JrZmxvd19pZBgBIAEoCUIGukgDyAEBEhcKB21lc3NhZ2UYAiABKAlCBrpIA8gBASJJCg9Fdm1Tb2x2ZVJlcXVlc3QSGwoLd29ya2Zsb3dfaWQYASABKAlCBrpIA8gBARIZCglzaWduYXR1cmUYAiABKAlCBrpIA8gBASJwChBFdm1Tb2x2ZVJlc3BvbnNlEjAKB3Nlc3Npb24YASABKAsyHy5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLlNlc3Npb24SKgoEdXNlchgCIAEoCzIcLmdmeGNhZmUub2t1LmFjY291bnQudjEuVXNlciIRCg9Vc2VySW5mb1JlcXVlc3QicAoQVXNlckluZm9SZXNwb25zZRIqCgR1c2VyGAEgASgLMhwuZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5Vc2VyEjAKB3Nlc3Npb24YAiABKAsyHy5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLlNlc3Npb24iFgoURXh0ZW5kU2Vzc2lvblJlcXVlc3QiSQoVRXh0ZW5kU2Vzc2lvblJlc3BvbnNlEjAKB3Nlc3Npb24YASABKAsyHy5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLlNlc3Npb24iDwoNTG9nb3V0UmVxdWVzdCIhCg5Mb2dvdXRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkYKIFVzZXJJbmZvVXBkYXRlRGlzcGxheU5hbWVSZXF1ZXN0EiIKDGRpc3BsYXlfbmFtZRgBIAEoCUIMukgJyAEBcgQQARhAIkUKIVVzZXJJbmZvVXBkYXRlRGlzcGxheU5hbWVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiEwoRQnJpZGdlSW5mb1JlcXVlc3QiUQoKQnJpZGdlSW5mbxIRCglicmlkZ2VfaWQYASABKAkSFwoPYnJpZGdlX3Rvc19saW5rGAIgASgJEhcKD2JyaWRnZV9reWNfbGluaxgDIAEoCSJNChJCcmlkZ2VJbmZvUmVzcG9uc2USNwoLYnJpZGdlX2luZm8YASABKAsyIi5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkJyaWRnZUluZm8iVwoUQnJpZGdlSW5mb1NldFJlcXVlc3QSPwoLYnJpZGdlX2luZm8YASABKAsyIi5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkJyaWRnZUluZm9CBrpIA8gBASIoChVCcmlkZ2VJbmZvU2V0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJHChVFbWFpbENoYWxsZW5nZVJlcXVlc3QSGQoFZW1haWwYASABKAlCCrpIB8gBAXICYAESEwoDdXJsGAIgASgJQga6SAPIAQEiOQoWRW1haWxDaGFsbGVuZ2VSZXNwb25zZRINCgVlbWFpbBgBIAEoCRIQCgh2ZXJpZmllZBgCIAEoCCJEChJFbWFpbFZlcmlmeVJlcXVlc3QSGQoFZW1haWwYASABKAlCCrpIB8gBAXICYAESEwoDdXJsGAIgASgJQga6SAPIAQEiNgoTRW1haWxWZXJpZnlSZXNwb25zZRINCgVlbWFpbBgBIAEoCRIQCgh2ZXJpZmllZBgCIAEoCCJGChNFbWFpbENvbmZpcm1SZXF1ZXN0EhkKBWVtYWlsGAEgASgJQgq6SAfIAQFyAmABEhQKBGNvZGUYAiABKAlCBrpIA8gBASJIChRFbWFpbENvbmZpcm1SZXNwb25zZRIwCgdzZXNzaW9uGAEgASgLMh8uZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5TZXNzaW9uIvIBChJNYW5hZ2VNZXJnZVJlcXVlc3QSHwoPcHJpbWFyeV91c2VyX2lkGAEgASgJQga6SAPIAQESIgoScHJpbWFyeV9zZXNzaW9uX2lkGAIgASgJQga6SAPIAQESJQoVcHJpbWFyeV9zZXNzaW9uX3Rva2VuGAMgASgJQga6SAPIAQESIQoRc3VycmVuZGVyX3VzZXJfaWQYBCABKAlCBrpIA8gBARIkChRzdXJyZW5kZXJfc2Vzc2lvbl9pZBgFIAEoCUIGukgDyAEBEicKF3N1cnJlbmRlcl9zZXNzaW9uX3Rva2VuGAYgASgJQga6SAPIAQEiXAoTTWFuYWdlTWVyZ2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEjQKC25ld19zZXNzaW9uGAIgASgLMh8uZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5TZXNzaW9uIk4KHE1hbmFnZVJlbW92ZVdhbGxldElkcFJlcXVlc3QSLgoHYWRkcmVzcxgBIAEoCUIdukgayAEBchUyE14weFswLTlhLWZBLUZdezQwfSQiQQodTWFuYWdlUmVtb3ZlV2FsbGV0SWRwUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJMpYLCgtBdXRoU2VydmljZRJpCgxFdm1DaGFsbGVuZ2USKy5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkV2bUNoYWxsZW5nZVJlcXVlc3QaLC5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkV2bUNoYWxsZW5nZVJlc3BvbnNlEl0KCEV2bVNvbHZlEicuZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5Fdm1Tb2x2ZVJlcXVlc3QaKC5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkV2bVNvbHZlUmVzcG9uc2USVwoGTG9nb3V0EiUuZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5Mb2dvdXRSZXF1ZXN0GiYuZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5Mb2dvdXRSZXNwb25zZRJsCg1FeHRlbmRTZXNzaW9uEiwuZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5FeHRlbmRTZXNzaW9uUmVxdWVzdBotLmdmeGNhZmUub2t1LmFjY291bnQudjEuRXh0ZW5kU2Vzc2lvblJlc3BvbnNlEl0KCFVzZXJJbmZvEicuZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5Vc2VySW5mb1JlcXVlc3QaKC5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLlVzZXJJbmZvUmVzcG9uc2USkAEKGVVzZXJJbmZvVXBkYXRlRGlzcGxheU5hbWUSOC5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLlVzZXJJbmZvVXBkYXRlRGlzcGxheU5hbWVSZXF1ZXN0GjkuZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5Vc2VySW5mb1VwZGF0ZURpc3BsYXlOYW1lUmVzcG9uc2USYwoKQnJpZGdlSW5mbxIpLmdmeGNhZmUub2t1LmFjY291bnQudjEuQnJpZGdlSW5mb1JlcXVlc3QaKi5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkJyaWRnZUluZm9SZXNwb25zZRJsCg1CcmlkZ2VJbmZvU2V0EiwuZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5CcmlkZ2VJbmZvU2V0UmVxdWVzdBotLmdmeGNhZmUub2t1LmFjY291bnQudjEuQnJpZGdlSW5mb1NldFJlc3BvbnNlEm8KDkVtYWlsQ2hhbGxlbmdlEi0uZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5FbWFpbENoYWxsZW5nZVJlcXVlc3QaLi5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkVtYWlsQ2hhbGxlbmdlUmVzcG9uc2USZgoLRW1haWxWZXJpZnkSKi5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkVtYWlsVmVyaWZ5UmVxdWVzdBorLmdmeGNhZmUub2t1LmFjY291bnQudjEuRW1haWxWZXJpZnlSZXNwb25zZRJpCgxFbWFpbENvbmZpcm0SKy5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkVtYWlsQ29uZmlybVJlcXVlc3QaLC5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLkVtYWlsQ29uZmlybVJlc3BvbnNlEmYKC01hbmFnZU1lcmdlEiouZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5NYW5hZ2VNZXJnZVJlcXVlc3QaKy5nZnhjYWZlLm9rdS5hY2NvdW50LnYxLk1hbmFnZU1lcmdlUmVzcG9uc2UShAEKFU1hbmFnZVJlbW92ZVdhbGxldElkcBI0LmdmeGNhZmUub2t1LmFjY291bnQudjEuTWFuYWdlUmVtb3ZlV2FsbGV0SWRwUmVxdWVzdBo1LmdmeGNhZmUub2t1LmFjY291bnQudjEuTWFuYWdlUmVtb3ZlV2FsbGV0SWRwUmVzcG9uc2VCNFoyZ2Z4LmNhZmUvb2t1L2FjY291bnQvZ2VuL2dvL2dmeGNhZmUvb2t1L2FjY291bnQvdjFiBnByb3RvMw", [file_google_protobuf_timestamp, file_gfxcafe_oku_account_v1_common, file_buf_validate_validate]);

/**
 * Request to create an EVM authentication challenge (/auth/evm/challenge)
 *
 * @generated from message gfxcafe.oku.account.v1.EvmChallengeRequest
 */
export type EvmChallengeRequest = Message<"gfxcafe.oku.account.v1.EvmChallengeRequest"> & {
  /**
   * @generated from field: string address = 1;
   */
  address: string;
};

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

/**
 * EVM challenge response
 *
 * @generated from message gfxcafe.oku.account.v1.EvmChallengeResponse
 */
export type EvmChallengeResponse = Message<"gfxcafe.oku.account.v1.EvmChallengeResponse"> & {
  /**
   * @generated from field: string workflow_id = 1;
   */
  workflowId: string;

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

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

/**
 * Request to solve EVM authentication challenge (/auth/evm/solve)
 *
 * @generated from message gfxcafe.oku.account.v1.EvmSolveRequest
 */
export type EvmSolveRequest = Message<"gfxcafe.oku.account.v1.EvmSolveRequest"> & {
  /**
   * @generated from field: string workflow_id = 1;
   */
  workflowId: string;

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

/**
 * Describes the message gfxcafe.oku.account.v1.EvmSolveRequest.
 * Use `create(EvmSolveRequestSchema)` to create a new message.
 */
export const EvmSolveRequestSchema: GenMessage<EvmSolveRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 2);

/**
 * EVM authentication success response
 *
 * @generated from message gfxcafe.oku.account.v1.EvmSolveResponse
 */
export type EvmSolveResponse = Message<"gfxcafe.oku.account.v1.EvmSolveResponse"> & {
  /**
   * @generated from field: gfxcafe.oku.account.v1.Session session = 1;
   */
  session?: Session;

  /**
   * @generated from field: gfxcafe.oku.account.v1.User user = 2;
   */
  user?: User;
};

/**
 * Describes the message gfxcafe.oku.account.v1.EvmSolveResponse.
 * Use `create(EvmSolveResponseSchema)` to create a new message.
 */
export const EvmSolveResponseSchema: GenMessage<EvmSolveResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 3);

/**
 * Request for user information (/auth/user_info)
 *
 * Empty - uses session from headers
 *
 * @generated from message gfxcafe.oku.account.v1.UserInfoRequest
 */
export type UserInfoRequest = Message<"gfxcafe.oku.account.v1.UserInfoRequest"> & {
};

/**
 * Describes the message gfxcafe.oku.account.v1.UserInfoRequest.
 * Use `create(UserInfoRequestSchema)` to create a new message.
 */
export const UserInfoRequestSchema: GenMessage<UserInfoRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 4);

/**
 * User info response
 *
 * @generated from message gfxcafe.oku.account.v1.UserInfoResponse
 */
export type UserInfoResponse = Message<"gfxcafe.oku.account.v1.UserInfoResponse"> & {
  /**
   * @generated from field: gfxcafe.oku.account.v1.User user = 1;
   */
  user?: User;

  /**
   * @generated from field: gfxcafe.oku.account.v1.Session session = 2;
   */
  session?: Session;
};

/**
 * Describes the message gfxcafe.oku.account.v1.UserInfoResponse.
 * Use `create(UserInfoResponseSchema)` to create a new message.
 */
export const UserInfoResponseSchema: GenMessage<UserInfoResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 5);

/**
 * Request to extend session
 *
 * Empty - uses session from headers
 *
 * @generated from message gfxcafe.oku.account.v1.ExtendSessionRequest
 */
export type ExtendSessionRequest = Message<"gfxcafe.oku.account.v1.ExtendSessionRequest"> & {
};

/**
 * Describes the message gfxcafe.oku.account.v1.ExtendSessionRequest.
 * Use `create(ExtendSessionRequestSchema)` to create a new message.
 */
export const ExtendSessionRequestSchema: GenMessage<ExtendSessionRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 6);

/**
 * Extended session response
 *
 * @generated from message gfxcafe.oku.account.v1.ExtendSessionResponse
 */
export type ExtendSessionResponse = Message<"gfxcafe.oku.account.v1.ExtendSessionResponse"> & {
  /**
   * @generated from field: gfxcafe.oku.account.v1.Session session = 1;
   */
  session?: Session;
};

/**
 * Describes the message gfxcafe.oku.account.v1.ExtendSessionResponse.
 * Use `create(ExtendSessionResponseSchema)` to create a new message.
 */
export const ExtendSessionResponseSchema: GenMessage<ExtendSessionResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 7);

/**
 * Logout request
 *
 * Empty - uses session from headers
 *
 * @generated from message gfxcafe.oku.account.v1.LogoutRequest
 */
export type LogoutRequest = Message<"gfxcafe.oku.account.v1.LogoutRequest"> & {
};

/**
 * Describes the message gfxcafe.oku.account.v1.LogoutRequest.
 * Use `create(LogoutRequestSchema)` to create a new message.
 */
export const LogoutRequestSchema: GenMessage<LogoutRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 8);

/**
 * Logout response
 *
 * @generated from message gfxcafe.oku.account.v1.LogoutResponse
 */
export type LogoutResponse = Message<"gfxcafe.oku.account.v1.LogoutResponse"> & {
  /**
   * @generated from field: bool success = 1;
   */
  success: boolean;
};

/**
 * Describes the message gfxcafe.oku.account.v1.LogoutResponse.
 * Use `create(LogoutResponseSchema)` to create a new message.
 */
export const LogoutResponseSchema: GenMessage<LogoutResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 9);

/**
 * Update display name request (/auth/user_info/update/display_name)
 *
 * @generated from message gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameRequest
 */
export type UserInfoUpdateDisplayNameRequest = Message<"gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameRequest"> & {
  /**
   * @generated from field: string display_name = 1;
   */
  displayName: string;
};

/**
 * Describes the message gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameRequest.
 * Use `create(UserInfoUpdateDisplayNameRequestSchema)` to create a new message.
 */
export const UserInfoUpdateDisplayNameRequestSchema: GenMessage<UserInfoUpdateDisplayNameRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 10);

/**
 * Update display name response
 *
 * @generated from message gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameResponse
 */
export type UserInfoUpdateDisplayNameResponse = Message<"gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameResponse"> & {
  /**
   * @generated from field: bool success = 1;
   */
  success: boolean;

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

/**
 * Describes the message gfxcafe.oku.account.v1.UserInfoUpdateDisplayNameResponse.
 * Use `create(UserInfoUpdateDisplayNameResponseSchema)` to create a new message.
 */
export const UserInfoUpdateDisplayNameResponseSchema: GenMessage<UserInfoUpdateDisplayNameResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 11);

/**
 * Get bridge info request (/auth/bridge_info)
 *
 * Empty - uses session from headers
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfoRequest
 */
export type BridgeInfoRequest = Message<"gfxcafe.oku.account.v1.BridgeInfoRequest"> & {
};

/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfoRequest.
 * Use `create(BridgeInfoRequestSchema)` to create a new message.
 */
export const BridgeInfoRequestSchema: GenMessage<BridgeInfoRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 12);

/**
 * Bridge information
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfo
 */
export type BridgeInfo = Message<"gfxcafe.oku.account.v1.BridgeInfo"> & {
  /**
   * @generated from field: string bridge_id = 1;
   */
  bridgeId: string;

  /**
   * @generated from field: string bridge_tos_link = 2;
   */
  bridgeTosLink: string;

  /**
   * @generated from field: string bridge_kyc_link = 3;
   */
  bridgeKycLink: string;
};

/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfo.
 * Use `create(BridgeInfoSchema)` to create a new message.
 */
export const BridgeInfoSchema: GenMessage<BridgeInfo> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 13);

/**
 * Get bridge info response
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfoResponse
 */
export type BridgeInfoResponse = Message<"gfxcafe.oku.account.v1.BridgeInfoResponse"> & {
  /**
   * @generated from field: gfxcafe.oku.account.v1.BridgeInfo bridge_info = 1;
   */
  bridgeInfo?: BridgeInfo;
};

/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfoResponse.
 * Use `create(BridgeInfoResponseSchema)` to create a new message.
 */
export const BridgeInfoResponseSchema: GenMessage<BridgeInfoResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 14);

/**
 * Set bridge info request (/auth/bridge_info)
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfoSetRequest
 */
export type BridgeInfoSetRequest = Message<"gfxcafe.oku.account.v1.BridgeInfoSetRequest"> & {
  /**
   * @generated from field: gfxcafe.oku.account.v1.BridgeInfo bridge_info = 1;
   */
  bridgeInfo?: BridgeInfo;
};

/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfoSetRequest.
 * Use `create(BridgeInfoSetRequestSchema)` to create a new message.
 */
export const BridgeInfoSetRequestSchema: GenMessage<BridgeInfoSetRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 15);

/**
 * Set bridge info response
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeInfoSetResponse
 */
export type BridgeInfoSetResponse = Message<"gfxcafe.oku.account.v1.BridgeInfoSetResponse"> & {
  /**
   * @generated from field: bool success = 1;
   */
  success: boolean;
};

/**
 * Describes the message gfxcafe.oku.account.v1.BridgeInfoSetResponse.
 * Use `create(BridgeInfoSetResponseSchema)` to create a new message.
 */
export const BridgeInfoSetResponseSchema: GenMessage<BridgeInfoSetResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 16);

/**
 * Request email login code (/auth/email/challenge)
 *
 * @generated from message gfxcafe.oku.account.v1.EmailChallengeRequest
 */
export type EmailChallengeRequest = Message<"gfxcafe.oku.account.v1.EmailChallengeRequest"> & {
  /**
   * @generated from field: string email = 1;
   */
  email: string;

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

/**
 * Describes the message gfxcafe.oku.account.v1.EmailChallengeRequest.
 * Use `create(EmailChallengeRequestSchema)` to create a new message.
 */
export const EmailChallengeRequestSchema: GenMessage<EmailChallengeRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 17);

/**
 * Email challenge response
 *
 * @generated from message gfxcafe.oku.account.v1.EmailChallengeResponse
 */
export type EmailChallengeResponse = Message<"gfxcafe.oku.account.v1.EmailChallengeResponse"> & {
  /**
   * @generated from field: string email = 1;
   */
  email: string;

  /**
   * @generated from field: bool verified = 2;
   */
  verified: boolean;
};

/**
 * Describes the message gfxcafe.oku.account.v1.EmailChallengeResponse.
 * Use `create(EmailChallengeResponseSchema)` to create a new message.
 */
export const EmailChallengeResponseSchema: GenMessage<EmailChallengeResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 18);

/**
 * Verify email request (/auth/email/verify)
 *
 * @generated from message gfxcafe.oku.account.v1.EmailVerifyRequest
 */
export type EmailVerifyRequest = Message<"gfxcafe.oku.account.v1.EmailVerifyRequest"> & {
  /**
   * @generated from field: string email = 1;
   */
  email: string;

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

/**
 * Describes the message gfxcafe.oku.account.v1.EmailVerifyRequest.
 * Use `create(EmailVerifyRequestSchema)` to create a new message.
 */
export const EmailVerifyRequestSchema: GenMessage<EmailVerifyRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 19);

/**
 * Verify email response
 *
 * @generated from message gfxcafe.oku.account.v1.EmailVerifyResponse
 */
export type EmailVerifyResponse = Message<"gfxcafe.oku.account.v1.EmailVerifyResponse"> & {
  /**
   * @generated from field: string email = 1;
   */
  email: string;

  /**
   * @generated from field: bool verified = 2;
   */
  verified: boolean;
};

/**
 * Describes the message gfxcafe.oku.account.v1.EmailVerifyResponse.
 * Use `create(EmailVerifyResponseSchema)` to create a new message.
 */
export const EmailVerifyResponseSchema: GenMessage<EmailVerifyResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 20);

/**
 * Confirm email request (/auth/email/confirm)
 *
 * @generated from message gfxcafe.oku.account.v1.EmailConfirmRequest
 */
export type EmailConfirmRequest = Message<"gfxcafe.oku.account.v1.EmailConfirmRequest"> & {
  /**
   * @generated from field: string email = 1;
   */
  email: string;

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

/**
 * Describes the message gfxcafe.oku.account.v1.EmailConfirmRequest.
 * Use `create(EmailConfirmRequestSchema)` to create a new message.
 */
export const EmailConfirmRequestSchema: GenMessage<EmailConfirmRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 21);

/**
 * Confirm email response
 *
 * @generated from message gfxcafe.oku.account.v1.EmailConfirmResponse
 */
export type EmailConfirmResponse = Message<"gfxcafe.oku.account.v1.EmailConfirmResponse"> & {
  /**
   * @generated from field: gfxcafe.oku.account.v1.Session session = 1;
   */
  session?: Session;
};

/**
 * Describes the message gfxcafe.oku.account.v1.EmailConfirmResponse.
 * Use `create(EmailConfirmResponseSchema)` to create a new message.
 */
export const EmailConfirmResponseSchema: GenMessage<EmailConfirmResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 22);

/**
 * Merge users request (/auth/manage/merge)
 *
 * @generated from message gfxcafe.oku.account.v1.ManageMergeRequest
 */
export type ManageMergeRequest = Message<"gfxcafe.oku.account.v1.ManageMergeRequest"> & {
  /**
   * @generated from field: string primary_user_id = 1;
   */
  primaryUserId: string;

  /**
   * @generated from field: string primary_session_id = 2;
   */
  primarySessionId: string;

  /**
   * @generated from field: string primary_session_token = 3;
   */
  primarySessionToken: string;

  /**
   * @generated from field: string surrender_user_id = 4;
   */
  surrenderUserId: string;

  /**
   * @generated from field: string surrender_session_id = 5;
   */
  surrenderSessionId: string;

  /**
   * @generated from field: string surrender_session_token = 6;
   */
  surrenderSessionToken: string;
};

/**
 * Describes the message gfxcafe.oku.account.v1.ManageMergeRequest.
 * Use `create(ManageMergeRequestSchema)` to create a new message.
 */
export const ManageMergeRequestSchema: GenMessage<ManageMergeRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 23);

/**
 * Merge users response
 *
 * @generated from message gfxcafe.oku.account.v1.ManageMergeResponse
 */
export type ManageMergeResponse = Message<"gfxcafe.oku.account.v1.ManageMergeResponse"> & {
  /**
   * @generated from field: bool success = 1;
   */
  success: boolean;

  /**
   * @generated from field: gfxcafe.oku.account.v1.Session new_session = 2;
   */
  newSession?: Session;
};

/**
 * Describes the message gfxcafe.oku.account.v1.ManageMergeResponse.
 * Use `create(ManageMergeResponseSchema)` to create a new message.
 */
export const ManageMergeResponseSchema: GenMessage<ManageMergeResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 24);

/**
 * Remove wallet IDP request (/auth/manage/remove_wallet_idp)
 *
 * @generated from message gfxcafe.oku.account.v1.ManageRemoveWalletIdpRequest
 */
export type ManageRemoveWalletIdpRequest = Message<"gfxcafe.oku.account.v1.ManageRemoveWalletIdpRequest"> & {
  /**
   * @generated from field: string address = 1;
   */
  address: string;
};

/**
 * Describes the message gfxcafe.oku.account.v1.ManageRemoveWalletIdpRequest.
 * Use `create(ManageRemoveWalletIdpRequestSchema)` to create a new message.
 */
export const ManageRemoveWalletIdpRequestSchema: GenMessage<ManageRemoveWalletIdpRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 25);

/**
 * Remove wallet IDP response
 *
 * @generated from message gfxcafe.oku.account.v1.ManageRemoveWalletIdpResponse
 */
export type ManageRemoveWalletIdpResponse = Message<"gfxcafe.oku.account.v1.ManageRemoveWalletIdpResponse"> & {
  /**
   * @generated from field: bool success = 1;
   */
  success: boolean;

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

/**
 * Describes the message gfxcafe.oku.account.v1.ManageRemoveWalletIdpResponse.
 * Use `create(ManageRemoveWalletIdpResponseSchema)` to create a new message.
 */
export const ManageRemoveWalletIdpResponseSchema: GenMessage<ManageRemoveWalletIdpResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_auth, 26);

/**
 * AuthService handles authentication and session management
 *
 * EVM authentication endpoints (/auth/evm/*)
 *
 * @generated from service gfxcafe.oku.account.v1.AuthService
 */
export const AuthService: GenService<{
  /**
   * Create a challenge for EVM wallet authentication (/auth/evm/challenge)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.EvmChallenge
   */
  evmChallenge: {
    methodKind: "unary";
    input: typeof EvmChallengeRequestSchema;
    output: typeof EvmChallengeResponseSchema;
  },
  /**
   * Solve the challenge to authenticate (/auth/evm/solve)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.EvmSolve
   */
  evmSolve: {
    methodKind: "unary";
    input: typeof EvmSolveRequestSchema;
    output: typeof EvmSolveResponseSchema;
  },
  /**
   * Logout and invalidate session (/auth/logout)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.Logout
   */
  logout: {
    methodKind: "unary";
    input: typeof LogoutRequestSchema;
    output: typeof LogoutResponseSchema;
  },
  /**
   * Extend the current session (/auth/extend_session)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.ExtendSession
   */
  extendSession: {
    methodKind: "unary";
    input: typeof ExtendSessionRequestSchema;
    output: typeof ExtendSessionResponseSchema;
  },
  /**
   * Get current user information (/auth/user_info)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.UserInfo
   */
  userInfo: {
    methodKind: "unary";
    input: typeof UserInfoRequestSchema;
    output: typeof UserInfoResponseSchema;
  },
  /**
   * Update user's display name (/auth/user_info/update/display_name)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.UserInfoUpdateDisplayName
   */
  userInfoUpdateDisplayName: {
    methodKind: "unary";
    input: typeof UserInfoUpdateDisplayNameRequestSchema;
    output: typeof UserInfoUpdateDisplayNameResponseSchema;
  },
  /**
   * Get bridge information for the user (/auth/bridge_info)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.BridgeInfo
   */
  bridgeInfo: {
    methodKind: "unary";
    input: typeof BridgeInfoRequestSchema;
    output: typeof BridgeInfoResponseSchema;
  },
  /**
   * Set bridge information for the user (/auth/bridge_info)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.BridgeInfoSet
   */
  bridgeInfoSet: {
    methodKind: "unary";
    input: typeof BridgeInfoSetRequestSchema;
    output: typeof BridgeInfoSetResponseSchema;
  },
  /**
   * Request email login code (/auth/email/challenge)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.EmailChallenge
   */
  emailChallenge: {
    methodKind: "unary";
    input: typeof EmailChallengeRequestSchema;
    output: typeof EmailChallengeResponseSchema;
  },
  /**
   * Verify email with code (/auth/email/verify)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.EmailVerify
   */
  emailVerify: {
    methodKind: "unary";
    input: typeof EmailVerifyRequestSchema;
    output: typeof EmailVerifyResponseSchema;
  },
  /**
   * Confirm email verification (/auth/email/confirm)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.EmailConfirm
   */
  emailConfirm: {
    methodKind: "unary";
    input: typeof EmailConfirmRequestSchema;
    output: typeof EmailConfirmResponseSchema;
  },
  /**
   * Merge two user accounts (/auth/manage/merge)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.ManageMerge
   */
  manageMerge: {
    methodKind: "unary";
    input: typeof ManageMergeRequestSchema;
    output: typeof ManageMergeResponseSchema;
  },
  /**
   * Remove wallet IDP from user (/auth/manage/remove_wallet_idp)
   *
   * @generated from rpc gfxcafe.oku.account.v1.AuthService.ManageRemoveWalletIdp
   */
  manageRemoveWalletIdp: {
    methodKind: "unary";
    input: typeof ManageRemoveWalletIdpRequestSchema;
    output: typeof ManageRemoveWalletIdpResponseSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_gfxcafe_oku_account_v1_auth, 0);

