// @generated by protoc-gen-es v2.2.2 with parameter "target=ts,import_extension=.js"
// @generated from file gfxcafe/oku/account/v1/canoe.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 type { Address } from "./common_pb.js";
import { file_gfxcafe_oku_account_v1_common } from "./common_pb.js";
import type { Message } from "@bufbuild/protobuf";

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

/**
 * SwapRequest for recording swap quotes
 *
 * @generated from message gfxcafe.oku.account.v1.SwapRequest
 */
export type SwapRequest = Message<"gfxcafe.oku.account.v1.SwapRequest"> & {
  /**
   * Quote ID
   *
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * Router/market name
   *
   * @generated from field: string market = 2;
   */
  market: string;

  /**
   * Chain ID
   *
   * @generated from field: int32 chain_id = 3;
   */
  chainId: number;

  /**
   * Input token address
   *
   * @generated from field: gfxcafe.oku.account.v1.Address in_token = 4;
   */
  inToken?: Address;

  /**
   * Output token address
   *
   * @generated from field: gfxcafe.oku.account.v1.Address out_token = 5;
   */
  outToken?: Address;

  /**
   * Input amount
   *
   * @generated from field: string in_amount = 6;
   */
  inAmount: string;

  /**
   * Output amount
   *
   * @generated from field: string out_amount = 7;
   */
  outAmount: string;

  /**
   * Input USD value
   *
   * @generated from field: double in_usd_value = 8;
   */
  inUsdValue: number;

  /**
   * Output USD value
   *
   * @generated from field: double out_usd_value = 9;
   */
  outUsdValue: number;

  /**
   * Sender address
   *
   * @generated from field: gfxcafe.oku.account.v1.Address sender = 10;
   */
  sender?: Address;

  /**
   * Transaction calldata
   *
   * @generated from field: string calldata = 11;
   */
  calldata: string;
};

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

/**
 * SwapResponse (empty)
 *
 * @generated from message gfxcafe.oku.account.v1.SwapResponse
 */
export type SwapResponse = Message<"gfxcafe.oku.account.v1.SwapResponse"> & {
};

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

/**
 * BridgeRequest for recording bridge quotes
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeRequest
 */
export type BridgeRequest = Message<"gfxcafe.oku.account.v1.BridgeRequest"> & {
  /**
   * Quote ID
   *
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * Input chain ID
   *
   * @generated from field: int32 in_chain_id = 2;
   */
  inChainId: number;

  /**
   * Output chain ID
   *
   * @generated from field: int32 out_chain_id = 3;
   */
  outChainId: number;

  /**
   * Input token address
   *
   * @generated from field: gfxcafe.oku.account.v1.Address in_token = 4;
   */
  inToken?: Address;

  /**
   * Output token address
   *
   * @generated from field: gfxcafe.oku.account.v1.Address out_token = 5;
   */
  outToken?: Address;

  /**
   * Input amount
   *
   * @generated from field: string in_amount = 6;
   */
  inAmount: string;

  /**
   * Output amount
   *
   * @generated from field: string out_amount = 7;
   */
  outAmount: string;

  /**
   * Input USD value
   *
   * @generated from field: double in_usd_value = 8;
   */
  inUsdValue: number;

  /**
   * Output USD value
   *
   * @generated from field: double out_usd_value = 9;
   */
  outUsdValue: number;

  /**
   * Bridge name
   *
   * @generated from field: string bridge = 10;
   */
  bridge: string;

  /**
   * Sender address
   *
   * @generated from field: gfxcafe.oku.account.v1.Address sender = 11;
   */
  sender?: Address;
};

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

/**
 * BridgeResponse (empty)
 *
 * @generated from message gfxcafe.oku.account.v1.BridgeResponse
 */
export type BridgeResponse = Message<"gfxcafe.oku.account.v1.BridgeResponse"> & {
};

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

/**
 * CanoeService provides quote tracking functionality
 *
 * @generated from service gfxcafe.oku.account.v1.CanoeService
 */
export const CanoeService: GenService<{
  /**
   * Record a swap quote (/canoe/swap)
   *
   * @generated from rpc gfxcafe.oku.account.v1.CanoeService.Swap
   */
  swap: {
    methodKind: "unary";
    input: typeof SwapRequestSchema;
    output: typeof SwapResponseSchema;
  },
  /**
   * Record a bridge quote (/canoe/bridge)
   *
   * @generated from rpc gfxcafe.oku.account.v1.CanoeService.Bridge
   */
  bridge: {
    methodKind: "unary";
    input: typeof BridgeRequestSchema;
    output: typeof BridgeResponseSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_gfxcafe_oku_account_v1_canoe, 0);

