// package: routerprotocol.routerchain.metastore
// file: routerprotocol/routerchain/metastore/metadata_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 routerprotocol_routerchain_metastore_meta_tx_status_pb from "../../../routerprotocol/routerchain/metastore/meta_tx_status_pb";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";

export class MetadataRequest extends jspb.Message {
  getChainid(): string;
  setChainid(value: string): void;

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

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

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

  getDaapaddress(): string;
  setDaapaddress(value: string): void;

  getFeepayer(): string;
  setFeepayer(value: string): void;

  getStatus(): routerprotocol_routerchain_metastore_meta_tx_status_pb.MetaTxStatusMap[keyof routerprotocol_routerchain_metastore_meta_tx_status_pb.MetaTxStatusMap];
  setStatus(value: routerprotocol_routerchain_metastore_meta_tx_status_pb.MetaTxStatusMap[keyof routerprotocol_routerchain_metastore_meta_tx_status_pb.MetaTxStatusMap]): void;

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

export namespace MetadataRequest {
  export type AsObject = {
    chainid: string,
    contract: string,
    eventnonce: number,
    blockheight: number,
    daapaddress: string,
    feepayer: string,
    status: routerprotocol_routerchain_metastore_meta_tx_status_pb.MetaTxStatusMap[keyof routerprotocol_routerchain_metastore_meta_tx_status_pb.MetaTxStatusMap],
  }
}

export class MetadataRequestClaimHash extends jspb.Message {
  getChainid(): string;
  setChainid(value: string): void;

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

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

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

  getDaapaddress(): string;
  setDaapaddress(value: string): void;

  getFeepayer(): string;
  setFeepayer(value: string): void;

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

export namespace MetadataRequestClaimHash {
  export type AsObject = {
    chainid: string,
    contract: string,
    eventnonce: number,
    blockheight: number,
    daapaddress: string,
    feepayer: string,
  }
}

export class BurnTokensRequest extends jspb.Message {
  getSender(): string;
  setSender(value: string): void;

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

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

export namespace BurnTokensRequest {
  export type AsObject = {
    sender: string,
    amount: string,
  }
}

