@swimmingkiim/trust-sdk 0.1.0
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 +8 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +71 -0
- package/dist/agent.js.map +1 -0
- package/dist/credentials/vc-handler.service.d.ts +10 -0
- package/dist/credentials/vc-handler.service.d.ts.map +1 -0
- package/dist/credentials/vc-handler.service.js +39 -0
- package/dist/credentials/vc-handler.service.js.map +1 -0
- package/dist/identity/did-manager.d.ts +6 -0
- package/dist/identity/did-manager.d.ts.map +1 -0
- package/dist/identity/did-manager.js +27 -0
- package/dist/identity/did-manager.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/package.json +41 -0
- package/src/agent.d.ts +7 -0
- package/src/agent.d.ts.map +1 -0
- package/src/agent.js +69 -0
- package/src/agent.js.map +1 -0
- package/src/agent.ts +72 -0
- package/src/credentials/vc-handler.d.ts +6 -0
- package/src/credentials/vc-handler.d.ts.map +1 -0
- package/src/credentials/vc-handler.js +30 -0
- package/src/credentials/vc-handler.js.map +1 -0
- package/src/credentials/vc-handler.service.ts +45 -0
- package/src/identity/did-manager.d.ts +6 -0
- package/src/identity/did-manager.d.ts.map +1 -0
- package/src/identity/did-manager.js +27 -0
- package/src/identity/did-manager.js.map +1 -0
- package/src/identity/did-manager.ts +25 -0
- package/src/index.d.ts +4 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +20 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +3 -0
- package/test/identity.security.test.ts +68 -0
- package/test/identity.test.ts +69 -0
- package/test/verify.ts +44 -0
- package/tsconfig.json +16 -0
- package/tsconfig.tsbuildinfo +1 -0
package/dist/agent.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IResolver, IDataStore, IKeyManager, IDIDManager, TAgent } from '@veramo/core';
|
|
2
|
+
import { ICredentialIssuer, ICredentialVerifier } from '@veramo/credential-w3c';
|
|
3
|
+
import { IDataStoreORM } from '@veramo/data-store';
|
|
4
|
+
import 'reflect-metadata';
|
|
5
|
+
export type Agent = TAgent<IDIDManager & IKeyManager & IDataStore & IDataStoreORM & IResolver & ICredentialIssuer & ICredentialVerifier>;
|
|
6
|
+
export declare const agent: Agent;
|
|
7
|
+
export declare const initAgent: () => Promise<Agent>;
|
|
8
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACnG,OAAO,EAAoB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAOjG,OAAO,EAAiD,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAK1H,OAAO,kBAAkB,CAAA;AAEzB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,iBAAiB,GAAG,mBAAmB,CAAC,CAAA;AAaxI,eAAO,MAAM,KAAK,EAAE,KAoClB,CAAA;AAEF,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,KAAK,CAK/C,CAAA"}
|
package/dist/agent.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initAgent = exports.agent = void 0;
|
|
4
|
+
const core_1 = require("@veramo/core");
|
|
5
|
+
const credential_w3c_1 = require("@veramo/credential-w3c");
|
|
6
|
+
const did_manager_1 = require("@veramo/did-manager");
|
|
7
|
+
const did_provider_ethr_1 = require("@veramo/did-provider-ethr");
|
|
8
|
+
const did_provider_key_1 = require("@veramo/did-provider-key");
|
|
9
|
+
const did_resolver_1 = require("@veramo/did-resolver");
|
|
10
|
+
const key_manager_1 = require("@veramo/key-manager");
|
|
11
|
+
const kms_local_1 = require("@veramo/kms-local");
|
|
12
|
+
const data_store_1 = require("@veramo/data-store");
|
|
13
|
+
const did_resolver_2 = require("did-resolver");
|
|
14
|
+
const ethr_did_resolver_1 = require("ethr-did-resolver");
|
|
15
|
+
const key_did_resolver_1 = require("key-did-resolver");
|
|
16
|
+
const typeorm_1 = require("typeorm");
|
|
17
|
+
require("reflect-metadata");
|
|
18
|
+
const DATABASE_FILE = '/tmp/database.sqlite';
|
|
19
|
+
const SECRET_KEY = '29739248cad1bd5a625441a0d8ba398e'; // TODO: Load from env
|
|
20
|
+
const dbConnection = new typeorm_1.DataSource({
|
|
21
|
+
type: 'sqlite',
|
|
22
|
+
database: DATABASE_FILE,
|
|
23
|
+
synchronize: true,
|
|
24
|
+
logging: false,
|
|
25
|
+
entities: data_store_1.Entities,
|
|
26
|
+
});
|
|
27
|
+
exports.agent = (0, core_1.createAgent)({
|
|
28
|
+
plugins: [
|
|
29
|
+
new key_manager_1.KeyManager({
|
|
30
|
+
store: new data_store_1.KeyStore(dbConnection),
|
|
31
|
+
kms: {
|
|
32
|
+
local: new kms_local_1.KeyManagementSystem(new data_store_1.PrivateKeyStore(dbConnection, new kms_local_1.SecretBox(SECRET_KEY))),
|
|
33
|
+
},
|
|
34
|
+
}),
|
|
35
|
+
new did_manager_1.DIDManager({
|
|
36
|
+
store: new data_store_1.DIDStore(dbConnection),
|
|
37
|
+
defaultProvider: 'did:key',
|
|
38
|
+
providers: {
|
|
39
|
+
'did:ethr': new did_provider_ethr_1.EthrDIDProvider({
|
|
40
|
+
defaultKms: 'local',
|
|
41
|
+
network: 'base-sepolia',
|
|
42
|
+
rpcUrl: 'https://sepolia.base.org', // TODO: Load from env
|
|
43
|
+
}),
|
|
44
|
+
'did:key': new did_provider_key_1.KeyDIDProvider({
|
|
45
|
+
defaultKms: 'local',
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
new did_resolver_1.DIDResolverPlugin({
|
|
50
|
+
resolver: new did_resolver_2.Resolver({
|
|
51
|
+
...(0, ethr_did_resolver_1.getResolver)({
|
|
52
|
+
networks: [
|
|
53
|
+
{ name: 'base-sepolia', rpcUrl: 'https://sepolia.base.org' }
|
|
54
|
+
]
|
|
55
|
+
}),
|
|
56
|
+
...(0, key_did_resolver_1.getResolver)(),
|
|
57
|
+
}),
|
|
58
|
+
}),
|
|
59
|
+
new credential_w3c_1.CredentialPlugin(),
|
|
60
|
+
new data_store_1.DataStore(dbConnection),
|
|
61
|
+
new data_store_1.DataStoreORM(dbConnection),
|
|
62
|
+
],
|
|
63
|
+
});
|
|
64
|
+
const initAgent = async () => {
|
|
65
|
+
if (!dbConnection.isInitialized) {
|
|
66
|
+
await dbConnection.initialize();
|
|
67
|
+
}
|
|
68
|
+
return exports.agent;
|
|
69
|
+
};
|
|
70
|
+
exports.initAgent = initAgent;
|
|
71
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";;;AAAA,uCAAmG;AACnG,2DAAiG;AACjG,qDAAgD;AAChD,iEAA2D;AAC3D,+DAAyD;AACzD,uDAAwD;AACxD,qDAAgD;AAChD,iDAAkE;AAClE,mDAA0H;AAC1H,+CAAuC;AACvC,yDAAkE;AAClE,uDAAgE;AAChE,qCAAoC;AACpC,4BAAyB;AAIzB,MAAM,aAAa,GAAG,sBAAsB,CAAA;AAC5C,MAAM,UAAU,GAAG,kCAAkC,CAAA,CAAC,sBAAsB;AAE5E,MAAM,YAAY,GAAG,IAAI,oBAAU,CAAC;IAChC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,qBAAQ;CACrB,CAAC,CAAA;AAEW,QAAA,KAAK,GAAU,IAAA,kBAAW,EAA+G;IAClJ,OAAO,EAAE;QACL,IAAI,wBAAU,CAAC;YACX,KAAK,EAAE,IAAI,qBAAQ,CAAC,YAAY,CAAC;YACjC,GAAG,EAAE;gBACD,KAAK,EAAE,IAAI,+BAAmB,CAAC,IAAI,4BAAe,CAAC,YAAY,EAAE,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC,CAAC;aAC/F;SACJ,CAAC;QACF,IAAI,wBAAU,CAAC;YACX,KAAK,EAAE,IAAI,qBAAQ,CAAC,YAAY,CAAC;YACjC,eAAe,EAAE,SAAS;YAC1B,SAAS,EAAE;gBACP,UAAU,EAAE,IAAI,mCAAe,CAAC;oBAC5B,UAAU,EAAE,OAAO;oBACnB,OAAO,EAAE,cAAc;oBACvB,MAAM,EAAE,0BAA0B,EAAE,sBAAsB;iBAC7D,CAAC;gBACF,SAAS,EAAE,IAAI,iCAAc,CAAC;oBAC1B,UAAU,EAAE,OAAO;iBACtB,CAAC;aACL;SACJ,CAAC;QACF,IAAI,gCAAiB,CAAC;YAClB,QAAQ,EAAE,IAAI,uBAAQ,CAAC;gBACnB,GAAG,IAAA,+BAAe,EAAC;oBACf,QAAQ,EAAE;wBACN,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE;qBAC/D;iBACJ,CAAC;gBACF,GAAG,IAAA,8BAAc,GAAE;aACtB,CAAC;SACL,CAAC;QACF,IAAI,iCAAgB,EAAE;QACtB,IAAI,sBAAS,CAAC,YAAY,CAAC;QAC3B,IAAI,yBAAY,CAAC,YAAY,CAAC;KACjC;CACJ,CAAC,CAAA;AAEK,MAAM,SAAS,GAAG,KAAK,IAAoB,EAAE;IAChD,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;QAC9B,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IACnC,CAAC;IACD,OAAO,aAAK,CAAA;AAChB,CAAC,CAAA;AALY,QAAA,SAAS,aAKrB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Agent } from '../agent';
|
|
2
|
+
import { VerifiableCredential } from '@veramo/core';
|
|
3
|
+
export declare class VCHandler {
|
|
4
|
+
private agent?;
|
|
5
|
+
constructor(agent?: Agent);
|
|
6
|
+
private getAgent;
|
|
7
|
+
createCredential(issuerDid: string, subjectDid: string, claims: Record<string, any>): Promise<VerifiableCredential>;
|
|
8
|
+
verifyCredential(vcJwt: string): Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=vc-handler.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vc-handler.service.d.ts","sourceRoot":"","sources":["../../src/credentials/vc-handler.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD,qBAAa,SAAS;IAClB,OAAO,CAAC,KAAK,CAAC,CAAO;gBAET,KAAK,CAAC,EAAE,KAAK;YAIX,QAAQ;IAKhB,gBAAgB,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,OAAO,CAAC,oBAAoB,CAAC;IAkB1B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAO1D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VCHandler = void 0;
|
|
4
|
+
const agent_1 = require("../agent");
|
|
5
|
+
class VCHandler {
|
|
6
|
+
agent;
|
|
7
|
+
constructor(agent) {
|
|
8
|
+
this.agent = agent;
|
|
9
|
+
}
|
|
10
|
+
async getAgent() {
|
|
11
|
+
if (this.agent)
|
|
12
|
+
return this.agent;
|
|
13
|
+
return await (0, agent_1.initAgent)();
|
|
14
|
+
}
|
|
15
|
+
async createCredential(issuerDid, subjectDid, claims) {
|
|
16
|
+
const agent = await this.getAgent();
|
|
17
|
+
const credential = await agent.createVerifiableCredential({
|
|
18
|
+
credential: {
|
|
19
|
+
issuer: { id: issuerDid },
|
|
20
|
+
credentialSubject: {
|
|
21
|
+
id: subjectDid,
|
|
22
|
+
...claims
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
proofFormat: 'jwt',
|
|
26
|
+
save: true
|
|
27
|
+
});
|
|
28
|
+
return credential;
|
|
29
|
+
}
|
|
30
|
+
async verifyCredential(vcJwt) {
|
|
31
|
+
const agent = await this.getAgent();
|
|
32
|
+
const result = await agent.verifyCredential({
|
|
33
|
+
credential: vcJwt
|
|
34
|
+
});
|
|
35
|
+
return result.verified;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.VCHandler = VCHandler;
|
|
39
|
+
//# sourceMappingURL=vc-handler.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vc-handler.service.js","sourceRoot":"","sources":["../../src/credentials/vc-handler.service.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAG3C,MAAa,SAAS;IACV,KAAK,CAAQ;IAErB,YAAY,KAAa;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,QAAQ;QAClB,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAA;QACjC,OAAO,MAAM,IAAA,iBAAS,GAAE,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,SAAiB,EACjB,UAAkB,EAClB,MAA2B;QAE3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEnC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC;YACtD,UAAU,EAAE;gBACR,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACzB,iBAAiB,EAAE;oBACf,EAAE,EAAE,UAAU;oBACd,GAAG,MAAM;iBACZ;aACJ;YACD,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,IAAI;SACb,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC;YACxC,UAAU,EAAE,KAAK;SACpB,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,QAAQ,CAAA;IAC1B,CAAC;CACJ;AAzCD,8BAyCC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare class IdentityManager {
|
|
2
|
+
createEphemeralDID(): Promise<import("@veramo/core").IIdentifier>;
|
|
3
|
+
createPersistentDID(alias?: string): Promise<import("@veramo/core").IIdentifier>;
|
|
4
|
+
resolveDID(did: string): Promise<import("did-resolver").DIDResolutionResult>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=did-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-manager.d.ts","sourceRoot":"","sources":["../../src/identity/did-manager.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IAClB,kBAAkB;IAQlB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM;IASlC,UAAU,CAAC,GAAG,EAAE,MAAM;CAI/B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IdentityManager = void 0;
|
|
4
|
+
const agent_1 = require("../agent");
|
|
5
|
+
class IdentityManager {
|
|
6
|
+
async createEphemeralDID() {
|
|
7
|
+
const agent = await (0, agent_1.initAgent)();
|
|
8
|
+
const identifier = await agent.didManagerCreate({
|
|
9
|
+
provider: 'did:key'
|
|
10
|
+
});
|
|
11
|
+
return identifier;
|
|
12
|
+
}
|
|
13
|
+
async createPersistentDID(alias) {
|
|
14
|
+
const agent = await (0, agent_1.initAgent)();
|
|
15
|
+
const identifier = await agent.didManagerCreate({
|
|
16
|
+
provider: 'did:ethr',
|
|
17
|
+
alias
|
|
18
|
+
});
|
|
19
|
+
return identifier;
|
|
20
|
+
}
|
|
21
|
+
async resolveDID(did) {
|
|
22
|
+
const agent = await (0, agent_1.initAgent)();
|
|
23
|
+
return await agent.resolveDid({ didUrl: did });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.IdentityManager = IdentityManager;
|
|
27
|
+
//# sourceMappingURL=did-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-manager.js","sourceRoot":"","sources":["../../src/identity/did-manager.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAEpC,MAAa,eAAe;IACxB,KAAK,CAAC,kBAAkB;QACpB,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAS,GAAE,CAAA;QAC/B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC;YAC5C,QAAQ,EAAE,SAAS;SACtB,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAc;QACpC,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAS,GAAE,CAAA;QAC/B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC;YAC5C,QAAQ,EAAE,UAAU;YACpB,KAAK;SACR,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW;QACxB,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAS,GAAE,CAAA;QAC/B,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAClD,CAAC;CACJ;AAtBD,0CAsBC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,kCAAkC,CAAA;AAChD,cAAc,SAAS,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./identity/did-manager"), exports);
|
|
18
|
+
__exportStar(require("./credentials/vc-handler.service"), exports);
|
|
19
|
+
__exportStar(require("./agent"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,mEAAgD;AAChD,0CAAuB"}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@swimmingkiim/trust-sdk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"types": "dist/index.d.ts",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"require": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc",
|
|
15
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@veramo/core": "^6.0.2",
|
|
19
|
+
"@veramo/credential-w3c": "^6.0.2",
|
|
20
|
+
"@veramo/data-store": "^6.0.2",
|
|
21
|
+
"@veramo/did-manager": "^6.0.2",
|
|
22
|
+
"@veramo/did-provider-ethr": "^6.0.2",
|
|
23
|
+
"@veramo/did-provider-key": "^6.0.2",
|
|
24
|
+
"@veramo/did-resolver": "^6.0.2",
|
|
25
|
+
"@veramo/key-manager": "^6.0.2",
|
|
26
|
+
"@veramo/kms-local": "^6.0.2",
|
|
27
|
+
"did-jwt-vc": "^3.2.0",
|
|
28
|
+
"did-resolver": "^4.1.0",
|
|
29
|
+
"ethers": "^6.11.1",
|
|
30
|
+
"ethr-did-resolver": "^11.0.5",
|
|
31
|
+
"key-did-resolver": "^4.0.0",
|
|
32
|
+
"reflect-metadata": "^0.2.2",
|
|
33
|
+
"sqlite3": "^5.1.7",
|
|
34
|
+
"ts-node": "^10.9.2",
|
|
35
|
+
"typeorm": "^0.3.28"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"tsx": "^4.21.0",
|
|
39
|
+
"typescript": "^5.3.3"
|
|
40
|
+
}
|
|
41
|
+
}
|
package/src/agent.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IResolver, IDataStore, IKeyManager, IDIDManager, TAgent } from '@veramo/core';
|
|
2
|
+
import { IDataStoreORM } from '@veramo/data-store';
|
|
3
|
+
import 'reflect-metadata';
|
|
4
|
+
export type Agent = TAgent<IDIDManager & IKeyManager & IDataStore & IDataStoreORM & IResolver>;
|
|
5
|
+
export declare const agent: Agent;
|
|
6
|
+
export declare const initAgent: () => Promise<Agent>;
|
|
7
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAOnG,OAAO,EAAiD,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAK1H,OAAO,kBAAkB,CAAA;AAEzB,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC,CAAA;AAa9F,eAAO,MAAM,KAAK,EAAE,KAmClB,CAAA;AAEF,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,KAAK,CAK/C,CAAA"}
|
package/src/agent.js
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initAgent = exports.agent = void 0;
|
|
4
|
+
const core_1 = require("@veramo/core");
|
|
5
|
+
const did_manager_1 = require("@veramo/did-manager");
|
|
6
|
+
const did_provider_ethr_1 = require("@veramo/did-provider-ethr");
|
|
7
|
+
const did_provider_key_1 = require("@veramo/did-provider-key");
|
|
8
|
+
const did_resolver_1 = require("@veramo/did-resolver");
|
|
9
|
+
const key_manager_1 = require("@veramo/key-manager");
|
|
10
|
+
const kms_local_1 = require("@veramo/kms-local");
|
|
11
|
+
const data_store_1 = require("@veramo/data-store");
|
|
12
|
+
const did_resolver_2 = require("did-resolver");
|
|
13
|
+
const ethr_did_resolver_1 = require("ethr-did-resolver");
|
|
14
|
+
const key_did_resolver_1 = require("key-did-resolver");
|
|
15
|
+
const typeorm_1 = require("typeorm");
|
|
16
|
+
require("reflect-metadata");
|
|
17
|
+
const DATABASE_FILE = '/tmp/database.sqlite';
|
|
18
|
+
const SECRET_KEY = '29739248cad1bd5a625441a0d8ba398e'; // TODO: Load from env
|
|
19
|
+
const dbConnection = new typeorm_1.DataSource({
|
|
20
|
+
type: 'sqlite',
|
|
21
|
+
database: DATABASE_FILE,
|
|
22
|
+
synchronize: true,
|
|
23
|
+
logging: false,
|
|
24
|
+
entities: data_store_1.Entities,
|
|
25
|
+
});
|
|
26
|
+
exports.agent = (0, core_1.createAgent)({
|
|
27
|
+
plugins: [
|
|
28
|
+
new key_manager_1.KeyManager({
|
|
29
|
+
store: new data_store_1.KeyStore(dbConnection),
|
|
30
|
+
kms: {
|
|
31
|
+
local: new kms_local_1.KeyManagementSystem(new data_store_1.PrivateKeyStore(dbConnection, new kms_local_1.SecretBox(SECRET_KEY))),
|
|
32
|
+
},
|
|
33
|
+
}),
|
|
34
|
+
new did_manager_1.DIDManager({
|
|
35
|
+
store: new data_store_1.DIDStore(dbConnection),
|
|
36
|
+
defaultProvider: 'did:key',
|
|
37
|
+
providers: {
|
|
38
|
+
'did:ethr': new did_provider_ethr_1.EthrDIDProvider({
|
|
39
|
+
defaultKms: 'local',
|
|
40
|
+
network: 'base-sepolia',
|
|
41
|
+
rpcUrl: 'https://sepolia.base.org', // TODO: Load from env
|
|
42
|
+
}),
|
|
43
|
+
'did:key': new did_provider_key_1.KeyDIDProvider({
|
|
44
|
+
defaultKms: 'local',
|
|
45
|
+
}),
|
|
46
|
+
},
|
|
47
|
+
}),
|
|
48
|
+
new did_resolver_1.DIDResolverPlugin({
|
|
49
|
+
resolver: new did_resolver_2.Resolver({
|
|
50
|
+
...(0, ethr_did_resolver_1.getResolver)({
|
|
51
|
+
networks: [
|
|
52
|
+
{ name: 'base-sepolia', rpcUrl: 'https://sepolia.base.org' }
|
|
53
|
+
]
|
|
54
|
+
}),
|
|
55
|
+
...(0, key_did_resolver_1.getResolver)(),
|
|
56
|
+
}),
|
|
57
|
+
}),
|
|
58
|
+
new data_store_1.DataStore(dbConnection),
|
|
59
|
+
new data_store_1.DataStoreORM(dbConnection),
|
|
60
|
+
],
|
|
61
|
+
});
|
|
62
|
+
const initAgent = async () => {
|
|
63
|
+
if (!dbConnection.isInitialized) {
|
|
64
|
+
await dbConnection.initialize();
|
|
65
|
+
}
|
|
66
|
+
return exports.agent;
|
|
67
|
+
};
|
|
68
|
+
exports.initAgent = initAgent;
|
|
69
|
+
//# sourceMappingURL=agent.js.map
|
package/src/agent.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["agent.ts"],"names":[],"mappings":";;;AAAA,uCAAmG;AACnG,qDAAgD;AAChD,iEAA2D;AAC3D,+DAAyD;AACzD,uDAAwD;AACxD,qDAAgD;AAChD,iDAAkE;AAClE,mDAA0H;AAC1H,+CAAuC;AACvC,yDAAkE;AAClE,uDAAgE;AAChE,qCAAoC;AACpC,4BAAyB;AAIzB,MAAM,aAAa,GAAG,sBAAsB,CAAA;AAC5C,MAAM,UAAU,GAAG,kCAAkC,CAAA,CAAC,sBAAsB;AAE5E,MAAM,YAAY,GAAG,IAAI,oBAAU,CAAC;IAChC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,qBAAQ;CACrB,CAAC,CAAA;AAEW,QAAA,KAAK,GAAU,IAAA,kBAAW,EAAqE;IACxG,OAAO,EAAE;QACL,IAAI,wBAAU,CAAC;YACX,KAAK,EAAE,IAAI,qBAAQ,CAAC,YAAY,CAAC;YACjC,GAAG,EAAE;gBACD,KAAK,EAAE,IAAI,+BAAmB,CAAC,IAAI,4BAAe,CAAC,YAAY,EAAE,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC,CAAC;aAC/F;SACJ,CAAC;QACF,IAAI,wBAAU,CAAC;YACX,KAAK,EAAE,IAAI,qBAAQ,CAAC,YAAY,CAAC;YACjC,eAAe,EAAE,SAAS;YAC1B,SAAS,EAAE;gBACP,UAAU,EAAE,IAAI,mCAAe,CAAC;oBAC5B,UAAU,EAAE,OAAO;oBACnB,OAAO,EAAE,cAAc;oBACvB,MAAM,EAAE,0BAA0B,EAAE,sBAAsB;iBAC7D,CAAC;gBACF,SAAS,EAAE,IAAI,iCAAc,CAAC;oBAC1B,UAAU,EAAE,OAAO;iBACtB,CAAC;aACL;SACJ,CAAC;QACF,IAAI,gCAAiB,CAAC;YAClB,QAAQ,EAAE,IAAI,uBAAQ,CAAC;gBACnB,GAAG,IAAA,+BAAe,EAAC;oBACf,QAAQ,EAAE;wBACN,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE;qBAC/D;iBACJ,CAAC;gBACF,GAAG,IAAA,8BAAc,GAAE;aACtB,CAAC;SACL,CAAC;QACF,IAAI,sBAAS,CAAC,YAAY,CAAC;QAC3B,IAAI,yBAAY,CAAC,YAAY,CAAC;KACjC;CACJ,CAAC,CAAA;AAEK,MAAM,SAAS,GAAG,KAAK,IAAoB,EAAE;IAChD,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;QAC9B,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IACnC,CAAC;IACD,OAAO,aAAK,CAAA;AAChB,CAAC,CAAA;AALY,QAAA,SAAS,aAKrB"}
|
package/src/agent.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { createAgent, IResolver, IDataStore, IKeyManager, IDIDManager, TAgent } from '@veramo/core'
|
|
2
|
+
import { CredentialPlugin, ICredentialIssuer, ICredentialVerifier } from '@veramo/credential-w3c'
|
|
3
|
+
import { DIDManager } from '@veramo/did-manager'
|
|
4
|
+
import { EthrDIDProvider } from '@veramo/did-provider-ethr'
|
|
5
|
+
import { KeyDIDProvider } from '@veramo/did-provider-key'
|
|
6
|
+
import { DIDResolverPlugin } from '@veramo/did-resolver'
|
|
7
|
+
import { KeyManager } from '@veramo/key-manager'
|
|
8
|
+
import { KeyManagementSystem, SecretBox } from '@veramo/kms-local'
|
|
9
|
+
import { Entities, KeyStore, DIDStore, PrivateKeyStore, IDataStoreORM, DataStore, DataStoreORM } from '@veramo/data-store'
|
|
10
|
+
import { Resolver } from 'did-resolver'
|
|
11
|
+
import { getResolver as ethrDidResolver } from 'ethr-did-resolver'
|
|
12
|
+
import { getResolver as keyDidResolver } from 'key-did-resolver'
|
|
13
|
+
import { DataSource } from 'typeorm'
|
|
14
|
+
import 'reflect-metadata'
|
|
15
|
+
|
|
16
|
+
export type Agent = TAgent<IDIDManager & IKeyManager & IDataStore & IDataStoreORM & IResolver & ICredentialIssuer & ICredentialVerifier>
|
|
17
|
+
|
|
18
|
+
const DATABASE_FILE = '/tmp/database.sqlite'
|
|
19
|
+
const SECRET_KEY = '29739248cad1bd5a625441a0d8ba398e' // TODO: Load from env
|
|
20
|
+
|
|
21
|
+
const dbConnection = new DataSource({
|
|
22
|
+
type: 'sqlite',
|
|
23
|
+
database: DATABASE_FILE,
|
|
24
|
+
synchronize: true,
|
|
25
|
+
logging: false,
|
|
26
|
+
entities: Entities,
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
export const agent: Agent = createAgent<IDIDManager & IKeyManager & IDataStore & IDataStoreORM & IResolver & ICredentialIssuer & ICredentialVerifier>({
|
|
30
|
+
plugins: [
|
|
31
|
+
new KeyManager({
|
|
32
|
+
store: new KeyStore(dbConnection),
|
|
33
|
+
kms: {
|
|
34
|
+
local: new KeyManagementSystem(new PrivateKeyStore(dbConnection, new SecretBox(SECRET_KEY))),
|
|
35
|
+
},
|
|
36
|
+
}),
|
|
37
|
+
new DIDManager({
|
|
38
|
+
store: new DIDStore(dbConnection),
|
|
39
|
+
defaultProvider: 'did:key',
|
|
40
|
+
providers: {
|
|
41
|
+
'did:ethr': new EthrDIDProvider({
|
|
42
|
+
defaultKms: 'local',
|
|
43
|
+
network: 'base-sepolia',
|
|
44
|
+
rpcUrl: 'https://sepolia.base.org', // TODO: Load from env
|
|
45
|
+
}),
|
|
46
|
+
'did:key': new KeyDIDProvider({
|
|
47
|
+
defaultKms: 'local',
|
|
48
|
+
}),
|
|
49
|
+
},
|
|
50
|
+
}),
|
|
51
|
+
new DIDResolverPlugin({
|
|
52
|
+
resolver: new Resolver({
|
|
53
|
+
...ethrDidResolver({
|
|
54
|
+
networks: [
|
|
55
|
+
{ name: 'base-sepolia', rpcUrl: 'https://sepolia.base.org' }
|
|
56
|
+
]
|
|
57
|
+
}),
|
|
58
|
+
...keyDidResolver(),
|
|
59
|
+
}),
|
|
60
|
+
}),
|
|
61
|
+
new CredentialPlugin(),
|
|
62
|
+
new DataStore(dbConnection),
|
|
63
|
+
new DataStoreORM(dbConnection),
|
|
64
|
+
],
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
export const initAgent = async (): Promise<Agent> => {
|
|
68
|
+
if (!dbConnection.isInitialized) {
|
|
69
|
+
await dbConnection.initialize()
|
|
70
|
+
}
|
|
71
|
+
return agent
|
|
72
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { VerifiableCredential } from '@veramo/core';
|
|
2
|
+
export declare class VCHandler {
|
|
3
|
+
createCredential(issuerDid: string, subjectDid: string, claims: Record<string, any>): Promise<VerifiableCredential>;
|
|
4
|
+
verifyCredential(vcJwt: string): Promise<boolean>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=vc-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vc-handler.d.ts","sourceRoot":"","sources":["vc-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD,qBAAa,SAAS;IACZ,gBAAgB,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,OAAO,CAAC,oBAAoB,CAAC;IAkB1B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAO1D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VCHandler = void 0;
|
|
4
|
+
const agent_1 = require("../agent");
|
|
5
|
+
class VCHandler {
|
|
6
|
+
async createCredential(issuerDid, subjectDid, claims) {
|
|
7
|
+
const agent = await (0, agent_1.initAgent)();
|
|
8
|
+
const credential = await agent.createVerifiableCredential({
|
|
9
|
+
credential: {
|
|
10
|
+
issuer: { id: issuerDid },
|
|
11
|
+
credentialSubject: {
|
|
12
|
+
id: subjectDid,
|
|
13
|
+
...claims
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
proofFormat: 'jwt',
|
|
17
|
+
save: true
|
|
18
|
+
});
|
|
19
|
+
return credential;
|
|
20
|
+
}
|
|
21
|
+
async verifyCredential(vcJwt) {
|
|
22
|
+
const agent = await (0, agent_1.initAgent)();
|
|
23
|
+
const result = await agent.verifyCredential({
|
|
24
|
+
credential: vcJwt
|
|
25
|
+
});
|
|
26
|
+
return result.verified;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.VCHandler = VCHandler;
|
|
30
|
+
//# sourceMappingURL=vc-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vc-handler.js","sourceRoot":"","sources":["vc-handler.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAGpC,MAAa,SAAS;IAClB,KAAK,CAAC,gBAAgB,CAClB,SAAiB,EACjB,UAAkB,EAClB,MAA2B;QAE3B,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAS,GAAE,CAAA;QAE/B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC;YACtD,UAAU,EAAE;gBACR,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACzB,iBAAiB,EAAE;oBACf,EAAE,EAAE,UAAU;oBACd,GAAG,MAAM;iBACZ;aACJ;YACD,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,IAAI;SACb,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAChC,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAS,GAAE,CAAA;QAC/B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC;YACxC,UAAU,EAAE,KAAK;SACpB,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,QAAQ,CAAA;IAC1B,CAAC;CACJ;AA9BD,8BA8BC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { initAgent, Agent } from '../agent'
|
|
2
|
+
import { VerifiableCredential } from '@veramo/core'
|
|
3
|
+
|
|
4
|
+
export class VCHandler {
|
|
5
|
+
private agent?: Agent
|
|
6
|
+
|
|
7
|
+
constructor(agent?: Agent) {
|
|
8
|
+
this.agent = agent
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
private async getAgent(): Promise<Agent> {
|
|
12
|
+
if (this.agent) return this.agent
|
|
13
|
+
return await initAgent()
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async createCredential(
|
|
17
|
+
issuerDid: string,
|
|
18
|
+
subjectDid: string,
|
|
19
|
+
claims: Record<string, any>
|
|
20
|
+
): Promise<VerifiableCredential> {
|
|
21
|
+
const agent = await this.getAgent()
|
|
22
|
+
|
|
23
|
+
const credential = await agent.createVerifiableCredential({
|
|
24
|
+
credential: {
|
|
25
|
+
issuer: { id: issuerDid },
|
|
26
|
+
credentialSubject: {
|
|
27
|
+
id: subjectDid,
|
|
28
|
+
...claims
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
proofFormat: 'jwt',
|
|
32
|
+
save: true
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
return credential
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async verifyCredential(vcJwt: string): Promise<boolean> {
|
|
39
|
+
const agent = await this.getAgent()
|
|
40
|
+
const result = await agent.verifyCredential({
|
|
41
|
+
credential: vcJwt
|
|
42
|
+
})
|
|
43
|
+
return result.verified
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare class IdentityManager {
|
|
2
|
+
createEphemeralDID(): Promise<import("@veramo/core", { with: { "resolution-mode": "import" } }).IIdentifier>;
|
|
3
|
+
createPersistentDID(alias?: string): Promise<import("@veramo/core", { with: { "resolution-mode": "import" } }).IIdentifier>;
|
|
4
|
+
resolveDID(did: string): Promise<import("did-resolver", { with: { "resolution-mode": "import" } }).DIDResolutionResult>;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=did-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-manager.d.ts","sourceRoot":"","sources":["did-manager.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IAClB,kBAAkB;IAQlB,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM;IASlC,UAAU,CAAC,GAAG,EAAE,MAAM;CAI/B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IdentityManager = void 0;
|
|
4
|
+
const agent_1 = require("../agent");
|
|
5
|
+
class IdentityManager {
|
|
6
|
+
async createEphemeralDID() {
|
|
7
|
+
const agent = await (0, agent_1.initAgent)();
|
|
8
|
+
const identifier = await agent.didManagerCreate({
|
|
9
|
+
provider: 'did:key'
|
|
10
|
+
});
|
|
11
|
+
return identifier;
|
|
12
|
+
}
|
|
13
|
+
async createPersistentDID(alias) {
|
|
14
|
+
const agent = await (0, agent_1.initAgent)();
|
|
15
|
+
const identifier = await agent.didManagerCreate({
|
|
16
|
+
provider: 'did:ethr',
|
|
17
|
+
alias
|
|
18
|
+
});
|
|
19
|
+
return identifier;
|
|
20
|
+
}
|
|
21
|
+
async resolveDID(did) {
|
|
22
|
+
const agent = await (0, agent_1.initAgent)();
|
|
23
|
+
return await agent.resolveDid({ didUrl: did });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.IdentityManager = IdentityManager;
|
|
27
|
+
//# sourceMappingURL=did-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-manager.js","sourceRoot":"","sources":["did-manager.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAEpC,MAAa,eAAe;IACxB,KAAK,CAAC,kBAAkB;QACpB,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAS,GAAE,CAAA;QAC/B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC;YAC5C,QAAQ,EAAE,SAAS;SACtB,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAc;QACpC,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAS,GAAE,CAAA;QAC/B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC;YAC5C,QAAQ,EAAE,UAAU;YACpB,KAAK;SACR,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW;QACxB,MAAM,KAAK,GAAG,MAAM,IAAA,iBAAS,GAAE,CAAA;QAC/B,OAAO,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAClD,CAAC;CACJ;AAtBD,0CAsBC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { initAgent } from '../agent'
|
|
2
|
+
|
|
3
|
+
export class IdentityManager {
|
|
4
|
+
async createEphemeralDID() {
|
|
5
|
+
const agent = await initAgent()
|
|
6
|
+
const identifier = await agent.didManagerCreate({
|
|
7
|
+
provider: 'did:key'
|
|
8
|
+
})
|
|
9
|
+
return identifier
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async createPersistentDID(alias?: string) {
|
|
13
|
+
const agent = await initAgent()
|
|
14
|
+
const identifier = await agent.didManagerCreate({
|
|
15
|
+
provider: 'did:ethr',
|
|
16
|
+
alias
|
|
17
|
+
})
|
|
18
|
+
return identifier
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async resolveDID(did: string) {
|
|
22
|
+
const agent = await initAgent()
|
|
23
|
+
return await agent.resolveDid({ didUrl: did })
|
|
24
|
+
}
|
|
25
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,SAAS,CAAA"}
|
package/src/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./identity/did-manager"), exports);
|
|
18
|
+
__exportStar(require("./credentials/vc-handler"), exports);
|
|
19
|
+
__exportStar(require("./agent"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,2DAAwC;AACxC,0CAAuB"}
|
package/src/index.ts
ADDED