...

Package policy

import "github.com/hyperledger/fabric/core/policy"
Overview
Index
Subdirectories

Overview ▾

func RegisterPolicyCheckerFactory

func RegisterPolicyCheckerFactory(f PolicyCheckerFactory)

RegisterPolicyCheckerFactory is to be called once to set the factory that will be used to obtain instances of PolicyChecker

type PolicyChecker

PolicyChecker offers methods to check a signed proposal against a specific policy defined in a channel or not.

type PolicyChecker interface {
    // CheckPolicy checks that the passed signed proposal is valid with the respect to
    // passed policy on the passed channel.
    // If no channel is passed, CheckPolicyNoChannel is invoked directly.
    CheckPolicy(channelID, policyName string, signedProp *pb.SignedProposal) error

    // CheckPolicyBySignedData checks that the passed signed data is valid with the respect to
    // passed policy on the passed channel.
    // If no channel is passed, the method will fail.
    CheckPolicyBySignedData(channelID, policyName string, sd []*common.SignedData) error

    // CheckPolicyNoChannel checks that the passed signed proposal is valid with the respect to
    // passed policy on the local MSP.
    CheckPolicyNoChannel(policyName string, signedProp *pb.SignedProposal) error
}

func GetPolicyChecker

func GetPolicyChecker() PolicyChecker

GetPolicyChecker returns instances of PolicyChecker; the actual implementation is controlled by the factory that is registered via RegisterPolicyCheckerFactory

func NewPolicyChecker

func NewPolicyChecker(channelPolicyManagerGetter policies.ChannelPolicyManagerGetter, localMSP msp.IdentityDeserializer, principalGetter mgmt.MSPPrincipalGetter) PolicyChecker

NewPolicyChecker creates a new instance of PolicyChecker

type PolicyCheckerFactory

PolicyCheckerFactory defines a factory interface so that the actual implementation can be injected

type PolicyCheckerFactory interface {
    NewPolicyChecker() PolicyChecker
}

Subdirectories

Name Synopsis
..
mocks