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

shgraph.hapi.0.54.1.source-code.crypto_transfer.proto Maven / Gradle / Ivy

There is a newer version: 0.54.0
Show newest version
syntax = "proto3";

package proto;

/*-
 * ‌
 * Hedera Network Services Protobuf
 * ​
 * Copyright (C) 2018 - 2021 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";

/**
 * Transfers cryptocurrency among two or more accounts by making the desired adjustments to their
 * balances. Each transfer list can specify up to 10 adjustments. Each negative amount is withdrawn
 * from the corresponding account (a sender), and each positive one is added to the corresponding
 * account (a receiver). The amounts list must sum to zero. Each amount is a number of tinybars
 * (there are 100,000,000 tinybars in one hbar).  If any sender account fails to have sufficient
 * hbars, then the entire transaction fails, and none of those transfers occur, though the
 * transaction fee is still charged. This transaction must be signed by the keys for all the sending
 * accounts, and for any receiving accounts that have receiverSigRequired == true. The signatures
 * are in the same order as the accounts, skipping those accounts that don't need a signature. 
 */
message CryptoTransferTransactionBody {
    /**
     * The desired hbar balance adjustments
     */
    TransferList transfers = 1;

    /**
     * The desired token unit balance adjustments; if any custom fees are assessed, the ledger will
     * try to deduct them from the payer of this CryptoTransfer, resolving the transaction to
     * INSUFFICIENT_PAYER_BALANCE_FOR_CUSTOM_FEE if this is not possible
     */
    repeated TokenTransferList tokenTransfers = 2;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy