blockstack
Version:
The Blockstack Javascript library for identity and authentication.
64 lines (51 loc) • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.makeDIDFromAddress = makeDIDFromAddress;
exports.makeDIDFromPublicKey = makeDIDFromPublicKey;
exports.getDIDType = getDIDType;
exports.getAddressFromDID = getAddressFromDID;
var _errors = require('./errors');
function makeDIDFromAddress(address) {
return 'did:btc-addr:' + address;
}
function makeDIDFromPublicKey(publicKey) {
return 'did:ecdsa-pub:' + publicKey;
}
function getDIDType(decentralizedID) {
var didParts = decentralizedID.split(':');
if (didParts.length !== 3) {
throw new _errors.InvalidDIDError('Decentralized IDs must have 3 parts');
}
if (didParts[0].toLowerCase() !== 'did') {
throw new _errors.InvalidDIDError('Decentralized IDs must start with "did"');
}
return didParts[1].toLowerCase();
}
function getAddressFromDID(decentralizedID) {
var didType = getDIDType(decentralizedID);
if (didType === 'btc-addr') {
return decentralizedID.split(':')[2];
} else {
return null;
}
}
/*
export function getPublicKeyOrAddressFromDID(decentralizedID) {
const didParts = decentralizedID.split(':')
if (didParts.length !== 3) {
throw new InvalidDIDError('Decentralized IDs must have 3 parts')
}
if (didParts[0].toLowerCase() !== 'did') {
throw new InvalidDIDError('Decentralized IDs must start with "did"')
}
if (didParts[1].toLowerCase() === 'ecdsa-pub') {
return didParts[2]
} else if (didParts[1].toLowerCase() === 'btc-addr') {
return didParts[2]
} else {
throw new InvalidDIDError('Decentralized ID format not supported')
}
}
*/