event.state_signature_transaction.proto Maven / Gradle / Ivy
/**
* # State Signature Transaction
* An signature of a state snapshot gossiped to other nodes.
*
* ### 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).
*/
syntax = "proto3";
package com.hedera.hapi.platform.event;
/*
* Hedera Network Services Protobuf
*
* Copyright (C) 2018 - 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.platform.event.legacy";
// <<>> This comment is special code for setting PBJ Compiler java package
option java_multiple_files = true;
/**
* An signature of a state snapshot gossiped to other nodes.
* Each node SHALL hash the root of the merkle tree of a state snapshot every
* round. Once this hash is calculated, it SHOULD be signed with the nodes
* private signing key. This signature, together with the hash SHOULD be added
* to an event as a StateSignatureTransaction.
*/
message StateSignatureTransaction {
/**
* The round number corresponding to the round number of the state snapshot
* being signed.
* This number MUST be greater than 0.
*/
int64 round = 1;
/**
* The signature of state snapshot hash.
* This signature MUST be a RSA signature with a maximum length of 384 bytes.
* The signature algorithm used MUST be RSASSA-PKCS1-v1_5 with SHA-384.
*/
bytes signature = 2;
/**
* The hash of the state snapshot being signed.
* This hash MUST be a SHA-384 hash.
*/
bytes hash = 3;
}