@docknetwork/wallet-sdk-wasm 0.4.22 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/lib/{account-614e6414.js → account-bf00e5c0.js} +5 -5
  2. package/lib/{account-ee524484.js → account-e48dc9b6.js} +5 -5
  3. package/lib/core/polkadot-utils.js +18 -4
  4. package/lib/core/polkadot-utils.mjs +15 -2
  5. package/lib/index.js +16 -19
  6. package/lib/index.mjs +20 -23
  7. package/lib/modules/account.js +10 -5
  8. package/lib/modules/account.mjs +10 -5
  9. package/lib/modules/accounts.js +10 -5
  10. package/lib/modules/accounts.mjs +10 -5
  11. package/lib/modules/network-manager.js +4 -2
  12. package/lib/modules/network-manager.mjs +4 -2
  13. package/lib/modules/wallet.js +13 -8
  14. package/lib/modules/wallet.mjs +13 -8
  15. package/lib/rpc-server.js +16 -19
  16. package/lib/rpc-server.mjs +20 -23
  17. package/lib/services/blockchain/configs.js +7 -0
  18. package/lib/services/blockchain/configs.mjs +3 -0
  19. package/lib/services/{dock → blockchain}/index.android.js +3 -4
  20. package/lib/services/{dock → blockchain}/index.android.mjs +3 -4
  21. package/lib/services/{dock → blockchain}/index.ios.js +3 -4
  22. package/lib/services/{dock → blockchain}/index.ios.mjs +3 -4
  23. package/lib/services/blockchain/index.js +30 -0
  24. package/lib/services/blockchain/index.mjs +22 -0
  25. package/lib/services/{dock → blockchain}/service-rpc.js +5 -7
  26. package/lib/services/{dock → blockchain}/service-rpc.mjs +5 -7
  27. package/lib/services/blockchain/service.js +212 -0
  28. package/lib/services/blockchain/service.mjs +206 -0
  29. package/lib/services/credential/bbs-revocation.js +41 -60
  30. package/lib/services/credential/bbs-revocation.mjs +42 -57
  31. package/lib/services/credential/bound-check.js +0 -8
  32. package/lib/services/credential/bound-check.mjs +1 -5
  33. package/lib/services/credential/index.js +21 -24
  34. package/lib/services/credential/index.mjs +22 -25
  35. package/lib/services/credential/pex-helpers.js +134 -34
  36. package/lib/services/credential/pex-helpers.mjs +133 -35
  37. package/lib/services/credential/service.js +55 -56
  38. package/lib/services/credential/service.mjs +45 -43
  39. package/lib/services/credential/utils.js +12 -18
  40. package/lib/services/credential/utils.mjs +11 -14
  41. package/lib/services/dids/config.js +8 -0
  42. package/lib/services/dids/config.mjs +8 -0
  43. package/lib/services/dids/index.js +11 -10
  44. package/lib/services/dids/index.mjs +12 -11
  45. package/lib/services/dids/service-rpc.js +2 -2
  46. package/lib/services/dids/service-rpc.mjs +2 -2
  47. package/lib/services/dids/service.js +28 -36
  48. package/lib/services/dids/service.mjs +27 -33
  49. package/lib/services/edv/hmac.js +5 -0
  50. package/lib/services/edv/hmac.mjs +5 -0
  51. package/lib/services/edv/index.js +13 -11
  52. package/lib/services/edv/index.mjs +16 -14
  53. package/lib/services/edv/service-rpc.js +4 -0
  54. package/lib/services/edv/service-rpc.mjs +4 -0
  55. package/lib/services/edv/service.js +29 -13
  56. package/lib/services/edv/service.mjs +31 -16
  57. package/lib/services/example/service.js +3 -1
  58. package/lib/services/example/service.mjs +3 -1
  59. package/lib/services/index.js +14 -17
  60. package/lib/services/index.mjs +18 -21
  61. package/lib/services/keyring/configs.js +12 -0
  62. package/lib/services/keyring/configs.mjs +12 -0
  63. package/lib/services/keyring/service.js +5 -0
  64. package/lib/services/keyring/service.mjs +5 -0
  65. package/lib/services/pex/service.js +17 -15
  66. package/lib/services/pex/service.mjs +17 -15
  67. package/lib/services/relay-service/index.mjs +1 -1
  68. package/lib/services/relay-service/service.mjs +2 -2
  69. package/lib/services/substrate/api-utils.js +19 -6
  70. package/lib/services/substrate/api-utils.mjs +19 -6
  71. package/lib/services/substrate/index.js +14 -6
  72. package/lib/services/substrate/index.mjs +14 -6
  73. package/lib/services/substrate/service.js +17 -9
  74. package/lib/services/substrate/service.mjs +17 -9
  75. package/lib/services/test-utils.js +27 -17
  76. package/lib/services/test-utils.mjs +27 -17
  77. package/lib/services/trust-registry/index.js +17 -5
  78. package/lib/services/trust-registry/index.mjs +17 -5
  79. package/lib/services/trust-registry/service.js +27 -10
  80. package/lib/services/trust-registry/service.mjs +27 -10
  81. package/lib/services/util-crypto/configs.js +3 -0
  82. package/lib/services/util-crypto/configs.mjs +3 -0
  83. package/lib/services/util-crypto/service-rpc.js +6 -0
  84. package/lib/services/util-crypto/service-rpc.mjs +6 -0
  85. package/lib/services/util-crypto/service.js +5 -0
  86. package/lib/services/util-crypto/service.mjs +6 -1
  87. package/lib/setup-nodejs.js +16 -19
  88. package/lib/setup-nodejs.mjs +20 -23
  89. package/lib/setup-tests.js +16 -19
  90. package/lib/setup-tests.mjs +20 -23
  91. package/lib/src/core/polkadot-utils.d.ts +1 -0
  92. package/lib/src/core/polkadot-utils.d.ts.map +1 -1
  93. package/lib/src/modules/network-manager.d.ts +1 -0
  94. package/lib/src/modules/network-manager.d.ts.map +1 -1
  95. package/lib/src/services/blockchain/configs.d.ts +8 -0
  96. package/lib/src/services/blockchain/configs.d.ts.map +1 -0
  97. package/lib/src/services/blockchain/index.d.ts +2 -0
  98. package/lib/src/services/blockchain/index.d.ts.map +1 -0
  99. package/lib/src/services/blockchain/service.d.ts +52 -0
  100. package/lib/src/services/blockchain/service.d.ts.map +1 -0
  101. package/lib/src/services/credential/bbs-revocation.d.ts.map +1 -1
  102. package/lib/src/services/credential/bound-check.d.ts +0 -4
  103. package/lib/src/services/credential/bound-check.d.ts.map +1 -1
  104. package/lib/src/services/credential/index.d.ts +2 -7
  105. package/lib/src/services/credential/index.d.ts.map +1 -1
  106. package/lib/src/services/credential/pex-helpers.d.ts +5 -3
  107. package/lib/src/services/credential/pex-helpers.d.ts.map +1 -1
  108. package/lib/src/services/credential/service.d.ts +2 -7
  109. package/lib/src/services/credential/service.d.ts.map +1 -1
  110. package/lib/src/services/credential/utils.d.ts.map +1 -1
  111. package/lib/src/services/dids/config.d.ts +5 -0
  112. package/lib/src/services/dids/config.d.ts.map +1 -1
  113. package/lib/src/services/dids/service-rpc.d.ts +1 -1
  114. package/lib/src/services/dids/service-rpc.d.ts.map +1 -1
  115. package/lib/src/services/dids/service.d.ts +9 -4
  116. package/lib/src/services/dids/service.d.ts.map +1 -1
  117. package/lib/src/services/edv/hmac.d.ts +1 -0
  118. package/lib/src/services/edv/hmac.d.ts.map +1 -1
  119. package/lib/src/services/edv/service.d.ts +5 -0
  120. package/lib/src/services/edv/service.d.ts.map +1 -1
  121. package/lib/src/services/example/service.d.ts.map +1 -1
  122. package/lib/src/services/keyring/configs.d.ts +6 -0
  123. package/lib/src/services/keyring/configs.d.ts.map +1 -1
  124. package/lib/src/services/pex/service.d.ts.map +1 -1
  125. package/lib/src/services/trust-registry/service.d.ts.map +1 -1
  126. package/lib/src/services/util-crypto/configs.d.ts +1 -0
  127. package/lib/src/services/util-crypto/configs.d.ts.map +1 -1
  128. package/lib/src/services/util-crypto/service.d.ts +1 -0
  129. package/lib/src/services/util-crypto/service.d.ts.map +1 -1
  130. package/lib/test/setup-test-state.js +11 -6
  131. package/lib/test/setup-test-state.mjs +11 -6
  132. package/lib/tsconfig.tsbuildinfo +1 -1
  133. package/package.json +7 -4
  134. package/src/core/polkadot-utils.js +14 -3
  135. package/src/modules/network-manager.ts +5 -2
  136. package/src/modules/wallet.ts +5 -5
  137. package/src/services/blockchain/configs.ts +11 -0
  138. package/src/services/blockchain/index.android.js +3 -0
  139. package/src/services/blockchain/index.ios.js +3 -0
  140. package/src/services/blockchain/index.js +1 -0
  141. package/src/services/blockchain/index.test.js +34 -0
  142. package/src/services/{dock → blockchain}/service-rpc.js +5 -6
  143. package/src/services/blockchain/service.ts +261 -0
  144. package/src/services/credential/bbs-revocation.ts +41 -85
  145. package/src/services/credential/bound-check.test.ts +2 -5
  146. package/src/services/credential/bound-check.ts +0 -5
  147. package/src/services/credential/index.test.js +148 -7
  148. package/src/services/credential/pex-helpers.js +132 -34
  149. package/src/services/credential/pex-helpers.test.js +284 -27
  150. package/src/services/credential/service.ts +44 -27
  151. package/src/services/credential/utils.js +5 -14
  152. package/src/services/dids/config.ts +15 -0
  153. package/src/services/dids/index.test.js +5 -23
  154. package/src/services/dids/service-rpc.ts +2 -2
  155. package/src/services/dids/service.ts +34 -44
  156. package/src/services/edv/hmac.ts +13 -0
  157. package/src/services/edv/index.test.js +22 -0
  158. package/src/services/edv/service-rpc.js +4 -0
  159. package/src/services/edv/service.ts +22 -0
  160. package/src/services/example/service.ts +3 -1
  161. package/src/services/index.js +2 -2
  162. package/src/services/keyring/configs.ts +21 -0
  163. package/src/services/keyring/service.ts +13 -0
  164. package/src/services/pex/service.ts +29 -18
  165. package/src/services/pex/tests/pex-service.test.js +163 -6
  166. package/src/services/substrate/api-utils.test.js +7 -7
  167. package/src/services/substrate/api-utils.ts +3 -3
  168. package/src/services/substrate/service.ts +6 -6
  169. package/src/services/test-utils.js +13 -11
  170. package/src/services/trust-registry/index.test.js +6 -4
  171. package/src/services/trust-registry/service.ts +13 -7
  172. package/src/services/util-crypto/configs.ts +4 -0
  173. package/src/services/util-crypto/service-rpc.js +6 -0
  174. package/src/services/util-crypto/service.ts +8 -0
  175. package/src/test/setup-test-state.js +2 -2
  176. package/lib/services/dock/configs.js +0 -18
  177. package/lib/services/dock/configs.mjs +0 -10
  178. package/lib/services/dock/index.js +0 -17
  179. package/lib/services/dock/index.mjs +0 -9
  180. package/lib/services/dock/service.js +0 -138
  181. package/lib/services/dock/service.mjs +0 -126
  182. package/lib/src/services/dock/configs.d.ts +0 -7
  183. package/lib/src/services/dock/configs.d.ts.map +0 -1
  184. package/lib/src/services/dock/index.d.ts +0 -2
  185. package/lib/src/services/dock/index.d.ts.map +0 -1
  186. package/lib/src/services/dock/service.d.ts +0 -44
  187. package/lib/src/services/dock/service.d.ts.map +0 -1
  188. package/src/services/dock/configs.ts +0 -12
  189. package/src/services/dock/index.android.js +0 -3
  190. package/src/services/dock/index.ios.js +0 -3
  191. package/src/services/dock/index.js +0 -1
  192. package/src/services/dock/index.test.js +0 -48
  193. package/src/services/dock/service.ts +0 -154
@@ -26,8 +26,8 @@ class DIDServiceRPC extends services_rpcServiceClient.RpcService {
26
26
  generateKeyDoc(params) {
27
27
  return this.call('generateKeyDoc', params);
28
28
  }
29
- registerDidDock(keyPair) {
30
- return this.call('registerDidDock', keyPair);
29
+ deriveKeyDoc(params) {
30
+ return this.call('deriveKeyDoc', params);
31
31
  }
32
32
  getDidDockDocument(did) {
33
33
  return this.call('getDidDockDocument', did);
@@ -22,8 +22,8 @@ class DIDServiceRPC extends RpcService {
22
22
  generateKeyDoc(params) {
23
23
  return this.call('generateKeyDoc', params);
24
24
  }
25
- registerDidDock(keyPair) {
26
- return this.call('registerDidDock', keyPair);
25
+ deriveKeyDoc(params) {
26
+ return this.call('deriveKeyDoc', params);
27
27
  }
28
28
  getDidDockDocument(did) {
29
29
  return this.call('getDidDockDocument', did);
@@ -7,16 +7,11 @@ var services_dids_config = require('./config.js');
7
7
  var services_keyring_service = require('../keyring/service.js');
8
8
  var services_utilCrypto_service = require('../util-crypto/service.js');
9
9
  var assert = require('assert');
10
- var did = require('@docknetwork/sdk/utils/did');
11
- var services_dock_service = require('../dock/service.js');
12
- var dock = require('@docknetwork/sdk');
13
- var publicKeys = require('@docknetwork/sdk/public-keys');
14
- var core_logger = require('../../core/logger.js');
10
+ var services_blockchain_service = require('../blockchain/service.js');
15
11
  var core_polkadotUtils = require('../../core/polkadot-utils.js');
16
12
  var base64url = require('base64url');
17
13
  var services_credential_utils = require('../credential/utils.js');
18
- var Ed25519Signature2020 = require('@docknetwork/sdk/utils/vc/crypto/Ed25519Signature2020');
19
- var EcdsaSecp256k1Signature2019 = require('@docknetwork/sdk/utils/vc/crypto/EcdsaSecp256k1Signature2019');
14
+ var crypto = require('@docknetwork/credential-sdk/vc/crypto');
20
15
  require('@polkadot/keyring');
21
16
  require('@polkadot/util-crypto');
22
17
  require('../keyring/configs.js');
@@ -25,32 +20,37 @@ require('bignumber.js');
25
20
  require('../../types.js');
26
21
  require('@polkadot/util');
27
22
  require('../util-crypto/configs.js');
28
- require('@docknetwork/sdk/resolver');
23
+ require('@cosmjs/proto-signing');
24
+ require('@docknetwork/cheqd-blockchain-api');
25
+ require('@docknetwork/cheqd-blockchain-modules');
26
+ require('@docknetwork/credential-sdk/modules');
27
+ require('@docknetwork/credential-sdk/resolver');
29
28
  require('@docknetwork/crypto-wasm-ts/lib/index');
29
+ require('@docknetwork/dock-blockchain-api');
30
+ require('@docknetwork/dock-blockchain-modules');
30
31
  require('events');
32
+ require('../../core/logger.js');
31
33
  require('../../modules/event-manager.js');
32
- require('../dock/configs.js');
34
+ require('@docknetwork/credential-sdk/types');
35
+ require('@docknetwork/credential-sdk/keypairs');
33
36
  require('@polkadot/keyring/pair/decode');
34
- require('@docknetwork/sdk/utils/misc');
35
37
  require('base58-universal');
36
38
  require('@docknetwork/universal-wallet/methods/keypairs');
37
- require('@docknetwork/sdk/utils/vc/crypto/Bls12381G2KeyPairDock2022');
38
39
 
39
40
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
40
41
 
41
42
  var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
42
43
  var base64url__default = /*#__PURE__*/_interopDefaultLegacy(base64url);
43
- var Ed25519Signature2020__default = /*#__PURE__*/_interopDefaultLegacy(Ed25519Signature2020);
44
- var EcdsaSecp256k1Signature2019__default = /*#__PURE__*/_interopDefaultLegacy(EcdsaSecp256k1Signature2019);
45
44
 
45
+ // @ts-nocheck
46
46
  async function getSignerKeypair(privateKeyDoc) {
47
- const privateKey = privateKeyDoc.keypair || services_credential_utils.keyDocToKeypair(privateKeyDoc, services_dock_service.dockService.dock);
47
+ const privateKey = privateKeyDoc.keypair || services_credential_utils.keyDocToKeypair(privateKeyDoc, services_blockchain_service.blockchainService.dock);
48
48
  if (!privateKey.signer && privateKey.sign) {
49
49
  privateKey.signer = () => ({ sign: ({ data }) => privateKey.sign(data) });
50
50
  }
51
51
  // ed25519 should use latest
52
52
  if (privateKeyDoc.type.startsWith('Ed25519')) {
53
- return new Ed25519Signature2020__default["default"]({
53
+ return new crypto.Ed25519Signature2020({
54
54
  keypair: privateKey,
55
55
  ...privateKeyDoc,
56
56
  });
@@ -58,7 +58,7 @@ async function getSignerKeypair(privateKeyDoc) {
58
58
  // HACK: for secp256k1 keyDocToKeypair returns an unusable class, wrap it in EcdsaSecp256k1Signature2019
59
59
  // TODO: refactor so that keyDocToKeypair returns EcdsaSecp256k1Signature2019
60
60
  if (privateKey.type === 'secp256k1') {
61
- return new EcdsaSecp256k1Signature2019__default["default"]({
61
+ return new crypto.EcdsaSecp256k1Signature2019({
62
62
  keypair: privateKey,
63
63
  ...privateKeyDoc,
64
64
  });
@@ -74,7 +74,7 @@ class DIDService {
74
74
  DIDService.prototype.keypairToDIDKeyDocument,
75
75
  DIDService.prototype.getDIDResolution,
76
76
  DIDService.prototype.generateKeyDoc,
77
- DIDService.prototype.registerDidDock,
77
+ DIDService.prototype.deriveKeyDoc,
78
78
  DIDService.prototype.getDidDockDocument,
79
79
  DIDService.prototype.createSignedJWT,
80
80
  ];
@@ -106,6 +106,15 @@ class DIDService {
106
106
  }
107
107
  return core_polkadotUtils.polkadotToKeydoc(keyring, params.controller);
108
108
  }
109
+ async deriveKeyDoc(params) {
110
+ services_dids_config.validation.deriveKeyDoc(params);
111
+ const { pair, type = 'ed25519' } = params;
112
+ const keyring = services_keyring_service.keyringService.createFromPair({
113
+ pair,
114
+ type,
115
+ });
116
+ return core_polkadotUtils.polkadotToKeydoc(keyring, params.controller);
117
+ }
109
118
  async createSignedJWT({ payload, privateKeyDoc, headerInput }) {
110
119
  const privateKey = await getSignerKeypair(privateKeyDoc);
111
120
  const { sign } = typeof privateKey.signer === 'function'
@@ -125,27 +134,10 @@ class DIDService {
125
134
  }
126
135
  async getDidDockDocument(did) {
127
136
  assert__default["default"](!!did, 'DID is required');
128
- const dock = services_dock_service.getDock();
129
- const result = await dock.did.getDocument(did);
137
+ services_blockchain_service.blockchainService.dock;
138
+ const result = await services_blockchain_service.blockchainService.didModule.getDocument(did);
130
139
  return result;
131
140
  }
132
- async registerDidDock(keyPairJSON) {
133
- assert__default["default"](!!keyPairJSON, 'keyPair is required');
134
- const dockDID = did.createNewDockDID();
135
- const dock$1 = services_dock_service.getDock();
136
- const keyPair = services_keyring_service.keyringService.keyring.addFromJson(keyPairJSON);
137
- keyPair.unlock('');
138
- dock$1.setAccount(keyPair);
139
- const publicKey = dock.PublicKeySr25519.fromKeyringPair(keyPair);
140
- const didKey = new publicKeys.DidKey(publicKey, new publicKeys.VerificationRelationship());
141
- core_logger.Logger.info(`Submitting new DID: ${dockDID}`);
142
- const result = await dock$1.did.new(dockDID, [didKey], [], false);
143
- core_logger.Logger.info(`DID created with tx hash ${result.txHash.toString()}`);
144
- return {
145
- dockDID,
146
- keyPairWalletId: keyPairJSON.address,
147
- };
148
- }
149
141
  }
150
142
  const didService = new DIDService();
151
143
 
@@ -1,18 +1,13 @@
1
- import { DIDKeyManager } from '@docknetwork/wallet-sdk-dids/src';
1
+ import { DIDKeyManager } from '@docknetwork/wallet-sdk-dids/lib';
2
2
  import { serviceName, validation } from './config.mjs';
3
3
  import { keyringService } from '../keyring/service.mjs';
4
4
  import { utilCryptoService } from '../util-crypto/service.mjs';
5
5
  import assert from 'assert';
6
- import { createNewDockDID } from '@docknetwork/sdk/utils/did';
7
- import { dockService, getDock } from '../dock/service.mjs';
8
- import { PublicKeySr25519 } from '@docknetwork/sdk';
9
- import { DidKey, VerificationRelationship } from '@docknetwork/sdk/public-keys';
10
- import { Logger } from '../../core/logger.mjs';
6
+ import { blockchainService } from '../blockchain/service.mjs';
11
7
  import { polkadotToKeydoc } from '../../core/polkadot-utils.mjs';
12
8
  import base64url from 'base64url';
13
9
  import { keyDocToKeypair } from '../credential/utils.mjs';
14
- import Ed25519Signature2020 from '@docknetwork/sdk/utils/vc/crypto/Ed25519Signature2020';
15
- import EcdsaSecp256k1Signature2019 from '@docknetwork/sdk/utils/vc/crypto/EcdsaSecp256k1Signature2019';
10
+ import { Ed25519Signature2020, EcdsaSecp256k1Signature2019 } from '@docknetwork/credential-sdk/vc/crypto';
16
11
  import '@polkadot/keyring';
17
12
  import '@polkadot/util-crypto';
18
13
  import '../keyring/configs.mjs';
@@ -21,19 +16,26 @@ import 'bignumber.js';
21
16
  import '../../types.mjs';
22
17
  import '@polkadot/util';
23
18
  import '../util-crypto/configs.mjs';
24
- import '@docknetwork/sdk/resolver';
19
+ import '@cosmjs/proto-signing';
20
+ import '@docknetwork/cheqd-blockchain-api';
21
+ import '@docknetwork/cheqd-blockchain-modules';
22
+ import '@docknetwork/credential-sdk/modules';
23
+ import '@docknetwork/credential-sdk/resolver';
25
24
  import '@docknetwork/crypto-wasm-ts/lib/index';
25
+ import '@docknetwork/dock-blockchain-api';
26
+ import '@docknetwork/dock-blockchain-modules';
26
27
  import 'events';
28
+ import '../../core/logger.mjs';
27
29
  import '../../modules/event-manager.mjs';
28
- import '../dock/configs.mjs';
30
+ import '@docknetwork/credential-sdk/types';
31
+ import '@docknetwork/credential-sdk/keypairs';
29
32
  import '@polkadot/keyring/pair/decode';
30
- import '@docknetwork/sdk/utils/misc';
31
33
  import 'base58-universal';
32
34
  import '@docknetwork/universal-wallet/methods/keypairs';
33
- import '@docknetwork/sdk/utils/vc/crypto/Bls12381G2KeyPairDock2022';
34
35
 
36
+ // @ts-nocheck
35
37
  async function getSignerKeypair(privateKeyDoc) {
36
- const privateKey = privateKeyDoc.keypair || keyDocToKeypair(privateKeyDoc, dockService.dock);
38
+ const privateKey = privateKeyDoc.keypair || keyDocToKeypair(privateKeyDoc, blockchainService.dock);
37
39
  if (!privateKey.signer && privateKey.sign) {
38
40
  privateKey.signer = () => ({ sign: ({ data }) => privateKey.sign(data) });
39
41
  }
@@ -63,7 +65,7 @@ class DIDService {
63
65
  DIDService.prototype.keypairToDIDKeyDocument,
64
66
  DIDService.prototype.getDIDResolution,
65
67
  DIDService.prototype.generateKeyDoc,
66
- DIDService.prototype.registerDidDock,
68
+ DIDService.prototype.deriveKeyDoc,
67
69
  DIDService.prototype.getDidDockDocument,
68
70
  DIDService.prototype.createSignedJWT,
69
71
  ];
@@ -95,6 +97,15 @@ class DIDService {
95
97
  }
96
98
  return polkadotToKeydoc(keyring, params.controller);
97
99
  }
100
+ async deriveKeyDoc(params) {
101
+ validation.deriveKeyDoc(params);
102
+ const { pair, type = 'ed25519' } = params;
103
+ const keyring = keyringService.createFromPair({
104
+ pair,
105
+ type,
106
+ });
107
+ return polkadotToKeydoc(keyring, params.controller);
108
+ }
98
109
  async createSignedJWT({ payload, privateKeyDoc, headerInput }) {
99
110
  const privateKey = await getSignerKeypair(privateKeyDoc);
100
111
  const { sign } = typeof privateKey.signer === 'function'
@@ -114,27 +125,10 @@ class DIDService {
114
125
  }
115
126
  async getDidDockDocument(did) {
116
127
  assert(!!did, 'DID is required');
117
- const dock = getDock();
118
- const result = await dock.did.getDocument(did);
128
+ blockchainService.dock;
129
+ const result = await blockchainService.didModule.getDocument(did);
119
130
  return result;
120
131
  }
121
- async registerDidDock(keyPairJSON) {
122
- assert(!!keyPairJSON, 'keyPair is required');
123
- const dockDID = createNewDockDID();
124
- const dock = getDock();
125
- const keyPair = keyringService.keyring.addFromJson(keyPairJSON);
126
- keyPair.unlock('');
127
- dock.setAccount(keyPair);
128
- const publicKey = PublicKeySr25519.fromKeyringPair(keyPair);
129
- const didKey = new DidKey(publicKey, new VerificationRelationship());
130
- Logger.info(`Submitting new DID: ${dockDID}`);
131
- const result = await dock.did.new(dockDID, [didKey], [], false);
132
- Logger.info(`DID created with tx hash ${result.txHash.toString()}`);
133
- return {
134
- dockDID,
135
- keyPairWalletId: keyPairJSON.address,
136
- };
137
- }
138
132
  }
139
133
  const didService = new DIDService();
140
134
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  var base64url = require('base64url-universal');
4
4
  var crypto = require('@docknetwork/universal-wallet/crypto');
5
+ var util = require('@polkadot/util');
5
6
 
6
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
8
 
@@ -44,6 +45,10 @@ class HMAC {
44
45
  }, true, ['sign', 'verify']);
45
46
  return key;
46
47
  }
48
+ static async deriveKey(baseKey) {
49
+ const key = await crypto__default["default"].subtle.importKey('raw', util.hexToU8a(baseKey), { name: 'HMAC', hash: { name: 'SHA-256' } }, true, ['sign', 'verify']);
50
+ return key;
51
+ }
47
52
  static async exportKey(key) {
48
53
  const rawKey = await crypto__default["default"].subtle.exportKey('raw', key);
49
54
  return base64url__namespace.encode(Buffer.from(rawKey));
@@ -1,5 +1,6 @@
1
1
  import * as base64url from 'base64url-universal';
2
2
  import crypto from '@docknetwork/universal-wallet/crypto';
3
+ import { hexToU8a } from '@polkadot/util';
3
4
 
4
5
  class HMAC {
5
6
  key;
@@ -19,6 +20,10 @@ class HMAC {
19
20
  }, true, ['sign', 'verify']);
20
21
  return key;
21
22
  }
23
+ static async deriveKey(baseKey) {
24
+ const key = await crypto.subtle.importKey('raw', hexToU8a(baseKey), { name: 'HMAC', hash: { name: 'SHA-256' } }, true, ['sign', 'verify']);
25
+ return key;
26
+ }
22
27
  static async exportKey(key) {
23
28
  const rawKey = await crypto.subtle.exportKey('raw', key);
24
29
  return base64url.encode(Buffer.from(rawKey));
@@ -9,7 +9,9 @@ require('@docknetwork/universal-wallet/storage/edv-http-storage');
9
9
  require('./hmac.js');
10
10
  require('base64url-universal');
11
11
  require('@docknetwork/universal-wallet/crypto');
12
+ require('@polkadot/util');
12
13
  require('@digitalbazaar/ed25519-verification-key-2018');
14
+ require('@digitalbazaar/ed25519-verification-key-2020');
13
15
  require('@digitalbazaar/x25519-key-agreement-key-2020');
14
16
  require('@docknetwork/universal-wallet/methods/keypairs');
15
17
  require('@docknetwork/wallet-sdk-data-store/lib/logger');
@@ -24,27 +26,27 @@ require('../../core/validation.js');
24
26
  require('bignumber.js');
25
27
  require('../../types.js');
26
28
  require('../util-crypto/service.js');
27
- require('@polkadot/util');
28
29
  require('../util-crypto/configs.js');
29
- require('@docknetwork/sdk/utils/did');
30
- require('../dock/service.js');
31
- require('@docknetwork/sdk');
32
- require('@docknetwork/sdk/resolver');
30
+ require('../blockchain/service.js');
31
+ require('@cosmjs/proto-signing');
32
+ require('@docknetwork/cheqd-blockchain-api');
33
+ require('@docknetwork/cheqd-blockchain-modules');
34
+ require('@docknetwork/credential-sdk/modules');
35
+ require('@docknetwork/credential-sdk/resolver');
33
36
  require('@docknetwork/crypto-wasm-ts/lib/index');
37
+ require('@docknetwork/dock-blockchain-api');
38
+ require('@docknetwork/dock-blockchain-modules');
34
39
  require('events');
35
40
  require('../../core/logger.js');
36
41
  require('../../modules/event-manager.js');
37
- require('../dock/configs.js');
38
- require('@docknetwork/sdk/public-keys');
42
+ require('@docknetwork/credential-sdk/types');
39
43
  require('../../core/polkadot-utils.js');
44
+ require('@docknetwork/credential-sdk/keypairs');
40
45
  require('@polkadot/keyring/pair/decode');
41
- require('@docknetwork/sdk/utils/misc');
42
46
  require('base58-universal');
43
47
  require('base64url');
44
48
  require('../credential/utils.js');
45
- require('@docknetwork/sdk/utils/vc/crypto/Bls12381G2KeyPairDock2022');
46
- require('@docknetwork/sdk/utils/vc/crypto/Ed25519Signature2020');
47
- require('@docknetwork/sdk/utils/vc/crypto/EcdsaSecp256k1Signature2019');
49
+ require('@docknetwork/credential-sdk/vc/crypto');
48
50
  require('@docknetwork/wallet-sdk-wasm/lib/services/keyring');
49
51
 
50
52
 
@@ -5,12 +5,14 @@ import '@docknetwork/universal-wallet/storage/edv-http-storage';
5
5
  import './hmac.mjs';
6
6
  import 'base64url-universal';
7
7
  import '@docknetwork/universal-wallet/crypto';
8
+ import '@polkadot/util';
8
9
  import '@digitalbazaar/ed25519-verification-key-2018';
10
+ import '@digitalbazaar/ed25519-verification-key-2020';
9
11
  import '@digitalbazaar/x25519-key-agreement-key-2020';
10
12
  import '@docknetwork/universal-wallet/methods/keypairs';
11
- import '@docknetwork/wallet-sdk-data-store/src/logger';
13
+ import '@docknetwork/wallet-sdk-data-store/lib/logger';
12
14
  import '../dids/service.mjs';
13
- import '@docknetwork/wallet-sdk-dids/src';
15
+ import '@docknetwork/wallet-sdk-dids/lib';
14
16
  import '../dids/config.mjs';
15
17
  import '../keyring/service.mjs';
16
18
  import '@polkadot/keyring';
@@ -20,25 +22,25 @@ import '../../core/validation.mjs';
20
22
  import 'bignumber.js';
21
23
  import '../../types.mjs';
22
24
  import '../util-crypto/service.mjs';
23
- import '@polkadot/util';
24
25
  import '../util-crypto/configs.mjs';
25
- import '@docknetwork/sdk/utils/did';
26
- import '../dock/service.mjs';
27
- import '@docknetwork/sdk';
28
- import '@docknetwork/sdk/resolver';
26
+ import '../blockchain/service.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';
29
32
  import '@docknetwork/crypto-wasm-ts/lib/index';
33
+ import '@docknetwork/dock-blockchain-api';
34
+ import '@docknetwork/dock-blockchain-modules';
30
35
  import 'events';
31
36
  import '../../core/logger.mjs';
32
37
  import '../../modules/event-manager.mjs';
33
- import '../dock/configs.mjs';
34
- import '@docknetwork/sdk/public-keys';
38
+ import '@docknetwork/credential-sdk/types';
35
39
  import '../../core/polkadot-utils.mjs';
40
+ import '@docknetwork/credential-sdk/keypairs';
36
41
  import '@polkadot/keyring/pair/decode';
37
- import '@docknetwork/sdk/utils/misc';
38
42
  import 'base58-universal';
39
43
  import 'base64url';
40
44
  import '../credential/utils.mjs';
41
- import '@docknetwork/sdk/utils/vc/crypto/Bls12381G2KeyPairDock2022';
42
- import '@docknetwork/sdk/utils/vc/crypto/Ed25519Signature2020';
43
- import '@docknetwork/sdk/utils/vc/crypto/EcdsaSecp256k1Signature2019';
44
- import '@docknetwork/wallet-sdk-wasm/src/services/keyring';
45
+ import '@docknetwork/credential-sdk/vc/crypto';
46
+ import '@docknetwork/wallet-sdk-wasm/lib/services/keyring';
@@ -27,6 +27,10 @@ class EDVServiceRpc extends services_rpcServiceClient.RpcService {
27
27
  return this.call('generateKeys');
28
28
  }
29
29
 
30
+ deriveKeys() {
31
+ return this.call('deriveKeys');
32
+ }
33
+
30
34
  find(params ) {
31
35
  return this.call('find', params);
32
36
  }
@@ -23,6 +23,10 @@ class EDVServiceRpc extends RpcService {
23
23
  return this.call('generateKeys');
24
24
  }
25
25
 
26
+ deriveKeys() {
27
+ return this.call('deriveKeys');
28
+ }
29
+
26
30
  find(params ) {
27
31
  return this.call('find', params);
28
32
  }
@@ -6,49 +6,52 @@ var services_edv_configs = require('./configs.js');
6
6
  var EDVHTTPStorageInterface = require('@docknetwork/universal-wallet/storage/edv-http-storage');
7
7
  var services_edv_hmac = require('./hmac.js');
8
8
  var ed25519VerificationKey2018 = require('@digitalbazaar/ed25519-verification-key-2018');
9
+ var ed25519VerificationKey2020 = require('@digitalbazaar/ed25519-verification-key-2020');
9
10
  var x25519KeyAgreementKey2020 = require('@digitalbazaar/x25519-key-agreement-key-2020');
10
11
  var keypairs = require('@docknetwork/universal-wallet/methods/keypairs');
11
12
  var logger = require('@docknetwork/wallet-sdk-data-store/lib/logger');
12
13
  var services_dids_service = require('../dids/service.js');
13
14
  var keyring = require('@docknetwork/wallet-sdk-wasm/lib/services/keyring');
15
+ var utilCrypto = require('@polkadot/util-crypto');
16
+ var base64url = require('base64url-universal');
14
17
  require('assert');
15
- require('base64url-universal');
16
18
  require('@docknetwork/universal-wallet/crypto');
19
+ require('@polkadot/util');
17
20
  require('@docknetwork/wallet-sdk-dids/lib');
18
21
  require('../dids/config.js');
19
22
  require('../keyring/service.js');
20
23
  require('@polkadot/keyring');
21
- require('@polkadot/util-crypto');
22
24
  require('../keyring/configs.js');
23
25
  require('../../core/validation.js');
24
26
  require('bignumber.js');
25
27
  require('../../types.js');
26
28
  require('../util-crypto/service.js');
27
- require('@polkadot/util');
28
29
  require('../util-crypto/configs.js');
29
- require('@docknetwork/sdk/utils/did');
30
- require('../dock/service.js');
31
- require('@docknetwork/sdk');
32
- require('@docknetwork/sdk/resolver');
30
+ require('../blockchain/service.js');
31
+ require('@cosmjs/proto-signing');
32
+ require('@docknetwork/cheqd-blockchain-api');
33
+ require('@docknetwork/cheqd-blockchain-modules');
34
+ require('@docknetwork/credential-sdk/modules');
35
+ require('@docknetwork/credential-sdk/resolver');
33
36
  require('@docknetwork/crypto-wasm-ts/lib/index');
37
+ require('@docknetwork/dock-blockchain-api');
38
+ require('@docknetwork/dock-blockchain-modules');
34
39
  require('events');
35
40
  require('../../core/logger.js');
36
41
  require('../../modules/event-manager.js');
37
- require('../dock/configs.js');
38
- require('@docknetwork/sdk/public-keys');
42
+ require('@docknetwork/credential-sdk/types');
39
43
  require('../../core/polkadot-utils.js');
44
+ require('@docknetwork/credential-sdk/keypairs');
40
45
  require('@polkadot/keyring/pair/decode');
41
- require('@docknetwork/sdk/utils/misc');
42
46
  require('base58-universal');
43
47
  require('base64url');
44
48
  require('../credential/utils.js');
45
- require('@docknetwork/sdk/utils/vc/crypto/Bls12381G2KeyPairDock2022');
46
- require('@docknetwork/sdk/utils/vc/crypto/Ed25519Signature2020');
47
- require('@docknetwork/sdk/utils/vc/crypto/EcdsaSecp256k1Signature2019');
49
+ require('@docknetwork/credential-sdk/vc/crypto');
48
50
 
49
51
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
50
52
 
51
53
  var EDVHTTPStorageInterface__default = /*#__PURE__*/_interopDefaultLegacy(EDVHTTPStorageInterface);
54
+ var base64url__default = /*#__PURE__*/_interopDefaultLegacy(base64url);
52
55
 
53
56
  // @ts-nocheck
54
57
  /**
@@ -59,6 +62,7 @@ class EDVService {
59
62
  insertQueue = Promise.resolve();
60
63
  rpcMethods = [
61
64
  EDVService.prototype.generateKeys,
65
+ EDVService.prototype.deriveKeys,
62
66
  EDVService.prototype.initialize,
63
67
  EDVService.prototype.find,
64
68
  EDVService.prototype.update,
@@ -129,6 +133,18 @@ class EDVService {
129
133
  const hmacKey = await services_edv_hmac.exportKey(await services_edv_hmac.generateKey());
130
134
  return { verificationKey, agreementKey, hmacKey };
131
135
  }
136
+ async deriveKeys(masterKey) {
137
+ await keyring.keyringService.initialize({
138
+ ss58Format: 22,
139
+ });
140
+ const pair = utilCrypto.ed25519PairFromSeed(base64url__default["default"].decode(masterKey));
141
+ const keyPair = await services_dids_service.didService.deriveKeyDoc({ pair });
142
+ const verificationKey = await ed25519VerificationKey2018.Ed25519VerificationKey2018.from(keyPair);
143
+ const verificationKey2020 = await ed25519VerificationKey2020.Ed25519VerificationKey2020.fromEd25519VerificationKey2018({ keyPair });
144
+ const agreementKey = await x25519KeyAgreementKey2020.X25519KeyAgreementKey2020.fromEd25519VerificationKey2020({ keyPair: verificationKey2020 });
145
+ const hmacKey = await services_edv_hmac.exportKey(await services_edv_hmac.deriveKey(masterKey));
146
+ return { verificationKey, agreementKey, hmacKey };
147
+ }
132
148
  find(params) {
133
149
  return this.storageInterface.find(params);
134
150
  }
@@ -2,45 +2,47 @@ import { serviceName } from './configs.mjs';
2
2
  import EDVHTTPStorageInterface from '@docknetwork/universal-wallet/storage/edv-http-storage';
3
3
  import HMAC from './hmac.mjs';
4
4
  import { Ed25519VerificationKey2018 } from '@digitalbazaar/ed25519-verification-key-2018';
5
+ import { Ed25519VerificationKey2020 } from '@digitalbazaar/ed25519-verification-key-2020';
5
6
  import { X25519KeyAgreementKey2020 } from '@digitalbazaar/x25519-key-agreement-key-2020';
6
7
  import { getKeypairFromDoc } from '@docknetwork/universal-wallet/methods/keypairs';
7
- import { logger } from '@docknetwork/wallet-sdk-data-store/src/logger';
8
+ import { logger } from '@docknetwork/wallet-sdk-data-store/lib/logger';
8
9
  import { didService } from '../dids/service.mjs';
9
- import { keyringService } from '@docknetwork/wallet-sdk-wasm/src/services/keyring';
10
+ import { keyringService } from '@docknetwork/wallet-sdk-wasm/lib/services/keyring';
11
+ import { ed25519PairFromSeed } from '@polkadot/util-crypto';
12
+ import base64url__default from 'base64url-universal';
10
13
  import 'assert';
11
- import 'base64url-universal';
12
14
  import '@docknetwork/universal-wallet/crypto';
13
- import '@docknetwork/wallet-sdk-dids/src';
15
+ import '@polkadot/util';
16
+ import '@docknetwork/wallet-sdk-dids/lib';
14
17
  import '../dids/config.mjs';
15
18
  import '../keyring/service.mjs';
16
19
  import '@polkadot/keyring';
17
- import '@polkadot/util-crypto';
18
20
  import '../keyring/configs.mjs';
19
21
  import '../../core/validation.mjs';
20
22
  import 'bignumber.js';
21
23
  import '../../types.mjs';
22
24
  import '../util-crypto/service.mjs';
23
- import '@polkadot/util';
24
25
  import '../util-crypto/configs.mjs';
25
- import '@docknetwork/sdk/utils/did';
26
- import '../dock/service.mjs';
27
- import '@docknetwork/sdk';
28
- import '@docknetwork/sdk/resolver';
26
+ import '../blockchain/service.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';
29
32
  import '@docknetwork/crypto-wasm-ts/lib/index';
33
+ import '@docknetwork/dock-blockchain-api';
34
+ import '@docknetwork/dock-blockchain-modules';
30
35
  import 'events';
31
36
  import '../../core/logger.mjs';
32
37
  import '../../modules/event-manager.mjs';
33
- import '../dock/configs.mjs';
34
- import '@docknetwork/sdk/public-keys';
38
+ import '@docknetwork/credential-sdk/types';
35
39
  import '../../core/polkadot-utils.mjs';
40
+ import '@docknetwork/credential-sdk/keypairs';
36
41
  import '@polkadot/keyring/pair/decode';
37
- import '@docknetwork/sdk/utils/misc';
38
42
  import 'base58-universal';
39
43
  import 'base64url';
40
44
  import '../credential/utils.mjs';
41
- import '@docknetwork/sdk/utils/vc/crypto/Bls12381G2KeyPairDock2022';
42
- import '@docknetwork/sdk/utils/vc/crypto/Ed25519Signature2020';
43
- import '@docknetwork/sdk/utils/vc/crypto/EcdsaSecp256k1Signature2019';
45
+ import '@docknetwork/credential-sdk/vc/crypto';
44
46
 
45
47
  // @ts-nocheck
46
48
  /**
@@ -51,6 +53,7 @@ class EDVService {
51
53
  insertQueue = Promise.resolve();
52
54
  rpcMethods = [
53
55
  EDVService.prototype.generateKeys,
56
+ EDVService.prototype.deriveKeys,
54
57
  EDVService.prototype.initialize,
55
58
  EDVService.prototype.find,
56
59
  EDVService.prototype.update,
@@ -121,6 +124,18 @@ class EDVService {
121
124
  const hmacKey = await HMAC.exportKey(await HMAC.generateKey());
122
125
  return { verificationKey, agreementKey, hmacKey };
123
126
  }
127
+ async deriveKeys(masterKey) {
128
+ await keyringService.initialize({
129
+ ss58Format: 22,
130
+ });
131
+ const pair = ed25519PairFromSeed(base64url__default.decode(masterKey));
132
+ const keyPair = await didService.deriveKeyDoc({ pair });
133
+ const verificationKey = await Ed25519VerificationKey2018.from(keyPair);
134
+ const verificationKey2020 = await Ed25519VerificationKey2020.fromEd25519VerificationKey2018({ keyPair });
135
+ const agreementKey = await X25519KeyAgreementKey2020.fromEd25519VerificationKey2020({ keyPair: verificationKey2020 });
136
+ const hmacKey = await HMAC.exportKey(await HMAC.deriveKey(masterKey));
137
+ return { verificationKey, agreementKey, hmacKey };
138
+ }
124
139
  find(params) {
125
140
  return this.storageInterface.find(params);
126
141
  }
@@ -11,7 +11,9 @@ require('../../types.js');
11
11
  // @ts-nocheck
12
12
  class ExampleService {
13
13
  rpcMethods = [ExampleService.prototype.sum];
14
- constructor() { }
14
+ constructor() {
15
+ this.name = 'example';
16
+ }
15
17
  sum(params) {
16
18
  services_example_configs.validation.sum(params);
17
19
  return params.number1 + params.number2;
@@ -7,7 +7,9 @@ import '../../types.mjs';
7
7
  // @ts-nocheck
8
8
  class ExampleService {
9
9
  rpcMethods = [ExampleService.prototype.sum];
10
- constructor() { }
10
+ constructor() {
11
+ this.name = 'example';
12
+ }
11
13
  sum(params) {
12
14
  validation.sum(params);
13
15
  return params.number1 + params.number2;