// Copyright the Hyperledger Fabric contributors. All rights reserved.
//
// SPDX-License-Identifier: Apache-2.0

syntax = "proto3";

option java_package = "org.hyperledger.fabric.protos.peer.lifecycle";
option go_package = "github.com/hyperledger/fabric-protos-go/peer/lifecycle";

package lifecycle;

// These protos are used for encoding chaincode definitions into the statedb
// in general, it should not be necessary for clients to utilize them.

// ChaincodeEndorsementInfo is (most) everything the peer needs to know in order
// to execute a chaincode
message ChaincodeEndorsementInfo {
    string version = 1;
    bool init_required = 2;
    string endorsement_plugin = 3;
}

// ValidationInfo is (most) everything the peer needs to know in order
// to validate a transaction
message ChaincodeValidationInfo {
    string validation_plugin = 1;
    bytes validation_parameter = 2;
}

// The notable omission in this file is the collection configuration info.
// It should be moved to this package, but... defering for now.
