-
Notifications
You must be signed in to change notification settings - Fork 136
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: Correct locations of various TSS protos (#15780)
Signed-off-by: Matt Hess <[email protected]> Signed-off-by: Thomas Moran <[email protected]> Co-authored-by: Thomas Moran <[email protected]> Co-authored-by: Joseph S. <[email protected]>
- Loading branch information
1 parent
872ca1a
commit e31afe7
Showing
9 changed files
with
169 additions
and
137 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
98 changes: 98 additions & 0 deletions
98
hapi/hedera-protobufs/services/auxiliary/tss/tss_vote.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
/** | ||
* # Tss Vote Transaction | ||
* | ||
* ### Keywords | ||
* The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||
* "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||
* document are to be interpreted as described in | ||
* [RFC2119](https://www.ietf.org/rfc/rfc2119) and clarified in | ||
* [RFC8174](https://www.ietf.org/rfc/rfc8174). | ||
*/ | ||
syntax = "proto3"; | ||
|
||
package com.hedera.hapi.services.auxiliary.tss; | ||
|
||
/* | ||
* Copyright (C) 2024 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.hedera.hapi.services.auxiliary.tss.legacy"; | ||
// <<<pbj.java_package = "com.hedera.hapi.services.auxiliary.tss">>> This comment is special code for setting PBJ Compiler java package | ||
option java_multiple_files = true; | ||
|
||
/** | ||
* A transaction body to vote on the validity of Threshold Signature Scheme | ||
* (TSS) Messages for a candidate roster. | ||
* | ||
* - A `TssVoteTransactionBody` MUST identify the hash of the roster containing | ||
* the node generating this TssVote | ||
* - A `TssVoteTransactionBody` MUST identify the hash of the roster that the | ||
* TSS messages is for | ||
* - If the candidate roster has received enough yes votes, the candidate | ||
* roster SHALL be adopted. | ||
* - Switching to the candidate roster MUST not happen until enough nodes have | ||
* voted that they have verified a threshold number of TSS messages from the | ||
* active roster. | ||
* - A vote consists of a bit vector of message statuses where each bit | ||
* corresponds to the order of TssMessages as they have come through | ||
* consensus. | ||
* - The threshold for votes to adopt a candidate roster SHALL be at least 1/3 | ||
* of the consensus weight of the active roster to ensure that at least 1 | ||
* honest node has validated the TSS key material. | ||
*/ | ||
message TssVoteTransactionBody { | ||
|
||
/** | ||
* A hash of the roster containing the node generating this TssVote. | ||
*/ | ||
bytes source_roster_hash = 1; | ||
|
||
/** | ||
* A hash of the roster that this TssVote is for. | ||
*/ | ||
bytes target_roster_hash = 2; | ||
|
||
/** | ||
* An identifier (and public key) computed from the TssMessages for the target | ||
* roster. | ||
*/ | ||
bytes ledger_id = 3; | ||
|
||
/** | ||
* A signature produced by the node. | ||
* <p> | ||
* This signature SHALL be produced using the node RSA signing key to sign | ||
* the ledger_id.<br/> | ||
* This signature SHALL be used to establish a chain of trust in the ledger id. | ||
*/ | ||
bytes node_signature = 4; | ||
|
||
/** | ||
* A bit vector of message statuses. | ||
* <p> | ||
* #### Example | ||
* <ul><li>The least significant bit of byte[0] SHALL be the 0th item in the sequence.</li> | ||
* <li>The most significant bit of byte[0] SHALL be the 7th item in the sequence.</li> | ||
* <li>The least significant bit of byte[1] SHALL be the 8th item in the sequence.</li> | ||
* <li>The most significant bit of byte[1] SHALL be the 15th item in the sequence.</li> | ||
* </ul> | ||
* A bit SHALL be set if the `TssMessage` for the `TssMessageTransaction` | ||
* with a sequence number matching that bit index has been | ||
* received, and is valid.<br/> | ||
* A bit SHALL NOT be set if the `TssMessage` has not been received or was | ||
* received but not valid. | ||
*/ | ||
bytes tss_vote = 5; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.