UNPKG

blockstack

Version:

The Blockstack Javascript library for authentication, identity, and storage.

65 lines (51 loc) 1.62 kB
'use strict'; 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') } } */