1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const errors_1 = require("./errors");
|
4 |
|
5 |
|
6 |
|
7 | function makeDIDFromAddress(address) {
|
8 | return `did:btc-addr:${address}`;
|
9 | }
|
10 | exports.makeDIDFromAddress = makeDIDFromAddress;
|
11 |
|
12 |
|
13 |
|
14 | function makeDIDFromPublicKey(publicKey) {
|
15 | return `did:ecdsa-pub:${publicKey}`;
|
16 | }
|
17 | exports.makeDIDFromPublicKey = makeDIDFromPublicKey;
|
18 |
|
19 |
|
20 |
|
21 | function getDIDType(decentralizedID) {
|
22 | const didParts = decentralizedID.split(':');
|
23 | if (didParts.length !== 3) {
|
24 | throw new errors_1.InvalidDIDError('Decentralized IDs must have 3 parts');
|
25 | }
|
26 | if (didParts[0].toLowerCase() !== 'did') {
|
27 | throw new errors_1.InvalidDIDError('Decentralized IDs must start with "did"');
|
28 | }
|
29 | return didParts[1].toLowerCase();
|
30 | }
|
31 | exports.getDIDType = getDIDType;
|
32 |
|
33 |
|
34 |
|
35 | function getAddressFromDID(decentralizedID) {
|
36 | const didType = getDIDType(decentralizedID);
|
37 | if (didType === 'btc-addr') {
|
38 | return decentralizedID.split(':')[2];
|
39 | }
|
40 | else {
|
41 | return null;
|
42 | }
|
43 | }
|
44 | exports.getAddressFromDID = getAddressFromDID;
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
\ | No newline at end of file |