@docknetwork/wallet-sdk-wasm 1.7.7-alpha.0 → 1.9.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/package.json +7 -20
- package/rollup.config.mjs +1 -0
- package/src/globals.d.ts +4 -1
- package/src/services/blockchain/cached-did-resolver.ts +4 -3
- package/src/services/blockchain/normalize-did-document.ts +73 -0
- package/src/services/blockchain/service.ts +0 -2
- package/src/services/credential/bbs-revocation.test.js +147 -0
- package/src/services/credential/bbs-revocation.ts +65 -18
- package/src/services/credential/config.ts +7 -0
- package/src/services/credential/index.test.js +261 -17
- package/src/services/credential/oid4vci.js +44 -0
- package/src/services/credential/oid4vci.test.js +162 -0
- package/src/services/credential/pex-helpers.js +77 -31
- package/src/services/credential/pex-helpers.test.js +4 -4
- package/src/services/credential/sd-jwt.ts +41 -5
- package/src/services/credential/service-rpc.js +6 -0
- package/src/services/credential/service.ts +171 -16
- package/src/services/credential/utils.js +3 -5
- package/src/services/delegation/index.android.js +3 -0
- package/src/services/delegation/index.ios.js +3 -0
- package/src/services/delegation/index.ts +1 -0
- package/src/services/delegation/service-rpc.ts +21 -0
- package/src/services/delegation/service.ts +59 -0
- package/src/services/edv/service-rpc.js +18 -2
- package/src/services/edv/service.test.js +327 -0
- package/src/services/edv/service.ts +103 -13
- package/src/services/index.js +2 -0
- package/src/wallet/rpc-storage-interface.js +9 -4
- package/lib/core/crypto.js +0 -45
- package/lib/core/crypto.mjs +0 -33
- package/lib/core/format-utils.js +0 -51
- package/lib/core/format-utils.mjs +0 -42
- package/lib/core/keychain.js +0 -61
- package/lib/core/keychain.mjs +0 -37
- package/lib/core/logger.js +0 -13
- package/lib/core/logger.mjs +0 -9
- package/lib/core/storage.js +0 -14
- package/lib/core/storage.mjs +0 -9
- package/lib/core/validation.js +0 -29
- package/lib/core/validation.mjs +0 -16
- package/lib/core/webview-logger.js +0 -49
- package/lib/core/webview-logger.mjs +0 -41
- package/lib/errors.js +0 -17
- package/lib/errors.mjs +0 -12
- package/lib/events.js +0 -18
- package/lib/events.mjs +0 -13
- package/lib/index.js +0 -146
- package/lib/index.mjs +0 -144
- package/lib/logger.js +0 -22
- package/lib/logger.mjs +0 -17
- package/lib/modules/event-manager.js +0 -46
- package/lib/modules/event-manager.mjs +0 -37
- package/lib/modules/network-manager.js +0 -80
- package/lib/modules/network-manager.mjs +0 -71
- package/lib/mrklt.js +0 -2
- package/lib/mrklt.mjs +0 -1
- package/lib/rpc-client.js +0 -83
- package/lib/rpc-client.mjs +0 -73
- package/lib/rpc-server.js +0 -97
- package/lib/rpc-server.mjs +0 -95
- package/lib/rpc-util.js +0 -113
- package/lib/rpc-util.mjs +0 -103
- package/lib/sandbox-rpc-server.js +0 -28
- package/lib/sandbox-rpc-server.mjs +0 -26
- package/lib/sandbox.js +0 -102
- package/lib/sandbox.mjs +0 -100
- package/lib/services/blockchain/cached-did-resolver.js +0 -113
- package/lib/services/blockchain/cached-did-resolver.mjs +0 -109
- package/lib/services/blockchain/configs.js +0 -7
- package/lib/services/blockchain/configs.mjs +0 -3
- package/lib/services/blockchain/index.android.js +0 -18
- package/lib/services/blockchain/index.android.mjs +0 -14
- package/lib/services/blockchain/index.ios.js +0 -18
- package/lib/services/blockchain/index.ios.mjs +0 -14
- package/lib/services/blockchain/index.js +0 -36
- package/lib/services/blockchain/index.mjs +0 -28
- package/lib/services/blockchain/service-rpc.js +0 -72
- package/lib/services/blockchain/service-rpc.mjs +0 -68
- package/lib/services/blockchain/service.js +0 -312
- package/lib/services/blockchain/service.mjs +0 -306
- package/lib/services/credential/bbs-revocation.js +0 -92
- package/lib/services/credential/bbs-revocation.mjs +0 -87
- package/lib/services/credential/bound-check.js +0 -77
- package/lib/services/credential/bound-check.mjs +0 -64
- package/lib/services/credential/config.js +0 -56
- package/lib/services/credential/config.mjs +0 -47
- package/lib/services/credential/delegatable-credentials.js +0 -300
- package/lib/services/credential/delegatable-credentials.mjs +0 -263
- package/lib/services/credential/index.android.js +0 -19
- package/lib/services/credential/index.android.mjs +0 -15
- package/lib/services/credential/index.ios.js +0 -19
- package/lib/services/credential/index.ios.mjs +0 -15
- package/lib/services/credential/index.js +0 -106
- package/lib/services/credential/index.mjs +0 -67
- package/lib/services/credential/pex-helpers.js +0 -333
- package/lib/services/credential/pex-helpers.mjs +0 -319
- package/lib/services/credential/range-proofs-example.js +0 -107
- package/lib/services/credential/range-proofs-example.mjs +0 -103
- package/lib/services/credential/sd-jwt.js +0 -214
- package/lib/services/credential/sd-jwt.mjs +0 -200
- package/lib/services/credential/service-rpc.js +0 -61
- package/lib/services/credential/service-rpc.mjs +0 -57
- package/lib/services/credential/service.js +0 -683
- package/lib/services/credential/service.mjs +0 -672
- package/lib/services/credential/utils.js +0 -103
- package/lib/services/credential/utils.mjs +0 -78
- package/lib/services/dids/config.js +0 -40
- package/lib/services/dids/config.mjs +0 -31
- package/lib/services/dids/index.android.js +0 -19
- package/lib/services/dids/index.android.mjs +0 -15
- package/lib/services/dids/index.ios.js +0 -19
- package/lib/services/dids/index.ios.mjs +0 -15
- package/lib/services/dids/index.js +0 -23
- package/lib/services/dids/index.mjs +0 -19
- package/lib/services/dids/keypair-utils.js +0 -142
- package/lib/services/dids/keypair-utils.mjs +0 -113
- package/lib/services/dids/service-rpc.js +0 -37
- package/lib/services/dids/service-rpc.mjs +0 -33
- package/lib/services/dids/service.js +0 -100
- package/lib/services/dids/service.mjs +0 -92
- package/lib/services/edv/configs.js +0 -25
- package/lib/services/edv/configs.mjs +0 -16
- package/lib/services/edv/hmac.js +0 -88
- package/lib/services/edv/hmac.mjs +0 -63
- package/lib/services/edv/index.android.js +0 -19
- package/lib/services/edv/index.android.mjs +0 -15
- package/lib/services/edv/index.ios.js +0 -19
- package/lib/services/edv/index.ios.mjs +0 -15
- package/lib/services/edv/index.js +0 -32
- package/lib/services/edv/index.mjs +0 -24
- package/lib/services/edv/service-rpc.js +0 -78
- package/lib/services/edv/service-rpc.mjs +0 -74
- package/lib/services/edv/service.js +0 -370
- package/lib/services/edv/service.mjs +0 -357
- package/lib/services/index.js +0 -94
- package/lib/services/index.mjs +0 -92
- package/lib/services/pex/config.js +0 -29
- package/lib/services/pex/config.mjs +0 -20
- package/lib/services/pex/index.android.js +0 -19
- package/lib/services/pex/index.android.mjs +0 -15
- package/lib/services/pex/index.ios.js +0 -19
- package/lib/services/pex/index.ios.mjs +0 -15
- package/lib/services/pex/index.js +0 -12
- package/lib/services/pex/index.mjs +0 -4
- package/lib/services/pex/service-rpc.js +0 -39
- package/lib/services/pex/service-rpc.mjs +0 -35
- package/lib/services/pex/service.js +0 -91
- package/lib/services/pex/service.mjs +0 -86
- package/lib/services/pex/tests/jest.config.js +0 -25
- package/lib/services/pex/tests/jest.config.mjs +0 -23
- package/lib/services/relay-service/configs.js +0 -45
- package/lib/services/relay-service/configs.mjs +0 -36
- package/lib/services/relay-service/index.android.js +0 -21
- package/lib/services/relay-service/index.android.mjs +0 -17
- package/lib/services/relay-service/index.ios.js +0 -21
- package/lib/services/relay-service/index.ios.mjs +0 -17
- package/lib/services/relay-service/index.js +0 -14
- package/lib/services/relay-service/index.mjs +0 -6
- package/lib/services/relay-service/service-rpc.js +0 -47
- package/lib/services/relay-service/service-rpc.mjs +0 -43
- package/lib/services/relay-service/service.js +0 -181
- package/lib/services/relay-service/service.mjs +0 -173
- package/lib/services/rpc-service-client.js +0 -36
- package/lib/services/rpc-service-client.mjs +0 -28
- package/lib/services/sandbox.js +0 -10
- package/lib/services/sandbox.mjs +0 -8
- package/lib/services/storage/configs.js +0 -7
- package/lib/services/storage/configs.mjs +0 -3
- package/lib/services/storage/index.android.js +0 -18
- package/lib/services/storage/index.android.mjs +0 -14
- package/lib/services/storage/index.ios.js +0 -18
- package/lib/services/storage/index.ios.mjs +0 -14
- package/lib/services/storage/index.js +0 -26
- package/lib/services/storage/index.mjs +0 -24
- package/lib/services/storage/service-rpc.js +0 -37
- package/lib/services/storage/service-rpc.mjs +0 -33
- package/lib/services/storage/service.js +0 -32
- package/lib/services/storage/service.mjs +0 -27
- package/lib/services/test-utils.js +0 -98
- package/lib/services/test-utils.mjs +0 -84
- package/lib/services/util-crypto/configs.js +0 -23
- package/lib/services/util-crypto/configs.mjs +0 -15
- package/lib/services/util-crypto/index.android.js +0 -19
- package/lib/services/util-crypto/index.android.mjs +0 -15
- package/lib/services/util-crypto/index.ios.js +0 -19
- package/lib/services/util-crypto/index.ios.mjs +0 -15
- package/lib/services/util-crypto/index.js +0 -14
- package/lib/services/util-crypto/index.mjs +0 -6
- package/lib/services/util-crypto/service-rpc.js +0 -42
- package/lib/services/util-crypto/service-rpc.mjs +0 -38
- package/lib/services/util-crypto/service.js +0 -108
- package/lib/services/util-crypto/service.mjs +0 -83
- package/lib/services/wallet/configs.js +0 -32
- package/lib/services/wallet/configs.mjs +0 -23
- package/lib/services/wallet/index.android.js +0 -21
- package/lib/services/wallet/index.android.mjs +0 -17
- package/lib/services/wallet/index.ios.js +0 -21
- package/lib/services/wallet/index.ios.mjs +0 -17
- package/lib/services/wallet/index.js +0 -17
- package/lib/services/wallet/index.mjs +0 -9
- package/lib/services/wallet/service-rpc.js +0 -33
- package/lib/services/wallet/service-rpc.mjs +0 -29
- package/lib/services/wallet/service.js +0 -62
- package/lib/services/wallet/service.mjs +0 -57
- package/lib/setup-nodejs.js +0 -93
- package/lib/setup-nodejs.mjs +0 -91
- package/lib/setup-tests.js +0 -92
- package/lib/setup-tests.mjs +0 -90
- package/lib/src/core/crypto.d.ts +0 -8
- package/lib/src/core/crypto.d.ts.map +0 -1
- package/lib/src/core/format-utils.d.ts +0 -26
- package/lib/src/core/format-utils.d.ts.map +0 -1
- package/lib/src/core/logger.d.ts +0 -3
- package/lib/src/core/logger.d.ts.map +0 -1
- package/lib/src/core/storage.d.ts +0 -8
- package/lib/src/core/storage.d.ts.map +0 -1
- package/lib/src/core/validation.d.ts +0 -6
- package/lib/src/core/validation.d.ts.map +0 -1
- package/lib/src/errors.d.ts +0 -7
- package/lib/src/errors.d.ts.map +0 -1
- package/lib/src/logger.d.ts +0 -5
- package/lib/src/logger.d.ts.map +0 -1
- package/lib/src/modules/event-manager.d.ts +0 -12
- package/lib/src/modules/event-manager.d.ts.map +0 -1
- package/lib/src/modules/network-manager.d.ts +0 -32
- package/lib/src/modules/network-manager.d.ts.map +0 -1
- package/lib/src/rpc-client.d.ts +0 -4
- package/lib/src/rpc-client.d.ts.map +0 -1
- package/lib/src/rpc-util.d.ts +0 -11
- package/lib/src/rpc-util.d.ts.map +0 -1
- package/lib/src/services/blockchain/cached-did-resolver.d.ts +0 -28
- package/lib/src/services/blockchain/cached-did-resolver.d.ts.map +0 -1
- package/lib/src/services/blockchain/cached-did-resolver.test.d.ts +0 -2
- package/lib/src/services/blockchain/cached-did-resolver.test.d.ts.map +0 -1
- package/lib/src/services/blockchain/configs.d.ts +0 -7
- package/lib/src/services/blockchain/configs.d.ts.map +0 -1
- package/lib/src/services/blockchain/service.d.ts +0 -155
- package/lib/src/services/blockchain/service.d.ts.map +0 -1
- package/lib/src/services/credential/bbs-revocation.d.ts +0 -10
- package/lib/src/services/credential/bbs-revocation.d.ts.map +0 -1
- package/lib/src/services/credential/bound-check.d.ts +0 -61
- package/lib/src/services/credential/bound-check.d.ts.map +0 -1
- package/lib/src/services/credential/bound-check.test.d.ts +0 -2
- package/lib/src/services/credential/bound-check.test.d.ts.map +0 -1
- package/lib/src/services/credential/config.d.ts +0 -10
- package/lib/src/services/credential/config.d.ts.map +0 -1
- package/lib/src/services/credential/delegatable-credentials.d.ts +0 -272
- package/lib/src/services/credential/delegatable-credentials.d.ts.map +0 -1
- package/lib/src/services/credential/index.d.ts +0 -35
- package/lib/src/services/credential/index.d.ts.map +0 -1
- package/lib/src/services/credential/pex-helpers.d.ts +0 -23
- package/lib/src/services/credential/pex-helpers.d.ts.map +0 -1
- package/lib/src/services/credential/range-proofs-example.d.ts +0 -2
- package/lib/src/services/credential/range-proofs-example.d.ts.map +0 -1
- package/lib/src/services/credential/sd-jwt.test.d.ts +0 -2
- package/lib/src/services/credential/sd-jwt.test.d.ts.map +0 -1
- package/lib/src/services/credential/service.d.ts +0 -313
- package/lib/src/services/credential/service.d.ts.map +0 -1
- package/lib/src/services/credential/utils.d.ts +0 -3
- package/lib/src/services/credential/utils.d.ts.map +0 -1
- package/lib/src/services/dids/config.d.ts +0 -24
- package/lib/src/services/dids/config.d.ts.map +0 -1
- package/lib/src/services/dids/keypair-utils.d.ts +0 -15
- package/lib/src/services/dids/keypair-utils.d.ts.map +0 -1
- package/lib/src/services/dids/service-rpc.d.ts +0 -11
- package/lib/src/services/dids/service-rpc.d.ts.map +0 -1
- package/lib/src/services/dids/service.d.ts +0 -70
- package/lib/src/services/dids/service.d.ts.map +0 -1
- package/lib/src/services/edv/configs.d.ts +0 -12
- package/lib/src/services/edv/configs.d.ts.map +0 -1
- package/lib/src/services/edv/hmac.d.ts +0 -29
- package/lib/src/services/edv/hmac.d.ts.map +0 -1
- package/lib/src/services/edv/service.d.ts +0 -229
- package/lib/src/services/edv/service.d.ts.map +0 -1
- package/lib/src/services/pex/config.d.ts +0 -21
- package/lib/src/services/pex/config.d.ts.map +0 -1
- package/lib/src/services/pex/service.d.ts +0 -21
- package/lib/src/services/pex/service.d.ts.map +0 -1
- package/lib/src/services/relay-service/configs.d.ts +0 -35
- package/lib/src/services/relay-service/configs.d.ts.map +0 -1
- package/lib/src/services/relay-service/service-rpc.d.ts +0 -12
- package/lib/src/services/relay-service/service-rpc.d.ts.map +0 -1
- package/lib/src/services/relay-service/service.d.ts +0 -159
- package/lib/src/services/relay-service/service.d.ts.map +0 -1
- package/lib/src/services/rpc-service-client.d.ts +0 -7
- package/lib/src/services/rpc-service-client.d.ts.map +0 -1
- package/lib/src/services/storage/configs.d.ts +0 -2
- package/lib/src/services/storage/configs.d.ts.map +0 -1
- package/lib/src/services/storage/index.d.ts +0 -2
- package/lib/src/services/storage/index.d.ts.map +0 -1
- package/lib/src/services/storage/service-rpc.d.ts +0 -9
- package/lib/src/services/storage/service-rpc.d.ts.map +0 -1
- package/lib/src/services/storage/service.d.ts +0 -10
- package/lib/src/services/storage/service.d.ts.map +0 -1
- package/lib/src/services/util-crypto/configs.d.ts +0 -5
- package/lib/src/services/util-crypto/configs.d.ts.map +0 -1
- package/lib/src/services/util-crypto/index.d.ts +0 -2
- package/lib/src/services/util-crypto/index.d.ts.map +0 -1
- package/lib/src/services/util-crypto/service.d.ts +0 -10
- package/lib/src/services/util-crypto/service.d.ts.map +0 -1
- package/lib/src/services/wallet/configs.d.ts +0 -13
- package/lib/src/services/wallet/configs.d.ts.map +0 -1
- package/lib/src/services/wallet/service.d.ts +0 -13
- package/lib/src/services/wallet/service.d.ts.map +0 -1
- package/lib/src/types.d.ts +0 -12
- package/lib/src/types.d.ts.map +0 -1
- package/lib/src/wallet/memory-storage-interface.d.ts +0 -31
- package/lib/src/wallet/memory-storage-interface.d.ts.map +0 -1
- package/lib/src/wallet/memory-storage-wallet.d.ts +0 -6
- package/lib/src/wallet/memory-storage-wallet.d.ts.map +0 -1
- package/lib/src/wallet/rpc-storage-interface.d.ts +0 -32
- package/lib/src/wallet/rpc-storage-interface.d.ts.map +0 -1
- package/lib/src/wallet/rpc-storage-wallet.d.ts +0 -6
- package/lib/src/wallet/rpc-storage-wallet.d.ts.map +0 -1
- package/lib/test-utils.js +0 -46
- package/lib/test-utils.mjs +0 -38
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/lib/types.js +0 -7
- package/lib/types.mjs +0 -3
- package/lib/wallet/memory-storage-interface.js +0 -101
- package/lib/wallet/memory-storage-interface.mjs +0 -95
- package/lib/wallet/memory-storage-wallet.js +0 -30
- package/lib/wallet/memory-storage-wallet.mjs +0 -24
- package/lib/wallet/rpc-storage-interface.js +0 -134
- package/lib/wallet/rpc-storage-interface.mjs +0 -128
- package/lib/wallet/rpc-storage-wallet.js +0 -46
- package/lib/wallet/rpc-storage-wallet.mjs +0 -40
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
class StorageService {
|
|
3
|
-
rpcMethods = [
|
|
4
|
-
StorageService.prototype.setItem,
|
|
5
|
-
StorageService.prototype.getItem,
|
|
6
|
-
StorageService.prototype.removeItem,
|
|
7
|
-
StorageService.prototype.getAllKeys,
|
|
8
|
-
];
|
|
9
|
-
constructor() {
|
|
10
|
-
this.name = 'storage';
|
|
11
|
-
}
|
|
12
|
-
setItem(...args) {
|
|
13
|
-
return global.localStorage.setItem(...args);
|
|
14
|
-
}
|
|
15
|
-
removeItem(...args) {
|
|
16
|
-
return global.localStorage.removeItem(...args);
|
|
17
|
-
}
|
|
18
|
-
getItem(...args) {
|
|
19
|
-
return global.localStorage.getItem(...args);
|
|
20
|
-
}
|
|
21
|
-
getAllKeys() {
|
|
22
|
-
return Promise.resolve(Object.keys(global.localStorage));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const storageService = new StorageService();
|
|
26
|
-
|
|
27
|
-
export { StorageService, storageService };
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var assert = require('assert');
|
|
6
|
-
var modules_networkManager = require('../modules/network-manager.js');
|
|
7
|
-
require('json-rpc-2.0');
|
|
8
|
-
require('../core/crypto.js');
|
|
9
|
-
require('../core/logger.js');
|
|
10
|
-
require('crypto');
|
|
11
|
-
|
|
12
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
-
|
|
14
|
-
var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
|
|
15
|
-
|
|
16
|
-
const TEST_FEE_AMOUNT = 2.48;
|
|
17
|
-
const API_MOCK_DISABLED = process.env.API_MOCK_DISABLED === 'true';
|
|
18
|
-
const TEST_TRUST_REGISTRIES = {
|
|
19
|
-
'0xc255301bad77eab2a86760a80dfac734d85f1378b95671b169e3a519aa7eadd2': {
|
|
20
|
-
name: 'Github',
|
|
21
|
-
convener: 'did:dock:5HcwutWUAwVmHamXUa4QVpqHtDtJZwktXitETNKVMq6TZSPk',
|
|
22
|
-
govFramework:
|
|
23
|
-
'0x68747470733a2f2f6170692d73746167696e672e646f636b2e696f2f74727573742d726567697374726965732f3078633235353330316261643737656162326138363736306138306466616337333464383566313337386239353637316231363965336135313961613765616464322f7075626c6963',
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
const TEST_SCHEMA_METADATA = {
|
|
27
|
-
'0x719455878946440f05937aba69d20a84ef32a2e254a03be324d72bf81d37d19b': {
|
|
28
|
-
verifiers: [],
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
let walletCreated;
|
|
33
|
-
|
|
34
|
-
async function setupTestWallet() {
|
|
35
|
-
if (walletCreated) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
modules_networkManager.NetworkManager.getInstance().setNetworkId('testnet');
|
|
40
|
-
|
|
41
|
-
walletCreated = true;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
async function getPromiseError(func) {
|
|
45
|
-
try {
|
|
46
|
-
return await func();
|
|
47
|
-
} catch (err) {
|
|
48
|
-
return err;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function assertRpcService(
|
|
53
|
-
ServiceClass ,
|
|
54
|
-
service ,
|
|
55
|
-
validation ,
|
|
56
|
-
) {
|
|
57
|
-
assert__default["default"](!!ServiceClass.prototype.call, 'must extend RpcServie class');
|
|
58
|
-
|
|
59
|
-
const rpcService = new ServiceClass();
|
|
60
|
-
const validationTmp = {};
|
|
61
|
-
|
|
62
|
-
assert__default["default"](rpcService.serviceName === service.name, 'service name mismatch');
|
|
63
|
-
|
|
64
|
-
Object.keys(validation).forEach(key => {
|
|
65
|
-
validationTmp[key] = validation[key];
|
|
66
|
-
validation[key] = () => true;
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
service.rpcMethods.forEach(method => {
|
|
70
|
-
const methodName = method.name;
|
|
71
|
-
assert__default["default"](
|
|
72
|
-
!!rpcService[methodName],
|
|
73
|
-
`[${methodName}]: not found in the rpc client`,
|
|
74
|
-
);
|
|
75
|
-
|
|
76
|
-
rpcService.call = jest.fn();
|
|
77
|
-
rpcService[methodName]();
|
|
78
|
-
|
|
79
|
-
const methodArg = rpcService.call.mock.calls[0][0];
|
|
80
|
-
|
|
81
|
-
assert__default["default"](
|
|
82
|
-
methodArg === methodName,
|
|
83
|
-
`[${methodName}]: rpc call method with wrong value "${methodArg}"`,
|
|
84
|
-
);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
Object.keys(validation).forEach(key => {
|
|
88
|
-
validation[key] = validationTmp[key];
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
exports.API_MOCK_DISABLED = API_MOCK_DISABLED;
|
|
93
|
-
exports.TEST_FEE_AMOUNT = TEST_FEE_AMOUNT;
|
|
94
|
-
exports.TEST_SCHEMA_METADATA = TEST_SCHEMA_METADATA;
|
|
95
|
-
exports.TEST_TRUST_REGISTRIES = TEST_TRUST_REGISTRIES;
|
|
96
|
-
exports.assertRpcService = assertRpcService;
|
|
97
|
-
exports.getPromiseError = getPromiseError;
|
|
98
|
-
exports.setupTestWallet = setupTestWallet;
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import { NetworkManager } from '../modules/network-manager.mjs';
|
|
3
|
-
import 'json-rpc-2.0';
|
|
4
|
-
import '../core/crypto.mjs';
|
|
5
|
-
import '../core/logger.mjs';
|
|
6
|
-
import 'crypto';
|
|
7
|
-
|
|
8
|
-
const TEST_FEE_AMOUNT = 2.48;
|
|
9
|
-
const API_MOCK_DISABLED = process.env.API_MOCK_DISABLED === 'true';
|
|
10
|
-
const TEST_TRUST_REGISTRIES = {
|
|
11
|
-
'0xc255301bad77eab2a86760a80dfac734d85f1378b95671b169e3a519aa7eadd2': {
|
|
12
|
-
name: 'Github',
|
|
13
|
-
convener: 'did:dock:5HcwutWUAwVmHamXUa4QVpqHtDtJZwktXitETNKVMq6TZSPk',
|
|
14
|
-
govFramework:
|
|
15
|
-
'0x68747470733a2f2f6170692d73746167696e672e646f636b2e696f2f74727573742d726567697374726965732f3078633235353330316261643737656162326138363736306138306466616337333464383566313337386239353637316231363965336135313961613765616464322f7075626c6963',
|
|
16
|
-
},
|
|
17
|
-
};
|
|
18
|
-
const TEST_SCHEMA_METADATA = {
|
|
19
|
-
'0x719455878946440f05937aba69d20a84ef32a2e254a03be324d72bf81d37d19b': {
|
|
20
|
-
verifiers: [],
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
let walletCreated;
|
|
25
|
-
|
|
26
|
-
async function setupTestWallet() {
|
|
27
|
-
if (walletCreated) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
NetworkManager.getInstance().setNetworkId('testnet');
|
|
32
|
-
|
|
33
|
-
walletCreated = true;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async function getPromiseError(func) {
|
|
37
|
-
try {
|
|
38
|
-
return await func();
|
|
39
|
-
} catch (err) {
|
|
40
|
-
return err;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function assertRpcService(
|
|
45
|
-
ServiceClass ,
|
|
46
|
-
service ,
|
|
47
|
-
validation ,
|
|
48
|
-
) {
|
|
49
|
-
assert(!!ServiceClass.prototype.call, 'must extend RpcServie class');
|
|
50
|
-
|
|
51
|
-
const rpcService = new ServiceClass();
|
|
52
|
-
const validationTmp = {};
|
|
53
|
-
|
|
54
|
-
assert(rpcService.serviceName === service.name, 'service name mismatch');
|
|
55
|
-
|
|
56
|
-
Object.keys(validation).forEach(key => {
|
|
57
|
-
validationTmp[key] = validation[key];
|
|
58
|
-
validation[key] = () => true;
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
service.rpcMethods.forEach(method => {
|
|
62
|
-
const methodName = method.name;
|
|
63
|
-
assert(
|
|
64
|
-
!!rpcService[methodName],
|
|
65
|
-
`[${methodName}]: not found in the rpc client`,
|
|
66
|
-
);
|
|
67
|
-
|
|
68
|
-
rpcService.call = jest.fn();
|
|
69
|
-
rpcService[methodName]();
|
|
70
|
-
|
|
71
|
-
const methodArg = rpcService.call.mock.calls[0][0];
|
|
72
|
-
|
|
73
|
-
assert(
|
|
74
|
-
methodArg === methodName,
|
|
75
|
-
`[${methodName}]: rpc call method with wrong value "${methodArg}"`,
|
|
76
|
-
);
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
Object.keys(validation).forEach(key => {
|
|
80
|
-
validation[key] = validationTmp[key];
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export { API_MOCK_DISABLED, TEST_FEE_AMOUNT, TEST_SCHEMA_METADATA, TEST_TRUST_REGISTRIES, assertRpcService, getPromiseError, setupTestWallet };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var assert = require('assert');
|
|
6
|
-
|
|
7
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
-
|
|
9
|
-
var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
|
|
10
|
-
|
|
11
|
-
// @ts-nocheck
|
|
12
|
-
const validation = {
|
|
13
|
-
mnemonicGenerate(numWords) {
|
|
14
|
-
if (numWords) {
|
|
15
|
-
assert__default["default"](typeof numWords === 'number', 'invalid number of words');
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
mnemonicToMiniSecret(phrase) {
|
|
19
|
-
assert__default["default"](typeof phrase === 'string', 'invalid mnemonic phrase');
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
exports.validation = validation;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
|
|
3
|
-
// @ts-nocheck
|
|
4
|
-
const validation = {
|
|
5
|
-
mnemonicGenerate(numWords) {
|
|
6
|
-
if (numWords) {
|
|
7
|
-
assert(typeof numWords === 'number', 'invalid number of words');
|
|
8
|
-
}
|
|
9
|
-
},
|
|
10
|
-
mnemonicToMiniSecret(phrase) {
|
|
11
|
-
assert(typeof phrase === 'string', 'invalid mnemonic phrase');
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export { validation };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var services_utilCrypto_serviceRpc = require('./service-rpc.js');
|
|
6
|
-
require('../rpc-service-client.js');
|
|
7
|
-
require('assert');
|
|
8
|
-
require('../../rpc-client.js');
|
|
9
|
-
require('json-rpc-2.0');
|
|
10
|
-
require('../../core/crypto.js');
|
|
11
|
-
require('crypto');
|
|
12
|
-
require('../../core/logger.js');
|
|
13
|
-
require('../../logger.js');
|
|
14
|
-
require('../../rpc-util.js');
|
|
15
|
-
require('./configs.js');
|
|
16
|
-
|
|
17
|
-
const utilCryptoService = new services_utilCrypto_serviceRpc.UtilCryptoServiceRpc();
|
|
18
|
-
|
|
19
|
-
exports.utilCryptoService = utilCryptoService;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { UtilCryptoServiceRpc } from './service-rpc.mjs';
|
|
2
|
-
import '../rpc-service-client.mjs';
|
|
3
|
-
import 'assert';
|
|
4
|
-
import '../../rpc-client.mjs';
|
|
5
|
-
import 'json-rpc-2.0';
|
|
6
|
-
import '../../core/crypto.mjs';
|
|
7
|
-
import 'crypto';
|
|
8
|
-
import '../../core/logger.mjs';
|
|
9
|
-
import '../../logger.mjs';
|
|
10
|
-
import '../../rpc-util.mjs';
|
|
11
|
-
import './configs.mjs';
|
|
12
|
-
|
|
13
|
-
const utilCryptoService = new UtilCryptoServiceRpc();
|
|
14
|
-
|
|
15
|
-
export { utilCryptoService };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var services_utilCrypto_serviceRpc = require('./service-rpc.js');
|
|
6
|
-
require('../rpc-service-client.js');
|
|
7
|
-
require('assert');
|
|
8
|
-
require('../../rpc-client.js');
|
|
9
|
-
require('json-rpc-2.0');
|
|
10
|
-
require('../../core/crypto.js');
|
|
11
|
-
require('crypto');
|
|
12
|
-
require('../../core/logger.js');
|
|
13
|
-
require('../../logger.js');
|
|
14
|
-
require('../../rpc-util.js');
|
|
15
|
-
require('./configs.js');
|
|
16
|
-
|
|
17
|
-
const utilCryptoService = new services_utilCrypto_serviceRpc.UtilCryptoServiceRpc();
|
|
18
|
-
|
|
19
|
-
exports.utilCryptoService = utilCryptoService;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { UtilCryptoServiceRpc } from './service-rpc.mjs';
|
|
2
|
-
import '../rpc-service-client.mjs';
|
|
3
|
-
import 'assert';
|
|
4
|
-
import '../../rpc-client.mjs';
|
|
5
|
-
import 'json-rpc-2.0';
|
|
6
|
-
import '../../core/crypto.mjs';
|
|
7
|
-
import 'crypto';
|
|
8
|
-
import '../../core/logger.mjs';
|
|
9
|
-
import '../../logger.mjs';
|
|
10
|
-
import '../../rpc-util.mjs';
|
|
11
|
-
import './configs.mjs';
|
|
12
|
-
|
|
13
|
-
const utilCryptoService = new UtilCryptoServiceRpc();
|
|
14
|
-
|
|
15
|
-
export { utilCryptoService };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var services_utilCrypto_service = require('./service.js');
|
|
6
|
-
require('@docknetwork/credential-sdk/utils');
|
|
7
|
-
require('@scure/bip39');
|
|
8
|
-
require('@scure/bip39/wordlists/english');
|
|
9
|
-
require('./configs.js');
|
|
10
|
-
require('assert');
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
exports.utilCryptoService = services_utilCrypto_service.utilCryptoService;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var services_rpcServiceClient = require('../rpc-service-client.js');
|
|
6
|
-
var services_utilCrypto_configs = require('./configs.js');
|
|
7
|
-
require('assert');
|
|
8
|
-
require('../../rpc-client.js');
|
|
9
|
-
require('json-rpc-2.0');
|
|
10
|
-
require('../../core/crypto.js');
|
|
11
|
-
require('crypto');
|
|
12
|
-
require('../../core/logger.js');
|
|
13
|
-
require('../../logger.js');
|
|
14
|
-
require('../../rpc-util.js');
|
|
15
|
-
|
|
16
|
-
class UtilCryptoServiceRpc extends services_rpcServiceClient.RpcService {
|
|
17
|
-
constructor() {
|
|
18
|
-
super('utilCrypto');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
mnemonicGenerate(numWords ) {
|
|
22
|
-
services_utilCrypto_configs.validation.mnemonicGenerate(numWords);
|
|
23
|
-
|
|
24
|
-
return this.call('mnemonicGenerate', numWords);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
mnemonicToMiniSecret(phrase ) {
|
|
28
|
-
services_utilCrypto_configs.validation.mnemonicToMiniSecret(phrase);
|
|
29
|
-
|
|
30
|
-
return this.call('mnemonicToMiniSecret', phrase);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
isBase64(value ) {
|
|
34
|
-
return this.call('isBase64', value);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
hexToString(hex ) {
|
|
38
|
-
return this.call('hexToString', hex);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
exports.UtilCryptoServiceRpc = UtilCryptoServiceRpc;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { RpcService } from '../rpc-service-client.mjs';
|
|
2
|
-
import { validation } from './configs.mjs';
|
|
3
|
-
import 'assert';
|
|
4
|
-
import '../../rpc-client.mjs';
|
|
5
|
-
import 'json-rpc-2.0';
|
|
6
|
-
import '../../core/crypto.mjs';
|
|
7
|
-
import 'crypto';
|
|
8
|
-
import '../../core/logger.mjs';
|
|
9
|
-
import '../../logger.mjs';
|
|
10
|
-
import '../../rpc-util.mjs';
|
|
11
|
-
|
|
12
|
-
class UtilCryptoServiceRpc extends RpcService {
|
|
13
|
-
constructor() {
|
|
14
|
-
super('utilCrypto');
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
mnemonicGenerate(numWords ) {
|
|
18
|
-
validation.mnemonicGenerate(numWords);
|
|
19
|
-
|
|
20
|
-
return this.call('mnemonicGenerate', numWords);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
mnemonicToMiniSecret(phrase ) {
|
|
24
|
-
validation.mnemonicToMiniSecret(phrase);
|
|
25
|
-
|
|
26
|
-
return this.call('mnemonicToMiniSecret', phrase);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
isBase64(value ) {
|
|
30
|
-
return this.call('isBase64', value);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
hexToString(hex ) {
|
|
34
|
-
return this.call('hexToString', hex);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export { UtilCryptoServiceRpc };
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var utils = require('@docknetwork/credential-sdk/utils');
|
|
6
|
-
var bip39 = require('@scure/bip39');
|
|
7
|
-
var english = require('@scure/bip39/wordlists/english');
|
|
8
|
-
var services_utilCrypto_configs = require('./configs.js');
|
|
9
|
-
require('assert');
|
|
10
|
-
|
|
11
|
-
function _interopNamespace(e) {
|
|
12
|
-
if (e && e.__esModule) return e;
|
|
13
|
-
var n = Object.create(null);
|
|
14
|
-
if (e) {
|
|
15
|
-
Object.keys(e).forEach(function (k) {
|
|
16
|
-
if (k !== 'default') {
|
|
17
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () { return e[k]; }
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
n["default"] = e;
|
|
26
|
-
return Object.freeze(n);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
var bip39__namespace = /*#__PURE__*/_interopNamespace(bip39);
|
|
30
|
-
|
|
31
|
-
// @ts-nocheck
|
|
32
|
-
class UtilCryptoService {
|
|
33
|
-
rpcMethods = [
|
|
34
|
-
UtilCryptoService.prototype.mnemonicGenerate,
|
|
35
|
-
UtilCryptoService.prototype.mnemonicToMiniSecret,
|
|
36
|
-
UtilCryptoService.prototype.isBase64,
|
|
37
|
-
UtilCryptoService.prototype.hexToString,
|
|
38
|
-
];
|
|
39
|
-
constructor() {
|
|
40
|
-
this.name = 'utilCrypto';
|
|
41
|
-
}
|
|
42
|
-
mnemonicGenerate(numWords = 12) {
|
|
43
|
-
services_utilCrypto_configs.validation.mnemonicGenerate(numWords);
|
|
44
|
-
// @scure/bip39 uses strength in bits, not number of words
|
|
45
|
-
// 12 words = 128 bits, 15 words = 160 bits, 18 words = 192 bits, 21 words = 224 bits, 24 words = 256 bits
|
|
46
|
-
const strengthMap = {
|
|
47
|
-
12: 128,
|
|
48
|
-
15: 160,
|
|
49
|
-
18: 192,
|
|
50
|
-
21: 224,
|
|
51
|
-
24: 256
|
|
52
|
-
};
|
|
53
|
-
const strength = strengthMap[numWords];
|
|
54
|
-
if (!strength) {
|
|
55
|
-
throw new Error(`Invalid number of words: ${numWords}. Supported values: 12, 15, 18, 21, 24`);
|
|
56
|
-
}
|
|
57
|
-
return bip39__namespace.generateMnemonic(english.wordlist, strength);
|
|
58
|
-
}
|
|
59
|
-
mnemonicToMiniSecret(phrase) {
|
|
60
|
-
services_utilCrypto_configs.validation.mnemonicToMiniSecret(phrase);
|
|
61
|
-
// Convert mnemonic to entropy which gives us a 32-byte mini secret for 12-word mnemonics
|
|
62
|
-
// This matches the behavior of Polkadot's mnemonicToMiniSecret
|
|
63
|
-
bip39__namespace.mnemonicToEntropy(phrase, english.wordlist);
|
|
64
|
-
// For 12-word mnemonics, entropy is already 16 bytes (128 bits)
|
|
65
|
-
// We need to pad it to 32 bytes to match Polkadot's mini secret size
|
|
66
|
-
// Polkadot uses PBKDF2 with specific parameters, but for compatibility
|
|
67
|
-
// we can use the seed derivation and take the first 32 bytes
|
|
68
|
-
const seed = bip39__namespace.mnemonicToSeedSync(phrase);
|
|
69
|
-
// Return first 32 bytes as Uint8Array to match the expected mini secret format
|
|
70
|
-
return new Uint8Array(seed.slice(0, 32));
|
|
71
|
-
}
|
|
72
|
-
isBase64(value) {
|
|
73
|
-
if (typeof value !== 'string') {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
if (value === '') {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
const regex = '(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}(==)?|[A-Za-z0-9+\\/]{3}=?)?';
|
|
80
|
-
if (!(new RegExp('^' + regex + '$', 'gi')).test(value)) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
try {
|
|
84
|
-
const decoded = Buffer.from(value, 'base64');
|
|
85
|
-
const asUtf8 = decoded.toString('utf8');
|
|
86
|
-
const reencoded = Buffer.from(asUtf8, 'utf8').toString('base64');
|
|
87
|
-
const normalize = (str) => str.replace(/=+$/, '');
|
|
88
|
-
return normalize(value) === normalize(reencoded);
|
|
89
|
-
}
|
|
90
|
-
catch (e) {
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
hexToString(hex) {
|
|
95
|
-
try {
|
|
96
|
-
const bytes = utils.hexToU8a(hex);
|
|
97
|
-
return utils.u8aToString(bytes);
|
|
98
|
-
}
|
|
99
|
-
catch (e) {
|
|
100
|
-
console.log('error: ', e);
|
|
101
|
-
}
|
|
102
|
-
return '';
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
const utilCryptoService = new UtilCryptoService();
|
|
106
|
-
|
|
107
|
-
exports.UtilCryptoService = UtilCryptoService;
|
|
108
|
-
exports.utilCryptoService = utilCryptoService;
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { hexToU8a, u8aToString } from '@docknetwork/credential-sdk/utils';
|
|
2
|
-
import * as bip39 from '@scure/bip39';
|
|
3
|
-
import { wordlist } from '@scure/bip39/wordlists/english';
|
|
4
|
-
import { validation } from './configs.mjs';
|
|
5
|
-
import 'assert';
|
|
6
|
-
|
|
7
|
-
// @ts-nocheck
|
|
8
|
-
class UtilCryptoService {
|
|
9
|
-
rpcMethods = [
|
|
10
|
-
UtilCryptoService.prototype.mnemonicGenerate,
|
|
11
|
-
UtilCryptoService.prototype.mnemonicToMiniSecret,
|
|
12
|
-
UtilCryptoService.prototype.isBase64,
|
|
13
|
-
UtilCryptoService.prototype.hexToString,
|
|
14
|
-
];
|
|
15
|
-
constructor() {
|
|
16
|
-
this.name = 'utilCrypto';
|
|
17
|
-
}
|
|
18
|
-
mnemonicGenerate(numWords = 12) {
|
|
19
|
-
validation.mnemonicGenerate(numWords);
|
|
20
|
-
// @scure/bip39 uses strength in bits, not number of words
|
|
21
|
-
// 12 words = 128 bits, 15 words = 160 bits, 18 words = 192 bits, 21 words = 224 bits, 24 words = 256 bits
|
|
22
|
-
const strengthMap = {
|
|
23
|
-
12: 128,
|
|
24
|
-
15: 160,
|
|
25
|
-
18: 192,
|
|
26
|
-
21: 224,
|
|
27
|
-
24: 256
|
|
28
|
-
};
|
|
29
|
-
const strength = strengthMap[numWords];
|
|
30
|
-
if (!strength) {
|
|
31
|
-
throw new Error(`Invalid number of words: ${numWords}. Supported values: 12, 15, 18, 21, 24`);
|
|
32
|
-
}
|
|
33
|
-
return bip39.generateMnemonic(wordlist, strength);
|
|
34
|
-
}
|
|
35
|
-
mnemonicToMiniSecret(phrase) {
|
|
36
|
-
validation.mnemonicToMiniSecret(phrase);
|
|
37
|
-
// Convert mnemonic to entropy which gives us a 32-byte mini secret for 12-word mnemonics
|
|
38
|
-
// This matches the behavior of Polkadot's mnemonicToMiniSecret
|
|
39
|
-
bip39.mnemonicToEntropy(phrase, wordlist);
|
|
40
|
-
// For 12-word mnemonics, entropy is already 16 bytes (128 bits)
|
|
41
|
-
// We need to pad it to 32 bytes to match Polkadot's mini secret size
|
|
42
|
-
// Polkadot uses PBKDF2 with specific parameters, but for compatibility
|
|
43
|
-
// we can use the seed derivation and take the first 32 bytes
|
|
44
|
-
const seed = bip39.mnemonicToSeedSync(phrase);
|
|
45
|
-
// Return first 32 bytes as Uint8Array to match the expected mini secret format
|
|
46
|
-
return new Uint8Array(seed.slice(0, 32));
|
|
47
|
-
}
|
|
48
|
-
isBase64(value) {
|
|
49
|
-
if (typeof value !== 'string') {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
if (value === '') {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
const regex = '(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}(==)?|[A-Za-z0-9+\\/]{3}=?)?';
|
|
56
|
-
if (!(new RegExp('^' + regex + '$', 'gi')).test(value)) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
try {
|
|
60
|
-
const decoded = Buffer.from(value, 'base64');
|
|
61
|
-
const asUtf8 = decoded.toString('utf8');
|
|
62
|
-
const reencoded = Buffer.from(asUtf8, 'utf8').toString('base64');
|
|
63
|
-
const normalize = (str) => str.replace(/=+$/, '');
|
|
64
|
-
return normalize(value) === normalize(reencoded);
|
|
65
|
-
}
|
|
66
|
-
catch (e) {
|
|
67
|
-
return false;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
hexToString(hex) {
|
|
71
|
-
try {
|
|
72
|
-
const bytes = hexToU8a(hex);
|
|
73
|
-
return u8aToString(bytes);
|
|
74
|
-
}
|
|
75
|
-
catch (e) {
|
|
76
|
-
console.log('error: ', e);
|
|
77
|
-
}
|
|
78
|
-
return '';
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
const utilCryptoService = new UtilCryptoService();
|
|
82
|
-
|
|
83
|
-
export { UtilCryptoService, utilCryptoService };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var assert = require('assert');
|
|
6
|
-
var core_validation = require('../../core/validation.js');
|
|
7
|
-
require('../../types.js');
|
|
8
|
-
|
|
9
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
-
|
|
11
|
-
var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
|
|
12
|
-
|
|
13
|
-
// @ts-nocheck
|
|
14
|
-
const validation = {
|
|
15
|
-
getDocumentsFromEncryptedWallet({ encryptedJSONWallet, password, }) {
|
|
16
|
-
assert__default["default"](typeof encryptedJSONWallet === 'object', `invalid json data: ${encryptedJSONWallet}`);
|
|
17
|
-
core_validation.assertPassword(password);
|
|
18
|
-
},
|
|
19
|
-
exportDocuments({ documents, password }) {
|
|
20
|
-
assert__default["default"](Array.isArray(documents), 'Invalid Documents');
|
|
21
|
-
assert__default["default"](documents.length > 0, 'Cannot export empty documents');
|
|
22
|
-
for (const document of documents) {
|
|
23
|
-
assert__default["default"](typeof document.id === 'string', 'Document ID is required');
|
|
24
|
-
assert__default["default"](typeof document['@context'] !== 'undefined', '@context is required');
|
|
25
|
-
}
|
|
26
|
-
core_validation.assertPassword(password);
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
const serviceName = 'wallet';
|
|
30
|
-
|
|
31
|
-
exports.serviceName = serviceName;
|
|
32
|
-
exports.validation = validation;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import { assertPassword } from '../../core/validation.mjs';
|
|
3
|
-
import '../../types.mjs';
|
|
4
|
-
|
|
5
|
-
// @ts-nocheck
|
|
6
|
-
const validation = {
|
|
7
|
-
getDocumentsFromEncryptedWallet({ encryptedJSONWallet, password, }) {
|
|
8
|
-
assert(typeof encryptedJSONWallet === 'object', `invalid json data: ${encryptedJSONWallet}`);
|
|
9
|
-
assertPassword(password);
|
|
10
|
-
},
|
|
11
|
-
exportDocuments({ documents, password }) {
|
|
12
|
-
assert(Array.isArray(documents), 'Invalid Documents');
|
|
13
|
-
assert(documents.length > 0, 'Cannot export empty documents');
|
|
14
|
-
for (const document of documents) {
|
|
15
|
-
assert(typeof document.id === 'string', 'Document ID is required');
|
|
16
|
-
assert(typeof document['@context'] !== 'undefined', '@context is required');
|
|
17
|
-
}
|
|
18
|
-
assertPassword(password);
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
const serviceName = 'wallet';
|
|
22
|
-
|
|
23
|
-
export { serviceName, validation };
|