Predicate
A predicate is a function over the claim that determines whether it meets the clients requirements. The data field is used to store the specific data associated with the predicate.
- DigestMatch: (bytes32, bytes32) -> abi.encodePacked(imageId, journalHash)
 - PrefixMatch: (bytes32, bytes) -> abi.encodePacked(imageId, prefix)
 - ClaimDigestMatch: (bytes32) -> abi.encode(claimDigest)
 
struct Predicate {
    PredicateType predicateType;
    bytes data;
}