@credo-ts/cheqd 0.4.1-alpha.157
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +31 -0
- package/build/CheqdModule.d.ts +9 -0
- package/build/CheqdModule.js +31 -0
- package/build/CheqdModule.js.map +1 -0
- package/build/CheqdModuleConfig.d.ts +17 -0
- package/build/CheqdModuleConfig.js +14 -0
- package/build/CheqdModuleConfig.js.map +1 -0
- package/build/anoncreds/index.d.ts +1 -0
- package/build/anoncreds/index.js +6 -0
- package/build/anoncreds/index.js.map +1 -0
- package/build/anoncreds/services/CheqdAnonCredsRegistry.d.ts +19 -0
- package/build/anoncreds/services/CheqdAnonCredsRegistry.js +264 -0
- package/build/anoncreds/services/CheqdAnonCredsRegistry.js.map +1 -0
- package/build/anoncreds/utils/identifiers.d.ts +12 -0
- package/build/anoncreds/utils/identifiers.js +53 -0
- package/build/anoncreds/utils/identifiers.js.map +1 -0
- package/build/anoncreds/utils/transform.d.ts +43 -0
- package/build/anoncreds/utils/transform.js +170 -0
- package/build/anoncreds/utils/transform.js.map +1 -0
- package/build/dids/CheqdDidRegistrar.d.ts +72 -0
- package/build/dids/CheqdDidRegistrar.js +320 -0
- package/build/dids/CheqdDidRegistrar.js.map +1 -0
- package/build/dids/CheqdDidResolver.d.ts +24 -0
- package/build/dids/CheqdDidResolver.js +170 -0
- package/build/dids/CheqdDidResolver.js.map +1 -0
- package/build/dids/didCheqdUtil.d.ts +28 -0
- package/build/dids/didCheqdUtil.js +129 -0
- package/build/dids/didCheqdUtil.js.map +1 -0
- package/build/dids/index.d.ts +2 -0
- package/build/dids/index.js +8 -0
- package/build/dids/index.js.map +1 -0
- package/build/index.d.ts +5 -0
- package/build/index.js +17 -0
- package/build/index.js.map +1 -0
- package/build/ledger/CheqdLedgerService.d.ts +33 -0
- package/build/ledger/CheqdLedgerService.js +92 -0
- package/build/ledger/CheqdLedgerService.js.map +1 -0
- package/build/ledger/index.d.ts +1 -0
- package/build/ledger/index.js +6 -0
- package/build/ledger/index.js.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheqdDidRegistrar.js","sourceRoot":"","sources":["../../src/dids/CheqdDidRegistrar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Metadata } from '@cheqd/ts-proto/cheqd/resource/v2';
|
|
2
|
+
import type { AgentContext, DidResolutionResult, DidResolver, ParsedDid } from '@credo-ts/core';
|
|
3
|
+
export declare class CheqdDidResolver implements DidResolver {
|
|
4
|
+
readonly supportedMethods: string[];
|
|
5
|
+
readonly allowsCaching = true;
|
|
6
|
+
resolve(agentContext: AgentContext, did: string, parsed: ParsedDid): Promise<DidResolutionResult>;
|
|
7
|
+
resolveResource(agentContext: AgentContext, did: string): Promise<{
|
|
8
|
+
error: string;
|
|
9
|
+
message: string;
|
|
10
|
+
resource?: undefined;
|
|
11
|
+
resourceMetadata?: undefined;
|
|
12
|
+
resourceResolutionMetadata?: undefined;
|
|
13
|
+
} | {
|
|
14
|
+
resource: any;
|
|
15
|
+
resourceMetadata: Metadata;
|
|
16
|
+
resourceResolutionMetadata: {};
|
|
17
|
+
error?: undefined;
|
|
18
|
+
message?: undefined;
|
|
19
|
+
}>;
|
|
20
|
+
private resolveAllDidDocVersions;
|
|
21
|
+
private dereferenceCollectionResources;
|
|
22
|
+
private dereferenceResourceMetadata;
|
|
23
|
+
private resolveDidDoc;
|
|
24
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CheqdDidResolver = void 0;
|
|
4
|
+
const core_1 = require("@credo-ts/core");
|
|
5
|
+
const identifiers_1 = require("../anoncreds/utils/identifiers");
|
|
6
|
+
const ledger_1 = require("../ledger");
|
|
7
|
+
const didCheqdUtil_1 = require("./didCheqdUtil");
|
|
8
|
+
class CheqdDidResolver {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.supportedMethods = ['cheqd'];
|
|
11
|
+
this.allowsCaching = true;
|
|
12
|
+
}
|
|
13
|
+
async resolve(agentContext, did, parsed) {
|
|
14
|
+
var _a, _b, _c, _d, _e;
|
|
15
|
+
const didDocumentMetadata = {};
|
|
16
|
+
try {
|
|
17
|
+
const parsedDid = (0, identifiers_1.parseCheqdDid)(parsed.didUrl);
|
|
18
|
+
if (!parsedDid) {
|
|
19
|
+
throw new Error('Invalid DID');
|
|
20
|
+
}
|
|
21
|
+
switch (did) {
|
|
22
|
+
case (_a = did.match(identifiers_1.cheqdDidRegex)) === null || _a === void 0 ? void 0 : _a.input:
|
|
23
|
+
return await this.resolveDidDoc(agentContext, parsedDid.did);
|
|
24
|
+
case (_b = did.match(identifiers_1.cheqdDidVersionRegex)) === null || _b === void 0 ? void 0 : _b.input: {
|
|
25
|
+
const version = did.split('/')[2];
|
|
26
|
+
return await this.resolveDidDoc(agentContext, parsedDid.did, version);
|
|
27
|
+
}
|
|
28
|
+
case (_c = did.match(identifiers_1.cheqdDidVersionsRegex)) === null || _c === void 0 ? void 0 : _c.input:
|
|
29
|
+
return await this.resolveAllDidDocVersions(agentContext, parsedDid);
|
|
30
|
+
case (_d = did.match(identifiers_1.cheqdDidMetadataRegex)) === null || _d === void 0 ? void 0 : _d.input:
|
|
31
|
+
return await this.dereferenceCollectionResources(agentContext, parsedDid);
|
|
32
|
+
case (_e = did.match(identifiers_1.cheqdResourceMetadataRegex)) === null || _e === void 0 ? void 0 : _e.input:
|
|
33
|
+
return await this.dereferenceResourceMetadata(agentContext, parsedDid);
|
|
34
|
+
default:
|
|
35
|
+
return {
|
|
36
|
+
didDocument: null,
|
|
37
|
+
didDocumentMetadata,
|
|
38
|
+
didResolutionMetadata: {
|
|
39
|
+
error: 'Invalid request',
|
|
40
|
+
message: `Unsupported did Url: '${did}'`,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
return {
|
|
47
|
+
didDocument: null,
|
|
48
|
+
didDocumentMetadata,
|
|
49
|
+
didResolutionMetadata: {
|
|
50
|
+
error: 'notFound',
|
|
51
|
+
message: `resolver_error: Unable to resolve did '${did}': ${error}`,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async resolveResource(agentContext, did) {
|
|
57
|
+
var _a;
|
|
58
|
+
const cheqdLedgerService = agentContext.dependencyManager.resolve(ledger_1.CheqdLedgerService);
|
|
59
|
+
try {
|
|
60
|
+
const parsedDid = (0, identifiers_1.parseCheqdDid)(did);
|
|
61
|
+
if (!parsedDid) {
|
|
62
|
+
throw new Error('Invalid DID');
|
|
63
|
+
}
|
|
64
|
+
const { params, id } = parsedDid;
|
|
65
|
+
let resourceId;
|
|
66
|
+
if ((_a = did.match(identifiers_1.cheqdResourceRegex)) === null || _a === void 0 ? void 0 : _a.input) {
|
|
67
|
+
resourceId = did.split('/')[2];
|
|
68
|
+
}
|
|
69
|
+
else if (params && params.resourceName && params.resourceType) {
|
|
70
|
+
let resources = (await cheqdLedgerService.resolveCollectionResources(parsedDid.did, id)).resources;
|
|
71
|
+
resources = (0, didCheqdUtil_1.filterResourcesByNameAndType)(resources, params.resourceName, params.resourceType);
|
|
72
|
+
if (!resources.length) {
|
|
73
|
+
throw new Error(`No resources found`);
|
|
74
|
+
}
|
|
75
|
+
let resource;
|
|
76
|
+
if (params.version) {
|
|
77
|
+
resource = resources.find((resource) => resource.version == params.version);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
const date = params.resourceVersionTime ? new Date(Number(params.resourceVersionTime) * 1000) : new Date();
|
|
81
|
+
// find the resourceId closest to the created time
|
|
82
|
+
resource = (0, didCheqdUtil_1.getClosestResourceVersion)(resources, date);
|
|
83
|
+
}
|
|
84
|
+
if (!resource) {
|
|
85
|
+
throw new Error(`No resources found`);
|
|
86
|
+
}
|
|
87
|
+
resourceId = resource.id;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return {
|
|
91
|
+
error: 'notFound',
|
|
92
|
+
message: `resolver_error: Invalid did url '${did}'`,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
if (!core_1.utils.isValidUuid(resourceId)) {
|
|
96
|
+
throw new Error('Invalid resource Id');
|
|
97
|
+
}
|
|
98
|
+
const { resource, metadata } = await cheqdLedgerService.resolveResource(parsedDid.did, id, resourceId);
|
|
99
|
+
if (!resource || !metadata) {
|
|
100
|
+
throw new Error('resolver_error: Unable to resolve resource, Please try again');
|
|
101
|
+
}
|
|
102
|
+
const result = await (0, didCheqdUtil_1.renderResourceData)(resource.data, metadata.mediaType);
|
|
103
|
+
return {
|
|
104
|
+
resource: result,
|
|
105
|
+
resourceMetadata: metadata,
|
|
106
|
+
resourceResolutionMetadata: {},
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
return {
|
|
111
|
+
error: 'notFound',
|
|
112
|
+
message: `resolver_error: Unable to resolve resource '${did}': ${error}`,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async resolveAllDidDocVersions(agentContext, parsedDid) {
|
|
117
|
+
const cheqdLedgerService = agentContext.dependencyManager.resolve(ledger_1.CheqdLedgerService);
|
|
118
|
+
const { did } = parsedDid;
|
|
119
|
+
const { didDocumentVersionsMetadata } = await cheqdLedgerService.resolveMetadata(did);
|
|
120
|
+
return {
|
|
121
|
+
didDocument: new core_1.DidDocument({ id: did }),
|
|
122
|
+
didDocumentMetadata: didDocumentVersionsMetadata,
|
|
123
|
+
didResolutionMetadata: {},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
async dereferenceCollectionResources(agentContext, parsedDid) {
|
|
127
|
+
const cheqdLedgerService = agentContext.dependencyManager.resolve(ledger_1.CheqdLedgerService);
|
|
128
|
+
const { did, id } = parsedDid;
|
|
129
|
+
const metadata = await cheqdLedgerService.resolveCollectionResources(did, id);
|
|
130
|
+
return {
|
|
131
|
+
didDocument: new core_1.DidDocument({ id: did }),
|
|
132
|
+
didDocumentMetadata: {
|
|
133
|
+
linkedResourceMetadata: metadata,
|
|
134
|
+
},
|
|
135
|
+
didResolutionMetadata: {},
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
async dereferenceResourceMetadata(agentContext, parsedDid) {
|
|
139
|
+
const cheqdLedgerService = agentContext.dependencyManager.resolve(ledger_1.CheqdLedgerService);
|
|
140
|
+
const { did, id } = parsedDid;
|
|
141
|
+
if (!parsedDid.path) {
|
|
142
|
+
throw new core_1.CredoError(`Missing path in did ${parsedDid.did}`);
|
|
143
|
+
}
|
|
144
|
+
const [, , resourceId] = parsedDid.path.split('/');
|
|
145
|
+
if (!resourceId) {
|
|
146
|
+
throw new core_1.CredoError(`Missing resource id in didUrl ${parsedDid.didUrl}`);
|
|
147
|
+
}
|
|
148
|
+
const metadata = await cheqdLedgerService.resolveResourceMetadata(did, id, resourceId);
|
|
149
|
+
return {
|
|
150
|
+
didDocument: new core_1.DidDocument({ id: did }),
|
|
151
|
+
didDocumentMetadata: {
|
|
152
|
+
linkedResourceMetadata: metadata,
|
|
153
|
+
},
|
|
154
|
+
didResolutionMetadata: {},
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
async resolveDidDoc(agentContext, did, version) {
|
|
158
|
+
const cheqdLedgerService = agentContext.dependencyManager.resolve(ledger_1.CheqdLedgerService);
|
|
159
|
+
const { didDocument, didDocumentMetadata } = await cheqdLedgerService.resolve(did, version);
|
|
160
|
+
const { resources } = await cheqdLedgerService.resolveCollectionResources(did, did.split(':')[3]);
|
|
161
|
+
didDocumentMetadata.linkedResourceMetadata = resources;
|
|
162
|
+
return {
|
|
163
|
+
didDocument: core_1.JsonTransformer.fromJSON(didDocument, core_1.DidDocument),
|
|
164
|
+
didDocumentMetadata,
|
|
165
|
+
didResolutionMetadata: {},
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.CheqdDidResolver = CheqdDidResolver;
|
|
170
|
+
//# sourceMappingURL=CheqdDidResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheqdDidResolver.js","sourceRoot":"","sources":["../../src/dids/CheqdDidResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { CheqdNetwork, DIDDocument, MethodSpecificIdAlgo, TVerificationKey } from '@cheqd/sdk';
|
|
2
|
+
import type { Metadata } from '@cheqd/ts-proto/cheqd/resource/v2';
|
|
3
|
+
import { VerificationMethods } from '@cheqd/sdk';
|
|
4
|
+
import { EnglishMnemonic as _ } from '@cosmjs/crypto';
|
|
5
|
+
import { DirectSecp256k1HdWallet, DirectSecp256k1Wallet } from '@cosmjs/proto-signing';
|
|
6
|
+
import { DidDocument } from '@credo-ts/core';
|
|
7
|
+
export declare function validateSpecCompliantPayload(didDocument: DidDocument): SpecValidationResult;
|
|
8
|
+
export declare function createMsgCreateDidDocPayloadToSign(didPayload: DIDDocument, versionId: string): Promise<Uint8Array>;
|
|
9
|
+
export declare function createMsgDeactivateDidDocPayloadToSign(didPayload: DIDDocument, versionId?: string): Uint8Array;
|
|
10
|
+
export type SpecValidationResult = {
|
|
11
|
+
valid: boolean;
|
|
12
|
+
error?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function generateDidDoc(options: IDidDocOptions): DidDocument;
|
|
15
|
+
export interface IDidDocOptions {
|
|
16
|
+
verificationMethod: VerificationMethods;
|
|
17
|
+
verificationMethodId: TVerificationKey<string, number>;
|
|
18
|
+
methodSpecificIdAlgo: MethodSpecificIdAlgo;
|
|
19
|
+
network: CheqdNetwork;
|
|
20
|
+
publicKey: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function getClosestResourceVersion(resources: Metadata[], date: Date): Metadata;
|
|
23
|
+
export declare function filterResourcesByNameAndType(resources: Metadata[], name: string, type: string): Metadata[];
|
|
24
|
+
export declare function renderResourceData(data: Uint8Array, mimeType: string): Promise<any>;
|
|
25
|
+
export declare class EnglishMnemonic extends _ {
|
|
26
|
+
static readonly _mnemonicMatcher: RegExp;
|
|
27
|
+
}
|
|
28
|
+
export declare function getCosmosPayerWallet(cosmosPayerSeed?: string): Promise<DirectSecp256k1HdWallet> | Promise<DirectSecp256k1Wallet>;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCosmosPayerWallet = exports.EnglishMnemonic = exports.renderResourceData = exports.filterResourcesByNameAndType = exports.getClosestResourceVersion = exports.generateDidDoc = exports.createMsgDeactivateDidDocPayloadToSign = exports.createMsgCreateDidDocPayloadToSign = exports.validateSpecCompliantPayload = void 0;
|
|
4
|
+
const sdk_1 = require("@cheqd/sdk");
|
|
5
|
+
const v2_1 = require("@cheqd/ts-proto/cheqd/did/v2");
|
|
6
|
+
const crypto_1 = require("@cosmjs/crypto");
|
|
7
|
+
const proto_signing_1 = require("@cosmjs/proto-signing");
|
|
8
|
+
const core_1 = require("@credo-ts/core");
|
|
9
|
+
function validateSpecCompliantPayload(didDocument) {
|
|
10
|
+
var _a;
|
|
11
|
+
// id is required, validated on both compile and runtime
|
|
12
|
+
if (!didDocument.id && !didDocument.id.startsWith('did:cheqd:'))
|
|
13
|
+
return { valid: false, error: 'id is required' };
|
|
14
|
+
// verificationMethod is required
|
|
15
|
+
if (!didDocument.verificationMethod)
|
|
16
|
+
return { valid: false, error: 'verificationMethod is required' };
|
|
17
|
+
// verificationMethod must be an array
|
|
18
|
+
if (!Array.isArray(didDocument.verificationMethod))
|
|
19
|
+
return { valid: false, error: 'verificationMethod must be an array' };
|
|
20
|
+
// verificationMethod must be not be empty
|
|
21
|
+
if (!didDocument.verificationMethod.length)
|
|
22
|
+
return { valid: false, error: 'verificationMethod must be not be empty' };
|
|
23
|
+
// verificationMethod types must be supported
|
|
24
|
+
const isValidVerificationMethod = didDocument.verificationMethod.every((vm) => {
|
|
25
|
+
switch (vm.type) {
|
|
26
|
+
case sdk_1.VerificationMethods.Ed255192020:
|
|
27
|
+
return vm.publicKeyMultibase != null;
|
|
28
|
+
case sdk_1.VerificationMethods.JWK:
|
|
29
|
+
return vm.publicKeyJwk != null;
|
|
30
|
+
case sdk_1.VerificationMethods.Ed255192018:
|
|
31
|
+
return vm.publicKeyBase58 != null;
|
|
32
|
+
default:
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
if (!isValidVerificationMethod)
|
|
37
|
+
return { valid: false, error: 'verificationMethod publicKey is Invalid' };
|
|
38
|
+
const isValidService = didDocument.service
|
|
39
|
+
? (_a = didDocument === null || didDocument === void 0 ? void 0 : didDocument.service) === null || _a === void 0 ? void 0 : _a.every((s) => {
|
|
40
|
+
return (s === null || s === void 0 ? void 0 : s.serviceEndpoint) && (s === null || s === void 0 ? void 0 : s.id) && (s === null || s === void 0 ? void 0 : s.type);
|
|
41
|
+
})
|
|
42
|
+
: true;
|
|
43
|
+
if (!isValidService)
|
|
44
|
+
return { valid: false, error: 'Service is Invalid' };
|
|
45
|
+
return { valid: true };
|
|
46
|
+
}
|
|
47
|
+
exports.validateSpecCompliantPayload = validateSpecCompliantPayload;
|
|
48
|
+
// Create helpers in sdk like MsgCreateDidDocPayload.fromDIDDocument to replace the below
|
|
49
|
+
async function createMsgCreateDidDocPayloadToSign(didPayload, versionId) {
|
|
50
|
+
var _a;
|
|
51
|
+
didPayload.service = (_a = didPayload.service) === null || _a === void 0 ? void 0 : _a.map((e) => {
|
|
52
|
+
return Object.assign(Object.assign({}, e), { serviceEndpoint: Array.isArray(e.serviceEndpoint) ? e.serviceEndpoint : [e.serviceEndpoint] });
|
|
53
|
+
});
|
|
54
|
+
const { protobufVerificationMethod, protobufService } = await sdk_1.DIDModule.validateSpecCompliantPayload(didPayload);
|
|
55
|
+
return v2_1.MsgCreateDidDocPayload.encode(v2_1.MsgCreateDidDocPayload.fromPartial({
|
|
56
|
+
context: didPayload === null || didPayload === void 0 ? void 0 : didPayload['@context'],
|
|
57
|
+
id: didPayload.id,
|
|
58
|
+
controller: didPayload.controller,
|
|
59
|
+
verificationMethod: protobufVerificationMethod,
|
|
60
|
+
authentication: didPayload.authentication,
|
|
61
|
+
assertionMethod: didPayload.assertionMethod,
|
|
62
|
+
capabilityInvocation: didPayload.capabilityInvocation,
|
|
63
|
+
capabilityDelegation: didPayload.capabilityDelegation,
|
|
64
|
+
keyAgreement: didPayload.keyAgreement,
|
|
65
|
+
service: protobufService,
|
|
66
|
+
alsoKnownAs: didPayload.alsoKnownAs,
|
|
67
|
+
versionId,
|
|
68
|
+
})).finish();
|
|
69
|
+
}
|
|
70
|
+
exports.createMsgCreateDidDocPayloadToSign = createMsgCreateDidDocPayloadToSign;
|
|
71
|
+
function createMsgDeactivateDidDocPayloadToSign(didPayload, versionId) {
|
|
72
|
+
return v2_1.MsgDeactivateDidDocPayload.encode(v2_1.MsgDeactivateDidDocPayload.fromPartial({
|
|
73
|
+
id: didPayload.id,
|
|
74
|
+
versionId,
|
|
75
|
+
})).finish();
|
|
76
|
+
}
|
|
77
|
+
exports.createMsgDeactivateDidDocPayloadToSign = createMsgDeactivateDidDocPayloadToSign;
|
|
78
|
+
function generateDidDoc(options) {
|
|
79
|
+
const { verificationMethod, methodSpecificIdAlgo, verificationMethodId, network, publicKey } = options;
|
|
80
|
+
const verificationKeys = (0, sdk_1.createVerificationKeys)(publicKey, methodSpecificIdAlgo, verificationMethodId, network);
|
|
81
|
+
if (!verificationKeys) {
|
|
82
|
+
throw new Error('Invalid DID options');
|
|
83
|
+
}
|
|
84
|
+
const verificationMethods = (0, sdk_1.createDidVerificationMethod)([verificationMethod], [verificationKeys]);
|
|
85
|
+
const didPayload = (0, sdk_1.createDidPayload)(verificationMethods, [verificationKeys]);
|
|
86
|
+
return core_1.JsonTransformer.fromJSON(didPayload, core_1.DidDocument);
|
|
87
|
+
}
|
|
88
|
+
exports.generateDidDoc = generateDidDoc;
|
|
89
|
+
function getClosestResourceVersion(resources, date) {
|
|
90
|
+
const result = resources.sort(function (a, b) {
|
|
91
|
+
if (!a.created || !b.created)
|
|
92
|
+
throw new core_1.CredoError("Missing required property 'created' on resource");
|
|
93
|
+
const distancea = Math.abs(date.getTime() - a.created.getTime());
|
|
94
|
+
const distanceb = Math.abs(date.getTime() - b.created.getTime());
|
|
95
|
+
return distancea - distanceb;
|
|
96
|
+
});
|
|
97
|
+
return result[0];
|
|
98
|
+
}
|
|
99
|
+
exports.getClosestResourceVersion = getClosestResourceVersion;
|
|
100
|
+
function filterResourcesByNameAndType(resources, name, type) {
|
|
101
|
+
return resources.filter((resource) => resource.name == name && resource.resourceType == type);
|
|
102
|
+
}
|
|
103
|
+
exports.filterResourcesByNameAndType = filterResourcesByNameAndType;
|
|
104
|
+
async function renderResourceData(data, mimeType) {
|
|
105
|
+
if (mimeType == 'application/json') {
|
|
106
|
+
return await core_1.JsonEncoder.fromBuffer(data);
|
|
107
|
+
}
|
|
108
|
+
else if (mimeType == 'text/plain') {
|
|
109
|
+
return core_1.TypedArrayEncoder.toUtf8String(data);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return core_1.TypedArrayEncoder.toBase64URL(data);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.renderResourceData = renderResourceData;
|
|
116
|
+
class EnglishMnemonic extends crypto_1.EnglishMnemonic {
|
|
117
|
+
}
|
|
118
|
+
exports.EnglishMnemonic = EnglishMnemonic;
|
|
119
|
+
EnglishMnemonic._mnemonicMatcher = /^[a-z]+( [a-z]+)*$/;
|
|
120
|
+
function getCosmosPayerWallet(cosmosPayerSeed) {
|
|
121
|
+
if (!cosmosPayerSeed || cosmosPayerSeed === '') {
|
|
122
|
+
return proto_signing_1.DirectSecp256k1HdWallet.generate();
|
|
123
|
+
}
|
|
124
|
+
return EnglishMnemonic._mnemonicMatcher.test(cosmosPayerSeed)
|
|
125
|
+
? proto_signing_1.DirectSecp256k1HdWallet.fromMnemonic(cosmosPayerSeed, { prefix: 'cheqd' })
|
|
126
|
+
: proto_signing_1.DirectSecp256k1Wallet.fromKey(core_1.TypedArrayEncoder.fromString(cosmosPayerSeed.replace(/^0x/, '')), 'cheqd');
|
|
127
|
+
}
|
|
128
|
+
exports.getCosmosPayerWallet = getCosmosPayerWallet;
|
|
129
|
+
//# sourceMappingURL=didCheqdUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"didCheqdUtil.js","sourceRoot":"","sources":["../../src/dids/didCheqdUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CheqdDidResolver = exports.CheqdDidRegistrar = void 0;
|
|
4
|
+
var CheqdDidRegistrar_1 = require("./CheqdDidRegistrar");
|
|
5
|
+
Object.defineProperty(exports, "CheqdDidRegistrar", { enumerable: true, get: function () { return CheqdDidRegistrar_1.CheqdDidRegistrar; } });
|
|
6
|
+
var CheqdDidResolver_1 = require("./CheqdDidResolver");
|
|
7
|
+
Object.defineProperty(exports, "CheqdDidResolver", { enumerable: true, get: function () { return CheqdDidResolver_1.CheqdDidResolver; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dids/index.ts"],"names":[],"mappings":";;;AAAA,yDAM4B;AAL1B,sHAAA,iBAAiB,OAAA;AAMnB,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA"}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { CheqdDidRegistrar, CheqdDidCreateOptions, CheqdDidDeactivateOptions, CheqdDidUpdateOptions, CheqdDidResolver, } from './dids';
|
|
2
|
+
export { CheqdAnonCredsRegistry } from './anoncreds';
|
|
3
|
+
export { CheqdLedgerService } from './ledger';
|
|
4
|
+
export { CheqdModule } from './CheqdModule';
|
|
5
|
+
export { CheqdModuleConfig, CheqdModuleConfigOptions } from './CheqdModuleConfig';
|
package/build/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CheqdModuleConfig = exports.CheqdModule = exports.CheqdLedgerService = exports.CheqdAnonCredsRegistry = exports.CheqdDidResolver = exports.CheqdDidRegistrar = void 0;
|
|
4
|
+
// Dids
|
|
5
|
+
var dids_1 = require("./dids");
|
|
6
|
+
Object.defineProperty(exports, "CheqdDidRegistrar", { enumerable: true, get: function () { return dids_1.CheqdDidRegistrar; } });
|
|
7
|
+
Object.defineProperty(exports, "CheqdDidResolver", { enumerable: true, get: function () { return dids_1.CheqdDidResolver; } });
|
|
8
|
+
// AnonCreds
|
|
9
|
+
var anoncreds_1 = require("./anoncreds");
|
|
10
|
+
Object.defineProperty(exports, "CheqdAnonCredsRegistry", { enumerable: true, get: function () { return anoncreds_1.CheqdAnonCredsRegistry; } });
|
|
11
|
+
var ledger_1 = require("./ledger");
|
|
12
|
+
Object.defineProperty(exports, "CheqdLedgerService", { enumerable: true, get: function () { return ledger_1.CheqdLedgerService; } });
|
|
13
|
+
var CheqdModule_1 = require("./CheqdModule");
|
|
14
|
+
Object.defineProperty(exports, "CheqdModule", { enumerable: true, get: function () { return CheqdModule_1.CheqdModule; } });
|
|
15
|
+
var CheqdModuleConfig_1 = require("./CheqdModuleConfig");
|
|
16
|
+
Object.defineProperty(exports, "CheqdModuleConfig", { enumerable: true, get: function () { return CheqdModuleConfig_1.CheqdModuleConfig; } });
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,OAAO;AACP,+BAMe;AALb,yGAAA,iBAAiB,OAAA;AAIjB,wGAAA,gBAAgB,OAAA;AAGlB,YAAY;AACZ,yCAAoD;AAA3C,mHAAA,sBAAsB,OAAA;AAE/B,mCAA6C;AAApC,4GAAA,kBAAkB,OAAA;AAE3B,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AAEpB,yDAAiF;AAAxE,sHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { CheqdSDK, DidStdFee, DIDDocument } from '@cheqd/sdk';
|
|
2
|
+
import type { SignInfo } from '@cheqd/ts-proto/cheqd/did/v2';
|
|
3
|
+
import type { MsgCreateResourcePayload } from '@cheqd/ts-proto/cheqd/resource/v2';
|
|
4
|
+
import type { DirectSecp256k1HdWallet, DirectSecp256k1Wallet } from '@cosmjs/proto-signing';
|
|
5
|
+
import { CheqdModuleConfig } from '../CheqdModuleConfig';
|
|
6
|
+
export interface ICheqdLedgerConfig {
|
|
7
|
+
network: string;
|
|
8
|
+
rpcUrl: string;
|
|
9
|
+
readonly cosmosPayerWallet: Promise<DirectSecp256k1HdWallet | DirectSecp256k1Wallet>;
|
|
10
|
+
sdk?: CheqdSDK;
|
|
11
|
+
}
|
|
12
|
+
export declare enum DefaultRPCUrl {
|
|
13
|
+
Mainnet = "https://rpc.cheqd.net",
|
|
14
|
+
Testnet = "https://rpc.cheqd.network"
|
|
15
|
+
}
|
|
16
|
+
export declare class CheqdLedgerService {
|
|
17
|
+
private networks;
|
|
18
|
+
constructor(cheqdSdkModuleConfig: CheqdModuleConfig);
|
|
19
|
+
connect(): Promise<void>;
|
|
20
|
+
private getSdk;
|
|
21
|
+
create(didPayload: DIDDocument, signInputs: SignInfo[], versionId?: string | undefined, fee?: DidStdFee): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
|
|
22
|
+
update(didPayload: DIDDocument, signInputs: SignInfo[], versionId?: string | undefined, fee?: DidStdFee): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
|
|
23
|
+
deactivate(didPayload: DIDDocument, signInputs: SignInfo[], versionId?: string | undefined, fee?: DidStdFee): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
|
|
24
|
+
resolve(did: string, version?: string): Promise<import("@cheqd/sdk").DIDDocumentWithMetadata>;
|
|
25
|
+
resolveMetadata(did: string): Promise<{
|
|
26
|
+
didDocumentVersionsMetadata: import("did-resolver").DIDDocumentMetadata[];
|
|
27
|
+
pagination: import("@cheqd/ts-proto/cosmos/base/query/v1beta1/pagination").PageResponse | undefined;
|
|
28
|
+
}>;
|
|
29
|
+
createResource(did: string, resourcePayload: Partial<MsgCreateResourcePayload>, signInputs: SignInfo[], fee?: DidStdFee): Promise<import("@cosmjs/stargate").DeliverTxResponse>;
|
|
30
|
+
resolveResource(did: string, collectionId: string, resourceId: string): Promise<import("@cheqd/ts-proto/cheqd/resource/v2").ResourceWithMetadata>;
|
|
31
|
+
resolveCollectionResources(did: string, collectionId: string): Promise<import("@cheqd/ts-proto/cheqd/resource/v2").QueryCollectionResourcesResponse>;
|
|
32
|
+
resolveResourceMetadata(did: string, collectionId: string, resourceId: string): Promise<import("@cheqd/ts-proto/cheqd/resource/v2").Metadata>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CheqdLedgerService = exports.DefaultRPCUrl = void 0;
|
|
13
|
+
const sdk_1 = require("@cheqd/sdk");
|
|
14
|
+
const core_1 = require("@credo-ts/core");
|
|
15
|
+
const CheqdModuleConfig_1 = require("../CheqdModuleConfig");
|
|
16
|
+
const identifiers_1 = require("../anoncreds/utils/identifiers");
|
|
17
|
+
const didCheqdUtil_1 = require("../dids/didCheqdUtil");
|
|
18
|
+
var DefaultRPCUrl;
|
|
19
|
+
(function (DefaultRPCUrl) {
|
|
20
|
+
DefaultRPCUrl["Mainnet"] = "https://rpc.cheqd.net";
|
|
21
|
+
DefaultRPCUrl["Testnet"] = "https://rpc.cheqd.network";
|
|
22
|
+
})(DefaultRPCUrl = exports.DefaultRPCUrl || (exports.DefaultRPCUrl = {}));
|
|
23
|
+
let CheqdLedgerService = class CheqdLedgerService {
|
|
24
|
+
constructor(cheqdSdkModuleConfig) {
|
|
25
|
+
this.networks = cheqdSdkModuleConfig.networks.map((config) => {
|
|
26
|
+
const { network, rpcUrl, cosmosPayerSeed } = config;
|
|
27
|
+
return {
|
|
28
|
+
network,
|
|
29
|
+
rpcUrl: rpcUrl ? rpcUrl : network === sdk_1.CheqdNetwork.Mainnet ? DefaultRPCUrl.Mainnet : DefaultRPCUrl.Testnet,
|
|
30
|
+
cosmosPayerWallet: (0, didCheqdUtil_1.getCosmosPayerWallet)(cosmosPayerSeed),
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async connect() {
|
|
35
|
+
for (const network of this.networks) {
|
|
36
|
+
network.sdk = await (0, sdk_1.createCheqdSDK)({
|
|
37
|
+
modules: [sdk_1.DIDModule, sdk_1.ResourceModule],
|
|
38
|
+
rpcUrl: network.rpcUrl,
|
|
39
|
+
wallet: await network.cosmosPayerWallet.catch((error) => {
|
|
40
|
+
throw new core_1.CredoError(`Error initializing cosmos payer wallet: ${error.message}`, { cause: error });
|
|
41
|
+
}),
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
getSdk(did) {
|
|
46
|
+
const parsedDid = (0, identifiers_1.parseCheqdDid)(did);
|
|
47
|
+
if (!parsedDid) {
|
|
48
|
+
throw new Error('Invalid DID');
|
|
49
|
+
}
|
|
50
|
+
if (this.networks.length === 0) {
|
|
51
|
+
throw new Error('No cheqd networks configured');
|
|
52
|
+
}
|
|
53
|
+
const network = this.networks.find((network) => network.network === parsedDid.network);
|
|
54
|
+
if (!network || !network.sdk) {
|
|
55
|
+
throw new Error('Network not configured');
|
|
56
|
+
}
|
|
57
|
+
return network.sdk;
|
|
58
|
+
}
|
|
59
|
+
async create(didPayload, signInputs, versionId, fee) {
|
|
60
|
+
return await this.getSdk(didPayload.id).createDidDocTx(signInputs, didPayload, '', fee, undefined, versionId);
|
|
61
|
+
}
|
|
62
|
+
async update(didPayload, signInputs, versionId, fee) {
|
|
63
|
+
return await this.getSdk(didPayload.id).updateDidDocTx(signInputs, didPayload, '', fee, undefined, versionId);
|
|
64
|
+
}
|
|
65
|
+
async deactivate(didPayload, signInputs, versionId, fee) {
|
|
66
|
+
return await this.getSdk(didPayload.id).deactivateDidDocTx(signInputs, didPayload, '', fee, undefined, versionId);
|
|
67
|
+
}
|
|
68
|
+
async resolve(did, version) {
|
|
69
|
+
return version ? await this.getSdk(did).queryDidDocVersion(did, version) : await this.getSdk(did).queryDidDoc(did);
|
|
70
|
+
}
|
|
71
|
+
async resolveMetadata(did) {
|
|
72
|
+
return await this.getSdk(did).queryAllDidDocVersionsMetadata(did);
|
|
73
|
+
}
|
|
74
|
+
async createResource(did, resourcePayload, signInputs, fee) {
|
|
75
|
+
return await this.getSdk(did).createLinkedResourceTx(signInputs, resourcePayload, '', fee, undefined);
|
|
76
|
+
}
|
|
77
|
+
async resolveResource(did, collectionId, resourceId) {
|
|
78
|
+
return await this.getSdk(did).queryLinkedResource(collectionId, resourceId);
|
|
79
|
+
}
|
|
80
|
+
async resolveCollectionResources(did, collectionId) {
|
|
81
|
+
return await this.getSdk(did).queryLinkedResources(collectionId);
|
|
82
|
+
}
|
|
83
|
+
async resolveResourceMetadata(did, collectionId, resourceId) {
|
|
84
|
+
return await this.getSdk(did).queryLinkedResourceMetadata(collectionId, resourceId);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
CheqdLedgerService = __decorate([
|
|
88
|
+
(0, core_1.injectable)(),
|
|
89
|
+
__metadata("design:paramtypes", [CheqdModuleConfig_1.CheqdModuleConfig])
|
|
90
|
+
], CheqdLedgerService);
|
|
91
|
+
exports.CheqdLedgerService = CheqdLedgerService;
|
|
92
|
+
//# sourceMappingURL=CheqdLedgerService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheqdLedgerService.js","sourceRoot":"","sources":["../../src/ledger/CheqdLedgerService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CheqdLedgerService } from './CheqdLedgerService';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CheqdLedgerService = void 0;
|
|
4
|
+
var CheqdLedgerService_1 = require("./CheqdLedgerService");
|
|
5
|
+
Object.defineProperty(exports, "CheqdLedgerService", { enumerable: true, get: function () { return CheqdLedgerService_1.CheqdLedgerService; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ledger/index.ts"],"names":[],"mappings":";;;AAAA,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA"}
|