Skip to content

Commit

Permalink
feat: modularization protobuf changes (hashgraph#327)
Browse files Browse the repository at this point in the history
* Initial draft of PBJ types for token state (hashgraph#263)

* Add HCS state proto

Signed-off-by: Michael Tinker <[email protected]>

* Add running hash, delete EntityNumber

Signed-off-by: Michael Tinker <[email protected]>

* add account and token

* add account and token

* add token

* add tokenRelation

* add some javadocs

* add some javadocs

* address review comments

* fix missing import

* address comments

* address review comments

* Update services/state/token/account.proto

Co-authored-by: Richard Bair <[email protected]>

* Update services/state/token/account.proto

Co-authored-by: Richard Bair <[email protected]>

* address some review comments

* move back under services

* change package name

* some docs and revert java package name

* revert docs

* add javadocs

* add javadocs

* re-order the first 16

---------

Signed-off-by: Michael Tinker <[email protected]>
Co-authored-by: Michael Tinker <[email protected]>
Co-authored-by: Richard Bair <[email protected]>

* file proto (hashgraph#267)

* 265 - file proto

Signed-off-by: Lev Povolotsky <[email protected]>

* 265 - packaging

Signed-off-by: Lev Povolotsky <[email protected]>

* 265 - comments

Signed-off-by: Lev Povolotsky <[email protected]>

---------

Signed-off-by: Lev Povolotsky <[email protected]>

* Change allowance maps on `Account` PBJ Object (hashgraph#269)

* change allowances

* change allowances

* change allowances

* change allowances

* change allowances

* change allowances

* fix some comments on file proto (hashgraph#268)

* 265 - file proto

Signed-off-by: Lev Povolotsky <[email protected]>

* 265 - packaging

Signed-off-by: Lev Povolotsky <[email protected]>

* 265 - comments

Signed-off-by: Lev Povolotsky <[email protected]>

* 265 - comments fix

Signed-off-by: Lev Povolotsky <[email protected]>

---------

Signed-off-by: Lev Povolotsky <[email protected]>

* Add missing fields in Account (hashgraph#270)

* add missing fields and change allowance names

* change to bits

* address review comments

* address review comments

* address review comments

* Add the TransactionRecordEntry type for the record cache.

* Add payer account ID

* Include `ContractService` state types (hashgraph#273)

* Add bytecode and storage slot representations

Signed-off-by: Michael Tinker <[email protected]>

* Add Nft type

Signed-off-by: Michael Tinker <[email protected]>

* Add EntityNumber

Signed-off-by: Michael Tinker <[email protected]>

* Use bytes instead of Int256Value

Signed-off-by: Michael Tinker <[email protected]>

* Fix typo

Signed-off-by: Michael Tinker <[email protected]>

* Remove superfluous Int256Value type

Signed-off-by: Michael Tinker <[email protected]>

* Rename Id -> UniqueTokenId

Signed-off-by: Michael Tinker <[email protected]>

* Don't store code_hash, can be cached on load

Signed-off-by: Michael Tinker <[email protected]>

---------

Signed-off-by: Michael Tinker <[email protected]>

* Added state for blocks and running hashes (hashgraph#276)

* Added state for blocks and running hashes

Signed-off-by: jasperpotts <[email protected]>

---------

Signed-off-by: jasperpotts <[email protected]>
Co-authored-by: jasperpotts <[email protected]>

* Add `StakingNodeInfo` for MerkleStakingInfo (hashgraph#277)

add staking node info

* add schedule proto (hashgraph#280)

* new schedule proto

Signed-off-by: Lev Povolotsky <[email protected]>

* addresspe comments

Signed-off-by: Lev Povolotsky <[email protected]>

* address comments

Signed-off-by: Lev Povolotsky <[email protected]>

---------

Signed-off-by: Lev Povolotsky <[email protected]>

* Fixing incorrect case for Timestamp. (hashgraph#282)

Signed-off-by: Joseph Sinclair <[email protected]>

* Adding missed import statement. (hashgraph#283)

Signed-off-by: Joseph Sinclair <[email protected]>

* Fix package name for state/schedule (hashgraph#284)

Original commit of this file uses package com.hedera.hapi.node.state.file
The correct package is com.hedera.hapi.node.state.schedule.

Signed-off-by: Joseph Sinclair <[email protected]>

* change topic number to topicID (hashgraph#286)

Signed-off-by: Lev Povolotsky <[email protected]>

* Update file.proto to use FileID type instead of long for file identification (hashgraph#285)

* Initial commit

* Replace instead of deprecate previous field

* change topic number to topicID (hashgraph#286)

Signed-off-by: Lev Povolotsky <[email protected]>

* Initial commit

* Replace instead of deprecate previous field

---------

Signed-off-by: Lev Povolotsky <[email protected]>
Co-authored-by: Lev Povolotsky <[email protected]>

* Adjusting the state Schedule message to improve implementation. (hashgraph#288)

* Changed body_bytes to original_create_transaction
   * Changed type to TransactionBody
 * Updated comments to clarify several items and correct language

Signed-off-by: Joseph Sinclair <[email protected]>

* Change nft owner and spender identifier from long to AccountID (hashgraph#289)

* Change nft owner and spender identifier from long to AccountID

* Import basic_types.proto for AccountID

Signed-off-by: Kim Rader <[email protected]>

---------

Signed-off-by: Kim Rader <[email protected]>

* Update common.proto, token.proto, token-relation.protp and classes that rely on it to use AccountID and TokenID (hashgraph#290)

* Updated common.proto to use use AccountID and TokenID instead of long

* Updated token.proto to use use AccountID and TokenID instead of long

* Updated token_relation.proto to use use AccountID and TokenID instead of long

* Use NftID instead of UniqueTokenId (hashgraph#292)

Signed-off-by: Kim Rader <[email protected]>

* changed auto_renew_account_number to auto_renew_account_id in topic.proto (hashgraph#293)

changed auto_renew_account_number to auto_renew_account_id

* Add Staking Reward related fields from `MerkleNetworkContext` (hashgraph#295)

* add fields from MerkleNetworkContext

* add fields from MerkleNetworkContext

* doc update

* doc update

* doc update

* doc update

* use snake case throughout protobufs (hashgraph#294)

* Updated last_block_number in BlockInfo to match all others

* Added staked_id, removed staked_number.

* updated number

* Update Schedule state protobuf to add a wait_for_expiry flag. (hashgraph#297)

Updated Schedule state protobuf to add a wait_for_expiry flag.
 * This protobuf is not yet used, so the fields were renumbered for efficient representation.
 * This is in support of resolving Issue #5518

Signed-off-by: Joseph Sinclair <[email protected]>

* update account ids (hashgraph#291)

Update account.proto to use IDs instead of longs

Signed-off-by: Kim Rader <[email protected]>

* Add Protobuf messages for primitive values and a list of Schedules. (hashgraph#299)

* Added primitive.proto which includes ProtoLong, ProtoInteger, ProtoBoolen, ProtoString, and ProtoBytes.
* Added ScheduleList message to schedule.proto

Signed-off-by: Joseph Sinclair <[email protected]>

* Fix the "java_package" (hashgraph#302)

* fix path

Signed-off-by: Neeharika-Sompalli <[email protected]>

* fix comment

---------

Signed-off-by: Neeharika-Sompalli <[email protected]>

* protobuf cleanup (hashgraph#298)

Signed-off-by: Kim Rader <[email protected]>

* Add TransactionGetFastRecord to HederaFunctionality (hashgraph#303)

* Add TransactionGetFastRecord to HederaFunctionality

Signed-off-by: Kim Rader <[email protected]>

---------

Signed-off-by: Kim Rader <[email protected]>

* Revert `NftID#tokenId` to `NftID#tokenID` (hashgraph#306)

* Revert NftID#tokenId to NftID#tokenID

Signed-off-by: Michael Tinker <[email protected]>

* add pre_system_delete_expiration_second

Signed-off-by: Lev Povolotsky <[email protected]>

---------

Signed-off-by: Michael Tinker <[email protected]>
Signed-off-by: Lev Povolotsky <[email protected]>
Co-authored-by: Lev Povolotsky <[email protected]>

* Add throttle and congestion types (hashgraph#304)

* Add ThrottleUsageSnapshots type

Signed-off-by: Miroslav Gatsanoga <[email protected]>

* Add CongestionLevelStarts type

Signed-off-by: Miroslav Gatsanoga <[email protected]>

---------

Signed-off-by: Miroslav Gatsanoga <[email protected]>

* Add migration properties to BlockInfo (hashgraph#310)

Update `BlockInfo` to also include properties needed for migration records

Signed-off-by: Matt Hess <[email protected]>

* Sync with updates from `main` branch (hashgraph#314)

feat: HIP-844 - add signer_nonce field to message ContractFunctionResult (hashgraph#312)

add signer_nonce field to message ContractFunctionResult

Signed-off-by: Stoyan Panayotov <[email protected]>
Co-authored-by: Stoyan Panayotov <[email protected]>

* Sync with changes from main (hashgraph#317)

* feat: HIP-844 - add signer_nonce field to message ContractFunctionResult (hashgraph#312)

add signer_nonce field to message ContractFunctionResult

Signed-off-by: Stoyan Panayotov <[email protected]>

* 315 Added fully-qualified name for a type of `ContractFunctionResult.signer_nonce` (hashgraph#316)

315 Added fully-qualified name for a type of `ContractFunctionResult.signer_nonce`.

Signed-off-by: Ivan Malygin <[email protected]>

---------

Signed-off-by: Stoyan Panayotov <[email protected]>
Signed-off-by: Ivan Malygin <[email protected]>
Signed-off-by: Neeharika-Sompalli <[email protected]>
Co-authored-by: Stoyan Panayotov <[email protected]>
Co-authored-by: Ivan Malygin <[email protected]>

* Protobuf changes for implementation of metadata hips 646, 657 and 765 (hashgraph#313)

Signed-off-by: Thomas Moran <[email protected]>

* Add `BlockInfo#first_cons_time_of_current_block` (hashgraph#311)

Add BlockInfo#first_cons_time_of_current_block

Signed-off-by: Michael Tinker <[email protected]>

* Add pending rewards per node (hashgraph#320)

* add pending rewards per node

* deleted flag for nodes

* Metadata hips 646 657 765 (hashgraph#319)

* Protobuf changes for implementation of metadata hips 646, 657 and 765

Signed-off-by: Thomas Moran <[email protected]>

* adding endpoint for updating an NFT, metadata and key field to getTokenInfo

Signed-off-by: Thomas Moran <[email protected]>

* Temporary workaround for google.protobuf.BytesValue PBJ bug

Signed-off-by: Thomas Moran <[email protected]>

* Addition of metadata to Token Entity

Signed-off-by: Thomas Moran <[email protected]>

* Adding Invalid Metadata Key Response Code

Signed-off-by: Thomas Moran <[email protected]>

* Removing partition verbiage

Signed-off-by: Thomas Moran <[email protected]>

* Reverting to used google.protobuf.BytesValue

Signed-off-by: Thomas Moran <[email protected]>

---------

Signed-off-by: Thomas Moran <[email protected]>

* Revert "Metadata hips 646 657 765 (hashgraph#319)" (hashgraph#322)

This reverts commit ffbd48e.

* Use contract id in slot key (hashgraph#321)

* Add BlockInfo#first_cons_time_of_current_block

Signed-off-by: Michael Tinker <[email protected]>

* Update SlotKey message to use ContractID instead of an int64, in order to be future-proof for sharding

Signed-off-by: Kim Rader <[email protected]>

* Rename contract_number -> contractID

Signed-off-by: Kim Rader <[email protected]>

---------

Signed-off-by: Michael Tinker <[email protected]>
Signed-off-by: Kim Rader <[email protected]>
Co-authored-by: Michael Tinker <[email protected]>
Co-authored-by: Lev Povolotsky <[email protected]>

---------

Signed-off-by: Michael Tinker <[email protected]>
Signed-off-by: Lev Povolotsky <[email protected]>
Signed-off-by: jasperpotts <[email protected]>
Signed-off-by: Joseph Sinclair <[email protected]>
Signed-off-by: Kim Rader <[email protected]>
Signed-off-by: Neeharika-Sompalli <[email protected]>
Signed-off-by: Miroslav Gatsanoga <[email protected]>
Signed-off-by: Matt Hess <[email protected]>
Signed-off-by: Stoyan Panayotov <[email protected]>
Signed-off-by: Ivan Malygin <[email protected]>
Signed-off-by: Thomas Moran <[email protected]>
Co-authored-by: Neeha <[email protected]>
Co-authored-by: Michael Tinker <[email protected]>
Co-authored-by: Richard Bair <[email protected]>
Co-authored-by: Lev Povolotsky <[email protected]>
Co-authored-by: Neeharika-Sompalli <[email protected]>
Co-authored-by: Jasper Potts <[email protected]>
Co-authored-by: jasperpotts <[email protected]>
Co-authored-by: Joseph Sinclair <[email protected]>
Co-authored-by: Kim Rader <[email protected]>
Co-authored-by: Iris Simon <[email protected]>
Co-authored-by: Kim Rader <[email protected]>
Co-authored-by: Lev Povolotsky <[email protected]>
Co-authored-by: Miroslav Gatsanoga <[email protected]>
Co-authored-by: Matt Hess <[email protected]>
Co-authored-by: Stoyan Panayotov <[email protected]>
Co-authored-by: Ivan Malygin <[email protected]>
Co-authored-by: Thomas Moran <[email protected]>
  • Loading branch information
18 people authored Mar 7, 2024
1 parent 6eea2ef commit 0b4d91e
Show file tree
Hide file tree
Showing 30 changed files with 1,520 additions and 29 deletions.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,14 @@ must be paid in ℏ from a cryptocurrency account. The payer authorizes a
fee by signing an appropriate transaction with a sufficient subset of the
Ed25519 key(s) associated to their account.

## Overview of state
State directory and its subdirectories contain the protobuf files that define the state of the network.
The state is divided into the following subdirectories, based on the service modules:
1. [Token](services/state/token) - The state of the Token service.
2. [Consensus](services/state/consensus) - The state of the Consensus service.

The state directory and its subdirectories are in preview and are subject to change.

# For Developers

## Branching
Expand Down
21 changes: 21 additions & 0 deletions services/basic_types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,22 @@ message AccountID {
}
}

/**
* Identifier for a unique token (or "NFT"), used by both contract and token services.
*/
message NftID {
/**
* The (non-fungible) token of which this NFT is an instance; uppercase for "ID"
* for backward compatibility with original definition of this field.
*/
TokenID token_ID = 1;

/**
* The serial number of this NFT within its token type
*/
int64 serial_number = 2;
}

/**
* The ID for a file
*/
Expand Down Expand Up @@ -1150,6 +1166,11 @@ enum HederaFunctionality {
* Generates a pseudorandom number.
*/
UtilPrng = 86;

/**
* Get a record for a transaction.
*/
TransactionGetFastRecord = 87;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion services/contract_call_local.proto
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ message ContractFunctionResult {
repeated ContractNonceInfo contract_nonces = 14;

/**
* If not null this field specifies what the value of the signer account nonce is post transaction execution.
* If not null this field specifies what the value of the signer account nonce is post transaction execution.
* For transactions that don't update the signer nonce, this field should be null.
*/
google.protobuf.Int64Value signer_nonce = 15;
Expand Down
1 change: 0 additions & 1 deletion services/crypto_get_account_balance.proto
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ option java_multiple_files = true;
import "basic_types.proto";
import "query_header.proto";
import "response_header.proto";
import "timestamp.proto";

/**
* Get the balance of a cryptocurrency account. This returns only the balance, so it is a smaller
Expand Down
1 change: 0 additions & 1 deletion services/crypto_get_info.proto
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ import "basic_types.proto";
import "query_header.proto";
import "response_header.proto";
import "crypto_add_live_hash.proto";
import "google/protobuf/wrappers.proto";

/**
* Get all the information about an account, including the balance. This does not get the list of
Expand Down
1 change: 0 additions & 1 deletion services/freeze.proto
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ option java_package = "com.hederahashgraph.api.proto.java";
// <<<pbj.java_package = "com.hedera.hapi.node.freeze">>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;

import "duration.proto";
import "timestamp.proto";
import "basic_types.proto";
import "freeze_type.proto";
Expand Down
1 change: 0 additions & 1 deletion services/response_header.proto
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ option java_package = "com.hederahashgraph.api.proto.java";
// <<<pbj.java_package = "com.hedera.hapi.node.base">>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;

import "transaction_response.proto";
import "query_header.proto";
import "response_code.proto";

Expand Down
67 changes: 67 additions & 0 deletions services/state/blockrecords/block_info.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
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.
* ‍
*/

import "timestamp.proto";

option java_package = "com.hederahashgraph.api.proto.java";
// <<<pbj.java_package = "com.hedera.hapi.node.state.blockrecords">>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;

/**
* Information about ongoing, most recently completed, and last 256 blocks.
*/
message BlockInfo {
/**
* The last block number, this is the last completed immutable block.
*/
int64 last_block_number = 1;
/**
* The consensus time of the first transaction of the last block, this is the last completed immutable block.
*/
Timestamp first_cons_time_of_last_block = 2;
/**
* SHA384 48 byte hashes of the last 256 blocks in single byte array.
* First 48 bytes is the oldest block.
* Last 48 bytes is the newest block, which is the last fully completed immutable block.
* If we are shortly after genesis and there are less than 256 blocks then this could contain less than 256 hashes.
*/
bytes block_hashes = 3;
/**
* The consensus time of the last transaction that was handled by the node. This property is how we 'advance the
* consensus clock', i.e. continually setting this property to the latest consensus timestamp (and thus transaction)
* handled by the node.
*/
Timestamp cons_time_of_last_handled_txn = 4;
/**
* A flag indicating whether migration records have been published. This property should be marked 'false'
* immediately following a node upgrade, and marked 'true' once the migration records (if any) are published, which
* should happen during the first transaction handled by the node.
*/
bool migration_records_streamed = 5;
/**
* The consensus time of the first transaction in the current block; necessary for reconnecting nodes to detect
* when the current block is finished.
*/
Timestamp first_cons_time_of_current_block = 6;
}
50 changes: 50 additions & 0 deletions services/state/blockrecords/running_hashes.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
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";
// <<<pbj.java_package = "com.hedera.hapi.node.state.blockrecords">>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;

/**
* The running hash of a transaction records and the previous 3 running hashes. All hashes are 48 bytes SHA384 hashes. If the
* running hashes do not exist yet then they will be default values witch is empty bytes object or zero length byte array.
*/
message RunningHashes {
/**
* A running hash of all record stream items
*/
bytes running_hash = 1;
/**
* The previous running hash of all record stream items
*/
bytes n_minus_1_running_hash = 2;
/**
* The previous, previous running hash of all record stream items
*/
bytes n_minus_2_running_hash = 3;
/**
* The previous, previous, previous running hash of all record stream items
*/
bytes n_minus_3_running_hash = 4;
}
43 changes: 43 additions & 0 deletions services/state/common.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
syntax = "proto3";
import "basic_types.proto";

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";
// <<<pbj.java_package = "com.hedera.hapi.node.state.common">>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;

/**
* A single 64-bit number identifying a Hedera native entity.
*/
message EntityNumber {
int64 number = 1;
}

/**
* Pair of AccountID and TokenID to represent TokenRelation
*/
message EntityIDPair {
AccountID account_id = 1;
TokenID token_id = 2;
}
41 changes: 41 additions & 0 deletions services/state/congestion/congestion_level_starts.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
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.
* ‍
*/

import "timestamp.proto";

option java_package = "com.hederahashgraph.api.proto.java";
// <<<pbj.java_package = "com.hedera.hapi.node.state.congestion">>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;

message CongestionLevelStarts {
/**
* Timestamps defining generic congestion levels.
*/
repeated Timestamp generic_level_starts = 1;

/**
* Timestamps defining gas congestion levels.
*/
repeated Timestamp gas_level_starts = 2;
}
12 changes: 6 additions & 6 deletions services/state/consensus/topic.proto
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ option java_package = "com.hederahashgraph.api.proto.java";
option java_multiple_files = true;

/**
* First-draft representation of a Hedera Consensus Service topic in the network Merkle tree.
* Representation of a Hedera Consensus Service topic in the network Merkle tree.
*
* As with all network entities, a topic has a unique entity number, which is usually given along
* with the network's shard and realm in the form of a shard.realm.number id.
Expand All @@ -51,27 +51,27 @@ option java_multiple_files = true;
*/
message Topic {
/**
* The topic's unique entity number in the Merkle state.
* The topic's unique id in the Merkle state.
*/
int64 topic_number = 1;
TopicID topic_id = 1;
/**
* The number of messages sent to the topic.
*/
int64 sequence_number = 2;
/**
* The topic's consensus expiration time in seconds since the epoch.
*/
int64 expiry = 3;
int64 expiration_second = 3;
/**
* The number of seconds for which the topic will be automatically renewed
* upon expiring (if it has a valid auto-renew account).
*/
int64 auto_renew_period = 4;
/**
* The number of the account (if any) that the network will attempt to charge for the
* The id of the account (if any) that the network will attempt to charge for the
* topic's auto-renewal upon expiration.
*/
int64 auto_renew_account_number = 5;
AccountID auto_renew_account_id = 5;
/**
* Whether this topic is deleted.
*/
Expand Down
37 changes: 37 additions & 0 deletions services/state/contract/bytecode.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
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";
// <<<pbj.java_package = "com.hedera.hapi.node.state.contract">>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;

/**
* The bytecode for a contract id.
*/
message Bytecode {
/**
* The raw bytes (not hex-encoded) of a contract's bytecode.
*/
bytes code = 1;
}
Loading

0 comments on commit 0b4d91e

Please sign in to comment.