Skip to content

Commit

Permalink
Merge branch 'main' into feat/tck-server-dockerize
Browse files Browse the repository at this point in the history
  • Loading branch information
ivaylogarnev-limechain authored Feb 17, 2025
2 parents e06954c + d7f996f commit e821cec
Show file tree
Hide file tree
Showing 36 changed files with 1,792 additions and 731 deletions.

This file was deleted.

31 changes: 18 additions & 13 deletions packages/proto/src/proto/services/basic_types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -726,6 +726,12 @@ enum SubType {
* containing a ContractCall.
*/
SCHEDULE_CREATE_CONTRACT_CALL = 5;

/**
* The resource cost for the transaction type includes a TopicCreate
* with custom fees.
*/
TOPIC_CREATE_WITH_CUSTOM_FEES = 6;
}

/**
Expand Down Expand Up @@ -1193,6 +1199,10 @@ message SignatureMap {
* The transactions and queries supported by Hedera Hashgraph.
*/
enum HederaFunctionality {
// FUTURE - Uncomment when https://github.com/hashgraph/pbj/issues/339 is fixed;
// currently the PBJ-generated unit tests fail when using reserved ordinals
// reserved 96, 97, 98, 99;

/**
* Unused - The first value is unused because this default value is
* ambiguous with an "unset" value and therefore should not be used.
Expand Down Expand Up @@ -1645,29 +1655,24 @@ enum HederaFunctionality {
TokenClaimAirdrop = 95;

/**
* A message produced as part of Threshold Signature Scheme (TSS) processing.
*/
TssMessage = 96;

/**
* Submit a vote as part of the Threshold Signature Scheme (TSS) processing.
* Submit a signature of a state root hash gossiped to other nodes
*/
TssVote = 97;
StateSignatureTransaction = 100;

/**
* Submit a node signature as part of the Threshold Signature Scheme (TSS) processing.
* Sign a particular history assembly.
*/
TssShareSignature = 98;
HistoryAssemblySignature = 104;

/**
* Submit a node public tss encryption key as part of the Threshold Signature Scheme (TSS).
* Publish a roster history proof key to the network.
*/
TssEncryptionKey = 99;
HistoryProofKeyPublication = 105;

/**
* Submit a signature of a state root hash gossiped to other nodes
* Vote for a particular history proof.
*/
StateSignatureTransaction = 100;
HistoryProofVote = 106;
}

/**
Expand Down
45 changes: 45 additions & 0 deletions packages/proto/src/proto/services/consensus_create_topic.proto
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ option java_package = "com.hederahashgraph.api.proto.java";
option java_multiple_files = true;

import "basic_types.proto";
import "custom_fees.proto";
import "duration.proto";

/**
Expand Down Expand Up @@ -135,4 +136,48 @@ message ConsensusCreateTopicTransactionBody {
* key MAY not have any correlation to this account).
*/
AccountID autoRenewAccount = 7;

/**
* Access control for update or delete of custom fees.
* <p>
* If set, subsequent `consensus_update_topic` transactions signed with this
* key MAY update or delete the custom fees for this topic.<br/>
* If not set, the custom fees for this topic SHALL BE immutable.<br/>
* If not set when the topic is created, this field CANNOT be set via
* update.<br/>
* If set when the topic is created, this field MAY be changed via update.
*/
Key fee_schedule_key = 8;

/**
* A set of keys.<br/>
* Keys in this list are permitted to submit messages to this topic without
* paying custom fees associated with this topic.
* <p>
* If a submit transaction is signed by _any_ key included in this set,
* custom fees SHALL NOT be charged for that transaction.<br/>
* This field MUST NOT contain more than 10 keys.<br/>
* fee_exempt_key_list SHALL NOT contain any duplicate keys.<br/>
* fee_exempt_key_list MAY contain keys for accounts that are inactive,
* deleted, or non-existent.<br/>
* If fee_exempt_key_list is unset in this transaction, there SHALL NOT be
* any fee-exempt keys. In particular, the following keys SHALL NOT be
* implicitly or automatically added to this list:
* `adminKey`, `submitKey`, `fee_schedule_key`.
*/
repeated Key fee_exempt_key_list = 9;

/**
* A set of custom fee definitions.<br/>
* These are fees to be assessed for each submit to this topic.
* <p>
* Each fee defined in this set SHALL be evaluated for
* each message submitted to this topic, and the resultant
* total assessed fees SHALL be charged.<br/>
* Custom fees defined here SHALL be assessed in addition to the base
* network and node fees.<br/>
* custom_fees list SHALL NOT contain more than
* `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
*/
repeated FixedCustomFee custom_fees = 10;
}
41 changes: 41 additions & 0 deletions packages/proto/src/proto/services/consensus_topic_info.proto
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ option java_package = "com.hederahashgraph.api.proto.java";
option java_multiple_files = true;

import "basic_types.proto";
import "custom_fees.proto";
import "duration.proto";
import "timestamp.proto";

Expand Down Expand Up @@ -149,4 +150,44 @@ message ConsensusTopicInfo {
* this query.
*/
bytes ledger_id = 9;

/**
* Access control for update/delete of custom fees.
* <p>
* If unset, custom fees CANNOT be set for this topic.<br/>
* If not set when the topic is created, this field CANNOT be set via
* update.<br/>
* If set when the topic is created, this field MAY be changed via update.
*/
Key fee_schedule_key = 10;

/**
* A set of keys.<br/>
* Keys in this list are permitted to submit messages to this topic without
* paying custom fees associated with this topic.
* <p>
* If a topic submit message is signed by _any_ key included in this set,
* custom fees SHALL NOT be charged for that transaction.<br/>
* `fee_exempt_key_list` MAY contain keys for accounts that are inactive,
* deleted, or non-existent.<br/>
* If not set, there SHALL NOT be any fee-exempt keys. In particular, the
* following keys SHALL NOT be implicitly or automatically added to this
* list: `adminKey`, `submitKey`, `fee_schedule_key`.
* A `fee_exempt_key_list` MUST NOT contain more than
* `MAX_ENTRIES_FOR_FEE_EXEMPT_KEY_LIST` keys.
* A `fee_exempt_key_list` MUST NOT contain any duplicate keys.
*/
repeated Key fee_exempt_key_list = 11;

/**
* A set of custom fee definitions.<br/>
* These are fees to be assessed for each submit to this topic.
* <p>
* Each fee defined in this set SHALL be evaluated for
* each message submitted to this topic, and the resultant
* total assessed fees SHALL be charged.<br/>
* Custom fees defined here SHALL be assessed in addition to the base
* network and node fees.
*/
repeated FixedCustomFee custom_fees = 12;
}
53 changes: 53 additions & 0 deletions packages/proto/src/proto/services/consensus_update_topic.proto
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ option java_multiple_files = true;

import "google/protobuf/wrappers.proto";
import "basic_types.proto";
import "custom_fees.proto";
import "duration.proto";
import "timestamp.proto";

Expand Down Expand Up @@ -129,4 +130,56 @@ message ConsensusUpdateTopicTransactionBody {
* `autoRenewAccount` SHALL be removed from the topic.
*/
AccountID autoRenewAccount = 9;

/**
* Access control for update/delete of custom fees.
* <p>
* If set, subsequent consensus_update_topic transactions signed with this
* key MAY update or delete the custom fees for this topic.<br/>
* If this field is set, the admin key MUST sign this transaction.<br/>
* If this field is set, the previous value SHALL be replaced.<br/>
* If set to a 'Key' containing an empty 'KeyList', the previous value
* SHALL be cleared.<br/>
* If not set, the current key SHALL NOT change.<br/>
* If unset in state, this field MUST NOT be set in this transaction.<br/>
* If not set when the topic is created, this field CANNOT be set via
* update.<br/>
*/
Key fee_schedule_key = 10;

/**
* A set of keys<br/>
* Keys in this list are permitted to submit messages to this topic without
* paying custom fees associated with this topic.
* <p>
* If a submit transaction is signed by _any_ key included in this set,
* custom fees SHALL NOT be charged for that transaction.<br/>
* If this field is not set, the current set of keys SHALL NOT change.<br/>
* If this field is set, but contains an empty list, any existing fee-exempt
* keys SHALL be removed.<br/>
* A `fee_exempt_key_list` MUST NOT contain more than
* `MAX_ENTRIES_FOR_FEE_EXEMPT_KEY_LIST` keys.<br/>
* A `fee_exempt_key_list` MUST NOT contain any duplicate keys.<br/>
* A `fee_exempt_key_list` MAY contain keys for accounts that are inactive,
* deleted, or non-existent.
*/
FeeExemptKeyList fee_exempt_key_list = 11;

/**
* A set of custom fee definitions.<br/>
* These are fees to be assessed for each submit to this topic.
* <p>
* Each fee defined in this set SHALL be evaluated for
* each message submitted to this topic, and the resultant
* total assessed fees SHALL be charged.<br/>
* Custom fees defined here SHALL be assessed in addition to the base
* network and node fees.<br/>
* If this field is not set, the current set of custom fees
* SHALL NOT change.<br/>
* If this field is set, but contains an empty list, all current custom fees
* SHALL be removed.
* custom_fees list SHALL NOT contain more than
* `MAX_CUSTOM_FEE_ENTRIES_FOR_TOPICS` entries.
*/
FixedCustomFeeList custom_fees = 12;
}
Loading

0 comments on commit e821cec

Please sign in to comment.