All Downloads are FREE. Search and download functionalities are using the official Maven repository.

shgraph.hedera-protobuf-java-api.0.13.2.source-code.CryptoAddLiveHash.proto Maven / Gradle / Ivy

syntax = "proto3";

package proto;

/*-
 * ‌
 * Hedera Network Services Protobuf
 * ​
 * Copyright (C) 2018 - 2021 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";
option java_multiple_files = true;


import "BasicTypes.proto";
import "Duration.proto";

/* A hash---presumably of some kind of credential or certificate---along with a list of keys, each of which may be either a primitive or a threshold key. */
message LiveHash {
    // The account to which the livehash is attached
    AccountID accountId = 1;
    // The SHA-384 hash of a credential or certificate
    bytes hash = 2;
    // A list of keys (primitive or threshold), all of which must sign to attach the livehash to an account, and any one of which can later delete it.
    KeyList keys = 3;
    // The duration for which the livehash will remain valid
    Duration duration = 5;
}

/* At consensus, attaches the given livehash to the given account.
The hash can be deleted by the key controlling the account, or by any of the keys associated to the livehash.
Hence livehashes provide a revocation service for their implied credentials; for example,
when an authority grants a credential to the account, the account owner will cosign with the authority (or authorities)
to attach a hash of the credential to the account---hence proving the grant. If the credential is revoked, then any of
the authorities may delete it (or the account owner). In this way, the livehash mechanism acts as a revocation service.
An account cannot have two identical livehashes associated. To modify the list of keys in a livehash, the
livehash should first be deleted, then recreated with a new list of keys. */
message CryptoAddLiveHashTransactionBody {
    // A hash of some credential or certificate, along with the keys of the entities that asserted it validity
    LiveHash liveHash = 3;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy