UNPKG

@sybil-center/zkc-core

Version:
56 lines 4.65 kB
import { popupFeatures, util } from "../util/index.js"; import { toSchemaName } from "../type/schemas.js"; export const GOVERNMENT_ID_TYPES = [ 1, 2, 3, 4, 0, // OTHER - something that we do not support now ]; export class PassportIssuer { constructor(client) { this.client = client; } get providedSchema() { return 0; } ; getChallenge(challengeReq) { return this.client.getChallenge({ path: util.EPs.v1(toSchemaName(this.providedSchema)).challenge, challengeReq, }); } canIssue(entry) { return this.client.canIssue({ path: util.EPs.v1(toSchemaName(this.providedSchema)).canIssue, canIssueReq: entry }); } issue(issueReq) { return this.client.issue({ path: util.EPs.v1(toSchemaName(this.providedSchema)).issue, issueReq: issueReq }); } async issueCred(args) { const { proof: { subjectId, signFn }, options } = args; const challengeReq = { subjectId: subjectId, options: options }; const challenge = await this.getChallenge(challengeReq); const popup = window.open(challenge.verifyURL, "_blank", options?.windowFeature ? options.windowFeature : popupFeatures()); if (!popup) throw new Error(`Can not open popup window to authenticate in Discord`); const result = await util.repeat((r) => (r instanceof Error) ? true : r, 1000, async () => { return (await this.canIssue({ sessionId: challenge.sessionId })).canIssue; }); if (result instanceof Error) throw result; const signature = await signFn({ message: challenge.message }); return this.issue({ sessionId: challenge.sessionId, signature: signature }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3BvcnQtaXNzdWVyLmpzIiwic291cmNlUm9vdCI6Ii4vc3JjLyIsInNvdXJjZXMiOlsiaXNzdWVyL3Bhc3Nwb3J0LWlzc3Vlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUkxRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxDQUFDO0lBQ0QsQ0FBQztJQUNELENBQUM7SUFDRCxDQUFDO0lBQ0QsQ0FBQyxFQUFFLCtDQUErQztDQUMxQyxDQUFDO0FBOEJYLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ21CLE1BQWtCO1FBQWxCLFdBQU0sR0FBTixNQUFNLENBQVk7SUFDbEMsQ0FBQztJQUVKLElBQUksY0FBYyxLQUFhLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQztJQUFBLENBQUM7SUFFMUMsWUFBWSxDQUNWLFlBQXdDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzlELFlBQVk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUNOLEtBQWdDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDMUIsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQzdELFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBZ0M7UUFDcEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDMUQsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFHZjtRQUNDLE1BQU0sRUFDSixLQUFLLEVBQUUsRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNQLEVBQUUsT0FBTyxFQUNYLEdBQUcsSUFBSSxDQUFDO1FBQ1QsTUFBTSxZQUFZLEdBQStCO1lBQy9DLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDdkIsU0FBUyxDQUFDLFNBQVMsRUFDbkIsUUFBUSxFQUNSLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUNqRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDcEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUM5QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN0QyxJQUFJLEVBQ0osS0FBSyxJQUFJLEVBQUU7WUFDVCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzVFLENBQUMsQ0FDRixDQUFDO1FBQ0YsSUFBSSxNQUFNLFlBQVksS0FBSztZQUFFLE1BQU0sTUFBTSxDQUFDO1FBQzFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNoQixTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVM7WUFDOUIsU0FBUyxFQUFFLFNBQVM7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=