@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,95 +0,0 @@
|
|
|
1
|
-
import StorageInterface from '@docknetwork/universal-wallet/storage/storage-interface';
|
|
2
|
-
|
|
3
|
-
function generateDocumentId() {
|
|
4
|
-
return `doc${Math.floor(Math.random() * 10000)}`;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
/* An example file system storage interface implementation. This is not secure and shouldn't be used in production */
|
|
8
|
-
class MemoryStorageInterface extends StorageInterface {
|
|
9
|
-
constructor(directory) {
|
|
10
|
-
super();
|
|
11
|
-
|
|
12
|
-
this.directory = directory;
|
|
13
|
-
|
|
14
|
-
try {
|
|
15
|
-
this.documents = JSON.parse(global.localStorage.getItem(directory));
|
|
16
|
-
|
|
17
|
-
if (!this.documents) {
|
|
18
|
-
this.documents = {};
|
|
19
|
-
}
|
|
20
|
-
} catch (err) {
|
|
21
|
-
console.error(err);
|
|
22
|
-
this.documents = {};
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
updateLocalStorage() {
|
|
27
|
-
global.localStorage.setItem(this.directory, JSON.stringify(this.documents));
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
async get({id}) {
|
|
31
|
-
const content = this.documents[id];
|
|
32
|
-
return {
|
|
33
|
-
id,
|
|
34
|
-
content,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
async update(options) {
|
|
39
|
-
return this.insert(options);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
async delete({document}) {
|
|
43
|
-
delete this.documents[document.id];
|
|
44
|
-
this.updateLocalStorage();
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
async insert({document}) {
|
|
48
|
-
const docId = document.id || generateDocumentId();
|
|
49
|
-
|
|
50
|
-
this.documents[docId] = document.content;
|
|
51
|
-
|
|
52
|
-
this.updateLocalStorage();
|
|
53
|
-
|
|
54
|
-
return {
|
|
55
|
-
id: docId,
|
|
56
|
-
...document,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
async count(query) {
|
|
61
|
-
const result = await this.find(query);
|
|
62
|
-
return result.length;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
async find({has = undefined, equals = undefined} = {}) {
|
|
66
|
-
const documents = Object.keys(this.documents || {})
|
|
67
|
-
.map(docId => {
|
|
68
|
-
const content = this.documents[docId];
|
|
69
|
-
|
|
70
|
-
let matchesQuery = false;
|
|
71
|
-
if (!has && !equals) {
|
|
72
|
-
// Return all documents
|
|
73
|
-
matchesQuery = true;
|
|
74
|
-
} else if (equals && equals['content.id']) {
|
|
75
|
-
// Basic "query" support for tests
|
|
76
|
-
matchesQuery = content.id === equals['content.id'];
|
|
77
|
-
} else if (equals && equals['content.type']) {
|
|
78
|
-
matchesQuery = content.type === equals['content.type'];
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
if (matchesQuery) {
|
|
82
|
-
return {
|
|
83
|
-
id: docId,
|
|
84
|
-
content,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return null;
|
|
89
|
-
})
|
|
90
|
-
.filter(value => !!value);
|
|
91
|
-
return {documents};
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export { MemoryStorageInterface as default };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var StorageWallet = require('@docknetwork/universal-wallet/storage-wallet');
|
|
4
|
-
var wallet_memoryStorageInterface = require('./memory-storage-interface.js');
|
|
5
|
-
require('@docknetwork/universal-wallet/storage/storage-interface');
|
|
6
|
-
|
|
7
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
-
|
|
9
|
-
var StorageWallet__default = /*#__PURE__*/_interopDefaultLegacy(StorageWallet);
|
|
10
|
-
|
|
11
|
-
class MemoryWallet extends StorageWallet__default["default"] {
|
|
12
|
-
constructor(id, storageOptions = {}) {
|
|
13
|
-
// Allow user to pass pre-initialized interface or construct a default one
|
|
14
|
-
const storageInterface =
|
|
15
|
-
storageOptions.storageInterface || new wallet_memoryStorageInterface(id);
|
|
16
|
-
super(id, storageInterface);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
async import(data, password) {
|
|
20
|
-
const result = await super.import(data, password);
|
|
21
|
-
|
|
22
|
-
this.contents.forEach(content => {
|
|
23
|
-
this.promises.push(this.insertToStorage(content));
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
return result;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
module.exports = MemoryWallet;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import StorageWallet from '@docknetwork/universal-wallet/storage-wallet';
|
|
2
|
-
import MemoryStorageInterface from './memory-storage-interface.mjs';
|
|
3
|
-
import '@docknetwork/universal-wallet/storage/storage-interface';
|
|
4
|
-
|
|
5
|
-
class MemoryWallet extends StorageWallet {
|
|
6
|
-
constructor(id, storageOptions = {}) {
|
|
7
|
-
// Allow user to pass pre-initialized interface or construct a default one
|
|
8
|
-
const storageInterface =
|
|
9
|
-
storageOptions.storageInterface || new MemoryStorageInterface(id);
|
|
10
|
-
super(id, storageInterface);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
async import(data, password) {
|
|
14
|
-
const result = await super.import(data, password);
|
|
15
|
-
|
|
16
|
-
this.contents.forEach(content => {
|
|
17
|
-
this.promises.push(this.insertToStorage(content));
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { MemoryWallet as default };
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var StorageInterface = require('@docknetwork/universal-wallet/storage/storage-interface');
|
|
4
|
-
var uuid = require('uuid');
|
|
5
|
-
var services_storage_index = require('../services/storage/index.js');
|
|
6
|
-
var core_logger = require('../core/logger.js');
|
|
7
|
-
require('../services/storage/service.js');
|
|
8
|
-
require('../services/storage/service-rpc.js');
|
|
9
|
-
require('../services/rpc-service-client.js');
|
|
10
|
-
require('assert');
|
|
11
|
-
require('../rpc-client.js');
|
|
12
|
-
require('json-rpc-2.0');
|
|
13
|
-
require('../core/crypto.js');
|
|
14
|
-
require('crypto');
|
|
15
|
-
require('../logger.js');
|
|
16
|
-
require('../rpc-util.js');
|
|
17
|
-
|
|
18
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
-
|
|
20
|
-
var StorageInterface__default = /*#__PURE__*/_interopDefaultLegacy(StorageInterface);
|
|
21
|
-
|
|
22
|
-
function generateDocumentId() {
|
|
23
|
-
return `doc:${uuid.v4()}`;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/* An example file system storage interface implementation. This is not secure and shouldn't be used in production */
|
|
27
|
-
class RpcStorageInterface extends StorageInterface__default["default"] {
|
|
28
|
-
constructor(directory) {
|
|
29
|
-
super();
|
|
30
|
-
this.directory = directory;
|
|
31
|
-
this.loadStorage(directory);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
async loadStorage(directory) {
|
|
35
|
-
let data;
|
|
36
|
-
try {
|
|
37
|
-
core_logger.Logger.debug(`Wallet: Loading storage from ${directory}`);
|
|
38
|
-
data = await services_storage_index.storageService.getItem(directory);
|
|
39
|
-
|
|
40
|
-
this.documents = typeof data === 'string' ? JSON.parse(data) : data;
|
|
41
|
-
|
|
42
|
-
if (!this.documents) {
|
|
43
|
-
core_logger.Logger.debug('Wallet: no storage found, creating empty wallet');
|
|
44
|
-
this.documents = {};
|
|
45
|
-
} else {
|
|
46
|
-
core_logger.Logger.debug(`Wallet: existing storage found: ${JSON.stringify(data)}`);
|
|
47
|
-
}
|
|
48
|
-
} catch (err) {
|
|
49
|
-
core_logger.Logger.error(
|
|
50
|
-
`error to retrieve data from rpc storage: ${err.toString()}`,
|
|
51
|
-
);
|
|
52
|
-
core_logger.Logger.info(JSON.stringify(data));
|
|
53
|
-
this.documents = {};
|
|
54
|
-
|
|
55
|
-
throw err;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
updateLocalStorage() {
|
|
60
|
-
services_storage_index.storageService.setItem(this.directory, JSON.stringify(this.documents));
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
async get({id}) {
|
|
64
|
-
const content = this.documents[id];
|
|
65
|
-
return {
|
|
66
|
-
id,
|
|
67
|
-
content,
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
async update(options) {
|
|
72
|
-
return this.insert(options);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
async delete({document}) {
|
|
76
|
-
delete this.documents[document.id];
|
|
77
|
-
this.updateLocalStorage();
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
async insert({document}) {
|
|
81
|
-
const docId = document.id || generateDocumentId();
|
|
82
|
-
|
|
83
|
-
this.documents[docId] = document.content;
|
|
84
|
-
|
|
85
|
-
this.updateLocalStorage();
|
|
86
|
-
|
|
87
|
-
return {
|
|
88
|
-
id: docId,
|
|
89
|
-
...document,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
async count(query) {
|
|
94
|
-
const result = await this.find(query);
|
|
95
|
-
return result.length;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
async find({has = undefined, equals = undefined} = {}) {
|
|
99
|
-
core_logger.Logger.debug('Execute find', {
|
|
100
|
-
equals,
|
|
101
|
-
documents: this.documents,
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
const documents = Object.keys(this.documents || {})
|
|
105
|
-
.map(docId => {
|
|
106
|
-
const content = this.documents[docId];
|
|
107
|
-
|
|
108
|
-
let matchesQuery = false;
|
|
109
|
-
if (!has && !equals) {
|
|
110
|
-
// Return all documents
|
|
111
|
-
matchesQuery = true;
|
|
112
|
-
} else if (equals && equals['content.id']) {
|
|
113
|
-
// Basic "query" support for tests
|
|
114
|
-
matchesQuery = content.id === equals['content.id'];
|
|
115
|
-
} else if (equals && equals['content.type']) {
|
|
116
|
-
// Basic "query" support for tests
|
|
117
|
-
matchesQuery = content.type === equals['content.type'];
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
if (matchesQuery) {
|
|
121
|
-
return {
|
|
122
|
-
id: docId,
|
|
123
|
-
content,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return null;
|
|
128
|
-
})
|
|
129
|
-
.filter(value => !!value);
|
|
130
|
-
return {documents};
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
module.exports = RpcStorageInterface;
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import StorageInterface from '@docknetwork/universal-wallet/storage/storage-interface';
|
|
2
|
-
import { v4 } from 'uuid';
|
|
3
|
-
import { storageService } from '../services/storage/index.mjs';
|
|
4
|
-
import { Logger } from '../core/logger.mjs';
|
|
5
|
-
import '../services/storage/service.mjs';
|
|
6
|
-
import '../services/storage/service-rpc.mjs';
|
|
7
|
-
import '../services/rpc-service-client.mjs';
|
|
8
|
-
import 'assert';
|
|
9
|
-
import '../rpc-client.mjs';
|
|
10
|
-
import 'json-rpc-2.0';
|
|
11
|
-
import '../core/crypto.mjs';
|
|
12
|
-
import 'crypto';
|
|
13
|
-
import '../logger.mjs';
|
|
14
|
-
import '../rpc-util.mjs';
|
|
15
|
-
|
|
16
|
-
function generateDocumentId() {
|
|
17
|
-
return `doc:${v4()}`;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/* An example file system storage interface implementation. This is not secure and shouldn't be used in production */
|
|
21
|
-
class RpcStorageInterface extends StorageInterface {
|
|
22
|
-
constructor(directory) {
|
|
23
|
-
super();
|
|
24
|
-
this.directory = directory;
|
|
25
|
-
this.loadStorage(directory);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
async loadStorage(directory) {
|
|
29
|
-
let data;
|
|
30
|
-
try {
|
|
31
|
-
Logger.debug(`Wallet: Loading storage from ${directory}`);
|
|
32
|
-
data = await storageService.getItem(directory);
|
|
33
|
-
|
|
34
|
-
this.documents = typeof data === 'string' ? JSON.parse(data) : data;
|
|
35
|
-
|
|
36
|
-
if (!this.documents) {
|
|
37
|
-
Logger.debug('Wallet: no storage found, creating empty wallet');
|
|
38
|
-
this.documents = {};
|
|
39
|
-
} else {
|
|
40
|
-
Logger.debug(`Wallet: existing storage found: ${JSON.stringify(data)}`);
|
|
41
|
-
}
|
|
42
|
-
} catch (err) {
|
|
43
|
-
Logger.error(
|
|
44
|
-
`error to retrieve data from rpc storage: ${err.toString()}`,
|
|
45
|
-
);
|
|
46
|
-
Logger.info(JSON.stringify(data));
|
|
47
|
-
this.documents = {};
|
|
48
|
-
|
|
49
|
-
throw err;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
updateLocalStorage() {
|
|
54
|
-
storageService.setItem(this.directory, JSON.stringify(this.documents));
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
async get({id}) {
|
|
58
|
-
const content = this.documents[id];
|
|
59
|
-
return {
|
|
60
|
-
id,
|
|
61
|
-
content,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
async update(options) {
|
|
66
|
-
return this.insert(options);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
async delete({document}) {
|
|
70
|
-
delete this.documents[document.id];
|
|
71
|
-
this.updateLocalStorage();
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
async insert({document}) {
|
|
75
|
-
const docId = document.id || generateDocumentId();
|
|
76
|
-
|
|
77
|
-
this.documents[docId] = document.content;
|
|
78
|
-
|
|
79
|
-
this.updateLocalStorage();
|
|
80
|
-
|
|
81
|
-
return {
|
|
82
|
-
id: docId,
|
|
83
|
-
...document,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
async count(query) {
|
|
88
|
-
const result = await this.find(query);
|
|
89
|
-
return result.length;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
async find({has = undefined, equals = undefined} = {}) {
|
|
93
|
-
Logger.debug('Execute find', {
|
|
94
|
-
equals,
|
|
95
|
-
documents: this.documents,
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
const documents = Object.keys(this.documents || {})
|
|
99
|
-
.map(docId => {
|
|
100
|
-
const content = this.documents[docId];
|
|
101
|
-
|
|
102
|
-
let matchesQuery = false;
|
|
103
|
-
if (!has && !equals) {
|
|
104
|
-
// Return all documents
|
|
105
|
-
matchesQuery = true;
|
|
106
|
-
} else if (equals && equals['content.id']) {
|
|
107
|
-
// Basic "query" support for tests
|
|
108
|
-
matchesQuery = content.id === equals['content.id'];
|
|
109
|
-
} else if (equals && equals['content.type']) {
|
|
110
|
-
// Basic "query" support for tests
|
|
111
|
-
matchesQuery = content.type === equals['content.type'];
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
if (matchesQuery) {
|
|
115
|
-
return {
|
|
116
|
-
id: docId,
|
|
117
|
-
content,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
return null;
|
|
122
|
-
})
|
|
123
|
-
.filter(value => !!value);
|
|
124
|
-
return {documents};
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export { RpcStorageInterface as default };
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var StorageWallet = require('@docknetwork/universal-wallet/storage-wallet');
|
|
4
|
-
var wallet_rpcStorageInterface = require('./rpc-storage-interface.js');
|
|
5
|
-
require('@docknetwork/universal-wallet/storage/storage-interface');
|
|
6
|
-
require('uuid');
|
|
7
|
-
require('../services/storage/index.js');
|
|
8
|
-
require('../services/storage/service.js');
|
|
9
|
-
require('../services/storage/service-rpc.js');
|
|
10
|
-
require('../services/rpc-service-client.js');
|
|
11
|
-
require('assert');
|
|
12
|
-
require('../rpc-client.js');
|
|
13
|
-
require('json-rpc-2.0');
|
|
14
|
-
require('../core/crypto.js');
|
|
15
|
-
require('crypto');
|
|
16
|
-
require('../core/logger.js');
|
|
17
|
-
require('../logger.js');
|
|
18
|
-
require('../rpc-util.js');
|
|
19
|
-
|
|
20
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
|
-
|
|
22
|
-
var StorageWallet__default = /*#__PURE__*/_interopDefaultLegacy(StorageWallet);
|
|
23
|
-
|
|
24
|
-
class RpcWallet extends StorageWallet__default["default"] {
|
|
25
|
-
constructor(id, storageOptions = {}) {
|
|
26
|
-
// Allow user to pass pre-initialized interface or construct a default one
|
|
27
|
-
const storageInterface =
|
|
28
|
-
storageOptions.storageInterface || new wallet_rpcStorageInterface(id);
|
|
29
|
-
super(id, storageInterface);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async import(data, password) {
|
|
33
|
-
const result = await super.import(data, password);
|
|
34
|
-
|
|
35
|
-
// validate wallet data
|
|
36
|
-
// migrate wallet data
|
|
37
|
-
|
|
38
|
-
this.contents.forEach(content => {
|
|
39
|
-
this.promises.push(this.insertToStorage(content));
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
return result;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
module.exports = RpcWallet;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import StorageWallet from '@docknetwork/universal-wallet/storage-wallet';
|
|
2
|
-
import RpcStorageInterface from './rpc-storage-interface.mjs';
|
|
3
|
-
import '@docknetwork/universal-wallet/storage/storage-interface';
|
|
4
|
-
import 'uuid';
|
|
5
|
-
import '../services/storage/index.mjs';
|
|
6
|
-
import '../services/storage/service.mjs';
|
|
7
|
-
import '../services/storage/service-rpc.mjs';
|
|
8
|
-
import '../services/rpc-service-client.mjs';
|
|
9
|
-
import 'assert';
|
|
10
|
-
import '../rpc-client.mjs';
|
|
11
|
-
import 'json-rpc-2.0';
|
|
12
|
-
import '../core/crypto.mjs';
|
|
13
|
-
import 'crypto';
|
|
14
|
-
import '../core/logger.mjs';
|
|
15
|
-
import '../logger.mjs';
|
|
16
|
-
import '../rpc-util.mjs';
|
|
17
|
-
|
|
18
|
-
class RpcWallet extends StorageWallet {
|
|
19
|
-
constructor(id, storageOptions = {}) {
|
|
20
|
-
// Allow user to pass pre-initialized interface or construct a default one
|
|
21
|
-
const storageInterface =
|
|
22
|
-
storageOptions.storageInterface || new RpcStorageInterface(id);
|
|
23
|
-
super(id, storageInterface);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
async import(data, password) {
|
|
27
|
-
const result = await super.import(data, password);
|
|
28
|
-
|
|
29
|
-
// validate wallet data
|
|
30
|
-
// migrate wallet data
|
|
31
|
-
|
|
32
|
-
this.contents.forEach(content => {
|
|
33
|
-
this.promises.push(this.insertToStorage(content));
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export { RpcWallet as default };
|