did-provider-quick
Version:
Veramo plugin that can enable creation and control of did:quick identifiers.
35 lines • 1.48 kB
JavaScript
import Debug from 'debug';
import { createWitnessHash, postLeaf } from './utils/witnessApi.js';
const debug = Debug('veramo:did-provider-quick:saveDIDQuickUpdate');
import Arweave from "arweave";
const arweave = Arweave.init({
host: 'arweave.net',
port: 443,
protocol: 'https'
});
export async function saveDIDQuickUpdate(message, agent) {
console.log("saveDIDQuickUpdate 1");
if (message.type === 'did-quick-update' && message.media_type === 'credential+ld+json') {
console.log("saveDIDQuickUpdate 2");
const credential = message.data;
const verification = await agent.verifyCredential({ credential: credential });
if (verification.verified) {
const verifiableCredential = credential;
// TODO: check credential key validity, etc.
if (verifiableCredential.type?.includes('DIDQuickUpdate')) {
const credentialHash = await agent.dataStoreSaveVerifiableCredential({ verifiableCredential: credential });
const witHash = createWitnessHash(credentialHash);
await postLeaf(witHash);
return { success: true, credentialHash };
}
else {
throw Error('Message not of type did-quick-update');
}
}
throw Error('Credential verification failed');
}
else {
throw Error('unknown error in saveDIDQuickUpdate');
}
}
//# sourceMappingURL=saveDIDQuickUpdate.js.map