@docknetwork/wallet-sdk-wasm 1.4.0 → 1.5.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/lib/{account-3c88155a.js → account-bf00e5c0.js} +5 -5
- package/lib/{account-8f5cbc4d.js → account-e48dc9b6.js} +5 -5
- package/lib/core/polkadot-utils.js +18 -4
- package/lib/core/polkadot-utils.mjs +15 -2
- package/lib/index.js +14 -17
- package/lib/index.mjs +14 -17
- package/lib/modules/account.js +9 -5
- package/lib/modules/account.mjs +9 -5
- package/lib/modules/accounts.js +9 -5
- package/lib/modules/accounts.mjs +9 -5
- package/lib/modules/network-manager.js +4 -2
- package/lib/modules/network-manager.mjs +4 -2
- package/lib/modules/wallet.js +12 -8
- package/lib/modules/wallet.mjs +12 -8
- package/lib/rpc-server.js +14 -17
- package/lib/rpc-server.mjs +14 -17
- package/lib/services/blockchain/configs.js +7 -0
- package/lib/services/blockchain/configs.mjs +3 -0
- package/lib/services/{dock → blockchain}/index.android.js +3 -4
- package/lib/services/{dock → blockchain}/index.android.mjs +3 -4
- package/lib/services/{dock → blockchain}/index.ios.js +3 -4
- package/lib/services/{dock → blockchain}/index.ios.mjs +3 -4
- package/lib/services/blockchain/index.js +30 -0
- package/lib/services/blockchain/index.mjs +22 -0
- package/lib/services/{dock → blockchain}/service-rpc.js +5 -7
- package/lib/services/{dock → blockchain}/service-rpc.mjs +5 -7
- package/lib/services/blockchain/service.js +212 -0
- package/lib/services/blockchain/service.mjs +206 -0
- package/lib/services/credential/bbs-revocation.js +33 -61
- package/lib/services/credential/bbs-revocation.mjs +34 -62
- package/lib/services/credential/bound-check.js +0 -8
- package/lib/services/credential/bound-check.mjs +1 -5
- package/lib/services/credential/index.js +20 -23
- package/lib/services/credential/index.mjs +20 -23
- package/lib/services/credential/pex-helpers.js +134 -34
- package/lib/services/credential/pex-helpers.mjs +133 -35
- package/lib/services/credential/service.js +54 -55
- package/lib/services/credential/service.mjs +43 -41
- package/lib/services/credential/utils.js +12 -18
- package/lib/services/credential/utils.mjs +11 -14
- package/lib/services/dids/config.js +8 -0
- package/lib/services/dids/config.mjs +8 -0
- package/lib/services/dids/index.js +8 -7
- package/lib/services/dids/index.mjs +8 -7
- package/lib/services/dids/service-rpc.js +2 -2
- package/lib/services/dids/service-rpc.mjs +2 -2
- package/lib/services/dids/service.js +22 -32
- package/lib/services/dids/service.mjs +22 -32
- package/lib/services/edv/hmac.js +5 -0
- package/lib/services/edv/hmac.mjs +5 -0
- package/lib/services/edv/index.js +10 -8
- package/lib/services/edv/index.mjs +10 -8
- package/lib/services/edv/service-rpc.js +4 -0
- package/lib/services/edv/service-rpc.mjs +4 -0
- package/lib/services/edv/service.js +26 -10
- package/lib/services/edv/service.mjs +25 -10
- package/lib/services/example/service.js +3 -1
- package/lib/services/example/service.mjs +3 -1
- package/lib/services/index.js +12 -15
- package/lib/services/index.mjs +12 -15
- package/lib/services/keyring/configs.js +12 -0
- package/lib/services/keyring/configs.mjs +12 -0
- package/lib/services/keyring/service.js +5 -0
- package/lib/services/keyring/service.mjs +5 -0
- package/lib/services/pex/service.js +17 -15
- package/lib/services/pex/service.mjs +17 -15
- package/lib/services/substrate/api-utils.js +18 -6
- package/lib/services/substrate/api-utils.mjs +18 -6
- package/lib/services/substrate/index.js +13 -6
- package/lib/services/substrate/index.mjs +13 -6
- package/lib/services/substrate/service.js +16 -9
- package/lib/services/substrate/service.mjs +16 -9
- package/lib/services/test-utils.js +27 -18
- package/lib/services/test-utils.mjs +27 -18
- package/lib/services/trust-registry/index.js +16 -5
- package/lib/services/trust-registry/index.mjs +16 -5
- package/lib/services/trust-registry/service.js +26 -10
- package/lib/services/trust-registry/service.mjs +26 -10
- package/lib/services/util-crypto/configs.js +3 -0
- package/lib/services/util-crypto/configs.mjs +3 -0
- package/lib/services/util-crypto/service-rpc.js +6 -0
- package/lib/services/util-crypto/service-rpc.mjs +6 -0
- package/lib/services/util-crypto/service.js +5 -0
- package/lib/services/util-crypto/service.mjs +6 -1
- package/lib/setup-nodejs.js +14 -17
- package/lib/setup-nodejs.mjs +14 -17
- package/lib/setup-tests.js +14 -17
- package/lib/setup-tests.mjs +14 -17
- package/lib/src/core/polkadot-utils.d.ts +1 -0
- package/lib/src/core/polkadot-utils.d.ts.map +1 -1
- package/lib/src/modules/network-manager.d.ts +1 -0
- package/lib/src/modules/network-manager.d.ts.map +1 -1
- package/lib/src/services/blockchain/configs.d.ts +8 -0
- package/lib/src/services/blockchain/configs.d.ts.map +1 -0
- package/lib/src/services/blockchain/index.d.ts +2 -0
- package/lib/src/services/blockchain/index.d.ts.map +1 -0
- package/lib/src/services/{dock → blockchain}/service.d.ts +12 -11
- package/lib/src/services/blockchain/service.d.ts.map +1 -0
- package/lib/src/services/credential/bbs-revocation.d.ts.map +1 -1
- package/lib/src/services/credential/bound-check.d.ts +0 -4
- package/lib/src/services/credential/bound-check.d.ts.map +1 -1
- package/lib/src/services/credential/index.d.ts +2 -7
- package/lib/src/services/credential/index.d.ts.map +1 -1
- package/lib/src/services/credential/pex-helpers.d.ts +5 -3
- package/lib/src/services/credential/pex-helpers.d.ts.map +1 -1
- package/lib/src/services/credential/service.d.ts +2 -7
- package/lib/src/services/credential/service.d.ts.map +1 -1
- package/lib/src/services/credential/utils.d.ts.map +1 -1
- package/lib/src/services/dids/config.d.ts +5 -0
- package/lib/src/services/dids/config.d.ts.map +1 -1
- package/lib/src/services/dids/service-rpc.d.ts +1 -1
- package/lib/src/services/dids/service-rpc.d.ts.map +1 -1
- package/lib/src/services/dids/service.d.ts +9 -7
- package/lib/src/services/dids/service.d.ts.map +1 -1
- package/lib/src/services/edv/hmac.d.ts +1 -0
- package/lib/src/services/edv/hmac.d.ts.map +1 -1
- package/lib/src/services/edv/service.d.ts +5 -0
- package/lib/src/services/edv/service.d.ts.map +1 -1
- package/lib/src/services/example/service.d.ts.map +1 -1
- package/lib/src/services/keyring/configs.d.ts +6 -0
- package/lib/src/services/keyring/configs.d.ts.map +1 -1
- package/lib/src/services/pex/service.d.ts.map +1 -1
- package/lib/src/services/trust-registry/service.d.ts.map +1 -1
- package/lib/src/services/util-crypto/configs.d.ts +1 -0
- package/lib/src/services/util-crypto/configs.d.ts.map +1 -1
- package/lib/src/services/util-crypto/service.d.ts +1 -0
- package/lib/src/services/util-crypto/service.d.ts.map +1 -1
- package/lib/test/setup-test-state.js +10 -6
- package/lib/test/setup-test-state.mjs +10 -6
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -7
- package/src/core/polkadot-utils.js +14 -3
- package/src/modules/network-manager.ts +5 -2
- package/src/modules/wallet.ts +5 -5
- package/src/services/blockchain/configs.ts +11 -0
- package/src/services/blockchain/index.android.js +3 -0
- package/src/services/blockchain/index.ios.js +3 -0
- package/src/services/blockchain/index.js +1 -0
- package/src/services/blockchain/index.test.js +34 -0
- package/src/services/{dock → blockchain}/service-rpc.js +5 -6
- package/src/services/blockchain/service.ts +261 -0
- package/src/services/credential/bbs-revocation.ts +42 -90
- package/src/services/credential/bound-check.test.ts +2 -5
- package/src/services/credential/bound-check.ts +0 -5
- package/src/services/credential/index.test.js +148 -7
- package/src/services/credential/pex-helpers.js +132 -34
- package/src/services/credential/pex-helpers.test.js +284 -27
- package/src/services/credential/service.ts +44 -27
- package/src/services/credential/utils.js +5 -14
- package/src/services/dids/config.ts +15 -0
- package/src/services/dids/index.test.js +5 -46
- package/src/services/dids/service-rpc.ts +2 -2
- package/src/services/dids/service.ts +17 -34
- package/src/services/edv/hmac.ts +13 -0
- package/src/services/edv/index.test.js +22 -0
- package/src/services/edv/service-rpc.js +4 -0
- package/src/services/edv/service.ts +22 -0
- package/src/services/example/service.ts +3 -1
- package/src/services/index.js +2 -2
- package/src/services/keyring/configs.ts +21 -0
- package/src/services/keyring/service.ts +13 -0
- package/src/services/pex/service.ts +29 -18
- package/src/services/pex/tests/pex-service.test.js +163 -6
- package/src/services/substrate/api-utils.test.js +7 -7
- package/src/services/substrate/api-utils.ts +3 -3
- package/src/services/substrate/service.ts +6 -6
- package/src/services/test-utils.js +13 -11
- package/src/services/trust-registry/index.test.js +6 -4
- package/src/services/trust-registry/service.ts +13 -7
- package/src/services/util-crypto/configs.ts +4 -0
- package/src/services/util-crypto/service-rpc.js +6 -0
- package/src/services/util-crypto/service.ts +8 -0
- package/src/test/setup-test-state.js +2 -2
- package/lib/services/dock/configs.js +0 -18
- package/lib/services/dock/configs.mjs +0 -10
- package/lib/services/dock/index.js +0 -18
- package/lib/services/dock/index.mjs +0 -10
- package/lib/services/dock/service.js +0 -136
- package/lib/services/dock/service.mjs +0 -128
- package/lib/src/services/dock/configs.d.ts +0 -7
- package/lib/src/services/dock/configs.d.ts.map +0 -1
- package/lib/src/services/dock/index.d.ts +0 -2
- package/lib/src/services/dock/index.d.ts.map +0 -1
- package/lib/src/services/dock/service.d.ts.map +0 -1
- package/src/services/dock/configs.ts +0 -12
- package/src/services/dock/index.android.js +0 -3
- package/src/services/dock/index.ios.js +0 -3
- package/src/services/dock/index.js +0 -1
- package/src/services/dock/index.test.js +0 -48
- package/src/services/dock/service.ts +0 -159
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { DockAPI } from '@docknetwork/dock-blockchain-api';
|
|
2
|
-
import { DIDKeyResolver, DIDResolver, UniversalResolver, ResolverRouter, WILDCARD } from '@docknetwork/credential-sdk/resolver';
|
|
3
|
-
import { DockDIDModule, DockCoreModules } from '@docknetwork/dock-blockchain-modules';
|
|
4
|
-
import { initializeWasm } from '@docknetwork/crypto-wasm-ts/lib/index';
|
|
5
|
-
import { EventEmitter } from 'events';
|
|
6
|
-
import { Logger } from '../../core/logger.mjs';
|
|
7
|
-
import { once } from '../../modules/event-manager.mjs';
|
|
8
|
-
import { validation } from './configs.mjs';
|
|
9
|
-
import 'assert';
|
|
10
|
-
|
|
11
|
-
// @ts-nocheck
|
|
12
|
-
let dockInstance;
|
|
13
|
-
function getDock() {
|
|
14
|
-
return dockInstance;
|
|
15
|
-
}
|
|
16
|
-
function setDock(instance) {
|
|
17
|
-
dockInstance = instance;
|
|
18
|
-
}
|
|
19
|
-
// Create a resolver in order to lookup DIDs for verifying
|
|
20
|
-
const universalResolverUrl = 'https://uniresolver.io';
|
|
21
|
-
class AnyDIDResolver extends ResolverRouter {
|
|
22
|
-
method = WILDCARD;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
*
|
|
26
|
-
*/
|
|
27
|
-
class DockService {
|
|
28
|
-
dock;
|
|
29
|
-
modules;
|
|
30
|
-
didModule;
|
|
31
|
-
isDockReady = false;
|
|
32
|
-
resolver;
|
|
33
|
-
static Events = {
|
|
34
|
-
DOCK_READY: 'dock-ready',
|
|
35
|
-
};
|
|
36
|
-
rpcMethods = [
|
|
37
|
-
DockService.prototype.disconnect,
|
|
38
|
-
DockService.prototype.ensureDockReady,
|
|
39
|
-
DockService.prototype.init,
|
|
40
|
-
DockService.prototype.isApiConnected,
|
|
41
|
-
DockService.prototype.getAddress,
|
|
42
|
-
];
|
|
43
|
-
constructor() {
|
|
44
|
-
this.name = 'dock';
|
|
45
|
-
this.dock = new DockAPI();
|
|
46
|
-
this.didModule = new DockDIDModule(this.dock);
|
|
47
|
-
this.modules = new DockCoreModules(this.dock);
|
|
48
|
-
dockInstance = this.dock;
|
|
49
|
-
this.emitter = new EventEmitter();
|
|
50
|
-
this.resolver = this.createDIDResolver();
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
*
|
|
54
|
-
* @returns
|
|
55
|
-
*/
|
|
56
|
-
async ensureDockReady() {
|
|
57
|
-
if (this.isDockReady) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
return once(this.emitter, DockService.Events.DOCK_READY);
|
|
61
|
-
}
|
|
62
|
-
createDIDResolver() {
|
|
63
|
-
return new AnyDIDResolver([
|
|
64
|
-
new DIDKeyResolver(),
|
|
65
|
-
new DIDResolver(this.didModule),
|
|
66
|
-
new UniversalResolver(universalResolverUrl),
|
|
67
|
-
]);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
*
|
|
71
|
-
* @param {*} params
|
|
72
|
-
* @returns
|
|
73
|
-
*/
|
|
74
|
-
async init(params) {
|
|
75
|
-
validation.init(params);
|
|
76
|
-
if (this.dock.isConnected) {
|
|
77
|
-
await this.dock.disconnect();
|
|
78
|
-
}
|
|
79
|
-
Logger.info(`Attempt to initialized substrate at: ${params.address}`);
|
|
80
|
-
await getDock().init(params);
|
|
81
|
-
this.address = params.address;
|
|
82
|
-
this.resolver = this.createDIDResolver();
|
|
83
|
-
if (process.env.NODE_ENV !== 'test' || process.env.API_MOCK_DISABLED === 'true') {
|
|
84
|
-
await initializeWasm();
|
|
85
|
-
}
|
|
86
|
-
Logger.info(`Substrate initialized at: ${params.address}`);
|
|
87
|
-
this._setDockReady(true);
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
*
|
|
92
|
-
* @returns
|
|
93
|
-
*/
|
|
94
|
-
async disconnect() {
|
|
95
|
-
const result = await this.dock.disconnect();
|
|
96
|
-
this._setDockReady(false);
|
|
97
|
-
return result;
|
|
98
|
-
}
|
|
99
|
-
async waitDockReady() {
|
|
100
|
-
return new Promise(resolve => {
|
|
101
|
-
if (this.isDockReady) {
|
|
102
|
-
resolve();
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
this.emitter.once(DockService.Events.DOCK_READY, resolve);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
*
|
|
111
|
-
* @returns
|
|
112
|
-
*/
|
|
113
|
-
async isApiConnected() {
|
|
114
|
-
return this.isDockReady;
|
|
115
|
-
}
|
|
116
|
-
async getAddress() {
|
|
117
|
-
return this.dock.address;
|
|
118
|
-
}
|
|
119
|
-
_setDockReady(isDockReady) {
|
|
120
|
-
this.isDockReady = isDockReady;
|
|
121
|
-
if (isDockReady) {
|
|
122
|
-
this.emitter.emit(DockService.Events.DOCK_READY);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
const dockService = new DockService();
|
|
127
|
-
|
|
128
|
-
export { DockService, dockService, getDock, setDock, universalResolverUrl };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../../src/services/dock/configs.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU;;CAItB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/dock/index.js"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/services/dock/service.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,cAAc,EACf,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EAAC,UAAU,EAAa,MAAM,WAAW,CAAC;AAKjD,wBAAgB,OAAO,QAEtB;AAED,wBAAgB,OAAO,CAAC,QAAQ,KAAA,QAE/B;AAGD,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAE7D,cAAM,cAAe,SAAQ,cAAc;IACzC,MAAM,MAAY;CACnB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,IAAI,MAAC;IACL,OAAO,MAAC;IACR,SAAS,MAAC;IACV,WAAW,UAAS;IACpB,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,MAAM;;MAEX;IAEF,UAAU,oCA2CS,UAAU,0BArC3B;;IAYF;;;OAGG;IACG,eAAe;IAQrB,iBAAiB;IAQjB;;;;OAIG;IACG,IAAI,CAAC,MAAM,EAAE,UAAU;IA2B7B;;;OAGG;IACG,UAAU;IAMV,aAAa;IAUnB;;;OAGG;IACG,cAAc;IAId,UAAU;IAIhB,aAAa,CAAC,WAAW,KAAA;CAO1B;AAED,eAAO,MAAM,WAAW,EAAE,WAA+B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {dockService} from './service';
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import {NetworkManager} from '../../modules/network-manager';
|
|
2
|
-
import {
|
|
3
|
-
assertRpcService,
|
|
4
|
-
getPromiseError,
|
|
5
|
-
mockDockSdkConnection,
|
|
6
|
-
} from '../test-utils';
|
|
7
|
-
import {validation} from './configs';
|
|
8
|
-
import {dockService as service} from './service';
|
|
9
|
-
import {DockServiceRpc} from './service-rpc';
|
|
10
|
-
|
|
11
|
-
const doConnect = (
|
|
12
|
-
address = NetworkManager.getInstance().getNetworkInfo().substrateUrl,
|
|
13
|
-
) =>
|
|
14
|
-
service.init({
|
|
15
|
-
address,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
describe('DockService', () => {
|
|
19
|
-
it('ServiceRpc', () => {
|
|
20
|
-
assertRpcService(DockServiceRpc, service, validation);
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
describe('init', () => {
|
|
24
|
-
afterEach(async () => {
|
|
25
|
-
await service.disconnect();
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it('connect and disconnect substrate node', async () => {
|
|
29
|
-
const mock = mockDockSdkConnection();
|
|
30
|
-
const result = await doConnect();
|
|
31
|
-
expect(result).toBe(true);
|
|
32
|
-
expect(await service.isApiConnected()).toBeTruthy();
|
|
33
|
-
await service.disconnect();
|
|
34
|
-
expect(await service.isApiConnected()).toBeFalsy();
|
|
35
|
-
mock.clear();
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('throw error for invalid address', async () => {
|
|
39
|
-
const mock = mockDockSdkConnection();
|
|
40
|
-
const error = await getPromiseError(async () => {
|
|
41
|
-
await doConnect(null);
|
|
42
|
-
});
|
|
43
|
-
expect(error.message).toBe('invalid substrate address null');
|
|
44
|
-
expect(await service.isApiConnected()).toBeFalsy();
|
|
45
|
-
mock.clear();
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
});
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import { DockAPI } from '@docknetwork/dock-blockchain-api';
|
|
3
|
-
import {
|
|
4
|
-
DIDKeyResolver,
|
|
5
|
-
UniversalResolver,
|
|
6
|
-
WILDCARD,
|
|
7
|
-
DIDResolver,
|
|
8
|
-
ResolverRouter,
|
|
9
|
-
} from '@docknetwork/credential-sdk/resolver';
|
|
10
|
-
import {DockDIDModule} from '@docknetwork/dock-blockchain-modules';
|
|
11
|
-
import {initializeWasm} from '@docknetwork/crypto-wasm-ts/lib/index';
|
|
12
|
-
import {EventEmitter} from 'events';
|
|
13
|
-
import {Logger} from '../../core/logger';
|
|
14
|
-
import {once} from '../../modules/event-manager';
|
|
15
|
-
import {InitParams, validation} from './configs';
|
|
16
|
-
import {DockCoreModules} from '@docknetwork/dock-blockchain-modules';
|
|
17
|
-
|
|
18
|
-
let dockInstance;
|
|
19
|
-
|
|
20
|
-
export function getDock() {
|
|
21
|
-
return dockInstance;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function setDock(instance) {
|
|
25
|
-
dockInstance = instance;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// Create a resolver in order to lookup DIDs for verifying
|
|
29
|
-
export const universalResolverUrl = 'https://uniresolver.io';
|
|
30
|
-
|
|
31
|
-
class AnyDIDResolver extends ResolverRouter {
|
|
32
|
-
method = WILDCARD;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
*
|
|
37
|
-
*/
|
|
38
|
-
export class DockService {
|
|
39
|
-
dock;
|
|
40
|
-
modules;
|
|
41
|
-
didModule;
|
|
42
|
-
isDockReady = false;
|
|
43
|
-
resolver: any;
|
|
44
|
-
static Events = {
|
|
45
|
-
DOCK_READY: 'dock-ready',
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
rpcMethods = [
|
|
49
|
-
DockService.prototype.disconnect,
|
|
50
|
-
DockService.prototype.ensureDockReady,
|
|
51
|
-
DockService.prototype.init,
|
|
52
|
-
DockService.prototype.isApiConnected,
|
|
53
|
-
DockService.prototype.getAddress,
|
|
54
|
-
];
|
|
55
|
-
|
|
56
|
-
constructor() {
|
|
57
|
-
this.name = 'dock';
|
|
58
|
-
this.dock = new DockAPI();
|
|
59
|
-
this.didModule = new DockDIDModule(this.dock);
|
|
60
|
-
this.modules = new DockCoreModules(this.dock);
|
|
61
|
-
dockInstance = this.dock;
|
|
62
|
-
this.emitter = new EventEmitter();
|
|
63
|
-
this.resolver = this.createDIDResolver();
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
*
|
|
68
|
-
* @returns
|
|
69
|
-
*/
|
|
70
|
-
async ensureDockReady() {
|
|
71
|
-
if (this.isDockReady) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return once(this.emitter, DockService.Events.DOCK_READY);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
createDIDResolver() {
|
|
79
|
-
return new AnyDIDResolver([
|
|
80
|
-
new DIDKeyResolver(),
|
|
81
|
-
new DIDResolver(this.didModule),
|
|
82
|
-
new UniversalResolver(universalResolverUrl),
|
|
83
|
-
]);
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
*
|
|
88
|
-
* @param {*} params
|
|
89
|
-
* @returns
|
|
90
|
-
*/
|
|
91
|
-
async init(params: InitParams) {
|
|
92
|
-
validation.init(params);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (this.dock.isConnected) {
|
|
96
|
-
await this.dock.disconnect();
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
Logger.info(`Attempt to initialized substrate at: ${params.address}`);
|
|
100
|
-
|
|
101
|
-
await getDock().init(params);
|
|
102
|
-
|
|
103
|
-
this.address = params.address;
|
|
104
|
-
|
|
105
|
-
this.resolver = this.createDIDResolver();
|
|
106
|
-
|
|
107
|
-
if (process.env.NODE_ENV !== 'test' || process.env.API_MOCK_DISABLED === 'true') {
|
|
108
|
-
await initializeWasm();
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
Logger.info(`Substrate initialized at: ${params.address}`);
|
|
112
|
-
|
|
113
|
-
this._setDockReady(true);
|
|
114
|
-
|
|
115
|
-
return true;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
*
|
|
120
|
-
* @returns
|
|
121
|
-
*/
|
|
122
|
-
async disconnect() {
|
|
123
|
-
const result = await this.dock.disconnect();
|
|
124
|
-
this._setDockReady(false);
|
|
125
|
-
return result;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
async waitDockReady() {
|
|
129
|
-
return new Promise(resolve => {
|
|
130
|
-
if (this.isDockReady) {
|
|
131
|
-
resolve();
|
|
132
|
-
} else {
|
|
133
|
-
this.emitter.once(DockService.Events.DOCK_READY, resolve);
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
*
|
|
140
|
-
* @returns
|
|
141
|
-
*/
|
|
142
|
-
async isApiConnected() {
|
|
143
|
-
return this.isDockReady;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
async getAddress() {
|
|
147
|
-
return this.dock.address;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
_setDockReady(isDockReady) {
|
|
151
|
-
this.isDockReady = isDockReady;
|
|
152
|
-
|
|
153
|
-
if (isDockReady) {
|
|
154
|
-
this.emitter.emit(DockService.Events.DOCK_READY);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export const dockService: DockService = new DockService();
|