@docknetwork/wallet-sdk-wasm 0.4.22 → 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.
Files changed (193) hide show
  1. package/lib/{account-614e6414.js → account-bf00e5c0.js} +5 -5
  2. package/lib/{account-ee524484.js → account-e48dc9b6.js} +5 -5
  3. package/lib/core/polkadot-utils.js +18 -4
  4. package/lib/core/polkadot-utils.mjs +15 -2
  5. package/lib/index.js +16 -19
  6. package/lib/index.mjs +20 -23
  7. package/lib/modules/account.js +10 -5
  8. package/lib/modules/account.mjs +10 -5
  9. package/lib/modules/accounts.js +10 -5
  10. package/lib/modules/accounts.mjs +10 -5
  11. package/lib/modules/network-manager.js +4 -2
  12. package/lib/modules/network-manager.mjs +4 -2
  13. package/lib/modules/wallet.js +13 -8
  14. package/lib/modules/wallet.mjs +13 -8
  15. package/lib/rpc-server.js +16 -19
  16. package/lib/rpc-server.mjs +20 -23
  17. package/lib/services/blockchain/configs.js +7 -0
  18. package/lib/services/blockchain/configs.mjs +3 -0
  19. package/lib/services/{dock → blockchain}/index.android.js +3 -4
  20. package/lib/services/{dock → blockchain}/index.android.mjs +3 -4
  21. package/lib/services/{dock → blockchain}/index.ios.js +3 -4
  22. package/lib/services/{dock → blockchain}/index.ios.mjs +3 -4
  23. package/lib/services/blockchain/index.js +30 -0
  24. package/lib/services/blockchain/index.mjs +22 -0
  25. package/lib/services/{dock → blockchain}/service-rpc.js +5 -7
  26. package/lib/services/{dock → blockchain}/service-rpc.mjs +5 -7
  27. package/lib/services/blockchain/service.js +212 -0
  28. package/lib/services/blockchain/service.mjs +206 -0
  29. package/lib/services/credential/bbs-revocation.js +41 -60
  30. package/lib/services/credential/bbs-revocation.mjs +42 -57
  31. package/lib/services/credential/bound-check.js +0 -8
  32. package/lib/services/credential/bound-check.mjs +1 -5
  33. package/lib/services/credential/index.js +21 -24
  34. package/lib/services/credential/index.mjs +22 -25
  35. package/lib/services/credential/pex-helpers.js +134 -34
  36. package/lib/services/credential/pex-helpers.mjs +133 -35
  37. package/lib/services/credential/service.js +55 -56
  38. package/lib/services/credential/service.mjs +45 -43
  39. package/lib/services/credential/utils.js +12 -18
  40. package/lib/services/credential/utils.mjs +11 -14
  41. package/lib/services/dids/config.js +8 -0
  42. package/lib/services/dids/config.mjs +8 -0
  43. package/lib/services/dids/index.js +11 -10
  44. package/lib/services/dids/index.mjs +12 -11
  45. package/lib/services/dids/service-rpc.js +2 -2
  46. package/lib/services/dids/service-rpc.mjs +2 -2
  47. package/lib/services/dids/service.js +28 -36
  48. package/lib/services/dids/service.mjs +27 -33
  49. package/lib/services/edv/hmac.js +5 -0
  50. package/lib/services/edv/hmac.mjs +5 -0
  51. package/lib/services/edv/index.js +13 -11
  52. package/lib/services/edv/index.mjs +16 -14
  53. package/lib/services/edv/service-rpc.js +4 -0
  54. package/lib/services/edv/service-rpc.mjs +4 -0
  55. package/lib/services/edv/service.js +29 -13
  56. package/lib/services/edv/service.mjs +31 -16
  57. package/lib/services/example/service.js +3 -1
  58. package/lib/services/example/service.mjs +3 -1
  59. package/lib/services/index.js +14 -17
  60. package/lib/services/index.mjs +18 -21
  61. package/lib/services/keyring/configs.js +12 -0
  62. package/lib/services/keyring/configs.mjs +12 -0
  63. package/lib/services/keyring/service.js +5 -0
  64. package/lib/services/keyring/service.mjs +5 -0
  65. package/lib/services/pex/service.js +17 -15
  66. package/lib/services/pex/service.mjs +17 -15
  67. package/lib/services/relay-service/index.mjs +1 -1
  68. package/lib/services/relay-service/service.mjs +2 -2
  69. package/lib/services/substrate/api-utils.js +19 -6
  70. package/lib/services/substrate/api-utils.mjs +19 -6
  71. package/lib/services/substrate/index.js +14 -6
  72. package/lib/services/substrate/index.mjs +14 -6
  73. package/lib/services/substrate/service.js +17 -9
  74. package/lib/services/substrate/service.mjs +17 -9
  75. package/lib/services/test-utils.js +27 -17
  76. package/lib/services/test-utils.mjs +27 -17
  77. package/lib/services/trust-registry/index.js +17 -5
  78. package/lib/services/trust-registry/index.mjs +17 -5
  79. package/lib/services/trust-registry/service.js +27 -10
  80. package/lib/services/trust-registry/service.mjs +27 -10
  81. package/lib/services/util-crypto/configs.js +3 -0
  82. package/lib/services/util-crypto/configs.mjs +3 -0
  83. package/lib/services/util-crypto/service-rpc.js +6 -0
  84. package/lib/services/util-crypto/service-rpc.mjs +6 -0
  85. package/lib/services/util-crypto/service.js +5 -0
  86. package/lib/services/util-crypto/service.mjs +6 -1
  87. package/lib/setup-nodejs.js +16 -19
  88. package/lib/setup-nodejs.mjs +20 -23
  89. package/lib/setup-tests.js +16 -19
  90. package/lib/setup-tests.mjs +20 -23
  91. package/lib/src/core/polkadot-utils.d.ts +1 -0
  92. package/lib/src/core/polkadot-utils.d.ts.map +1 -1
  93. package/lib/src/modules/network-manager.d.ts +1 -0
  94. package/lib/src/modules/network-manager.d.ts.map +1 -1
  95. package/lib/src/services/blockchain/configs.d.ts +8 -0
  96. package/lib/src/services/blockchain/configs.d.ts.map +1 -0
  97. package/lib/src/services/blockchain/index.d.ts +2 -0
  98. package/lib/src/services/blockchain/index.d.ts.map +1 -0
  99. package/lib/src/services/blockchain/service.d.ts +52 -0
  100. package/lib/src/services/blockchain/service.d.ts.map +1 -0
  101. package/lib/src/services/credential/bbs-revocation.d.ts.map +1 -1
  102. package/lib/src/services/credential/bound-check.d.ts +0 -4
  103. package/lib/src/services/credential/bound-check.d.ts.map +1 -1
  104. package/lib/src/services/credential/index.d.ts +2 -7
  105. package/lib/src/services/credential/index.d.ts.map +1 -1
  106. package/lib/src/services/credential/pex-helpers.d.ts +5 -3
  107. package/lib/src/services/credential/pex-helpers.d.ts.map +1 -1
  108. package/lib/src/services/credential/service.d.ts +2 -7
  109. package/lib/src/services/credential/service.d.ts.map +1 -1
  110. package/lib/src/services/credential/utils.d.ts.map +1 -1
  111. package/lib/src/services/dids/config.d.ts +5 -0
  112. package/lib/src/services/dids/config.d.ts.map +1 -1
  113. package/lib/src/services/dids/service-rpc.d.ts +1 -1
  114. package/lib/src/services/dids/service-rpc.d.ts.map +1 -1
  115. package/lib/src/services/dids/service.d.ts +9 -4
  116. package/lib/src/services/dids/service.d.ts.map +1 -1
  117. package/lib/src/services/edv/hmac.d.ts +1 -0
  118. package/lib/src/services/edv/hmac.d.ts.map +1 -1
  119. package/lib/src/services/edv/service.d.ts +5 -0
  120. package/lib/src/services/edv/service.d.ts.map +1 -1
  121. package/lib/src/services/example/service.d.ts.map +1 -1
  122. package/lib/src/services/keyring/configs.d.ts +6 -0
  123. package/lib/src/services/keyring/configs.d.ts.map +1 -1
  124. package/lib/src/services/pex/service.d.ts.map +1 -1
  125. package/lib/src/services/trust-registry/service.d.ts.map +1 -1
  126. package/lib/src/services/util-crypto/configs.d.ts +1 -0
  127. package/lib/src/services/util-crypto/configs.d.ts.map +1 -1
  128. package/lib/src/services/util-crypto/service.d.ts +1 -0
  129. package/lib/src/services/util-crypto/service.d.ts.map +1 -1
  130. package/lib/test/setup-test-state.js +11 -6
  131. package/lib/test/setup-test-state.mjs +11 -6
  132. package/lib/tsconfig.tsbuildinfo +1 -1
  133. package/package.json +7 -4
  134. package/src/core/polkadot-utils.js +14 -3
  135. package/src/modules/network-manager.ts +5 -2
  136. package/src/modules/wallet.ts +5 -5
  137. package/src/services/blockchain/configs.ts +11 -0
  138. package/src/services/blockchain/index.android.js +3 -0
  139. package/src/services/blockchain/index.ios.js +3 -0
  140. package/src/services/blockchain/index.js +1 -0
  141. package/src/services/blockchain/index.test.js +34 -0
  142. package/src/services/{dock → blockchain}/service-rpc.js +5 -6
  143. package/src/services/blockchain/service.ts +261 -0
  144. package/src/services/credential/bbs-revocation.ts +41 -85
  145. package/src/services/credential/bound-check.test.ts +2 -5
  146. package/src/services/credential/bound-check.ts +0 -5
  147. package/src/services/credential/index.test.js +148 -7
  148. package/src/services/credential/pex-helpers.js +132 -34
  149. package/src/services/credential/pex-helpers.test.js +284 -27
  150. package/src/services/credential/service.ts +44 -27
  151. package/src/services/credential/utils.js +5 -14
  152. package/src/services/dids/config.ts +15 -0
  153. package/src/services/dids/index.test.js +5 -23
  154. package/src/services/dids/service-rpc.ts +2 -2
  155. package/src/services/dids/service.ts +34 -44
  156. package/src/services/edv/hmac.ts +13 -0
  157. package/src/services/edv/index.test.js +22 -0
  158. package/src/services/edv/service-rpc.js +4 -0
  159. package/src/services/edv/service.ts +22 -0
  160. package/src/services/example/service.ts +3 -1
  161. package/src/services/index.js +2 -2
  162. package/src/services/keyring/configs.ts +21 -0
  163. package/src/services/keyring/service.ts +13 -0
  164. package/src/services/pex/service.ts +29 -18
  165. package/src/services/pex/tests/pex-service.test.js +163 -6
  166. package/src/services/substrate/api-utils.test.js +7 -7
  167. package/src/services/substrate/api-utils.ts +3 -3
  168. package/src/services/substrate/service.ts +6 -6
  169. package/src/services/test-utils.js +13 -11
  170. package/src/services/trust-registry/index.test.js +6 -4
  171. package/src/services/trust-registry/service.ts +13 -7
  172. package/src/services/util-crypto/configs.ts +4 -0
  173. package/src/services/util-crypto/service-rpc.js +6 -0
  174. package/src/services/util-crypto/service.ts +8 -0
  175. package/src/test/setup-test-state.js +2 -2
  176. package/lib/services/dock/configs.js +0 -18
  177. package/lib/services/dock/configs.mjs +0 -10
  178. package/lib/services/dock/index.js +0 -17
  179. package/lib/services/dock/index.mjs +0 -9
  180. package/lib/services/dock/service.js +0 -138
  181. package/lib/services/dock/service.mjs +0 -126
  182. package/lib/src/services/dock/configs.d.ts +0 -7
  183. package/lib/src/services/dock/configs.d.ts.map +0 -1
  184. package/lib/src/services/dock/index.d.ts +0 -2
  185. package/lib/src/services/dock/index.d.ts.map +0 -1
  186. package/lib/src/services/dock/service.d.ts +0 -44
  187. package/lib/src/services/dock/service.d.ts.map +0 -1
  188. package/src/services/dock/configs.ts +0 -12
  189. package/src/services/dock/index.android.js +0 -3
  190. package/src/services/dock/index.ios.js +0 -3
  191. package/src/services/dock/index.js +0 -1
  192. package/src/services/dock/index.test.js +0 -48
  193. package/src/services/dock/service.ts +0 -154
@@ -1,138 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var dock = require('@docknetwork/sdk');
6
- var resolver = require('@docknetwork/sdk/resolver');
7
- var index = require('@docknetwork/crypto-wasm-ts/lib/index');
8
- var events = require('events');
9
- var core_logger = require('../../core/logger.js');
10
- var modules_eventManager = require('../../modules/event-manager.js');
11
- var services_dock_configs = require('./configs.js');
12
- require('assert');
13
-
14
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
-
16
- var dock__default = /*#__PURE__*/_interopDefaultLegacy(dock);
17
-
18
- // @ts-nocheck
19
- let dockInstance = dock__default["default"];
20
- function getDock() {
21
- return dockInstance;
22
- }
23
- function setDock(instance) {
24
- dockInstance = instance;
25
- }
26
- // Create a resolver in order to lookup DIDs for verifying
27
- const universalResolverUrl = 'https://uniresolver.io';
28
- // class WalletSDKResolver extends WildcardMultiResolver {
29
- // async resolve(did) {
30
- // const trimmedDID = did.split('#')[0];
31
- // const document = await super.resolve(trimmedDID);
32
- // return document;
33
- // }
34
- // }
35
- /**
36
- *
37
- */
38
- class DockService {
39
- dock;
40
- isDockReady = false;
41
- resolver;
42
- static Events = {
43
- DOCK_READY: 'dock-ready',
44
- };
45
- rpcMethods = [
46
- DockService.prototype.disconnect,
47
- DockService.prototype.ensureDockReady,
48
- DockService.prototype.init,
49
- DockService.prototype.isApiConnected,
50
- DockService.prototype.getAddress,
51
- ];
52
- constructor() {
53
- this.name = 'dock';
54
- this.dock = dock__default["default"];
55
- this.emitter = new events.EventEmitter();
56
- this.resolver = this.createDIDResolver();
57
- }
58
- /**
59
- *
60
- * @returns
61
- */
62
- async ensureDockReady() {
63
- if (this.isDockReady) {
64
- return;
65
- }
66
- return modules_eventManager.once(this.emitter, DockService.Events.DOCK_READY);
67
- }
68
- createDIDResolver() {
69
- return new resolver.WildcardMultiResolver([
70
- new resolver.DockResolver(getDock()),
71
- new resolver.DIDKeyResolver(),
72
- new resolver.UniversalResolver(universalResolverUrl),
73
- ]);
74
- }
75
- /**
76
- *
77
- * @param {*} params
78
- * @returns
79
- */
80
- async init(params) {
81
- services_dock_configs.validation.init(params);
82
- if (this.dock.isConnected) {
83
- await this.dock.disconnect();
84
- }
85
- core_logger.Logger.info(`Attempt to initialized substrate at: ${params.address}`);
86
- await getDock().init(params);
87
- this.address = params.address;
88
- this.resolver = this.createDIDResolver();
89
- if (process.env.NODE_ENV !== 'test' || process.env.API_MOCK_DISABLED === 'true') {
90
- await index.initializeWasm();
91
- }
92
- core_logger.Logger.info(`Substrate initialized at: ${params.address}`);
93
- this._setDockReady(true);
94
- return true;
95
- }
96
- /**
97
- *
98
- * @returns
99
- */
100
- async disconnect() {
101
- const result = await this.dock.disconnect();
102
- this._setDockReady(false);
103
- return result;
104
- }
105
- async waitDockReady() {
106
- return new Promise(resolve => {
107
- if (this.isDockReady) {
108
- resolve();
109
- }
110
- else {
111
- this.emitter.once(DockService.Events.DOCK_READY, resolve);
112
- }
113
- });
114
- }
115
- /**
116
- *
117
- * @returns
118
- */
119
- async isApiConnected() {
120
- return this.isDockReady;
121
- }
122
- async getAddress() {
123
- return this.dock.address;
124
- }
125
- _setDockReady(isDockReady) {
126
- this.isDockReady = isDockReady;
127
- if (isDockReady) {
128
- this.emitter.emit(DockService.Events.DOCK_READY);
129
- }
130
- }
131
- }
132
- const dockService = new DockService();
133
-
134
- exports.DockService = DockService;
135
- exports.dockService = dockService;
136
- exports.getDock = getDock;
137
- exports.setDock = setDock;
138
- exports.universalResolverUrl = universalResolverUrl;
@@ -1,126 +0,0 @@
1
- import dock from '@docknetwork/sdk';
2
- import { WildcardMultiResolver, DockResolver, DIDKeyResolver, UniversalResolver } from '@docknetwork/sdk/resolver';
3
- import { initializeWasm } from '@docknetwork/crypto-wasm-ts/lib/index';
4
- import { EventEmitter } from 'events';
5
- import { Logger } from '../../core/logger.mjs';
6
- import { once } from '../../modules/event-manager.mjs';
7
- import { validation } from './configs.mjs';
8
- import 'assert';
9
-
10
- // @ts-nocheck
11
- let dockInstance = dock;
12
- function getDock() {
13
- return dockInstance;
14
- }
15
- function setDock(instance) {
16
- dockInstance = instance;
17
- }
18
- // Create a resolver in order to lookup DIDs for verifying
19
- const universalResolverUrl = 'https://uniresolver.io';
20
- // class WalletSDKResolver extends WildcardMultiResolver {
21
- // async resolve(did) {
22
- // const trimmedDID = did.split('#')[0];
23
- // const document = await super.resolve(trimmedDID);
24
- // return document;
25
- // }
26
- // }
27
- /**
28
- *
29
- */
30
- class DockService {
31
- dock;
32
- isDockReady = false;
33
- resolver;
34
- static Events = {
35
- DOCK_READY: 'dock-ready',
36
- };
37
- rpcMethods = [
38
- DockService.prototype.disconnect,
39
- DockService.prototype.ensureDockReady,
40
- DockService.prototype.init,
41
- DockService.prototype.isApiConnected,
42
- DockService.prototype.getAddress,
43
- ];
44
- constructor() {
45
- this.name = 'dock';
46
- this.dock = dock;
47
- this.emitter = new EventEmitter();
48
- this.resolver = this.createDIDResolver();
49
- }
50
- /**
51
- *
52
- * @returns
53
- */
54
- async ensureDockReady() {
55
- if (this.isDockReady) {
56
- return;
57
- }
58
- return once(this.emitter, DockService.Events.DOCK_READY);
59
- }
60
- createDIDResolver() {
61
- return new WildcardMultiResolver([
62
- new DockResolver(getDock()),
63
- new DIDKeyResolver(),
64
- new UniversalResolver(universalResolverUrl),
65
- ]);
66
- }
67
- /**
68
- *
69
- * @param {*} params
70
- * @returns
71
- */
72
- async init(params) {
73
- validation.init(params);
74
- if (this.dock.isConnected) {
75
- await this.dock.disconnect();
76
- }
77
- Logger.info(`Attempt to initialized substrate at: ${params.address}`);
78
- await getDock().init(params);
79
- this.address = params.address;
80
- this.resolver = this.createDIDResolver();
81
- if (process.env.NODE_ENV !== 'test' || process.env.API_MOCK_DISABLED === 'true') {
82
- await initializeWasm();
83
- }
84
- Logger.info(`Substrate initialized at: ${params.address}`);
85
- this._setDockReady(true);
86
- return true;
87
- }
88
- /**
89
- *
90
- * @returns
91
- */
92
- async disconnect() {
93
- const result = await this.dock.disconnect();
94
- this._setDockReady(false);
95
- return result;
96
- }
97
- async waitDockReady() {
98
- return new Promise(resolve => {
99
- if (this.isDockReady) {
100
- resolve();
101
- }
102
- else {
103
- this.emitter.once(DockService.Events.DOCK_READY, resolve);
104
- }
105
- });
106
- }
107
- /**
108
- *
109
- * @returns
110
- */
111
- async isApiConnected() {
112
- return this.isDockReady;
113
- }
114
- async getAddress() {
115
- return this.dock.address;
116
- }
117
- _setDockReady(isDockReady) {
118
- this.isDockReady = isDockReady;
119
- if (isDockReady) {
120
- this.emitter.emit(DockService.Events.DOCK_READY);
121
- }
122
- }
123
- }
124
- const dockService = new DockService();
125
-
126
- export { DockService, dockService, getDock, setDock, universalResolverUrl };
@@ -1,7 +0,0 @@
1
- export declare const validation: {
2
- init(params: any): void;
3
- };
4
- export type InitParams = {
5
- address: string;
6
- };
7
- //# sourceMappingURL=configs.d.ts.map
@@ -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,2 +0,0 @@
1
- export { dockService } from "./service";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/dock/index.js"],"names":[],"mappings":""}
@@ -1,44 +0,0 @@
1
- import { InitParams } from './configs';
2
- export declare function getDock(): any;
3
- export declare function setDock(instance: any): void;
4
- export declare const universalResolverUrl = "https://uniresolver.io";
5
- /**
6
- *
7
- */
8
- export declare class DockService {
9
- dock: any;
10
- isDockReady: boolean;
11
- resolver: any;
12
- static Events: {
13
- DOCK_READY: string;
14
- };
15
- rpcMethods: ((() => Promise<any>) | ((params: InitParams) => Promise<boolean>))[];
16
- constructor();
17
- /**
18
- *
19
- * @returns
20
- */
21
- ensureDockReady(): Promise<unknown>;
22
- createDIDResolver(): any;
23
- /**
24
- *
25
- * @param {*} params
26
- * @returns
27
- */
28
- init(params: InitParams): Promise<boolean>;
29
- /**
30
- *
31
- * @returns
32
- */
33
- disconnect(): Promise<any>;
34
- waitDockReady(): Promise<unknown>;
35
- /**
36
- *
37
- * @returns
38
- */
39
- isApiConnected(): Promise<boolean>;
40
- getAddress(): Promise<any>;
41
- _setDockReady(isDockReady: any): void;
42
- }
43
- export declare const dockService: DockService;
44
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/services/dock/service.ts"],"names":[],"mappings":"AAYA,OAAO,EAAC,UAAU,EAAa,MAAM,WAAW,CAAC;AAIjD,wBAAgB,OAAO,QAEtB;AAED,wBAAgB,OAAO,CAAC,QAAQ,KAAA,QAE/B;AAGD,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAU7D;;GAEG;AACH,qBAAa,WAAW;IACtB,IAAI,MAAC;IACL,WAAW,UAAS;IACpB,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,MAAM;;MAEX;IAEF,UAAU,oCAuCS,UAAU,0BAjC3B;;IASF;;;OAGG;IACG,eAAe;IAQrB,iBAAiB;IAOjB;;;;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,12 +0,0 @@
1
- // @ts-nocheck
2
- import assert from 'assert';
3
-
4
- export const validation = {
5
- init(params) {
6
- assert(!!params.address, `invalid substrate address ${params.address}`);
7
- },
8
- };
9
-
10
- export type InitParams = {
11
- address: string,
12
- };
@@ -1,3 +0,0 @@
1
- import {DockServiceRpc} from './service-rpc';
2
-
3
- export const dockService = new DockServiceRpc();
@@ -1,3 +0,0 @@
1
- import {DockServiceRpc} from './service-rpc';
2
-
3
- export const dockService = new DockServiceRpc();
@@ -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,154 +0,0 @@
1
- // @ts-nocheck
2
- import dock from '@docknetwork/sdk';
3
- import {
4
- DockResolver,
5
- DIDKeyResolver,
6
- WildcardMultiResolver,
7
- UniversalResolver,
8
- } from '@docknetwork/sdk/resolver';
9
- import {initializeWasm} from '@docknetwork/crypto-wasm-ts/lib/index';
10
- import {EventEmitter} from 'events';
11
- import {Logger} from '../../core/logger';
12
- import {once} from '../../modules/event-manager';
13
- import {InitParams, validation} from './configs';
14
-
15
- let dockInstance = dock;
16
-
17
- export function getDock() {
18
- return dockInstance;
19
- }
20
-
21
- export function setDock(instance) {
22
- dockInstance = instance;
23
- }
24
-
25
- // Create a resolver in order to lookup DIDs for verifying
26
- export const universalResolverUrl = 'https://uniresolver.io';
27
-
28
- // class WalletSDKResolver extends WildcardMultiResolver {
29
- // async resolve(did) {
30
- // const trimmedDID = did.split('#')[0];
31
- // const document = await super.resolve(trimmedDID);
32
- // return document;
33
- // }
34
- // }
35
-
36
- /**
37
- *
38
- */
39
- export class DockService {
40
- dock;
41
- isDockReady = false;
42
- resolver: any;
43
- static Events = {
44
- DOCK_READY: 'dock-ready',
45
- };
46
-
47
- rpcMethods = [
48
- DockService.prototype.disconnect,
49
- DockService.prototype.ensureDockReady,
50
- DockService.prototype.init,
51
- DockService.prototype.isApiConnected,
52
- DockService.prototype.getAddress,
53
- ];
54
-
55
- constructor() {
56
- this.name = 'dock';
57
- this.dock = dock;
58
- this.emitter = new EventEmitter();
59
- this.resolver = this.createDIDResolver();
60
- }
61
-
62
- /**
63
- *
64
- * @returns
65
- */
66
- async ensureDockReady() {
67
- if (this.isDockReady) {
68
- return;
69
- }
70
-
71
- return once(this.emitter, DockService.Events.DOCK_READY);
72
- }
73
-
74
- createDIDResolver() {
75
- return new WildcardMultiResolver([
76
- new DockResolver(getDock()), // Prebuilt resolver
77
- new DIDKeyResolver(), // did:key resolution
78
- new UniversalResolver(universalResolverUrl),
79
- ]);
80
- }
81
- /**
82
- *
83
- * @param {*} params
84
- * @returns
85
- */
86
- async init(params: InitParams) {
87
- validation.init(params);
88
-
89
-
90
- if (this.dock.isConnected) {
91
- await this.dock.disconnect();
92
- }
93
-
94
- Logger.info(`Attempt to initialized substrate at: ${params.address}`);
95
-
96
- await getDock().init(params);
97
-
98
- this.address = params.address;
99
-
100
- this.resolver = this.createDIDResolver();
101
-
102
- if (process.env.NODE_ENV !== 'test' || process.env.API_MOCK_DISABLED === 'true') {
103
- await initializeWasm();
104
- }
105
-
106
- Logger.info(`Substrate initialized at: ${params.address}`);
107
-
108
- this._setDockReady(true);
109
-
110
- return true;
111
- }
112
-
113
- /**
114
- *
115
- * @returns
116
- */
117
- async disconnect() {
118
- const result = await this.dock.disconnect();
119
- this._setDockReady(false);
120
- return result;
121
- }
122
-
123
- async waitDockReady() {
124
- return new Promise(resolve => {
125
- if (this.isDockReady) {
126
- resolve();
127
- } else {
128
- this.emitter.once(DockService.Events.DOCK_READY, resolve);
129
- }
130
- });
131
- }
132
-
133
- /**
134
- *
135
- * @returns
136
- */
137
- async isApiConnected() {
138
- return this.isDockReady;
139
- }
140
-
141
- async getAddress() {
142
- return this.dock.address;
143
- }
144
-
145
- _setDockReady(isDockReady) {
146
- this.isDockReady = isDockReady;
147
-
148
- if (isDockReady) {
149
- this.emitter.emit(DockService.Events.DOCK_READY);
150
- }
151
- }
152
- }
153
-
154
- export const dockService: DockService = new DockService();