@gleif-it/did-webs-ts
Version:
did-webs typescript library
15 lines (14 loc) • 644 B
JavaScript
import { computeXAndYForSecp256k1 } from '../document/computeXAndYForSecp256k1.js';
import { decodeKey } from '../key/decodeKey.js';
import { generateIdTypeControllerBlock } from './generateIdTypeControllerBlock.js';
export const generateKeyBlock = (controllerDid, key) => ({
...generateIdTypeControllerBlock(key, 'JsonWebKey2020', controllerDid),
publicKeyJwk: {
kid: key,
kty: key.startsWith('1AAA') ? 'EC' : 'OKP',
crv: key.startsWith('1AAA') ? 'secp256k1' : 'Ed25519',
...(key.startsWith('1AAA')
? computeXAndYForSecp256k1(decodeKey(key))
: { x: decodeKey(key) }),
},
});