You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.0 KiB
63 lines
2.0 KiB
import { GenericVerifiableCredential } from "./common";
|
|
|
|
export interface AgreeVerifiableCredential {
|
|
"@context": string;
|
|
"@type": string;
|
|
object: Record<string, unknown>;
|
|
}
|
|
|
|
// Note that previous VCs may have additional fields.
|
|
// https://endorser.ch/doc/html/transactions.html#id4
|
|
export interface GiveVerifiableCredential extends GenericVerifiableCredential {
|
|
"@context"?: string;
|
|
"@type": "GiveAction";
|
|
agent?: { identifier: string };
|
|
description?: string;
|
|
fulfills?: { "@type": string; identifier?: string; lastClaimId?: string }[];
|
|
identifier?: string;
|
|
image?: string;
|
|
object?: { amountOfThisGood: number; unitCode: string };
|
|
provider?: GenericVerifiableCredential;
|
|
recipient?: { identifier: string };
|
|
}
|
|
|
|
// Note that previous VCs may have additional fields.
|
|
// https://endorser.ch/doc/html/transactions.html#id8
|
|
export interface OfferVerifiableCredential extends GenericVerifiableCredential {
|
|
"@context"?: string;
|
|
"@type": "Offer";
|
|
description?: string;
|
|
includesObject?: { amountOfThisGood: number; unitCode: string };
|
|
itemOffered?: {
|
|
description?: string;
|
|
isPartOf?: { identifier?: string; lastClaimId?: string; "@type"?: string };
|
|
};
|
|
offeredBy?: { identifier: string };
|
|
recipient?: { identifier: string };
|
|
validThrough?: string;
|
|
}
|
|
|
|
// Note that previous VCs may have additional fields.
|
|
// https://endorser.ch/doc/html/transactions.html#id7
|
|
export interface PlanVerifiableCredential extends GenericVerifiableCredential {
|
|
"@context": "https://schema.org";
|
|
"@type": "PlanAction";
|
|
name: string;
|
|
agent?: { identifier: string };
|
|
description?: string;
|
|
identifier?: string;
|
|
lastClaimId?: string;
|
|
location?: {
|
|
geo: { "@type": "GeoCoordinates"; latitude: number; longitude: number };
|
|
};
|
|
}
|
|
|
|
// AKA Registration & RegisterAction
|
|
export interface RegisterVerifiableCredential {
|
|
"@context": string;
|
|
"@type": "RegisterAction";
|
|
agent: { identifier: string };
|
|
identifier?: string;
|
|
object: string;
|
|
participant?: { identifier: string };
|
|
}
|
|
|