shgraph.hapi.0.54.1.source-code.token_claim_airdrop.proto Maven / Gradle / Ivy
/**
* # Token Claim Airdrop
* Messages used to implement a transaction to claim a pending airdrop.
*
* ### Keywords
* The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
* "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
* document are to be interpreted as described in [RFC2119](https://www.ietf.org/rfc/rfc2119).
*/
syntax = "proto3";
package proto;
/*
* Copyright (C) 2024 Hedera Hashgraph, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
option java_package = "com.hederahashgraph.api.proto.java";
// <<>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;
import "basic_types.proto";
/**
* Token claim airdrop
* Complete one or more pending transfers on behalf of the
* recipient(s) for an airdrop.
*
* The sender MUST have sufficient balance to fulfill the airdrop at the
* time of claim. If the sender does not have sufficient balance, the
* claim SHALL fail.
* Each pending airdrop successfully claimed SHALL be removed from state and
* SHALL NOT be available to claim again.
* Each claim SHALL be represented in the transaction body and
* SHALL NOT be restated in the record file.
* All claims MUST succeed for this transaction to succeed.
*
* ### Record Stream Effects
* The completed transfers SHALL be present in the transfer list.
*/
message TokenClaimAirdropTransactionBody {
/**
* A list of one or more pending airdrop identifiers.
*
* This transaction MUST be signed by the account identified by
* the `receiver_id` for each entry in this list.
* This list MUST contain between 1 and 10 entries, inclusive.
* This list MUST NOT have any duplicate entries.
*/
repeated PendingAirdropId pending_airdrops = 1;
}