Class EvmHookMappingEntries.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder<EvmHookMappingEntries,EvmHookMappingEntries.Builder>
com.google.protobuf.GeneratedMessageLite.Builder<EvmHookMappingEntries,EvmHookMappingEntries.Builder>
com.hedera.hashgraph.sdk.proto.EvmHookMappingEntries.Builder
All Implemented Interfaces:
com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, EvmHookMappingEntriesOrBuilder, Cloneable
Enclosing class:
EvmHookMappingEntries

public static final class EvmHookMappingEntries.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<EvmHookMappingEntries,EvmHookMappingEntries.Builder> implements EvmHookMappingEntriesOrBuilder
 *
 Specifies storage slot updates via indirection into a Solidity mapping.
 <p>
 Concretely, if the Solidity mapping is itself at slot `mapping_slot`, then
 the * storage slot for key `key` in the mapping is defined by the relationship
 `key_storage_slot = keccak256(abi.encodePacked(mapping_slot, key))`.
 <p>
 This message lets a metaprotocol be specified in terms of changes to a
 Solidity mapping's entries. If only raw slots could be updated, then a block
 stream consumer following the metaprotocol would have to invert the Keccak256
 hash to determine which mapping entry was being updated, which is not possible.
 
Protobuf type com.hedera.hapi.node.hooks.EvmHookMappingEntries
  • Method Details

    • getMappingSlot

      public com.google.protobuf.ByteString getMappingSlot()
       *
       The slot that corresponds to the Solidity mapping itself. Must use a
       minimal byte representation (no leading zeros).
       
      bytes mapping_slot = 1;
      Specified by:
      getMappingSlot in interface EvmHookMappingEntriesOrBuilder
      Returns:
      The mappingSlot.
    • setMappingSlot

      public EvmHookMappingEntries.Builder setMappingSlot(com.google.protobuf.ByteString value)
       *
       The slot that corresponds to the Solidity mapping itself. Must use a
       minimal byte representation (no leading zeros).
       
      bytes mapping_slot = 1;
      Parameters:
      value - The mappingSlot to set.
      Returns:
      This builder for chaining.
    • clearMappingSlot

      public EvmHookMappingEntries.Builder clearMappingSlot()
       *
       The slot that corresponds to the Solidity mapping itself. Must use a
       minimal byte representation (no leading zeros).
       
      bytes mapping_slot = 1;
      Returns:
      This builder for chaining.
    • getEntriesList

      public List<EvmHookMappingEntry> getEntriesList()
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
      Specified by:
      getEntriesList in interface EvmHookMappingEntriesOrBuilder
    • getEntriesCount

      public int getEntriesCount()
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
      Specified by:
      getEntriesCount in interface EvmHookMappingEntriesOrBuilder
    • getEntries

      public EvmHookMappingEntry getEntries(int index)
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
      Specified by:
      getEntries in interface EvmHookMappingEntriesOrBuilder
    • setEntries

      public EvmHookMappingEntries.Builder setEntries(int index, EvmHookMappingEntry value)
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
    • setEntries

      public EvmHookMappingEntries.Builder setEntries(int index, EvmHookMappingEntry.Builder builderForValue)
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
    • addEntries

       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
    • addEntries

      public EvmHookMappingEntries.Builder addEntries(int index, EvmHookMappingEntry value)
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
    • addEntries

      public EvmHookMappingEntries.Builder addEntries(EvmHookMappingEntry.Builder builderForValue)
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
    • addEntries

      public EvmHookMappingEntries.Builder addEntries(int index, EvmHookMappingEntry.Builder builderForValue)
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
    • addAllEntries

      public EvmHookMappingEntries.Builder addAllEntries(Iterable<? extends EvmHookMappingEntry> values)
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
    • clearEntries

      public EvmHookMappingEntries.Builder clearEntries()
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;
    • removeEntries

      public EvmHookMappingEntries.Builder removeEntries(int index)
       *
       The entries in the mapping at the given slot.
       
      repeated .com.hedera.hapi.node.hooks.EvmHookMappingEntry entries = 2;