// package: routerprotocol.routerchain.voyager
// file: routerprotocol/routerchain/voyager/deposit_update_info_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_deposit_update_info_status_pb from "../../../routerprotocol/routerchain/voyager/voyager_deposit_update_info_status_pb";

export class DepositUpdateInfoRequest extends jspb.Message {
  getDepositId(): number;
  setDepositId(value: number): void;

  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;

  getEventnonce(): number;
  setEventnonce(value: number): void;

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

  getFeeamount(): string;
  setFeeamount(value: string): void;

  getInitiatewithdrawal(): boolean;
  setInitiatewithdrawal(value: boolean): void;

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

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

  getStatus(): routerprotocol_routerchain_voyager_voyager_deposit_update_info_status_pb.VoyagerDepositUpdateInfoStatusMap[keyof routerprotocol_routerchain_voyager_voyager_deposit_update_info_status_pb.VoyagerDepositUpdateInfoStatusMap];
  setStatus(value: routerprotocol_routerchain_voyager_voyager_deposit_update_info_status_pb.VoyagerDepositUpdateInfoStatusMap[keyof routerprotocol_routerchain_voyager_voyager_deposit_update_info_status_pb.VoyagerDepositUpdateInfoStatusMap]): void;

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

export namespace DepositUpdateInfoRequest {
  export type AsObject = {
    depositId: number,
    srcchainid: string,
    srcchaintype: routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap[keyof routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap],
    srctxhash: string,
    srctimestamp: number,
    contract: string,
    eventnonce: number,
    blockheight: number,
    feeamount: string,
    initiatewithdrawal: boolean,
    srctoken: string,
    depositor: string,
    status: routerprotocol_routerchain_voyager_voyager_deposit_update_info_status_pb.VoyagerDepositUpdateInfoStatusMap[keyof routerprotocol_routerchain_voyager_voyager_deposit_update_info_status_pb.VoyagerDepositUpdateInfoStatusMap],
  }
}

export class DepositUpdateInfoRequestClaimHash extends jspb.Message {
  getDepositId(): number;
  setDepositId(value: number): void;

  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;

  getEventnonce(): number;
  setEventnonce(value: number): void;

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

  getFeeamount(): string;
  setFeeamount(value: string): void;

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

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

  getInitiatewithdrawal(): boolean;
  setInitiatewithdrawal(value: boolean): void;

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

export namespace DepositUpdateInfoRequestClaimHash {
  export type AsObject = {
    depositId: number,
    srcchainid: string,
    srcchaintype: routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap[keyof routerprotocol_routerchain_multichain_chain_type_pb.ChainTypeMap],
    srctxhash: string,
    srctimestamp: number,
    contract: string,
    eventnonce: number,
    blockheight: number,
    feeamount: string,
    srctoken: string,
    depositor: string,
    initiatewithdrawal: boolean,
  }
}

