@extrimian/agent 0.12.0-2 → 0.12.0-4
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/dist/agent.d.ts +77 -0
- package/dist/agent.js +174 -0
- package/dist/agent.js.map +1 -0
- package/dist/data-share-behaviours/data-share-behavior.d.ts +4 -0
- package/dist/data-share-behaviours/data-share-behavior.js +3 -0
- package/dist/data-share-behaviours/data-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/identity-data-share-behavior.d.ts +16 -0
- package/dist/data-share-behaviours/identity-data-share-behavior.js +3 -0
- package/dist/data-share-behaviours/identity-data-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.d.ts +5 -0
- package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.js +16 -0
- package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/vcs/vc-share-behavior.d.ts +12 -0
- package/dist/data-share-behaviours/vcs/vc-share-behavior.js +3 -0
- package/dist/data-share-behaviours/vcs/vc-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/vcs/vc-share-didcomm-behavior.d.ts +20 -0
- package/dist/data-share-behaviours/vcs/vc-share-didcomm-behavior.js +30 -0
- package/dist/data-share-behaviours/vcs/vc-share-didcomm-behavior.js.map +1 -0
- package/dist/did/did-services.d.ts +14 -0
- package/dist/did/did-services.js +15 -0
- package/dist/did/did-services.js.map +1 -0
- package/dist/exceptions/agent-plugin-not-found.d.ts +2 -0
- package/dist/exceptions/agent-plugin-not-found.js +7 -0
- package/dist/exceptions/agent-plugin-not-found.js.map +1 -0
- package/dist/exceptions/vc-protocol-not-found.d.ts +3 -0
- package/dist/exceptions/vc-protocol-not-found.js +12 -0
- package/dist/exceptions/vc-protocol-not-found.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/messaging/messaging.d.ts +41 -0
- package/dist/messaging/messaging.js +89 -0
- package/dist/messaging/messaging.js.map +1 -0
- package/dist/models/agent-identity.d.ts +86 -0
- package/dist/models/agent-identity.js +400 -0
- package/dist/models/agent-identity.js.map +1 -0
- package/dist/models/agent-kms.d.ts +42 -0
- package/dist/models/agent-kms.js +79 -0
- package/dist/models/agent-kms.js.map +1 -0
- package/dist/models/agent-pbk.d.ts +11 -0
- package/dist/models/agent-pbk.js +12 -0
- package/dist/models/agent-pbk.js.map +1 -0
- package/dist/models/agent-registry.d.ts +94 -0
- package/dist/models/agent-registry.js +130 -0
- package/dist/models/agent-registry.js.map +1 -0
- package/dist/models/agent-resolver-cache.d.ts +21 -0
- package/dist/models/agent-resolver-cache.js +48 -0
- package/dist/models/agent-resolver-cache.js.map +1 -0
- package/dist/models/agent-resolver.d.ts +19 -0
- package/dist/models/agent-resolver.js +34 -0
- package/dist/models/agent-resolver.js.map +1 -0
- package/dist/models/agent-secure-storage.d.ts +3 -0
- package/dist/models/agent-secure-storage.js +3 -0
- package/dist/models/agent-secure-storage.js.map +1 -0
- package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.d.ts +14 -0
- package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.js +49 -0
- package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.js.map +1 -0
- package/dist/models/agent-storage.d.ts +9 -0
- package/dist/models/agent-storage.js +3 -0
- package/dist/models/agent-storage.js.map +1 -0
- package/dist/models/did.d.ts +19 -0
- package/dist/models/did.js +64 -0
- package/dist/models/did.js.map +1 -0
- package/dist/models/transports/ami-transport.d.ts +30 -0
- package/dist/models/transports/ami-transport.js +184 -0
- package/dist/models/transports/ami-transport.js.map +1 -0
- package/dist/models/transports/connectable-transport.d.ts +25 -0
- package/dist/models/transports/connectable-transport.js +26 -0
- package/dist/models/transports/connectable-transport.js.map +1 -0
- package/dist/models/transports/dwn-transport.d.ts +32 -0
- package/dist/models/transports/dwn-transport.js +192 -0
- package/dist/models/transports/dwn-transport.js.map +1 -0
- package/dist/models/transports/messaging-transport.d.ts +3 -0
- package/dist/models/transports/messaging-transport.js +3 -0
- package/dist/models/transports/messaging-transport.js.map +1 -0
- package/dist/models/transports/transport.d.ts +30 -0
- package/dist/models/transports/transport.js +8 -0
- package/dist/models/transports/transport.js.map +1 -0
- package/dist/models/transports/websocket-client-transport.d.ts +5 -0
- package/dist/models/transports/websocket-client-transport.js +34 -0
- package/dist/models/transports/websocket-client-transport.js.map +1 -0
- package/dist/models/transports/websocket-server-transport.d.ts +7 -0
- package/dist/models/transports/websocket-server-transport.js +22 -0
- package/dist/models/transports/websocket-server-transport.js.map +1 -0
- package/dist/models/transports/websocket-transport.d.ts +30 -0
- package/dist/models/transports/websocket-transport.js +85 -0
- package/dist/models/transports/websocket-transport.js.map +1 -0
- package/dist/models/vc-storage.d.ts +8 -0
- package/dist/models/vc-storage.js +3 -0
- package/dist/models/vc-storage.js.map +1 -0
- package/dist/plugins/iplugin.d.ts +17 -0
- package/dist/plugins/iplugin.js +3 -0
- package/dist/plugins/iplugin.js.map +1 -0
- package/dist/plugins/istatus-list-plugin.d.ts +14 -0
- package/dist/plugins/istatus-list-plugin.js +3 -0
- package/dist/plugins/istatus-list-plugin.js.map +1 -0
- package/dist/plugins/ivc-interceptor-plugin.d.ts +9 -0
- package/dist/plugins/ivc-interceptor-plugin.js +3 -0
- package/dist/plugins/ivc-interceptor-plugin.js.map +1 -0
- package/dist/plugins/plugin-dispatcher.d.ts +6 -0
- package/dist/plugins/plugin-dispatcher.js +20 -0
- package/dist/plugins/plugin-dispatcher.js.map +1 -0
- package/dist/transport/transport.d.ts +43 -0
- package/dist/transport/transport.js +110 -0
- package/dist/transport/transport.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +15 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/lite-event.d.ts +25 -0
- package/dist/utils/lite-event.js +37 -0
- package/dist/utils/lite-event.js.map +1 -0
- package/dist/vc/models/credentia-flow.d.ts +4 -0
- package/dist/vc/models/credentia-flow.js +9 -0
- package/dist/vc/models/credentia-flow.js.map +1 -0
- package/dist/vc/models/credential-request.d.ts +3 -0
- package/dist/vc/models/credential-request.js +3 -0
- package/dist/vc/models/credential-request.js.map +1 -0
- package/dist/vc/models/vc-create-key-request.d.ts +4 -0
- package/dist/vc/models/vc-create-key-request.js +3 -0
- package/dist/vc/models/vc-create-key-request.js.map +1 -0
- package/dist/vc/models/waci-message.d.ts +3 -0
- package/dist/vc/models/waci-message.js +8 -0
- package/dist/vc/models/waci-message.js.map +1 -0
- package/dist/vc/protocols/openid-protocol.d.ts +161 -0
- package/dist/vc/protocols/openid-protocol.js +126 -0
- package/dist/vc/protocols/openid-protocol.js.map +1 -0
- package/dist/vc/protocols/vc-protocol.d.ts +106 -0
- package/dist/vc/protocols/vc-protocol.js +37 -0
- package/dist/vc/protocols/vc-protocol.js.map +1 -0
- package/dist/vc/protocols/waci-protocol.d.ts +183 -0
- package/dist/vc/protocols/waci-protocol.js +553 -0
- package/dist/vc/protocols/waci-protocol.js.map +1 -0
- package/dist/vc/vc-setup/vc-setup.d.ts +0 -0
- package/dist/vc/vc-setup/vc-setup.js +1 -0
- package/dist/vc/vc-setup/vc-setup.js.map +1 -0
- package/dist/vc/vc.d.ts +225 -0
- package/dist/vc/vc.js +329 -0
- package/dist/vc/vc.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VerifiyJWSResult = exports.AgentKMS = void 0;
|
|
4
|
+
const did_core_1 = require("@extrimian/did-core");
|
|
5
|
+
const kms_core_1 = require("@extrimian/kms-core");
|
|
6
|
+
const did_1 = require("./did");
|
|
7
|
+
class AgentKMS {
|
|
8
|
+
constructor(opts) {
|
|
9
|
+
this.kms = opts.kms;
|
|
10
|
+
this.resolver = opts.resolver;
|
|
11
|
+
this.identity = opts.identity;
|
|
12
|
+
}
|
|
13
|
+
async signMessage(params) {
|
|
14
|
+
const did = this.identity.getOperationalDID();
|
|
15
|
+
const didDoc = await this.resolver.resolve(did);
|
|
16
|
+
const vms = did_core_1.DIDDocumentUtils.getVerificationMethodsByType(didDoc, did_core_1.VerificationMethodTypes.EcdsaSecp256k1VerificationKey2019);
|
|
17
|
+
let vm = null;
|
|
18
|
+
if (!params.publicKey) {
|
|
19
|
+
params.publicKey = (await this.kms.getAllPublicKeys()).find(x => vms.some(y => x.x == y.publicKeyJwk.x &&
|
|
20
|
+
x.y == y.publicKeyJwk.y));
|
|
21
|
+
}
|
|
22
|
+
if (!params.publicKey) {
|
|
23
|
+
throw new Error(`Cannot find a valid key of type 'Ed25519VerificationKey2018' to use to signJWS for did ${did}`);
|
|
24
|
+
}
|
|
25
|
+
vm = vms.find(y => y.publicKeyJwk.x == params.publicKey.x &&
|
|
26
|
+
y.publicKeyJwk.y == params.publicKey.y);
|
|
27
|
+
if (!vm) {
|
|
28
|
+
throw new Error(`Provided publicKey not found in did document: DID -> ${did} | pbk: ${JSON.stringify(params.publicKey)}`);
|
|
29
|
+
}
|
|
30
|
+
const result = await this.kms.sign(kms_core_1.Suite.ES256k, params.publicKey, params.content);
|
|
31
|
+
return {
|
|
32
|
+
signature: result,
|
|
33
|
+
publicKey: params.publicKey,
|
|
34
|
+
verificationMethodId: vm.id.indexOf(did.value) > -1 ? vm.id : did.value + vm.id
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
async verifyMessage(params) {
|
|
38
|
+
try {
|
|
39
|
+
let pbk = null;
|
|
40
|
+
if ('verificationMethodId' in params) {
|
|
41
|
+
const did = did_1.DID.from(params.verificationMethodId);
|
|
42
|
+
const didDoc = await this.resolver.resolve(did);
|
|
43
|
+
const vm = did_core_1.DIDDocumentUtils.getVerificationMethodById(didDoc, params.verificationMethodId);
|
|
44
|
+
if (!vm)
|
|
45
|
+
throw new Error(`Verification Method id not found in DID Document: ${params.verificationMethodId}`);
|
|
46
|
+
pbk = vm.publicKeyJwk;
|
|
47
|
+
}
|
|
48
|
+
if ('publicKey' in params) {
|
|
49
|
+
pbk = params.publicKey;
|
|
50
|
+
}
|
|
51
|
+
const result = await this.kms.verifySignature(pbk, params.content, params.signature);
|
|
52
|
+
if (result) {
|
|
53
|
+
return { verified: true };
|
|
54
|
+
}
|
|
55
|
+
;
|
|
56
|
+
return {
|
|
57
|
+
verified: false,
|
|
58
|
+
signedContent: null,
|
|
59
|
+
result: VerifiyJWSResult.InvalidSignature
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
catch (ex) {
|
|
63
|
+
return {
|
|
64
|
+
verified: false,
|
|
65
|
+
signedContent: null,
|
|
66
|
+
result: VerifiyJWSResult.UnexpectedError,
|
|
67
|
+
error: ex,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.AgentKMS = AgentKMS;
|
|
73
|
+
var VerifiyJWSResult;
|
|
74
|
+
(function (VerifiyJWSResult) {
|
|
75
|
+
VerifiyJWSResult["InvalidContent"] = "invalid-content";
|
|
76
|
+
VerifiyJWSResult["UnexpectedError"] = "invalid-content";
|
|
77
|
+
VerifiyJWSResult["InvalidSignature"] = "invalid-signature";
|
|
78
|
+
})(VerifiyJWSResult = exports.VerifiyJWSResult || (exports.VerifiyJWSResult = {}));
|
|
79
|
+
//# sourceMappingURL=agent-kms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-kms.js","sourceRoot":"","sources":["../../src/models/agent-kms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentPublicKey = void 0;
|
|
4
|
+
class AgentPublicKey {
|
|
5
|
+
constructor(params) {
|
|
6
|
+
this.name = params.name;
|
|
7
|
+
this.description = params.description;
|
|
8
|
+
this.publicKeyJWK = params.publicKeyJWK;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.AgentPublicKey = AgentPublicKey;
|
|
12
|
+
//# sourceMappingURL=agent-pbk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-pbk.js","sourceRoot":"","sources":["../../src/models/agent-pbk.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IAKvB,YAAY,MAIX;QACG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC5C,CAAC;CACJ;AAdD,wCAcC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { IJWK, IKMS } from "@extrimian/kms-core";
|
|
2
|
+
import { Did, ModenaUniversalRegistry } from "@extrimian/did-registry";
|
|
3
|
+
import { Purpose, Service } from "@extrimian/did-core";
|
|
4
|
+
import { DID } from "./did";
|
|
5
|
+
import { DIDDocumentMetadata } from "@extrimian/modena-sdk";
|
|
6
|
+
export declare abstract class IAgentRegistry {
|
|
7
|
+
protected kms: IKMS;
|
|
8
|
+
initialize(params: {
|
|
9
|
+
kms: IKMS;
|
|
10
|
+
}): void;
|
|
11
|
+
abstract createDID(createRequest: CreateDIDRequest): Promise<CreateDIDResponse>;
|
|
12
|
+
abstract updateDIDDocument(updateRequest: UpdateDIDRequest): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare abstract class IAgentSidetreeRegistry extends IAgentRegistry {
|
|
15
|
+
protected kms: IKMS;
|
|
16
|
+
initialize(params: {
|
|
17
|
+
kms: IKMS;
|
|
18
|
+
}): void;
|
|
19
|
+
abstract createDID(createRequest: CreateDIDRequest): Promise<CreateDIDSidetreeResponse>;
|
|
20
|
+
}
|
|
21
|
+
export interface CreateDIDRequest {
|
|
22
|
+
didMethod?: string;
|
|
23
|
+
updateKeys: IJWK[];
|
|
24
|
+
recoveryKeys: IJWK[];
|
|
25
|
+
verificationMethods: {
|
|
26
|
+
id: string;
|
|
27
|
+
type: string;
|
|
28
|
+
publicKeyJwk: IJWK;
|
|
29
|
+
purpose: Purpose[];
|
|
30
|
+
}[];
|
|
31
|
+
services?: Service[];
|
|
32
|
+
alsoKnownAs?: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface UpdateDIDRequest {
|
|
35
|
+
did: DID;
|
|
36
|
+
updatePublicKey: IJWK;
|
|
37
|
+
kms: IKMS;
|
|
38
|
+
newUpdateKeys: IJWK[];
|
|
39
|
+
documentMetadata: DIDDocumentMetadata;
|
|
40
|
+
updateKeysToRemove?: {
|
|
41
|
+
publicKeys?: IJWK[];
|
|
42
|
+
updateCommitment?: string[];
|
|
43
|
+
};
|
|
44
|
+
verificationMethodsToAdd?: {
|
|
45
|
+
id: string;
|
|
46
|
+
type: string;
|
|
47
|
+
publicKeyJwk: IJWK;
|
|
48
|
+
purpose: Purpose[];
|
|
49
|
+
}[];
|
|
50
|
+
idsOfVerificationMethodsToRemove?: string[];
|
|
51
|
+
servicesToAdd?: ServiceDefinition[];
|
|
52
|
+
idsOfServiceToRemove?: string[];
|
|
53
|
+
alsoKnownAsToAdd?: string[];
|
|
54
|
+
alsoKnownAsToRemove?: string[];
|
|
55
|
+
}
|
|
56
|
+
export interface CreateDIDResponse {
|
|
57
|
+
did: string;
|
|
58
|
+
}
|
|
59
|
+
export interface CreateDIDSidetreeResponse extends CreateDIDResponse {
|
|
60
|
+
longDid: string;
|
|
61
|
+
}
|
|
62
|
+
export interface KeyDefinition {
|
|
63
|
+
id: string;
|
|
64
|
+
vmKey: VMKey;
|
|
65
|
+
}
|
|
66
|
+
export declare enum VMKey {
|
|
67
|
+
ES256k = 0,
|
|
68
|
+
DIDComm = 1,
|
|
69
|
+
VC = 2,
|
|
70
|
+
RSA = 3
|
|
71
|
+
}
|
|
72
|
+
export interface ServiceDefinition {
|
|
73
|
+
id: string;
|
|
74
|
+
type: string;
|
|
75
|
+
serviceEndpoint: string | string[] | Record<string, string | string[]>;
|
|
76
|
+
}
|
|
77
|
+
export declare class AgentModenaUniversalRegistry extends IAgentSidetreeRegistry {
|
|
78
|
+
private modenaEndpointURL;
|
|
79
|
+
_defaultDidMethod: string;
|
|
80
|
+
didService: ModenaUniversalRegistry;
|
|
81
|
+
constructor(modenaEndpointURL: string, defaultDidMethod?: string);
|
|
82
|
+
setDefaultDIDMethod(didMethod: string): void;
|
|
83
|
+
getSupportedDidMethods(): Promise<string[]>;
|
|
84
|
+
createDID(createRequest: CreateDIDRequest): Promise<CreateDIDSidetreeResponse>;
|
|
85
|
+
updateDIDDocument(request: UpdateDIDRequest): Promise<void>;
|
|
86
|
+
}
|
|
87
|
+
export declare class AgentModenaRegistry extends IAgentSidetreeRegistry {
|
|
88
|
+
private modenaEndpointURL;
|
|
89
|
+
private didMethod?;
|
|
90
|
+
didService: Did;
|
|
91
|
+
constructor(modenaEndpointURL: string, didMethod?: string);
|
|
92
|
+
createDID(createRequest: CreateDIDRequest): Promise<CreateDIDSidetreeResponse>;
|
|
93
|
+
updateDIDDocument(request: UpdateDIDRequest): Promise<void>;
|
|
94
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentModenaRegistry = exports.AgentModenaUniversalRegistry = exports.VMKey = exports.IAgentSidetreeRegistry = exports.IAgentRegistry = void 0;
|
|
4
|
+
const kms_core_1 = require("@extrimian/kms-core");
|
|
5
|
+
const did_registry_1 = require("@extrimian/did-registry");
|
|
6
|
+
const modena_sdk_1 = require("@extrimian/modena-sdk");
|
|
7
|
+
class IAgentRegistry {
|
|
8
|
+
initialize(params) {
|
|
9
|
+
this.kms = params.kms;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.IAgentRegistry = IAgentRegistry;
|
|
13
|
+
class IAgentSidetreeRegistry extends IAgentRegistry {
|
|
14
|
+
initialize(params) {
|
|
15
|
+
this.kms = params.kms;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.IAgentSidetreeRegistry = IAgentSidetreeRegistry;
|
|
19
|
+
var VMKey;
|
|
20
|
+
(function (VMKey) {
|
|
21
|
+
VMKey[VMKey["ES256k"] = 0] = "ES256k";
|
|
22
|
+
VMKey[VMKey["DIDComm"] = 1] = "DIDComm";
|
|
23
|
+
VMKey[VMKey["VC"] = 2] = "VC";
|
|
24
|
+
VMKey[VMKey["RSA"] = 3] = "RSA";
|
|
25
|
+
})(VMKey = exports.VMKey || (exports.VMKey = {}));
|
|
26
|
+
class AgentModenaUniversalRegistry extends IAgentSidetreeRegistry {
|
|
27
|
+
constructor(modenaEndpointURL, defaultDidMethod) {
|
|
28
|
+
super();
|
|
29
|
+
this.modenaEndpointURL = modenaEndpointURL;
|
|
30
|
+
this.didService = new did_registry_1.ModenaUniversalRegistry();
|
|
31
|
+
modena_sdk_1.ModenaSdkConfig.maxCanonicalizedDeltaSizeInBytes = 2000;
|
|
32
|
+
this._defaultDidMethod = defaultDidMethod;
|
|
33
|
+
}
|
|
34
|
+
setDefaultDIDMethod(didMethod) {
|
|
35
|
+
this._defaultDidMethod = didMethod;
|
|
36
|
+
}
|
|
37
|
+
async getSupportedDidMethods() {
|
|
38
|
+
return await this.didService.getSupportedDidMethods(this.modenaEndpointURL);
|
|
39
|
+
}
|
|
40
|
+
async createDID(createRequest) {
|
|
41
|
+
var _a;
|
|
42
|
+
const defaultDidMethod = createRequest.didMethod || this._defaultDidMethod || (await (this.getSupportedDidMethods())[0]);
|
|
43
|
+
const didService = new did_registry_1.ModenaUniversalRegistry();
|
|
44
|
+
const createDIDResponse = await didService.createDID({
|
|
45
|
+
updateKeys: createRequest.updateKeys,
|
|
46
|
+
recoveryKeys: createRequest.recoveryKeys,
|
|
47
|
+
verificationMethods: createRequest.verificationMethods,
|
|
48
|
+
services: ((_a = createRequest.services) === null || _a === void 0 ? void 0 : _a.length) > 0 ? createRequest.services : undefined,
|
|
49
|
+
alsoKnownAs: createRequest.alsoKnownAs,
|
|
50
|
+
});
|
|
51
|
+
const publishResult = await didService.publishDID({
|
|
52
|
+
didMethod: defaultDidMethod,
|
|
53
|
+
universalResolverURL: this.modenaEndpointURL,
|
|
54
|
+
createDIDResponse: createDIDResponse,
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
did: publishResult.did,
|
|
58
|
+
longDid: publishResult.longDid,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
async updateDIDDocument(request) {
|
|
62
|
+
return await this.didService.updateDID({
|
|
63
|
+
didSuffix: request.did.getDIDSuffix(),
|
|
64
|
+
newUpdateKeys: request.newUpdateKeys,
|
|
65
|
+
updateApiUrl: this.modenaEndpointURL,
|
|
66
|
+
updateKeysToRemove: request.updateKeysToRemove,
|
|
67
|
+
documentMetadata: request.documentMetadata,
|
|
68
|
+
updatePublicKey: request.updatePublicKey,
|
|
69
|
+
idsOfServiceToRemove: request.idsOfServiceToRemove,
|
|
70
|
+
servicesToAdd: request.servicesToAdd,
|
|
71
|
+
verificationMethodsToAdd: request.verificationMethodsToAdd,
|
|
72
|
+
idsOfVerificationMethodsToRemove: request.idsOfVerificationMethodsToRemove,
|
|
73
|
+
alsoKnownAsToAdd: request.alsoKnownAsToAdd,
|
|
74
|
+
alsoKnownAsToRemove: request.alsoKnownAsToRemove,
|
|
75
|
+
signer: async (content) => {
|
|
76
|
+
return await request.kms.sign(kms_core_1.Suite.ES256k, request.updatePublicKey, content);
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.AgentModenaUniversalRegistry = AgentModenaUniversalRegistry;
|
|
82
|
+
class AgentModenaRegistry extends IAgentSidetreeRegistry {
|
|
83
|
+
constructor(modenaEndpointURL, didMethod) {
|
|
84
|
+
super();
|
|
85
|
+
this.modenaEndpointURL = modenaEndpointURL;
|
|
86
|
+
this.didMethod = didMethod;
|
|
87
|
+
this.didService = new did_registry_1.Did();
|
|
88
|
+
}
|
|
89
|
+
async createDID(createRequest) {
|
|
90
|
+
var _a;
|
|
91
|
+
modena_sdk_1.ModenaSdkConfig.maxCanonicalizedDeltaSizeInBytes = 2000;
|
|
92
|
+
const createDIDResponse = await this.didService.createDID({
|
|
93
|
+
updateKeys: createRequest.updateKeys,
|
|
94
|
+
recoveryKeys: createRequest.recoveryKeys,
|
|
95
|
+
verificationMethods: createRequest.verificationMethods,
|
|
96
|
+
didMethod: this.didMethod,
|
|
97
|
+
services: ((_a = createRequest.services) === null || _a === void 0 ? void 0 : _a.length) > 0 ? createRequest.services : undefined,
|
|
98
|
+
alsoKnownAs: createRequest.alsoKnownAs,
|
|
99
|
+
});
|
|
100
|
+
const publishResult = await this.didService.publishDID({
|
|
101
|
+
modenaApiURL: this.modenaEndpointURL,
|
|
102
|
+
createDIDResponse: createDIDResponse,
|
|
103
|
+
});
|
|
104
|
+
return {
|
|
105
|
+
did: publishResult.did,
|
|
106
|
+
longDid: createDIDResponse.longDid,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
async updateDIDDocument(request) {
|
|
110
|
+
return await this.didService.updateDID({
|
|
111
|
+
didSuffix: request.did.getDIDSuffix(),
|
|
112
|
+
newUpdateKeys: request.newUpdateKeys,
|
|
113
|
+
updateApiUrl: this.modenaEndpointURL,
|
|
114
|
+
updateKeysToRemove: request.updateKeysToRemove,
|
|
115
|
+
documentMetadata: request.documentMetadata,
|
|
116
|
+
updatePublicKey: request.updatePublicKey,
|
|
117
|
+
idsOfServiceToRemove: request.idsOfServiceToRemove,
|
|
118
|
+
servicesToAdd: request.servicesToAdd,
|
|
119
|
+
verificationMethodsToAdd: request.verificationMethodsToAdd,
|
|
120
|
+
idsOfVerificationMethodsToRemove: request.idsOfVerificationMethodsToRemove,
|
|
121
|
+
alsoKnownAsToAdd: request.alsoKnownAsToAdd,
|
|
122
|
+
alsoKnownAsToRemove: request.alsoKnownAsToRemove,
|
|
123
|
+
signer: async (content) => {
|
|
124
|
+
return await request.kms.sign(kms_core_1.Suite.ES256k, request.updatePublicKey, content);
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.AgentModenaRegistry = AgentModenaRegistry;
|
|
130
|
+
//# sourceMappingURL=agent-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-registry.js","sourceRoot":"","sources":["../../src/models/agent-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DIDDocument } from "@extrimian/did-core";
|
|
2
|
+
import { DIDModenaResolver, DIDUniversalResolver, ModenaResponse } from "@extrimian/did-resolver";
|
|
3
|
+
import { DID } from "./did";
|
|
4
|
+
import { IAgentResolver } from "./agent-resolver";
|
|
5
|
+
export declare class AgentModenaUniversalResolverCached implements IAgentResolver {
|
|
6
|
+
universalResolver: DIDUniversalResolver;
|
|
7
|
+
cache: any;
|
|
8
|
+
constructor(resolverURL: string, cacheOptions?: {
|
|
9
|
+
maxItems?: number;
|
|
10
|
+
durationInSeconds?: number;
|
|
11
|
+
});
|
|
12
|
+
resolve(did: DID): Promise<DIDDocument>;
|
|
13
|
+
resolveWithMetdata(did: DID): Promise<ModenaResponse>;
|
|
14
|
+
}
|
|
15
|
+
export declare class AgentModenaResolverCached implements IAgentResolver {
|
|
16
|
+
cache: any;
|
|
17
|
+
modenaResolver: DIDModenaResolver;
|
|
18
|
+
constructor(resolverURL: string);
|
|
19
|
+
resolve(did: DID): Promise<DIDDocument>;
|
|
20
|
+
resolveWithMetdata(did: DID): Promise<ModenaResponse>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentModenaResolverCached = exports.AgentModenaUniversalResolverCached = void 0;
|
|
4
|
+
const did_resolver_1 = require("@extrimian/did-resolver");
|
|
5
|
+
const LRU = require('lru-cache');
|
|
6
|
+
class AgentModenaUniversalResolverCached {
|
|
7
|
+
constructor(resolverURL, cacheOptions) {
|
|
8
|
+
this.universalResolver = new did_resolver_1.DIDUniversalResolver({
|
|
9
|
+
universalResolverURL: resolverURL,
|
|
10
|
+
});
|
|
11
|
+
this.cache = new LRU({
|
|
12
|
+
max: (cacheOptions === null || cacheOptions === void 0 ? void 0 : cacheOptions.maxItems) || 10000,
|
|
13
|
+
ttl: 1000 * ((cacheOptions === null || cacheOptions === void 0 ? void 0 : cacheOptions.durationInSeconds) || 30)
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async resolve(did) {
|
|
17
|
+
return (await this.resolveWithMetdata(did)).didDocument;
|
|
18
|
+
}
|
|
19
|
+
async resolveWithMetdata(did) {
|
|
20
|
+
if (this.cache.has(did.value)) {
|
|
21
|
+
return this.cache.get(did.value);
|
|
22
|
+
}
|
|
23
|
+
const didDocWithMetadata = await this.universalResolver.resolveDIDWithMetadata(did.value);
|
|
24
|
+
this.cache.set(did.value, didDocWithMetadata);
|
|
25
|
+
return didDocWithMetadata;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.AgentModenaUniversalResolverCached = AgentModenaUniversalResolverCached;
|
|
29
|
+
class AgentModenaResolverCached {
|
|
30
|
+
constructor(resolverURL) {
|
|
31
|
+
this.modenaResolver = new did_resolver_1.DIDModenaResolver({
|
|
32
|
+
modenaURL: resolverURL,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async resolve(did) {
|
|
36
|
+
return (await this.resolveWithMetdata(did)).didDocument;
|
|
37
|
+
}
|
|
38
|
+
async resolveWithMetdata(did) {
|
|
39
|
+
if (this.cache.has(did.value)) {
|
|
40
|
+
return this.cache.get(did.value);
|
|
41
|
+
}
|
|
42
|
+
const didDocWithMetadata = await this.modenaResolver.resolveDIDWithMetadata(did.getDidMethod());
|
|
43
|
+
this.cache.set(did.value, didDocWithMetadata);
|
|
44
|
+
return didDocWithMetadata;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.AgentModenaResolverCached = AgentModenaResolverCached;
|
|
48
|
+
//# sourceMappingURL=agent-resolver-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-resolver-cache.js","sourceRoot":"","sources":["../../src/models/agent-resolver-cache.ts"],"names":[],"mappings":";;;AACA,0DAAiG;AAEjG,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAGjC,MAAa,kCAAkC;IAI3C,YAAY,WAAmB,EAAE,YAGhC;QACG,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAAoB,CAAC;YAC9C,oBAAoB,EAAE,WAAW;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC;YACjB,GAAG,EAAE,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,KAAI,KAAK;YACpC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,iBAAiB,KAAI,EAAE,CAAC;SACtD,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAQ;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpC;QACD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC9C,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CACJ;AA9BD,gFA8BC;AAED,MAAa,yBAAyB;IAIlC,YAAY,WAAmB;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAiB,CAAC;YACxC,SAAS,EAAE,WAAW;SACzB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAQ;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpC;QACD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC9C,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CAEJ;AAvBD,8DAuBC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DIDDocument } from "@extrimian/did-core";
|
|
2
|
+
import { DIDModenaResolver, DIDUniversalResolver, ModenaResponse } from "@extrimian/did-resolver";
|
|
3
|
+
import { DID } from "./did";
|
|
4
|
+
export interface IAgentResolver {
|
|
5
|
+
resolve(did: DID): Promise<DIDDocument>;
|
|
6
|
+
resolveWithMetdata(did: DID): Promise<ModenaResponse>;
|
|
7
|
+
}
|
|
8
|
+
export declare class AgentModenaUniversalResolver implements IAgentResolver {
|
|
9
|
+
universalResolver: DIDUniversalResolver;
|
|
10
|
+
constructor(resolverURL: string);
|
|
11
|
+
resolve(did: DID): Promise<DIDDocument>;
|
|
12
|
+
resolveWithMetdata(did: DID): Promise<ModenaResponse>;
|
|
13
|
+
}
|
|
14
|
+
export declare class AgentModenaResolver implements IAgentResolver {
|
|
15
|
+
modenaResolver: DIDModenaResolver;
|
|
16
|
+
constructor(resolverURL: string);
|
|
17
|
+
resolve(did: DID): Promise<DIDDocument>;
|
|
18
|
+
resolveWithMetdata(did: DID): Promise<ModenaResponse>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentModenaResolver = exports.AgentModenaUniversalResolver = void 0;
|
|
4
|
+
const did_resolver_1 = require("@extrimian/did-resolver");
|
|
5
|
+
class AgentModenaUniversalResolver {
|
|
6
|
+
constructor(resolverURL) {
|
|
7
|
+
this.universalResolver = new did_resolver_1.DIDUniversalResolver({
|
|
8
|
+
universalResolverURL: resolverURL,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
async resolve(did) {
|
|
12
|
+
return await this.universalResolver.resolveDID(did.value);
|
|
13
|
+
}
|
|
14
|
+
async resolveWithMetdata(did) {
|
|
15
|
+
return await this.universalResolver.resolveDIDWithMetadata(did.value);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.AgentModenaUniversalResolver = AgentModenaUniversalResolver;
|
|
19
|
+
class AgentModenaResolver {
|
|
20
|
+
constructor(resolverURL) {
|
|
21
|
+
this.modenaResolver = new did_resolver_1.DIDModenaResolver({
|
|
22
|
+
modenaURL: resolverURL,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async resolve(did) {
|
|
26
|
+
const didDocumentResult = await this.modenaResolver.resolveDID(did.getDIDSuffix());
|
|
27
|
+
return didDocumentResult;
|
|
28
|
+
}
|
|
29
|
+
async resolveWithMetdata(did) {
|
|
30
|
+
return await this.modenaResolver.resolveDIDWithMetadata(did.value);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.AgentModenaResolver = AgentModenaResolver;
|
|
34
|
+
//# sourceMappingURL=agent-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-resolver.js","sourceRoot":"","sources":["../../src/models/agent-resolver.ts"],"names":[],"mappings":";;;AACA,0DAAiG;AAQjG,MAAa,4BAA4B;IAGrC,YAAY,WAAmB;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,mCAAoB,CAAC;YAC9C,oBAAoB,EAAE,WAAW;SACpC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAQ;QAC7B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;CACJ;AAhBD,oEAgBC;AAED,MAAa,mBAAmB;IAG5B,YAAY,WAAmB;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAiB,CAAC;YACxC,SAAS,EAAE,WAAW;SACzB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QAClB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QACnF,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAQ;QAC7B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;CAEJ;AAlBD,kDAkBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-secure-storage.js","sourceRoot":"","sources":["../../src/models/agent-secure-storage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AgentSecureStorage } from "../agent-secure-storage";
|
|
2
|
+
export declare class FileSystemAgentSecureStorage implements AgentSecureStorage {
|
|
3
|
+
readonly filepath: string;
|
|
4
|
+
constructor(params: {
|
|
5
|
+
filepath: string;
|
|
6
|
+
});
|
|
7
|
+
add(key: string, data: any): Promise<void>;
|
|
8
|
+
get(key: string): Promise<any>;
|
|
9
|
+
getAll(): Promise<Map<string, any>>;
|
|
10
|
+
update(key: string, data: any): void;
|
|
11
|
+
remove(key: string): void;
|
|
12
|
+
private getData;
|
|
13
|
+
private saveData;
|
|
14
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileSystemAgentSecureStorage = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
class FileSystemAgentSecureStorage {
|
|
6
|
+
constructor(params) {
|
|
7
|
+
this.filepath = params.filepath;
|
|
8
|
+
}
|
|
9
|
+
async add(key, data) {
|
|
10
|
+
const map = this.getData();
|
|
11
|
+
map.set(key, data);
|
|
12
|
+
this.saveData(map);
|
|
13
|
+
}
|
|
14
|
+
async get(key) {
|
|
15
|
+
return this.getData().get(key);
|
|
16
|
+
}
|
|
17
|
+
async getAll() {
|
|
18
|
+
return this.getData();
|
|
19
|
+
}
|
|
20
|
+
update(key, data) {
|
|
21
|
+
const map = this.getData();
|
|
22
|
+
map.set(key, data);
|
|
23
|
+
this.saveData(map);
|
|
24
|
+
}
|
|
25
|
+
remove(key) {
|
|
26
|
+
const map = this.getData();
|
|
27
|
+
map.delete(key);
|
|
28
|
+
this.saveData(map);
|
|
29
|
+
}
|
|
30
|
+
getData() {
|
|
31
|
+
if (!(0, fs_1.existsSync)(this.filepath)) {
|
|
32
|
+
return new Map();
|
|
33
|
+
}
|
|
34
|
+
const file = (0, fs_1.readFileSync)(this.filepath, {
|
|
35
|
+
encoding: "utf-8",
|
|
36
|
+
});
|
|
37
|
+
if (!file) {
|
|
38
|
+
return new Map();
|
|
39
|
+
}
|
|
40
|
+
return new Map(Object.entries(JSON.parse(file)));
|
|
41
|
+
}
|
|
42
|
+
saveData(data) {
|
|
43
|
+
(0, fs_1.writeFileSync)(this.filepath, JSON.stringify(Object.fromEntries(data)), {
|
|
44
|
+
encoding: "utf-8",
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.FileSystemAgentSecureStorage = FileSystemAgentSecureStorage;
|
|
49
|
+
//# sourceMappingURL=filesystem-agent-secure-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem-agent-secure-storage.js","sourceRoot":"","sources":["../../../src/models/agent-secure-storages/filesystem-agent-secure-storage.ts"],"names":[],"mappings":";;;AACA,2BAAqF;AAErF,MAAa,4BAA4B;IAIrC,YAAY,MAEX;QACG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,IAAS;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,IAAS;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,GAAW;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAEO,OAAO;QACX,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC5B,OAAO,IAAI,GAAG,EAAE,CAAC;SACpB;QAED,MAAM,IAAI,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,QAAQ,EAAE;YACrC,QAAQ,EAAE,OAAO;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,IAAI,GAAG,EAAE,CAAC;SACpB;QAED,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,QAAQ,CAAC,IAAsB;QACnC,IAAA,kBAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE;YACnE,QAAQ,EAAE,OAAO;SACpB,CAAC,CAAC;IACP,CAAC;CACJ;AAzDD,oEAyDC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface IStorage {
|
|
2
|
+
add(key: string, data: any): Promise<void>;
|
|
3
|
+
get<T = any>(key: string): Promise<T>;
|
|
4
|
+
getAll(): Promise<Map<string, any>>;
|
|
5
|
+
update(key: string, data: any): any;
|
|
6
|
+
remove(key: string): any;
|
|
7
|
+
}
|
|
8
|
+
export interface IAgentStorage extends IStorage {
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-storage.js","sourceRoot":"","sources":["../../src/models/agent-storage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare class DID {
|
|
2
|
+
value: string;
|
|
3
|
+
private constructor();
|
|
4
|
+
/**
|
|
5
|
+
* This method converts a string value or full verification method id to a data value DID object.
|
|
6
|
+
*
|
|
7
|
+
* @param did - DID input. This value can also be a full verification method id.
|
|
8
|
+
* @returns Data value object that represent a DID
|
|
9
|
+
*/
|
|
10
|
+
static from(did: string): DID;
|
|
11
|
+
validate(did: string): boolean;
|
|
12
|
+
getDidMethod(): string;
|
|
13
|
+
isEqual(other: DID): boolean;
|
|
14
|
+
isLongDIDFor(shortDID: DID): boolean;
|
|
15
|
+
isShortDIDFor(longDID: DID): boolean;
|
|
16
|
+
getDIDSuffix(): string;
|
|
17
|
+
private getLongDIDSuffix;
|
|
18
|
+
isLongDID(): boolean;
|
|
19
|
+
}
|