@docknetwork/wallet-sdk-wasm 1.5.9 → 1.5.10

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 (262) hide show
  1. package/lib/core/format-utils.js +0 -28
  2. package/lib/core/format-utils.mjs +1 -24
  3. package/lib/core/validation.js +1 -24
  4. package/lib/core/validation.mjs +2 -21
  5. package/lib/index.js +13 -23
  6. package/lib/index.mjs +13 -23
  7. package/lib/rpc-server.js +13 -23
  8. package/lib/rpc-server.mjs +13 -23
  9. package/lib/rpc-util.js +14 -0
  10. package/lib/rpc-util.mjs +14 -0
  11. package/lib/services/blockchain/index.js +3 -6
  12. package/lib/services/blockchain/index.mjs +3 -6
  13. package/lib/services/blockchain/service.js +4 -6
  14. package/lib/services/blockchain/service.mjs +4 -6
  15. package/lib/services/credential/bbs-revocation.js +4 -7
  16. package/lib/services/credential/bbs-revocation.mjs +3 -6
  17. package/lib/services/credential/bound-check.js +9 -4
  18. package/lib/services/credential/bound-check.mjs +9 -4
  19. package/lib/services/credential/index.js +11 -13
  20. package/lib/services/credential/index.mjs +11 -13
  21. package/lib/services/credential/service.js +18 -18
  22. package/lib/services/credential/service.mjs +15 -15
  23. package/lib/services/credential/utils.js +65 -28
  24. package/lib/services/credential/utils.mjs +62 -32
  25. package/lib/services/dids/index.js +11 -14
  26. package/lib/services/dids/index.mjs +11 -14
  27. package/lib/services/dids/keypair-utils.js +142 -0
  28. package/lib/services/dids/keypair-utils.mjs +113 -0
  29. package/lib/services/dids/service.js +15 -34
  30. package/lib/services/dids/service.mjs +15 -34
  31. package/lib/services/edv/index.js +8 -14
  32. package/lib/services/edv/index.mjs +8 -14
  33. package/lib/services/edv/service.js +10 -22
  34. package/lib/services/edv/service.mjs +10 -22
  35. package/lib/services/index.js +13 -25
  36. package/lib/services/index.mjs +13 -25
  37. package/lib/services/relay-service/configs.js +0 -1
  38. package/lib/services/relay-service/configs.mjs +0 -1
  39. package/lib/services/relay-service/index.android.js +0 -1
  40. package/lib/services/relay-service/index.android.mjs +0 -1
  41. package/lib/services/relay-service/index.ios.js +0 -1
  42. package/lib/services/relay-service/index.ios.mjs +0 -1
  43. package/lib/services/relay-service/index.js +0 -1
  44. package/lib/services/relay-service/index.mjs +0 -1
  45. package/lib/services/relay-service/service-rpc.js +0 -1
  46. package/lib/services/relay-service/service-rpc.mjs +0 -1
  47. package/lib/services/relay-service/service.js +0 -1
  48. package/lib/services/relay-service/service.mjs +0 -1
  49. package/lib/services/test-utils.js +0 -44
  50. package/lib/services/test-utils.mjs +1 -44
  51. package/lib/services/util-crypto/configs.js +0 -12
  52. package/lib/services/util-crypto/configs.mjs +0 -12
  53. package/lib/services/util-crypto/index.android.js +0 -3
  54. package/lib/services/util-crypto/index.android.mjs +0 -3
  55. package/lib/services/util-crypto/index.ios.js +0 -3
  56. package/lib/services/util-crypto/index.ios.mjs +0 -3
  57. package/lib/services/util-crypto/index.js +4 -7
  58. package/lib/services/util-crypto/index.mjs +4 -7
  59. package/lib/services/util-crypto/service-rpc.js +0 -23
  60. package/lib/services/util-crypto/service-rpc.mjs +0 -23
  61. package/lib/services/util-crypto/service.js +68 -61
  62. package/lib/services/util-crypto/service.mjs +50 -59
  63. package/lib/services/wallet/configs.js +0 -63
  64. package/lib/services/wallet/configs.mjs +1 -64
  65. package/lib/services/wallet/index.android.js +0 -1
  66. package/lib/services/wallet/index.android.mjs +0 -1
  67. package/lib/services/wallet/index.ios.js +0 -1
  68. package/lib/services/wallet/index.ios.mjs +0 -1
  69. package/lib/services/wallet/index.js +2 -12
  70. package/lib/services/wallet/index.mjs +2 -12
  71. package/lib/services/wallet/service-rpc.js +0 -77
  72. package/lib/services/wallet/service-rpc.mjs +0 -77
  73. package/lib/services/wallet/service.js +1 -215
  74. package/lib/services/wallet/service.mjs +1 -211
  75. package/lib/setup-nodejs.js +13 -23
  76. package/lib/setup-nodejs.mjs +13 -23
  77. package/lib/setup-tests.js +13 -23
  78. package/lib/setup-tests.mjs +13 -23
  79. package/lib/src/core/format-utils.d.ts +0 -5
  80. package/lib/src/core/format-utils.d.ts.map +1 -1
  81. package/lib/src/core/validation.d.ts +0 -3
  82. package/lib/src/core/validation.d.ts.map +1 -1
  83. package/lib/src/rpc-util.d.ts.map +1 -1
  84. package/lib/src/services/blockchain/service.d.ts.map +1 -1
  85. package/lib/src/services/credential/bbs-revocation.d.ts.map +1 -1
  86. package/lib/src/services/credential/bound-check.d.ts +1 -1
  87. package/lib/src/services/credential/bound-check.d.ts.map +1 -1
  88. package/lib/src/services/credential/service.d.ts.map +1 -1
  89. package/lib/src/services/credential/utils.d.ts +2 -1
  90. package/lib/src/services/credential/utils.d.ts.map +1 -1
  91. package/lib/src/services/dids/keypair-utils.d.ts +15 -0
  92. package/lib/src/services/dids/keypair-utils.d.ts.map +1 -0
  93. package/lib/src/services/dids/service.d.ts +6 -6
  94. package/lib/src/services/dids/service.d.ts.map +1 -1
  95. package/lib/src/services/edv/service.d.ts.map +1 -1
  96. package/lib/src/services/util-crypto/configs.d.ts +0 -3
  97. package/lib/src/services/util-crypto/configs.d.ts.map +1 -1
  98. package/lib/src/services/util-crypto/service.d.ts +3 -8
  99. package/lib/src/services/util-crypto/service.d.ts.map +1 -1
  100. package/lib/src/services/wallet/configs.d.ts +13 -0
  101. package/lib/src/services/wallet/configs.d.ts.map +1 -0
  102. package/lib/src/services/wallet/service.d.ts +1 -44
  103. package/lib/src/services/wallet/service.d.ts.map +1 -1
  104. package/lib/test-utils.js +0 -4
  105. package/lib/test-utils.mjs +1 -4
  106. package/lib/tsconfig.tsbuildinfo +1 -1
  107. package/package.json +5 -25
  108. package/readme.md +0 -61
  109. package/src/core/format-utils.test.js +1 -28
  110. package/src/core/format-utils.ts +0 -33
  111. package/src/core/validation.test.js +1 -33
  112. package/src/core/validation.ts +1 -25
  113. package/src/rpc-server.test.js +2 -9
  114. package/src/rpc-util.js +14 -0
  115. package/src/services/blockchain/service.ts +1 -0
  116. package/src/services/credential/bbs-revocation.ts +2 -1
  117. package/src/services/credential/bound-check.test.ts +6 -6
  118. package/src/services/credential/bound-check.ts +4 -4
  119. package/src/services/credential/index.test.js +0 -2
  120. package/src/services/credential/service.ts +5 -2
  121. package/src/services/credential/utils.js +65 -23
  122. package/src/services/dids/index.test.js +8 -19
  123. package/src/services/dids/keypair-utils.js +111 -0
  124. package/src/services/dids/service.ts +6 -25
  125. package/src/services/edv/service.ts +2 -9
  126. package/src/services/index.js +0 -4
  127. package/src/services/test-utils.js +0 -29
  128. package/src/services/util-crypto/configs.ts +0 -12
  129. package/src/services/util-crypto/index.test.js +6 -83
  130. package/src/services/util-crypto/service-rpc.js +0 -20
  131. package/src/services/util-crypto/service.ts +62 -75
  132. package/src/services/wallet/configs.ts +1 -113
  133. package/src/services/wallet/index.test.js +0 -159
  134. package/src/services/wallet/service-rpc.js +1 -88
  135. package/src/services/wallet/service.ts +0 -258
  136. package/src/test-utils.js +0 -13
  137. package/lib/account-357ab05d.js +0 -742
  138. package/lib/account-399e6053.js +0 -752
  139. package/lib/core/polkadot-utils.js +0 -119
  140. package/lib/core/polkadot-utils.mjs +0 -94
  141. package/lib/core/realm-schemas.js +0 -50
  142. package/lib/core/realm-schemas.mjs +0 -44
  143. package/lib/core/subscan.js +0 -75
  144. package/lib/core/subscan.mjs +0 -64
  145. package/lib/fixtures.js +0 -56
  146. package/lib/fixtures.mjs +0 -52
  147. package/lib/modules/account.js +0 -48
  148. package/lib/modules/account.mjs +0 -40
  149. package/lib/modules/accounts.js +0 -49
  150. package/lib/modules/accounts.mjs +0 -40
  151. package/lib/modules/data-migration.js +0 -72
  152. package/lib/modules/data-migration.mjs +0 -68
  153. package/lib/modules/wallet-backup.js +0 -82
  154. package/lib/modules/wallet-backup.mjs +0 -71
  155. package/lib/modules/wallet.js +0 -49
  156. package/lib/modules/wallet.mjs +0 -40
  157. package/lib/services/example/configs.js +0 -21
  158. package/lib/services/example/configs.mjs +0 -13
  159. package/lib/services/example/index.js +0 -18
  160. package/lib/services/example/index.mjs +0 -14
  161. package/lib/services/example/service-rpc.js +0 -25
  162. package/lib/services/example/service-rpc.mjs +0 -21
  163. package/lib/services/example/service.js +0 -25
  164. package/lib/services/example/service.mjs +0 -20
  165. package/lib/services/keyring/configs.js +0 -70
  166. package/lib/services/keyring/configs.mjs +0 -61
  167. package/lib/services/keyring/index.android.js +0 -22
  168. package/lib/services/keyring/index.android.mjs +0 -18
  169. package/lib/services/keyring/index.ios.js +0 -22
  170. package/lib/services/keyring/index.ios.mjs +0 -18
  171. package/lib/services/keyring/index.js +0 -16
  172. package/lib/services/keyring/index.mjs +0 -8
  173. package/lib/services/keyring/service-rpc.js +0 -65
  174. package/lib/services/keyring/service-rpc.mjs +0 -61
  175. package/lib/services/keyring/service.js +0 -84
  176. package/lib/services/keyring/service.mjs +0 -74
  177. package/lib/services/polkadot/configs.js +0 -17
  178. package/lib/services/polkadot/configs.mjs +0 -13
  179. package/lib/services/polkadot/index.android.js +0 -22
  180. package/lib/services/polkadot/index.android.mjs +0 -18
  181. package/lib/services/polkadot/index.ios.js +0 -22
  182. package/lib/services/polkadot/index.ios.mjs +0 -18
  183. package/lib/services/polkadot/index.js +0 -15
  184. package/lib/services/polkadot/index.mjs +0 -7
  185. package/lib/services/polkadot/service-rpc.js +0 -30
  186. package/lib/services/polkadot/service-rpc.mjs +0 -26
  187. package/lib/services/polkadot/service.js +0 -28
  188. package/lib/services/polkadot/service.mjs +0 -23
  189. package/lib/src/core/polkadot-utils.d.ts +0 -11
  190. package/lib/src/core/polkadot-utils.d.ts.map +0 -1
  191. package/lib/src/modules/account.d.ts +0 -60
  192. package/lib/src/modules/account.d.ts.map +0 -1
  193. package/lib/src/modules/accounts.d.ts +0 -48
  194. package/lib/src/modules/accounts.d.ts.map +0 -1
  195. package/lib/src/modules/data-migration.d.ts +0 -7
  196. package/lib/src/modules/data-migration.d.ts.map +0 -1
  197. package/lib/src/modules/wallet-backup.d.ts +0 -12
  198. package/lib/src/modules/wallet-backup.d.ts.map +0 -1
  199. package/lib/src/modules/wallet.d.ts +0 -134
  200. package/lib/src/modules/wallet.d.ts.map +0 -1
  201. package/lib/src/services/blockchain/index.d.ts +0 -2
  202. package/lib/src/services/blockchain/index.d.ts.map +0 -1
  203. package/lib/src/services/example/configs.d.ts +0 -9
  204. package/lib/src/services/example/configs.d.ts.map +0 -1
  205. package/lib/src/services/example/service.d.ts +0 -8
  206. package/lib/src/services/example/service.d.ts.map +0 -1
  207. package/lib/src/services/keyring/configs.d.ts +0 -39
  208. package/lib/src/services/keyring/configs.d.ts.map +0 -1
  209. package/lib/src/services/keyring/index.d.ts +0 -2
  210. package/lib/src/services/keyring/index.d.ts.map +0 -1
  211. package/lib/src/services/polkadot/configs.d.ts +0 -8
  212. package/lib/src/services/polkadot/configs.d.ts.map +0 -1
  213. package/lib/src/services/polkadot/index.d.ts +0 -2
  214. package/lib/src/services/polkadot/index.d.ts.map +0 -1
  215. package/lib/src/services/polkadot/service.d.ts +0 -8
  216. package/lib/src/services/polkadot/service.d.ts.map +0 -1
  217. package/lib/src/services/wallet/index.d.ts +0 -2
  218. package/lib/src/services/wallet/index.d.ts.map +0 -1
  219. package/lib/test/axiosMocks.js +0 -431
  220. package/lib/test/axiosMocks.mjs +0 -420
  221. package/lib/test/setup-test-state.js +0 -81
  222. package/lib/test/setup-test-state.mjs +0 -73
  223. package/src/core/polkadot-utils.js +0 -99
  224. package/src/core/realm-schemas.js +0 -42
  225. package/src/core/subscan.js +0 -62
  226. package/src/core/subscan.test.js +0 -56
  227. package/src/fixtures.js +0 -43
  228. package/src/modules/account.test.js +0 -56
  229. package/src/modules/account.ts +0 -128
  230. package/src/modules/accounts.test.js +0 -63
  231. package/src/modules/accounts.ts +0 -231
  232. package/src/modules/data-migration.test.js +0 -61
  233. package/src/modules/data-migration.ts +0 -86
  234. package/src/modules/wallet-backup.test.js +0 -24
  235. package/src/modules/wallet-backup.ts +0 -68
  236. package/src/modules/wallet.test.js +0 -216
  237. package/src/modules/wallet.ts +0 -424
  238. package/src/services/example/configs.js +0 -14
  239. package/src/services/example/index.js +0 -3
  240. package/src/services/example/index.test.js +0 -28
  241. package/src/services/example/service-rpc.js +0 -11
  242. package/src/services/example/service.ts +0 -18
  243. package/src/services/keyring/configs.ts +0 -110
  244. package/src/services/keyring/index.android.js +0 -3
  245. package/src/services/keyring/index.ios.js +0 -3
  246. package/src/services/keyring/index.js +0 -1
  247. package/src/services/keyring/index.test.js +0 -48
  248. package/src/services/keyring/service-rpc.js +0 -56
  249. package/src/services/keyring/service.ts +0 -111
  250. package/src/services/polkadot/configs.ts +0 -13
  251. package/src/services/polkadot/index.android.js +0 -3
  252. package/src/services/polkadot/index.ios.js +0 -3
  253. package/src/services/polkadot/index.js +0 -1
  254. package/src/services/polkadot/index.test.js +0 -52
  255. package/src/services/polkadot/service-rpc.js +0 -13
  256. package/src/services/polkadot/service.ts +0 -21
  257. package/src/test/axiosMocks.js +0 -20
  258. package/src/test/fixtures/subscan-failure.json +0 -5
  259. package/src/test/fixtures/subscan-success.json +0 -370
  260. package/src/test/fixtures/subscan-too-many-requests.json +0 -9
  261. package/src/test/setup-test-state.js +0 -35
  262. package/src/test/test-wallet.test.js +0 -15
@@ -2,16 +2,6 @@ import { didService } from './service.mjs';
2
2
  import '@docknetwork/wallet-sdk-dids/lib';
3
3
  import './config.mjs';
4
4
  import 'assert';
5
- import '../keyring/service.mjs';
6
- import '@polkadot/keyring';
7
- import '@polkadot/util-crypto';
8
- import '../keyring/configs.mjs';
9
- import '../../core/validation.mjs';
10
- import 'bignumber.js';
11
- import '../../types.mjs';
12
- import '../util-crypto/service.mjs';
13
- import '@polkadot/util';
14
- import '../util-crypto/configs.mjs';
15
5
  import '../blockchain/service.mjs';
16
6
  import '@cosmjs/proto-signing';
17
7
  import '@docknetwork/cheqd-blockchain-api';
@@ -22,15 +12,22 @@ import '@docknetwork/crypto-wasm-ts/lib/index';
22
12
  import 'events';
23
13
  import '../../core/logger.mjs';
24
14
  import '../../modules/event-manager.mjs';
15
+ import '../util-crypto/service.mjs';
16
+ import '@docknetwork/credential-sdk/utils';
17
+ import '@scure/bip39';
18
+ import '@scure/bip39/wordlists/english';
19
+ import '../util-crypto/configs.mjs';
25
20
  import '@docknetwork/credential-sdk/types';
26
- import '../../core/polkadot-utils.mjs';
27
21
  import '@docknetwork/credential-sdk/keypairs';
28
- import '@polkadot/keyring/pair/decode';
29
- import 'base58-universal';
30
- import '@docknetwork/universal-wallet/methods/keypairs';
31
22
  import 'base64url';
32
23
  import '../credential/utils.mjs';
24
+ import 'base58-universal';
33
25
  import '@docknetwork/credential-sdk/vc/crypto';
26
+ import '@digitalbazaar/x25519-key-agreement-key-2020';
27
+ import '@digitalbazaar/x25519-key-agreement-key-2019';
28
+ import '@digitalbazaar/ed25519-verification-key-2018';
29
+ import '@digitalbazaar/ed25519-verification-key-2020';
30
+ import './keypair-utils.mjs';
34
31
 
35
32
  const didServiceRPC = didService;
36
33
 
@@ -0,0 +1,142 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var keypairs = require('@docknetwork/credential-sdk/keypairs');
6
+ var utils = require('@docknetwork/credential-sdk/utils');
7
+ var bs58 = require('base58-universal');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n["default"] = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var bs58__namespace = /*#__PURE__*/_interopNamespace(bs58);
28
+
29
+ /**
30
+ * This code is based on the implementation from truvera api
31
+ * https://github.com/docknetwork/web/blob/3c706c5dc5de4ae63f548c76ec6edeb17533a0c9/apps/api/src/utils/key-manager.js
32
+ */
33
+
34
+ function getKeyPairType(key) {
35
+ const keyType = key.type || key.constructor.VerKeyType;
36
+ if (keyType) {
37
+ return keyType;
38
+ }
39
+
40
+ if (key instanceof keypairs.Ed25519Keypair) {
41
+ return 'Ed25519VerificationKey2018';
42
+ }
43
+
44
+ throw new Error(`Unknown key type for ${key.constructor.name}`);
45
+ }
46
+
47
+ const MULTIBASE_BASE58BTC_HEADER = 'z';
48
+ const MULTICODEC_ED25519_PUB_HEADER = new Uint8Array([0xed, 0x01]);
49
+ const MULTICODEC_ED25519_PRIV_HEADER = new Uint8Array([0x80, 0x26]);
50
+
51
+ function encodeMbKey(header, key) {
52
+ const mbKey = new Uint8Array(header.length + key.length);
53
+ mbKey.set(header);
54
+ mbKey.set(key, header.length);
55
+ return MULTIBASE_BASE58BTC_HEADER + bs58__namespace.encode(mbKey);
56
+ }
57
+
58
+ function getKeyFingerprint(keyType, publicKey) {
59
+ if (keyType.startsWith('Ed25519')) {
60
+ return encodeMbKey(MULTICODEC_ED25519_PUB_HEADER, publicKey);
61
+ } else {
62
+ throw new Error(`Cannot detect key type for fingerprint: ${keyType}`);
63
+ }
64
+ }
65
+
66
+ const keyTypeToDocType = {
67
+ bjj: 'BJJVerificationKey2021',
68
+ secp256k1: 'EcdsaSecp256k1VerificationKey2019',
69
+ };
70
+
71
+ function keypairToKeydoc(key, controller, id = undefined) {
72
+ const keyType = getKeyPairType(key);
73
+ let keyDoc;
74
+ if (
75
+ keyType === 'Ed25519VerificationKey2020' ||
76
+ keyType === 'Ed25519VerificationKey2018'
77
+ ) {
78
+ const publicKey = utils.u8aToU8a(
79
+ (key.keyPair &&
80
+ key.keyPair.publicKey &&
81
+ utils.u8aToU8a(key.keyPair.publicKey)) ||
82
+ key.publicKeyBuffer ||
83
+ (key.pk && key.pk.value),
84
+ );
85
+
86
+ if (!publicKey) {
87
+ throw new Error('Cannot find public key');
88
+ }
89
+
90
+ const pk = utils.u8aToU8a(
91
+ (key.keyPair && key.keyPair.secretKey) ||
92
+ key.privateKeyBuffer ||
93
+ (key.sk &&
94
+ (typeof key.sk === 'string'
95
+ ? utils.hexToU8a(key.sk)
96
+ : key.sk.value || key.sk)) ||
97
+ utils.hexToU8a(key.pk),
98
+ );
99
+
100
+ const publicKeyBase58 = bs58__namespace.encode(publicKey);
101
+ const privateKeyBase58 = bs58__namespace.encode(pk);
102
+
103
+ const fingerprint =
104
+ (key.fingerprint && key.fingerprint()) ||
105
+ getKeyFingerprint(keyType, publicKey);
106
+
107
+ // auto create controller
108
+ if (!controller) {
109
+ controller = `did:key:${fingerprint}`;
110
+ id = id || key.id || `${controller}#${fingerprint}`;
111
+ }
112
+
113
+ const keyId = id || key.id || `${controller}#${fingerprint}`;
114
+ const type = keyTypeToDocType[keyType] || keyType;
115
+ keyDoc = {
116
+ controller,
117
+ type,
118
+ id: keyId,
119
+ publicKeyMultibase: encodeMbKey(MULTICODEC_ED25519_PUB_HEADER, publicKey),
120
+ privateKeyMultibase: encodeMbKey(MULTICODEC_ED25519_PRIV_HEADER, pk),
121
+ privateKeyBase58,
122
+ publicKeyBase58,
123
+ };
124
+
125
+ if (key.seed) {
126
+ keyDoc.seed = utils.u8aToHex(key.seed);
127
+ }
128
+ } else {
129
+ throw new Error(`Unknown keypairToKeydoc type: ${keyType}`);
130
+ }
131
+
132
+ keyDoc['@context'] = ['https://w3id.org/wallet/v1'];
133
+
134
+ return keyDoc;
135
+ }
136
+
137
+ exports.MULTIBASE_BASE58BTC_HEADER = MULTIBASE_BASE58BTC_HEADER;
138
+ exports.MULTICODEC_ED25519_PRIV_HEADER = MULTICODEC_ED25519_PRIV_HEADER;
139
+ exports.MULTICODEC_ED25519_PUB_HEADER = MULTICODEC_ED25519_PUB_HEADER;
140
+ exports.encodeMbKey = encodeMbKey;
141
+ exports.getKeyPairType = getKeyPairType;
142
+ exports.keypairToKeydoc = keypairToKeydoc;
@@ -0,0 +1,113 @@
1
+ import { Ed25519Keypair } from '@docknetwork/credential-sdk/keypairs';
2
+ import { u8aToU8a, hexToU8a, u8aToHex } from '@docknetwork/credential-sdk/utils';
3
+ import * as bs58 from 'base58-universal';
4
+
5
+ /**
6
+ * This code is based on the implementation from truvera api
7
+ * https://github.com/docknetwork/web/blob/3c706c5dc5de4ae63f548c76ec6edeb17533a0c9/apps/api/src/utils/key-manager.js
8
+ */
9
+
10
+ function getKeyPairType(key) {
11
+ const keyType = key.type || key.constructor.VerKeyType;
12
+ if (keyType) {
13
+ return keyType;
14
+ }
15
+
16
+ if (key instanceof Ed25519Keypair) {
17
+ return 'Ed25519VerificationKey2018';
18
+ }
19
+
20
+ throw new Error(`Unknown key type for ${key.constructor.name}`);
21
+ }
22
+
23
+ const MULTIBASE_BASE58BTC_HEADER = 'z';
24
+ const MULTICODEC_ED25519_PUB_HEADER = new Uint8Array([0xed, 0x01]);
25
+ const MULTICODEC_ED25519_PRIV_HEADER = new Uint8Array([0x80, 0x26]);
26
+
27
+ function encodeMbKey(header, key) {
28
+ const mbKey = new Uint8Array(header.length + key.length);
29
+ mbKey.set(header);
30
+ mbKey.set(key, header.length);
31
+ return MULTIBASE_BASE58BTC_HEADER + bs58.encode(mbKey);
32
+ }
33
+
34
+ function getKeyFingerprint(keyType, publicKey) {
35
+ if (keyType.startsWith('Ed25519')) {
36
+ return encodeMbKey(MULTICODEC_ED25519_PUB_HEADER, publicKey);
37
+ } else {
38
+ throw new Error(`Cannot detect key type for fingerprint: ${keyType}`);
39
+ }
40
+ }
41
+
42
+ const keyTypeToDocType = {
43
+ bjj: 'BJJVerificationKey2021',
44
+ secp256k1: 'EcdsaSecp256k1VerificationKey2019',
45
+ };
46
+
47
+ function keypairToKeydoc(key, controller, id = undefined) {
48
+ const keyType = getKeyPairType(key);
49
+ let keyDoc;
50
+ if (
51
+ keyType === 'Ed25519VerificationKey2020' ||
52
+ keyType === 'Ed25519VerificationKey2018'
53
+ ) {
54
+ const publicKey = u8aToU8a(
55
+ (key.keyPair &&
56
+ key.keyPair.publicKey &&
57
+ u8aToU8a(key.keyPair.publicKey)) ||
58
+ key.publicKeyBuffer ||
59
+ (key.pk && key.pk.value),
60
+ );
61
+
62
+ if (!publicKey) {
63
+ throw new Error('Cannot find public key');
64
+ }
65
+
66
+ const pk = u8aToU8a(
67
+ (key.keyPair && key.keyPair.secretKey) ||
68
+ key.privateKeyBuffer ||
69
+ (key.sk &&
70
+ (typeof key.sk === 'string'
71
+ ? hexToU8a(key.sk)
72
+ : key.sk.value || key.sk)) ||
73
+ hexToU8a(key.pk),
74
+ );
75
+
76
+ const publicKeyBase58 = bs58.encode(publicKey);
77
+ const privateKeyBase58 = bs58.encode(pk);
78
+
79
+ const fingerprint =
80
+ (key.fingerprint && key.fingerprint()) ||
81
+ getKeyFingerprint(keyType, publicKey);
82
+
83
+ // auto create controller
84
+ if (!controller) {
85
+ controller = `did:key:${fingerprint}`;
86
+ id = id || key.id || `${controller}#${fingerprint}`;
87
+ }
88
+
89
+ const keyId = id || key.id || `${controller}#${fingerprint}`;
90
+ const type = keyTypeToDocType[keyType] || keyType;
91
+ keyDoc = {
92
+ controller,
93
+ type,
94
+ id: keyId,
95
+ publicKeyMultibase: encodeMbKey(MULTICODEC_ED25519_PUB_HEADER, publicKey),
96
+ privateKeyMultibase: encodeMbKey(MULTICODEC_ED25519_PRIV_HEADER, pk),
97
+ privateKeyBase58,
98
+ publicKeyBase58,
99
+ };
100
+
101
+ if (key.seed) {
102
+ keyDoc.seed = u8aToHex(key.seed);
103
+ }
104
+ } else {
105
+ throw new Error(`Unknown keypairToKeydoc type: ${keyType}`);
106
+ }
107
+
108
+ keyDoc['@context'] = ['https://w3id.org/wallet/v1'];
109
+
110
+ return keyDoc;
111
+ }
112
+
113
+ export { MULTIBASE_BASE58BTC_HEADER, MULTICODEC_ED25519_PRIV_HEADER, MULTICODEC_ED25519_PUB_HEADER, encodeMbKey, getKeyPairType, keypairToKeydoc };
@@ -4,22 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var src = require('@docknetwork/wallet-sdk-dids/lib');
6
6
  var services_dids_config = require('./config.js');
7
- var services_keyring_service = require('../keyring/service.js');
8
- var services_utilCrypto_service = require('../util-crypto/service.js');
9
7
  var assert = require('assert');
10
8
  var services_blockchain_service = require('../blockchain/service.js');
11
- var core_polkadotUtils = require('../../core/polkadot-utils.js');
9
+ var keypairs = require('@docknetwork/credential-sdk/keypairs');
12
10
  var base64url = require('base64url');
13
11
  var services_credential_utils = require('../credential/utils.js');
14
12
  var crypto = require('@docknetwork/credential-sdk/vc/crypto');
15
- require('@polkadot/keyring');
16
- require('@polkadot/util-crypto');
17
- require('../keyring/configs.js');
18
- require('../../core/validation.js');
19
- require('bignumber.js');
20
- require('../../types.js');
21
- require('@polkadot/util');
22
- require('../util-crypto/configs.js');
13
+ var services_dids_keypairUtils = require('./keypair-utils.js');
23
14
  require('@cosmjs/proto-signing');
24
15
  require('@docknetwork/cheqd-blockchain-api');
25
16
  require('@docknetwork/cheqd-blockchain-modules');
@@ -29,11 +20,17 @@ require('@docknetwork/crypto-wasm-ts/lib/index');
29
20
  require('events');
30
21
  require('../../core/logger.js');
31
22
  require('../../modules/event-manager.js');
23
+ require('../util-crypto/service.js');
24
+ require('@docknetwork/credential-sdk/utils');
25
+ require('@scure/bip39');
26
+ require('@scure/bip39/wordlists/english');
27
+ require('../util-crypto/configs.js');
32
28
  require('@docknetwork/credential-sdk/types');
33
- require('@docknetwork/credential-sdk/keypairs');
34
- require('@polkadot/keyring/pair/decode');
35
29
  require('base58-universal');
36
- require('@docknetwork/universal-wallet/methods/keypairs');
30
+ require('@digitalbazaar/x25519-key-agreement-key-2020');
31
+ require('@digitalbazaar/x25519-key-agreement-key-2019');
32
+ require('@digitalbazaar/ed25519-verification-key-2018');
33
+ require('@digitalbazaar/ed25519-verification-key-2020');
37
34
 
38
35
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
39
36
 
@@ -88,30 +85,14 @@ class DIDService {
88
85
  }
89
86
  async generateKeyDoc(params) {
90
87
  services_dids_config.validation.generateKeyDoc(params);
91
- const { derivePath = '', type = 'ed25519', keyPairJSON } = params;
92
- let keyring;
93
- if (keyPairJSON) {
94
- keyring = services_keyring_service.keyringService.keyring.addFromJson(keyPairJSON);
95
- keyring.unlock('');
96
- }
97
- else {
98
- const mnemonic = await services_utilCrypto_service.utilCryptoService.mnemonicGenerate(12);
99
- keyring = services_keyring_service.keyringService.getKeyringPair({
100
- mnemonic,
101
- derivePath,
102
- type,
103
- });
104
- }
105
- return core_polkadotUtils.polkadotToKeydoc(keyring, params.controller);
88
+ const keyPair = keypairs.Ed25519Keypair.random();
89
+ return services_dids_keypairUtils.keypairToKeydoc(keyPair, params.controller);
106
90
  }
107
91
  async deriveKeyDoc(params) {
108
92
  services_dids_config.validation.deriveKeyDoc(params);
109
93
  const { pair, type = 'ed25519' } = params;
110
- const keyring = services_keyring_service.keyringService.createFromPair({
111
- pair,
112
- type,
113
- });
114
- return core_polkadotUtils.polkadotToKeydoc(keyring, params.controller);
94
+ const keyPair = new keypairs.Ed25519Keypair(pair.secretKey, 'private');
95
+ return services_dids_keypairUtils.keypairToKeydoc(keyPair, params.controller);
115
96
  }
116
97
  async createSignedJWT({ payload, privateKeyDoc, headerInput }) {
117
98
  const privateKey = await getSignerKeypair(privateKeyDoc);
@@ -1,21 +1,12 @@
1
1
  import { DIDKeyManager } from '@docknetwork/wallet-sdk-dids/lib';
2
2
  import { serviceName, validation } from './config.mjs';
3
- import { keyringService } from '../keyring/service.mjs';
4
- import { utilCryptoService } from '../util-crypto/service.mjs';
5
3
  import assert from 'assert';
6
4
  import { blockchainService } from '../blockchain/service.mjs';
7
- import { polkadotToKeydoc } from '../../core/polkadot-utils.mjs';
5
+ import { Ed25519Keypair } from '@docknetwork/credential-sdk/keypairs';
8
6
  import base64url from 'base64url';
9
7
  import { keyDocToKeypair } from '../credential/utils.mjs';
10
8
  import { Ed25519Signature2020, EcdsaSecp256k1Signature2019 } from '@docknetwork/credential-sdk/vc/crypto';
11
- import '@polkadot/keyring';
12
- import '@polkadot/util-crypto';
13
- import '../keyring/configs.mjs';
14
- import '../../core/validation.mjs';
15
- import 'bignumber.js';
16
- import '../../types.mjs';
17
- import '@polkadot/util';
18
- import '../util-crypto/configs.mjs';
9
+ import { keypairToKeydoc } from './keypair-utils.mjs';
19
10
  import '@cosmjs/proto-signing';
20
11
  import '@docknetwork/cheqd-blockchain-api';
21
12
  import '@docknetwork/cheqd-blockchain-modules';
@@ -25,11 +16,17 @@ import '@docknetwork/crypto-wasm-ts/lib/index';
25
16
  import 'events';
26
17
  import '../../core/logger.mjs';
27
18
  import '../../modules/event-manager.mjs';
19
+ import '../util-crypto/service.mjs';
20
+ import '@docknetwork/credential-sdk/utils';
21
+ import '@scure/bip39';
22
+ import '@scure/bip39/wordlists/english';
23
+ import '../util-crypto/configs.mjs';
28
24
  import '@docknetwork/credential-sdk/types';
29
- import '@docknetwork/credential-sdk/keypairs';
30
- import '@polkadot/keyring/pair/decode';
31
25
  import 'base58-universal';
32
- import '@docknetwork/universal-wallet/methods/keypairs';
26
+ import '@digitalbazaar/x25519-key-agreement-key-2020';
27
+ import '@digitalbazaar/x25519-key-agreement-key-2019';
28
+ import '@digitalbazaar/ed25519-verification-key-2018';
29
+ import '@digitalbazaar/ed25519-verification-key-2020';
33
30
 
34
31
  // @ts-nocheck
35
32
  async function getSignerKeypair(privateKeyDoc) {
@@ -79,30 +76,14 @@ class DIDService {
79
76
  }
80
77
  async generateKeyDoc(params) {
81
78
  validation.generateKeyDoc(params);
82
- const { derivePath = '', type = 'ed25519', keyPairJSON } = params;
83
- let keyring;
84
- if (keyPairJSON) {
85
- keyring = keyringService.keyring.addFromJson(keyPairJSON);
86
- keyring.unlock('');
87
- }
88
- else {
89
- const mnemonic = await utilCryptoService.mnemonicGenerate(12);
90
- keyring = keyringService.getKeyringPair({
91
- mnemonic,
92
- derivePath,
93
- type,
94
- });
95
- }
96
- return polkadotToKeydoc(keyring, params.controller);
79
+ const keyPair = Ed25519Keypair.random();
80
+ return keypairToKeydoc(keyPair, params.controller);
97
81
  }
98
82
  async deriveKeyDoc(params) {
99
83
  validation.deriveKeyDoc(params);
100
84
  const { pair, type = 'ed25519' } = params;
101
- const keyring = keyringService.createFromPair({
102
- pair,
103
- type,
104
- });
105
- return polkadotToKeydoc(keyring, params.controller);
85
+ const keyPair = new Ed25519Keypair(pair.secretKey, 'private');
86
+ return keypairToKeydoc(keyPair, params.controller);
106
87
  }
107
88
  async createSignedJWT({ payload, privateKeyDoc, headerInput }) {
108
89
  const privateKey = await getSignerKeypair(privateKeyDoc);
@@ -17,16 +17,6 @@ require('@docknetwork/wallet-sdk-data-store/lib/logger');
17
17
  require('../dids/service.js');
18
18
  require('@docknetwork/wallet-sdk-dids/lib');
19
19
  require('../dids/config.js');
20
- require('../keyring/service.js');
21
- require('@polkadot/keyring');
22
- require('@polkadot/util-crypto');
23
- require('../keyring/configs.js');
24
- require('../../core/validation.js');
25
- require('bignumber.js');
26
- require('../../types.js');
27
- require('../util-crypto/service.js');
28
- require('@polkadot/util');
29
- require('../util-crypto/configs.js');
30
20
  require('../blockchain/service.js');
31
21
  require('@cosmjs/proto-signing');
32
22
  require('@docknetwork/cheqd-blockchain-api');
@@ -37,15 +27,19 @@ require('@docknetwork/crypto-wasm-ts/lib/index');
37
27
  require('events');
38
28
  require('../../core/logger.js');
39
29
  require('../../modules/event-manager.js');
30
+ require('../util-crypto/service.js');
31
+ require('@docknetwork/credential-sdk/utils');
32
+ require('@scure/bip39');
33
+ require('@scure/bip39/wordlists/english');
34
+ require('../util-crypto/configs.js');
40
35
  require('@docknetwork/credential-sdk/types');
41
- require('../../core/polkadot-utils.js');
42
36
  require('@docknetwork/credential-sdk/keypairs');
43
- require('@polkadot/keyring/pair/decode');
44
- require('base58-universal');
45
37
  require('base64url');
46
38
  require('../credential/utils.js');
39
+ require('base58-universal');
47
40
  require('@docknetwork/credential-sdk/vc/crypto');
48
- require('@docknetwork/wallet-sdk-wasm/lib/services/keyring');
41
+ require('@digitalbazaar/x25519-key-agreement-key-2019');
42
+ require('../dids/keypair-utils.js');
49
43
 
50
44
 
51
45
 
@@ -13,16 +13,6 @@ import '@docknetwork/wallet-sdk-data-store/lib/logger';
13
13
  import '../dids/service.mjs';
14
14
  import '@docknetwork/wallet-sdk-dids/lib';
15
15
  import '../dids/config.mjs';
16
- import '../keyring/service.mjs';
17
- import '@polkadot/keyring';
18
- import '@polkadot/util-crypto';
19
- import '../keyring/configs.mjs';
20
- import '../../core/validation.mjs';
21
- import 'bignumber.js';
22
- import '../../types.mjs';
23
- import '../util-crypto/service.mjs';
24
- import '@polkadot/util';
25
- import '../util-crypto/configs.mjs';
26
16
  import '../blockchain/service.mjs';
27
17
  import '@cosmjs/proto-signing';
28
18
  import '@docknetwork/cheqd-blockchain-api';
@@ -33,12 +23,16 @@ import '@docknetwork/crypto-wasm-ts/lib/index';
33
23
  import 'events';
34
24
  import '../../core/logger.mjs';
35
25
  import '../../modules/event-manager.mjs';
26
+ import '../util-crypto/service.mjs';
27
+ import '@docknetwork/credential-sdk/utils';
28
+ import '@scure/bip39';
29
+ import '@scure/bip39/wordlists/english';
30
+ import '../util-crypto/configs.mjs';
36
31
  import '@docknetwork/credential-sdk/types';
37
- import '../../core/polkadot-utils.mjs';
38
32
  import '@docknetwork/credential-sdk/keypairs';
39
- import '@polkadot/keyring/pair/decode';
40
- import 'base58-universal';
41
33
  import 'base64url';
42
34
  import '../credential/utils.mjs';
35
+ import 'base58-universal';
43
36
  import '@docknetwork/credential-sdk/vc/crypto';
44
- import '@docknetwork/wallet-sdk-wasm/lib/services/keyring';
37
+ import '@digitalbazaar/x25519-key-agreement-key-2019';
38
+ import '../dids/keypair-utils.mjs';
@@ -11,22 +11,12 @@ var x25519KeyAgreementKey2020 = require('@digitalbazaar/x25519-key-agreement-key
11
11
  var keypairs = require('@docknetwork/universal-wallet/methods/keypairs');
12
12
  var logger = require('@docknetwork/wallet-sdk-data-store/lib/logger');
13
13
  var services_dids_service = require('../dids/service.js');
14
- var keyring = require('@docknetwork/wallet-sdk-wasm/lib/services/keyring');
15
- var utilCrypto = require('@polkadot/util-crypto');
14
+ var keypairs$1 = require('@docknetwork/credential-sdk/keypairs');
16
15
  require('assert');
17
16
  require('base64url-universal');
18
17
  require('@docknetwork/universal-wallet/crypto');
19
18
  require('@docknetwork/wallet-sdk-dids/lib');
20
19
  require('../dids/config.js');
21
- require('../keyring/service.js');
22
- require('@polkadot/keyring');
23
- require('../keyring/configs.js');
24
- require('../../core/validation.js');
25
- require('bignumber.js');
26
- require('../../types.js');
27
- require('../util-crypto/service.js');
28
- require('@polkadot/util');
29
- require('../util-crypto/configs.js');
30
20
  require('../blockchain/service.js');
31
21
  require('@cosmjs/proto-signing');
32
22
  require('@docknetwork/cheqd-blockchain-api');
@@ -37,14 +27,18 @@ require('@docknetwork/crypto-wasm-ts/lib/index');
37
27
  require('events');
38
28
  require('../../core/logger.js');
39
29
  require('../../modules/event-manager.js');
30
+ require('../util-crypto/service.js');
31
+ require('@docknetwork/credential-sdk/utils');
32
+ require('@scure/bip39');
33
+ require('@scure/bip39/wordlists/english');
34
+ require('../util-crypto/configs.js');
40
35
  require('@docknetwork/credential-sdk/types');
41
- require('../../core/polkadot-utils.js');
42
- require('@docknetwork/credential-sdk/keypairs');
43
- require('@polkadot/keyring/pair/decode');
44
- require('base58-universal');
45
36
  require('base64url');
46
37
  require('../credential/utils.js');
38
+ require('base58-universal');
47
39
  require('@docknetwork/credential-sdk/vc/crypto');
40
+ require('@digitalbazaar/x25519-key-agreement-key-2019');
41
+ require('../dids/keypair-utils.js');
48
42
 
49
43
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
50
44
 
@@ -119,9 +113,6 @@ class EDVService {
119
113
  });
120
114
  }
121
115
  async generateKeys() {
122
- await keyring.keyringService.initialize({
123
- ss58Format: 22,
124
- });
125
116
  const keyPair = await services_dids_service.didService.generateKeyDoc({});
126
117
  const verificationKey = await ed25519VerificationKey2018.Ed25519VerificationKey2018.generate({
127
118
  controller: keyPair.controller,
@@ -134,10 +125,7 @@ class EDVService {
134
125
  return { verificationKey, agreementKey, hmacKey };
135
126
  }
136
127
  async deriveKeys(masterKey) {
137
- await keyring.keyringService.initialize({
138
- ss58Format: 22,
139
- });
140
- const pair = utilCrypto.ed25519PairFromSeed(masterKey);
128
+ const { keyPair: pair } = new keypairs$1.Ed25519Keypair(masterKey, 'seed');
141
129
  const keyPair = await services_dids_service.didService.deriveKeyDoc({ pair });
142
130
  const verificationKey = await ed25519VerificationKey2018.Ed25519VerificationKey2018.from(keyPair);
143
131
  const verificationKey2020 = await ed25519VerificationKey2020.Ed25519VerificationKey2020.fromEd25519VerificationKey2018({ keyPair });
@@ -7,22 +7,12 @@ import { X25519KeyAgreementKey2020 } from '@digitalbazaar/x25519-key-agreement-k
7
7
  import { getKeypairFromDoc } from '@docknetwork/universal-wallet/methods/keypairs';
8
8
  import { logger } from '@docknetwork/wallet-sdk-data-store/lib/logger';
9
9
  import { didService } from '../dids/service.mjs';
10
- import { keyringService } from '@docknetwork/wallet-sdk-wasm/lib/services/keyring';
11
- import { ed25519PairFromSeed } from '@polkadot/util-crypto';
10
+ import { Ed25519Keypair } from '@docknetwork/credential-sdk/keypairs';
12
11
  import 'assert';
13
12
  import 'base64url-universal';
14
13
  import '@docknetwork/universal-wallet/crypto';
15
14
  import '@docknetwork/wallet-sdk-dids/lib';
16
15
  import '../dids/config.mjs';
17
- import '../keyring/service.mjs';
18
- import '@polkadot/keyring';
19
- import '../keyring/configs.mjs';
20
- import '../../core/validation.mjs';
21
- import 'bignumber.js';
22
- import '../../types.mjs';
23
- import '../util-crypto/service.mjs';
24
- import '@polkadot/util';
25
- import '../util-crypto/configs.mjs';
26
16
  import '../blockchain/service.mjs';
27
17
  import '@cosmjs/proto-signing';
28
18
  import '@docknetwork/cheqd-blockchain-api';
@@ -33,14 +23,18 @@ import '@docknetwork/crypto-wasm-ts/lib/index';
33
23
  import 'events';
34
24
  import '../../core/logger.mjs';
35
25
  import '../../modules/event-manager.mjs';
26
+ import '../util-crypto/service.mjs';
27
+ import '@docknetwork/credential-sdk/utils';
28
+ import '@scure/bip39';
29
+ import '@scure/bip39/wordlists/english';
30
+ import '../util-crypto/configs.mjs';
36
31
  import '@docknetwork/credential-sdk/types';
37
- import '../../core/polkadot-utils.mjs';
38
- import '@docknetwork/credential-sdk/keypairs';
39
- import '@polkadot/keyring/pair/decode';
40
- import 'base58-universal';
41
32
  import 'base64url';
42
33
  import '../credential/utils.mjs';
34
+ import 'base58-universal';
43
35
  import '@docknetwork/credential-sdk/vc/crypto';
36
+ import '@digitalbazaar/x25519-key-agreement-key-2019';
37
+ import '../dids/keypair-utils.mjs';
44
38
 
45
39
  // @ts-nocheck
46
40
  /**
@@ -111,9 +105,6 @@ class EDVService {
111
105
  });
112
106
  }
113
107
  async generateKeys() {
114
- await keyringService.initialize({
115
- ss58Format: 22,
116
- });
117
108
  const keyPair = await didService.generateKeyDoc({});
118
109
  const verificationKey = await Ed25519VerificationKey2018.generate({
119
110
  controller: keyPair.controller,
@@ -126,10 +117,7 @@ class EDVService {
126
117
  return { verificationKey, agreementKey, hmacKey };
127
118
  }
128
119
  async deriveKeys(masterKey) {
129
- await keyringService.initialize({
130
- ss58Format: 22,
131
- });
132
- const pair = ed25519PairFromSeed(masterKey);
120
+ const { keyPair: pair } = new Ed25519Keypair(masterKey, 'seed');
133
121
  const keyPair = await didService.deriveKeyDoc({ pair });
134
122
  const verificationKey = await Ed25519VerificationKey2018.from(keyPair);
135
123
  const verificationKey2020 = await Ed25519VerificationKey2020.fromEd25519VerificationKey2018({ keyPair });