in pkg/provenance/envelopes.go [66:81]
func getEnvelope(env *dsse.DecodedEnvelope) (*Envelope, error) {
pred := struct {
Type string `json:"_type"`
PredicateType string `json:"predicateType"`
}{}
if err := json.Unmarshal(env.DecodedPayload, &pred); err != nil {
return nil, errors.Wrap(err, "error decoding DSSE env")
}
penv := Envelope{
DecodedEnvelope: env,
IntotoType: pred.Type,
IntotoPredicateType: pred.PredicateType,
}
return &penv, nil
}