Class TokenAirdropTransactionBody.Builder

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

public static final class TokenAirdropTransactionBody.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<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
  • 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
    • 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
    • setTokenTransfers

      public TokenAirdropTransactionBody.Builder setTokenTransfers(int index, TokenTransferList value)
       *
       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;
    • setTokenTransfers

      public TokenAirdropTransactionBody.Builder setTokenTransfers(int index, TokenTransferList.Builder builderForValue)
       *
       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;
    • addTokenTransfers

      public TokenAirdropTransactionBody.Builder addTokenTransfers(TokenTransferList value)
       *
       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;
    • addTokenTransfers

      public TokenAirdropTransactionBody.Builder addTokenTransfers(int index, TokenTransferList value)
       *
       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;
    • addTokenTransfers

      public TokenAirdropTransactionBody.Builder addTokenTransfers(TokenTransferList.Builder builderForValue)
       *
       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;
    • addTokenTransfers

      public TokenAirdropTransactionBody.Builder addTokenTransfers(int index, TokenTransferList.Builder builderForValue)
       *
       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;
    • addAllTokenTransfers

      public TokenAirdropTransactionBody.Builder addAllTokenTransfers(Iterable<? extends TokenTransferList> values)
       *
       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;
    • clearTokenTransfers

      public TokenAirdropTransactionBody.Builder clearTokenTransfers()
       *
       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;
    • removeTokenTransfers

      public TokenAirdropTransactionBody.Builder removeTokenTransfers(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;