hyperledger/fabric · error

Invalid *IdemixNewOpts. Version not recognized [%v]

Error message

Invalid *IdemixNewOpts. Version not recognized [%v]

What it means

Returned by msp.New when the opts are *IdemixNewOpts but the version is not MSPv1_3/MSPv1_4_3/MSPv1_1. The Idemix MSP constructor only exists for those versions, so any other version number is rejected by the factory.

Source

Thrown at msp/factory.go:77

		}
	case *IdemixNewOpts:
		switch opts.GetVersion() {
		case MSPv1_3, MSPv1_4_3:
			msp, err := idemix.NewIdemixMsp(MSPv1_3)
			if err != nil {
				return nil, err
			}

			return &idemixMSPWrapper{msp.(*idemix.Idemixmsp)}, nil
		case MSPv1_1:
			msp, err := idemix.NewIdemixMsp(MSPv1_1)
			if err != nil {
				return nil, err
			}

			return &idemixMSPWrapper{msp.(*idemix.Idemixmsp)}, nil
		default:
			return nil, errors.Errorf("Invalid *IdemixNewOpts. Version not recognized [%v]", opts.GetVersion())
		}
	default:
		return nil, errors.Errorf("Invalid msp.NewOpts instance. It must be either *BCCSPNewOpts or *IdemixNewOpts. It was [%v]", opts)
	}
}

View on GitHub (pinned to 2736b63f8f)

Solutions

  1. Set IdemixNewOpts version to a supported value (MSPv1_1, MSPv1_3, MSPv1_4_3)
  2. Avoid unsupported Idemix MSP versions
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at msp/factory.go:77 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04). Data as JSON: /api/errors/ed1ad6e8f754a02d. Report an issue: GitHub.