@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.
- package/lib/{account-614e6414.js → account-bf00e5c0.js} +5 -5
- package/lib/{account-ee524484.js → account-e48dc9b6.js} +5 -5
- package/lib/core/polkadot-utils.js +18 -4
- package/lib/core/polkadot-utils.mjs +15 -2
- package/lib/index.js +16 -19
- package/lib/index.mjs +20 -23
- package/lib/modules/account.js +10 -5
- package/lib/modules/account.mjs +10 -5
- package/lib/modules/accounts.js +10 -5
- package/lib/modules/accounts.mjs +10 -5
- package/lib/modules/network-manager.js +4 -2
- package/lib/modules/network-manager.mjs +4 -2
- package/lib/modules/wallet.js +13 -8
- package/lib/modules/wallet.mjs +13 -8
- package/lib/rpc-server.js +16 -19
- package/lib/rpc-server.mjs +20 -23
- package/lib/services/blockchain/configs.js +7 -0
- package/lib/services/blockchain/configs.mjs +3 -0
- package/lib/services/{dock → blockchain}/index.android.js +3 -4
- package/lib/services/{dock → blockchain}/index.android.mjs +3 -4
- package/lib/services/{dock → blockchain}/index.ios.js +3 -4
- package/lib/services/{dock → blockchain}/index.ios.mjs +3 -4
- package/lib/services/blockchain/index.js +30 -0
- package/lib/services/blockchain/index.mjs +22 -0
- package/lib/services/{dock → blockchain}/service-rpc.js +5 -7
- package/lib/services/{dock → blockchain}/service-rpc.mjs +5 -7
- package/lib/services/blockchain/service.js +212 -0
- package/lib/services/blockchain/service.mjs +206 -0
- package/lib/services/credential/bbs-revocation.js +41 -60
- package/lib/services/credential/bbs-revocation.mjs +42 -57
- package/lib/services/credential/bound-check.js +0 -8
- package/lib/services/credential/bound-check.mjs +1 -5
- package/lib/services/credential/index.js +21 -24
- package/lib/services/credential/index.mjs +22 -25
- package/lib/services/credential/pex-helpers.js +134 -34
- package/lib/services/credential/pex-helpers.mjs +133 -35
- package/lib/services/credential/service.js +55 -56
- package/lib/services/credential/service.mjs +45 -43
- package/lib/services/credential/utils.js +12 -18
- package/lib/services/credential/utils.mjs +11 -14
- package/lib/services/dids/config.js +8 -0
- package/lib/services/dids/config.mjs +8 -0
- package/lib/services/dids/index.js +11 -10
- package/lib/services/dids/index.mjs +12 -11
- package/lib/services/dids/service-rpc.js +2 -2
- package/lib/services/dids/service-rpc.mjs +2 -2
- package/lib/services/dids/service.js +28 -36
- package/lib/services/dids/service.mjs +27 -33
- package/lib/services/edv/hmac.js +5 -0
- package/lib/services/edv/hmac.mjs +5 -0
- package/lib/services/edv/index.js +13 -11
- package/lib/services/edv/index.mjs +16 -14
- package/lib/services/edv/service-rpc.js +4 -0
- package/lib/services/edv/service-rpc.mjs +4 -0
- package/lib/services/edv/service.js +29 -13
- package/lib/services/edv/service.mjs +31 -16
- package/lib/services/example/service.js +3 -1
- package/lib/services/example/service.mjs +3 -1
- package/lib/services/index.js +14 -17
- package/lib/services/index.mjs +18 -21
- package/lib/services/keyring/configs.js +12 -0
- package/lib/services/keyring/configs.mjs +12 -0
- package/lib/services/keyring/service.js +5 -0
- package/lib/services/keyring/service.mjs +5 -0
- package/lib/services/pex/service.js +17 -15
- package/lib/services/pex/service.mjs +17 -15
- package/lib/services/relay-service/index.mjs +1 -1
- package/lib/services/relay-service/service.mjs +2 -2
- package/lib/services/substrate/api-utils.js +19 -6
- package/lib/services/substrate/api-utils.mjs +19 -6
- package/lib/services/substrate/index.js +14 -6
- package/lib/services/substrate/index.mjs +14 -6
- package/lib/services/substrate/service.js +17 -9
- package/lib/services/substrate/service.mjs +17 -9
- package/lib/services/test-utils.js +27 -17
- package/lib/services/test-utils.mjs +27 -17
- package/lib/services/trust-registry/index.js +17 -5
- package/lib/services/trust-registry/index.mjs +17 -5
- package/lib/services/trust-registry/service.js +27 -10
- package/lib/services/trust-registry/service.mjs +27 -10
- package/lib/services/util-crypto/configs.js +3 -0
- package/lib/services/util-crypto/configs.mjs +3 -0
- package/lib/services/util-crypto/service-rpc.js +6 -0
- package/lib/services/util-crypto/service-rpc.mjs +6 -0
- package/lib/services/util-crypto/service.js +5 -0
- package/lib/services/util-crypto/service.mjs +6 -1
- package/lib/setup-nodejs.js +16 -19
- package/lib/setup-nodejs.mjs +20 -23
- package/lib/setup-tests.js +16 -19
- package/lib/setup-tests.mjs +20 -23
- package/lib/src/core/polkadot-utils.d.ts +1 -0
- package/lib/src/core/polkadot-utils.d.ts.map +1 -1
- package/lib/src/modules/network-manager.d.ts +1 -0
- package/lib/src/modules/network-manager.d.ts.map +1 -1
- package/lib/src/services/blockchain/configs.d.ts +8 -0
- package/lib/src/services/blockchain/configs.d.ts.map +1 -0
- package/lib/src/services/blockchain/index.d.ts +2 -0
- package/lib/src/services/blockchain/index.d.ts.map +1 -0
- package/lib/src/services/blockchain/service.d.ts +52 -0
- package/lib/src/services/blockchain/service.d.ts.map +1 -0
- package/lib/src/services/credential/bbs-revocation.d.ts.map +1 -1
- package/lib/src/services/credential/bound-check.d.ts +0 -4
- package/lib/src/services/credential/bound-check.d.ts.map +1 -1
- package/lib/src/services/credential/index.d.ts +2 -7
- package/lib/src/services/credential/index.d.ts.map +1 -1
- package/lib/src/services/credential/pex-helpers.d.ts +5 -3
- package/lib/src/services/credential/pex-helpers.d.ts.map +1 -1
- package/lib/src/services/credential/service.d.ts +2 -7
- package/lib/src/services/credential/service.d.ts.map +1 -1
- package/lib/src/services/credential/utils.d.ts.map +1 -1
- package/lib/src/services/dids/config.d.ts +5 -0
- package/lib/src/services/dids/config.d.ts.map +1 -1
- package/lib/src/services/dids/service-rpc.d.ts +1 -1
- package/lib/src/services/dids/service-rpc.d.ts.map +1 -1
- package/lib/src/services/dids/service.d.ts +9 -4
- package/lib/src/services/dids/service.d.ts.map +1 -1
- package/lib/src/services/edv/hmac.d.ts +1 -0
- package/lib/src/services/edv/hmac.d.ts.map +1 -1
- package/lib/src/services/edv/service.d.ts +5 -0
- package/lib/src/services/edv/service.d.ts.map +1 -1
- package/lib/src/services/example/service.d.ts.map +1 -1
- package/lib/src/services/keyring/configs.d.ts +6 -0
- package/lib/src/services/keyring/configs.d.ts.map +1 -1
- package/lib/src/services/pex/service.d.ts.map +1 -1
- package/lib/src/services/trust-registry/service.d.ts.map +1 -1
- package/lib/src/services/util-crypto/configs.d.ts +1 -0
- package/lib/src/services/util-crypto/configs.d.ts.map +1 -1
- package/lib/src/services/util-crypto/service.d.ts +1 -0
- package/lib/src/services/util-crypto/service.d.ts.map +1 -1
- package/lib/test/setup-test-state.js +11 -6
- package/lib/test/setup-test-state.mjs +11 -6
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -4
- package/src/core/polkadot-utils.js +14 -3
- package/src/modules/network-manager.ts +5 -2
- package/src/modules/wallet.ts +5 -5
- package/src/services/blockchain/configs.ts +11 -0
- package/src/services/blockchain/index.android.js +3 -0
- package/src/services/blockchain/index.ios.js +3 -0
- package/src/services/blockchain/index.js +1 -0
- package/src/services/blockchain/index.test.js +34 -0
- package/src/services/{dock → blockchain}/service-rpc.js +5 -6
- package/src/services/blockchain/service.ts +261 -0
- package/src/services/credential/bbs-revocation.ts +41 -85
- package/src/services/credential/bound-check.test.ts +2 -5
- package/src/services/credential/bound-check.ts +0 -5
- package/src/services/credential/index.test.js +148 -7
- package/src/services/credential/pex-helpers.js +132 -34
- package/src/services/credential/pex-helpers.test.js +284 -27
- package/src/services/credential/service.ts +44 -27
- package/src/services/credential/utils.js +5 -14
- package/src/services/dids/config.ts +15 -0
- package/src/services/dids/index.test.js +5 -23
- package/src/services/dids/service-rpc.ts +2 -2
- package/src/services/dids/service.ts +34 -44
- package/src/services/edv/hmac.ts +13 -0
- package/src/services/edv/index.test.js +22 -0
- package/src/services/edv/service-rpc.js +4 -0
- package/src/services/edv/service.ts +22 -0
- package/src/services/example/service.ts +3 -1
- package/src/services/index.js +2 -2
- package/src/services/keyring/configs.ts +21 -0
- package/src/services/keyring/service.ts +13 -0
- package/src/services/pex/service.ts +29 -18
- package/src/services/pex/tests/pex-service.test.js +163 -6
- package/src/services/substrate/api-utils.test.js +7 -7
- package/src/services/substrate/api-utils.ts +3 -3
- package/src/services/substrate/service.ts +6 -6
- package/src/services/test-utils.js +13 -11
- package/src/services/trust-registry/index.test.js +6 -4
- package/src/services/trust-registry/service.ts +13 -7
- package/src/services/util-crypto/configs.ts +4 -0
- package/src/services/util-crypto/service-rpc.js +6 -0
- package/src/services/util-crypto/service.ts +8 -0
- package/src/test/setup-test-state.js +2 -2
- package/lib/services/dock/configs.js +0 -18
- package/lib/services/dock/configs.mjs +0 -10
- package/lib/services/dock/index.js +0 -17
- package/lib/services/dock/index.mjs +0 -9
- package/lib/services/dock/service.js +0 -138
- package/lib/services/dock/service.mjs +0 -126
- package/lib/src/services/dock/configs.d.ts +0 -7
- package/lib/src/services/dock/configs.d.ts.map +0 -1
- package/lib/src/services/dock/index.d.ts +0 -2
- package/lib/src/services/dock/index.d.ts.map +0 -1
- package/lib/src/services/dock/service.d.ts +0 -44
- package/lib/src/services/dock/service.d.ts.map +0 -1
- package/src/services/dock/configs.ts +0 -12
- package/src/services/dock/index.android.js +0 -3
- package/src/services/dock/index.ios.js +0 -3
- package/src/services/dock/index.js +0 -1
- package/src/services/dock/index.test.js +0 -48
- 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
|
-
|
|
30
|
-
return this.call('
|
|
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
|
-
|
|
26
|
-
return this.call('
|
|
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
|
|
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
|
|
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('@
|
|
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('
|
|
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,
|
|
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
|
|
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
|
|
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.
|
|
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
|
-
|
|
129
|
-
const result = await
|
|
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/
|
|
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 {
|
|
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/
|
|
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 '@
|
|
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 '
|
|
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,
|
|
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.
|
|
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
|
-
|
|
118
|
-
const result = await
|
|
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
|
|
package/lib/services/edv/hmac.js
CHANGED
|
@@ -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('
|
|
30
|
-
require('
|
|
31
|
-
require('@docknetwork/
|
|
32
|
-
require('@docknetwork/
|
|
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('
|
|
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/
|
|
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/
|
|
13
|
+
import '@docknetwork/wallet-sdk-data-store/lib/logger';
|
|
12
14
|
import '../dids/service.mjs';
|
|
13
|
-
import '@docknetwork/wallet-sdk-dids/
|
|
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 '
|
|
26
|
-
import '
|
|
27
|
-
import '@docknetwork/
|
|
28
|
-
import '@docknetwork/
|
|
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 '
|
|
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/
|
|
42
|
-
import '@docknetwork/sdk/
|
|
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';
|
|
@@ -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('
|
|
30
|
-
require('
|
|
31
|
-
require('@docknetwork/
|
|
32
|
-
require('@docknetwork/
|
|
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('
|
|
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/
|
|
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/
|
|
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/
|
|
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 '@
|
|
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 '
|
|
26
|
-
import '
|
|
27
|
-
import '@docknetwork/
|
|
28
|
-
import '@docknetwork/
|
|
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 '
|
|
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/
|
|
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;
|