Class TokenAirdropTransactionBody

java.lang.Object
com.google.protobuf.AbstractMessageLite<TokenAirdropTransactionBody,TokenAirdropTransactionBody.Builder>
com.google.protobuf.GeneratedMessageLite<TokenAirdropTransactionBody,TokenAirdropTransactionBody.Builder>
com.hedera.hashgraph.sdk.proto.TokenAirdropTransactionBody
All Implemented Interfaces:
com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, TokenAirdropTransactionBodyOrBuilder

@Generated public final class TokenAirdropTransactionBody extends com.google.protobuf.GeneratedMessageLite<TokenAirdropTransactionBody,TokenAirdropTransactionBody.Builder> implements TokenAirdropTransactionBodyOrBuilder
 *
 Airdrop one or more tokens to one or more accounts.

 ### Effects
 This distributes tokens from the balance of one or more sending account(s)
 to the balance of one or more recipient accounts. Accounts MAY receive the
 tokens in one of four ways.

 - An account already associated to the token to be distributed SHALL
 receive the airdropped tokens immediately to the recipient account
 balance.<br/>
 The fee for this transfer SHALL include the transfer, the airdrop fee,
 and any custom fees.
 - An account with available automatic association slots SHALL be
 automatically associated to the token, and SHALL immediately receive
 the airdropped tokens to the recipient account balance.<br/>
 The fee for this transfer SHALL include the transfer, the association,
 the cost to renew that association once, the airdrop fee, and
 any custom fees.
 - An account with "receiver signature required" set SHALL have a
 "Pending Airdrop" created and must claim that airdrop with a
 `claimAirdrop` transaction.<br/>
 The fee for this transfer SHALL include the transfer, the association,
 the cost to renew that association once, the airdrop fee, and
 any custom fees.<br/>
 If the pending airdrop is not claimed immediately, the `sender` SHALL
 pay the cost to renew the token association, and the cost to maintain
 the pending airdrop, until the pending airdrop is claimed or cancelled.
 - An account with no available automatic association slots SHALL have a
 "Pending Airdrop" created and must claim that airdrop with a
 `claimAirdrop` transaction.<br/>
 The fee for this transfer SHALL include the transfer, the association,
 the cost to renew that association once, the airdrop fee, and any custom
 fees.<br/>
 If the pending airdrop is not claimed immediately, the `sender` SHALL
 pay the cost to renew the token association, and the cost to maintain
 the pending airdrop, until the pending airdrop is claimed or cancelled.

 If an airdrop would create a pending airdrop for a fungible/common token,
 and a pending airdrop for the same sender, receiver, and token already
 exists, the existing pending airdrop SHALL be updated to add the new
 amount to the existing airdrop, rather than creating
 a new pending airdrop.<br/>
 Any airdrop that completes immediately SHALL be irreversible. Any airdrop
 that results in a "Pending Airdrop" MAY be canceled via a `cancelAirdrop`
 transaction.<br/>
 All transfer fees (including custom fees and royalties), as well as the
 rent cost for the first auto-renewal period for any automatic-association
 slot occupied by the airdropped tokens, SHALL be charged to the account
 paying for this transaction.<br/>

 ### Block Stream Effects
 - Each successful transfer SHALL be recorded in `token_transfer_list`
 for the transaction record.
 - Each successful transfer that consumes an automatic association slot
 SHALL populate the `automatic_association` field for the record.
 - Each pending transfer _created_ SHALL be added to the
 `pending_airdrops` field for the record.
 - Each pending transfer _updated_ SHALL be added to the
 `pending_airdrops` field for the record.
 
Protobuf type proto.TokenAirdropTransactionBody
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    * Airdrop one or more tokens to one or more accounts.

    Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageLite

    com.google.protobuf.GeneratedMessageLite.DefaultInstanceBasedParser<T extends com.google.protobuf.GeneratedMessageLite<T,?>>, com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType,BuilderType>,BuilderType extends com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType,BuilderType>,BuilderType extends com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageLite.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageLite.ExtendableMessage<MessageType,BuilderType>,BuilderType extends com.google.protobuf.GeneratedMessageLite.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageLite.GeneratedExtension<ContainingType extends com.google.protobuf.MessageLite,Type>, com.google.protobuf.GeneratedMessageLite.MethodToInvoke, com.google.protobuf.GeneratedMessageLite.SerializedForm

    Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

    com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     

    Fields inherited from class com.google.protobuf.GeneratedMessageLite

    unknownFields

    Fields inherited from class com.google.protobuf.AbstractMessageLite

    memoizedHashCode
  • Method Summary

    Modifier and Type
    Method
    Description
    protected final Object
    dynamicMethod(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, Object arg0, Object arg1)
     
     
    getTokenTransfers(int index)
    * A list of token transfers representing one or more airdrops.
    int
    * A list of token transfers representing one or more airdrops.
    * A list of token transfers representing one or more airdrops.
    * A list of token transfers representing one or more airdrops.
    * A list of token transfers representing one or more airdrops.
     
     
     
    parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    parseFrom(byte[] data)
     
    parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    parseFrom(com.google.protobuf.ByteString data)
     
    parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    parseFrom(com.google.protobuf.CodedInputStream input)
     
    parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
     
    parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
     
    parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    static com.google.protobuf.Parser<TokenAirdropTransactionBody>
     

    Methods inherited from class com.google.protobuf.GeneratedMessageLite

    createBuilder, createBuilder, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, emptyProtobufList, equals, getDefaultInstanceForType, getParserForType, getSerializedSize, hashCode, isInitialized, makeImmutable, mergeLengthDelimitedField, mergeUnknownFields, mergeVarintField, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBuilderForType, newMessageInfo, newRepeatedGeneratedExtension, newSingularGeneratedExtension, parseDelimitedFrom, parseDelimitedFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parseFrom, parsePartialFrom, parseUnknownField, registerDefaultInstance, toBuilder, toString, writeTo

    Methods inherited from class com.google.protobuf.AbstractMessageLite

    addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    getDefaultInstanceForType, isInitialized
  • Field Details

    • TOKEN_TRANSFERS_FIELD_NUMBER

      public static final int TOKEN_TRANSFERS_FIELD_NUMBER
      See Also:
  • Method Details

    • getTokenTransfersList

      public List<TokenTransferList> getTokenTransfersList()
       *
       A list of token transfers representing one or more airdrops.
       <p>
       The sender for each transfer MUST have sufficient balance to complete
       the transfers.<br/>
       All token transfers MUST successfully transfer tokens or create a
       pending airdrop for this transaction to succeed.<br/>
       This list MUST contain between 1 and 10 transfers, inclusive.
       <p>
       Note that each transfer of fungible/common tokens requires both a debit
       and a credit, so each _fungible_ token transfer MUST have _balanced_
       entries in the TokenTransferList for that transfer.
       
      repeated .proto.TokenTransferList token_transfers = 1;
      Specified by:
      getTokenTransfersList in interface TokenAirdropTransactionBodyOrBuilder
    • getTokenTransfersOrBuilderList

      public List<? extends TokenTransferListOrBuilder> getTokenTransfersOrBuilderList()
       *
       A list of token transfers representing one or more airdrops.
       <p>
       The sender for each transfer MUST have sufficient balance to complete
       the transfers.<br/>
       All token transfers MUST successfully transfer tokens or create a
       pending airdrop for this transaction to succeed.<br/>
       This list MUST contain between 1 and 10 transfers, inclusive.
       <p>
       Note that each transfer of fungible/common tokens requires both a debit
       and a credit, so each _fungible_ token transfer MUST have _balanced_
       entries in the TokenTransferList for that transfer.
       
      repeated .proto.TokenTransferList token_transfers = 1;
    • getTokenTransfersCount

      public int getTokenTransfersCount()
       *
       A list of token transfers representing one or more airdrops.
       <p>
       The sender for each transfer MUST have sufficient balance to complete
       the transfers.<br/>
       All token transfers MUST successfully transfer tokens or create a
       pending airdrop for this transaction to succeed.<br/>
       This list MUST contain between 1 and 10 transfers, inclusive.
       <p>
       Note that each transfer of fungible/common tokens requires both a debit
       and a credit, so each _fungible_ token transfer MUST have _balanced_
       entries in the TokenTransferList for that transfer.
       
      repeated .proto.TokenTransferList token_transfers = 1;
      Specified by:
      getTokenTransfersCount in interface TokenAirdropTransactionBodyOrBuilder
    • getTokenTransfers

      public TokenTransferList getTokenTransfers(int index)
       *
       A list of token transfers representing one or more airdrops.
       <p>
       The sender for each transfer MUST have sufficient balance to complete
       the transfers.<br/>
       All token transfers MUST successfully transfer tokens or create a
       pending airdrop for this transaction to succeed.<br/>
       This list MUST contain between 1 and 10 transfers, inclusive.
       <p>
       Note that each transfer of fungible/common tokens requires both a debit
       and a credit, so each _fungible_ token transfer MUST have _balanced_
       entries in the TokenTransferList for that transfer.
       
      repeated .proto.TokenTransferList token_transfers = 1;
      Specified by:
      getTokenTransfers in interface TokenAirdropTransactionBodyOrBuilder
    • getTokenTransfersOrBuilder

      public TokenTransferListOrBuilder getTokenTransfersOrBuilder(int index)
       *
       A list of token transfers representing one or more airdrops.
       <p>
       The sender for each transfer MUST have sufficient balance to complete
       the transfers.<br/>
       All token transfers MUST successfully transfer tokens or create a
       pending airdrop for this transaction to succeed.<br/>
       This list MUST contain between 1 and 10 transfers, inclusive.
       <p>
       Note that each transfer of fungible/common tokens requires both a debit
       and a credit, so each _fungible_ token transfer MUST have _balanced_
       entries in the TokenTransferList for that transfer.
       
      repeated .proto.TokenTransferList token_transfers = 1;
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static TokenAirdropTransactionBody parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static TokenAirdropTransactionBody parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static TokenAirdropTransactionBody parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilder

      public static TokenAirdropTransactionBody.Builder newBuilder()
    • newBuilder

    • dynamicMethod

      protected final Object dynamicMethod(com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, Object arg0, Object arg1)
      Specified by:
      dynamicMethod in class com.google.protobuf.GeneratedMessageLite<TokenAirdropTransactionBody,TokenAirdropTransactionBody.Builder>
    • getDefaultInstance

      public static TokenAirdropTransactionBody getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<TokenAirdropTransactionBody> parser()