All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.wavesplatform.events.protobuf.Events Maven / Gradle / Ivy

There is a newer version: 1.5.2
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: waves/events/events.proto

package com.wavesplatform.events.protobuf;

public final class Events {
  private Events() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface BlockchainUpdatedOrBuilder extends
      // @@protoc_insertion_point(interface_extends:waves.events.BlockchainUpdated)
      com.google.protobuf.MessageOrBuilder {

    /**
     * bytes id = 1;
     * @return The id.
     */
    com.google.protobuf.ByteString getId();

    /**
     * int32 height = 2;
     * @return The height.
     */
    int getHeight();

    /**
     * .waves.events.BlockchainUpdated.Append append = 11;
     * @return Whether the append field is set.
     */
    boolean hasAppend();
    /**
     * .waves.events.BlockchainUpdated.Append append = 11;
     * @return The append.
     */
    com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append getAppend();
    /**
     * .waves.events.BlockchainUpdated.Append append = 11;
     */
    com.wavesplatform.events.protobuf.Events.BlockchainUpdated.AppendOrBuilder getAppendOrBuilder();

    /**
     * .waves.events.BlockchainUpdated.Rollback rollback = 12;
     * @return Whether the rollback field is set.
     */
    boolean hasRollback();
    /**
     * .waves.events.BlockchainUpdated.Rollback rollback = 12;
     * @return The rollback.
     */
    com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback getRollback();
    /**
     * .waves.events.BlockchainUpdated.Rollback rollback = 12;
     */
    com.wavesplatform.events.protobuf.Events.BlockchainUpdated.RollbackOrBuilder getRollbackOrBuilder();

    public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.UpdateCase getUpdateCase();
  }
  /**
   * Protobuf type {@code waves.events.BlockchainUpdated}
   */
  public  static final class BlockchainUpdated extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:waves.events.BlockchainUpdated)
      BlockchainUpdatedOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use BlockchainUpdated.newBuilder() to construct.
    private BlockchainUpdated(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private BlockchainUpdated() {
      id_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new BlockchainUpdated();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private BlockchainUpdated(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {

              id_ = input.readBytes();
              break;
            }
            case 16: {

              height_ = input.readInt32();
              break;
            }
            case 90: {
              com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.Builder subBuilder = null;
              if (updateCase_ == 11) {
                subBuilder = ((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_).toBuilder();
              }
              update_ =
                  input.readMessage(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_);
                update_ = subBuilder.buildPartial();
              }
              updateCase_ = 11;
              break;
            }
            case 98: {
              com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.Builder subBuilder = null;
              if (updateCase_ == 12) {
                subBuilder = ((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_).toBuilder();
              }
              update_ =
                  input.readMessage(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_);
                update_ = subBuilder.buildPartial();
              }
              updateCase_ = 12;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.wavesplatform.events.protobuf.Events.BlockchainUpdated.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Builder.class);
    }

    public interface AppendOrBuilder extends
        // @@protoc_insertion_point(interface_extends:waves.events.BlockchainUpdated.Append)
        com.google.protobuf.MessageOrBuilder {

      /**
       * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
       * @return Whether the block field is set.
       */
      boolean hasBlock();
      /**
       * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
       * @return The block.
       */
      com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend getBlock();
      /**
       * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
       */
      com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppendOrBuilder getBlockOrBuilder();

      /**
       * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
       * @return Whether the microBlock field is set.
       */
      boolean hasMicroBlock();
      /**
       * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
       * @return The microBlock.
       */
      com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend getMicroBlock();
      /**
       * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
       */
      com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppendOrBuilder getMicroBlockOrBuilder();

      /**
       * repeated bytes transaction_ids = 3;
       * @return A list containing the transactionIds.
       */
      java.util.List getTransactionIdsList();
      /**
       * repeated bytes transaction_ids = 3;
       * @return The count of transactionIds.
       */
      int getTransactionIdsCount();
      /**
       * repeated bytes transaction_ids = 3;
       * @param index The index of the element to return.
       * @return The transactionIds at the given index.
       */
      com.google.protobuf.ByteString getTransactionIds(int index);

      /**
       * .waves.events.StateUpdate state_update = 11;
       * @return Whether the stateUpdate field is set.
       */
      boolean hasStateUpdate();
      /**
       * .waves.events.StateUpdate state_update = 11;
       * @return The stateUpdate.
       */
      com.wavesplatform.events.protobuf.Events.StateUpdate getStateUpdate();
      /**
       * .waves.events.StateUpdate state_update = 11;
       */
      com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder getStateUpdateOrBuilder();

      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      java.util.List 
          getTransactionStateUpdatesList();
      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      com.wavesplatform.events.protobuf.Events.StateUpdate getTransactionStateUpdates(int index);
      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      int getTransactionStateUpdatesCount();
      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      java.util.List 
          getTransactionStateUpdatesOrBuilderList();
      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder getTransactionStateUpdatesOrBuilder(
          int index);

      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BodyCase getBodyCase();
    }
    /**
     * Protobuf type {@code waves.events.BlockchainUpdated.Append}
     */
    public  static final class Append extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:waves.events.BlockchainUpdated.Append)
        AppendOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Append.newBuilder() to construct.
      private Append(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Append() {
        transactionIds_ = java.util.Collections.emptyList();
        transactionStateUpdates_ = java.util.Collections.emptyList();
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Append();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Append(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.Builder subBuilder = null;
                if (bodyCase_ == 1) {
                  subBuilder = ((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_).toBuilder();
                }
                body_ =
                    input.readMessage(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_);
                  body_ = subBuilder.buildPartial();
                }
                bodyCase_ = 1;
                break;
              }
              case 18: {
                com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.Builder subBuilder = null;
                if (bodyCase_ == 2) {
                  subBuilder = ((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_).toBuilder();
                }
                body_ =
                    input.readMessage(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_);
                  body_ = subBuilder.buildPartial();
                }
                bodyCase_ = 2;
                break;
              }
              case 26: {
                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                  transactionIds_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000001;
                }
                transactionIds_.add(input.readBytes());
                break;
              }
              case 90: {
                com.wavesplatform.events.protobuf.Events.StateUpdate.Builder subBuilder = null;
                if (stateUpdate_ != null) {
                  subBuilder = stateUpdate_.toBuilder();
                }
                stateUpdate_ = input.readMessage(com.wavesplatform.events.protobuf.Events.StateUpdate.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(stateUpdate_);
                  stateUpdate_ = subBuilder.buildPartial();
                }

                break;
              }
              case 98: {
                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                  transactionStateUpdates_ = new java.util.ArrayList();
                  mutable_bitField0_ |= 0x00000002;
                }
                transactionStateUpdates_.add(
                    input.readMessage(com.wavesplatform.events.protobuf.Events.StateUpdate.parser(), extensionRegistry));
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          if (((mutable_bitField0_ & 0x00000001) != 0)) {
            transactionIds_ = java.util.Collections.unmodifiableList(transactionIds_); // C
          }
          if (((mutable_bitField0_ & 0x00000002) != 0)) {
            transactionStateUpdates_ = java.util.Collections.unmodifiableList(transactionStateUpdates_);
          }
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.Builder.class);
      }

      public interface BlockAppendOrBuilder extends
          // @@protoc_insertion_point(interface_extends:waves.events.BlockchainUpdated.Append.BlockAppend)
          com.google.protobuf.MessageOrBuilder {

        /**
         * .waves.Block block = 1;
         * @return Whether the block field is set.
         */
        boolean hasBlock();
        /**
         * .waves.Block block = 1;
         * @return The block.
         */
        com.wavesplatform.protobuf.block.BlockOuterClass.Block getBlock();
        /**
         * .waves.Block block = 1;
         */
        com.wavesplatform.protobuf.block.BlockOuterClass.BlockOrBuilder getBlockOrBuilder();

        /**
         * int64 updated_waves_amount = 2;
         * @return The updatedWavesAmount.
         */
        long getUpdatedWavesAmount();
      }
      /**
       * Protobuf type {@code waves.events.BlockchainUpdated.Append.BlockAppend}
       */
      public  static final class BlockAppend extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:waves.events.BlockchainUpdated.Append.BlockAppend)
          BlockAppendOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use BlockAppend.newBuilder() to construct.
        private BlockAppend(com.google.protobuf.GeneratedMessageV3.Builder builder) {
          super(builder);
        }
        private BlockAppend() {
        }

        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            UnusedPrivateParameter unused) {
          return new BlockAppend();
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return this.unknownFields;
        }
        private BlockAppend(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  com.wavesplatform.protobuf.block.BlockOuterClass.Block.Builder subBuilder = null;
                  if (block_ != null) {
                    subBuilder = block_.toBuilder();
                  }
                  block_ = input.readMessage(com.wavesplatform.protobuf.block.BlockOuterClass.Block.parser(), extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(block_);
                    block_ = subBuilder.buildPartial();
                  }

                  break;
                }
                case 16: {

                  updatedWavesAmount_ = input.readInt64();
                  break;
                }
                default: {
                  if (!parseUnknownField(
                      input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.Builder.class);
        }

        public static final int BLOCK_FIELD_NUMBER = 1;
        private com.wavesplatform.protobuf.block.BlockOuterClass.Block block_;
        /**
         * .waves.Block block = 1;
         * @return Whether the block field is set.
         */
        public boolean hasBlock() {
          return block_ != null;
        }
        /**
         * .waves.Block block = 1;
         * @return The block.
         */
        public com.wavesplatform.protobuf.block.BlockOuterClass.Block getBlock() {
          return block_ == null ? com.wavesplatform.protobuf.block.BlockOuterClass.Block.getDefaultInstance() : block_;
        }
        /**
         * .waves.Block block = 1;
         */
        public com.wavesplatform.protobuf.block.BlockOuterClass.BlockOrBuilder getBlockOrBuilder() {
          return getBlock();
        }

        public static final int UPDATED_WAVES_AMOUNT_FIELD_NUMBER = 2;
        private long updatedWavesAmount_;
        /**
         * int64 updated_waves_amount = 2;
         * @return The updatedWavesAmount.
         */
        public long getUpdatedWavesAmount() {
          return updatedWavesAmount_;
        }

        private byte memoizedIsInitialized = -1;
        @java.lang.Override
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized == 1) return true;
          if (isInitialized == 0) return false;

          memoizedIsInitialized = 1;
          return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (block_ != null) {
            output.writeMessage(1, getBlock());
          }
          if (updatedWavesAmount_ != 0L) {
            output.writeInt64(2, updatedWavesAmount_);
          }
          unknownFields.writeTo(output);
        }

        @java.lang.Override
        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;

          size = 0;
          if (block_ != null) {
            size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(1, getBlock());
          }
          if (updatedWavesAmount_ != 0L) {
            size += com.google.protobuf.CodedOutputStream
              .computeInt64Size(2, updatedWavesAmount_);
          }
          size += unknownFields.getSerializedSize();
          memoizedSize = size;
          return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend)) {
            return super.equals(obj);
          }
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend other = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) obj;

          if (hasBlock() != other.hasBlock()) return false;
          if (hasBlock()) {
            if (!getBlock()
                .equals(other.getBlock())) return false;
          }
          if (getUpdatedWavesAmount()
              != other.getUpdatedWavesAmount()) return false;
          if (!unknownFields.equals(other.unknownFields)) return false;
          return true;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          if (hasBlock()) {
            hash = (37 * hash) + BLOCK_FIELD_NUMBER;
            hash = (53 * hash) + getBlock().hashCode();
          }
          hash = (37 * hash) + UPDATED_WAVES_AMOUNT_FIELD_NUMBER;
          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
              getUpdatedWavesAmount());
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }

        @java.lang.Override
        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        @java.lang.Override
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code waves.events.BlockchainUpdated.Append.BlockAppend}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder implements
            // @@protoc_insertion_point(builder_implements:waves.events.BlockchainUpdated.Append.BlockAppend)
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppendOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_descriptor;
          }

          @java.lang.Override
          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.Builder.class);
          }

          // Construct using com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
            }
          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            if (blockBuilder_ == null) {
              block_ = null;
            } else {
              block_ = null;
              blockBuilder_ = null;
            }
            updatedWavesAmount_ = 0L;

            return this;
          }

          @java.lang.Override
          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_descriptor;
          }

          @java.lang.Override
          public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend getDefaultInstanceForType() {
            return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.getDefaultInstance();
          }

          @java.lang.Override
          public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend build() {
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          @java.lang.Override
          public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend buildPartial() {
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend result = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend(this);
            if (blockBuilder_ == null) {
              result.block_ = block_;
            } else {
              result.block_ = blockBuilder_.build();
            }
            result.updatedWavesAmount_ = updatedWavesAmount_;
            onBuilt();
            return result;
          }

          @java.lang.Override
          public Builder clone() {
            return super.clone();
          }
          @java.lang.Override
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.setField(field, value);
          }
          @java.lang.Override
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return super.clearField(field);
          }
          @java.lang.Override
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return super.clearOneof(oneof);
          }
          @java.lang.Override
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, java.lang.Object value) {
            return super.setRepeatedField(field, index, value);
          }
          @java.lang.Override
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.addRepeatedField(field, value);
          }
          @java.lang.Override
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) {
              return mergeFrom((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend other) {
            if (other == com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.getDefaultInstance()) return this;
            if (other.hasBlock()) {
              mergeBlock(other.getBlock());
            }
            if (other.getUpdatedWavesAmount() != 0L) {
              setUpdatedWavesAmount(other.getUpdatedWavesAmount());
            }
            this.mergeUnknownFields(other.unknownFields);
            onChanged();
            return this;
          }

          @java.lang.Override
          public final boolean isInitialized() {
            return true;
          }

          @java.lang.Override
          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) e.getUnfinishedMessage();
              throw e.unwrapIOException();
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }

          private com.wavesplatform.protobuf.block.BlockOuterClass.Block block_;
          private com.google.protobuf.SingleFieldBuilderV3<
              com.wavesplatform.protobuf.block.BlockOuterClass.Block, com.wavesplatform.protobuf.block.BlockOuterClass.Block.Builder, com.wavesplatform.protobuf.block.BlockOuterClass.BlockOrBuilder> blockBuilder_;
          /**
           * .waves.Block block = 1;
           * @return Whether the block field is set.
           */
          public boolean hasBlock() {
            return blockBuilder_ != null || block_ != null;
          }
          /**
           * .waves.Block block = 1;
           * @return The block.
           */
          public com.wavesplatform.protobuf.block.BlockOuterClass.Block getBlock() {
            if (blockBuilder_ == null) {
              return block_ == null ? com.wavesplatform.protobuf.block.BlockOuterClass.Block.getDefaultInstance() : block_;
            } else {
              return blockBuilder_.getMessage();
            }
          }
          /**
           * .waves.Block block = 1;
           */
          public Builder setBlock(com.wavesplatform.protobuf.block.BlockOuterClass.Block value) {
            if (blockBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              block_ = value;
              onChanged();
            } else {
              blockBuilder_.setMessage(value);
            }

            return this;
          }
          /**
           * .waves.Block block = 1;
           */
          public Builder setBlock(
              com.wavesplatform.protobuf.block.BlockOuterClass.Block.Builder builderForValue) {
            if (blockBuilder_ == null) {
              block_ = builderForValue.build();
              onChanged();
            } else {
              blockBuilder_.setMessage(builderForValue.build());
            }

            return this;
          }
          /**
           * .waves.Block block = 1;
           */
          public Builder mergeBlock(com.wavesplatform.protobuf.block.BlockOuterClass.Block value) {
            if (blockBuilder_ == null) {
              if (block_ != null) {
                block_ =
                  com.wavesplatform.protobuf.block.BlockOuterClass.Block.newBuilder(block_).mergeFrom(value).buildPartial();
              } else {
                block_ = value;
              }
              onChanged();
            } else {
              blockBuilder_.mergeFrom(value);
            }

            return this;
          }
          /**
           * .waves.Block block = 1;
           */
          public Builder clearBlock() {
            if (blockBuilder_ == null) {
              block_ = null;
              onChanged();
            } else {
              block_ = null;
              blockBuilder_ = null;
            }

            return this;
          }
          /**
           * .waves.Block block = 1;
           */
          public com.wavesplatform.protobuf.block.BlockOuterClass.Block.Builder getBlockBuilder() {
            
            onChanged();
            return getBlockFieldBuilder().getBuilder();
          }
          /**
           * .waves.Block block = 1;
           */
          public com.wavesplatform.protobuf.block.BlockOuterClass.BlockOrBuilder getBlockOrBuilder() {
            if (blockBuilder_ != null) {
              return blockBuilder_.getMessageOrBuilder();
            } else {
              return block_ == null ?
                  com.wavesplatform.protobuf.block.BlockOuterClass.Block.getDefaultInstance() : block_;
            }
          }
          /**
           * .waves.Block block = 1;
           */
          private com.google.protobuf.SingleFieldBuilderV3<
              com.wavesplatform.protobuf.block.BlockOuterClass.Block, com.wavesplatform.protobuf.block.BlockOuterClass.Block.Builder, com.wavesplatform.protobuf.block.BlockOuterClass.BlockOrBuilder> 
              getBlockFieldBuilder() {
            if (blockBuilder_ == null) {
              blockBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                  com.wavesplatform.protobuf.block.BlockOuterClass.Block, com.wavesplatform.protobuf.block.BlockOuterClass.Block.Builder, com.wavesplatform.protobuf.block.BlockOuterClass.BlockOrBuilder>(
                      getBlock(),
                      getParentForChildren(),
                      isClean());
              block_ = null;
            }
            return blockBuilder_;
          }

          private long updatedWavesAmount_ ;
          /**
           * int64 updated_waves_amount = 2;
           * @return The updatedWavesAmount.
           */
          public long getUpdatedWavesAmount() {
            return updatedWavesAmount_;
          }
          /**
           * int64 updated_waves_amount = 2;
           * @param value The updatedWavesAmount to set.
           * @return This builder for chaining.
           */
          public Builder setUpdatedWavesAmount(long value) {
            
            updatedWavesAmount_ = value;
            onChanged();
            return this;
          }
          /**
           * int64 updated_waves_amount = 2;
           * @return This builder for chaining.
           */
          public Builder clearUpdatedWavesAmount() {
            
            updatedWavesAmount_ = 0L;
            onChanged();
            return this;
          }
          @java.lang.Override
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }

          @java.lang.Override
          public final Builder mergeUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return super.mergeUnknownFields(unknownFields);
          }


          // @@protoc_insertion_point(builder_scope:waves.events.BlockchainUpdated.Append.BlockAppend)
        }

        // @@protoc_insertion_point(class_scope:waves.events.BlockchainUpdated.Append.BlockAppend)
        private static final com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend();
        }

        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser
            PARSER = new com.google.protobuf.AbstractParser() {
          @java.lang.Override
          public BlockAppend parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return new BlockAppend(input, extensionRegistry);
          }
        };

        public static com.google.protobuf.Parser parser() {
          return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser getParserForType() {
          return PARSER;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      public interface MicroBlockAppendOrBuilder extends
          // @@protoc_insertion_point(interface_extends:waves.events.BlockchainUpdated.Append.MicroBlockAppend)
          com.google.protobuf.MessageOrBuilder {

        /**
         * .waves.SignedMicroBlock micro_block = 1;
         * @return Whether the microBlock field is set.
         */
        boolean hasMicroBlock();
        /**
         * .waves.SignedMicroBlock micro_block = 1;
         * @return The microBlock.
         */
        com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock getMicroBlock();
        /**
         * .waves.SignedMicroBlock micro_block = 1;
         */
        com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlockOrBuilder getMicroBlockOrBuilder();

        /**
         * bytes updated_transactions_root = 2;
         * @return The updatedTransactionsRoot.
         */
        com.google.protobuf.ByteString getUpdatedTransactionsRoot();
      }
      /**
       * Protobuf type {@code waves.events.BlockchainUpdated.Append.MicroBlockAppend}
       */
      public  static final class MicroBlockAppend extends
          com.google.protobuf.GeneratedMessageV3 implements
          // @@protoc_insertion_point(message_implements:waves.events.BlockchainUpdated.Append.MicroBlockAppend)
          MicroBlockAppendOrBuilder {
      private static final long serialVersionUID = 0L;
        // Use MicroBlockAppend.newBuilder() to construct.
        private MicroBlockAppend(com.google.protobuf.GeneratedMessageV3.Builder builder) {
          super(builder);
        }
        private MicroBlockAppend() {
          updatedTransactionsRoot_ = com.google.protobuf.ByteString.EMPTY;
        }

        @java.lang.Override
        @SuppressWarnings({"unused"})
        protected java.lang.Object newInstance(
            UnusedPrivateParameter unused) {
          return new MicroBlockAppend();
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
          return this.unknownFields;
        }
        private MicroBlockAppend(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          this();
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
              com.google.protobuf.UnknownFieldSet.newBuilder();
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.Builder subBuilder = null;
                  if (microBlock_ != null) {
                    subBuilder = microBlock_.toBuilder();
                  }
                  microBlock_ = input.readMessage(com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.parser(), extensionRegistry);
                  if (subBuilder != null) {
                    subBuilder.mergeFrom(microBlock_);
                    microBlock_ = subBuilder.buildPartial();
                  }

                  break;
                }
                case 18: {

                  updatedTransactionsRoot_ = input.readBytes();
                  break;
                }
                default: {
                  if (!parseUnknownField(
                      input, unknownFields, extensionRegistry, tag)) {
                    done = true;
                  }
                  break;
                }
              }
            }
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(this);
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(
                e).setUnfinishedMessage(this);
          } finally {
            this.unknownFields = unknownFields.build();
            makeExtensionsImmutable();
          }
        }
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.Builder.class);
        }

        public static final int MICRO_BLOCK_FIELD_NUMBER = 1;
        private com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock microBlock_;
        /**
         * .waves.SignedMicroBlock micro_block = 1;
         * @return Whether the microBlock field is set.
         */
        public boolean hasMicroBlock() {
          return microBlock_ != null;
        }
        /**
         * .waves.SignedMicroBlock micro_block = 1;
         * @return The microBlock.
         */
        public com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock getMicroBlock() {
          return microBlock_ == null ? com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.getDefaultInstance() : microBlock_;
        }
        /**
         * .waves.SignedMicroBlock micro_block = 1;
         */
        public com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlockOrBuilder getMicroBlockOrBuilder() {
          return getMicroBlock();
        }

        public static final int UPDATED_TRANSACTIONS_ROOT_FIELD_NUMBER = 2;
        private com.google.protobuf.ByteString updatedTransactionsRoot_;
        /**
         * bytes updated_transactions_root = 2;
         * @return The updatedTransactionsRoot.
         */
        public com.google.protobuf.ByteString getUpdatedTransactionsRoot() {
          return updatedTransactionsRoot_;
        }

        private byte memoizedIsInitialized = -1;
        @java.lang.Override
        public final boolean isInitialized() {
          byte isInitialized = memoizedIsInitialized;
          if (isInitialized == 1) return true;
          if (isInitialized == 0) return false;

          memoizedIsInitialized = 1;
          return true;
        }

        @java.lang.Override
        public void writeTo(com.google.protobuf.CodedOutputStream output)
                            throws java.io.IOException {
          if (microBlock_ != null) {
            output.writeMessage(1, getMicroBlock());
          }
          if (!updatedTransactionsRoot_.isEmpty()) {
            output.writeBytes(2, updatedTransactionsRoot_);
          }
          unknownFields.writeTo(output);
        }

        @java.lang.Override
        public int getSerializedSize() {
          int size = memoizedSize;
          if (size != -1) return size;

          size = 0;
          if (microBlock_ != null) {
            size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(1, getMicroBlock());
          }
          if (!updatedTransactionsRoot_.isEmpty()) {
            size += com.google.protobuf.CodedOutputStream
              .computeBytesSize(2, updatedTransactionsRoot_);
          }
          size += unknownFields.getSerializedSize();
          memoizedSize = size;
          return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
          if (obj == this) {
           return true;
          }
          if (!(obj instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend)) {
            return super.equals(obj);
          }
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend other = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) obj;

          if (hasMicroBlock() != other.hasMicroBlock()) return false;
          if (hasMicroBlock()) {
            if (!getMicroBlock()
                .equals(other.getMicroBlock())) return false;
          }
          if (!getUpdatedTransactionsRoot()
              .equals(other.getUpdatedTransactionsRoot())) return false;
          if (!unknownFields.equals(other.unknownFields)) return false;
          return true;
        }

        @java.lang.Override
        public int hashCode() {
          if (memoizedHashCode != 0) {
            return memoizedHashCode;
          }
          int hash = 41;
          hash = (19 * hash) + getDescriptor().hashCode();
          if (hasMicroBlock()) {
            hash = (37 * hash) + MICRO_BLOCK_FIELD_NUMBER;
            hash = (53 * hash) + getMicroBlock().hashCode();
          }
          hash = (37 * hash) + UPDATED_TRANSACTIONS_ROOT_FIELD_NUMBER;
          hash = (53 * hash) + getUpdatedTransactionsRoot().hashCode();
          hash = (29 * hash) + unknownFields.hashCode();
          memoizedHashCode = hash;
          return hash;
        }

        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(
            java.nio.ByteBuffer data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(
            java.nio.ByteBuffer data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(
            com.google.protobuf.ByteString data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(
            com.google.protobuf.ByteString data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(byte[] data)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(
            byte[] data,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return PARSER.parseFrom(data, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseDelimitedFrom(java.io.InputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseDelimitedFrom(
            java.io.InputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(
            com.google.protobuf.CodedInputStream input)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input);
        }
        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parseFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          return com.google.protobuf.GeneratedMessageV3
              .parseWithIOException(PARSER, input, extensionRegistry);
        }

        @java.lang.Override
        public Builder newBuilderForType() { return newBuilder(); }
        public static Builder newBuilder() {
          return DEFAULT_INSTANCE.toBuilder();
        }
        public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend prototype) {
          return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }
        @java.lang.Override
        public Builder toBuilder() {
          return this == DEFAULT_INSTANCE
              ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          Builder builder = new Builder(parent);
          return builder;
        }
        /**
         * Protobuf type {@code waves.events.BlockchainUpdated.Append.MicroBlockAppend}
         */
        public static final class Builder extends
            com.google.protobuf.GeneratedMessageV3.Builder implements
            // @@protoc_insertion_point(builder_implements:waves.events.BlockchainUpdated.Append.MicroBlockAppend)
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppendOrBuilder {
          public static final com.google.protobuf.Descriptors.Descriptor
              getDescriptor() {
            return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_descriptor;
          }

          @java.lang.Override
          protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
              internalGetFieldAccessorTable() {
            return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.Builder.class);
          }

          // Construct using com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.newBuilder()
          private Builder() {
            maybeForceBuilderInitialization();
          }

          private Builder(
              com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            super(parent);
            maybeForceBuilderInitialization();
          }
          private void maybeForceBuilderInitialization() {
            if (com.google.protobuf.GeneratedMessageV3
                    .alwaysUseFieldBuilders) {
            }
          }
          @java.lang.Override
          public Builder clear() {
            super.clear();
            if (microBlockBuilder_ == null) {
              microBlock_ = null;
            } else {
              microBlock_ = null;
              microBlockBuilder_ = null;
            }
            updatedTransactionsRoot_ = com.google.protobuf.ByteString.EMPTY;

            return this;
          }

          @java.lang.Override
          public com.google.protobuf.Descriptors.Descriptor
              getDescriptorForType() {
            return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_descriptor;
          }

          @java.lang.Override
          public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend getDefaultInstanceForType() {
            return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.getDefaultInstance();
          }

          @java.lang.Override
          public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend build() {
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend result = buildPartial();
            if (!result.isInitialized()) {
              throw newUninitializedMessageException(result);
            }
            return result;
          }

          @java.lang.Override
          public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend buildPartial() {
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend result = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend(this);
            if (microBlockBuilder_ == null) {
              result.microBlock_ = microBlock_;
            } else {
              result.microBlock_ = microBlockBuilder_.build();
            }
            result.updatedTransactionsRoot_ = updatedTransactionsRoot_;
            onBuilt();
            return result;
          }

          @java.lang.Override
          public Builder clone() {
            return super.clone();
          }
          @java.lang.Override
          public Builder setField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.setField(field, value);
          }
          @java.lang.Override
          public Builder clearField(
              com.google.protobuf.Descriptors.FieldDescriptor field) {
            return super.clearField(field);
          }
          @java.lang.Override
          public Builder clearOneof(
              com.google.protobuf.Descriptors.OneofDescriptor oneof) {
            return super.clearOneof(oneof);
          }
          @java.lang.Override
          public Builder setRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              int index, java.lang.Object value) {
            return super.setRepeatedField(field, index, value);
          }
          @java.lang.Override
          public Builder addRepeatedField(
              com.google.protobuf.Descriptors.FieldDescriptor field,
              java.lang.Object value) {
            return super.addRepeatedField(field, value);
          }
          @java.lang.Override
          public Builder mergeFrom(com.google.protobuf.Message other) {
            if (other instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) {
              return mergeFrom((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend)other);
            } else {
              super.mergeFrom(other);
              return this;
            }
          }

          public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend other) {
            if (other == com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.getDefaultInstance()) return this;
            if (other.hasMicroBlock()) {
              mergeMicroBlock(other.getMicroBlock());
            }
            if (other.getUpdatedTransactionsRoot() != com.google.protobuf.ByteString.EMPTY) {
              setUpdatedTransactionsRoot(other.getUpdatedTransactionsRoot());
            }
            this.mergeUnknownFields(other.unknownFields);
            onChanged();
            return this;
          }

          @java.lang.Override
          public final boolean isInitialized() {
            return true;
          }

          @java.lang.Override
          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend parsedMessage = null;
            try {
              parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              parsedMessage = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) e.getUnfinishedMessage();
              throw e.unwrapIOException();
            } finally {
              if (parsedMessage != null) {
                mergeFrom(parsedMessage);
              }
            }
            return this;
          }

          private com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock microBlock_;
          private com.google.protobuf.SingleFieldBuilderV3<
              com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock, com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.Builder, com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlockOrBuilder> microBlockBuilder_;
          /**
           * .waves.SignedMicroBlock micro_block = 1;
           * @return Whether the microBlock field is set.
           */
          public boolean hasMicroBlock() {
            return microBlockBuilder_ != null || microBlock_ != null;
          }
          /**
           * .waves.SignedMicroBlock micro_block = 1;
           * @return The microBlock.
           */
          public com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock getMicroBlock() {
            if (microBlockBuilder_ == null) {
              return microBlock_ == null ? com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.getDefaultInstance() : microBlock_;
            } else {
              return microBlockBuilder_.getMessage();
            }
          }
          /**
           * .waves.SignedMicroBlock micro_block = 1;
           */
          public Builder setMicroBlock(com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock value) {
            if (microBlockBuilder_ == null) {
              if (value == null) {
                throw new NullPointerException();
              }
              microBlock_ = value;
              onChanged();
            } else {
              microBlockBuilder_.setMessage(value);
            }

            return this;
          }
          /**
           * .waves.SignedMicroBlock micro_block = 1;
           */
          public Builder setMicroBlock(
              com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.Builder builderForValue) {
            if (microBlockBuilder_ == null) {
              microBlock_ = builderForValue.build();
              onChanged();
            } else {
              microBlockBuilder_.setMessage(builderForValue.build());
            }

            return this;
          }
          /**
           * .waves.SignedMicroBlock micro_block = 1;
           */
          public Builder mergeMicroBlock(com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock value) {
            if (microBlockBuilder_ == null) {
              if (microBlock_ != null) {
                microBlock_ =
                  com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.newBuilder(microBlock_).mergeFrom(value).buildPartial();
              } else {
                microBlock_ = value;
              }
              onChanged();
            } else {
              microBlockBuilder_.mergeFrom(value);
            }

            return this;
          }
          /**
           * .waves.SignedMicroBlock micro_block = 1;
           */
          public Builder clearMicroBlock() {
            if (microBlockBuilder_ == null) {
              microBlock_ = null;
              onChanged();
            } else {
              microBlock_ = null;
              microBlockBuilder_ = null;
            }

            return this;
          }
          /**
           * .waves.SignedMicroBlock micro_block = 1;
           */
          public com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.Builder getMicroBlockBuilder() {
            
            onChanged();
            return getMicroBlockFieldBuilder().getBuilder();
          }
          /**
           * .waves.SignedMicroBlock micro_block = 1;
           */
          public com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlockOrBuilder getMicroBlockOrBuilder() {
            if (microBlockBuilder_ != null) {
              return microBlockBuilder_.getMessageOrBuilder();
            } else {
              return microBlock_ == null ?
                  com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.getDefaultInstance() : microBlock_;
            }
          }
          /**
           * .waves.SignedMicroBlock micro_block = 1;
           */
          private com.google.protobuf.SingleFieldBuilderV3<
              com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock, com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.Builder, com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlockOrBuilder> 
              getMicroBlockFieldBuilder() {
            if (microBlockBuilder_ == null) {
              microBlockBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                  com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock, com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlock.Builder, com.wavesplatform.protobuf.block.BlockOuterClass.SignedMicroBlockOrBuilder>(
                      getMicroBlock(),
                      getParentForChildren(),
                      isClean());
              microBlock_ = null;
            }
            return microBlockBuilder_;
          }

          private com.google.protobuf.ByteString updatedTransactionsRoot_ = com.google.protobuf.ByteString.EMPTY;
          /**
           * bytes updated_transactions_root = 2;
           * @return The updatedTransactionsRoot.
           */
          public com.google.protobuf.ByteString getUpdatedTransactionsRoot() {
            return updatedTransactionsRoot_;
          }
          /**
           * bytes updated_transactions_root = 2;
           * @param value The updatedTransactionsRoot to set.
           * @return This builder for chaining.
           */
          public Builder setUpdatedTransactionsRoot(com.google.protobuf.ByteString value) {
            if (value == null) {
    throw new NullPointerException();
  }
  
            updatedTransactionsRoot_ = value;
            onChanged();
            return this;
          }
          /**
           * bytes updated_transactions_root = 2;
           * @return This builder for chaining.
           */
          public Builder clearUpdatedTransactionsRoot() {
            
            updatedTransactionsRoot_ = getDefaultInstance().getUpdatedTransactionsRoot();
            onChanged();
            return this;
          }
          @java.lang.Override
          public final Builder setUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return super.setUnknownFields(unknownFields);
          }

          @java.lang.Override
          public final Builder mergeUnknownFields(
              final com.google.protobuf.UnknownFieldSet unknownFields) {
            return super.mergeUnknownFields(unknownFields);
          }


          // @@protoc_insertion_point(builder_scope:waves.events.BlockchainUpdated.Append.MicroBlockAppend)
        }

        // @@protoc_insertion_point(class_scope:waves.events.BlockchainUpdated.Append.MicroBlockAppend)
        private static final com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend DEFAULT_INSTANCE;
        static {
          DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend();
        }

        public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend getDefaultInstance() {
          return DEFAULT_INSTANCE;
        }

        private static final com.google.protobuf.Parser
            PARSER = new com.google.protobuf.AbstractParser() {
          @java.lang.Override
          public MicroBlockAppend parsePartialFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws com.google.protobuf.InvalidProtocolBufferException {
            return new MicroBlockAppend(input, extensionRegistry);
          }
        };

        public static com.google.protobuf.Parser parser() {
          return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser getParserForType() {
          return PARSER;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend getDefaultInstanceForType() {
          return DEFAULT_INSTANCE;
        }

      }

      private int bodyCase_ = 0;
      private java.lang.Object body_;
      public enum BodyCase
          implements com.google.protobuf.Internal.EnumLite,
              com.google.protobuf.AbstractMessage.InternalOneOfEnum {
        BLOCK(1),
        MICRO_BLOCK(2),
        BODY_NOT_SET(0);
        private final int value;
        private BodyCase(int value) {
          this.value = value;
        }
        /**
         * @param value The number of the enum to look for.
         * @return The enum associated with the given number.
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static BodyCase valueOf(int value) {
          return forNumber(value);
        }

        public static BodyCase forNumber(int value) {
          switch (value) {
            case 1: return BLOCK;
            case 2: return MICRO_BLOCK;
            case 0: return BODY_NOT_SET;
            default: return null;
          }
        }
        public int getNumber() {
          return this.value;
        }
      };

      public BodyCase
      getBodyCase() {
        return BodyCase.forNumber(
            bodyCase_);
      }

      public static final int BLOCK_FIELD_NUMBER = 1;
      /**
       * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
       * @return Whether the block field is set.
       */
      public boolean hasBlock() {
        return bodyCase_ == 1;
      }
      /**
       * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
       * @return The block.
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend getBlock() {
        if (bodyCase_ == 1) {
           return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_;
        }
        return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.getDefaultInstance();
      }
      /**
       * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppendOrBuilder getBlockOrBuilder() {
        if (bodyCase_ == 1) {
           return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_;
        }
        return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.getDefaultInstance();
      }

      public static final int MICRO_BLOCK_FIELD_NUMBER = 2;
      /**
       * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
       * @return Whether the microBlock field is set.
       */
      public boolean hasMicroBlock() {
        return bodyCase_ == 2;
      }
      /**
       * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
       * @return The microBlock.
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend getMicroBlock() {
        if (bodyCase_ == 2) {
           return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_;
        }
        return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.getDefaultInstance();
      }
      /**
       * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppendOrBuilder getMicroBlockOrBuilder() {
        if (bodyCase_ == 2) {
           return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_;
        }
        return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.getDefaultInstance();
      }

      public static final int TRANSACTION_IDS_FIELD_NUMBER = 3;
      private java.util.List transactionIds_;
      /**
       * repeated bytes transaction_ids = 3;
       * @return A list containing the transactionIds.
       */
      public java.util.List
          getTransactionIdsList() {
        return transactionIds_;
      }
      /**
       * repeated bytes transaction_ids = 3;
       * @return The count of transactionIds.
       */
      public int getTransactionIdsCount() {
        return transactionIds_.size();
      }
      /**
       * repeated bytes transaction_ids = 3;
       * @param index The index of the element to return.
       * @return The transactionIds at the given index.
       */
      public com.google.protobuf.ByteString getTransactionIds(int index) {
        return transactionIds_.get(index);
      }

      public static final int STATE_UPDATE_FIELD_NUMBER = 11;
      private com.wavesplatform.events.protobuf.Events.StateUpdate stateUpdate_;
      /**
       * .waves.events.StateUpdate state_update = 11;
       * @return Whether the stateUpdate field is set.
       */
      public boolean hasStateUpdate() {
        return stateUpdate_ != null;
      }
      /**
       * .waves.events.StateUpdate state_update = 11;
       * @return The stateUpdate.
       */
      public com.wavesplatform.events.protobuf.Events.StateUpdate getStateUpdate() {
        return stateUpdate_ == null ? com.wavesplatform.events.protobuf.Events.StateUpdate.getDefaultInstance() : stateUpdate_;
      }
      /**
       * .waves.events.StateUpdate state_update = 11;
       */
      public com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder getStateUpdateOrBuilder() {
        return getStateUpdate();
      }

      public static final int TRANSACTION_STATE_UPDATES_FIELD_NUMBER = 12;
      private java.util.List transactionStateUpdates_;
      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      public java.util.List getTransactionStateUpdatesList() {
        return transactionStateUpdates_;
      }
      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      public java.util.List 
          getTransactionStateUpdatesOrBuilderList() {
        return transactionStateUpdates_;
      }
      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      public int getTransactionStateUpdatesCount() {
        return transactionStateUpdates_.size();
      }
      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      public com.wavesplatform.events.protobuf.Events.StateUpdate getTransactionStateUpdates(int index) {
        return transactionStateUpdates_.get(index);
      }
      /**
       * repeated .waves.events.StateUpdate transaction_state_updates = 12;
       */
      public com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder getTransactionStateUpdatesOrBuilder(
          int index) {
        return transactionStateUpdates_.get(index);
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (bodyCase_ == 1) {
          output.writeMessage(1, (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_);
        }
        if (bodyCase_ == 2) {
          output.writeMessage(2, (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_);
        }
        for (int i = 0; i < transactionIds_.size(); i++) {
          output.writeBytes(3, transactionIds_.get(i));
        }
        if (stateUpdate_ != null) {
          output.writeMessage(11, getStateUpdate());
        }
        for (int i = 0; i < transactionStateUpdates_.size(); i++) {
          output.writeMessage(12, transactionStateUpdates_.get(i));
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (bodyCase_ == 1) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_);
        }
        if (bodyCase_ == 2) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_);
        }
        {
          int dataSize = 0;
          for (int i = 0; i < transactionIds_.size(); i++) {
            dataSize += com.google.protobuf.CodedOutputStream
              .computeBytesSizeNoTag(transactionIds_.get(i));
          }
          size += dataSize;
          size += 1 * getTransactionIdsList().size();
        }
        if (stateUpdate_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(11, getStateUpdate());
        }
        for (int i = 0; i < transactionStateUpdates_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(12, transactionStateUpdates_.get(i));
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append)) {
          return super.equals(obj);
        }
        com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append other = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) obj;

        if (!getTransactionIdsList()
            .equals(other.getTransactionIdsList())) return false;
        if (hasStateUpdate() != other.hasStateUpdate()) return false;
        if (hasStateUpdate()) {
          if (!getStateUpdate()
              .equals(other.getStateUpdate())) return false;
        }
        if (!getTransactionStateUpdatesList()
            .equals(other.getTransactionStateUpdatesList())) return false;
        if (!getBodyCase().equals(other.getBodyCase())) return false;
        switch (bodyCase_) {
          case 1:
            if (!getBlock()
                .equals(other.getBlock())) return false;
            break;
          case 2:
            if (!getMicroBlock()
                .equals(other.getMicroBlock())) return false;
            break;
          case 0:
          default:
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (getTransactionIdsCount() > 0) {
          hash = (37 * hash) + TRANSACTION_IDS_FIELD_NUMBER;
          hash = (53 * hash) + getTransactionIdsList().hashCode();
        }
        if (hasStateUpdate()) {
          hash = (37 * hash) + STATE_UPDATE_FIELD_NUMBER;
          hash = (53 * hash) + getStateUpdate().hashCode();
        }
        if (getTransactionStateUpdatesCount() > 0) {
          hash = (37 * hash) + TRANSACTION_STATE_UPDATES_FIELD_NUMBER;
          hash = (53 * hash) + getTransactionStateUpdatesList().hashCode();
        }
        switch (bodyCase_) {
          case 1:
            hash = (37 * hash) + BLOCK_FIELD_NUMBER;
            hash = (53 * hash) + getBlock().hashCode();
            break;
          case 2:
            hash = (37 * hash) + MICRO_BLOCK_FIELD_NUMBER;
            hash = (53 * hash) + getMicroBlock().hashCode();
            break;
          case 0:
          default:
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code waves.events.BlockchainUpdated.Append}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:waves.events.BlockchainUpdated.Append)
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.AppendOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.Builder.class);
        }

        // Construct using com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
            getTransactionStateUpdatesFieldBuilder();
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          transactionIds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          if (stateUpdateBuilder_ == null) {
            stateUpdate_ = null;
          } else {
            stateUpdate_ = null;
            stateUpdateBuilder_ = null;
          }
          if (transactionStateUpdatesBuilder_ == null) {
            transactionStateUpdates_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            transactionStateUpdatesBuilder_.clear();
          }
          bodyCase_ = 0;
          body_ = null;
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Append_descriptor;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append getDefaultInstanceForType() {
          return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.getDefaultInstance();
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append build() {
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append buildPartial() {
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append result = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append(this);
          int from_bitField0_ = bitField0_;
          if (bodyCase_ == 1) {
            if (blockBuilder_ == null) {
              result.body_ = body_;
            } else {
              result.body_ = blockBuilder_.build();
            }
          }
          if (bodyCase_ == 2) {
            if (microBlockBuilder_ == null) {
              result.body_ = body_;
            } else {
              result.body_ = microBlockBuilder_.build();
            }
          }
          if (((bitField0_ & 0x00000001) != 0)) {
            transactionIds_ = java.util.Collections.unmodifiableList(transactionIds_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.transactionIds_ = transactionIds_;
          if (stateUpdateBuilder_ == null) {
            result.stateUpdate_ = stateUpdate_;
          } else {
            result.stateUpdate_ = stateUpdateBuilder_.build();
          }
          if (transactionStateUpdatesBuilder_ == null) {
            if (((bitField0_ & 0x00000002) != 0)) {
              transactionStateUpdates_ = java.util.Collections.unmodifiableList(transactionStateUpdates_);
              bitField0_ = (bitField0_ & ~0x00000002);
            }
            result.transactionStateUpdates_ = transactionStateUpdates_;
          } else {
            result.transactionStateUpdates_ = transactionStateUpdatesBuilder_.build();
          }
          result.bodyCase_ = bodyCase_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) {
            return mergeFrom((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append other) {
          if (other == com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.getDefaultInstance()) return this;
          if (!other.transactionIds_.isEmpty()) {
            if (transactionIds_.isEmpty()) {
              transactionIds_ = other.transactionIds_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureTransactionIdsIsMutable();
              transactionIds_.addAll(other.transactionIds_);
            }
            onChanged();
          }
          if (other.hasStateUpdate()) {
            mergeStateUpdate(other.getStateUpdate());
          }
          if (transactionStateUpdatesBuilder_ == null) {
            if (!other.transactionStateUpdates_.isEmpty()) {
              if (transactionStateUpdates_.isEmpty()) {
                transactionStateUpdates_ = other.transactionStateUpdates_;
                bitField0_ = (bitField0_ & ~0x00000002);
              } else {
                ensureTransactionStateUpdatesIsMutable();
                transactionStateUpdates_.addAll(other.transactionStateUpdates_);
              }
              onChanged();
            }
          } else {
            if (!other.transactionStateUpdates_.isEmpty()) {
              if (transactionStateUpdatesBuilder_.isEmpty()) {
                transactionStateUpdatesBuilder_.dispose();
                transactionStateUpdatesBuilder_ = null;
                transactionStateUpdates_ = other.transactionStateUpdates_;
                bitField0_ = (bitField0_ & ~0x00000002);
                transactionStateUpdatesBuilder_ = 
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                     getTransactionStateUpdatesFieldBuilder() : null;
              } else {
                transactionStateUpdatesBuilder_.addAllMessages(other.transactionStateUpdates_);
              }
            }
          }
          switch (other.getBodyCase()) {
            case BLOCK: {
              mergeBlock(other.getBlock());
              break;
            }
            case MICRO_BLOCK: {
              mergeMicroBlock(other.getMicroBlock());
              break;
            }
            case BODY_NOT_SET: {
              break;
            }
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bodyCase_ = 0;
        private java.lang.Object body_;
        public BodyCase
            getBodyCase() {
          return BodyCase.forNumber(
              bodyCase_);
        }

        public Builder clearBody() {
          bodyCase_ = 0;
          body_ = null;
          onChanged();
          return this;
        }

        private int bitField0_;

        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppendOrBuilder> blockBuilder_;
        /**
         * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
         * @return Whether the block field is set.
         */
        public boolean hasBlock() {
          return bodyCase_ == 1;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
         * @return The block.
         */
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend getBlock() {
          if (blockBuilder_ == null) {
            if (bodyCase_ == 1) {
              return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_;
            }
            return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.getDefaultInstance();
          } else {
            if (bodyCase_ == 1) {
              return blockBuilder_.getMessage();
            }
            return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.getDefaultInstance();
          }
        }
        /**
         * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
         */
        public Builder setBlock(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend value) {
          if (blockBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            body_ = value;
            onChanged();
          } else {
            blockBuilder_.setMessage(value);
          }
          bodyCase_ = 1;
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
         */
        public Builder setBlock(
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.Builder builderForValue) {
          if (blockBuilder_ == null) {
            body_ = builderForValue.build();
            onChanged();
          } else {
            blockBuilder_.setMessage(builderForValue.build());
          }
          bodyCase_ = 1;
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
         */
        public Builder mergeBlock(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend value) {
          if (blockBuilder_ == null) {
            if (bodyCase_ == 1 &&
                body_ != com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.getDefaultInstance()) {
              body_ = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.newBuilder((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_)
                  .mergeFrom(value).buildPartial();
            } else {
              body_ = value;
            }
            onChanged();
          } else {
            if (bodyCase_ == 1) {
              blockBuilder_.mergeFrom(value);
            }
            blockBuilder_.setMessage(value);
          }
          bodyCase_ = 1;
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
         */
        public Builder clearBlock() {
          if (blockBuilder_ == null) {
            if (bodyCase_ == 1) {
              bodyCase_ = 0;
              body_ = null;
              onChanged();
            }
          } else {
            if (bodyCase_ == 1) {
              bodyCase_ = 0;
              body_ = null;
            }
            blockBuilder_.clear();
          }
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
         */
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.Builder getBlockBuilder() {
          return getBlockFieldBuilder().getBuilder();
        }
        /**
         * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
         */
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppendOrBuilder getBlockOrBuilder() {
          if ((bodyCase_ == 1) && (blockBuilder_ != null)) {
            return blockBuilder_.getMessageOrBuilder();
          } else {
            if (bodyCase_ == 1) {
              return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_;
            }
            return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.getDefaultInstance();
          }
        }
        /**
         * .waves.events.BlockchainUpdated.Append.BlockAppend block = 1;
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppendOrBuilder> 
            getBlockFieldBuilder() {
          if (blockBuilder_ == null) {
            if (!(bodyCase_ == 1)) {
              body_ = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.getDefaultInstance();
            }
            blockBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppendOrBuilder>(
                    (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.BlockAppend) body_,
                    getParentForChildren(),
                    isClean());
            body_ = null;
          }
          bodyCase_ = 1;
          onChanged();;
          return blockBuilder_;
        }

        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppendOrBuilder> microBlockBuilder_;
        /**
         * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
         * @return Whether the microBlock field is set.
         */
        public boolean hasMicroBlock() {
          return bodyCase_ == 2;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
         * @return The microBlock.
         */
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend getMicroBlock() {
          if (microBlockBuilder_ == null) {
            if (bodyCase_ == 2) {
              return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_;
            }
            return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.getDefaultInstance();
          } else {
            if (bodyCase_ == 2) {
              return microBlockBuilder_.getMessage();
            }
            return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.getDefaultInstance();
          }
        }
        /**
         * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
         */
        public Builder setMicroBlock(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend value) {
          if (microBlockBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            body_ = value;
            onChanged();
          } else {
            microBlockBuilder_.setMessage(value);
          }
          bodyCase_ = 2;
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
         */
        public Builder setMicroBlock(
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.Builder builderForValue) {
          if (microBlockBuilder_ == null) {
            body_ = builderForValue.build();
            onChanged();
          } else {
            microBlockBuilder_.setMessage(builderForValue.build());
          }
          bodyCase_ = 2;
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
         */
        public Builder mergeMicroBlock(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend value) {
          if (microBlockBuilder_ == null) {
            if (bodyCase_ == 2 &&
                body_ != com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.getDefaultInstance()) {
              body_ = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.newBuilder((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_)
                  .mergeFrom(value).buildPartial();
            } else {
              body_ = value;
            }
            onChanged();
          } else {
            if (bodyCase_ == 2) {
              microBlockBuilder_.mergeFrom(value);
            }
            microBlockBuilder_.setMessage(value);
          }
          bodyCase_ = 2;
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
         */
        public Builder clearMicroBlock() {
          if (microBlockBuilder_ == null) {
            if (bodyCase_ == 2) {
              bodyCase_ = 0;
              body_ = null;
              onChanged();
            }
          } else {
            if (bodyCase_ == 2) {
              bodyCase_ = 0;
              body_ = null;
            }
            microBlockBuilder_.clear();
          }
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
         */
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.Builder getMicroBlockBuilder() {
          return getMicroBlockFieldBuilder().getBuilder();
        }
        /**
         * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
         */
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppendOrBuilder getMicroBlockOrBuilder() {
          if ((bodyCase_ == 2) && (microBlockBuilder_ != null)) {
            return microBlockBuilder_.getMessageOrBuilder();
          } else {
            if (bodyCase_ == 2) {
              return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_;
            }
            return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.getDefaultInstance();
          }
        }
        /**
         * .waves.events.BlockchainUpdated.Append.MicroBlockAppend micro_block = 2;
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppendOrBuilder> 
            getMicroBlockFieldBuilder() {
          if (microBlockBuilder_ == null) {
            if (!(bodyCase_ == 2)) {
              body_ = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.getDefaultInstance();
            }
            microBlockBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppendOrBuilder>(
                    (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.MicroBlockAppend) body_,
                    getParentForChildren(),
                    isClean());
            body_ = null;
          }
          bodyCase_ = 2;
          onChanged();;
          return microBlockBuilder_;
        }

        private java.util.List transactionIds_ = java.util.Collections.emptyList();
        private void ensureTransactionIdsIsMutable() {
          if (!((bitField0_ & 0x00000001) != 0)) {
            transactionIds_ = new java.util.ArrayList(transactionIds_);
            bitField0_ |= 0x00000001;
           }
        }
        /**
         * repeated bytes transaction_ids = 3;
         * @return A list containing the transactionIds.
         */
        public java.util.List
            getTransactionIdsList() {
          return ((bitField0_ & 0x00000001) != 0) ?
                   java.util.Collections.unmodifiableList(transactionIds_) : transactionIds_;
        }
        /**
         * repeated bytes transaction_ids = 3;
         * @return The count of transactionIds.
         */
        public int getTransactionIdsCount() {
          return transactionIds_.size();
        }
        /**
         * repeated bytes transaction_ids = 3;
         * @param index The index of the element to return.
         * @return The transactionIds at the given index.
         */
        public com.google.protobuf.ByteString getTransactionIds(int index) {
          return transactionIds_.get(index);
        }
        /**
         * repeated bytes transaction_ids = 3;
         * @param index The index to set the value at.
         * @param value The transactionIds to set.
         * @return This builder for chaining.
         */
        public Builder setTransactionIds(
            int index, com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureTransactionIdsIsMutable();
          transactionIds_.set(index, value);
          onChanged();
          return this;
        }
        /**
         * repeated bytes transaction_ids = 3;
         * @param value The transactionIds to add.
         * @return This builder for chaining.
         */
        public Builder addTransactionIds(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  ensureTransactionIdsIsMutable();
          transactionIds_.add(value);
          onChanged();
          return this;
        }
        /**
         * repeated bytes transaction_ids = 3;
         * @param values The transactionIds to add.
         * @return This builder for chaining.
         */
        public Builder addAllTransactionIds(
            java.lang.Iterable values) {
          ensureTransactionIdsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, transactionIds_);
          onChanged();
          return this;
        }
        /**
         * repeated bytes transaction_ids = 3;
         * @return This builder for chaining.
         */
        public Builder clearTransactionIds() {
          transactionIds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }

        private com.wavesplatform.events.protobuf.Events.StateUpdate stateUpdate_;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.events.protobuf.Events.StateUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder> stateUpdateBuilder_;
        /**
         * .waves.events.StateUpdate state_update = 11;
         * @return Whether the stateUpdate field is set.
         */
        public boolean hasStateUpdate() {
          return stateUpdateBuilder_ != null || stateUpdate_ != null;
        }
        /**
         * .waves.events.StateUpdate state_update = 11;
         * @return The stateUpdate.
         */
        public com.wavesplatform.events.protobuf.Events.StateUpdate getStateUpdate() {
          if (stateUpdateBuilder_ == null) {
            return stateUpdate_ == null ? com.wavesplatform.events.protobuf.Events.StateUpdate.getDefaultInstance() : stateUpdate_;
          } else {
            return stateUpdateBuilder_.getMessage();
          }
        }
        /**
         * .waves.events.StateUpdate state_update = 11;
         */
        public Builder setStateUpdate(com.wavesplatform.events.protobuf.Events.StateUpdate value) {
          if (stateUpdateBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            stateUpdate_ = value;
            onChanged();
          } else {
            stateUpdateBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * .waves.events.StateUpdate state_update = 11;
         */
        public Builder setStateUpdate(
            com.wavesplatform.events.protobuf.Events.StateUpdate.Builder builderForValue) {
          if (stateUpdateBuilder_ == null) {
            stateUpdate_ = builderForValue.build();
            onChanged();
          } else {
            stateUpdateBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * .waves.events.StateUpdate state_update = 11;
         */
        public Builder mergeStateUpdate(com.wavesplatform.events.protobuf.Events.StateUpdate value) {
          if (stateUpdateBuilder_ == null) {
            if (stateUpdate_ != null) {
              stateUpdate_ =
                com.wavesplatform.events.protobuf.Events.StateUpdate.newBuilder(stateUpdate_).mergeFrom(value).buildPartial();
            } else {
              stateUpdate_ = value;
            }
            onChanged();
          } else {
            stateUpdateBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * .waves.events.StateUpdate state_update = 11;
         */
        public Builder clearStateUpdate() {
          if (stateUpdateBuilder_ == null) {
            stateUpdate_ = null;
            onChanged();
          } else {
            stateUpdate_ = null;
            stateUpdateBuilder_ = null;
          }

          return this;
        }
        /**
         * .waves.events.StateUpdate state_update = 11;
         */
        public com.wavesplatform.events.protobuf.Events.StateUpdate.Builder getStateUpdateBuilder() {
          
          onChanged();
          return getStateUpdateFieldBuilder().getBuilder();
        }
        /**
         * .waves.events.StateUpdate state_update = 11;
         */
        public com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder getStateUpdateOrBuilder() {
          if (stateUpdateBuilder_ != null) {
            return stateUpdateBuilder_.getMessageOrBuilder();
          } else {
            return stateUpdate_ == null ?
                com.wavesplatform.events.protobuf.Events.StateUpdate.getDefaultInstance() : stateUpdate_;
          }
        }
        /**
         * .waves.events.StateUpdate state_update = 11;
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.events.protobuf.Events.StateUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder> 
            getStateUpdateFieldBuilder() {
          if (stateUpdateBuilder_ == null) {
            stateUpdateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.wavesplatform.events.protobuf.Events.StateUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder>(
                    getStateUpdate(),
                    getParentForChildren(),
                    isClean());
            stateUpdate_ = null;
          }
          return stateUpdateBuilder_;
        }

        private java.util.List transactionStateUpdates_ =
          java.util.Collections.emptyList();
        private void ensureTransactionStateUpdatesIsMutable() {
          if (!((bitField0_ & 0x00000002) != 0)) {
            transactionStateUpdates_ = new java.util.ArrayList(transactionStateUpdates_);
            bitField0_ |= 0x00000002;
           }
        }

        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.wavesplatform.events.protobuf.Events.StateUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder> transactionStateUpdatesBuilder_;

        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public java.util.List getTransactionStateUpdatesList() {
          if (transactionStateUpdatesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(transactionStateUpdates_);
          } else {
            return transactionStateUpdatesBuilder_.getMessageList();
          }
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public int getTransactionStateUpdatesCount() {
          if (transactionStateUpdatesBuilder_ == null) {
            return transactionStateUpdates_.size();
          } else {
            return transactionStateUpdatesBuilder_.getCount();
          }
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public com.wavesplatform.events.protobuf.Events.StateUpdate getTransactionStateUpdates(int index) {
          if (transactionStateUpdatesBuilder_ == null) {
            return transactionStateUpdates_.get(index);
          } else {
            return transactionStateUpdatesBuilder_.getMessage(index);
          }
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public Builder setTransactionStateUpdates(
            int index, com.wavesplatform.events.protobuf.Events.StateUpdate value) {
          if (transactionStateUpdatesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTransactionStateUpdatesIsMutable();
            transactionStateUpdates_.set(index, value);
            onChanged();
          } else {
            transactionStateUpdatesBuilder_.setMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public Builder setTransactionStateUpdates(
            int index, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder builderForValue) {
          if (transactionStateUpdatesBuilder_ == null) {
            ensureTransactionStateUpdatesIsMutable();
            transactionStateUpdates_.set(index, builderForValue.build());
            onChanged();
          } else {
            transactionStateUpdatesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public Builder addTransactionStateUpdates(com.wavesplatform.events.protobuf.Events.StateUpdate value) {
          if (transactionStateUpdatesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTransactionStateUpdatesIsMutable();
            transactionStateUpdates_.add(value);
            onChanged();
          } else {
            transactionStateUpdatesBuilder_.addMessage(value);
          }
          return this;
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public Builder addTransactionStateUpdates(
            int index, com.wavesplatform.events.protobuf.Events.StateUpdate value) {
          if (transactionStateUpdatesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureTransactionStateUpdatesIsMutable();
            transactionStateUpdates_.add(index, value);
            onChanged();
          } else {
            transactionStateUpdatesBuilder_.addMessage(index, value);
          }
          return this;
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public Builder addTransactionStateUpdates(
            com.wavesplatform.events.protobuf.Events.StateUpdate.Builder builderForValue) {
          if (transactionStateUpdatesBuilder_ == null) {
            ensureTransactionStateUpdatesIsMutable();
            transactionStateUpdates_.add(builderForValue.build());
            onChanged();
          } else {
            transactionStateUpdatesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public Builder addTransactionStateUpdates(
            int index, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder builderForValue) {
          if (transactionStateUpdatesBuilder_ == null) {
            ensureTransactionStateUpdatesIsMutable();
            transactionStateUpdates_.add(index, builderForValue.build());
            onChanged();
          } else {
            transactionStateUpdatesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public Builder addAllTransactionStateUpdates(
            java.lang.Iterable values) {
          if (transactionStateUpdatesBuilder_ == null) {
            ensureTransactionStateUpdatesIsMutable();
            com.google.protobuf.AbstractMessageLite.Builder.addAll(
                values, transactionStateUpdates_);
            onChanged();
          } else {
            transactionStateUpdatesBuilder_.addAllMessages(values);
          }
          return this;
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public Builder clearTransactionStateUpdates() {
          if (transactionStateUpdatesBuilder_ == null) {
            transactionStateUpdates_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000002);
            onChanged();
          } else {
            transactionStateUpdatesBuilder_.clear();
          }
          return this;
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public Builder removeTransactionStateUpdates(int index) {
          if (transactionStateUpdatesBuilder_ == null) {
            ensureTransactionStateUpdatesIsMutable();
            transactionStateUpdates_.remove(index);
            onChanged();
          } else {
            transactionStateUpdatesBuilder_.remove(index);
          }
          return this;
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public com.wavesplatform.events.protobuf.Events.StateUpdate.Builder getTransactionStateUpdatesBuilder(
            int index) {
          return getTransactionStateUpdatesFieldBuilder().getBuilder(index);
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder getTransactionStateUpdatesOrBuilder(
            int index) {
          if (transactionStateUpdatesBuilder_ == null) {
            return transactionStateUpdates_.get(index);  } else {
            return transactionStateUpdatesBuilder_.getMessageOrBuilder(index);
          }
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public java.util.List 
             getTransactionStateUpdatesOrBuilderList() {
          if (transactionStateUpdatesBuilder_ != null) {
            return transactionStateUpdatesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(transactionStateUpdates_);
          }
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public com.wavesplatform.events.protobuf.Events.StateUpdate.Builder addTransactionStateUpdatesBuilder() {
          return getTransactionStateUpdatesFieldBuilder().addBuilder(
              com.wavesplatform.events.protobuf.Events.StateUpdate.getDefaultInstance());
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public com.wavesplatform.events.protobuf.Events.StateUpdate.Builder addTransactionStateUpdatesBuilder(
            int index) {
          return getTransactionStateUpdatesFieldBuilder().addBuilder(
              index, com.wavesplatform.events.protobuf.Events.StateUpdate.getDefaultInstance());
        }
        /**
         * repeated .waves.events.StateUpdate transaction_state_updates = 12;
         */
        public java.util.List 
             getTransactionStateUpdatesBuilderList() {
          return getTransactionStateUpdatesFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilderV3<
            com.wavesplatform.events.protobuf.Events.StateUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder> 
            getTransactionStateUpdatesFieldBuilder() {
          if (transactionStateUpdatesBuilder_ == null) {
            transactionStateUpdatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
                com.wavesplatform.events.protobuf.Events.StateUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder>(
                    transactionStateUpdates_,
                    ((bitField0_ & 0x00000002) != 0),
                    getParentForChildren(),
                    isClean());
            transactionStateUpdates_ = null;
          }
          return transactionStateUpdatesBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:waves.events.BlockchainUpdated.Append)
      }

      // @@protoc_insertion_point(class_scope:waves.events.BlockchainUpdated.Append)
      private static final com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append();
      }

      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Append parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Append(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface RollbackOrBuilder extends
        // @@protoc_insertion_point(interface_extends:waves.events.BlockchainUpdated.Rollback)
        com.google.protobuf.MessageOrBuilder {

      /**
       * .waves.events.BlockchainUpdated.Rollback.RollbackType type = 1;
       * @return The enum numeric value on the wire for type.
       */
      int getTypeValue();
      /**
       * .waves.events.BlockchainUpdated.Rollback.RollbackType type = 1;
       * @return The type.
       */
      com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType getType();
    }
    /**
     * Protobuf type {@code waves.events.BlockchainUpdated.Rollback}
     */
    public  static final class Rollback extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:waves.events.BlockchainUpdated.Rollback)
        RollbackOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Rollback.newBuilder() to construct.
      private Rollback(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private Rollback() {
        type_ = 0;
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Rollback();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private Rollback(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 8: {
                int rawValue = input.readEnum();

                type_ = rawValue;
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Rollback_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Rollback_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.Builder.class);
      }

      /**
       * Protobuf enum {@code waves.events.BlockchainUpdated.Rollback.RollbackType}
       */
      public enum RollbackType
          implements com.google.protobuf.ProtocolMessageEnum {
        /**
         * BLOCK = 0;
         */
        BLOCK(0),
        /**
         * MICROBLOCK = 1;
         */
        MICROBLOCK(1),
        UNRECOGNIZED(-1),
        ;

        /**
         * BLOCK = 0;
         */
        public static final int BLOCK_VALUE = 0;
        /**
         * MICROBLOCK = 1;
         */
        public static final int MICROBLOCK_VALUE = 1;


        public final int getNumber() {
          if (this == UNRECOGNIZED) {
            throw new java.lang.IllegalArgumentException(
                "Can't get the number of an unknown enum value.");
          }
          return value;
        }

        /**
         * @param value The numeric wire value of the corresponding enum entry.
         * @return The enum associated with the given numeric wire value.
         * @deprecated Use {@link #forNumber(int)} instead.
         */
        @java.lang.Deprecated
        public static RollbackType valueOf(int value) {
          return forNumber(value);
        }

        /**
         * @param value The numeric wire value of the corresponding enum entry.
         * @return The enum associated with the given numeric wire value.
         */
        public static RollbackType forNumber(int value) {
          switch (value) {
            case 0: return BLOCK;
            case 1: return MICROBLOCK;
            default: return null;
          }
        }

        public static com.google.protobuf.Internal.EnumLiteMap
            internalGetValueMap() {
          return internalValueMap;
        }
        private static final com.google.protobuf.Internal.EnumLiteMap<
            RollbackType> internalValueMap =
              new com.google.protobuf.Internal.EnumLiteMap() {
                public RollbackType findValueByNumber(int number) {
                  return RollbackType.forNumber(number);
                }
              };

        public final com.google.protobuf.Descriptors.EnumValueDescriptor
            getValueDescriptor() {
          return getDescriptor().getValues().get(ordinal());
        }
        public final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }
        public static final com.google.protobuf.Descriptors.EnumDescriptor
            getDescriptor() {
          return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDescriptor().getEnumTypes().get(0);
        }

        private static final RollbackType[] VALUES = values();

        public static RollbackType valueOf(
            com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
          if (desc.getType() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "EnumValueDescriptor is not for this type.");
          }
          if (desc.getIndex() == -1) {
            return UNRECOGNIZED;
          }
          return VALUES[desc.getIndex()];
        }

        private final int value;

        private RollbackType(int value) {
          this.value = value;
        }

        // @@protoc_insertion_point(enum_scope:waves.events.BlockchainUpdated.Rollback.RollbackType)
      }

      public static final int TYPE_FIELD_NUMBER = 1;
      private int type_;
      /**
       * .waves.events.BlockchainUpdated.Rollback.RollbackType type = 1;
       * @return The enum numeric value on the wire for type.
       */
      public int getTypeValue() {
        return type_;
      }
      /**
       * .waves.events.BlockchainUpdated.Rollback.RollbackType type = 1;
       * @return The type.
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType getType() {
        @SuppressWarnings("deprecation")
        com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType result = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType.valueOf(type_);
        return result == null ? com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType.UNRECOGNIZED : result;
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (type_ != com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType.BLOCK.getNumber()) {
          output.writeEnum(1, type_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (type_ != com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType.BLOCK.getNumber()) {
          size += com.google.protobuf.CodedOutputStream
            .computeEnumSize(1, type_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback)) {
          return super.equals(obj);
        }
        com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback other = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) obj;

        if (type_ != other.type_) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + TYPE_FIELD_NUMBER;
        hash = (53 * hash) + type_;
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code waves.events.BlockchainUpdated.Rollback}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:waves.events.BlockchainUpdated.Rollback)
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.RollbackOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Rollback_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Rollback_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.Builder.class);
        }

        // Construct using com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          type_ = 0;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_Rollback_descriptor;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback getDefaultInstanceForType() {
          return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDefaultInstance();
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback build() {
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback buildPartial() {
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback result = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback(this);
          result.type_ = type_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) {
            return mergeFrom((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback other) {
          if (other == com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDefaultInstance()) return this;
          if (other.type_ != 0) {
            setTypeValue(other.getTypeValue());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private int type_ = 0;
        /**
         * .waves.events.BlockchainUpdated.Rollback.RollbackType type = 1;
         * @return The enum numeric value on the wire for type.
         */
        public int getTypeValue() {
          return type_;
        }
        /**
         * .waves.events.BlockchainUpdated.Rollback.RollbackType type = 1;
         * @param value The enum numeric value on the wire for type to set.
         * @return This builder for chaining.
         */
        public Builder setTypeValue(int value) {
          type_ = value;
          onChanged();
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Rollback.RollbackType type = 1;
         * @return The type.
         */
        public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType getType() {
          @SuppressWarnings("deprecation")
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType result = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType.valueOf(type_);
          return result == null ? com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType.UNRECOGNIZED : result;
        }
        /**
         * .waves.events.BlockchainUpdated.Rollback.RollbackType type = 1;
         * @param value The type to set.
         * @return This builder for chaining.
         */
        public Builder setType(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.RollbackType value) {
          if (value == null) {
            throw new NullPointerException();
          }
          
          type_ = value.getNumber();
          onChanged();
          return this;
        }
        /**
         * .waves.events.BlockchainUpdated.Rollback.RollbackType type = 1;
         * @return This builder for chaining.
         */
        public Builder clearType() {
          
          type_ = 0;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:waves.events.BlockchainUpdated.Rollback)
      }

      // @@protoc_insertion_point(class_scope:waves.events.BlockchainUpdated.Rollback)
      private static final com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback();
      }

      public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public Rollback parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Rollback(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int updateCase_ = 0;
    private java.lang.Object update_;
    public enum UpdateCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      APPEND(11),
      ROLLBACK(12),
      UPDATE_NOT_SET(0);
      private final int value;
      private UpdateCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static UpdateCase valueOf(int value) {
        return forNumber(value);
      }

      public static UpdateCase forNumber(int value) {
        switch (value) {
          case 11: return APPEND;
          case 12: return ROLLBACK;
          case 0: return UPDATE_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public UpdateCase
    getUpdateCase() {
      return UpdateCase.forNumber(
          updateCase_);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString id_;
    /**
     * bytes id = 1;
     * @return The id.
     */
    public com.google.protobuf.ByteString getId() {
      return id_;
    }

    public static final int HEIGHT_FIELD_NUMBER = 2;
    private int height_;
    /**
     * int32 height = 2;
     * @return The height.
     */
    public int getHeight() {
      return height_;
    }

    public static final int APPEND_FIELD_NUMBER = 11;
    /**
     * .waves.events.BlockchainUpdated.Append append = 11;
     * @return Whether the append field is set.
     */
    public boolean hasAppend() {
      return updateCase_ == 11;
    }
    /**
     * .waves.events.BlockchainUpdated.Append append = 11;
     * @return The append.
     */
    public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append getAppend() {
      if (updateCase_ == 11) {
         return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_;
      }
      return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.getDefaultInstance();
    }
    /**
     * .waves.events.BlockchainUpdated.Append append = 11;
     */
    public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.AppendOrBuilder getAppendOrBuilder() {
      if (updateCase_ == 11) {
         return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_;
      }
      return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.getDefaultInstance();
    }

    public static final int ROLLBACK_FIELD_NUMBER = 12;
    /**
     * .waves.events.BlockchainUpdated.Rollback rollback = 12;
     * @return Whether the rollback field is set.
     */
    public boolean hasRollback() {
      return updateCase_ == 12;
    }
    /**
     * .waves.events.BlockchainUpdated.Rollback rollback = 12;
     * @return The rollback.
     */
    public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback getRollback() {
      if (updateCase_ == 12) {
         return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_;
      }
      return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDefaultInstance();
    }
    /**
     * .waves.events.BlockchainUpdated.Rollback rollback = 12;
     */
    public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.RollbackOrBuilder getRollbackOrBuilder() {
      if (updateCase_ == 12) {
         return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_;
      }
      return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDefaultInstance();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!id_.isEmpty()) {
        output.writeBytes(1, id_);
      }
      if (height_ != 0) {
        output.writeInt32(2, height_);
      }
      if (updateCase_ == 11) {
        output.writeMessage(11, (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_);
      }
      if (updateCase_ == 12) {
        output.writeMessage(12, (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!id_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, id_);
      }
      if (height_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, height_);
      }
      if (updateCase_ == 11) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(11, (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_);
      }
      if (updateCase_ == 12) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(12, (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated)) {
        return super.equals(obj);
      }
      com.wavesplatform.events.protobuf.Events.BlockchainUpdated other = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated) obj;

      if (!getId()
          .equals(other.getId())) return false;
      if (getHeight()
          != other.getHeight()) return false;
      if (!getUpdateCase().equals(other.getUpdateCase())) return false;
      switch (updateCase_) {
        case 11:
          if (!getAppend()
              .equals(other.getAppend())) return false;
          break;
        case 12:
          if (!getRollback()
              .equals(other.getRollback())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId().hashCode();
      hash = (37 * hash) + HEIGHT_FIELD_NUMBER;
      hash = (53 * hash) + getHeight();
      switch (updateCase_) {
        case 11:
          hash = (37 * hash) + APPEND_FIELD_NUMBER;
          hash = (53 * hash) + getAppend().hashCode();
          break;
        case 12:
          hash = (37 * hash) + ROLLBACK_FIELD_NUMBER;
          hash = (53 * hash) + getRollback().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.BlockchainUpdated prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code waves.events.BlockchainUpdated}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder implements
        // @@protoc_insertion_point(builder_implements:waves.events.BlockchainUpdated)
        com.wavesplatform.events.protobuf.Events.BlockchainUpdatedOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.wavesplatform.events.protobuf.Events.BlockchainUpdated.class, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Builder.class);
      }

      // Construct using com.wavesplatform.events.protobuf.Events.BlockchainUpdated.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = com.google.protobuf.ByteString.EMPTY;

        height_ = 0;

        updateCase_ = 0;
        update_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_BlockchainUpdated_descriptor;
      }

      @java.lang.Override
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated getDefaultInstanceForType() {
        return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.getDefaultInstance();
      }

      @java.lang.Override
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated build() {
        com.wavesplatform.events.protobuf.Events.BlockchainUpdated result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated buildPartial() {
        com.wavesplatform.events.protobuf.Events.BlockchainUpdated result = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated(this);
        result.id_ = id_;
        result.height_ = height_;
        if (updateCase_ == 11) {
          if (appendBuilder_ == null) {
            result.update_ = update_;
          } else {
            result.update_ = appendBuilder_.build();
          }
        }
        if (updateCase_ == 12) {
          if (rollbackBuilder_ == null) {
            result.update_ = update_;
          } else {
            result.update_ = rollbackBuilder_.build();
          }
        }
        result.updateCase_ = updateCase_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.wavesplatform.events.protobuf.Events.BlockchainUpdated) {
          return mergeFrom((com.wavesplatform.events.protobuf.Events.BlockchainUpdated)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.BlockchainUpdated other) {
        if (other == com.wavesplatform.events.protobuf.Events.BlockchainUpdated.getDefaultInstance()) return this;
        if (other.getId() != com.google.protobuf.ByteString.EMPTY) {
          setId(other.getId());
        }
        if (other.getHeight() != 0) {
          setHeight(other.getHeight());
        }
        switch (other.getUpdateCase()) {
          case APPEND: {
            mergeAppend(other.getAppend());
            break;
          }
          case ROLLBACK: {
            mergeRollback(other.getRollback());
            break;
          }
          case UPDATE_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.wavesplatform.events.protobuf.Events.BlockchainUpdated parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.wavesplatform.events.protobuf.Events.BlockchainUpdated) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int updateCase_ = 0;
      private java.lang.Object update_;
      public UpdateCase
          getUpdateCase() {
        return UpdateCase.forNumber(
            updateCase_);
      }

      public Builder clearUpdate() {
        updateCase_ = 0;
        update_ = null;
        onChanged();
        return this;
      }


      private com.google.protobuf.ByteString id_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * bytes id = 1;
       * @return The id.
       */
      public com.google.protobuf.ByteString getId() {
        return id_;
      }
      /**
       * bytes id = 1;
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * bytes id = 1;
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }

      private int height_ ;
      /**
       * int32 height = 2;
       * @return The height.
       */
      public int getHeight() {
        return height_;
      }
      /**
       * int32 height = 2;
       * @param value The height to set.
       * @return This builder for chaining.
       */
      public Builder setHeight(int value) {
        
        height_ = value;
        onChanged();
        return this;
      }
      /**
       * int32 height = 2;
       * @return This builder for chaining.
       */
      public Builder clearHeight() {
        
        height_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.AppendOrBuilder> appendBuilder_;
      /**
       * .waves.events.BlockchainUpdated.Append append = 11;
       * @return Whether the append field is set.
       */
      public boolean hasAppend() {
        return updateCase_ == 11;
      }
      /**
       * .waves.events.BlockchainUpdated.Append append = 11;
       * @return The append.
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append getAppend() {
        if (appendBuilder_ == null) {
          if (updateCase_ == 11) {
            return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_;
          }
          return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.getDefaultInstance();
        } else {
          if (updateCase_ == 11) {
            return appendBuilder_.getMessage();
          }
          return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.getDefaultInstance();
        }
      }
      /**
       * .waves.events.BlockchainUpdated.Append append = 11;
       */
      public Builder setAppend(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append value) {
        if (appendBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          update_ = value;
          onChanged();
        } else {
          appendBuilder_.setMessage(value);
        }
        updateCase_ = 11;
        return this;
      }
      /**
       * .waves.events.BlockchainUpdated.Append append = 11;
       */
      public Builder setAppend(
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.Builder builderForValue) {
        if (appendBuilder_ == null) {
          update_ = builderForValue.build();
          onChanged();
        } else {
          appendBuilder_.setMessage(builderForValue.build());
        }
        updateCase_ = 11;
        return this;
      }
      /**
       * .waves.events.BlockchainUpdated.Append append = 11;
       */
      public Builder mergeAppend(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append value) {
        if (appendBuilder_ == null) {
          if (updateCase_ == 11 &&
              update_ != com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.getDefaultInstance()) {
            update_ = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.newBuilder((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_)
                .mergeFrom(value).buildPartial();
          } else {
            update_ = value;
          }
          onChanged();
        } else {
          if (updateCase_ == 11) {
            appendBuilder_.mergeFrom(value);
          }
          appendBuilder_.setMessage(value);
        }
        updateCase_ = 11;
        return this;
      }
      /**
       * .waves.events.BlockchainUpdated.Append append = 11;
       */
      public Builder clearAppend() {
        if (appendBuilder_ == null) {
          if (updateCase_ == 11) {
            updateCase_ = 0;
            update_ = null;
            onChanged();
          }
        } else {
          if (updateCase_ == 11) {
            updateCase_ = 0;
            update_ = null;
          }
          appendBuilder_.clear();
        }
        return this;
      }
      /**
       * .waves.events.BlockchainUpdated.Append append = 11;
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.Builder getAppendBuilder() {
        return getAppendFieldBuilder().getBuilder();
      }
      /**
       * .waves.events.BlockchainUpdated.Append append = 11;
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.AppendOrBuilder getAppendOrBuilder() {
        if ((updateCase_ == 11) && (appendBuilder_ != null)) {
          return appendBuilder_.getMessageOrBuilder();
        } else {
          if (updateCase_ == 11) {
            return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_;
          }
          return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.getDefaultInstance();
        }
      }
      /**
       * .waves.events.BlockchainUpdated.Append append = 11;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.AppendOrBuilder> 
          getAppendFieldBuilder() {
        if (appendBuilder_ == null) {
          if (!(updateCase_ == 11)) {
            update_ = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.getDefaultInstance();
          }
          appendBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.AppendOrBuilder>(
                  (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Append) update_,
                  getParentForChildren(),
                  isClean());
          update_ = null;
        }
        updateCase_ = 11;
        onChanged();;
        return appendBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.RollbackOrBuilder> rollbackBuilder_;
      /**
       * .waves.events.BlockchainUpdated.Rollback rollback = 12;
       * @return Whether the rollback field is set.
       */
      public boolean hasRollback() {
        return updateCase_ == 12;
      }
      /**
       * .waves.events.BlockchainUpdated.Rollback rollback = 12;
       * @return The rollback.
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback getRollback() {
        if (rollbackBuilder_ == null) {
          if (updateCase_ == 12) {
            return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_;
          }
          return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDefaultInstance();
        } else {
          if (updateCase_ == 12) {
            return rollbackBuilder_.getMessage();
          }
          return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDefaultInstance();
        }
      }
      /**
       * .waves.events.BlockchainUpdated.Rollback rollback = 12;
       */
      public Builder setRollback(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback value) {
        if (rollbackBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          update_ = value;
          onChanged();
        } else {
          rollbackBuilder_.setMessage(value);
        }
        updateCase_ = 12;
        return this;
      }
      /**
       * .waves.events.BlockchainUpdated.Rollback rollback = 12;
       */
      public Builder setRollback(
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.Builder builderForValue) {
        if (rollbackBuilder_ == null) {
          update_ = builderForValue.build();
          onChanged();
        } else {
          rollbackBuilder_.setMessage(builderForValue.build());
        }
        updateCase_ = 12;
        return this;
      }
      /**
       * .waves.events.BlockchainUpdated.Rollback rollback = 12;
       */
      public Builder mergeRollback(com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback value) {
        if (rollbackBuilder_ == null) {
          if (updateCase_ == 12 &&
              update_ != com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDefaultInstance()) {
            update_ = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.newBuilder((com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_)
                .mergeFrom(value).buildPartial();
          } else {
            update_ = value;
          }
          onChanged();
        } else {
          if (updateCase_ == 12) {
            rollbackBuilder_.mergeFrom(value);
          }
          rollbackBuilder_.setMessage(value);
        }
        updateCase_ = 12;
        return this;
      }
      /**
       * .waves.events.BlockchainUpdated.Rollback rollback = 12;
       */
      public Builder clearRollback() {
        if (rollbackBuilder_ == null) {
          if (updateCase_ == 12) {
            updateCase_ = 0;
            update_ = null;
            onChanged();
          }
        } else {
          if (updateCase_ == 12) {
            updateCase_ = 0;
            update_ = null;
          }
          rollbackBuilder_.clear();
        }
        return this;
      }
      /**
       * .waves.events.BlockchainUpdated.Rollback rollback = 12;
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.Builder getRollbackBuilder() {
        return getRollbackFieldBuilder().getBuilder();
      }
      /**
       * .waves.events.BlockchainUpdated.Rollback rollback = 12;
       */
      public com.wavesplatform.events.protobuf.Events.BlockchainUpdated.RollbackOrBuilder getRollbackOrBuilder() {
        if ((updateCase_ == 12) && (rollbackBuilder_ != null)) {
          return rollbackBuilder_.getMessageOrBuilder();
        } else {
          if (updateCase_ == 12) {
            return (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_;
          }
          return com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDefaultInstance();
        }
      }
      /**
       * .waves.events.BlockchainUpdated.Rollback rollback = 12;
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.RollbackOrBuilder> 
          getRollbackFieldBuilder() {
        if (rollbackBuilder_ == null) {
          if (!(updateCase_ == 12)) {
            update_ = com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.getDefaultInstance();
          }
          rollbackBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback.Builder, com.wavesplatform.events.protobuf.Events.BlockchainUpdated.RollbackOrBuilder>(
                  (com.wavesplatform.events.protobuf.Events.BlockchainUpdated.Rollback) update_,
                  getParentForChildren(),
                  isClean());
          update_ = null;
        }
        updateCase_ = 12;
        onChanged();;
        return rollbackBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:waves.events.BlockchainUpdated)
    }

    // @@protoc_insertion_point(class_scope:waves.events.BlockchainUpdated)
    private static final com.wavesplatform.events.protobuf.Events.BlockchainUpdated DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.BlockchainUpdated();
    }

    public static com.wavesplatform.events.protobuf.Events.BlockchainUpdated getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser
        PARSER = new com.google.protobuf.AbstractParser() {
      @java.lang.Override
      public BlockchainUpdated parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new BlockchainUpdated(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public com.wavesplatform.events.protobuf.Events.BlockchainUpdated getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface StateUpdateOrBuilder extends
      // @@protoc_insertion_point(interface_extends:waves.events.StateUpdate)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1;
     */
    java.util.List 
        getBalancesList();
    /**
     * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1;
     */
    com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate getBalances(int index);
    /**
     * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1;
     */
    int getBalancesCount();
    /**
     * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1;
     */
    java.util.List 
        getBalancesOrBuilderList();
    /**
     * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1;
     */
    com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdateOrBuilder getBalancesOrBuilder(
        int index);

    /**
     * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2;
     */
    java.util.List 
        getLeasesList();
    /**
     * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2;
     */
    com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate getLeases(int index);
    /**
     * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2;
     */
    int getLeasesCount();
    /**
     * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2;
     */
    java.util.List 
        getLeasesOrBuilderList();
    /**
     * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2;
     */
    com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdateOrBuilder getLeasesOrBuilder(
        int index);

    /**
     * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3;
     */
    java.util.List 
        getDataEntriesList();
    /**
     * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3;
     */
    com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate getDataEntries(int index);
    /**
     * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3;
     */
    int getDataEntriesCount();
    /**
     * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3;
     */
    java.util.List 
        getDataEntriesOrBuilderList();
    /**
     * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3;
     */
    com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdateOrBuilder getDataEntriesOrBuilder(
        int index);

    /**
     * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4;
     */
    java.util.List 
        getAssetsList();
    /**
     * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4;
     */
    com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate getAssets(int index);
    /**
     * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4;
     */
    int getAssetsCount();
    /**
     * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4;
     */
    java.util.List 
        getAssetsOrBuilderList();
    /**
     * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4;
     */
    com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdateOrBuilder getAssetsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code waves.events.StateUpdate}
   */
  public  static final class StateUpdate extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:waves.events.StateUpdate)
      StateUpdateOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use StateUpdate.newBuilder() to construct.
    private StateUpdate(com.google.protobuf.GeneratedMessageV3.Builder builder) {
      super(builder);
    }
    private StateUpdate() {
      balances_ = java.util.Collections.emptyList();
      leases_ = java.util.Collections.emptyList();
      dataEntries_ = java.util.Collections.emptyList();
      assets_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new StateUpdate();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private StateUpdate(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                balances_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              balances_.add(
                  input.readMessage(com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.parser(), extensionRegistry));
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                leases_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              leases_.add(
                  input.readMessage(com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.parser(), extensionRegistry));
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                dataEntries_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              dataEntries_.add(
                  input.readMessage(com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.parser(), extensionRegistry));
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                assets_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              assets_.add(
                  input.readMessage(com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          balances_ = java.util.Collections.unmodifiableList(balances_);
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          leases_ = java.util.Collections.unmodifiableList(leases_);
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          dataEntries_ = java.util.Collections.unmodifiableList(dataEntries_);
        }
        if (((mutable_bitField0_ & 0x00000008) != 0)) {
          assets_ = java.util.Collections.unmodifiableList(assets_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.wavesplatform.events.protobuf.Events.StateUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder.class);
    }

    public interface BalanceUpdateOrBuilder extends
        // @@protoc_insertion_point(interface_extends:waves.events.StateUpdate.BalanceUpdate)
        com.google.protobuf.MessageOrBuilder {

      /**
       * bytes address = 1;
       * @return The address.
       */
      com.google.protobuf.ByteString getAddress();

      /**
       * .waves.Amount amount = 2;
       * @return Whether the amount field is set.
       */
      boolean hasAmount();
      /**
       * .waves.Amount amount = 2;
       * @return The amount.
       */
      com.wavesplatform.protobuf.AmountOuterClass.Amount getAmount();
      /**
       * .waves.Amount amount = 2;
       */
      com.wavesplatform.protobuf.AmountOuterClass.AmountOrBuilder getAmountOrBuilder();
    }
    /**
     * Protobuf type {@code waves.events.StateUpdate.BalanceUpdate}
     */
    public  static final class BalanceUpdate extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:waves.events.StateUpdate.BalanceUpdate)
        BalanceUpdateOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use BalanceUpdate.newBuilder() to construct.
      private BalanceUpdate(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private BalanceUpdate() {
        address_ = com.google.protobuf.ByteString.EMPTY;
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new BalanceUpdate();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private BalanceUpdate(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {

                address_ = input.readBytes();
                break;
              }
              case 18: {
                com.wavesplatform.protobuf.AmountOuterClass.Amount.Builder subBuilder = null;
                if (amount_ != null) {
                  subBuilder = amount_.toBuilder();
                }
                amount_ = input.readMessage(com.wavesplatform.protobuf.AmountOuterClass.Amount.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(amount_);
                  amount_ = subBuilder.buildPartial();
                }

                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_BalanceUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_BalanceUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder.class);
      }

      public static final int ADDRESS_FIELD_NUMBER = 1;
      private com.google.protobuf.ByteString address_;
      /**
       * bytes address = 1;
       * @return The address.
       */
      public com.google.protobuf.ByteString getAddress() {
        return address_;
      }

      public static final int AMOUNT_FIELD_NUMBER = 2;
      private com.wavesplatform.protobuf.AmountOuterClass.Amount amount_;
      /**
       * .waves.Amount amount = 2;
       * @return Whether the amount field is set.
       */
      public boolean hasAmount() {
        return amount_ != null;
      }
      /**
       * .waves.Amount amount = 2;
       * @return The amount.
       */
      public com.wavesplatform.protobuf.AmountOuterClass.Amount getAmount() {
        return amount_ == null ? com.wavesplatform.protobuf.AmountOuterClass.Amount.getDefaultInstance() : amount_;
      }
      /**
       * .waves.Amount amount = 2;
       */
      public com.wavesplatform.protobuf.AmountOuterClass.AmountOrBuilder getAmountOrBuilder() {
        return getAmount();
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!address_.isEmpty()) {
          output.writeBytes(1, address_);
        }
        if (amount_ != null) {
          output.writeMessage(2, getAmount());
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!address_.isEmpty()) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, address_);
        }
        if (amount_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getAmount());
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate)) {
          return super.equals(obj);
        }
        com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate other = (com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate) obj;

        if (!getAddress()
            .equals(other.getAddress())) return false;
        if (hasAmount() != other.hasAmount()) return false;
        if (hasAmount()) {
          if (!getAmount()
              .equals(other.getAmount())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
        hash = (53 * hash) + getAddress().hashCode();
        if (hasAmount()) {
          hash = (37 * hash) + AMOUNT_FIELD_NUMBER;
          hash = (53 * hash) + getAmount().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code waves.events.StateUpdate.BalanceUpdate}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:waves.events.StateUpdate.BalanceUpdate)
          com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdateOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_BalanceUpdate_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_BalanceUpdate_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder.class);
        }

        // Construct using com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          address_ = com.google.protobuf.ByteString.EMPTY;

          if (amountBuilder_ == null) {
            amount_ = null;
          } else {
            amount_ = null;
            amountBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_BalanceUpdate_descriptor;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate getDefaultInstanceForType() {
          return com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.getDefaultInstance();
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate build() {
          com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate buildPartial() {
          com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate result = new com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate(this);
          result.address_ = address_;
          if (amountBuilder_ == null) {
            result.amount_ = amount_;
          } else {
            result.amount_ = amountBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate) {
            return mergeFrom((com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate other) {
          if (other == com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.getDefaultInstance()) return this;
          if (other.getAddress() != com.google.protobuf.ByteString.EMPTY) {
            setAddress(other.getAddress());
          }
          if (other.hasAmount()) {
            mergeAmount(other.getAmount());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private com.google.protobuf.ByteString address_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * bytes address = 1;
         * @return The address.
         */
        public com.google.protobuf.ByteString getAddress() {
          return address_;
        }
        /**
         * bytes address = 1;
         * @param value The address to set.
         * @return This builder for chaining.
         */
        public Builder setAddress(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          address_ = value;
          onChanged();
          return this;
        }
        /**
         * bytes address = 1;
         * @return This builder for chaining.
         */
        public Builder clearAddress() {
          
          address_ = getDefaultInstance().getAddress();
          onChanged();
          return this;
        }

        private com.wavesplatform.protobuf.AmountOuterClass.Amount amount_;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.protobuf.AmountOuterClass.Amount, com.wavesplatform.protobuf.AmountOuterClass.Amount.Builder, com.wavesplatform.protobuf.AmountOuterClass.AmountOrBuilder> amountBuilder_;
        /**
         * .waves.Amount amount = 2;
         * @return Whether the amount field is set.
         */
        public boolean hasAmount() {
          return amountBuilder_ != null || amount_ != null;
        }
        /**
         * .waves.Amount amount = 2;
         * @return The amount.
         */
        public com.wavesplatform.protobuf.AmountOuterClass.Amount getAmount() {
          if (amountBuilder_ == null) {
            return amount_ == null ? com.wavesplatform.protobuf.AmountOuterClass.Amount.getDefaultInstance() : amount_;
          } else {
            return amountBuilder_.getMessage();
          }
        }
        /**
         * .waves.Amount amount = 2;
         */
        public Builder setAmount(com.wavesplatform.protobuf.AmountOuterClass.Amount value) {
          if (amountBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            amount_ = value;
            onChanged();
          } else {
            amountBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * .waves.Amount amount = 2;
         */
        public Builder setAmount(
            com.wavesplatform.protobuf.AmountOuterClass.Amount.Builder builderForValue) {
          if (amountBuilder_ == null) {
            amount_ = builderForValue.build();
            onChanged();
          } else {
            amountBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * .waves.Amount amount = 2;
         */
        public Builder mergeAmount(com.wavesplatform.protobuf.AmountOuterClass.Amount value) {
          if (amountBuilder_ == null) {
            if (amount_ != null) {
              amount_ =
                com.wavesplatform.protobuf.AmountOuterClass.Amount.newBuilder(amount_).mergeFrom(value).buildPartial();
            } else {
              amount_ = value;
            }
            onChanged();
          } else {
            amountBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * .waves.Amount amount = 2;
         */
        public Builder clearAmount() {
          if (amountBuilder_ == null) {
            amount_ = null;
            onChanged();
          } else {
            amount_ = null;
            amountBuilder_ = null;
          }

          return this;
        }
        /**
         * .waves.Amount amount = 2;
         */
        public com.wavesplatform.protobuf.AmountOuterClass.Amount.Builder getAmountBuilder() {
          
          onChanged();
          return getAmountFieldBuilder().getBuilder();
        }
        /**
         * .waves.Amount amount = 2;
         */
        public com.wavesplatform.protobuf.AmountOuterClass.AmountOrBuilder getAmountOrBuilder() {
          if (amountBuilder_ != null) {
            return amountBuilder_.getMessageOrBuilder();
          } else {
            return amount_ == null ?
                com.wavesplatform.protobuf.AmountOuterClass.Amount.getDefaultInstance() : amount_;
          }
        }
        /**
         * .waves.Amount amount = 2;
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.protobuf.AmountOuterClass.Amount, com.wavesplatform.protobuf.AmountOuterClass.Amount.Builder, com.wavesplatform.protobuf.AmountOuterClass.AmountOrBuilder> 
            getAmountFieldBuilder() {
          if (amountBuilder_ == null) {
            amountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.wavesplatform.protobuf.AmountOuterClass.Amount, com.wavesplatform.protobuf.AmountOuterClass.Amount.Builder, com.wavesplatform.protobuf.AmountOuterClass.AmountOrBuilder>(
                    getAmount(),
                    getParentForChildren(),
                    isClean());
            amount_ = null;
          }
          return amountBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:waves.events.StateUpdate.BalanceUpdate)
      }

      // @@protoc_insertion_point(class_scope:waves.events.StateUpdate.BalanceUpdate)
      private static final com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate();
      }

      public static com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public BalanceUpdate parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new BalanceUpdate(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface LeasingUpdateOrBuilder extends
        // @@protoc_insertion_point(interface_extends:waves.events.StateUpdate.LeasingUpdate)
        com.google.protobuf.MessageOrBuilder {

      /**
       * bytes address = 1;
       * @return The address.
       */
      com.google.protobuf.ByteString getAddress();

      /**
       * int64 in = 2;
       * @return The in.
       */
      long getIn();

      /**
       * int64 out = 3;
       * @return The out.
       */
      long getOut();
    }
    /**
     * Protobuf type {@code waves.events.StateUpdate.LeasingUpdate}
     */
    public  static final class LeasingUpdate extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:waves.events.StateUpdate.LeasingUpdate)
        LeasingUpdateOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use LeasingUpdate.newBuilder() to construct.
      private LeasingUpdate(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private LeasingUpdate() {
        address_ = com.google.protobuf.ByteString.EMPTY;
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new LeasingUpdate();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private LeasingUpdate(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {

                address_ = input.readBytes();
                break;
              }
              case 16: {

                in_ = input.readInt64();
                break;
              }
              case 24: {

                out_ = input.readInt64();
                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_LeasingUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_LeasingUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder.class);
      }

      public static final int ADDRESS_FIELD_NUMBER = 1;
      private com.google.protobuf.ByteString address_;
      /**
       * bytes address = 1;
       * @return The address.
       */
      public com.google.protobuf.ByteString getAddress() {
        return address_;
      }

      public static final int IN_FIELD_NUMBER = 2;
      private long in_;
      /**
       * int64 in = 2;
       * @return The in.
       */
      public long getIn() {
        return in_;
      }

      public static final int OUT_FIELD_NUMBER = 3;
      private long out_;
      /**
       * int64 out = 3;
       * @return The out.
       */
      public long getOut() {
        return out_;
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!address_.isEmpty()) {
          output.writeBytes(1, address_);
        }
        if (in_ != 0L) {
          output.writeInt64(2, in_);
        }
        if (out_ != 0L) {
          output.writeInt64(3, out_);
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!address_.isEmpty()) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, address_);
        }
        if (in_ != 0L) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, in_);
        }
        if (out_ != 0L) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(3, out_);
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate)) {
          return super.equals(obj);
        }
        com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate other = (com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate) obj;

        if (!getAddress()
            .equals(other.getAddress())) return false;
        if (getIn()
            != other.getIn()) return false;
        if (getOut()
            != other.getOut()) return false;
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
        hash = (53 * hash) + getAddress().hashCode();
        hash = (37 * hash) + IN_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getIn());
        hash = (37 * hash) + OUT_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getOut());
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code waves.events.StateUpdate.LeasingUpdate}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:waves.events.StateUpdate.LeasingUpdate)
          com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdateOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_LeasingUpdate_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_LeasingUpdate_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder.class);
        }

        // Construct using com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          address_ = com.google.protobuf.ByteString.EMPTY;

          in_ = 0L;

          out_ = 0L;

          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_LeasingUpdate_descriptor;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate getDefaultInstanceForType() {
          return com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.getDefaultInstance();
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate build() {
          com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate buildPartial() {
          com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate result = new com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate(this);
          result.address_ = address_;
          result.in_ = in_;
          result.out_ = out_;
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate) {
            return mergeFrom((com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate other) {
          if (other == com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.getDefaultInstance()) return this;
          if (other.getAddress() != com.google.protobuf.ByteString.EMPTY) {
            setAddress(other.getAddress());
          }
          if (other.getIn() != 0L) {
            setIn(other.getIn());
          }
          if (other.getOut() != 0L) {
            setOut(other.getOut());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private com.google.protobuf.ByteString address_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * bytes address = 1;
         * @return The address.
         */
        public com.google.protobuf.ByteString getAddress() {
          return address_;
        }
        /**
         * bytes address = 1;
         * @param value The address to set.
         * @return This builder for chaining.
         */
        public Builder setAddress(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          address_ = value;
          onChanged();
          return this;
        }
        /**
         * bytes address = 1;
         * @return This builder for chaining.
         */
        public Builder clearAddress() {
          
          address_ = getDefaultInstance().getAddress();
          onChanged();
          return this;
        }

        private long in_ ;
        /**
         * int64 in = 2;
         * @return The in.
         */
        public long getIn() {
          return in_;
        }
        /**
         * int64 in = 2;
         * @param value The in to set.
         * @return This builder for chaining.
         */
        public Builder setIn(long value) {
          
          in_ = value;
          onChanged();
          return this;
        }
        /**
         * int64 in = 2;
         * @return This builder for chaining.
         */
        public Builder clearIn() {
          
          in_ = 0L;
          onChanged();
          return this;
        }

        private long out_ ;
        /**
         * int64 out = 3;
         * @return The out.
         */
        public long getOut() {
          return out_;
        }
        /**
         * int64 out = 3;
         * @param value The out to set.
         * @return This builder for chaining.
         */
        public Builder setOut(long value) {
          
          out_ = value;
          onChanged();
          return this;
        }
        /**
         * int64 out = 3;
         * @return This builder for chaining.
         */
        public Builder clearOut() {
          
          out_ = 0L;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:waves.events.StateUpdate.LeasingUpdate)
      }

      // @@protoc_insertion_point(class_scope:waves.events.StateUpdate.LeasingUpdate)
      private static final com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate();
      }

      public static com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public LeasingUpdate parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new LeasingUpdate(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface DataEntryUpdateOrBuilder extends
        // @@protoc_insertion_point(interface_extends:waves.events.StateUpdate.DataEntryUpdate)
        com.google.protobuf.MessageOrBuilder {

      /**
       * bytes address = 1;
       * @return The address.
       */
      com.google.protobuf.ByteString getAddress();

      /**
       * .waves.DataTransactionData.DataEntry data_entry = 2;
       * @return Whether the dataEntry field is set.
       */
      boolean hasDataEntry();
      /**
       * .waves.DataTransactionData.DataEntry data_entry = 2;
       * @return The dataEntry.
       */
      com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry getDataEntry();
      /**
       * .waves.DataTransactionData.DataEntry data_entry = 2;
       */
      com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntryOrBuilder getDataEntryOrBuilder();
    }
    /**
     * Protobuf type {@code waves.events.StateUpdate.DataEntryUpdate}
     */
    public  static final class DataEntryUpdate extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:waves.events.StateUpdate.DataEntryUpdate)
        DataEntryUpdateOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use DataEntryUpdate.newBuilder() to construct.
      private DataEntryUpdate(com.google.protobuf.GeneratedMessageV3.Builder builder) {
        super(builder);
      }
      private DataEntryUpdate() {
        address_ = com.google.protobuf.ByteString.EMPTY;
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new DataEntryUpdate();
      }

      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
      getUnknownFields() {
        return this.unknownFields;
      }
      private DataEntryUpdate(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        this();
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {

                address_ = input.readBytes();
                break;
              }
              case 18: {
                com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.Builder subBuilder = null;
                if (dataEntry_ != null) {
                  subBuilder = dataEntry_.toBuilder();
                }
                dataEntry_ = input.readMessage(com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.parser(), extensionRegistry);
                if (subBuilder != null) {
                  subBuilder.mergeFrom(dataEntry_);
                  dataEntry_ = subBuilder.buildPartial();
                }

                break;
              }
              default: {
                if (!parseUnknownField(
                    input, unknownFields, extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_DataEntryUpdate_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_DataEntryUpdate_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder.class);
      }

      public static final int ADDRESS_FIELD_NUMBER = 1;
      private com.google.protobuf.ByteString address_;
      /**
       * bytes address = 1;
       * @return The address.
       */
      public com.google.protobuf.ByteString getAddress() {
        return address_;
      }

      public static final int DATA_ENTRY_FIELD_NUMBER = 2;
      private com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry dataEntry_;
      /**
       * .waves.DataTransactionData.DataEntry data_entry = 2;
       * @return Whether the dataEntry field is set.
       */
      public boolean hasDataEntry() {
        return dataEntry_ != null;
      }
      /**
       * .waves.DataTransactionData.DataEntry data_entry = 2;
       * @return The dataEntry.
       */
      public com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry getDataEntry() {
        return dataEntry_ == null ? com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.getDefaultInstance() : dataEntry_;
      }
      /**
       * .waves.DataTransactionData.DataEntry data_entry = 2;
       */
      public com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntryOrBuilder getDataEntryOrBuilder() {
        return getDataEntry();
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!address_.isEmpty()) {
          output.writeBytes(1, address_);
        }
        if (dataEntry_ != null) {
          output.writeMessage(2, getDataEntry());
        }
        unknownFields.writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!address_.isEmpty()) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, address_);
        }
        if (dataEntry_ != null) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, getDataEntry());
        }
        size += unknownFields.getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate)) {
          return super.equals(obj);
        }
        com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate other = (com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate) obj;

        if (!getAddress()
            .equals(other.getAddress())) return false;
        if (hasDataEntry() != other.hasDataEntry()) return false;
        if (hasDataEntry()) {
          if (!getDataEntry()
              .equals(other.getDataEntry())) return false;
        }
        if (!unknownFields.equals(other.unknownFields)) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
        hash = (53 * hash) + getAddress().hashCode();
        if (hasDataEntry()) {
          hash = (37 * hash) + DATA_ENTRY_FIELD_NUMBER;
          hash = (53 * hash) + getDataEntry().hashCode();
        }
        hash = (29 * hash) + unknownFields.hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code waves.events.StateUpdate.DataEntryUpdate}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder implements
          // @@protoc_insertion_point(builder_implements:waves.events.StateUpdate.DataEntryUpdate)
          com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdateOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_DataEntryUpdate_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_DataEntryUpdate_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder.class);
        }

        // Construct using com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessageV3
                  .alwaysUseFieldBuilders) {
          }
        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          address_ = com.google.protobuf.ByteString.EMPTY;

          if (dataEntryBuilder_ == null) {
            dataEntry_ = null;
          } else {
            dataEntry_ = null;
            dataEntryBuilder_ = null;
          }
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_DataEntryUpdate_descriptor;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate getDefaultInstanceForType() {
          return com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.getDefaultInstance();
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate build() {
          com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate buildPartial() {
          com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate result = new com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate(this);
          result.address_ = address_;
          if (dataEntryBuilder_ == null) {
            result.dataEntry_ = dataEntry_;
          } else {
            result.dataEntry_ = dataEntryBuilder_.build();
          }
          onBuilt();
          return result;
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate) {
            return mergeFrom((com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate other) {
          if (other == com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.getDefaultInstance()) return this;
          if (other.getAddress() != com.google.protobuf.ByteString.EMPTY) {
            setAddress(other.getAddress());
          }
          if (other.hasDataEntry()) {
            mergeDataEntry(other.getDataEntry());
          }
          this.mergeUnknownFields(other.unknownFields);
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate) e.getUnfinishedMessage();
            throw e.unwrapIOException();
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }

        private com.google.protobuf.ByteString address_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * bytes address = 1;
         * @return The address.
         */
        public com.google.protobuf.ByteString getAddress() {
          return address_;
        }
        /**
         * bytes address = 1;
         * @param value The address to set.
         * @return This builder for chaining.
         */
        public Builder setAddress(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  
          address_ = value;
          onChanged();
          return this;
        }
        /**
         * bytes address = 1;
         * @return This builder for chaining.
         */
        public Builder clearAddress() {
          
          address_ = getDefaultInstance().getAddress();
          onChanged();
          return this;
        }

        private com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry dataEntry_;
        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry, com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.Builder, com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntryOrBuilder> dataEntryBuilder_;
        /**
         * .waves.DataTransactionData.DataEntry data_entry = 2;
         * @return Whether the dataEntry field is set.
         */
        public boolean hasDataEntry() {
          return dataEntryBuilder_ != null || dataEntry_ != null;
        }
        /**
         * .waves.DataTransactionData.DataEntry data_entry = 2;
         * @return The dataEntry.
         */
        public com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry getDataEntry() {
          if (dataEntryBuilder_ == null) {
            return dataEntry_ == null ? com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.getDefaultInstance() : dataEntry_;
          } else {
            return dataEntryBuilder_.getMessage();
          }
        }
        /**
         * .waves.DataTransactionData.DataEntry data_entry = 2;
         */
        public Builder setDataEntry(com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry value) {
          if (dataEntryBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            dataEntry_ = value;
            onChanged();
          } else {
            dataEntryBuilder_.setMessage(value);
          }

          return this;
        }
        /**
         * .waves.DataTransactionData.DataEntry data_entry = 2;
         */
        public Builder setDataEntry(
            com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.Builder builderForValue) {
          if (dataEntryBuilder_ == null) {
            dataEntry_ = builderForValue.build();
            onChanged();
          } else {
            dataEntryBuilder_.setMessage(builderForValue.build());
          }

          return this;
        }
        /**
         * .waves.DataTransactionData.DataEntry data_entry = 2;
         */
        public Builder mergeDataEntry(com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry value) {
          if (dataEntryBuilder_ == null) {
            if (dataEntry_ != null) {
              dataEntry_ =
                com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.newBuilder(dataEntry_).mergeFrom(value).buildPartial();
            } else {
              dataEntry_ = value;
            }
            onChanged();
          } else {
            dataEntryBuilder_.mergeFrom(value);
          }

          return this;
        }
        /**
         * .waves.DataTransactionData.DataEntry data_entry = 2;
         */
        public Builder clearDataEntry() {
          if (dataEntryBuilder_ == null) {
            dataEntry_ = null;
            onChanged();
          } else {
            dataEntry_ = null;
            dataEntryBuilder_ = null;
          }

          return this;
        }
        /**
         * .waves.DataTransactionData.DataEntry data_entry = 2;
         */
        public com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.Builder getDataEntryBuilder() {
          
          onChanged();
          return getDataEntryFieldBuilder().getBuilder();
        }
        /**
         * .waves.DataTransactionData.DataEntry data_entry = 2;
         */
        public com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntryOrBuilder getDataEntryOrBuilder() {
          if (dataEntryBuilder_ != null) {
            return dataEntryBuilder_.getMessageOrBuilder();
          } else {
            return dataEntry_ == null ?
                com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.getDefaultInstance() : dataEntry_;
          }
        }
        /**
         * .waves.DataTransactionData.DataEntry data_entry = 2;
         */
        private com.google.protobuf.SingleFieldBuilderV3<
            com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry, com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.Builder, com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntryOrBuilder> 
            getDataEntryFieldBuilder() {
          if (dataEntryBuilder_ == null) {
            dataEntryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
                com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry, com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntry.Builder, com.wavesplatform.protobuf.transaction.TransactionOuterClass.DataTransactionData.DataEntryOrBuilder>(
                    getDataEntry(),
                    getParentForChildren(),
                    isClean());
            dataEntry_ = null;
          }
          return dataEntryBuilder_;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:waves.events.StateUpdate.DataEntryUpdate)
      }

      // @@protoc_insertion_point(class_scope:waves.events.StateUpdate.DataEntryUpdate)
      private static final com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate();
      }

      public static com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser
          PARSER = new com.google.protobuf.AbstractParser() {
        @java.lang.Override
        public DataEntryUpdate parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new DataEntryUpdate(input, extensionRegistry);
        }
      };

      public static com.google.protobuf.Parser parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface AssetStateUpdateOrBuilder extends
        // @@protoc_insertion_point(interface_extends:waves.events.StateUpdate.AssetStateUpdate)
        com.google.protobuf.MessageOrBuilder {

      /**
       * bytes asset_id = 1;
       * @return The assetId.
       */
      com.google.protobuf.ByteString getAssetId();

      /**
       * int32 decimals = 2;
       * @return The decimals.
       */
      int getDecimals();

      /**
       * string name = 3;
       * @return The name.
       */
      java.lang.String getName();
      /**
       * string name = 3;
       * @return The bytes for name.
       */
      com.google.protobuf.ByteString
          getNameBytes();

      /**
       * string description = 4;
       * @return The description.
       */
      java.lang.String getDescription();
      /**
       * string description = 4;
       * @return The bytes for description.
       */
      com.google.protobuf.ByteString
          getDescriptionBytes();

      /**
       * bool reissuable = 5;
       * @return The reissuable.
       */
      boolean getReissuable();

      /**
       * int64 volume = 6;
       * @return The volume.
       */
      long getVolume();

      /**
       * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7;
       * @return Whether the scriptInfo field is set.
       */
      boolean hasScriptInfo();
      /**
       * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7;
       * @return The scriptInfo.
       */
      com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo getScriptInfo();
      /**
       * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7;
       */
      com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfoOrBuilder getScriptInfoOrBuilder();

      /**
       * int64 sponsorship = 8;
       * @return The sponsorship.
       */
      long getSponsorship();

      /**
       * bool nft = 9;
       * @return The nft.
       */
      boolean getNft();

      /**
       * bool asset_existed_before = 20;
       * @return The assetExistedBefore.
       */
      boolean getAssetExistedBefore();

      /**
       * 
       *Related to a past behavior in the blockchain when it was possible to reissue
       *assets so that the total volume became more then int64 max value.
       *This field represents accurate volume even for those assets.
       *Can be ignored if the target system does not need such accuracy.
       *Encoding: like Java BigInteger, https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#toByteArray()
       * 
* * bytes safe_volume = 21; * @return The safeVolume. */ com.google.protobuf.ByteString getSafeVolume(); } /** * Protobuf type {@code waves.events.StateUpdate.AssetStateUpdate} */ public static final class AssetStateUpdate extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:waves.events.StateUpdate.AssetStateUpdate) AssetStateUpdateOrBuilder { private static final long serialVersionUID = 0L; // Use AssetStateUpdate.newBuilder() to construct. private AssetStateUpdate(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private AssetStateUpdate() { assetId_ = com.google.protobuf.ByteString.EMPTY; name_ = ""; description_ = ""; safeVolume_ = com.google.protobuf.ByteString.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new AssetStateUpdate(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private AssetStateUpdate( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { assetId_ = input.readBytes(); break; } case 16: { decimals_ = input.readInt32(); break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); name_ = s; break; } case 34: { java.lang.String s = input.readStringRequireUtf8(); description_ = s; break; } case 40: { reissuable_ = input.readBool(); break; } case 48: { volume_ = input.readInt64(); break; } case 58: { com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.Builder subBuilder = null; if (scriptInfo_ != null) { subBuilder = scriptInfo_.toBuilder(); } scriptInfo_ = input.readMessage(com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(scriptInfo_); scriptInfo_ = subBuilder.buildPartial(); } break; } case 64: { sponsorship_ = input.readInt64(); break; } case 72: { nft_ = input.readBool(); break; } case 160: { assetExistedBefore_ = input.readBool(); break; } case 170: { safeVolume_ = input.readBytes(); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_fieldAccessorTable .ensureFieldAccessorsInitialized( com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder.class); } public interface AssetScriptInfoOrBuilder extends // @@protoc_insertion_point(interface_extends:waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo) com.google.protobuf.MessageOrBuilder { /** * bytes script = 1; * @return The script. */ com.google.protobuf.ByteString getScript(); /** * int64 complexity = 2; * @return The complexity. */ long getComplexity(); } /** * Protobuf type {@code waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo} */ public static final class AssetScriptInfo extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo) AssetScriptInfoOrBuilder { private static final long serialVersionUID = 0L; // Use AssetScriptInfo.newBuilder() to construct. private AssetScriptInfo(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private AssetScriptInfo() { script_ = com.google.protobuf.ByteString.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new AssetScriptInfo(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private AssetScriptInfo( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { script_ = input.readBytes(); break; } case 16: { complexity_ = input.readInt64(); break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.class, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.Builder.class); } public static final int SCRIPT_FIELD_NUMBER = 1; private com.google.protobuf.ByteString script_; /** * bytes script = 1; * @return The script. */ public com.google.protobuf.ByteString getScript() { return script_; } public static final int COMPLEXITY_FIELD_NUMBER = 2; private long complexity_; /** * int64 complexity = 2; * @return The complexity. */ public long getComplexity() { return complexity_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!script_.isEmpty()) { output.writeBytes(1, script_); } if (complexity_ != 0L) { output.writeInt64(2, complexity_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!script_.isEmpty()) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(1, script_); } if (complexity_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(2, complexity_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo)) { return super.equals(obj); } com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo other = (com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo) obj; if (!getScript() .equals(other.getScript())) return false; if (getComplexity() != other.getComplexity()) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + SCRIPT_FIELD_NUMBER; hash = (53 * hash) + getScript().hashCode(); hash = (37 * hash) + COMPLEXITY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getComplexity()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo) com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfoOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.class, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.Builder.class); } // Construct using com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); script_ = com.google.protobuf.ByteString.EMPTY; complexity_ = 0L; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_descriptor; } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo getDefaultInstanceForType() { return com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.getDefaultInstance(); } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo build() { com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo buildPartial() { com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo result = new com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo(this); result.script_ = script_; result.complexity_ = complexity_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo) { return mergeFrom((com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo other) { if (other == com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.getDefaultInstance()) return this; if (other.getScript() != com.google.protobuf.ByteString.EMPTY) { setScript(other.getScript()); } if (other.getComplexity() != 0L) { setComplexity(other.getComplexity()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private com.google.protobuf.ByteString script_ = com.google.protobuf.ByteString.EMPTY; /** * bytes script = 1; * @return The script. */ public com.google.protobuf.ByteString getScript() { return script_; } /** * bytes script = 1; * @param value The script to set. * @return This builder for chaining. */ public Builder setScript(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } script_ = value; onChanged(); return this; } /** * bytes script = 1; * @return This builder for chaining. */ public Builder clearScript() { script_ = getDefaultInstance().getScript(); onChanged(); return this; } private long complexity_ ; /** * int64 complexity = 2; * @return The complexity. */ public long getComplexity() { return complexity_; } /** * int64 complexity = 2; * @param value The complexity to set. * @return This builder for chaining. */ public Builder setComplexity(long value) { complexity_ = value; onChanged(); return this; } /** * int64 complexity = 2; * @return This builder for chaining. */ public Builder clearComplexity() { complexity_ = 0L; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo) } // @@protoc_insertion_point(class_scope:waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo) private static final com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo(); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public AssetScriptInfo parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new AssetScriptInfo(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public static final int ASSET_ID_FIELD_NUMBER = 1; private com.google.protobuf.ByteString assetId_; /** * bytes asset_id = 1; * @return The assetId. */ public com.google.protobuf.ByteString getAssetId() { return assetId_; } public static final int DECIMALS_FIELD_NUMBER = 2; private int decimals_; /** * int32 decimals = 2; * @return The decimals. */ public int getDecimals() { return decimals_; } public static final int NAME_FIELD_NUMBER = 3; private volatile java.lang.Object name_; /** * string name = 3; * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } } /** * string name = 3; * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int DESCRIPTION_FIELD_NUMBER = 4; private volatile java.lang.Object description_; /** * string description = 4; * @return The description. */ public java.lang.String getDescription() { java.lang.Object ref = description_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); description_ = s; return s; } } /** * string description = 4; * @return The bytes for description. */ public com.google.protobuf.ByteString getDescriptionBytes() { java.lang.Object ref = description_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); description_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int REISSUABLE_FIELD_NUMBER = 5; private boolean reissuable_; /** * bool reissuable = 5; * @return The reissuable. */ public boolean getReissuable() { return reissuable_; } public static final int VOLUME_FIELD_NUMBER = 6; private long volume_; /** * int64 volume = 6; * @return The volume. */ public long getVolume() { return volume_; } public static final int SCRIPT_INFO_FIELD_NUMBER = 7; private com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo scriptInfo_; /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; * @return Whether the scriptInfo field is set. */ public boolean hasScriptInfo() { return scriptInfo_ != null; } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; * @return The scriptInfo. */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo getScriptInfo() { return scriptInfo_ == null ? com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.getDefaultInstance() : scriptInfo_; } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfoOrBuilder getScriptInfoOrBuilder() { return getScriptInfo(); } public static final int SPONSORSHIP_FIELD_NUMBER = 8; private long sponsorship_; /** * int64 sponsorship = 8; * @return The sponsorship. */ public long getSponsorship() { return sponsorship_; } public static final int NFT_FIELD_NUMBER = 9; private boolean nft_; /** * bool nft = 9; * @return The nft. */ public boolean getNft() { return nft_; } public static final int ASSET_EXISTED_BEFORE_FIELD_NUMBER = 20; private boolean assetExistedBefore_; /** * bool asset_existed_before = 20; * @return The assetExistedBefore. */ public boolean getAssetExistedBefore() { return assetExistedBefore_; } public static final int SAFE_VOLUME_FIELD_NUMBER = 21; private com.google.protobuf.ByteString safeVolume_; /** *
       *Related to a past behavior in the blockchain when it was possible to reissue
       *assets so that the total volume became more then int64 max value.
       *This field represents accurate volume even for those assets.
       *Can be ignored if the target system does not need such accuracy.
       *Encoding: like Java BigInteger, https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#toByteArray()
       * 
* * bytes safe_volume = 21; * @return The safeVolume. */ public com.google.protobuf.ByteString getSafeVolume() { return safeVolume_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!assetId_.isEmpty()) { output.writeBytes(1, assetId_); } if (decimals_ != 0) { output.writeInt32(2, decimals_); } if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_); } if (!getDescriptionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, description_); } if (reissuable_ != false) { output.writeBool(5, reissuable_); } if (volume_ != 0L) { output.writeInt64(6, volume_); } if (scriptInfo_ != null) { output.writeMessage(7, getScriptInfo()); } if (sponsorship_ != 0L) { output.writeInt64(8, sponsorship_); } if (nft_ != false) { output.writeBool(9, nft_); } if (assetExistedBefore_ != false) { output.writeBool(20, assetExistedBefore_); } if (!safeVolume_.isEmpty()) { output.writeBytes(21, safeVolume_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!assetId_.isEmpty()) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(1, assetId_); } if (decimals_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(2, decimals_); } if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_); } if (!getDescriptionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, description_); } if (reissuable_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(5, reissuable_); } if (volume_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(6, volume_); } if (scriptInfo_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getScriptInfo()); } if (sponsorship_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(8, sponsorship_); } if (nft_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(9, nft_); } if (assetExistedBefore_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(20, assetExistedBefore_); } if (!safeVolume_.isEmpty()) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(21, safeVolume_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate)) { return super.equals(obj); } com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate other = (com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate) obj; if (!getAssetId() .equals(other.getAssetId())) return false; if (getDecimals() != other.getDecimals()) return false; if (!getName() .equals(other.getName())) return false; if (!getDescription() .equals(other.getDescription())) return false; if (getReissuable() != other.getReissuable()) return false; if (getVolume() != other.getVolume()) return false; if (hasScriptInfo() != other.hasScriptInfo()) return false; if (hasScriptInfo()) { if (!getScriptInfo() .equals(other.getScriptInfo())) return false; } if (getSponsorship() != other.getSponsorship()) return false; if (getNft() != other.getNft()) return false; if (getAssetExistedBefore() != other.getAssetExistedBefore()) return false; if (!getSafeVolume() .equals(other.getSafeVolume())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + ASSET_ID_FIELD_NUMBER; hash = (53 * hash) + getAssetId().hashCode(); hash = (37 * hash) + DECIMALS_FIELD_NUMBER; hash = (53 * hash) + getDecimals(); hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; hash = (53 * hash) + getDescription().hashCode(); hash = (37 * hash) + REISSUABLE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getReissuable()); hash = (37 * hash) + VOLUME_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getVolume()); if (hasScriptInfo()) { hash = (37 * hash) + SCRIPT_INFO_FIELD_NUMBER; hash = (53 * hash) + getScriptInfo().hashCode(); } hash = (37 * hash) + SPONSORSHIP_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getSponsorship()); hash = (37 * hash) + NFT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getNft()); hash = (37 * hash) + ASSET_EXISTED_BEFORE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getAssetExistedBefore()); hash = (37 * hash) + SAFE_VOLUME_FIELD_NUMBER; hash = (53 * hash) + getSafeVolume().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code waves.events.StateUpdate.AssetStateUpdate} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:waves.events.StateUpdate.AssetStateUpdate) com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdateOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_fieldAccessorTable .ensureFieldAccessorsInitialized( com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder.class); } // Construct using com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); assetId_ = com.google.protobuf.ByteString.EMPTY; decimals_ = 0; name_ = ""; description_ = ""; reissuable_ = false; volume_ = 0L; if (scriptInfoBuilder_ == null) { scriptInfo_ = null; } else { scriptInfo_ = null; scriptInfoBuilder_ = null; } sponsorship_ = 0L; nft_ = false; assetExistedBefore_ = false; safeVolume_ = com.google.protobuf.ByteString.EMPTY; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_AssetStateUpdate_descriptor; } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate getDefaultInstanceForType() { return com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.getDefaultInstance(); } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate build() { com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate buildPartial() { com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate result = new com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate(this); result.assetId_ = assetId_; result.decimals_ = decimals_; result.name_ = name_; result.description_ = description_; result.reissuable_ = reissuable_; result.volume_ = volume_; if (scriptInfoBuilder_ == null) { result.scriptInfo_ = scriptInfo_; } else { result.scriptInfo_ = scriptInfoBuilder_.build(); } result.sponsorship_ = sponsorship_; result.nft_ = nft_; result.assetExistedBefore_ = assetExistedBefore_; result.safeVolume_ = safeVolume_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate) { return mergeFrom((com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate other) { if (other == com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.getDefaultInstance()) return this; if (other.getAssetId() != com.google.protobuf.ByteString.EMPTY) { setAssetId(other.getAssetId()); } if (other.getDecimals() != 0) { setDecimals(other.getDecimals()); } if (!other.getName().isEmpty()) { name_ = other.name_; onChanged(); } if (!other.getDescription().isEmpty()) { description_ = other.description_; onChanged(); } if (other.getReissuable() != false) { setReissuable(other.getReissuable()); } if (other.getVolume() != 0L) { setVolume(other.getVolume()); } if (other.hasScriptInfo()) { mergeScriptInfo(other.getScriptInfo()); } if (other.getSponsorship() != 0L) { setSponsorship(other.getSponsorship()); } if (other.getNft() != false) { setNft(other.getNft()); } if (other.getAssetExistedBefore() != false) { setAssetExistedBefore(other.getAssetExistedBefore()); } if (other.getSafeVolume() != com.google.protobuf.ByteString.EMPTY) { setSafeVolume(other.getSafeVolume()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private com.google.protobuf.ByteString assetId_ = com.google.protobuf.ByteString.EMPTY; /** * bytes asset_id = 1; * @return The assetId. */ public com.google.protobuf.ByteString getAssetId() { return assetId_; } /** * bytes asset_id = 1; * @param value The assetId to set. * @return This builder for chaining. */ public Builder setAssetId(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } assetId_ = value; onChanged(); return this; } /** * bytes asset_id = 1; * @return This builder for chaining. */ public Builder clearAssetId() { assetId_ = getDefaultInstance().getAssetId(); onChanged(); return this; } private int decimals_ ; /** * int32 decimals = 2; * @return The decimals. */ public int getDecimals() { return decimals_; } /** * int32 decimals = 2; * @param value The decimals to set. * @return This builder for chaining. */ public Builder setDecimals(int value) { decimals_ = value; onChanged(); return this; } /** * int32 decimals = 2; * @return This builder for chaining. */ public Builder clearDecimals() { decimals_ = 0; onChanged(); return this; } private java.lang.Object name_ = ""; /** * string name = 3; * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } else { return (java.lang.String) ref; } } /** * string name = 3; * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * string name = 3; * @param value The name to set. * @return This builder for chaining. */ public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } name_ = value; onChanged(); return this; } /** * string name = 3; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); onChanged(); return this; } /** * string name = 3; * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); name_ = value; onChanged(); return this; } private java.lang.Object description_ = ""; /** * string description = 4; * @return The description. */ public java.lang.String getDescription() { java.lang.Object ref = description_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); description_ = s; return s; } else { return (java.lang.String) ref; } } /** * string description = 4; * @return The bytes for description. */ public com.google.protobuf.ByteString getDescriptionBytes() { java.lang.Object ref = description_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); description_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * string description = 4; * @param value The description to set. * @return This builder for chaining. */ public Builder setDescription( java.lang.String value) { if (value == null) { throw new NullPointerException(); } description_ = value; onChanged(); return this; } /** * string description = 4; * @return This builder for chaining. */ public Builder clearDescription() { description_ = getDefaultInstance().getDescription(); onChanged(); return this; } /** * string description = 4; * @param value The bytes for description to set. * @return This builder for chaining. */ public Builder setDescriptionBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); description_ = value; onChanged(); return this; } private boolean reissuable_ ; /** * bool reissuable = 5; * @return The reissuable. */ public boolean getReissuable() { return reissuable_; } /** * bool reissuable = 5; * @param value The reissuable to set. * @return This builder for chaining. */ public Builder setReissuable(boolean value) { reissuable_ = value; onChanged(); return this; } /** * bool reissuable = 5; * @return This builder for chaining. */ public Builder clearReissuable() { reissuable_ = false; onChanged(); return this; } private long volume_ ; /** * int64 volume = 6; * @return The volume. */ public long getVolume() { return volume_; } /** * int64 volume = 6; * @param value The volume to set. * @return This builder for chaining. */ public Builder setVolume(long value) { volume_ = value; onChanged(); return this; } /** * int64 volume = 6; * @return This builder for chaining. */ public Builder clearVolume() { volume_ = 0L; onChanged(); return this; } private com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo scriptInfo_; private com.google.protobuf.SingleFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfoOrBuilder> scriptInfoBuilder_; /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; * @return Whether the scriptInfo field is set. */ public boolean hasScriptInfo() { return scriptInfoBuilder_ != null || scriptInfo_ != null; } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; * @return The scriptInfo. */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo getScriptInfo() { if (scriptInfoBuilder_ == null) { return scriptInfo_ == null ? com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.getDefaultInstance() : scriptInfo_; } else { return scriptInfoBuilder_.getMessage(); } } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; */ public Builder setScriptInfo(com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo value) { if (scriptInfoBuilder_ == null) { if (value == null) { throw new NullPointerException(); } scriptInfo_ = value; onChanged(); } else { scriptInfoBuilder_.setMessage(value); } return this; } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; */ public Builder setScriptInfo( com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.Builder builderForValue) { if (scriptInfoBuilder_ == null) { scriptInfo_ = builderForValue.build(); onChanged(); } else { scriptInfoBuilder_.setMessage(builderForValue.build()); } return this; } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; */ public Builder mergeScriptInfo(com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo value) { if (scriptInfoBuilder_ == null) { if (scriptInfo_ != null) { scriptInfo_ = com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.newBuilder(scriptInfo_).mergeFrom(value).buildPartial(); } else { scriptInfo_ = value; } onChanged(); } else { scriptInfoBuilder_.mergeFrom(value); } return this; } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; */ public Builder clearScriptInfo() { if (scriptInfoBuilder_ == null) { scriptInfo_ = null; onChanged(); } else { scriptInfo_ = null; scriptInfoBuilder_ = null; } return this; } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.Builder getScriptInfoBuilder() { onChanged(); return getScriptInfoFieldBuilder().getBuilder(); } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfoOrBuilder getScriptInfoOrBuilder() { if (scriptInfoBuilder_ != null) { return scriptInfoBuilder_.getMessageOrBuilder(); } else { return scriptInfo_ == null ? com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.getDefaultInstance() : scriptInfo_; } } /** * .waves.events.StateUpdate.AssetStateUpdate.AssetScriptInfo script_info = 7; */ private com.google.protobuf.SingleFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfoOrBuilder> getScriptInfoFieldBuilder() { if (scriptInfoBuilder_ == null) { scriptInfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfo.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.AssetScriptInfoOrBuilder>( getScriptInfo(), getParentForChildren(), isClean()); scriptInfo_ = null; } return scriptInfoBuilder_; } private long sponsorship_ ; /** * int64 sponsorship = 8; * @return The sponsorship. */ public long getSponsorship() { return sponsorship_; } /** * int64 sponsorship = 8; * @param value The sponsorship to set. * @return This builder for chaining. */ public Builder setSponsorship(long value) { sponsorship_ = value; onChanged(); return this; } /** * int64 sponsorship = 8; * @return This builder for chaining. */ public Builder clearSponsorship() { sponsorship_ = 0L; onChanged(); return this; } private boolean nft_ ; /** * bool nft = 9; * @return The nft. */ public boolean getNft() { return nft_; } /** * bool nft = 9; * @param value The nft to set. * @return This builder for chaining. */ public Builder setNft(boolean value) { nft_ = value; onChanged(); return this; } /** * bool nft = 9; * @return This builder for chaining. */ public Builder clearNft() { nft_ = false; onChanged(); return this; } private boolean assetExistedBefore_ ; /** * bool asset_existed_before = 20; * @return The assetExistedBefore. */ public boolean getAssetExistedBefore() { return assetExistedBefore_; } /** * bool asset_existed_before = 20; * @param value The assetExistedBefore to set. * @return This builder for chaining. */ public Builder setAssetExistedBefore(boolean value) { assetExistedBefore_ = value; onChanged(); return this; } /** * bool asset_existed_before = 20; * @return This builder for chaining. */ public Builder clearAssetExistedBefore() { assetExistedBefore_ = false; onChanged(); return this; } private com.google.protobuf.ByteString safeVolume_ = com.google.protobuf.ByteString.EMPTY; /** *
         *Related to a past behavior in the blockchain when it was possible to reissue
         *assets so that the total volume became more then int64 max value.
         *This field represents accurate volume even for those assets.
         *Can be ignored if the target system does not need such accuracy.
         *Encoding: like Java BigInteger, https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#toByteArray()
         * 
* * bytes safe_volume = 21; * @return The safeVolume. */ public com.google.protobuf.ByteString getSafeVolume() { return safeVolume_; } /** *
         *Related to a past behavior in the blockchain when it was possible to reissue
         *assets so that the total volume became more then int64 max value.
         *This field represents accurate volume even for those assets.
         *Can be ignored if the target system does not need such accuracy.
         *Encoding: like Java BigInteger, https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#toByteArray()
         * 
* * bytes safe_volume = 21; * @param value The safeVolume to set. * @return This builder for chaining. */ public Builder setSafeVolume(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } safeVolume_ = value; onChanged(); return this; } /** *
         *Related to a past behavior in the blockchain when it was possible to reissue
         *assets so that the total volume became more then int64 max value.
         *This field represents accurate volume even for those assets.
         *Can be ignored if the target system does not need such accuracy.
         *Encoding: like Java BigInteger, https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#toByteArray()
         * 
* * bytes safe_volume = 21; * @return This builder for chaining. */ public Builder clearSafeVolume() { safeVolume_ = getDefaultInstance().getSafeVolume(); onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:waves.events.StateUpdate.AssetStateUpdate) } // @@protoc_insertion_point(class_scope:waves.events.StateUpdate.AssetStateUpdate) private static final com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate(); } public static com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public AssetStateUpdate parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new AssetStateUpdate(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public static final int BALANCES_FIELD_NUMBER = 1; private java.util.List balances_; /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public java.util.List getBalancesList() { return balances_; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public java.util.List getBalancesOrBuilderList() { return balances_; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public int getBalancesCount() { return balances_.size(); } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate getBalances(int index) { return balances_.get(index); } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdateOrBuilder getBalancesOrBuilder( int index) { return balances_.get(index); } public static final int LEASES_FIELD_NUMBER = 2; private java.util.List leases_; /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public java.util.List getLeasesList() { return leases_; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public java.util.List getLeasesOrBuilderList() { return leases_; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public int getLeasesCount() { return leases_.size(); } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate getLeases(int index) { return leases_.get(index); } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdateOrBuilder getLeasesOrBuilder( int index) { return leases_.get(index); } public static final int DATA_ENTRIES_FIELD_NUMBER = 3; private java.util.List dataEntries_; /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public java.util.List getDataEntriesList() { return dataEntries_; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public java.util.List getDataEntriesOrBuilderList() { return dataEntries_; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public int getDataEntriesCount() { return dataEntries_.size(); } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate getDataEntries(int index) { return dataEntries_.get(index); } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdateOrBuilder getDataEntriesOrBuilder( int index) { return dataEntries_.get(index); } public static final int ASSETS_FIELD_NUMBER = 4; private java.util.List assets_; /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public java.util.List getAssetsList() { return assets_; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public java.util.List getAssetsOrBuilderList() { return assets_; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public int getAssetsCount() { return assets_.size(); } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate getAssets(int index) { return assets_.get(index); } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdateOrBuilder getAssetsOrBuilder( int index) { return assets_.get(index); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < balances_.size(); i++) { output.writeMessage(1, balances_.get(i)); } for (int i = 0; i < leases_.size(); i++) { output.writeMessage(2, leases_.get(i)); } for (int i = 0; i < dataEntries_.size(); i++) { output.writeMessage(3, dataEntries_.get(i)); } for (int i = 0; i < assets_.size(); i++) { output.writeMessage(4, assets_.get(i)); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (int i = 0; i < balances_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, balances_.get(i)); } for (int i = 0; i < leases_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, leases_.get(i)); } for (int i = 0; i < dataEntries_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, dataEntries_.get(i)); } for (int i = 0; i < assets_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, assets_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.wavesplatform.events.protobuf.Events.StateUpdate)) { return super.equals(obj); } com.wavesplatform.events.protobuf.Events.StateUpdate other = (com.wavesplatform.events.protobuf.Events.StateUpdate) obj; if (!getBalancesList() .equals(other.getBalancesList())) return false; if (!getLeasesList() .equals(other.getLeasesList())) return false; if (!getDataEntriesList() .equals(other.getDataEntriesList())) return false; if (!getAssetsList() .equals(other.getAssetsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getBalancesCount() > 0) { hash = (37 * hash) + BALANCES_FIELD_NUMBER; hash = (53 * hash) + getBalancesList().hashCode(); } if (getLeasesCount() > 0) { hash = (37 * hash) + LEASES_FIELD_NUMBER; hash = (53 * hash) + getLeasesList().hashCode(); } if (getDataEntriesCount() > 0) { hash = (37 * hash) + DATA_ENTRIES_FIELD_NUMBER; hash = (53 * hash) + getDataEntriesList().hashCode(); } if (getAssetsCount() > 0) { hash = (37 * hash) + ASSETS_FIELD_NUMBER; hash = (53 * hash) + getAssetsList().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.wavesplatform.events.protobuf.Events.StateUpdate parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.wavesplatform.events.protobuf.Events.StateUpdate prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * Protobuf type {@code waves.events.StateUpdate} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:waves.events.StateUpdate) com.wavesplatform.events.protobuf.Events.StateUpdateOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_fieldAccessorTable .ensureFieldAccessorsInitialized( com.wavesplatform.events.protobuf.Events.StateUpdate.class, com.wavesplatform.events.protobuf.Events.StateUpdate.Builder.class); } // Construct using com.wavesplatform.events.protobuf.Events.StateUpdate.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getBalancesFieldBuilder(); getLeasesFieldBuilder(); getDataEntriesFieldBuilder(); getAssetsFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); if (balancesBuilder_ == null) { balances_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { balancesBuilder_.clear(); } if (leasesBuilder_ == null) { leases_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); } else { leasesBuilder_.clear(); } if (dataEntriesBuilder_ == null) { dataEntries_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); } else { dataEntriesBuilder_.clear(); } if (assetsBuilder_ == null) { assets_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); } else { assetsBuilder_.clear(); } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.wavesplatform.events.protobuf.Events.internal_static_waves_events_StateUpdate_descriptor; } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate getDefaultInstanceForType() { return com.wavesplatform.events.protobuf.Events.StateUpdate.getDefaultInstance(); } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate build() { com.wavesplatform.events.protobuf.Events.StateUpdate result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate buildPartial() { com.wavesplatform.events.protobuf.Events.StateUpdate result = new com.wavesplatform.events.protobuf.Events.StateUpdate(this); int from_bitField0_ = bitField0_; if (balancesBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { balances_ = java.util.Collections.unmodifiableList(balances_); bitField0_ = (bitField0_ & ~0x00000001); } result.balances_ = balances_; } else { result.balances_ = balancesBuilder_.build(); } if (leasesBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { leases_ = java.util.Collections.unmodifiableList(leases_); bitField0_ = (bitField0_ & ~0x00000002); } result.leases_ = leases_; } else { result.leases_ = leasesBuilder_.build(); } if (dataEntriesBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0)) { dataEntries_ = java.util.Collections.unmodifiableList(dataEntries_); bitField0_ = (bitField0_ & ~0x00000004); } result.dataEntries_ = dataEntries_; } else { result.dataEntries_ = dataEntriesBuilder_.build(); } if (assetsBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0)) { assets_ = java.util.Collections.unmodifiableList(assets_); bitField0_ = (bitField0_ & ~0x00000008); } result.assets_ = assets_; } else { result.assets_ = assetsBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.wavesplatform.events.protobuf.Events.StateUpdate) { return mergeFrom((com.wavesplatform.events.protobuf.Events.StateUpdate)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.wavesplatform.events.protobuf.Events.StateUpdate other) { if (other == com.wavesplatform.events.protobuf.Events.StateUpdate.getDefaultInstance()) return this; if (balancesBuilder_ == null) { if (!other.balances_.isEmpty()) { if (balances_.isEmpty()) { balances_ = other.balances_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureBalancesIsMutable(); balances_.addAll(other.balances_); } onChanged(); } } else { if (!other.balances_.isEmpty()) { if (balancesBuilder_.isEmpty()) { balancesBuilder_.dispose(); balancesBuilder_ = null; balances_ = other.balances_; bitField0_ = (bitField0_ & ~0x00000001); balancesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getBalancesFieldBuilder() : null; } else { balancesBuilder_.addAllMessages(other.balances_); } } } if (leasesBuilder_ == null) { if (!other.leases_.isEmpty()) { if (leases_.isEmpty()) { leases_ = other.leases_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureLeasesIsMutable(); leases_.addAll(other.leases_); } onChanged(); } } else { if (!other.leases_.isEmpty()) { if (leasesBuilder_.isEmpty()) { leasesBuilder_.dispose(); leasesBuilder_ = null; leases_ = other.leases_; bitField0_ = (bitField0_ & ~0x00000002); leasesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLeasesFieldBuilder() : null; } else { leasesBuilder_.addAllMessages(other.leases_); } } } if (dataEntriesBuilder_ == null) { if (!other.dataEntries_.isEmpty()) { if (dataEntries_.isEmpty()) { dataEntries_ = other.dataEntries_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureDataEntriesIsMutable(); dataEntries_.addAll(other.dataEntries_); } onChanged(); } } else { if (!other.dataEntries_.isEmpty()) { if (dataEntriesBuilder_.isEmpty()) { dataEntriesBuilder_.dispose(); dataEntriesBuilder_ = null; dataEntries_ = other.dataEntries_; bitField0_ = (bitField0_ & ~0x00000004); dataEntriesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDataEntriesFieldBuilder() : null; } else { dataEntriesBuilder_.addAllMessages(other.dataEntries_); } } } if (assetsBuilder_ == null) { if (!other.assets_.isEmpty()) { if (assets_.isEmpty()) { assets_ = other.assets_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureAssetsIsMutable(); assets_.addAll(other.assets_); } onChanged(); } } else { if (!other.assets_.isEmpty()) { if (assetsBuilder_.isEmpty()) { assetsBuilder_.dispose(); assetsBuilder_ = null; assets_ = other.assets_; bitField0_ = (bitField0_ & ~0x00000008); assetsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getAssetsFieldBuilder() : null; } else { assetsBuilder_.addAllMessages(other.assets_); } } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { com.wavesplatform.events.protobuf.Events.StateUpdate parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (com.wavesplatform.events.protobuf.Events.StateUpdate) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.util.List balances_ = java.util.Collections.emptyList(); private void ensureBalancesIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { balances_ = new java.util.ArrayList(balances_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdateOrBuilder> balancesBuilder_; /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public java.util.List getBalancesList() { if (balancesBuilder_ == null) { return java.util.Collections.unmodifiableList(balances_); } else { return balancesBuilder_.getMessageList(); } } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public int getBalancesCount() { if (balancesBuilder_ == null) { return balances_.size(); } else { return balancesBuilder_.getCount(); } } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate getBalances(int index) { if (balancesBuilder_ == null) { return balances_.get(index); } else { return balancesBuilder_.getMessage(index); } } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public Builder setBalances( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate value) { if (balancesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureBalancesIsMutable(); balances_.set(index, value); onChanged(); } else { balancesBuilder_.setMessage(index, value); } return this; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public Builder setBalances( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder builderForValue) { if (balancesBuilder_ == null) { ensureBalancesIsMutable(); balances_.set(index, builderForValue.build()); onChanged(); } else { balancesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public Builder addBalances(com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate value) { if (balancesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureBalancesIsMutable(); balances_.add(value); onChanged(); } else { balancesBuilder_.addMessage(value); } return this; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public Builder addBalances( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate value) { if (balancesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureBalancesIsMutable(); balances_.add(index, value); onChanged(); } else { balancesBuilder_.addMessage(index, value); } return this; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public Builder addBalances( com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder builderForValue) { if (balancesBuilder_ == null) { ensureBalancesIsMutable(); balances_.add(builderForValue.build()); onChanged(); } else { balancesBuilder_.addMessage(builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public Builder addBalances( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder builderForValue) { if (balancesBuilder_ == null) { ensureBalancesIsMutable(); balances_.add(index, builderForValue.build()); onChanged(); } else { balancesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public Builder addAllBalances( java.lang.Iterable values) { if (balancesBuilder_ == null) { ensureBalancesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, balances_); onChanged(); } else { balancesBuilder_.addAllMessages(values); } return this; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public Builder clearBalances() { if (balancesBuilder_ == null) { balances_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { balancesBuilder_.clear(); } return this; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public Builder removeBalances(int index) { if (balancesBuilder_ == null) { ensureBalancesIsMutable(); balances_.remove(index); onChanged(); } else { balancesBuilder_.remove(index); } return this; } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder getBalancesBuilder( int index) { return getBalancesFieldBuilder().getBuilder(index); } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdateOrBuilder getBalancesOrBuilder( int index) { if (balancesBuilder_ == null) { return balances_.get(index); } else { return balancesBuilder_.getMessageOrBuilder(index); } } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public java.util.List getBalancesOrBuilderList() { if (balancesBuilder_ != null) { return balancesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(balances_); } } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder addBalancesBuilder() { return getBalancesFieldBuilder().addBuilder( com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.getDefaultInstance()); } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder addBalancesBuilder( int index) { return getBalancesFieldBuilder().addBuilder( index, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.getDefaultInstance()); } /** * repeated .waves.events.StateUpdate.BalanceUpdate balances = 1; */ public java.util.List getBalancesBuilderList() { return getBalancesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdateOrBuilder> getBalancesFieldBuilder() { if (balancesBuilder_ == null) { balancesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.BalanceUpdateOrBuilder>( balances_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); balances_ = null; } return balancesBuilder_; } private java.util.List leases_ = java.util.Collections.emptyList(); private void ensureLeasesIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { leases_ = new java.util.ArrayList(leases_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdateOrBuilder> leasesBuilder_; /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public java.util.List getLeasesList() { if (leasesBuilder_ == null) { return java.util.Collections.unmodifiableList(leases_); } else { return leasesBuilder_.getMessageList(); } } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public int getLeasesCount() { if (leasesBuilder_ == null) { return leases_.size(); } else { return leasesBuilder_.getCount(); } } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate getLeases(int index) { if (leasesBuilder_ == null) { return leases_.get(index); } else { return leasesBuilder_.getMessage(index); } } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public Builder setLeases( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate value) { if (leasesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureLeasesIsMutable(); leases_.set(index, value); onChanged(); } else { leasesBuilder_.setMessage(index, value); } return this; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public Builder setLeases( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder builderForValue) { if (leasesBuilder_ == null) { ensureLeasesIsMutable(); leases_.set(index, builderForValue.build()); onChanged(); } else { leasesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public Builder addLeases(com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate value) { if (leasesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureLeasesIsMutable(); leases_.add(value); onChanged(); } else { leasesBuilder_.addMessage(value); } return this; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public Builder addLeases( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate value) { if (leasesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureLeasesIsMutable(); leases_.add(index, value); onChanged(); } else { leasesBuilder_.addMessage(index, value); } return this; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public Builder addLeases( com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder builderForValue) { if (leasesBuilder_ == null) { ensureLeasesIsMutable(); leases_.add(builderForValue.build()); onChanged(); } else { leasesBuilder_.addMessage(builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public Builder addLeases( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder builderForValue) { if (leasesBuilder_ == null) { ensureLeasesIsMutable(); leases_.add(index, builderForValue.build()); onChanged(); } else { leasesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public Builder addAllLeases( java.lang.Iterable values) { if (leasesBuilder_ == null) { ensureLeasesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, leases_); onChanged(); } else { leasesBuilder_.addAllMessages(values); } return this; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public Builder clearLeases() { if (leasesBuilder_ == null) { leases_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { leasesBuilder_.clear(); } return this; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public Builder removeLeases(int index) { if (leasesBuilder_ == null) { ensureLeasesIsMutable(); leases_.remove(index); onChanged(); } else { leasesBuilder_.remove(index); } return this; } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder getLeasesBuilder( int index) { return getLeasesFieldBuilder().getBuilder(index); } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdateOrBuilder getLeasesOrBuilder( int index) { if (leasesBuilder_ == null) { return leases_.get(index); } else { return leasesBuilder_.getMessageOrBuilder(index); } } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public java.util.List getLeasesOrBuilderList() { if (leasesBuilder_ != null) { return leasesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(leases_); } } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder addLeasesBuilder() { return getLeasesFieldBuilder().addBuilder( com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.getDefaultInstance()); } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder addLeasesBuilder( int index) { return getLeasesFieldBuilder().addBuilder( index, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.getDefaultInstance()); } /** * repeated .waves.events.StateUpdate.LeasingUpdate leases = 2; */ public java.util.List getLeasesBuilderList() { return getLeasesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdateOrBuilder> getLeasesFieldBuilder() { if (leasesBuilder_ == null) { leasesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.LeasingUpdateOrBuilder>( leases_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); leases_ = null; } return leasesBuilder_; } private java.util.List dataEntries_ = java.util.Collections.emptyList(); private void ensureDataEntriesIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { dataEntries_ = new java.util.ArrayList(dataEntries_); bitField0_ |= 0x00000004; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdateOrBuilder> dataEntriesBuilder_; /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public java.util.List getDataEntriesList() { if (dataEntriesBuilder_ == null) { return java.util.Collections.unmodifiableList(dataEntries_); } else { return dataEntriesBuilder_.getMessageList(); } } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public int getDataEntriesCount() { if (dataEntriesBuilder_ == null) { return dataEntries_.size(); } else { return dataEntriesBuilder_.getCount(); } } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate getDataEntries(int index) { if (dataEntriesBuilder_ == null) { return dataEntries_.get(index); } else { return dataEntriesBuilder_.getMessage(index); } } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public Builder setDataEntries( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate value) { if (dataEntriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureDataEntriesIsMutable(); dataEntries_.set(index, value); onChanged(); } else { dataEntriesBuilder_.setMessage(index, value); } return this; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public Builder setDataEntries( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder builderForValue) { if (dataEntriesBuilder_ == null) { ensureDataEntriesIsMutable(); dataEntries_.set(index, builderForValue.build()); onChanged(); } else { dataEntriesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public Builder addDataEntries(com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate value) { if (dataEntriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureDataEntriesIsMutable(); dataEntries_.add(value); onChanged(); } else { dataEntriesBuilder_.addMessage(value); } return this; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public Builder addDataEntries( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate value) { if (dataEntriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureDataEntriesIsMutable(); dataEntries_.add(index, value); onChanged(); } else { dataEntriesBuilder_.addMessage(index, value); } return this; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public Builder addDataEntries( com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder builderForValue) { if (dataEntriesBuilder_ == null) { ensureDataEntriesIsMutable(); dataEntries_.add(builderForValue.build()); onChanged(); } else { dataEntriesBuilder_.addMessage(builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public Builder addDataEntries( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder builderForValue) { if (dataEntriesBuilder_ == null) { ensureDataEntriesIsMutable(); dataEntries_.add(index, builderForValue.build()); onChanged(); } else { dataEntriesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public Builder addAllDataEntries( java.lang.Iterable values) { if (dataEntriesBuilder_ == null) { ensureDataEntriesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, dataEntries_); onChanged(); } else { dataEntriesBuilder_.addAllMessages(values); } return this; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public Builder clearDataEntries() { if (dataEntriesBuilder_ == null) { dataEntries_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); } else { dataEntriesBuilder_.clear(); } return this; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public Builder removeDataEntries(int index) { if (dataEntriesBuilder_ == null) { ensureDataEntriesIsMutable(); dataEntries_.remove(index); onChanged(); } else { dataEntriesBuilder_.remove(index); } return this; } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder getDataEntriesBuilder( int index) { return getDataEntriesFieldBuilder().getBuilder(index); } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdateOrBuilder getDataEntriesOrBuilder( int index) { if (dataEntriesBuilder_ == null) { return dataEntries_.get(index); } else { return dataEntriesBuilder_.getMessageOrBuilder(index); } } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public java.util.List getDataEntriesOrBuilderList() { if (dataEntriesBuilder_ != null) { return dataEntriesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(dataEntries_); } } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder addDataEntriesBuilder() { return getDataEntriesFieldBuilder().addBuilder( com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.getDefaultInstance()); } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder addDataEntriesBuilder( int index) { return getDataEntriesFieldBuilder().addBuilder( index, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.getDefaultInstance()); } /** * repeated .waves.events.StateUpdate.DataEntryUpdate data_entries = 3; */ public java.util.List getDataEntriesBuilderList() { return getDataEntriesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdateOrBuilder> getDataEntriesFieldBuilder() { if (dataEntriesBuilder_ == null) { dataEntriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.DataEntryUpdateOrBuilder>( dataEntries_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); dataEntries_ = null; } return dataEntriesBuilder_; } private java.util.List assets_ = java.util.Collections.emptyList(); private void ensureAssetsIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { assets_ = new java.util.ArrayList(assets_); bitField0_ |= 0x00000008; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdateOrBuilder> assetsBuilder_; /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public java.util.List getAssetsList() { if (assetsBuilder_ == null) { return java.util.Collections.unmodifiableList(assets_); } else { return assetsBuilder_.getMessageList(); } } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public int getAssetsCount() { if (assetsBuilder_ == null) { return assets_.size(); } else { return assetsBuilder_.getCount(); } } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate getAssets(int index) { if (assetsBuilder_ == null) { return assets_.get(index); } else { return assetsBuilder_.getMessage(index); } } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public Builder setAssets( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate value) { if (assetsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureAssetsIsMutable(); assets_.set(index, value); onChanged(); } else { assetsBuilder_.setMessage(index, value); } return this; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public Builder setAssets( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder builderForValue) { if (assetsBuilder_ == null) { ensureAssetsIsMutable(); assets_.set(index, builderForValue.build()); onChanged(); } else { assetsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public Builder addAssets(com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate value) { if (assetsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureAssetsIsMutable(); assets_.add(value); onChanged(); } else { assetsBuilder_.addMessage(value); } return this; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public Builder addAssets( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate value) { if (assetsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureAssetsIsMutable(); assets_.add(index, value); onChanged(); } else { assetsBuilder_.addMessage(index, value); } return this; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public Builder addAssets( com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder builderForValue) { if (assetsBuilder_ == null) { ensureAssetsIsMutable(); assets_.add(builderForValue.build()); onChanged(); } else { assetsBuilder_.addMessage(builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public Builder addAssets( int index, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder builderForValue) { if (assetsBuilder_ == null) { ensureAssetsIsMutable(); assets_.add(index, builderForValue.build()); onChanged(); } else { assetsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public Builder addAllAssets( java.lang.Iterable values) { if (assetsBuilder_ == null) { ensureAssetsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, assets_); onChanged(); } else { assetsBuilder_.addAllMessages(values); } return this; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public Builder clearAssets() { if (assetsBuilder_ == null) { assets_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); } else { assetsBuilder_.clear(); } return this; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public Builder removeAssets(int index) { if (assetsBuilder_ == null) { ensureAssetsIsMutable(); assets_.remove(index); onChanged(); } else { assetsBuilder_.remove(index); } return this; } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder getAssetsBuilder( int index) { return getAssetsFieldBuilder().getBuilder(index); } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdateOrBuilder getAssetsOrBuilder( int index) { if (assetsBuilder_ == null) { return assets_.get(index); } else { return assetsBuilder_.getMessageOrBuilder(index); } } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public java.util.List getAssetsOrBuilderList() { if (assetsBuilder_ != null) { return assetsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(assets_); } } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder addAssetsBuilder() { return getAssetsFieldBuilder().addBuilder( com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.getDefaultInstance()); } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder addAssetsBuilder( int index) { return getAssetsFieldBuilder().addBuilder( index, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.getDefaultInstance()); } /** * repeated .waves.events.StateUpdate.AssetStateUpdate assets = 4; */ public java.util.List getAssetsBuilderList() { return getAssetsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdateOrBuilder> getAssetsFieldBuilder() { if (assetsBuilder_ == null) { assetsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdate.Builder, com.wavesplatform.events.protobuf.Events.StateUpdate.AssetStateUpdateOrBuilder>( assets_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); assets_ = null; } return assetsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:waves.events.StateUpdate) } // @@protoc_insertion_point(class_scope:waves.events.StateUpdate) private static final com.wavesplatform.events.protobuf.Events.StateUpdate DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.wavesplatform.events.protobuf.Events.StateUpdate(); } public static com.wavesplatform.events.protobuf.Events.StateUpdate getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public StateUpdate parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new StateUpdate(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.wavesplatform.events.protobuf.Events.StateUpdate getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_BlockchainUpdated_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_BlockchainUpdated_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_BlockchainUpdated_Append_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_BlockchainUpdated_Append_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_BlockchainUpdated_Rollback_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_BlockchainUpdated_Rollback_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_StateUpdate_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_StateUpdate_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_StateUpdate_BalanceUpdate_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_StateUpdate_BalanceUpdate_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_StateUpdate_LeasingUpdate_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_StateUpdate_LeasingUpdate_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_StateUpdate_DataEntryUpdate_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_StateUpdate_DataEntryUpdate_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_StateUpdate_AssetStateUpdate_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_StateUpdate_AssetStateUpdate_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; } private static com.google.protobuf.Descriptors.FileDescriptor descriptor; static { java.lang.String[] descriptorData = { "\n\031waves/events/events.proto\022\014waves.event" + "s\032\021waves/block.proto\032\022waves/amount.proto" + "\032\027waves/transaction.proto\"\214\006\n\021Blockchain" + "Updated\022\n\n\002id\030\001 \001(\014\022\016\n\006height\030\002 \001(\005\0228\n\006a" + "ppend\030\013 \001(\0132&.waves.events.BlockchainUpd" + "ated.AppendH\000\022<\n\010rollback\030\014 \001(\0132(.waves." + "events.BlockchainUpdated.RollbackH\000\032\334\003\n\006" + "Append\022C\n\005block\030\001 \001(\01322.waves.events.Blo" + "ckchainUpdated.Append.BlockAppendH\000\022N\n\013m" + "icro_block\030\002 \001(\01327.waves.events.Blockcha" + "inUpdated.Append.MicroBlockAppendH\000\022\027\n\017t" + "ransaction_ids\030\003 \003(\014\022/\n\014state_update\030\013 \001" + "(\0132\031.waves.events.StateUpdate\022<\n\031transac" + "tion_state_updates\030\014 \003(\0132\031.waves.events." + "StateUpdate\032H\n\013BlockAppend\022\033\n\005block\030\001 \001(" + "\0132\014.waves.Block\022\034\n\024updated_waves_amount\030" + "\002 \001(\003\032c\n\020MicroBlockAppend\022,\n\013micro_block" + "\030\001 \001(\0132\027.waves.SignedMicroBlock\022!\n\031updat" + "ed_transactions_root\030\002 \001(\014B\006\n\004body\032z\n\010Ro" + "llback\022C\n\004type\030\001 \001(\01625.waves.events.Bloc" + "kchainUpdated.Rollback.RollbackType\")\n\014R" + "ollbackType\022\t\n\005BLOCK\020\000\022\016\n\nMICROBLOCK\020\001B\010" + "\n\006update\"\265\006\n\013StateUpdate\0229\n\010balances\030\001 \003" + "(\0132\'.waves.events.StateUpdate.BalanceUpd" + "ate\0227\n\006leases\030\002 \003(\0132\'.waves.events.State" + "Update.LeasingUpdate\022?\n\014data_entries\030\003 \003" + "(\0132).waves.events.StateUpdate.DataEntryU" + "pdate\022:\n\006assets\030\004 \003(\0132*.waves.events.Sta" + "teUpdate.AssetStateUpdate\032?\n\rBalanceUpda" + "te\022\017\n\007address\030\001 \001(\014\022\035\n\006amount\030\002 \001(\0132\r.wa" + "ves.Amount\0329\n\rLeasingUpdate\022\017\n\007address\030\001" + " \001(\014\022\n\n\002in\030\002 \001(\003\022\013\n\003out\030\003 \001(\003\032\\\n\017DataEnt" + "ryUpdate\022\017\n\007address\030\001 \001(\014\0228\n\ndata_entry\030" + "\002 \001(\0132$.waves.DataTransactionData.DataEn" + "try\032\332\002\n\020AssetStateUpdate\022\020\n\010asset_id\030\001 \001" + "(\014\022\020\n\010decimals\030\002 \001(\005\022\014\n\004name\030\003 \001(\t\022\023\n\013de" + "scription\030\004 \001(\t\022\022\n\nreissuable\030\005 \001(\010\022\016\n\006v" + "olume\030\006 \001(\003\022O\n\013script_info\030\007 \001(\0132:.waves" + ".events.StateUpdate.AssetStateUpdate.Ass" + "etScriptInfo\022\023\n\013sponsorship\030\010 \001(\003\022\013\n\003nft" + "\030\t \001(\010\022\034\n\024asset_existed_before\030\024 \001(\010\022\023\n\013" + "safe_volume\030\025 \001(\014\0325\n\017AssetScriptInfo\022\016\n\006" + "script\030\001 \001(\014\022\022\n\ncomplexity\030\002 \001(\003B#\n!com." + "wavesplatform.events.protobufb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { com.wavesplatform.protobuf.block.BlockOuterClass.getDescriptor(), com.wavesplatform.protobuf.AmountOuterClass.getDescriptor(), com.wavesplatform.protobuf.transaction.TransactionOuterClass.getDescriptor(), }); internal_static_waves_events_BlockchainUpdated_descriptor = getDescriptor().getMessageTypes().get(0); internal_static_waves_events_BlockchainUpdated_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_BlockchainUpdated_descriptor, new java.lang.String[] { "Id", "Height", "Append", "Rollback", "Update", }); internal_static_waves_events_BlockchainUpdated_Append_descriptor = internal_static_waves_events_BlockchainUpdated_descriptor.getNestedTypes().get(0); internal_static_waves_events_BlockchainUpdated_Append_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_BlockchainUpdated_Append_descriptor, new java.lang.String[] { "Block", "MicroBlock", "TransactionIds", "StateUpdate", "TransactionStateUpdates", "Body", }); internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_descriptor = internal_static_waves_events_BlockchainUpdated_Append_descriptor.getNestedTypes().get(0); internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_BlockchainUpdated_Append_BlockAppend_descriptor, new java.lang.String[] { "Block", "UpdatedWavesAmount", }); internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_descriptor = internal_static_waves_events_BlockchainUpdated_Append_descriptor.getNestedTypes().get(1); internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_BlockchainUpdated_Append_MicroBlockAppend_descriptor, new java.lang.String[] { "MicroBlock", "UpdatedTransactionsRoot", }); internal_static_waves_events_BlockchainUpdated_Rollback_descriptor = internal_static_waves_events_BlockchainUpdated_descriptor.getNestedTypes().get(1); internal_static_waves_events_BlockchainUpdated_Rollback_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_BlockchainUpdated_Rollback_descriptor, new java.lang.String[] { "Type", }); internal_static_waves_events_StateUpdate_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_waves_events_StateUpdate_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_StateUpdate_descriptor, new java.lang.String[] { "Balances", "Leases", "DataEntries", "Assets", }); internal_static_waves_events_StateUpdate_BalanceUpdate_descriptor = internal_static_waves_events_StateUpdate_descriptor.getNestedTypes().get(0); internal_static_waves_events_StateUpdate_BalanceUpdate_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_StateUpdate_BalanceUpdate_descriptor, new java.lang.String[] { "Address", "Amount", }); internal_static_waves_events_StateUpdate_LeasingUpdate_descriptor = internal_static_waves_events_StateUpdate_descriptor.getNestedTypes().get(1); internal_static_waves_events_StateUpdate_LeasingUpdate_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_StateUpdate_LeasingUpdate_descriptor, new java.lang.String[] { "Address", "In", "Out", }); internal_static_waves_events_StateUpdate_DataEntryUpdate_descriptor = internal_static_waves_events_StateUpdate_descriptor.getNestedTypes().get(2); internal_static_waves_events_StateUpdate_DataEntryUpdate_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_StateUpdate_DataEntryUpdate_descriptor, new java.lang.String[] { "Address", "DataEntry", }); internal_static_waves_events_StateUpdate_AssetStateUpdate_descriptor = internal_static_waves_events_StateUpdate_descriptor.getNestedTypes().get(3); internal_static_waves_events_StateUpdate_AssetStateUpdate_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_StateUpdate_AssetStateUpdate_descriptor, new java.lang.String[] { "AssetId", "Decimals", "Name", "Description", "Reissuable", "Volume", "ScriptInfo", "Sponsorship", "Nft", "AssetExistedBefore", "SafeVolume", }); internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_descriptor = internal_static_waves_events_StateUpdate_AssetStateUpdate_descriptor.getNestedTypes().get(0); internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_waves_events_StateUpdate_AssetStateUpdate_AssetScriptInfo_descriptor, new java.lang.String[] { "Script", "Complexity", }); com.wavesplatform.protobuf.block.BlockOuterClass.getDescriptor(); com.wavesplatform.protobuf.AmountOuterClass.getDescriptor(); com.wavesplatform.protobuf.transaction.TransactionOuterClass.getDescriptor(); } // @@protoc_insertion_point(outer_class_scope) }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy