// package: ocap
// file: tx.proto

import * as jspb from "google-protobuf";
import * as google_protobuf_any_pb from "google-protobuf/google/protobuf/any_pb";
import * as google_protobuf_timestamp_pb from "google-protobuf/google/protobuf/timestamp_pb";
import * as type_pb from "./type_pb";

export class AccountMigrateTx extends jspb.Message {
  getPk(): Uint8Array | string;
  getPk_asU8(): Uint8Array;
  getPk_asB64(): string;
  setPk(value: Uint8Array | string): void;

  hasType(): boolean;
  clearType(): void;
  getType(): type_pb.TWalletType | undefined;
  setType(value?: type_pb.TWalletType): void;

  getAddress(): string;
  setAddress(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TAccountMigrateTx = {
  pk: Uint8Array | string,
  type?: type_pb.TWalletType,
  address: string,
  data?: google_protobuf_any_pb.Any,
}

export class DeclareTx extends jspb.Message {
  getMoniker(): string;
  setMoniker(value: string): void;

  getIssuer(): string;
  setIssuer(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TDeclareTx = {
  moniker: string,
  issuer: string,
  data?: google_protobuf_any_pb.Any,
}

export class DelegateOp extends jspb.Message {
  getTypeUrl(): string;
  setTypeUrl(value: string): void;

  clearRulesList(): void;
  getRulesList(): Array<string>;
  setRulesList(value: Array<string>): void;
  addRules(value: string, index?: number): string;

  hasLimit(): boolean;
  clearLimit(): void;
  getLimit(): type_pb.TDelegateLimit | undefined;
  setLimit(value?: type_pb.TDelegateLimit): void;

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

export type TDelegateOp = {
  typeUrl: string,
  rules: Array<string>,
  limit?: type_pb.TDelegateLimit,
}

export class DelegateTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  getTo(): string;
  setTo(value: string): void;

  clearOpsList(): void;
  getOpsList(): Array<TDelegateOp>;
  setOpsList(value: Array<TDelegateOp>): void;
  addOps(value?: DelegateOp, index?: number): DelegateOp;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TDelegateTx = {
  address: string,
  to: string,
  ops: Array<TDelegateOp>,
  data?: google_protobuf_any_pb.Any,
}

export class RevokeDelegateTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  getTo(): string;
  setTo(value: string): void;

  clearTypeUrlsList(): void;
  getTypeUrlsList(): Array<string>;
  setTypeUrlsList(value: Array<string>): void;
  addTypeUrls(value: string, index?: number): string;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TRevokeDelegateTx = {
  address: string,
  to: string,
  typeUrls: Array<string>,
  data?: google_protobuf_any_pb.Any,
}

export class UpgradeNodeTx extends jspb.Message {
  getHeight(): number;
  setHeight(value: number): void;

  getVersion(): string;
  setVersion(value: string): void;

  getOverride(): boolean;
  setOverride(value: boolean): void;

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

export type TUpgradeNodeTx = {
  height: number,
  version: string,
  override: boolean,
}

export class ExchangeInfo extends jspb.Message {
  hasValue(): boolean;
  clearValue(): void;
  getValue(): type_pb.TBigUint | undefined;
  setValue(value?: type_pb.TBigUint): void;

  clearAssetsList(): void;
  getAssetsList(): Array<string>;
  setAssetsList(value: Array<string>): void;
  addAssets(value: string, index?: number): string;

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

export type TExchangeInfo = {
  value?: type_pb.TBigUint,
  assets: Array<string>,
}

export class ExchangeInfoV2 extends jspb.Message {
  hasValue(): boolean;
  clearValue(): void;
  getValue(): type_pb.TBigUint | undefined;
  setValue(value?: type_pb.TBigUint): void;

  clearAssetsList(): void;
  getAssetsList(): Array<string>;
  setAssetsList(value: Array<string>): void;
  addAssets(value: string, index?: number): string;

  clearTokensList(): void;
  getTokensList(): Array<type_pb.TTokenInput>;
  setTokensList(value: Array<type_pb.TTokenInput>): void;
  addTokens(value?: type_pb.TokenInput, index?: number): type_pb.TokenInput;

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

export type TExchangeInfoV2 = {
  value?: type_pb.TBigUint,
  assets: Array<string>,
  tokens: Array<type_pb.TTokenInput>,
}

export class ExchangeTx extends jspb.Message {
  getTo(): string;
  setTo(value: string): void;

  hasSender(): boolean;
  clearSender(): void;
  getSender(): TExchangeInfo | undefined;
  setSender(value?: TExchangeInfo): void;

  hasReceiver(): boolean;
  clearReceiver(): void;
  getReceiver(): TExchangeInfo | undefined;
  setReceiver(value?: TExchangeInfo): void;

  hasExpiredAt(): boolean;
  clearExpiredAt(): void;
  getExpiredAt(): google_protobuf_timestamp_pb.Timestamp | undefined;
  setExpiredAt(value?: google_protobuf_timestamp_pb.Timestamp): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TExchangeTx = {
  to: string,
  sender?: TExchangeInfo,
  receiver?: TExchangeInfo,
  expiredAt?: google_protobuf_timestamp_pb.Timestamp,
  data?: google_protobuf_any_pb.Any,
}

export class ExchangeV2Tx extends jspb.Message {
  getTo(): string;
  setTo(value: string): void;

  hasSender(): boolean;
  clearSender(): void;
  getSender(): TExchangeInfoV2 | undefined;
  setSender(value?: TExchangeInfoV2): void;

  hasReceiver(): boolean;
  clearReceiver(): void;
  getReceiver(): TExchangeInfoV2 | undefined;
  setReceiver(value?: TExchangeInfoV2): void;

  hasExpiredAt(): boolean;
  clearExpiredAt(): void;
  getExpiredAt(): google_protobuf_timestamp_pb.Timestamp | undefined;
  setExpiredAt(value?: google_protobuf_timestamp_pb.Timestamp): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TExchangeV2Tx = {
  to: string,
  sender?: TExchangeInfoV2,
  receiver?: TExchangeInfoV2,
  expiredAt?: google_protobuf_timestamp_pb.Timestamp,
  data?: google_protobuf_any_pb.Any,
}

export class TransferTx extends jspb.Message {
  getTo(): string;
  setTo(value: string): void;

  hasValue(): boolean;
  clearValue(): void;
  getValue(): type_pb.TBigUint | undefined;
  setValue(value?: type_pb.TBigUint): void;

  clearAssetsList(): void;
  getAssetsList(): Array<string>;
  setAssetsList(value: Array<string>): void;
  addAssets(value: string, index?: number): string;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TTransferTx = {
  to: string,
  value?: type_pb.TBigUint,
  assets: Array<string>,
  data?: google_protobuf_any_pb.Any,
}

export class TransferV2Tx extends jspb.Message {
  getTo(): string;
  setTo(value: string): void;

  hasValue(): boolean;
  clearValue(): void;
  getValue(): type_pb.TBigUint | undefined;
  setValue(value?: type_pb.TBigUint): void;

  clearAssetsList(): void;
  getAssetsList(): Array<string>;
  setAssetsList(value: Array<string>): void;
  addAssets(value: string, index?: number): string;

  clearTokensList(): void;
  getTokensList(): Array<type_pb.TTokenInput>;
  setTokensList(value: Array<type_pb.TTokenInput>): void;
  addTokens(value?: type_pb.TokenInput, index?: number): type_pb.TokenInput;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TTransferV2Tx = {
  to: string,
  value?: type_pb.TBigUint,
  assets: Array<string>,
  tokens: Array<type_pb.TTokenInput>,
  data?: google_protobuf_any_pb.Any,
}

export class TransferV3Tx extends jspb.Message {
  clearInputsList(): void;
  getInputsList(): Array<type_pb.TTransactionInput>;
  setInputsList(value: Array<type_pb.TTransactionInput>): void;
  addInputs(value?: type_pb.TransactionInput, index?: number): type_pb.TransactionInput;

  clearOutputsList(): void;
  getOutputsList(): Array<type_pb.TTransactionInput>;
  setOutputsList(value: Array<type_pb.TTransactionInput>): void;
  addOutputs(value?: type_pb.TransactionInput, index?: number): type_pb.TransactionInput;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TTransferV3Tx = {
  inputs: Array<type_pb.TTransactionInput>,
  outputs: Array<type_pb.TTransactionInput>,
  data?: google_protobuf_any_pb.Any,
}

export class CreateTokenTx extends jspb.Message {
  getName(): string;
  setName(value: string): void;

  getDescription(): string;
  setDescription(value: string): void;

  getSymbol(): string;
  setSymbol(value: string): void;

  getUnit(): string;
  setUnit(value: string): void;

  getDecimal(): number;
  setDecimal(value: number): void;

  getIcon(): string;
  setIcon(value: string): void;

  getTotalSupply(): string;
  setTotalSupply(value: string): void;

  getAddress(): string;
  setAddress(value: string): void;

  getInitialSupply(): string;
  setInitialSupply(value: string): void;

  hasForeignToken(): boolean;
  clearForeignToken(): void;
  getForeignToken(): type_pb.TForeignToken | undefined;
  setForeignToken(value?: type_pb.TForeignToken): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TCreateTokenTx = {
  name: string,
  description: string,
  symbol: string,
  unit: string,
  decimal: number,
  icon: string,
  totalSupply: string,
  address: string,
  initialSupply: string,
  foreignToken?: type_pb.TForeignToken,
  data?: google_protobuf_any_pb.Any,
}

export class AssetFactoryInput extends jspb.Message {
  getValue(): string;
  setValue(value: string): void;

  clearTokensList(): void;
  getTokensList(): Array<type_pb.TTokenInput>;
  setTokensList(value: Array<type_pb.TTokenInput>): void;
  addTokens(value?: type_pb.TokenInput, index?: number): type_pb.TokenInput;

  clearAssetsList(): void;
  getAssetsList(): Array<string>;
  setAssetsList(value: Array<string>): void;
  addAssets(value: string, index?: number): string;

  clearVariablesList(): void;
  getVariablesList(): Array<type_pb.TVariableInput>;
  setVariablesList(value: Array<type_pb.TVariableInput>): void;
  addVariables(value?: type_pb.VariableInput, index?: number): type_pb.VariableInput;

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

export type TAssetFactoryInput = {
  value: string,
  tokens: Array<type_pb.TTokenInput>,
  assets: Array<string>,
  variables: Array<type_pb.TVariableInput>,
}

export class AcquireAssetV2Tx extends jspb.Message {
  getFactory(): string;
  setFactory(value: string): void;

  getAddress(): string;
  setAddress(value: string): void;

  clearAssetsList(): void;
  getAssetsList(): Array<string>;
  setAssetsList(value: Array<string>): void;
  addAssets(value: string, index?: number): string;

  clearVariablesList(): void;
  getVariablesList(): Array<type_pb.TVariableInput>;
  setVariablesList(value: Array<type_pb.TVariableInput>): void;
  addVariables(value?: type_pb.VariableInput, index?: number): type_pb.VariableInput;

  hasIssuer(): boolean;
  clearIssuer(): void;
  getIssuer(): type_pb.TNFTIssuer | undefined;
  setIssuer(value?: type_pb.TNFTIssuer): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TAcquireAssetV2Tx = {
  factory: string,
  address: string,
  assets: Array<string>,
  variables: Array<type_pb.TVariableInput>,
  issuer?: type_pb.TNFTIssuer,
  data?: google_protobuf_any_pb.Any,
}

export class AcquireAssetV3Tx extends jspb.Message {
  getFactory(): string;
  setFactory(value: string): void;

  getAddress(): string;
  setAddress(value: string): void;

  clearInputsList(): void;
  getInputsList(): Array<type_pb.TTransactionInput>;
  setInputsList(value: Array<type_pb.TTransactionInput>): void;
  addInputs(value?: type_pb.TransactionInput, index?: number): type_pb.TransactionInput;

  getOwner(): string;
  setOwner(value: string): void;

  clearVariablesList(): void;
  getVariablesList(): Array<type_pb.TVariableInput>;
  setVariablesList(value: Array<type_pb.TVariableInput>): void;
  addVariables(value?: type_pb.VariableInput, index?: number): type_pb.VariableInput;

  hasIssuer(): boolean;
  clearIssuer(): void;
  getIssuer(): type_pb.TNFTIssuer | undefined;
  setIssuer(value?: type_pb.TNFTIssuer): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TAcquireAssetV3Tx = {
  factory: string,
  address: string,
  inputs: Array<type_pb.TTransactionInput>,
  owner: string,
  variables: Array<type_pb.TVariableInput>,
  issuer?: type_pb.TNFTIssuer,
  data?: google_protobuf_any_pb.Any,
}

export class MintAssetTx extends jspb.Message {
  getFactory(): string;
  setFactory(value: string): void;

  getAddress(): string;
  setAddress(value: string): void;

  clearAssetsList(): void;
  getAssetsList(): Array<string>;
  setAssetsList(value: Array<string>): void;
  addAssets(value: string, index?: number): string;

  clearVariablesList(): void;
  getVariablesList(): Array<type_pb.TVariableInput>;
  setVariablesList(value: Array<type_pb.TVariableInput>): void;
  addVariables(value?: type_pb.VariableInput, index?: number): type_pb.VariableInput;

  getOwner(): string;
  setOwner(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TMintAssetTx = {
  factory: string,
  address: string,
  assets: Array<string>,
  variables: Array<type_pb.TVariableInput>,
  owner: string,
  data?: google_protobuf_any_pb.Any,
}

export class CreateAssetTx extends jspb.Message {
  getMoniker(): string;
  setMoniker(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

  getReadonly(): boolean;
  setReadonly(value: boolean): void;

  getTransferrable(): boolean;
  setTransferrable(value: boolean): void;

  getTtl(): number;
  setTtl(value: number): void;

  getParent(): string;
  setParent(value: string): void;

  getAddress(): string;
  setAddress(value: string): void;

  getIssuer(): string;
  setIssuer(value: string): void;

  hasEndpoint(): boolean;
  clearEndpoint(): void;
  getEndpoint(): type_pb.TNFTEndpoint | undefined;
  setEndpoint(value?: type_pb.TNFTEndpoint): void;

  hasDisplay(): boolean;
  clearDisplay(): void;
  getDisplay(): type_pb.TNFTDisplay | undefined;
  setDisplay(value?: type_pb.TNFTDisplay): void;

  clearTagsList(): void;
  getTagsList(): Array<string>;
  setTagsList(value: Array<string>): void;
  addTags(value: string, index?: number): string;

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

export type TCreateAssetTx = {
  moniker: string,
  data?: google_protobuf_any_pb.Any,
  readonly: boolean,
  transferrable: boolean,
  ttl: number,
  parent: string,
  address: string,
  issuer: string,
  endpoint?: type_pb.TNFTEndpoint,
  display?: type_pb.TNFTDisplay,
  tags: Array<string>,
}

export class UpdateAssetTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  getMoniker(): string;
  setMoniker(value: string): void;

  getConsumed(): boolean;
  setConsumed(value: boolean): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TUpdateAssetTx = {
  address: string,
  moniker: string,
  consumed: boolean,
  data?: google_protobuf_any_pb.Any,
}

export class ConsumeAssetTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TConsumeAssetTx = {
  address: string,
  data?: google_protobuf_any_pb.Any,
}

export class CreateFactoryTx extends jspb.Message {
  getName(): string;
  setName(value: string): void;

  getDescription(): string;
  setDescription(value: string): void;

  getSettlement(): string;
  setSettlement(value: string): void;

  getLimit(): number;
  setLimit(value: number): void;

  clearTrustedIssuersList(): void;
  getTrustedIssuersList(): Array<string>;
  setTrustedIssuersList(value: Array<string>): void;
  addTrustedIssuers(value: string, index?: number): string;

  hasInput(): boolean;
  clearInput(): void;
  getInput(): TAssetFactoryInput | undefined;
  setInput(value?: TAssetFactoryInput): void;

  hasOutput(): boolean;
  clearOutput(): void;
  getOutput(): TCreateAssetTx | undefined;
  setOutput(value?: TCreateAssetTx): void;

  clearHooksList(): void;
  getHooksList(): Array<type_pb.TAssetFactoryHook>;
  setHooksList(value: Array<type_pb.TAssetFactoryHook>): void;
  addHooks(value?: type_pb.AssetFactoryHook, index?: number): type_pb.AssetFactoryHook;

  getAddress(): string;
  setAddress(value: string): void;

  hasDisplay(): boolean;
  clearDisplay(): void;
  getDisplay(): type_pb.TNFTDisplay | undefined;
  setDisplay(value?: type_pb.TNFTDisplay): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TCreateFactoryTx = {
  name: string,
  description: string,
  settlement: string,
  limit: number,
  trustedIssuers: Array<string>,
  input?: TAssetFactoryInput,
  output?: TCreateAssetTx,
  hooks: Array<type_pb.TAssetFactoryHook>,
  address: string,
  display?: type_pb.TNFTDisplay,
  data?: google_protobuf_any_pb.Any,
}

export class StakeTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  getReceiver(): string;
  setReceiver(value: string): void;

  clearInputsList(): void;
  getInputsList(): Array<type_pb.TTransactionInput>;
  setInputsList(value: Array<type_pb.TTransactionInput>): void;
  addInputs(value?: type_pb.TransactionInput, index?: number): type_pb.TransactionInput;

  getLocked(): boolean;
  setLocked(value: boolean): void;

  getMessage(): string;
  setMessage(value: string): void;

  getRevokeWaitingPeriod(): number;
  setRevokeWaitingPeriod(value: number): void;

  clearSlashersList(): void;
  getSlashersList(): Array<string>;
  setSlashersList(value: Array<string>): void;
  addSlashers(value: string, index?: number): string;

  getNonce(): string;
  setNonce(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TStakeTx = {
  address: string,
  receiver: string,
  inputs: Array<type_pb.TTransactionInput>,
  locked: boolean,
  message: string,
  revokeWaitingPeriod: number,
  slashers: Array<string>,
  nonce: string,
  data?: google_protobuf_any_pb.Any,
}

export class RevokeStakeTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  clearOutputsList(): void;
  getOutputsList(): Array<type_pb.TTransactionInput>;
  setOutputsList(value: Array<type_pb.TTransactionInput>): void;
  addOutputs(value?: type_pb.TransactionInput, index?: number): type_pb.TransactionInput;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TRevokeStakeTx = {
  address: string,
  outputs: Array<type_pb.TTransactionInput>,
  data?: google_protobuf_any_pb.Any,
}

export class ClaimStakeTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  hasEvidence(): boolean;
  clearEvidence(): void;
  getEvidence(): type_pb.TEvidence | undefined;
  setEvidence(value?: type_pb.TEvidence): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TClaimStakeTx = {
  address: string,
  evidence?: type_pb.TEvidence,
  data?: google_protobuf_any_pb.Any,
}

export class SlashStakeTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  clearOutputsList(): void;
  getOutputsList(): Array<type_pb.TTransactionInput>;
  setOutputsList(value: Array<type_pb.TTransactionInput>): void;
  addOutputs(value?: type_pb.TransactionInput, index?: number): type_pb.TransactionInput;

  getMessage(): string;
  setMessage(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TSlashStakeTx = {
  address: string,
  outputs: Array<type_pb.TTransactionInput>,
  message: string,
  data?: google_protobuf_any_pb.Any,
}

export class ReturnStakeTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  clearOutputsList(): void;
  getOutputsList(): Array<type_pb.TTransactionInput>;
  setOutputsList(value: Array<type_pb.TTransactionInput>): void;
  addOutputs(value?: type_pb.TransactionInput, index?: number): type_pb.TransactionInput;

  getMessage(): string;
  setMessage(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TReturnStakeTx = {
  address: string,
  outputs: Array<type_pb.TTransactionInput>,
  message: string,
  data?: google_protobuf_any_pb.Any,
}

export class CreateRollupTx extends jspb.Message {
  getAddress(): string;
  setAddress(value: string): void;

  getTokenAddress(): string;
  setTokenAddress(value: string): void;

  getVaultAddress(): string;
  setVaultAddress(value: string): void;

  getContractAddress(): string;
  setContractAddress(value: string): void;

  clearSeedValidatorsList(): void;
  getSeedValidatorsList(): Array<type_pb.TRollupValidator>;
  setSeedValidatorsList(value: Array<type_pb.TRollupValidator>): void;
  addSeedValidators(value?: type_pb.RollupValidator, index?: number): type_pb.RollupValidator;

  getMinStakeAmount(): string;
  setMinStakeAmount(value: string): void;

  getMaxStakeAmount(): string;
  setMaxStakeAmount(value: string): void;

  getMinSignerCount(): number;
  setMinSignerCount(value: number): void;

  getMaxSignerCount(): number;
  setMaxSignerCount(value: number): void;

  getMinBlockSize(): number;
  setMinBlockSize(value: number): void;

  getMaxBlockSize(): number;
  setMaxBlockSize(value: number): void;

  getMinBlockInterval(): number;
  setMinBlockInterval(value: number): void;

  getMinBlockConfirmation(): number;
  setMinBlockConfirmation(value: number): void;

  getForeignChainType(): string;
  setForeignChainType(value: string): void;

  getForeignChainId(): string;
  setForeignChainId(value: string): void;

  getDepositFeeRate(): number;
  setDepositFeeRate(value: number): void;

  getWithdrawFeeRate(): number;
  setWithdrawFeeRate(value: number): void;

  getProposerFeeShare(): number;
  setProposerFeeShare(value: number): void;

  getMinDepositAmount(): string;
  setMinDepositAmount(value: string): void;

  getMinWithdrawAmount(): string;
  setMinWithdrawAmount(value: string): void;

  getMaxDepositAmount(): string;
  setMaxDepositAmount(value: string): void;

  getMaxWithdrawAmount(): string;
  setMaxWithdrawAmount(value: string): void;

  getMinDepositFee(): string;
  setMinDepositFee(value: string): void;

  getMaxDepositFee(): string;
  setMaxDepositFee(value: string): void;

  getMinWithdrawFee(): string;
  setMinWithdrawFee(value: string): void;

  getMaxWithdrawFee(): string;
  setMaxWithdrawFee(value: string): void;

  getPaused(): boolean;
  setPaused(value: boolean): void;

  getLeaveWaitingPeriod(): number;
  setLeaveWaitingPeriod(value: number): void;

  getPublisherFeeShare(): number;
  setPublisherFeeShare(value: number): void;

  getPublishWaitingPeriod(): number;
  setPublishWaitingPeriod(value: number): void;

  getPublishSlashRate(): number;
  setPublishSlashRate(value: number): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TCreateRollupTx = {
  address: string,
  tokenAddress: string,
  vaultAddress: string,
  contractAddress: string,
  seedValidators: Array<type_pb.TRollupValidator>,
  minStakeAmount: string,
  maxStakeAmount: string,
  minSignerCount: number,
  maxSignerCount: number,
  minBlockSize: number,
  maxBlockSize: number,
  minBlockInterval: number,
  minBlockConfirmation: number,
  foreignChainType: string,
  foreignChainId: string,
  depositFeeRate: number,
  withdrawFeeRate: number,
  proposerFeeShare: number,
  minDepositAmount: string,
  minWithdrawAmount: string,
  maxDepositAmount: string,
  maxWithdrawAmount: string,
  minDepositFee: string,
  maxDepositFee: string,
  minWithdrawFee: string,
  maxWithdrawFee: string,
  paused: boolean,
  leaveWaitingPeriod: number,
  publisherFeeShare: number,
  publishWaitingPeriod: number,
  publishSlashRate: number,
  data?: google_protobuf_any_pb.Any,
}

export class UpdateRollupTx extends jspb.Message {
  getMinStakeAmount(): string;
  setMinStakeAmount(value: string): void;

  getMaxStakeAmount(): string;
  setMaxStakeAmount(value: string): void;

  getMinSignerCount(): number;
  setMinSignerCount(value: number): void;

  getMaxSignerCount(): number;
  setMaxSignerCount(value: number): void;

  getMinBlockSize(): number;
  setMinBlockSize(value: number): void;

  getMaxBlockSize(): number;
  setMaxBlockSize(value: number): void;

  getMinBlockInterval(): number;
  setMinBlockInterval(value: number): void;

  getMinBlockConfirmation(): number;
  setMinBlockConfirmation(value: number): void;

  getDepositFeeRate(): number;
  setDepositFeeRate(value: number): void;

  getWithdrawFeeRate(): number;
  setWithdrawFeeRate(value: number): void;

  getProposerFeeShare(): number;
  setProposerFeeShare(value: number): void;

  getMinDepositAmount(): string;
  setMinDepositAmount(value: string): void;

  getMinWithdrawAmount(): string;
  setMinWithdrawAmount(value: string): void;

  getMaxDepositAmount(): string;
  setMaxDepositAmount(value: string): void;

  getMaxWithdrawAmount(): string;
  setMaxWithdrawAmount(value: string): void;

  getMinDepositFee(): string;
  setMinDepositFee(value: string): void;

  getMaxDepositFee(): string;
  setMaxDepositFee(value: string): void;

  getMinWithdrawFee(): string;
  setMinWithdrawFee(value: string): void;

  getMaxWithdrawFee(): string;
  setMaxWithdrawFee(value: string): void;

  getPublisherFeeShare(): number;
  setPublisherFeeShare(value: number): void;

  getLeaveWaitingPeriod(): number;
  setLeaveWaitingPeriod(value: number): void;

  getPublishWaitingPeriod(): number;
  setPublishWaitingPeriod(value: number): void;

  getPublishSlashRate(): number;
  setPublishSlashRate(value: number): void;

  getRollup(): string;
  setRollup(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TUpdateRollupTx = {
  minStakeAmount: string,
  maxStakeAmount: string,
  minSignerCount: number,
  maxSignerCount: number,
  minBlockSize: number,
  maxBlockSize: number,
  minBlockInterval: number,
  minBlockConfirmation: number,
  depositFeeRate: number,
  withdrawFeeRate: number,
  proposerFeeShare: number,
  minDepositAmount: string,
  minWithdrawAmount: string,
  maxDepositAmount: string,
  maxWithdrawAmount: string,
  minDepositFee: string,
  maxDepositFee: string,
  minWithdrawFee: string,
  maxWithdrawFee: string,
  publisherFeeShare: number,
  leaveWaitingPeriod: number,
  publishWaitingPeriod: number,
  publishSlashRate: number,
  rollup: string,
  data?: google_protobuf_any_pb.Any,
}

export class JoinRollupTx extends jspb.Message {
  getRollup(): string;
  setRollup(value: string): void;

  getEndpoint(): string;
  setEndpoint(value: string): void;

  hasEvidence(): boolean;
  clearEvidence(): void;
  getEvidence(): type_pb.TEvidence | undefined;
  setEvidence(value?: type_pb.TEvidence): void;

  clearSignaturesList(): void;
  getSignaturesList(): Array<type_pb.TMultisig>;
  setSignaturesList(value: Array<type_pb.TMultisig>): void;
  addSignatures(value?: type_pb.Multisig, index?: number): type_pb.Multisig;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TJoinRollupTx = {
  rollup: string,
  endpoint: string,
  evidence?: type_pb.TEvidence,
  signatures: Array<type_pb.TMultisig>,
  data?: google_protobuf_any_pb.Any,
}

export class LeaveRollupTx extends jspb.Message {
  getRollup(): string;
  setRollup(value: string): void;

  hasEvidence(): boolean;
  clearEvidence(): void;
  getEvidence(): type_pb.TEvidence | undefined;
  setEvidence(value?: type_pb.TEvidence): void;

  clearSignaturesList(): void;
  getSignaturesList(): Array<type_pb.TMultisig>;
  setSignaturesList(value: Array<type_pb.TMultisig>): void;
  addSignatures(value?: type_pb.Multisig, index?: number): type_pb.Multisig;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TLeaveRollupTx = {
  rollup: string,
  evidence?: type_pb.TEvidence,
  signatures: Array<type_pb.TMultisig>,
  data?: google_protobuf_any_pb.Any,
}

export class CreateRollupBlockTx extends jspb.Message {
  getHash(): string;
  setHash(value: string): void;

  getHeight(): number;
  setHeight(value: number): void;

  getMerkleRoot(): string;
  setMerkleRoot(value: string): void;

  getPreviousHash(): string;
  setPreviousHash(value: string): void;

  getTxsHash(): string;
  setTxsHash(value: string): void;

  clearTxsList(): void;
  getTxsList(): Array<string>;
  setTxsList(value: Array<string>): void;
  addTxs(value: string, index?: number): string;

  getProposer(): string;
  setProposer(value: string): void;

  clearSignaturesList(): void;
  getSignaturesList(): Array<type_pb.TMultisig>;
  setSignaturesList(value: Array<type_pb.TMultisig>): void;
  addSignatures(value?: type_pb.Multisig, index?: number): type_pb.Multisig;

  getRollup(): string;
  setRollup(value: string): void;

  getMinReward(): string;
  setMinReward(value: string): void;

  getGovernance(): boolean;
  setGovernance(value: boolean): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TCreateRollupBlockTx = {
  hash: string,
  height: number,
  merkleRoot: string,
  previousHash: string,
  txsHash: string,
  txs: Array<string>,
  proposer: string,
  signatures: Array<type_pb.TMultisig>,
  rollup: string,
  minReward: string,
  governance: boolean,
  data?: google_protobuf_any_pb.Any,
}

export class ClaimBlockRewardTx extends jspb.Message {
  getRollup(): string;
  setRollup(value: string): void;

  getBlockHeight(): number;
  setBlockHeight(value: number): void;

  getBlockHash(): string;
  setBlockHash(value: string): void;

  hasEvidence(): boolean;
  clearEvidence(): void;
  getEvidence(): type_pb.TEvidence | undefined;
  setEvidence(value?: type_pb.TEvidence): void;

  getPublisher(): string;
  setPublisher(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TClaimBlockRewardTx = {
  rollup: string,
  blockHeight: number,
  blockHash: string,
  evidence?: type_pb.TEvidence,
  publisher: string,
  data?: google_protobuf_any_pb.Any,
}

export class PauseRollupTx extends jspb.Message {
  getRollup(): string;
  setRollup(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TPauseRollupTx = {
  rollup: string,
  data?: google_protobuf_any_pb.Any,
}

export class ResumeRollupTx extends jspb.Message {
  getRollup(): string;
  setRollup(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TResumeRollupTx = {
  rollup: string,
  data?: google_protobuf_any_pb.Any,
}

export class CloseRollupTx extends jspb.Message {
  getRollup(): string;
  setRollup(value: string): void;

  getMessage(): string;
  setMessage(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TCloseRollupTx = {
  rollup: string,
  message: string,
  data?: google_protobuf_any_pb.Any,
}

export class MigrateRollupTx extends jspb.Message {
  getRollup(): string;
  setRollup(value: string): void;

  getTo(): string;
  setTo(value: string): void;

  getType(): string;
  setType(value: string): void;

  getMessage(): string;
  setMessage(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TMigrateRollupTx = {
  rollup: string,
  to: string,
  type: string,
  message: string,
  data?: google_protobuf_any_pb.Any,
}

export class DepositTokenV2Tx extends jspb.Message {
  hasToken(): boolean;
  clearToken(): void;
  getToken(): type_pb.TTokenInput | undefined;
  setToken(value?: type_pb.TTokenInput): void;

  getTo(): string;
  setTo(value: string): void;

  getProposer(): string;
  setProposer(value: string): void;

  hasEvidence(): boolean;
  clearEvidence(): void;
  getEvidence(): type_pb.TEvidence | undefined;
  setEvidence(value?: type_pb.TEvidence): void;

  getRollup(): string;
  setRollup(value: string): void;

  getActualFee(): string;
  setActualFee(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TDepositTokenV2Tx = {
  token?: type_pb.TTokenInput,
  to: string,
  proposer: string,
  evidence?: type_pb.TEvidence,
  rollup: string,
  actualFee: string,
  data?: google_protobuf_any_pb.Any,
}

export class WithdrawTokenV2Tx extends jspb.Message {
  hasToken(): boolean;
  clearToken(): void;
  getToken(): type_pb.TTokenInput | undefined;
  setToken(value?: type_pb.TTokenInput): void;

  getTo(): string;
  setTo(value: string): void;

  getRollup(): string;
  setRollup(value: string): void;

  getProposer(): string;
  setProposer(value: string): void;

  getMaxFee(): string;
  setMaxFee(value: string): void;

  getActualFee(): string;
  setActualFee(value: string): void;

  hasData(): boolean;
  clearData(): void;
  getData(): google_protobuf_any_pb.Any | undefined;
  setData(value?: google_protobuf_any_pb.Any): void;

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

export type TWithdrawTokenV2Tx = {
  token?: type_pb.TTokenInput,
  to: string,
  rollup: string,
  proposer: string,
  maxFee: string,
  actualFee: string,
  data?: google_protobuf_any_pb.Any,
}

export class ItxStub extends jspb.Message {
  hasDeclare(): boolean;
  clearDeclare(): void;
  getDeclare(): TDeclareTx | undefined;
  setDeclare(value?: TDeclareTx): void;

  hasDelegate(): boolean;
  clearDelegate(): void;
  getDelegate(): TDelegateTx | undefined;
  setDelegate(value?: TDelegateTx): void;

  hasRevokeDelegate(): boolean;
  clearRevokeDelegate(): void;
  getRevokeDelegate(): TRevokeDelegateTx | undefined;
  setRevokeDelegate(value?: TRevokeDelegateTx): void;

  hasAccountMigrate(): boolean;
  clearAccountMigrate(): void;
  getAccountMigrate(): TAccountMigrateTx | undefined;
  setAccountMigrate(value?: TAccountMigrateTx): void;

  hasCreateAsset(): boolean;
  clearCreateAsset(): void;
  getCreateAsset(): TCreateAssetTx | undefined;
  setCreateAsset(value?: TCreateAssetTx): void;

  hasUpdateAsset(): boolean;
  clearUpdateAsset(): void;
  getUpdateAsset(): TUpdateAssetTx | undefined;
  setUpdateAsset(value?: TUpdateAssetTx): void;

  hasConsumeAsset(): boolean;
  clearConsumeAsset(): void;
  getConsumeAsset(): TConsumeAssetTx | undefined;
  setConsumeAsset(value?: TConsumeAssetTx): void;

  hasExchange(): boolean;
  clearExchange(): void;
  getExchange(): TExchangeTx | undefined;
  setExchange(value?: TExchangeTx): void;

  hasExchangeV2(): boolean;
  clearExchangeV2(): void;
  getExchangeV2(): TExchangeV2Tx | undefined;
  setExchangeV2(value?: TExchangeV2Tx): void;

  hasTransfer(): boolean;
  clearTransfer(): void;
  getTransfer(): TTransferTx | undefined;
  setTransfer(value?: TTransferTx): void;

  hasTransferV2(): boolean;
  clearTransferV2(): void;
  getTransferV2(): TTransferV2Tx | undefined;
  setTransferV2(value?: TTransferV2Tx): void;

  hasTransferV3(): boolean;
  clearTransferV3(): void;
  getTransferV3(): TTransferV3Tx | undefined;
  setTransferV3(value?: TTransferV3Tx): void;

  hasCreateToken(): boolean;
  clearCreateToken(): void;
  getCreateToken(): TCreateTokenTx | undefined;
  setCreateToken(value?: TCreateTokenTx): void;

  hasDepositToken(): boolean;
  clearDepositToken(): void;
  getDepositToken(): TDepositTokenV2Tx | undefined;
  setDepositToken(value?: TDepositTokenV2Tx): void;

  hasWithdrawToken(): boolean;
  clearWithdrawToken(): void;
  getWithdrawToken(): TWithdrawTokenV2Tx | undefined;
  setWithdrawToken(value?: TWithdrawTokenV2Tx): void;

  hasCreateFactory(): boolean;
  clearCreateFactory(): void;
  getCreateFactory(): TCreateFactoryTx | undefined;
  setCreateFactory(value?: TCreateFactoryTx): void;

  hasAcquireAssetV2(): boolean;
  clearAcquireAssetV2(): void;
  getAcquireAssetV2(): TAcquireAssetV2Tx | undefined;
  setAcquireAssetV2(value?: TAcquireAssetV2Tx): void;

  hasAcquireAssetV3(): boolean;
  clearAcquireAssetV3(): void;
  getAcquireAssetV3(): TAcquireAssetV3Tx | undefined;
  setAcquireAssetV3(value?: TAcquireAssetV3Tx): void;

  hasMintAsset(): boolean;
  clearMintAsset(): void;
  getMintAsset(): TMintAssetTx | undefined;
  setMintAsset(value?: TMintAssetTx): void;

  hasStake(): boolean;
  clearStake(): void;
  getStake(): TStakeTx | undefined;
  setStake(value?: TStakeTx): void;

  hasRevokeStake(): boolean;
  clearRevokeStake(): void;
  getRevokeStake(): TRevokeStakeTx | undefined;
  setRevokeStake(value?: TRevokeStakeTx): void;

  hasClaimStake(): boolean;
  clearClaimStake(): void;
  getClaimStake(): TClaimStakeTx | undefined;
  setClaimStake(value?: TClaimStakeTx): void;

  hasSlashStake(): boolean;
  clearSlashStake(): void;
  getSlashStake(): TSlashStakeTx | undefined;
  setSlashStake(value?: TSlashStakeTx): void;

  hasReturnStake(): boolean;
  clearReturnStake(): void;
  getReturnStake(): TReturnStakeTx | undefined;
  setReturnStake(value?: TReturnStakeTx): void;

  hasUpgradeNode(): boolean;
  clearUpgradeNode(): void;
  getUpgradeNode(): TUpgradeNodeTx | undefined;
  setUpgradeNode(value?: TUpgradeNodeTx): void;

  hasCreateRollup(): boolean;
  clearCreateRollup(): void;
  getCreateRollup(): TCreateRollupTx | undefined;
  setCreateRollup(value?: TCreateRollupTx): void;

  hasUpdateRollup(): boolean;
  clearUpdateRollup(): void;
  getUpdateRollup(): TUpdateRollupTx | undefined;
  setUpdateRollup(value?: TUpdateRollupTx): void;

  hasJoinRollup(): boolean;
  clearJoinRollup(): void;
  getJoinRollup(): TJoinRollupTx | undefined;
  setJoinRollup(value?: TJoinRollupTx): void;

  hasLeaveRollup(): boolean;
  clearLeaveRollup(): void;
  getLeaveRollup(): TLeaveRollupTx | undefined;
  setLeaveRollup(value?: TLeaveRollupTx): void;

  hasCreateRollupBlock(): boolean;
  clearCreateRollupBlock(): void;
  getCreateRollupBlock(): TCreateRollupBlockTx | undefined;
  setCreateRollupBlock(value?: TCreateRollupBlockTx): void;

  hasClaimBlockReward(): boolean;
  clearClaimBlockReward(): void;
  getClaimBlockReward(): TClaimBlockRewardTx | undefined;
  setClaimBlockReward(value?: TClaimBlockRewardTx): void;

  hasPauseRollup(): boolean;
  clearPauseRollup(): void;
  getPauseRollup(): TPauseRollupTx | undefined;
  setPauseRollup(value?: TPauseRollupTx): void;

  hasResumeRollup(): boolean;
  clearResumeRollup(): void;
  getResumeRollup(): TResumeRollupTx | undefined;
  setResumeRollup(value?: TResumeRollupTx): void;

  hasMigrateRollup(): boolean;
  clearMigrateRollup(): void;
  getMigrateRollup(): TMigrateRollupTx | undefined;
  setMigrateRollup(value?: TMigrateRollupTx): void;

  hasCloseRollup(): boolean;
  clearCloseRollup(): void;
  getCloseRollup(): TCloseRollupTx | undefined;
  setCloseRollup(value?: TCloseRollupTx): void;

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

export type TItxStub = {
  declare?: TDeclareTx,
  delegate?: TDelegateTx,
  revokeDelegate?: TRevokeDelegateTx,
  accountMigrate?: TAccountMigrateTx,
  createAsset?: TCreateAssetTx,
  updateAsset?: TUpdateAssetTx,
  consumeAsset?: TConsumeAssetTx,
  exchange?: TExchangeTx,
  exchangeV2?: TExchangeV2Tx,
  transfer?: TTransferTx,
  transferV2?: TTransferV2Tx,
  transferV3?: TTransferV3Tx,
  createToken?: TCreateTokenTx,
  depositToken?: TDepositTokenV2Tx,
  withdrawToken?: TWithdrawTokenV2Tx,
  createFactory?: TCreateFactoryTx,
  acquireAssetV2?: TAcquireAssetV2Tx,
  acquireAssetV3?: TAcquireAssetV3Tx,
  mintAsset?: TMintAssetTx,
  stake?: TStakeTx,
  revokeStake?: TRevokeStakeTx,
  claimStake?: TClaimStakeTx,
  slashStake?: TSlashStakeTx,
  returnStake?: TReturnStakeTx,
  upgradeNode?: TUpgradeNodeTx,
  createRollup?: TCreateRollupTx,
  updateRollup?: TUpdateRollupTx,
  joinRollup?: TJoinRollupTx,
  leaveRollup?: TLeaveRollupTx,
  createRollupBlock?: TCreateRollupBlockTx,
  claimBlockReward?: TClaimBlockRewardTx,
  pauseRollup?: TPauseRollupTx,
  resumeRollup?: TResumeRollupTx,
  migrateRollup?: TMigrateRollupTx,
  closeRollup?: TCloseRollupTx,
}

  export enum ValueCase {
    VALUE_NOT_SET = 0,
    DECLARE = 1,
    DELEGATE = 2,
    REVOKE_DELEGATE = 3,
    ACCOUNT_MIGRATE = 4,
    CREATE_ASSET = 5,
    UPDATE_ASSET = 6,
    CONSUME_ASSET = 7,
    EXCHANGE = 10,
    EXCHANGE_V2 = 12,
    TRANSFER = 13,
    TRANSFER_V2 = 14,
    TRANSFER_V3 = 15,
    CREATE_TOKEN = 20,
    DEPOSIT_TOKEN = 21,
    WITHDRAW_TOKEN = 22,
    CREATE_FACTORY = 30,
    ACQUIRE_ASSET_V2 = 31,
    ACQUIRE_ASSET_V3 = 32,
    MINT_ASSET = 33,
    STAKE = 40,
    REVOKE_STAKE = 41,
    CLAIM_STAKE = 42,
    SLASH_STAKE = 43,
    RETURN_STAKE = 44,
    UPGRADE_NODE = 49,
    CREATE_ROLLUP = 50,
    UPDATE_ROLLUP = 51,
    JOIN_ROLLUP = 52,
    LEAVE_ROLLUP = 53,
    CREATE_ROLLUP_BLOCK = 54,
    CLAIM_BLOCK_REWARD = 55,
    PAUSE_ROLLUP = 56,
    RESUME_ROLLUP = 57,
    MIGRATE_ROLLUP = 58,
    CLOSE_ROLLUP = 60,
  }

