policydsl

package
v0.2.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2026 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Index

Constants

View Source
const (
	GateAnd   = "and"
	GateOr    = "or"
	GateOutOf = "outof"
)

Gate values.

Variables

View Source
var AcceptAllPolicy *cb.SignaturePolicyEnvelope

AcceptAllPolicy always evaluates to true

View Source
var MarshaledAcceptAllPolicy []byte

MarshaledAcceptAllPolicy is the Marshaled version of AcceptAllPolicy

View Source
var MarshaledRejectAllPolicy []byte

MarshaledRejectAllPolicy is the Marshaled version of RejectAllPolicy

View Source
var RejectAllPolicy *cb.SignaturePolicyEnvelope

RejectAllPolicy always evaluates to false

Functions

func And

func And(lhs, rhs *cb.SignaturePolicy) *cb.SignaturePolicy

And is a convenience method which utilizes NOutOf to produce And equivalent behavior

func Envelope

func Envelope(policy *cb.SignaturePolicy, identities [][]byte) *cb.SignaturePolicyEnvelope

Envelope builds an envelope message embedding a SignaturePolicy

func FromString

func FromString(policy string) (*cb.SignaturePolicyEnvelope, error)

FromString takes a string representation of the policy, parses it and returns a SignaturePolicyEnvelope that implements that policy. The supported language is as follows:

GATE(P[, P])
OutOf(N, P[, P])

where:

  • GATE is either "And" or "Or" (case-insensitive)
  • OutOf is case-insensitive
  • P is either a principal or another nested call to GATE or OutOf
  • N is a positive number up to the number of arguments

A principal is defined as:

ORG.ROLE

where:

  • ORG is a string (representing the MSP identifier)
  • ROLE takes the value of admin, member, client, peer, or orderer

func NOutOf

func NOutOf(n int32, policies []*cb.SignaturePolicy) *cb.SignaturePolicy

NOutOf creates a policy which requires N out of the slice of policies to evaluate to true

func Or

func Or(lhs, rhs *cb.SignaturePolicy) *cb.SignaturePolicy

Or is a convenience method which utilizes NOutOf to produce Or equivalent behavior

func SignedBy

func SignedBy(index int32) *cb.SignaturePolicy

SignedBy creates a SignaturePolicy requiring a given signer's signature

func SignedByAnyAdmin

func SignedByAnyAdmin(ids []string) *cb.SignaturePolicyEnvelope

SignedByAnyAdmin returns a policy that requires one valid signature from a admin of any of the orgs whose ids are listed in the supplied string array

func SignedByAnyClient

func SignedByAnyClient(ids []string) *cb.SignaturePolicyEnvelope

SignedByAnyClient returns a policy that requires one valid signature from a client of any of the orgs whose ids are listed in the supplied string array

func SignedByAnyMember

func SignedByAnyMember(ids []string) *cb.SignaturePolicyEnvelope

SignedByAnyMember returns a policy that requires one valid signature from a member of any of the orgs whose ids are listed in the supplied string array

func SignedByAnyPeer

func SignedByAnyPeer(ids []string) *cb.SignaturePolicyEnvelope

SignedByAnyPeer returns a policy that requires one valid signature from an orderer of any of the orgs whose ids are listed in the supplied string array

func SignedByMspAdmin

func SignedByMspAdmin(mspId string) *cb.SignaturePolicyEnvelope

SignedByMspAdmin creates a SignaturePolicyEnvelope requiring 1 signature from any admin of the specified MSP

func SignedByMspClient

func SignedByMspClient(mspId string) *cb.SignaturePolicyEnvelope

SignedByMspClient creates a SignaturePolicyEnvelope requiring 1 signature from any client of the specified MSP

func SignedByMspMember

func SignedByMspMember(mspId string) *cb.SignaturePolicyEnvelope

SignedByMspMember creates a SignaturePolicyEnvelope requiring 1 signature from any member of the specified MSP

func SignedByMspPeer

func SignedByMspPeer(mspId string) *cb.SignaturePolicyEnvelope

SignedByMspPeer creates a SignaturePolicyEnvelope requiring 1 signature from any peer of the specified MSP

func SignedByNOutOfGivenRole

func SignedByNOutOfGivenRole(n int32, role mb.MSPRole_MSPRoleType, ids []string) *cb.SignaturePolicyEnvelope

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL