31 lines
		
	
	
		
			1007 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1007 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Collections.Immutable;
 | |
| using System.Threading;
 | |
| using System.Threading.Tasks;
 | |
| 
 | |
| namespace StellaOps.Excititor.Core;
 | |
| 
 | |
| public interface IVexAttestationClient
 | |
| {
 | |
|     ValueTask<VexAttestationResponse> SignAsync(VexAttestationRequest request, CancellationToken cancellationToken);
 | |
| 
 | |
|     ValueTask<VexAttestationVerification> VerifyAsync(VexAttestationRequest request, CancellationToken cancellationToken);
 | |
| }
 | |
| 
 | |
| public sealed record VexAttestationRequest(
 | |
|     string ExportId,
 | |
|     VexQuerySignature QuerySignature,
 | |
|     VexContentAddress Artifact,
 | |
|     VexExportFormat Format,
 | |
|     DateTimeOffset CreatedAt,
 | |
|     ImmutableArray<string> SourceProviders,
 | |
|     ImmutableDictionary<string, string> Metadata);
 | |
| 
 | |
| public sealed record VexAttestationResponse(
 | |
|     VexAttestationMetadata Attestation,
 | |
|     ImmutableDictionary<string, string> Diagnostics);
 | |
| 
 | |
| public sealed record VexAttestationVerification(
 | |
|     bool IsValid,
 | |
|     ImmutableDictionary<string, string> Diagnostics);
 |