Skip to content

Commit

Permalink
feat: Add utils for signing
Browse files Browse the repository at this point in the history
  • Loading branch information
DaevMithran committed Mar 24, 2023
1 parent 2ddf7ee commit e60801d
Showing 1 changed file with 33 additions and 1 deletion.
34 changes: 33 additions & 1 deletion src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@ import { v4 } from 'uuid'
import {
VerificationMethod as ProtoVerificationMethod,
Service as ProtoService,
} from "@cheqd/ts-proto/cheqd/did/v2/index.js"
MsgCreateDidDocPayload,
MsgDeactivateDidDocPayload,
} from "@cheqd/ts-proto/cheqd/did/v2"
import { DIDModule } from "./modules/did"

export type TImportableEd25519Key = {
publicKeyHex: string
Expand Down Expand Up @@ -255,3 +258,32 @@ function toMultibaseRaw(key: Uint8Array) {

return bases['base58btc'].encode(multibase);
}

export async function createMsgCreateDidDocPayloadToSign(didPayload: DIDDocument, versionId: string) {
const { protobufVerificationMethod, protobufService } = await DIDModule.validateSpecCompliantPayload(didPayload)
return MsgCreateDidDocPayload.encode(
MsgCreateDidDocPayload.fromPartial({
context: <string[]>didPayload?.['@context'],
id: didPayload.id,
controller: <string[]>didPayload.controller,
verificationMethod: protobufVerificationMethod,
authentication: <string[]>didPayload.authentication,
assertionMethod: <string[]>didPayload.assertionMethod,
capabilityInvocation: <string[]>didPayload.capabilityInvocation,
capabilityDelegation: <string[]>didPayload.capabilityDelegation,
keyAgreement: <string[]>didPayload.keyAgreement,
service: protobufService,
alsoKnownAs: <string[]>didPayload.alsoKnownAs,
versionId,
})
).finish()
}

export function createMsgDeactivateDidDocPayloadToSign(didPayload: DIDDocument, versionId?: string) {
return MsgDeactivateDidDocPayload.encode(
MsgDeactivateDidDocPayload.fromPartial({
id: didPayload.id,
versionId,
})
).finish()
}

0 comments on commit e60801d

Please sign in to comment.