diff --git a/services/contract_call_local.proto b/services/contract_call_local.proto index b2c8afa3..386abd5d 100644 --- a/services/contract_call_local.proto +++ b/services/contract_call_local.proto @@ -29,6 +29,7 @@ option java_multiple_files = true; import "basic_types.proto"; import "query_header.proto"; import "response_header.proto"; +import "contract_types.proto"; import "google/protobuf/wrappers.proto"; @@ -162,6 +163,12 @@ message ContractFunctionResult { * ContractCreateTransactionBody or a ContractCallTransactionBody. */ AccountID sender_id = 13; + + /** + * A list of updated contract account nonces containing the new nonce value for each contract account. + * This is always empty in a ContractCallLocalResponse#ContractFunctionResult message, since no internal creations can happen in a static EVM call. + */ + repeated ContractNonceInfo contract_nonces = 14; } /** diff --git a/services/contract_types.proto b/services/contract_types.proto new file mode 100644 index 00000000..17240d41 --- /dev/null +++ b/services/contract_types.proto @@ -0,0 +1,47 @@ +syntax = "proto3"; + +package proto; + +/*- + * ‌ + * Hedera Network Services Protobuf + * ​ + * Copyright (C) 2018 - 2023 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"; + +import "google/protobuf/wrappers.proto"; +/** + * Info about a contract account's nonce value. + * A nonce of a contract is only incremented when that contract creates another contract. + */ +message ContractNonceInfo { + + /** + * Id of the contract + */ + ContractID contract_id = 1; + + /** + * The current value of the contract account's nonce property + */ + int64 nonce = 2; +} \ No newline at end of file