@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,11 +0,0 @@
1
- import {RpcService} from '../rpc-service-client';
2
-
3
- export class ExampleServiceRpc extends RpcService {
4
- constructor() {
5
- super('example');
6
- }
7
-
8
- sum(): Promise<any> {
9
- return this.call('sum');
10
- }
11
- }
@@ -1,18 +0,0 @@
1
- // @ts-nocheck
2
- import {SumParams, validation} from './configs';
3
-
4
- export class ExampleService {
5
- rpcMethods = [ExampleService.prototype.sum];
6
-
7
- constructor() {
8
- this.name = 'example';
9
- }
10
-
11
- sum(params: SumParams) {
12
- validation.sum(params);
13
-
14
- return params.number1 + params.number2;
15
- }
16
- }
17
-
18
- export const exampleService: ExampleService = new ExampleService();
@@ -1,110 +0,0 @@
1
- // @ts-nocheck
2
- import assert from 'assert';
3
- import {assertKeyType} from '../../core/validation';
4
-
5
- export const validation = {
6
- addFromJson({jsonData, password}: AddFromJsonParams) {
7
- assert(typeof jsonData === 'object', 'invalid jsonData');
8
- assert(typeof password === 'string', 'invalid password');
9
- },
10
- initialize({ss58Format, type}: InitializeParams) {
11
- assert(typeof ss58Format === 'number', 'invalid ss58Format');
12
-
13
- if (type) {
14
- assertKeyType(type);
15
- }
16
- },
17
- addFromMnemonic({mnemonic, meta, type}: AddFromMnemonicParams) {
18
- assert(typeof mnemonic === 'string', 'invalid mnemonic');
19
-
20
- if (type) {
21
- assertKeyType(type);
22
- }
23
-
24
- if (meta) {
25
- assert(typeof meta === 'object', 'invalid meta');
26
- }
27
- },
28
- getKeyringPair(params: GetKeyringParams) {
29
- const {mnemonic, derivePath, meta, type} = params;
30
-
31
- assert(
32
- !params.keyPairType,
33
- 'invalid parameter keyPairType, you should use type instead',
34
- );
35
-
36
- assert(typeof mnemonic === 'string', 'invalid mnemonic');
37
-
38
- if (derivePath) {
39
- assert(typeof derivePath === 'string', 'invalid derivePath');
40
- }
41
-
42
- if (type) {
43
- assertKeyType(type);
44
- }
45
-
46
- if (meta) {
47
- assert(typeof meta === 'object', 'invalid meta');
48
- }
49
- },
50
- createFromPair(params: CreateFromPairParams) {
51
- const {pair, meta, type} = params;
52
-
53
- assert(typeof pair === 'object', 'invalid pair');
54
- assert(pair.publicKey instanceof Uint8Array, 'invalid publicKey');
55
- assert(pair.secretKey instanceof Uint8Array, 'invalid secretKey');
56
-
57
- if (type) {
58
- assertKeyType(type);
59
- }
60
-
61
- if (meta) {
62
- assert(typeof meta === 'object', 'invalid meta');
63
- }
64
- },
65
-
66
- signData(params: SignDataParams) {
67
- assert(!!params.keyPair, 'invalid keypair');
68
- assert(!!params.data, 'invalid data');
69
- },
70
- };
71
-
72
- validation.addressFromUri = validation.getKeyringPair;
73
-
74
- export const serviceName = 'keyring';
75
-
76
- export type GetKeyringParams = {
77
- mnemonic: string,
78
- meta?: any,
79
- type?: string,
80
- derivePath?: string,
81
- };
82
-
83
- export type CreateFromPairParams = {
84
- pair: any,
85
- meta?: any,
86
- type?: string,
87
- }
88
-
89
- export type AddressFromUriParams = GetKeyringParams;
90
-
91
- export type AddFromJsonParams = {
92
- jsonData: string,
93
- password: string,
94
- };
95
-
96
- export type InitializeParams = {
97
- ss58Format: number,
98
- type?: string,
99
- };
100
-
101
- export type AddFromMnemonicParams = {
102
- mnemonic: string,
103
- meta?: any,
104
- type: string,
105
- };
106
-
107
- export type SignDataParams = {
108
- keyPair: any,
109
- data: any,
110
- };
@@ -1,3 +0,0 @@
1
- import {KeyringServiceRpc} from './service-rpc';
2
-
3
- export const keyringService = new KeyringServiceRpc();
@@ -1,3 +0,0 @@
1
- import {KeyringServiceRpc} from './service-rpc';
2
-
3
- export const keyringService = new KeyringServiceRpc();
@@ -1 +0,0 @@
1
- export {keyringService} from './service';
@@ -1,48 +0,0 @@
1
- import {mnemonicGenerate} from '@polkadot/util-crypto';
2
- import {NetworkManager} from '../../modules/network-manager';
3
- import {assertRpcService, getPromiseError} from '../test-utils';
4
- import {validation} from './configs';
5
- import {keyringService as service} from './service';
6
- import {KeyringServiceRpc} from './service-rpc';
7
-
8
- describe('KeyringService', () => {
9
- it('ServiceRpc', () => {
10
- assertRpcService(KeyringServiceRpc, service, validation);
11
- });
12
-
13
- describe('service', () => {
14
- beforeAll(async () => {});
15
-
16
- describe('initialize', () => {
17
- it('expect to initialize keyring', async () => {
18
- await service.initialize({
19
- ss58Format:
20
- NetworkManager.getInstance().getNetworkInfo().addressPrefix,
21
- });
22
-
23
- expect(service.keyring).toBeDefined();
24
- });
25
-
26
- it('expect to validate params', async () => {
27
- const error = await getPromiseError(() => service.initialize({}));
28
- expect(error.message).toBe('invalid ss58Format');
29
- });
30
- });
31
-
32
- describe('addFromMnemonic', () => {
33
- it('expect to add keypair from mnemonic', async () => {
34
- await service.addFromMnemonic({
35
- mnemonic: mnemonicGenerate(12),
36
- });
37
-
38
- expect(service.keyring).toBeDefined();
39
- });
40
-
41
- it('expect to validate params', async () => {
42
- const error = await getPromiseError(() => service.addFromMnemonic({}));
43
-
44
- expect(error.message).toBe('invalid mnemonic');
45
- });
46
- });
47
- });
48
- });
@@ -1,56 +0,0 @@
1
- import {RpcService} from '../rpc-service-client';
2
- import {
3
- AddFromJsonParams,
4
- AddFromMnemonicParams,
5
- AddressFromUriParams,
6
- GetKeyringParams,
7
- serviceName,
8
- validation,
9
- SignDataParams,
10
- } from './configs';
11
-
12
- export class KeyringServiceRpc extends RpcService {
13
- constructor() {
14
- super(serviceName);
15
- }
16
-
17
- initialize(params: InitializeParams) {
18
- validation.initialize(params);
19
- return this.call('initialize', params);
20
- }
21
-
22
- addFromMnemonic(params: AddFromMnemonicParams) {
23
- validation.addFromMnemonic(params);
24
- return this.call('addFromMnemonic', params);
25
- }
26
-
27
- addFromJson(params: AddFromJsonParams) {
28
- validation.addFromJson(params);
29
- return this.call('addFromJson', params);
30
- }
31
-
32
- decryptKeyPair(params: AddFromJsonParams) {
33
- validation.addFromJson(params);
34
- return this.call('decryptKeyPair', params);
35
- }
36
-
37
- getKeyringPair(params: GetKeyringParams) {
38
- validation.getKeyringPair(params);
39
- return this.call('getKeyringPair', params);
40
- }
41
-
42
- getKeyringPairJSON(params: GetKeyringParams) {
43
- validation.getKeyringPair(params);
44
- return this.call('getKeyringPairJSON', params);
45
- }
46
-
47
- addressFromUri(params: AddressFromUriParams) {
48
- validation.addressFromUri(params);
49
- return this.call('addressFromUri', params);
50
- }
51
-
52
- signData(params: SignDataParams) {
53
- validation.signData(params);
54
- return this.call('signData', params);
55
- }
56
- }
@@ -1,111 +0,0 @@
1
- // @ts-nocheck
2
- import Keyring from '@polkadot/keyring';
3
- import {cryptoWaitReady} from '@polkadot/util-crypto';
4
- import {
5
- AddFromJsonParams,
6
- AddFromMnemonicParams,
7
- CreateFromUriParams,
8
- CreateFromPairParams,
9
- InitializeParams,
10
- serviceName,
11
- validation,
12
- SignDataParams,
13
- } from './configs';
14
-
15
- export function getKeyring() {
16
- return keyringService.keyring;
17
- }
18
-
19
- export class KeyringService {
20
- keyring: Keyring;
21
-
22
- rpcMethods = [
23
- KeyringService.prototype.addFromJson,
24
- KeyringService.prototype.addFromMnemonic,
25
- KeyringService.prototype.addressFromUri,
26
- KeyringService.prototype.getKeyringPair,
27
- KeyringService.prototype.getKeyringPairJSON,
28
- KeyringService.prototype.initialize,
29
- KeyringService.prototype.signData,
30
- KeyringService.prototype.decryptKeyPair,
31
- ];
32
-
33
- constructor() {
34
- this.name = serviceName;
35
- }
36
-
37
- async initialize(params: InitializeParams) {
38
- await cryptoWaitReady();
39
-
40
- validation.initialize(params);
41
-
42
- this.keyring = new Keyring(params);
43
-
44
- return true;
45
- }
46
-
47
- addFromMnemonic({mnemonic, meta, type}: AddFromMnemonicParams) {
48
- validation.addFromMnemonic({mnemonic, meta, type});
49
- return this.keyring.addFromMnemonic(mnemonic, meta, type);
50
- }
51
-
52
- decryptKeyPair({jsonData, password}: {keyPair: any, password: string}) {
53
- validation.addFromJson({jsonData, password});
54
-
55
- const pair = this.keyring.addFromJson(jsonData);
56
-
57
- pair.unlock(password);
58
-
59
- return pair;
60
- }
61
-
62
- addFromJson({jsonData, password}: AddFromJsonParams) {
63
- validation.addFromJson({jsonData, password});
64
-
65
- const pair = this.keyring.addFromJson(jsonData);
66
-
67
- pair.unlock(password);
68
-
69
- return pair.toJson();
70
- }
71
-
72
- signData(params: SignDataParams): any {
73
- validation.signData(params);
74
- const account = this.keyring.addFromPair(params.keyPair);
75
- return account.sign(params.data);
76
- }
77
-
78
- getKeyringPair(params: CreateFromUriParams): KeyringPair {
79
- validation.getKeyringPair(params);
80
-
81
- const {mnemonic, meta, type, derivePath = ''} = params;
82
-
83
- return this.keyring.createFromUri(
84
- `${mnemonic.trim()}${derivePath}`,
85
- meta,
86
- type,
87
- );
88
- }
89
-
90
- createFromPair(params: CreateFromPairParams): KeyringPair {
91
- validation.createFromPair(params);
92
-
93
- const {pair, meta, type} = params;
94
-
95
- return this.keyring.createFromPair(
96
- pair,
97
- meta,
98
- type,
99
- );
100
- }
101
-
102
- getKeyringPairJSON(params: CreateFromUriParams): KeyringPair {
103
- return this.getKeyringPair(params).toJson();
104
- }
105
-
106
- addressFromUri(params: CreateFromUriParams) {
107
- return this.getKeyringPair(params).address;
108
- }
109
- }
110
-
111
- export const keyringService: KeyringService = new KeyringService();
@@ -1,13 +0,0 @@
1
- // @ts-nocheck
2
- import {assertAddress} from '../../core/validation';
3
-
4
- export const validation = {
5
- getAddressSvg({address, isAlternative}: GetAddressSvgParams) {
6
- assertAddress(address);
7
- },
8
- };
9
-
10
- export type GetAddressSvgParams = {
11
- address: string,
12
- isAlternative?: boolean,
13
- };
@@ -1,3 +0,0 @@
1
- import {PolkadotServiceRpc} from './service-rpc';
2
-
3
- export const polkadotService = new PolkadotServiceRpc();
@@ -1,3 +0,0 @@
1
- import {PolkadotServiceRpc} from './service-rpc';
2
-
3
- export const polkadotService = new PolkadotServiceRpc();
@@ -1 +0,0 @@
1
- export {polkadotService} from './service';
@@ -1,52 +0,0 @@
1
- import {TestFixtures} from '../../fixtures';
2
- import {assertRpcService, getPromiseError} from '../test-utils';
3
- import {validation} from './configs';
4
- import {polkadotService as service} from './service';
5
- import {PolkadotServiceRpc} from './service-rpc';
6
-
7
- describe('PolkadotService', () => {
8
- it('ServiceRpc', () => {
9
- assertRpcService(PolkadotServiceRpc, service, validation);
10
- });
11
-
12
- describe('service', () => {
13
- beforeAll(async () => {});
14
-
15
- describe('getAddressSvg', () => {
16
- it('expect to getAddressSvg', async () => {
17
- const result = await service.getAddressSvg({
18
- address: TestFixtures.account1.address,
19
- });
20
- expect(result).toEqual([
21
- {cx: 32, cy: 32, fill: '#eee', r: 32},
22
- {cx: 32, cy: 8, fill: 'hsl(118, 63%, 53%)', r: 5},
23
- {cx: 32, cy: 20, fill: 'hsl(348, 63%, 35%)', r: 5},
24
- {cx: 21.607695154586736, cy: 14, fill: 'hsl(225, 63%, 35%)', r: 5},
25
- {cx: 11.215390309173472, cy: 20, fill: 'hsl(11, 63%, 75%)', r: 5},
26
- {cx: 21.607695154586736, cy: 26, fill: 'hsl(264, 63%, 15%)', r: 5},
27
- {cx: 11.215390309173472, cy: 32, fill: 'hsl(56, 63%, 15%)', r: 5},
28
- {cx: 11.215390309173472, cy: 44, fill: 'hsl(95, 63%, 75%)', r: 5},
29
- {cx: 21.607695154586736, cy: 38, fill: 'hsl(163, 63%, 75%)', r: 5},
30
- {cx: 21.607695154586736, cy: 50, fill: 'hsl(33, 63%, 53%)', r: 5},
31
- {cx: 32, cy: 56, fill: 'hsl(213, 63%, 75%)', r: 5},
32
- {cx: 32, cy: 44, fill: 'hsl(281, 63%, 15%)', r: 5},
33
- {cx: 42.392304845413264, cy: 50, fill: 'hsl(33, 63%, 53%)', r: 5},
34
- {cx: 52.78460969082653, cy: 44, fill: 'hsl(95, 63%, 75%)', r: 5},
35
- {cx: 42.392304845413264, cy: 38, fill: 'hsl(163, 63%, 75%)', r: 5},
36
- {cx: 52.78460969082653, cy: 32, fill: 'hsl(56, 63%, 15%)', r: 5},
37
- {cx: 52.78460969082653, cy: 20, fill: 'hsl(11, 63%, 75%)', r: 5},
38
- {cx: 42.392304845413264, cy: 26, fill: 'hsl(264, 63%, 15%)', r: 5},
39
- {cx: 42.392304845413264, cy: 14, fill: 'hsl(225, 63%, 35%)', r: 5},
40
- {cx: 32, cy: 32, fill: 'hsl(39, 63%, 15%)', r: 5},
41
- ]);
42
- });
43
-
44
- it('expect to validate params', async () => {
45
- const error = await getPromiseError(() =>
46
- service.getAddressSvg({address: undefined}),
47
- );
48
- expect(error.message).toBe('invalid address: undefined');
49
- });
50
- });
51
- });
52
- });
@@ -1,13 +0,0 @@
1
- import {RpcService} from '../rpc-service-client';
2
- import {GetAddressSvgParams, validation} from './configs';
3
-
4
- export class PolkadotServiceRpc extends RpcService {
5
- constructor() {
6
- super('polkadot');
7
- }
8
-
9
- getAddressSvg(params: GetAddressSvgParams): Promise<any> {
10
- validation.getAddressSvg(params);
11
- return this.call('getAddressSvg', params);
12
- }
13
- }
@@ -1,21 +0,0 @@
1
- // @ts-nocheck
2
- import {polkadotIcon} from '@polkadot/ui-shared/cjs/icons/index';
3
- import {GetAddressSvgParams, validation} from './configs';
4
-
5
- export class PolkadotService {
6
- rpcMethods = [PolkadotService.prototype.getAddressSvg];
7
-
8
- constructor() {
9
- this.name = 'polkadot';
10
- }
11
-
12
- async getAddressSvg(params: GetAddressSvgParams) {
13
- validation.getAddressSvg(params);
14
-
15
- return polkadotIcon(params.address, {
16
- isAlternative: params.isAlternative,
17
- });
18
- }
19
- }
20
-
21
- export const polkadotService: PolkadotService = new PolkadotService();
@@ -1,73 +0,0 @@
1
- import {DOCK_TOKEN_UNIT} from '../../core/format-utils';
2
- import {TestFixtures} from '../../fixtures';
3
- import {once} from '../../modules/event-manager';
4
- import {blockchainService} from '../blockchain/service';
5
- import {mockDockService, setMockTransactionError} from '../test-utils';
6
- import {signAndSend} from './api-utils';
7
- import {substrateService} from './service';
8
-
9
- describe('ApiUtils', () => {
10
- let unmockDockService;
11
-
12
- beforeAll(async () => {
13
- unmockDockService = await mockDockService();
14
- });
15
-
16
- describe('signAndSend', () => {
17
- it('expect to send tokens', async () => {
18
- const account = TestFixtures.account1.getKeyring();
19
- blockchainService.dock.setAccount(account);
20
- const extrinsic = blockchainService.dock.api.tx.balances.transfer(
21
- TestFixtures.account2.address,
22
- 1,
23
- );
24
- setMockTransactionError(null);
25
- const emitter = signAndSend(account, extrinsic);
26
- const [result] = await once(emitter, 'done');
27
-
28
- console.log('tx hash', result);
29
-
30
- expect(typeof result).toBe('string');
31
- });
32
-
33
- it('expect to get error: Inability to pay fees', async () => {
34
- const account = TestFixtures.noBalanceAccount.getKeyring();
35
- blockchainService.dock.setAccount(account);
36
- const extrinsic = blockchainService.dock.api.tx.balances.transfer(
37
- TestFixtures.account2.address,
38
- 1,
39
- );
40
- const errorMessage =
41
- '1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low';
42
-
43
- setMockTransactionError(errorMessage);
44
- const emitter = signAndSend(account, extrinsic);
45
- const error = await once(emitter, 'error');
46
-
47
- expect(error.message).toBe(errorMessage);
48
- });
49
-
50
- it('expect to get error: Not enough balance', async () => {
51
- const account = TestFixtures.account1.getKeyring();
52
- blockchainService.dock.setAccount(account);
53
- const balance = await substrateService.getAccountBalance({
54
- address: TestFixtures.account1.address,
55
- });
56
- const extrinsic = blockchainService.dock.api.tx.balances.transfer(
57
- TestFixtures.account2.address,
58
- balance * 2 * DOCK_TOKEN_UNIT,
59
- );
60
-
61
- const errorMessage =
62
- 'balances.InsufficientBalance: Balance too low to send value';
63
-
64
- setMockTransactionError(errorMessage);
65
- const emitter = signAndSend(account, extrinsic);
66
- const error = await once(emitter, 'error');
67
-
68
- expect(error.message).toBe(errorMessage);
69
- });
70
- });
71
-
72
- afterAll(() => unmockDockService);
73
- });
@@ -1,66 +0,0 @@
1
- // @ts-nocheck
2
- import assert from 'assert';
3
- import {EventEmitter} from 'events';
4
- import {Logger} from '../../core/logger';
5
- import {blockchainService} from '../blockchain/service';
6
-
7
- export const extrisicErrorsFilter = ({event}) => {
8
- return blockchainService.dock.api.events.system.ExtrinsicFailed.is(event);
9
- };
10
-
11
- export const mapEventToErrorMessage = ({event}) => {
12
- assert(!!event, 'event is required');
13
-
14
- const [error] = event.data;
15
- assert(!!error, 'error is required');
16
-
17
- if (error.isModule) {
18
- // for module errors, we have the section indexed, lookup
19
- const decoded = blockchainService.dock.api.registry.findMetaError(error.asModule);
20
- const {docs, method, section} = decoded;
21
-
22
- return `${section}.${method}: ${docs.join(' ')}`;
23
- }
24
-
25
- return error.toString();
26
- };
27
-
28
- export const getExtrinsicErrors = ({status, events}) =>
29
- events.filter(extrisicErrorsFilter).map(mapEventToErrorMessage);
30
-
31
- export function signAndSend(account, extrinsic: any): EventEmitter {
32
- const emitter = new EventEmitter();
33
-
34
- function execute() {
35
- extrinsic
36
- .signAndSend(account, result => {
37
- const {status} = result;
38
-
39
- Logger.debug(`extrinsic update ${JSON.stringify(result)}`);
40
-
41
- if (status.isInBlock || status.isFinalized) {
42
- const errors = getExtrinsicErrors(result);
43
-
44
- if (!errors.length) {
45
- return emitter.emit('done', status.toHex());
46
- }
47
-
48
- emitter.emit('error', new Error(errors[0]));
49
- emitter.emit('errors', errors);
50
- } else if (status.isInvalid) {
51
- emitter.emit('error', new Error('Transaction status is invalid'));
52
- } else if (status.isDropped) {
53
- emitter.emit('error', new Error('Transaction status dropped'));
54
- } else if (status.isRetracted) {
55
- emitter.emit('error', new Error('Transaction status is retracted'));
56
- }
57
- })
58
- .catch(err => {
59
- emitter.emit('error', err);
60
- });
61
- }
62
-
63
- setTimeout(execute, 1);
64
-
65
- return emitter;
66
- }
@@ -1,34 +0,0 @@
1
- // @ts-nocheck
2
- import assert from 'assert';
3
- import {isAddressValid, isNumberValid} from '../../core/validation';
4
-
5
- const assertTransaction = ({
6
- toAddress,
7
- fromAddress,
8
- amount,
9
- }: TransactionParams) => {
10
- assert(isAddressValid(toAddress), 'invalid toAddress');
11
- assert(isAddressValid(fromAddress), 'invalid fromAddress');
12
- assert(isNumberValid(amount), 'invalid amount');
13
- };
14
-
15
- export const validation = {
16
- getAccountBalance({address}: GetAccountBalanceParams) {
17
- assert(isAddressValid(address), `invalid address ${address}`);
18
- },
19
- getFeeAmount: assertTransaction,
20
- sendTokens: assertTransaction,
21
- };
22
-
23
- export const serviceName = 'substrate';
24
-
25
- export type GetAccountBalanceParams = {
26
- address: string,
27
- };
28
-
29
- export type TransactionParams = {
30
- toAddress: string,
31
- fromAddress: string,
32
- amount: number | string,
33
- transferAll?: boolean,
34
- };
@@ -1,3 +0,0 @@
1
- import {SubstrateServiceRpc} from './service-rpc';
2
-
3
- export const substrateService = new SubstrateServiceRpc();
@@ -1,3 +0,0 @@
1
- import {SubstrateServiceRpc} from './service-rpc';
2
-
3
- export const substrateService = new SubstrateServiceRpc();
@@ -1 +0,0 @@
1
- export {substrateService} from './service';