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

shgraph.hedera-protobuf-java-api.0.55.0.source-code.contract_call.proto Maven / Gradle / Ivy

The 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";

/**
 * Call a function of the given smart contract instance, giving it functionParameters as its inputs.
 * The call can use at maximum the given amount of gas - the paying account will not be charged for
 * any unspent gas.
 *
 * If this function results in data being stored, an amount of gas is calculated that reflects this
 * storage burden.
 *
 * The amount of gas used, as well as other attributes of the transaction, e.g. size, number of
 * signatures to be verified, determine the fee for the transaction - which is charged to the paying
 * account.
 */
message ContractCallTransactionBody {
    /**
     * The contract to call
     */
    ContractID contractID = 1;

    /**
     * the maximum amount of gas to use for the call
     */
    int64 gas = 2;

    /**
     * number of tinybars sent (the function must be payable if this is nonzero)
     */
    int64 amount = 3;

    /**
     * which function to call, and the parameters to pass to the function
     */
    bytes functionParameters = 4;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy