// package: routerprotocol.routerchain.voyager
// file: routerprotocol/routerchain/voyager/fund_deposit_request.proto

import * as jspb from "google-protobuf";
import * as routerprotocol_routerchain_multichain_chain_type_pb from "../../../routerprotocol/routerchain/multichain/chain_type_pb";
import * as cosmos_base_v1beta1_coin_pb from "../../../cosmos/base/v1beta1/coin_pb";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";
import * as routerprotocol_routerchain_voyager_voyager_fund_deposit_status_pb from "../../../routerprotocol/routerchain/voyager/voyager_fund_deposit_status_pb";

export class FundDepositRequest extends jspb.Message {
  getSrcchainid(): string;
  setSrcchainid(value: string): void;

  getSrcchaintype(): routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap[keyof routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap];
  setSrcchaintype(value: routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap[keyof routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap]): void;

  getSrctxhash(): string;
  setSrctxhash(value: string): void;

  getSrctimestamp(): number;
  setSrctimestamp(value: number): void;

  getContract(): string;
  setContract(value: string): void;

  getDepositId(): number;
  setDepositId(value: number): void;

  getBlockheight(): number;
  setBlockheight(value: number): void;

  getDestchainid(): Uint8Array | string;
  getDestchainid_asU8(): Uint8Array;
  getDestchainid_asB64(): string;
  setDestchainid(value: Uint8Array | string): void;

  getAmount(): string;
  setAmount(value: string): void;

  getDestamount(): string;
  setDestamount(value: string): void;

  getSrctoken(): string;
  setSrctoken(value: string): void;

  getRecipient(): Uint8Array | string;
  getRecipient_asU8(): Uint8Array;
  getRecipient_asB64(): string;
  setRecipient(value: Uint8Array | string): void;

  getDepositor(): string;
  setDepositor(value: string): void;

  getPartnerId(): string;
  setPartnerId(value: string): void;

  getMessage(): Uint8Array | string;
  getMessage_asU8(): Uint8Array;
  getMessage_asB64(): string;
  setMessage(value: Uint8Array | string): void;

  getStatus(): routerprotocol_routerchain_voyager_voyager_fund_deposit_status_pb.VoyagerFundDepositStatusMap[keyof routerprotocol_routerchain_voyager_voyager_fund_deposit_status_pb.VoyagerFundDepositStatusMap];
  setStatus(value: routerprotocol_routerchain_voyager_voyager_fund_deposit_status_pb.VoyagerFundDepositStatusMap[keyof routerprotocol_routerchain_voyager_voyager_fund_deposit_status_pb.VoyagerFundDepositStatusMap]): void;

  getDepositWithMessage(): boolean;
  setDepositWithMessage(value: boolean): void;

  getDesttoken(): Uint8Array | string;
  getDesttoken_asU8(): Uint8Array;
  getDesttoken_asB64(): string;
  setDesttoken(value: Uint8Array | string): void;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): FundDepositRequest.AsObject;
  static toObject(includeInstance: boolean, msg: FundDepositRequest): FundDepositRequest.AsObject;
  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
  static serializeBinaryToWriter(message: FundDepositRequest, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): FundDepositRequest;
  static deserializeBinaryFromReader(message: FundDepositRequest, reader: jspb.BinaryReader): FundDepositRequest;
}

export namespace FundDepositRequest {
  export type AsObject = {
    srcchainid: string,
    srcchaintype: routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap[keyof routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap],
    srctxhash: string,
    srctimestamp: number,
    contract: string,
    depositId: number,
    blockheight: number,
    destchainid: Uint8Array | string,
    amount: string,
    destamount: string,
    srctoken: string,
    recipient: Uint8Array | string,
    depositor: string,
    partnerId: string,
    message: Uint8Array | string,
    status: routerprotocol_routerchain_voyager_voyager_fund_deposit_status_pb.VoyagerFundDepositStatusMap[keyof routerprotocol_routerchain_voyager_voyager_fund_deposit_status_pb.VoyagerFundDepositStatusMap],
    depositWithMessage: boolean,
    desttoken: Uint8Array | string,
  }
}

export class FundDepositRequestClaimHash extends jspb.Message {
  getSrcchainid(): string;
  setSrcchainid(value: string): void;

  getSrcchaintype(): routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap[keyof routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap];
  setSrcchaintype(value: routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap[keyof routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap]): void;

  getSrctxhash(): string;
  setSrctxhash(value: string): void;

  getSrctimestamp(): number;
  setSrctimestamp(value: number): void;

  getContract(): string;
  setContract(value: string): void;

  getDepositId(): number;
  setDepositId(value: number): void;

  getBlockheight(): number;
  setBlockheight(value: number): void;

  getDestchainid(): Uint8Array | string;
  getDestchainid_asU8(): Uint8Array;
  getDestchainid_asB64(): string;
  setDestchainid(value: Uint8Array | string): void;

  getAmount(): string;
  setAmount(value: string): void;

  getDestamount(): string;
  setDestamount(value: string): void;

  getSrctoken(): string;
  setSrctoken(value: string): void;

  getRecipient(): Uint8Array | string;
  getRecipient_asU8(): Uint8Array;
  getRecipient_asB64(): string;
  setRecipient(value: Uint8Array | string): void;

  getDepositor(): string;
  setDepositor(value: string): void;

  getMessage(): Uint8Array | string;
  getMessage_asU8(): Uint8Array;
  getMessage_asB64(): string;
  setMessage(value: Uint8Array | string): void;

  getPartnerId(): string;
  setPartnerId(value: string): void;

  getDepositWithMessage(): boolean;
  setDepositWithMessage(value: boolean): void;

  getDesttoken(): Uint8Array | string;
  getDesttoken_asU8(): Uint8Array;
  getDesttoken_asB64(): string;
  setDesttoken(value: Uint8Array | string): void;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): FundDepositRequestClaimHash.AsObject;
  static toObject(includeInstance: boolean, msg: FundDepositRequestClaimHash): FundDepositRequestClaimHash.AsObject;
  static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
  static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
  static serializeBinaryToWriter(message: FundDepositRequestClaimHash, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): FundDepositRequestClaimHash;
  static deserializeBinaryFromReader(message: FundDepositRequestClaimHash, reader: jspb.BinaryReader): FundDepositRequestClaimHash;
}

export namespace FundDepositRequestClaimHash {
  export type AsObject = {
    srcchainid: string,
    srcchaintype: routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap[keyof routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap],
    srctxhash: string,
    srctimestamp: number,
    contract: string,
    depositId: number,
    blockheight: number,
    destchainid: Uint8Array | string,
    amount: string,
    destamount: string,
    srctoken: string,
    recipient: Uint8Array | string,
    depositor: string,
    message: Uint8Array | string,
    partnerId: string,
    depositWithMessage: boolean,
    desttoken: Uint8Array | string,
  }
}

