@docknetwork/wallet-sdk-wasm 1.5.8 → 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 (322) 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 -32
  6. package/lib/index.mjs +13 -32
  7. package/lib/rpc-server.js +13 -32
  8. package/lib/rpc-server.mjs +13 -32
  9. package/lib/rpc-util.js +14 -0
  10. package/lib/rpc-util.mjs +14 -0
  11. package/lib/services/blockchain/index.js +3 -8
  12. package/lib/services/blockchain/index.mjs +3 -8
  13. package/lib/services/blockchain/service.js +37 -80
  14. package/lib/services/blockchain/service.mjs +38 -81
  15. package/lib/services/credential/bbs-revocation.js +4 -9
  16. package/lib/services/credential/bbs-revocation.mjs +3 -8
  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 -15
  20. package/lib/services/credential/index.mjs +11 -15
  21. package/lib/services/credential/service.js +18 -20
  22. package/lib/services/credential/service.mjs +15 -17
  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 -16
  26. package/lib/services/dids/index.mjs +11 -16
  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 +16 -37
  30. package/lib/services/dids/service.mjs +16 -37
  31. package/lib/services/edv/index.js +8 -16
  32. package/lib/services/edv/index.mjs +8 -16
  33. package/lib/services/edv/service.js +10 -24
  34. package/lib/services/edv/service.mjs +10 -24
  35. package/lib/services/index.js +13 -37
  36. package/lib/services/index.mjs +13 -37
  37. package/lib/services/pex/service.js +2 -1
  38. package/lib/services/pex/service.mjs +2 -1
  39. package/lib/services/relay-service/configs.js +0 -1
  40. package/lib/services/relay-service/configs.mjs +0 -1
  41. package/lib/services/relay-service/index.android.js +0 -1
  42. package/lib/services/relay-service/index.android.mjs +0 -1
  43. package/lib/services/relay-service/index.ios.js +0 -1
  44. package/lib/services/relay-service/index.ios.mjs +0 -1
  45. package/lib/services/relay-service/index.js +0 -1
  46. package/lib/services/relay-service/index.mjs +0 -1
  47. package/lib/services/relay-service/service-rpc.js +0 -1
  48. package/lib/services/relay-service/service-rpc.mjs +0 -1
  49. package/lib/services/relay-service/service.js +0 -1
  50. package/lib/services/relay-service/service.mjs +0 -1
  51. package/lib/services/test-utils.js +0 -239
  52. package/lib/services/test-utils.mjs +1 -234
  53. package/lib/services/util-crypto/configs.js +0 -12
  54. package/lib/services/util-crypto/configs.mjs +0 -12
  55. package/lib/services/util-crypto/index.android.js +0 -3
  56. package/lib/services/util-crypto/index.android.mjs +0 -3
  57. package/lib/services/util-crypto/index.ios.js +0 -3
  58. package/lib/services/util-crypto/index.ios.mjs +0 -3
  59. package/lib/services/util-crypto/index.js +4 -7
  60. package/lib/services/util-crypto/index.mjs +4 -7
  61. package/lib/services/util-crypto/service-rpc.js +0 -23
  62. package/lib/services/util-crypto/service-rpc.mjs +0 -23
  63. package/lib/services/util-crypto/service.js +68 -61
  64. package/lib/services/util-crypto/service.mjs +50 -59
  65. package/lib/services/wallet/configs.js +0 -63
  66. package/lib/services/wallet/configs.mjs +1 -64
  67. package/lib/services/wallet/index.android.js +0 -1
  68. package/lib/services/wallet/index.android.mjs +0 -1
  69. package/lib/services/wallet/index.ios.js +0 -1
  70. package/lib/services/wallet/index.ios.mjs +0 -1
  71. package/lib/services/wallet/index.js +2 -12
  72. package/lib/services/wallet/index.mjs +2 -12
  73. package/lib/services/wallet/service-rpc.js +0 -77
  74. package/lib/services/wallet/service-rpc.mjs +0 -77
  75. package/lib/services/wallet/service.js +1 -215
  76. package/lib/services/wallet/service.mjs +1 -211
  77. package/lib/setup-nodejs.js +13 -32
  78. package/lib/setup-nodejs.mjs +13 -32
  79. package/lib/setup-tests.js +13 -32
  80. package/lib/setup-tests.mjs +13 -32
  81. package/lib/src/core/format-utils.d.ts +0 -5
  82. package/lib/src/core/format-utils.d.ts.map +1 -1
  83. package/lib/src/core/validation.d.ts +0 -3
  84. package/lib/src/core/validation.d.ts.map +1 -1
  85. package/lib/src/rpc-util.d.ts.map +1 -1
  86. package/lib/src/services/blockchain/service.d.ts +7 -3
  87. package/lib/src/services/blockchain/service.d.ts.map +1 -1
  88. package/lib/src/services/credential/bbs-revocation.d.ts.map +1 -1
  89. package/lib/src/services/credential/bound-check.d.ts +1 -1
  90. package/lib/src/services/credential/bound-check.d.ts.map +1 -1
  91. package/lib/src/services/credential/service.d.ts.map +1 -1
  92. package/lib/src/services/credential/utils.d.ts +2 -1
  93. package/lib/src/services/credential/utils.d.ts.map +1 -1
  94. package/lib/src/services/dids/keypair-utils.d.ts +15 -0
  95. package/lib/src/services/dids/keypair-utils.d.ts.map +1 -0
  96. package/lib/src/services/dids/service.d.ts +6 -6
  97. package/lib/src/services/dids/service.d.ts.map +1 -1
  98. package/lib/src/services/edv/service.d.ts.map +1 -1
  99. package/lib/src/services/pex/service.d.ts.map +1 -1
  100. package/lib/src/services/util-crypto/configs.d.ts +0 -3
  101. package/lib/src/services/util-crypto/configs.d.ts.map +1 -1
  102. package/lib/src/services/util-crypto/service.d.ts +3 -8
  103. package/lib/src/services/util-crypto/service.d.ts.map +1 -1
  104. package/lib/src/services/wallet/configs.d.ts +13 -0
  105. package/lib/src/services/wallet/configs.d.ts.map +1 -0
  106. package/lib/src/services/wallet/service.d.ts +1 -44
  107. package/lib/src/services/wallet/service.d.ts.map +1 -1
  108. package/lib/test-utils.js +0 -4
  109. package/lib/test-utils.mjs +1 -4
  110. package/lib/tsconfig.tsbuildinfo +1 -1
  111. package/package.json +6 -27
  112. package/readme.md +0 -61
  113. package/src/core/format-utils.test.js +1 -28
  114. package/src/core/format-utils.ts +0 -33
  115. package/src/core/validation.test.js +1 -33
  116. package/src/core/validation.ts +1 -25
  117. package/src/rpc-server.test.js +2 -9
  118. package/src/rpc-util.js +14 -0
  119. package/src/services/blockchain/index.test.js +4 -15
  120. package/src/services/blockchain/service.ts +39 -98
  121. package/src/services/credential/bbs-revocation.ts +2 -1
  122. package/src/services/credential/bound-check.test.ts +6 -6
  123. package/src/services/credential/bound-check.ts +4 -4
  124. package/src/services/credential/index.test.js +0 -2
  125. package/src/services/credential/service.ts +5 -2
  126. package/src/services/credential/utils.js +65 -23
  127. package/src/services/dids/index.test.js +9 -20
  128. package/src/services/dids/keypair-utils.js +111 -0
  129. package/src/services/dids/service.ts +7 -26
  130. package/src/services/edv/service.ts +2 -9
  131. package/src/services/index.js +0 -8
  132. package/src/services/pex/service.ts +7 -1
  133. package/src/services/test-utils.js +0 -207
  134. package/src/services/util-crypto/configs.ts +0 -12
  135. package/src/services/util-crypto/index.test.js +6 -83
  136. package/src/services/util-crypto/service-rpc.js +0 -20
  137. package/src/services/util-crypto/service.ts +62 -75
  138. package/src/services/wallet/configs.ts +1 -113
  139. package/src/services/wallet/index.test.js +0 -159
  140. package/src/services/wallet/service-rpc.js +1 -88
  141. package/src/services/wallet/service.ts +0 -258
  142. package/src/test-utils.js +0 -13
  143. package/lib/account-8fa95046.js +0 -774
  144. package/lib/account-e7156c51.js +0 -764
  145. package/lib/core/polkadot-utils.js +0 -119
  146. package/lib/core/polkadot-utils.mjs +0 -94
  147. package/lib/core/realm-schemas.js +0 -50
  148. package/lib/core/realm-schemas.mjs +0 -44
  149. package/lib/core/subscan.js +0 -75
  150. package/lib/core/subscan.mjs +0 -64
  151. package/lib/fixtures.js +0 -56
  152. package/lib/fixtures.mjs +0 -52
  153. package/lib/modules/account.js +0 -55
  154. package/lib/modules/account.mjs +0 -47
  155. package/lib/modules/accounts.js +0 -56
  156. package/lib/modules/accounts.mjs +0 -47
  157. package/lib/modules/data-migration.js +0 -72
  158. package/lib/modules/data-migration.mjs +0 -68
  159. package/lib/modules/wallet-backup.js +0 -82
  160. package/lib/modules/wallet-backup.mjs +0 -71
  161. package/lib/modules/wallet.js +0 -56
  162. package/lib/modules/wallet.mjs +0 -47
  163. package/lib/services/example/configs.js +0 -21
  164. package/lib/services/example/configs.mjs +0 -13
  165. package/lib/services/example/index.js +0 -18
  166. package/lib/services/example/index.mjs +0 -14
  167. package/lib/services/example/service-rpc.js +0 -25
  168. package/lib/services/example/service-rpc.mjs +0 -21
  169. package/lib/services/example/service.js +0 -25
  170. package/lib/services/example/service.mjs +0 -20
  171. package/lib/services/keyring/configs.js +0 -70
  172. package/lib/services/keyring/configs.mjs +0 -61
  173. package/lib/services/keyring/index.android.js +0 -22
  174. package/lib/services/keyring/index.android.mjs +0 -18
  175. package/lib/services/keyring/index.ios.js +0 -22
  176. package/lib/services/keyring/index.ios.mjs +0 -18
  177. package/lib/services/keyring/index.js +0 -16
  178. package/lib/services/keyring/index.mjs +0 -8
  179. package/lib/services/keyring/service-rpc.js +0 -65
  180. package/lib/services/keyring/service-rpc.mjs +0 -61
  181. package/lib/services/keyring/service.js +0 -84
  182. package/lib/services/keyring/service.mjs +0 -74
  183. package/lib/services/polkadot/configs.js +0 -17
  184. package/lib/services/polkadot/configs.mjs +0 -13
  185. package/lib/services/polkadot/index.android.js +0 -22
  186. package/lib/services/polkadot/index.android.mjs +0 -18
  187. package/lib/services/polkadot/index.ios.js +0 -22
  188. package/lib/services/polkadot/index.ios.mjs +0 -18
  189. package/lib/services/polkadot/index.js +0 -15
  190. package/lib/services/polkadot/index.mjs +0 -7
  191. package/lib/services/polkadot/service-rpc.js +0 -30
  192. package/lib/services/polkadot/service-rpc.mjs +0 -26
  193. package/lib/services/polkadot/service.js +0 -28
  194. package/lib/services/polkadot/service.mjs +0 -23
  195. package/lib/services/substrate/api-utils.js +0 -85
  196. package/lib/services/substrate/api-utils.mjs +0 -74
  197. package/lib/services/substrate/configs.js +0 -30
  198. package/lib/services/substrate/configs.mjs +0 -21
  199. package/lib/services/substrate/index.android.js +0 -22
  200. package/lib/services/substrate/index.android.mjs +0 -18
  201. package/lib/services/substrate/index.ios.js +0 -22
  202. package/lib/services/substrate/index.ios.mjs +0 -18
  203. package/lib/services/substrate/index.js +0 -37
  204. package/lib/services/substrate/index.mjs +0 -29
  205. package/lib/services/substrate/service-rpc.js +0 -37
  206. package/lib/services/substrate/service-rpc.mjs +0 -33
  207. package/lib/services/substrate/service.js +0 -115
  208. package/lib/services/substrate/service.mjs +0 -102
  209. package/lib/services/trust-registry/configs.js +0 -25
  210. package/lib/services/trust-registry/configs.mjs +0 -16
  211. package/lib/services/trust-registry/index.android.js +0 -19
  212. package/lib/services/trust-registry/index.android.mjs +0 -15
  213. package/lib/services/trust-registry/index.ios.js +0 -19
  214. package/lib/services/trust-registry/index.ios.mjs +0 -15
  215. package/lib/services/trust-registry/index.js +0 -33
  216. package/lib/services/trust-registry/index.mjs +0 -25
  217. package/lib/services/trust-registry/service-rpc.js +0 -29
  218. package/lib/services/trust-registry/service-rpc.mjs +0 -25
  219. package/lib/services/trust-registry/service.js +0 -89
  220. package/lib/services/trust-registry/service.mjs +0 -85
  221. package/lib/src/core/polkadot-utils.d.ts +0 -11
  222. package/lib/src/core/polkadot-utils.d.ts.map +0 -1
  223. package/lib/src/modules/account.d.ts +0 -60
  224. package/lib/src/modules/account.d.ts.map +0 -1
  225. package/lib/src/modules/accounts.d.ts +0 -49
  226. package/lib/src/modules/accounts.d.ts.map +0 -1
  227. package/lib/src/modules/data-migration.d.ts +0 -7
  228. package/lib/src/modules/data-migration.d.ts.map +0 -1
  229. package/lib/src/modules/wallet-backup.d.ts +0 -12
  230. package/lib/src/modules/wallet-backup.d.ts.map +0 -1
  231. package/lib/src/modules/wallet.d.ts +0 -134
  232. package/lib/src/modules/wallet.d.ts.map +0 -1
  233. package/lib/src/services/blockchain/index.d.ts +0 -2
  234. package/lib/src/services/blockchain/index.d.ts.map +0 -1
  235. package/lib/src/services/example/configs.d.ts +0 -9
  236. package/lib/src/services/example/configs.d.ts.map +0 -1
  237. package/lib/src/services/example/service.d.ts +0 -8
  238. package/lib/src/services/example/service.d.ts.map +0 -1
  239. package/lib/src/services/keyring/configs.d.ts +0 -39
  240. package/lib/src/services/keyring/configs.d.ts.map +0 -1
  241. package/lib/src/services/keyring/index.d.ts +0 -2
  242. package/lib/src/services/keyring/index.d.ts.map +0 -1
  243. package/lib/src/services/polkadot/configs.d.ts +0 -8
  244. package/lib/src/services/polkadot/configs.d.ts.map +0 -1
  245. package/lib/src/services/polkadot/index.d.ts +0 -2
  246. package/lib/src/services/polkadot/index.d.ts.map +0 -1
  247. package/lib/src/services/polkadot/service.d.ts +0 -8
  248. package/lib/src/services/polkadot/service.d.ts.map +0 -1
  249. package/lib/src/services/substrate/api-utils.d.ts +0 -14
  250. package/lib/src/services/substrate/api-utils.d.ts.map +0 -1
  251. package/lib/src/services/substrate/configs.d.ts +0 -16
  252. package/lib/src/services/substrate/configs.d.ts.map +0 -1
  253. package/lib/src/services/substrate/index.d.ts +0 -2
  254. package/lib/src/services/substrate/index.d.ts.map +0 -1
  255. package/lib/src/services/substrate/service.d.ts +0 -13
  256. package/lib/src/services/substrate/service.d.ts.map +0 -1
  257. package/lib/src/services/trust-registry/configs.d.ts +0 -6
  258. package/lib/src/services/trust-registry/configs.d.ts.map +0 -1
  259. package/lib/src/services/trust-registry/service.d.ts +0 -25
  260. package/lib/src/services/trust-registry/service.d.ts.map +0 -1
  261. package/lib/src/services/wallet/index.d.ts +0 -2
  262. package/lib/src/services/wallet/index.d.ts.map +0 -1
  263. package/lib/test/axiosMocks.js +0 -431
  264. package/lib/test/axiosMocks.mjs +0 -420
  265. package/lib/test/setup-test-state.js +0 -93
  266. package/lib/test/setup-test-state.mjs +0 -85
  267. package/src/core/polkadot-utils.js +0 -99
  268. package/src/core/realm-schemas.js +0 -42
  269. package/src/core/subscan.js +0 -62
  270. package/src/core/subscan.test.js +0 -56
  271. package/src/fixtures.js +0 -43
  272. package/src/modules/account.test.js +0 -56
  273. package/src/modules/account.ts +0 -128
  274. package/src/modules/accounts.test.js +0 -88
  275. package/src/modules/accounts.ts +0 -264
  276. package/src/modules/data-migration.test.js +0 -72
  277. package/src/modules/data-migration.ts +0 -86
  278. package/src/modules/wallet-backup.test.js +0 -24
  279. package/src/modules/wallet-backup.ts +0 -68
  280. package/src/modules/wallet.test.js +0 -227
  281. package/src/modules/wallet.ts +0 -424
  282. package/src/services/example/configs.js +0 -14
  283. package/src/services/example/index.js +0 -3
  284. package/src/services/example/index.test.js +0 -28
  285. package/src/services/example/service-rpc.js +0 -11
  286. package/src/services/example/service.ts +0 -18
  287. package/src/services/keyring/configs.ts +0 -110
  288. package/src/services/keyring/index.android.js +0 -3
  289. package/src/services/keyring/index.ios.js +0 -3
  290. package/src/services/keyring/index.js +0 -1
  291. package/src/services/keyring/index.test.js +0 -48
  292. package/src/services/keyring/service-rpc.js +0 -56
  293. package/src/services/keyring/service.ts +0 -111
  294. package/src/services/polkadot/configs.ts +0 -13
  295. package/src/services/polkadot/index.android.js +0 -3
  296. package/src/services/polkadot/index.ios.js +0 -3
  297. package/src/services/polkadot/index.js +0 -1
  298. package/src/services/polkadot/index.test.js +0 -52
  299. package/src/services/polkadot/service-rpc.js +0 -13
  300. package/src/services/polkadot/service.ts +0 -21
  301. package/src/services/substrate/api-utils.test.js +0 -73
  302. package/src/services/substrate/api-utils.ts +0 -66
  303. package/src/services/substrate/configs.ts +0 -34
  304. package/src/services/substrate/index.android.js +0 -3
  305. package/src/services/substrate/index.ios.js +0 -3
  306. package/src/services/substrate/index.js +0 -1
  307. package/src/services/substrate/index.test.js +0 -116
  308. package/src/services/substrate/service-rpc.js +0 -24
  309. package/src/services/substrate/service.ts +0 -117
  310. package/src/services/trust-registry/configs.ts +0 -14
  311. package/src/services/trust-registry/index.android.js +0 -3
  312. package/src/services/trust-registry/index.ios.js +0 -3
  313. package/src/services/trust-registry/index.js +0 -1
  314. package/src/services/trust-registry/index.test.js +0 -67
  315. package/src/services/trust-registry/service-rpc.js +0 -15
  316. package/src/services/trust-registry/service.ts +0 -94
  317. package/src/test/axiosMocks.js +0 -20
  318. package/src/test/fixtures/subscan-failure.json +0 -5
  319. package/src/test/fixtures/subscan-success.json +0 -370
  320. package/src/test/fixtures/subscan-too-many-requests.json +0 -9
  321. package/src/test/setup-test-state.js +0 -37
  322. package/src/test/test-wallet.test.js +0 -15
@@ -1,51 +1,9 @@
1
- import { cryptoWaitReady } from '@polkadot/util-crypto';
2
1
  import assert from 'assert';
3
- import BigNumber from 'bignumber.js';
4
- import { DOCK_TOKEN_UNIT } from '../core/format-utils.mjs';
5
- import { TestFixtures } from '../fixtures.mjs';
6
2
  import { NetworkManager } from '../modules/network-manager.mjs';
7
- import { keyringService } from './keyring/service.mjs';
8
3
  import 'json-rpc-2.0';
9
4
  import '../core/crypto.mjs';
10
5
  import '../core/logger.mjs';
11
- import { walletService } from './wallet/service.mjs';
12
- import Keyring from '@polkadot/keyring';
13
- import { blockchainService } from './blockchain/service.mjs';
14
- import '../core/validation.mjs';
15
- import '../types.mjs';
16
- import './keyring/configs.mjs';
17
6
  import 'crypto';
18
- import 'uuid';
19
- import '../wallet/memory-storage-wallet.mjs';
20
- import '@docknetwork/universal-wallet/storage-wallet';
21
- import '../wallet/memory-storage-interface.mjs';
22
- import '@docknetwork/universal-wallet/storage/storage-interface';
23
- import '../wallet/rpc-storage-wallet.mjs';
24
- import '../wallet/rpc-storage-interface.mjs';
25
- import './storage/service.mjs';
26
- import './wallet/configs.mjs';
27
- import '@cosmjs/proto-signing';
28
- import '@docknetwork/cheqd-blockchain-api';
29
- import '@docknetwork/cheqd-blockchain-modules';
30
- import '@docknetwork/credential-sdk/modules';
31
- import '@docknetwork/credential-sdk/resolver';
32
- import '@docknetwork/crypto-wasm-ts/lib/index';
33
- import '@docknetwork/dock-blockchain-api';
34
- import '@docknetwork/dock-blockchain-modules';
35
- import 'events';
36
- import '../modules/event-manager.mjs';
37
- import './util-crypto/service.mjs';
38
- import '@polkadot/util';
39
- import './util-crypto/configs.mjs';
40
- import '@docknetwork/credential-sdk/types';
41
-
42
- async function initializeWalletService() {
43
- await cryptoWaitReady();
44
- await keyringService.initialize({
45
- ss58Format: 21,
46
- });
47
- await walletService.create('test-wallet', 'memory');
48
- }
49
7
 
50
8
  const TEST_FEE_AMOUNT = 2.48;
51
9
  const API_MOCK_DISABLED = process.env.API_MOCK_DISABLED === 'true';
@@ -63,105 +21,6 @@ const TEST_SCHEMA_METADATA = {
63
21
  },
64
22
  };
65
23
 
66
- let mockTransactionError;
67
-
68
- const setMockTransactionError = error => {
69
- mockTransactionError = error;
70
- };
71
-
72
- async function mockDockService() {
73
- await cryptoWaitReady();
74
-
75
- await keyringService.initialize({
76
- ss58Format: NetworkManager.getInstance().getNetworkInfo().addressPrefix,
77
- });
78
-
79
- let sdkMock;
80
-
81
- if (API_MOCK_DISABLED) {
82
- return blockchainService.init({
83
- address: NetworkManager.getInstance().getNetworkInfo().substrateUrl,
84
- });
85
- } else {
86
- sdkMock = mockDockSdkConnection();
87
- await blockchainService.init({
88
- address: NetworkManager.getInstance().getNetworkInfo().substrateUrl,
89
- });
90
- }
91
-
92
- const _dockSdk = blockchainService.dock;
93
-
94
- blockchainService.isDockReady = true;
95
-
96
- blockchainService.dock = {
97
- api: {
98
- events: {
99
- system: {
100
- ExtrinsicFailed: {
101
- is: event => !!mockTransactionError,
102
- },
103
- },
104
- },
105
- query: {
106
- system: {
107
- account: jest.fn().mockImplementation(() => ({
108
- data: {
109
- free: BigNumber(TestFixtures.account1.balance * DOCK_TOKEN_UNIT),
110
- },
111
- })),
112
- },
113
- },
114
- revocation: {
115
- getIsRevoked: jest.fn().mockImplementation(() => false),
116
- },
117
- tx: {
118
- balances: {
119
- transfer: jest.fn().mockImplementation(() => ({
120
- paymentInfo: () => ({
121
- partialFee: BigNumber(TEST_FEE_AMOUNT * DOCK_TOKEN_UNIT),
122
- }),
123
- signAndSend: (account, callback) => {
124
- callback({
125
- status: {
126
- isInBlock: true,
127
- isFinalized: true,
128
- toHex: () => 'hash',
129
- },
130
- events: [
131
- {
132
- event: {
133
- data: [mockTransactionError],
134
- },
135
- },
136
- ],
137
- });
138
-
139
- return Promise.resolve({});
140
- },
141
- })),
142
- },
143
- },
144
- },
145
- trustRegistry: {
146
- registriesInfo: jest.fn().mockImplementation(() => TEST_TRUST_REGISTRIES),
147
- registrySchemasMetadata: jest
148
- .fn()
149
- .mockImplementation(() => TEST_SCHEMA_METADATA),
150
- },
151
- init: jest.fn().mockImplementation(() => Promise.resolve({})),
152
- disconnect: jest.fn(),
153
- setAccount: jest.fn(),
154
- };
155
-
156
- return () => {
157
- blockchainService.dock = _dockSdk;
158
- if (sdkMock) {
159
- sdkMock.clear();
160
- }
161
- blockchainService.disconnect();
162
- };
163
- }
164
-
165
24
  let walletCreated;
166
25
 
167
26
  async function setupTestWallet() {
@@ -171,101 +30,9 @@ async function setupTestWallet() {
171
30
 
172
31
  NetworkManager.getInstance().setNetworkId('testnet');
173
32
 
174
- await cryptoWaitReady();
175
- await keyringService.initialize({
176
- ss58Format: NetworkManager.getInstance().getNetworkInfo().addressPrefix,
177
- });
178
- await walletService.create({
179
- walletId: 'test-wallet',
180
- type: 'memory',
181
- });
182
- await walletService.createAccountDocuments({
183
- mnemonic: TestFixtures.account1.mnemonic,
184
- name: TestFixtures.account1.name,
185
- });
186
- await walletService.createAccountDocuments({
187
- mnemonic: TestFixtures.account2.mnemonic,
188
- name: TestFixtures.account2.name,
189
- });
190
-
191
33
  walletCreated = true;
192
34
  }
193
35
 
194
- function mockDockSdkConnection(connectionError) {
195
- const result = 'result';
196
- const dock = blockchainService.dock;
197
- const mocks = [
198
- jest.spyOn(dock, 'init').mockImplementation(() => {
199
- if (connectionError) {
200
- return Promise.reject(connectionError);
201
- }
202
-
203
- return Promise.resolve(result);
204
- }),
205
- jest.spyOn(dock, 'disconnect').mockReturnValue(Promise.resolve(true)),
206
- ];
207
-
208
- let currentAccount;
209
-
210
- blockchainService.dock = {
211
- ...dock,
212
- setAccount(account) {
213
- currentAccount = account;
214
- },
215
- did: {
216
- new: () => {
217
- if (
218
- currentAccount &&
219
- currentAccount.address === TestFixtures.noBalanceAccount.address
220
- ) {
221
- throw new Error(
222
- '1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low',
223
- );
224
- }
225
- return {
226
- txHash: 'hash',
227
- };
228
- },
229
- getDocument: () => ({
230
- '@context': ['https://www.w3.org/ns/did/v1'],
231
- assertionMethod: [
232
- 'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi#keys-1',
233
- ],
234
- authentication: [
235
- 'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi#keys-1',
236
- ],
237
- capabilityInvocation: [
238
- 'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi#keys-1',
239
- ],
240
- controller: [
241
- 'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi',
242
- ],
243
- id: 'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi',
244
- publicKey: [
245
- {
246
- controller:
247
- 'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi',
248
- id: 'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi#keys-1',
249
- publicKeyBase58: '8UDojkFBh5RopLKZredz8uVZV5U579voUwQFyYDmgBM3',
250
- type: 'Sr25519VerificationKey2020',
251
- },
252
- ],
253
- }),
254
- },
255
- keyring: {
256
- createFromPair: jest.fn(() => {
257
- const kr = new Keyring();
258
- return kr.createFromUri('//Alice');
259
- }),
260
- },
261
- };
262
-
263
- return {
264
- result,
265
- clear: () => mocks.forEach(mock => mock.mockClear()),
266
- };
267
- }
268
-
269
36
  async function getPromiseError(func) {
270
37
  try {
271
38
  return await func();
@@ -314,4 +81,4 @@ function assertRpcService(
314
81
  });
315
82
  }
316
83
 
317
- export { API_MOCK_DISABLED, TEST_FEE_AMOUNT, TEST_SCHEMA_METADATA, TEST_TRUST_REGISTRIES, assertRpcService, getPromiseError, initializeWalletService, mockDockSdkConnection, mockDockService, setMockTransactionError, setupTestWallet };
84
+ export { API_MOCK_DISABLED, TEST_FEE_AMOUNT, TEST_SCHEMA_METADATA, TEST_TRUST_REGISTRIES, assertRpcService, getPromiseError, setupTestWallet };
@@ -3,9 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var assert = require('assert');
6
- var core_validation = require('../../core/validation.js');
7
- require('bignumber.js');
8
- require('../../types.js');
9
6
 
10
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
8
 
@@ -13,12 +10,6 @@ var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
13
10
 
14
11
  // @ts-nocheck
15
12
  const validation = {
16
- deriveValidate(uri) {
17
- assert__default["default"](!!uri, 'uri is required');
18
- },
19
- isAddressValid(address) {
20
- core_validation.assertAddress(address);
21
- },
22
13
  mnemonicGenerate(numWords) {
23
14
  if (numWords) {
24
15
  assert__default["default"](typeof numWords === 'number', 'invalid number of words');
@@ -27,9 +18,6 @@ const validation = {
27
18
  mnemonicToMiniSecret(phrase) {
28
19
  assert__default["default"](typeof phrase === 'string', 'invalid mnemonic phrase');
29
20
  },
30
- mnemonicValidate(phrase) {
31
- assert__default["default"](typeof phrase === 'string', 'invalid mnemonic phrase');
32
- },
33
21
  };
34
22
 
35
23
  exports.validation = validation;
@@ -1,16 +1,7 @@
1
1
  import assert from 'assert';
2
- import { assertAddress } from '../../core/validation.mjs';
3
- import 'bignumber.js';
4
- import '../../types.mjs';
5
2
 
6
3
  // @ts-nocheck
7
4
  const validation = {
8
- deriveValidate(uri) {
9
- assert(!!uri, 'uri is required');
10
- },
11
- isAddressValid(address) {
12
- assertAddress(address);
13
- },
14
5
  mnemonicGenerate(numWords) {
15
6
  if (numWords) {
16
7
  assert(typeof numWords === 'number', 'invalid number of words');
@@ -19,9 +10,6 @@ const validation = {
19
10
  mnemonicToMiniSecret(phrase) {
20
11
  assert(typeof phrase === 'string', 'invalid mnemonic phrase');
21
12
  },
22
- mnemonicValidate(phrase) {
23
- assert(typeof phrase === 'string', 'invalid mnemonic phrase');
24
- },
25
13
  };
26
14
 
27
15
  export { validation };
@@ -13,9 +13,6 @@ require('../../core/logger.js');
13
13
  require('../../logger.js');
14
14
  require('../../rpc-util.js');
15
15
  require('./configs.js');
16
- require('../../core/validation.js');
17
- require('bignumber.js');
18
- require('../../types.js');
19
16
 
20
17
  const utilCryptoService = new services_utilCrypto_serviceRpc.UtilCryptoServiceRpc();
21
18
 
@@ -9,9 +9,6 @@ import '../../core/logger.mjs';
9
9
  import '../../logger.mjs';
10
10
  import '../../rpc-util.mjs';
11
11
  import './configs.mjs';
12
- import '../../core/validation.mjs';
13
- import 'bignumber.js';
14
- import '../../types.mjs';
15
12
 
16
13
  const utilCryptoService = new UtilCryptoServiceRpc();
17
14
 
@@ -13,9 +13,6 @@ require('../../core/logger.js');
13
13
  require('../../logger.js');
14
14
  require('../../rpc-util.js');
15
15
  require('./configs.js');
16
- require('../../core/validation.js');
17
- require('bignumber.js');
18
- require('../../types.js');
19
16
 
20
17
  const utilCryptoService = new services_utilCrypto_serviceRpc.UtilCryptoServiceRpc();
21
18
 
@@ -9,9 +9,6 @@ import '../../core/logger.mjs';
9
9
  import '../../logger.mjs';
10
10
  import '../../rpc-util.mjs';
11
11
  import './configs.mjs';
12
- import '../../core/validation.mjs';
13
- import 'bignumber.js';
14
- import '../../types.mjs';
15
12
 
16
13
  const utilCryptoService = new UtilCryptoServiceRpc();
17
14
 
@@ -3,14 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var services_utilCrypto_service = require('./service.js');
6
- require('@polkadot/keyring');
7
- require('@polkadot/util');
8
- require('@polkadot/util-crypto');
9
- require('assert');
6
+ require('@docknetwork/credential-sdk/utils');
7
+ require('@scure/bip39');
8
+ require('@scure/bip39/wordlists/english');
10
9
  require('./configs.js');
11
- require('../../core/validation.js');
12
- require('bignumber.js');
13
- require('../../types.js');
10
+ require('assert');
14
11
 
15
12
 
16
13
 
@@ -1,9 +1,6 @@
1
1
  export { utilCryptoService } from './service.mjs';
2
- import '@polkadot/keyring';
3
- import '@polkadot/util';
4
- import '@polkadot/util-crypto';
5
- import 'assert';
2
+ import '@docknetwork/credential-sdk/utils';
3
+ import '@scure/bip39';
4
+ import '@scure/bip39/wordlists/english';
6
5
  import './configs.mjs';
7
- import '../../core/validation.mjs';
8
- import 'bignumber.js';
9
- import '../../types.mjs';
6
+ import 'assert';
@@ -12,9 +12,6 @@ require('crypto');
12
12
  require('../../core/logger.js');
13
13
  require('../../logger.js');
14
14
  require('../../rpc-util.js');
15
- require('../../core/validation.js');
16
- require('bignumber.js');
17
- require('../../types.js');
18
15
 
19
16
  class UtilCryptoServiceRpc extends services_rpcServiceClient.RpcService {
20
17
  constructor() {
@@ -33,26 +30,6 @@ class UtilCryptoServiceRpc extends services_rpcServiceClient.RpcService {
33
30
  return this.call('mnemonicToMiniSecret', phrase);
34
31
  }
35
32
 
36
- mnemonicValidate(phrase ) {
37
- services_utilCrypto_configs.validation.mnemonicValidate(phrase);
38
-
39
- return this.call('mnemonicValidate', phrase);
40
- }
41
-
42
- cryptoWaitReady() {
43
- return this.call('cryptoWaitReady');
44
- }
45
-
46
- cryptoIsReady() {
47
- return this.call('cryptoIsReady');
48
- }
49
-
50
- isAddressValid(address ) {
51
- services_utilCrypto_configs.validation.deriveValidate(address);
52
-
53
- return this.call('isAddressValid', address);
54
- }
55
-
56
33
  deriveValidate(uri ) {
57
34
  services_utilCrypto_configs.validation.deriveValidate(uri);
58
35
  return this.call('deriveValidate', uri);
@@ -8,9 +8,6 @@ import 'crypto';
8
8
  import '../../core/logger.mjs';
9
9
  import '../../logger.mjs';
10
10
  import '../../rpc-util.mjs';
11
- import '../../core/validation.mjs';
12
- import 'bignumber.js';
13
- import '../../types.mjs';
14
11
 
15
12
  class UtilCryptoServiceRpc extends RpcService {
16
13
  constructor() {
@@ -29,26 +26,6 @@ class UtilCryptoServiceRpc extends RpcService {
29
26
  return this.call('mnemonicToMiniSecret', phrase);
30
27
  }
31
28
 
32
- mnemonicValidate(phrase ) {
33
- validation.mnemonicValidate(phrase);
34
-
35
- return this.call('mnemonicValidate', phrase);
36
- }
37
-
38
- cryptoWaitReady() {
39
- return this.call('cryptoWaitReady');
40
- }
41
-
42
- cryptoIsReady() {
43
- return this.call('cryptoIsReady');
44
- }
45
-
46
- isAddressValid(address ) {
47
- validation.deriveValidate(address);
48
-
49
- return this.call('isAddressValid', address);
50
- }
51
-
52
29
  deriveValidate(uri ) {
53
30
  validation.deriveValidate(uri);
54
31
  return this.call('deriveValidate', uri);
@@ -2,97 +2,104 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Keyring = require('@polkadot/keyring');
6
- var util = require('@polkadot/util');
7
- var utilCrypto = require('@polkadot/util-crypto');
8
- var assert = require('assert');
5
+ var utils = require('@docknetwork/credential-sdk/utils');
6
+ var bip39 = require('@scure/bip39');
7
+ var english = require('@scure/bip39/wordlists/english');
9
8
  var services_utilCrypto_configs = require('./configs.js');
10
- require('../../core/validation.js');
11
- require('bignumber.js');
12
- require('../../types.js');
9
+ require('assert');
13
10
 
14
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n["default"] = e;
26
+ return Object.freeze(n);
27
+ }
15
28
 
16
- var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
29
+ var bip39__namespace = /*#__PURE__*/_interopNamespace(bip39);
17
30
 
18
31
  // @ts-nocheck
19
32
  class UtilCryptoService {
20
33
  rpcMethods = [
21
34
  UtilCryptoService.prototype.mnemonicGenerate,
22
35
  UtilCryptoService.prototype.mnemonicToMiniSecret,
23
- UtilCryptoService.prototype.mnemonicValidate,
24
- UtilCryptoService.prototype.cryptoWaitReady,
25
- UtilCryptoService.prototype.cryptoIsReady,
26
- UtilCryptoService.prototype.isAddressValid,
27
- UtilCryptoService.prototype.deriveValidate,
28
36
  UtilCryptoService.prototype.isBase64,
29
- UtilCryptoService.prototype.getAddressPrefix,
37
+ UtilCryptoService.prototype.hexToString,
30
38
  ];
31
39
  constructor() {
32
40
  this.name = 'utilCrypto';
33
41
  }
34
- mnemonicGenerate(numWords) {
42
+ mnemonicGenerate(numWords = 12) {
35
43
  services_utilCrypto_configs.validation.mnemonicGenerate(numWords);
36
- return utilCrypto.mnemonicGenerate(numWords);
44
+ // @scure/bip39 uses strength in bits, not number of words
45
+ // 12 words = 128 bits, 15 words = 160 bits, 18 words = 192 bits, 21 words = 224 bits, 24 words = 256 bits
46
+ const strengthMap = {
47
+ 12: 128,
48
+ 15: 160,
49
+ 18: 192,
50
+ 21: 224,
51
+ 24: 256
52
+ };
53
+ const strength = strengthMap[numWords];
54
+ if (!strength) {
55
+ throw new Error(`Invalid number of words: ${numWords}. Supported values: 12, 15, 18, 21, 24`);
56
+ }
57
+ return bip39__namespace.generateMnemonic(english.wordlist, strength);
37
58
  }
38
59
  mnemonicToMiniSecret(phrase) {
39
60
  services_utilCrypto_configs.validation.mnemonicToMiniSecret(phrase);
40
- return utilCrypto.mnemonicToMiniSecret(phrase);
61
+ // Convert mnemonic to entropy which gives us a 32-byte mini secret for 12-word mnemonics
62
+ // This matches the behavior of Polkadot's mnemonicToMiniSecret
63
+ bip39__namespace.mnemonicToEntropy(phrase, english.wordlist);
64
+ // For 12-word mnemonics, entropy is already 16 bytes (128 bits)
65
+ // We need to pad it to 32 bytes to match Polkadot's mini secret size
66
+ // Polkadot uses PBKDF2 with specific parameters, but for compatibility
67
+ // we can use the seed derivation and take the first 32 bytes
68
+ const seed = bip39__namespace.mnemonicToSeedSync(phrase);
69
+ // Return first 32 bytes as Uint8Array to match the expected mini secret format
70
+ return new Uint8Array(seed.slice(0, 32));
41
71
  }
42
72
  isBase64(value) {
43
73
  if (typeof value !== 'string') {
44
74
  return false;
45
75
  }
46
- const decoded1 = Buffer.from(value, 'base64').toString('utf8');
47
- const encoded2 = Buffer.from(decoded1, 'binary').toString('base64');
48
- return value === encoded2;
49
- }
50
- mnemonicValidate(phrase) {
51
- services_utilCrypto_configs.validation.mnemonicValidate(phrase);
52
- return utilCrypto.mnemonicValidate(phrase);
53
- }
54
- cryptoWaitReady() {
55
- return utilCrypto.cryptoWaitReady();
56
- }
57
- cryptoIsReady(...args) {
58
- return utilCrypto.cryptoIsReady();
59
- }
60
- getAddressPrefix(params) {
61
- const { address, startPrefix, endPrefix } = params;
62
- for (let prefix = startPrefix; prefix <= endPrefix; prefix++) {
63
- try {
64
- const decoded = Keyring.decodeAddress(address);
65
- const reencoded = Keyring.encodeAddress(decoded, prefix);
66
- if (reencoded === address) {
67
- return prefix;
68
- }
69
- }
70
- catch (err) {
71
- // Ignore invalid prefixes
72
- }
76
+ if (value === '') {
77
+ return false;
78
+ }
79
+ const regex = '(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}(==)?|[A-Za-z0-9+\\/]{3}=?)?';
80
+ if (!(new RegExp('^' + regex + '$', 'gi')).test(value)) {
81
+ return false;
73
82
  }
74
- return null;
75
- }
76
- isAddressValid(address) {
77
- services_utilCrypto_configs.validation.isAddressValid(address);
78
83
  try {
79
- Keyring.encodeAddress(util.isHex(address) ? util.hexToU8a(address) : Keyring.decodeAddress(address));
80
- return true;
84
+ const decoded = Buffer.from(value, 'base64');
85
+ const asUtf8 = decoded.toString('utf8');
86
+ const reencoded = Buffer.from(asUtf8, 'utf8').toString('base64');
87
+ const normalize = (str) => str.replace(/=+$/, '');
88
+ return normalize(value) === normalize(reencoded);
81
89
  }
82
- catch (error) {
90
+ catch (e) {
83
91
  return false;
84
92
  }
85
93
  }
86
- deriveValidate(uri) {
87
- services_utilCrypto_configs.validation.deriveValidate(uri);
88
- const { password, path } = utilCrypto.keyExtractSuri(uri);
89
- let result = {};
90
- assert__default["default"](path.length, 'invalid derive path');
91
- // show a warning in case the password contains an unintended / character
92
- if (password && password.includes('/')) {
93
- result = { warning: 'slash password detected' };
94
+ hexToString(hex) {
95
+ try {
96
+ const bytes = utils.hexToU8a(hex);
97
+ return utils.u8aToString(bytes);
98
+ }
99
+ catch (e) {
100
+ console.log('error: ', e);
94
101
  }
95
- return result;
102
+ return '';
96
103
  }
97
104
  }
98
105
  const utilCryptoService = new UtilCryptoService();