@tezos-x/octez.connect-core 0.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/LICENCE +19 -0
- package/README.md +9 -0
- package/dist/cjs/MockAnalytics.d.ts +4 -0
- package/dist/cjs/MockAnalytics.js +11 -0
- package/dist/cjs/MockAnalytics.js.map +1 -0
- package/dist/cjs/MockWindow.d.ts +14 -0
- package/dist/cjs/MockWindow.js +39 -0
- package/dist/cjs/MockWindow.js.map +1 -0
- package/dist/cjs/Serializer.d.ts +19 -0
- package/dist/cjs/Serializer.js +48 -0
- package/dist/cjs/Serializer.js.map +1 -0
- package/dist/cjs/clients/beacon-client/BeaconClient.d.ts +53 -0
- package/dist/cjs/clients/beacon-client/BeaconClient.js +111 -0
- package/dist/cjs/clients/beacon-client/BeaconClient.js.map +1 -0
- package/dist/cjs/clients/beacon-client/BeaconClientOptions.d.ts +26 -0
- package/dist/cjs/clients/beacon-client/BeaconClientOptions.js +3 -0
- package/dist/cjs/clients/beacon-client/BeaconClientOptions.js.map +1 -0
- package/dist/cjs/clients/client/Client.d.ts +91 -0
- package/dist/cjs/clients/client/Client.js +241 -0
- package/dist/cjs/clients/client/Client.js.map +1 -0
- package/dist/cjs/clients/client/ClientOptions.d.ts +42 -0
- package/dist/cjs/clients/client/ClientOptions.js +3 -0
- package/dist/cjs/clients/client/ClientOptions.js.map +1 -0
- package/dist/cjs/constants.d.ts +4 -0
- package/dist/cjs/constants.js +8 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/debug.d.ts +2 -0
- package/dist/cjs/debug.js +17 -0
- package/dist/cjs/debug.js.map +1 -0
- package/dist/cjs/errors/AbortedBeaconError.d.ts +9 -0
- package/dist/cjs/errors/AbortedBeaconError.js +17 -0
- package/dist/cjs/errors/AbortedBeaconError.js.map +1 -0
- package/dist/cjs/errors/BeaconError.d.ts +15 -0
- package/dist/cjs/errors/BeaconError.js +19 -0
- package/dist/cjs/errors/BeaconError.js.map +1 -0
- package/dist/cjs/errors/BroadcastBeaconError.d.ts +9 -0
- package/dist/cjs/errors/BroadcastBeaconError.js +17 -0
- package/dist/cjs/errors/BroadcastBeaconError.js.map +1 -0
- package/dist/cjs/errors/EncryptionTypeNotSupportedBeaconError.d.ts +3 -0
- package/dist/cjs/errors/EncryptionTypeNotSupportedBeaconError.js +18 -0
- package/dist/cjs/errors/EncryptionTypeNotSupportedBeaconError.js.map +1 -0
- package/dist/cjs/errors/NetworkNotSupportedBeaconError.d.ts +9 -0
- package/dist/cjs/errors/NetworkNotSupportedBeaconError.js +17 -0
- package/dist/cjs/errors/NetworkNotSupportedBeaconError.js.map +1 -0
- package/dist/cjs/errors/NoAddressBeaconError.d.ts +9 -0
- package/dist/cjs/errors/NoAddressBeaconError.js +17 -0
- package/dist/cjs/errors/NoAddressBeaconError.js.map +1 -0
- package/dist/cjs/errors/NoPrivateKeyBeaconError.d.ts +9 -0
- package/dist/cjs/errors/NoPrivateKeyBeaconError.js +17 -0
- package/dist/cjs/errors/NoPrivateKeyBeaconError.js.map +1 -0
- package/dist/cjs/errors/NotGrantedBeaconError.d.ts +9 -0
- package/dist/cjs/errors/NotGrantedBeaconError.js +17 -0
- package/dist/cjs/errors/NotGrantedBeaconError.js.map +1 -0
- package/dist/cjs/errors/ParametersInvalidBeaconError.d.ts +9 -0
- package/dist/cjs/errors/ParametersInvalidBeaconError.js +17 -0
- package/dist/cjs/errors/ParametersInvalidBeaconError.js.map +1 -0
- package/dist/cjs/errors/SignatureTypeNotSupportedBeaconError.d.ts +9 -0
- package/dist/cjs/errors/SignatureTypeNotSupportedBeaconError.js +17 -0
- package/dist/cjs/errors/SignatureTypeNotSupportedBeaconError.js.map +1 -0
- package/dist/cjs/errors/TooManyOperationsBeaconError.d.ts +9 -0
- package/dist/cjs/errors/TooManyOperationsBeaconError.js +17 -0
- package/dist/cjs/errors/TooManyOperationsBeaconError.js.map +1 -0
- package/dist/cjs/errors/TransactionInvalidBeaconError.d.ts +14 -0
- package/dist/cjs/errors/TransactionInvalidBeaconError.js +22 -0
- package/dist/cjs/errors/TransactionInvalidBeaconError.js.map +1 -0
- package/dist/cjs/errors/UnknownBeaconError.d.ts +9 -0
- package/dist/cjs/errors/UnknownBeaconError.js +17 -0
- package/dist/cjs/errors/UnknownBeaconError.js.map +1 -0
- package/dist/cjs/errors/get-error.d.ts +8 -0
- package/dist/cjs/errors/get-error.js +53 -0
- package/dist/cjs/errors/get-error.js.map +1 -0
- package/dist/cjs/index.d.ts +53 -0
- package/dist/cjs/index.js +90 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/managers/AccountManager.d.ts +18 -0
- package/dist/cjs/managers/AccountManager.js +73 -0
- package/dist/cjs/managers/AccountManager.js.map +1 -0
- package/dist/cjs/managers/AppMetadataManager.d.ts +16 -0
- package/dist/cjs/managers/AppMetadataManager.js +57 -0
- package/dist/cjs/managers/AppMetadataManager.js.map +1 -0
- package/dist/cjs/managers/PeerManager.d.ts +18 -0
- package/dist/cjs/managers/PeerManager.js +61 -0
- package/dist/cjs/managers/PeerManager.js.map +1 -0
- package/dist/cjs/managers/PermissionManager.d.ts +17 -0
- package/dist/cjs/managers/PermissionManager.js +64 -0
- package/dist/cjs/managers/PermissionManager.js.map +1 -0
- package/dist/cjs/managers/PermissionValidator.d.ts +16 -0
- package/dist/cjs/managers/PermissionValidator.js +58 -0
- package/dist/cjs/managers/PermissionValidator.js.map +1 -0
- package/dist/cjs/managers/StorageManager.d.ts +18 -0
- package/dist/cjs/managers/StorageManager.js +72 -0
- package/dist/cjs/managers/StorageManager.js.map +1 -0
- package/dist/cjs/migrations/migrate-0.7.0.d.ts +20 -0
- package/dist/cjs/migrations/migrate-0.7.0.js +44 -0
- package/dist/cjs/migrations/migrate-0.7.0.js.map +1 -0
- package/dist/cjs/migrations/migrations.d.ts +2 -0
- package/dist/cjs/migrations/migrations.js +44 -0
- package/dist/cjs/migrations/migrations.js.map +1 -0
- package/dist/cjs/storage/ChromeStorage.d.ts +19 -0
- package/dist/cjs/storage/ChromeStorage.js +76 -0
- package/dist/cjs/storage/ChromeStorage.js.map +1 -0
- package/dist/cjs/storage/IndexedDBStorage.d.ts +65 -0
- package/dist/cjs/storage/IndexedDBStorage.js +230 -0
- package/dist/cjs/storage/IndexedDBStorage.js.map +1 -0
- package/dist/cjs/storage/LocalStorage.d.ts +21 -0
- package/dist/cjs/storage/LocalStorage.js +92 -0
- package/dist/cjs/storage/LocalStorage.js.map +1 -0
- package/dist/cjs/storage/StorageValidator.d.ts +12 -0
- package/dist/cjs/storage/StorageValidator.js +110 -0
- package/dist/cjs/storage/StorageValidator.js.map +1 -0
- package/dist/cjs/storage/WCStorage.d.ts +15 -0
- package/dist/cjs/storage/WCStorage.js +84 -0
- package/dist/cjs/storage/WCStorage.js.map +1 -0
- package/dist/cjs/storage/getStorage.d.ts +5 -0
- package/dist/cjs/storage/getStorage.js +34 -0
- package/dist/cjs/storage/getStorage.js.map +1 -0
- package/dist/cjs/transports/Transport.d.ts +85 -0
- package/dist/cjs/transports/Transport.js +171 -0
- package/dist/cjs/transports/Transport.js.map +1 -0
- package/dist/cjs/transports/clients/ClientEvents.d.ts +6 -0
- package/dist/cjs/transports/clients/ClientEvents.js +3 -0
- package/dist/cjs/transports/clients/ClientEvents.js.map +1 -0
- package/dist/cjs/transports/clients/CommunicationClient.d.ts +47 -0
- package/dist/cjs/transports/clients/CommunicationClient.js +86 -0
- package/dist/cjs/transports/clients/CommunicationClient.js.map +1 -0
- package/dist/cjs/transports/clients/MessageBasedClient.d.ts +56 -0
- package/dist/cjs/transports/clients/MessageBasedClient.js +109 -0
- package/dist/cjs/transports/clients/MessageBasedClient.js.map +1 -0
- package/dist/cjs/utils/Logger.d.ts +33 -0
- package/dist/cjs/utils/Logger.js +98 -0
- package/dist/cjs/utils/Logger.js.map +1 -0
- package/dist/cjs/utils/assert-never.d.ts +6 -0
- package/dist/cjs/utils/assert-never.js +14 -0
- package/dist/cjs/utils/assert-never.js.map +1 -0
- package/dist/cjs/utils/get-account-identifier.d.ts +10 -0
- package/dist/cjs/utils/get-account-identifier.js +36 -0
- package/dist/cjs/utils/get-account-identifier.js.map +1 -0
- package/dist/cjs/utils/get-sender-id.d.ts +8 -0
- package/dist/cjs/utils/get-sender-id.js +31 -0
- package/dist/cjs/utils/get-sender-id.js.map +1 -0
- package/dist/cjs/utils/multi-tab-channel.d.ts +17 -0
- package/dist/cjs/utils/multi-tab-channel.js +85 -0
- package/dist/cjs/utils/multi-tab-channel.js.map +1 -0
- package/dist/esm/MockAnalytics.d.ts +4 -0
- package/dist/esm/MockAnalytics.js +7 -0
- package/dist/esm/MockAnalytics.js.map +1 -0
- package/dist/esm/MockWindow.d.ts +14 -0
- package/dist/esm/MockWindow.js +35 -0
- package/dist/esm/MockWindow.js.map +1 -0
- package/dist/esm/Serializer.d.ts +19 -0
- package/dist/esm/Serializer.js +31 -0
- package/dist/esm/Serializer.js.map +1 -0
- package/dist/esm/clients/beacon-client/BeaconClient.d.ts +53 -0
- package/dist/esm/clients/beacon-client/BeaconClient.js +103 -0
- package/dist/esm/clients/beacon-client/BeaconClient.js.map +1 -0
- package/dist/esm/clients/beacon-client/BeaconClientOptions.d.ts +26 -0
- package/dist/esm/clients/beacon-client/BeaconClientOptions.js +2 -0
- package/dist/esm/clients/beacon-client/BeaconClientOptions.js.map +1 -0
- package/dist/esm/clients/client/Client.d.ts +91 -0
- package/dist/esm/clients/client/Client.js +198 -0
- package/dist/esm/clients/client/Client.js.map +1 -0
- package/dist/esm/clients/client/ClientOptions.d.ts +42 -0
- package/dist/esm/clients/client/ClientOptions.js +2 -0
- package/dist/esm/clients/client/ClientOptions.js.map +1 -0
- package/dist/esm/constants.d.ts +4 -0
- package/dist/esm/constants.js +5 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/debug.d.ts +2 -0
- package/dist/esm/debug.js +12 -0
- package/dist/esm/debug.js.map +1 -0
- package/dist/esm/errors/AbortedBeaconError.d.ts +9 -0
- package/dist/esm/errors/AbortedBeaconError.js +13 -0
- package/dist/esm/errors/AbortedBeaconError.js.map +1 -0
- package/dist/esm/errors/BeaconError.d.ts +15 -0
- package/dist/esm/errors/BeaconError.js +17 -0
- package/dist/esm/errors/BeaconError.js.map +1 -0
- package/dist/esm/errors/BroadcastBeaconError.d.ts +9 -0
- package/dist/esm/errors/BroadcastBeaconError.js +13 -0
- package/dist/esm/errors/BroadcastBeaconError.js.map +1 -0
- package/dist/esm/errors/EncryptionTypeNotSupportedBeaconError.d.ts +3 -0
- package/dist/esm/errors/EncryptionTypeNotSupportedBeaconError.js +18 -0
- package/dist/esm/errors/EncryptionTypeNotSupportedBeaconError.js.map +1 -0
- package/dist/esm/errors/NetworkNotSupportedBeaconError.d.ts +9 -0
- package/dist/esm/errors/NetworkNotSupportedBeaconError.js +13 -0
- package/dist/esm/errors/NetworkNotSupportedBeaconError.js.map +1 -0
- package/dist/esm/errors/NoAddressBeaconError.d.ts +9 -0
- package/dist/esm/errors/NoAddressBeaconError.js +13 -0
- package/dist/esm/errors/NoAddressBeaconError.js.map +1 -0
- package/dist/esm/errors/NoPrivateKeyBeaconError.d.ts +9 -0
- package/dist/esm/errors/NoPrivateKeyBeaconError.js +13 -0
- package/dist/esm/errors/NoPrivateKeyBeaconError.js.map +1 -0
- package/dist/esm/errors/NotGrantedBeaconError.d.ts +9 -0
- package/dist/esm/errors/NotGrantedBeaconError.js +13 -0
- package/dist/esm/errors/NotGrantedBeaconError.js.map +1 -0
- package/dist/esm/errors/ParametersInvalidBeaconError.d.ts +9 -0
- package/dist/esm/errors/ParametersInvalidBeaconError.js +13 -0
- package/dist/esm/errors/ParametersInvalidBeaconError.js.map +1 -0
- package/dist/esm/errors/SignatureTypeNotSupportedBeaconError.d.ts +9 -0
- package/dist/esm/errors/SignatureTypeNotSupportedBeaconError.js +13 -0
- package/dist/esm/errors/SignatureTypeNotSupportedBeaconError.js.map +1 -0
- package/dist/esm/errors/TooManyOperationsBeaconError.d.ts +9 -0
- package/dist/esm/errors/TooManyOperationsBeaconError.js +13 -0
- package/dist/esm/errors/TooManyOperationsBeaconError.js.map +1 -0
- package/dist/esm/errors/TransactionInvalidBeaconError.d.ts +14 -0
- package/dist/esm/errors/TransactionInvalidBeaconError.js +19 -0
- package/dist/esm/errors/TransactionInvalidBeaconError.js.map +1 -0
- package/dist/esm/errors/UnknownBeaconError.d.ts +9 -0
- package/dist/esm/errors/UnknownBeaconError.js +13 -0
- package/dist/esm/errors/UnknownBeaconError.js.map +1 -0
- package/dist/esm/errors/get-error.d.ts +8 -0
- package/dist/esm/errors/get-error.js +49 -0
- package/dist/esm/errors/get-error.js.map +1 -0
- package/dist/esm/index.d.ts +53 -0
- package/dist/esm/index.js +67 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/managers/AccountManager.d.ts +18 -0
- package/dist/esm/managers/AccountManager.js +44 -0
- package/dist/esm/managers/AccountManager.js.map +1 -0
- package/dist/esm/managers/AppMetadataManager.d.ts +16 -0
- package/dist/esm/managers/AppMetadataManager.js +32 -0
- package/dist/esm/managers/AppMetadataManager.js.map +1 -0
- package/dist/esm/managers/PeerManager.d.ts +18 -0
- package/dist/esm/managers/PeerManager.js +34 -0
- package/dist/esm/managers/PeerManager.js.map +1 -0
- package/dist/esm/managers/PermissionManager.d.ts +17 -0
- package/dist/esm/managers/PermissionManager.js +37 -0
- package/dist/esm/managers/PermissionManager.js.map +1 -0
- package/dist/esm/managers/PermissionValidator.d.ts +16 -0
- package/dist/esm/managers/PermissionValidator.js +43 -0
- package/dist/esm/managers/PermissionValidator.js.map +1 -0
- package/dist/esm/managers/StorageManager.d.ts +18 -0
- package/dist/esm/managers/StorageManager.js +50 -0
- package/dist/esm/managers/StorageManager.js.map +1 -0
- package/dist/esm/migrations/migrate-0.7.0.d.ts +20 -0
- package/dist/esm/migrations/migrate-0.7.0.js +31 -0
- package/dist/esm/migrations/migrate-0.7.0.js.map +1 -0
- package/dist/esm/migrations/migrations.d.ts +2 -0
- package/dist/esm/migrations/migrations.js +31 -0
- package/dist/esm/migrations/migrations.js.map +1 -0
- package/dist/esm/storage/ChromeStorage.d.ts +19 -0
- package/dist/esm/storage/ChromeStorage.js +53 -0
- package/dist/esm/storage/ChromeStorage.js.map +1 -0
- package/dist/esm/storage/IndexedDBStorage.d.ts +65 -0
- package/dist/esm/storage/IndexedDBStorage.js +212 -0
- package/dist/esm/storage/IndexedDBStorage.js.map +1 -0
- package/dist/esm/storage/LocalStorage.d.ts +21 -0
- package/dist/esm/storage/LocalStorage.js +70 -0
- package/dist/esm/storage/LocalStorage.js.map +1 -0
- package/dist/esm/storage/StorageValidator.d.ts +12 -0
- package/dist/esm/storage/StorageValidator.js +96 -0
- package/dist/esm/storage/StorageValidator.js.map +1 -0
- package/dist/esm/storage/WCStorage.d.ts +15 -0
- package/dist/esm/storage/WCStorage.js +64 -0
- package/dist/esm/storage/WCStorage.js.map +1 -0
- package/dist/esm/storage/getStorage.d.ts +5 -0
- package/dist/esm/storage/getStorage.js +21 -0
- package/dist/esm/storage/getStorage.js.map +1 -0
- package/dist/esm/transports/Transport.d.ts +85 -0
- package/dist/esm/transports/Transport.js +149 -0
- package/dist/esm/transports/Transport.js.map +1 -0
- package/dist/esm/transports/clients/ClientEvents.d.ts +6 -0
- package/dist/esm/transports/clients/ClientEvents.js +2 -0
- package/dist/esm/transports/clients/ClientEvents.js.map +1 -0
- package/dist/esm/transports/clients/CommunicationClient.d.ts +47 -0
- package/dist/esm/transports/clients/CommunicationClient.js +63 -0
- package/dist/esm/transports/clients/CommunicationClient.js.map +1 -0
- package/dist/esm/transports/clients/MessageBasedClient.d.ts +56 -0
- package/dist/esm/transports/clients/MessageBasedClient.js +83 -0
- package/dist/esm/transports/clients/MessageBasedClient.js.map +1 -0
- package/dist/esm/utils/Logger.d.ts +33 -0
- package/dist/esm/utils/Logger.js +92 -0
- package/dist/esm/utils/Logger.js.map +1 -0
- package/dist/esm/utils/assert-never.d.ts +6 -0
- package/dist/esm/utils/assert-never.js +11 -0
- package/dist/esm/utils/assert-never.js.map +1 -0
- package/dist/esm/utils/get-account-identifier.d.ts +10 -0
- package/dist/esm/utils/get-account-identifier.js +23 -0
- package/dist/esm/utils/get-account-identifier.js.map +1 -0
- package/dist/esm/utils/get-sender-id.d.ts +8 -0
- package/dist/esm/utils/get-sender-id.js +18 -0
- package/dist/esm/utils/get-sender-id.js.map +1 -0
- package/dist/esm/utils/multi-tab-channel.d.ts +17 -0
- package/dist/esm/utils/multi-tab-channel.js +66 -0
- package/dist/esm/utils/multi-tab-channel.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PeerManager = void 0;
|
|
13
|
+
const StorageManager_1 = require("./StorageManager");
|
|
14
|
+
/**
|
|
15
|
+
* @internalapi
|
|
16
|
+
*
|
|
17
|
+
* The PeerManager provides CRUD functionality for peer entities and persists them to the provided storage.
|
|
18
|
+
*/
|
|
19
|
+
class PeerManager {
|
|
20
|
+
constructor(storage, key) {
|
|
21
|
+
this.storageManager = new StorageManager_1.StorageManager(storage, key);
|
|
22
|
+
}
|
|
23
|
+
hasPeer(publicKey) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
return (yield this.getPeer(publicKey)) ? true : false;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
getPeers() {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
var _a;
|
|
31
|
+
return (_a = (yield this.storageManager.getAll())) !== null && _a !== void 0 ? _a : [];
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
getPeer(publicKey) {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
return this.storageManager.getOne((peer) => peer.publicKey === publicKey);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
addPeer(peerInfo) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
return this.storageManager.addOne(peerInfo, (peer) => peer.publicKey === peerInfo.publicKey);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
removePeer(publicKey) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
return this.storageManager.remove((peer) => peer.publicKey === publicKey);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
removePeers(publicKeys) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
return this.storageManager.remove((peer) => publicKeys.includes(peer.publicKey));
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
removeAllPeers() {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
return this.storageManager.removeAll();
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.PeerManager = PeerManager;
|
|
61
|
+
//# sourceMappingURL=PeerManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PeerManager.js","sourceRoot":"","sources":["../../../src/managers/PeerManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qDAA4D;AAE5D;;;;GAIG;AACH,MAAa,WAAW;IAUtB,YAAY,OAAgB,EAAE,GAAM;QAClC,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACxD,CAAC;IAEY,OAAO,CAAC,SAAiB;;YACpC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QACvD,CAAC;KAAA;IAEY,QAAQ;;;YACnB,OAAO,MAAA,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,mCAAI,EAAE,CAAA;QACnD,CAAC;KAAA;IAEY,OAAO,CAAC,SAAiB;;YACpC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;QAC3E,CAAC;KAAA;IAEY,OAAO,CAAC,QAA4C;;YAC/D,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC9F,CAAC;KAAA;IAEY,UAAU,CAAC,SAAiB;;YACvC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;QAC3E,CAAC;KAAA;IAEY,WAAW,CAAC,UAAoB;;YAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QAClF,CAAC;KAAA;IAEY,cAAc;;YACzB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAA;QACxC,CAAC;KAAA;CACF;AAzCD,kCAyCC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BeaconMessage, Storage, PermissionInfo } from '@tezos-x/octez.connect-types';
|
|
2
|
+
/**
|
|
3
|
+
* @internalapi
|
|
4
|
+
*
|
|
5
|
+
* The PermissionManager provides CRUD functionality for permission entities and persists them to the provided storage.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PermissionManager {
|
|
8
|
+
private readonly storageManager;
|
|
9
|
+
constructor(storage: Storage);
|
|
10
|
+
getPermissions(): Promise<PermissionInfo[]>;
|
|
11
|
+
getPermission(accountIdentifier: string): Promise<PermissionInfo | undefined>;
|
|
12
|
+
addPermission(permissionInfo: PermissionInfo): Promise<void>;
|
|
13
|
+
removePermission(accountIdentifier: string, senderId: string): Promise<void>;
|
|
14
|
+
removePermissions(accountIdentifiers: string[]): Promise<void>;
|
|
15
|
+
removeAllPermissions(): Promise<void>;
|
|
16
|
+
hasPermission(message: BeaconMessage): Promise<boolean>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PermissionManager = void 0;
|
|
13
|
+
const octez_connect_types_1 = require("@tezos-x/octez.connect-types");
|
|
14
|
+
const StorageManager_1 = require("./StorageManager");
|
|
15
|
+
const PermissionValidator_1 = require("./PermissionValidator");
|
|
16
|
+
/**
|
|
17
|
+
* @internalapi
|
|
18
|
+
*
|
|
19
|
+
* The PermissionManager provides CRUD functionality for permission entities and persists them to the provided storage.
|
|
20
|
+
*/
|
|
21
|
+
class PermissionManager {
|
|
22
|
+
constructor(storage) {
|
|
23
|
+
this.storageManager = new StorageManager_1.StorageManager(storage, octez_connect_types_1.StorageKey.PERMISSION_LIST);
|
|
24
|
+
}
|
|
25
|
+
getPermissions() {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
var _a;
|
|
28
|
+
return (_a = (yield this.storageManager.getAll())) !== null && _a !== void 0 ? _a : [];
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
getPermission(accountIdentifier) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
return this.storageManager.getOne((permission) => permission.accountIdentifier === accountIdentifier);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
addPermission(permissionInfo) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
return this.storageManager.addOne(permissionInfo, (permission) => permission.accountIdentifier === permissionInfo.accountIdentifier &&
|
|
39
|
+
permission.senderId === permissionInfo.senderId);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
removePermission(accountIdentifier, senderId) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
return this.storageManager.remove((permission) => permission.accountIdentifier === accountIdentifier && permission.senderId === senderId);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
removePermissions(accountIdentifiers) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
return this.storageManager.remove((permission) => accountIdentifiers.includes(permission.accountIdentifier));
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
removeAllPermissions() {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
return this.storageManager.removeAll();
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
hasPermission(message) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
return PermissionValidator_1.PermissionValidator.hasPermission(message, this.getPermission.bind(this), this.getPermissions.bind(this));
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.PermissionManager = PermissionManager;
|
|
64
|
+
//# sourceMappingURL=PermissionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionManager.js","sourceRoot":"","sources":["../../../src/managers/PermissionManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sEAAiG;AACjG,qDAAiD;AACjD,+DAA2D;AAE3D;;;;GAIG;AACH,MAAa,iBAAiB;IAG5B,YAAY,OAAgB;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,OAAO,EAAE,gCAAU,CAAC,eAAe,CAAC,CAAA;IAC/E,CAAC;IAEY,cAAc;;;YACzB,OAAO,MAAA,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,mCAAI,EAAE,CAAA;QACnD,CAAC;KAAA;IAEY,aAAa,CAAC,iBAAyB;;YAClD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAC/B,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,KAAK,iBAAiB,CACnF,CAAA;QACH,CAAC;KAAA;IAEY,aAAa,CAAC,cAA8B;;YACvD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAC/B,cAAc,EACd,CAAC,UAA0B,EAAE,EAAE,CAC7B,UAAU,CAAC,iBAAiB,KAAK,cAAc,CAAC,iBAAiB;gBACjE,UAAU,CAAC,QAAQ,KAAK,cAAc,CAAC,QAAQ,CAClD,CAAA;QACH,CAAC;KAAA;IAEY,gBAAgB,CAAC,iBAAyB,EAAE,QAAgB;;YACvE,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAC/B,CAAC,UAA0B,EAAE,EAAE,CAC7B,UAAU,CAAC,iBAAiB,KAAK,iBAAiB,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,CACzF,CAAA;QACH,CAAC;KAAA;IAEY,iBAAiB,CAAC,kBAA4B;;YACzD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,UAA0B,EAAE,EAAE,CAC/D,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAC1D,CAAA;QACH,CAAC;KAAA;IAEY,oBAAoB;;YAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAA;QACxC,CAAC;KAAA;IAEY,aAAa,CAAC,OAAsB;;YAC/C,OAAO,yCAAmB,CAAC,aAAa,CACtC,OAAO,EACP,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAA;QACH,CAAC;KAAA;CACF;AAlDD,8CAkDC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BeaconMessage, PermissionEntity } from '@tezos-x/octez.connect-types';
|
|
2
|
+
/**
|
|
3
|
+
* @internalapi
|
|
4
|
+
*
|
|
5
|
+
* The PermissionValidator is used to check if permissions for a certain message type have been given
|
|
6
|
+
*/
|
|
7
|
+
export declare class PermissionValidator {
|
|
8
|
+
/**
|
|
9
|
+
* Check if permissions were given for a certain message type.
|
|
10
|
+
*
|
|
11
|
+
* PermissionRequest and BroadcastRequest will always return true.
|
|
12
|
+
*
|
|
13
|
+
* @param message octez.connect message
|
|
14
|
+
*/
|
|
15
|
+
static hasPermission(message: BeaconMessage, getOne: (id: string) => Promise<PermissionEntity | undefined>, getAll: () => Promise<PermissionEntity[]>): Promise<boolean>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PermissionValidator = void 0;
|
|
13
|
+
const octez_connect_types_1 = require("@tezos-x/octez.connect-types");
|
|
14
|
+
const get_account_identifier_1 = require("../utils/get-account-identifier");
|
|
15
|
+
/**
|
|
16
|
+
* @internalapi
|
|
17
|
+
*
|
|
18
|
+
* The PermissionValidator is used to check if permissions for a certain message type have been given
|
|
19
|
+
*/
|
|
20
|
+
class PermissionValidator {
|
|
21
|
+
/**
|
|
22
|
+
* Check if permissions were given for a certain message type.
|
|
23
|
+
*
|
|
24
|
+
* PermissionRequest and BroadcastRequest will always return true.
|
|
25
|
+
*
|
|
26
|
+
* @param message octez.connect message
|
|
27
|
+
*/
|
|
28
|
+
static hasPermission(message, getOne, getAll) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
switch (message.type) {
|
|
31
|
+
case octez_connect_types_1.BeaconMessageType.PermissionRequest:
|
|
32
|
+
case octez_connect_types_1.BeaconMessageType.BroadcastRequest: {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
case octez_connect_types_1.BeaconMessageType.OperationRequest: {
|
|
36
|
+
const accountIdentifier = yield (0, get_account_identifier_1.getAccountIdentifier)(message.sourceAddress, message.network);
|
|
37
|
+
const permission = yield getOne(accountIdentifier);
|
|
38
|
+
if (!permission) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return permission.scopes.includes(octez_connect_types_1.PermissionScope.OPERATION_REQUEST);
|
|
42
|
+
}
|
|
43
|
+
case octez_connect_types_1.BeaconMessageType.SignPayloadRequest: {
|
|
44
|
+
const permissions = yield getAll();
|
|
45
|
+
const filteredPermissions = permissions.filter((permission) => permission.address === message.sourceAddress);
|
|
46
|
+
if (filteredPermissions.length === 0) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return filteredPermissions.some((permission) => permission.scopes.includes(octez_connect_types_1.PermissionScope.SIGN));
|
|
50
|
+
}
|
|
51
|
+
default:
|
|
52
|
+
throw new Error('Message not handled');
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.PermissionValidator = PermissionValidator;
|
|
58
|
+
//# sourceMappingURL=PermissionValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionValidator.js","sourceRoot":"","sources":["../../../src/managers/PermissionValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sEAKqC;AACrC,4EAAsE;AAEtE;;;;GAIG;AACH,MAAa,mBAAmB;IAC9B;;;;;;OAMG;IACI,MAAM,CAAO,aAAa,CAC/B,OAAsB,EACtB,MAA6D,EAC7D,MAAyC;;YAEzC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,uCAAiB,CAAC,iBAAiB,CAAC;gBACzC,KAAK,uCAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACxC,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,KAAK,uCAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACxC,MAAM,iBAAiB,GAAW,MAAM,IAAA,6CAAoB,EAC1D,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,OAAO,CAChB,CAAA;oBAED,MAAM,UAAU,GAAiC,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;oBAChF,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,OAAO,KAAK,CAAA;oBACd,CAAC;oBAED,OAAO,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,qCAAe,CAAC,iBAAiB,CAAC,CAAA;gBACtE,CAAC;gBACD,KAAK,uCAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBAC1C,MAAM,WAAW,GAAuB,MAAM,MAAM,EAAE,CAAA;oBACtD,MAAM,mBAAmB,GAAuB,WAAW,CAAC,MAAM,CAChE,CAAC,UAA4B,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,CAC/E,CAAA;oBAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACrC,OAAO,KAAK,CAAA;oBACd,CAAC;oBAED,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,UAA4B,EAAE,EAAE,CAC/D,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,qCAAe,CAAC,IAAI,CAAC,CACjD,CAAA;gBACH,CAAC;gBACD;oBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;KAAA;CACF;AAjDD,kDAiDC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StorageKey, Storage, StorageKeyReturnType } from '@tezos-x/octez.connect-types';
|
|
2
|
+
/** Type workaround for https://github.com/Microsoft/TypeScript/issues/7294#issuecomment-465794460 */
|
|
3
|
+
export type ArrayElem<A> = A extends (infer Elem)[] ? Elem : never;
|
|
4
|
+
/**
|
|
5
|
+
* @internalapi
|
|
6
|
+
*
|
|
7
|
+
* The StorageManager provides CRUD functionality for specific entities and persists them to the provided storage.
|
|
8
|
+
*/
|
|
9
|
+
export declare class StorageManager<T extends StorageKey.ACCOUNTS | StorageKey.APP_METADATA_LIST | StorageKey.PERMISSION_LIST | StorageKey.TRANSPORT_P2P_PEERS_DAPP | StorageKey.TRANSPORT_P2P_PEERS_WALLET | StorageKey.TRANSPORT_POSTMESSAGE_PEERS_DAPP | StorageKey.TRANSPORT_POSTMESSAGE_PEERS_WALLET | StorageKey.TRANSPORT_WALLETCONNECT_PEERS_DAPP> {
|
|
10
|
+
private readonly storage;
|
|
11
|
+
private readonly storageKey;
|
|
12
|
+
constructor(storage: Storage, storageKey: T);
|
|
13
|
+
getAll(): Promise<StorageKeyReturnType[T]>;
|
|
14
|
+
getOne(predicate: (element: ArrayElem<StorageKeyReturnType[T]>) => boolean): Promise<ArrayElem<StorageKeyReturnType[T]> | undefined>;
|
|
15
|
+
addOne(element: ArrayElem<StorageKeyReturnType[T]>, predicate: (element: ArrayElem<StorageKeyReturnType[T]>) => boolean, overwrite?: boolean): Promise<void>;
|
|
16
|
+
remove(predicate: (element: ArrayElem<StorageKeyReturnType[T]>) => boolean): Promise<void>;
|
|
17
|
+
removeAll(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.StorageManager = void 0;
|
|
13
|
+
/* eslint-disable prefer-arrow/prefer-arrow-functions */
|
|
14
|
+
function fixArrayType(array) {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
|
+
return array;
|
|
17
|
+
}
|
|
18
|
+
/* eslint-enable prefer-arrow/prefer-arrow-functions */
|
|
19
|
+
/**
|
|
20
|
+
* @internalapi
|
|
21
|
+
*
|
|
22
|
+
* The StorageManager provides CRUD functionality for specific entities and persists them to the provided storage.
|
|
23
|
+
*/
|
|
24
|
+
class StorageManager {
|
|
25
|
+
constructor(storage, storageKey) {
|
|
26
|
+
this.storage = storage;
|
|
27
|
+
this.storageKey = storageKey;
|
|
28
|
+
}
|
|
29
|
+
getAll() {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
var _a;
|
|
32
|
+
return (_a = (yield this.storage.get(this.storageKey))) !== null && _a !== void 0 ? _a : [];
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
getOne(predicate) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const entities = yield this.storage.get(this.storageKey);
|
|
38
|
+
return fixArrayType(entities).find(predicate);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
addOne(element_1, predicate_1) {
|
|
42
|
+
return __awaiter(this, arguments, void 0, function* (element, predicate, overwrite = true) {
|
|
43
|
+
const entities = yield this.storage.get(this.storageKey);
|
|
44
|
+
if (!fixArrayType(entities).some(predicate)) {
|
|
45
|
+
fixArrayType(entities).push(element);
|
|
46
|
+
}
|
|
47
|
+
else if (overwrite) {
|
|
48
|
+
for (let i = 0; i < entities.length; i++) {
|
|
49
|
+
if (predicate(fixArrayType(entities)[i])) {
|
|
50
|
+
entities[i] = element;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return this.storage.set(this.storageKey, entities);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
remove(predicate) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const entities = yield this.storage.get(this.storageKey);
|
|
60
|
+
const filteredEntities = fixArrayType(entities).filter((entity) => !predicate(entity));
|
|
61
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
62
|
+
return this.storage.set(this.storageKey, filteredEntities);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
removeAll() {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
return this.storage.delete(this.storageKey);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.StorageManager = StorageManager;
|
|
72
|
+
//# sourceMappingURL=StorageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageManager.js","sourceRoot":"","sources":["../../../src/managers/StorageManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,wDAAwD;AACxD,SAAS,YAAY,CAAI,KAAQ;IAC/B,8DAA8D;IAC9D,OAAO,KAAY,CAAA;AACrB,CAAC;AACD,uDAAuD;AAEvD;;;;GAIG;AACH,MAAa,cAAc;IAczB,YAAY,OAAgB,EAAE,UAAa;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAEY,MAAM;;;YACjB,OAAO,MAAA,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,mCAAI,EAAE,CAAA;QACxD,CAAC;KAAA;IAEY,MAAM,CACjB,SAAmE;;YAEnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAExD,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/C,CAAC;KAAA;IAEY,MAAM;6DACjB,OAA2C,EAC3C,SAAmE,EACnE,YAAqB,IAAI;YAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAExD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,IAAI,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzC,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACpD,CAAC;KAAA;IAEY,MAAM,CACjB,SAAmE;;YAEnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAExD,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;YAEtF,8DAA8D;YAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAuB,CAAC,CAAA;QACnE,CAAC;KAAA;IAEY,SAAS;;YACpB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC7C,CAAC;KAAA;CACF;AAjED,wCAiEC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PermissionScope, AccountIdentifier, Origin, Network } from '@tezos-x/octez.connect-types';
|
|
2
|
+
export interface AccountInfoOld {
|
|
3
|
+
accountIdentifier: AccountIdentifier;
|
|
4
|
+
beaconId: string;
|
|
5
|
+
origin: {
|
|
6
|
+
type: Origin;
|
|
7
|
+
id: string;
|
|
8
|
+
};
|
|
9
|
+
address: string;
|
|
10
|
+
pubkey: string;
|
|
11
|
+
network: Network;
|
|
12
|
+
scopes: PermissionScope[];
|
|
13
|
+
connectedAt: Date;
|
|
14
|
+
}
|
|
15
|
+
export interface P2PPairingRequestOld {
|
|
16
|
+
name: string;
|
|
17
|
+
pubKey: string;
|
|
18
|
+
relayServer: string;
|
|
19
|
+
}
|
|
20
|
+
export declare const migrate_0_7_0: (storage: Storage) => Promise<void>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.migrate_0_7_0 = void 0;
|
|
13
|
+
const octez_connect_types_1 = require("@tezos-x/octez.connect-types");
|
|
14
|
+
const migrate_0_7_0 = (storage) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
// Migrate AccountInfo
|
|
16
|
+
const accountInfos = yield storage.get(octez_connect_types_1.StorageKey.ACCOUNTS);
|
|
17
|
+
accountInfos.forEach((accountInfo) => {
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
+
const accountInfoOld = accountInfo;
|
|
20
|
+
// pubKey is now publicKey
|
|
21
|
+
if (accountInfoOld.pubkey) {
|
|
22
|
+
accountInfo.publicKey = accountInfoOld.pubkey;
|
|
23
|
+
delete accountInfoOld.pubkey;
|
|
24
|
+
}
|
|
25
|
+
// connectedAt is now a number
|
|
26
|
+
accountInfo.connectedAt = new Date(accountInfoOld.connectedAt).getTime();
|
|
27
|
+
});
|
|
28
|
+
yield storage.set(octez_connect_types_1.StorageKey.ACCOUNTS, accountInfos);
|
|
29
|
+
// Migrate P2PPeers
|
|
30
|
+
const P2PPairingRequests = yield storage.get(octez_connect_types_1.StorageKey.TRANSPORT_P2P_PEERS_DAPP);
|
|
31
|
+
P2PPairingRequests.forEach((p2pPairInfo) => {
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
33
|
+
const P2PPairingRequestOld = p2pPairInfo;
|
|
34
|
+
// pubKey is now publicKey
|
|
35
|
+
if (P2PPairingRequestOld.pubKey) {
|
|
36
|
+
p2pPairInfo.publicKey = P2PPairingRequestOld.pubKey;
|
|
37
|
+
delete P2PPairingRequestOld.pubKey;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
yield storage.set(octez_connect_types_1.StorageKey.TRANSPORT_P2P_PEERS_DAPP, P2PPairingRequests);
|
|
41
|
+
yield storage.set(octez_connect_types_1.StorageKey.BEACON_SDK_VERSION, '0.7.0');
|
|
42
|
+
});
|
|
43
|
+
exports.migrate_0_7_0 = migrate_0_7_0;
|
|
44
|
+
//# sourceMappingURL=migrate-0.7.0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-0.7.0.js","sourceRoot":"","sources":["../../../src/migrations/migrate-0.7.0.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sEAQqC;AAsB9B,MAAM,aAAa,GAAG,CAAO,OAAgB,EAAiB,EAAE;IACrE,sBAAsB;IACtB,MAAM,YAAY,GAAkB,MAAM,OAAO,CAAC,GAAG,CAAC,gCAAU,CAAC,QAAQ,CAAC,CAAA;IAC1E,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACnC,8DAA8D;QAC9D,MAAM,cAAc,GAAmB,WAAkB,CAAA;QAEzD,0BAA0B;QAC1B,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YAC1B,WAAW,CAAC,SAAS,GAAG,cAAc,CAAC,MAAM,CAAA;YAC7C,OAAQ,cAAsB,CAAC,MAAM,CAAA;QACvC,CAAC;QACD,8BAA8B;QAC9B,WAAW,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAA;IAC1E,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,gCAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAEpD,mBAAmB;IACnB,MAAM,kBAAkB,GAAwB,MAAM,OAAO,CAAC,GAAG,CAC/D,gCAAU,CAAC,wBAAwB,CACpC,CAAA;IACD,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACzC,8DAA8D;QAC9D,MAAM,oBAAoB,GAAyB,WAAkB,CAAA;QACrE,0BAA0B;QAC1B,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;YAChC,WAAW,CAAC,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAA;YACnD,OAAQ,oBAA4B,CAAC,MAAM,CAAA;QAC7C,CAAC;IACH,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,gCAAU,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAA;IAE1E,MAAM,OAAO,CAAC,GAAG,CAAC,gCAAU,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;AAC3D,CAAC,CAAA,CAAA;AAjCY,QAAA,aAAa,iBAiCzB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.migrate = void 0;
|
|
13
|
+
const constants_1 = require("../constants");
|
|
14
|
+
const octez_connect_types_1 = require("@tezos-x/octez.connect-types");
|
|
15
|
+
const migrate_0_7_0_1 = require("./migrate-0.7.0");
|
|
16
|
+
const migrations = [
|
|
17
|
+
['0.6.0', () => undefined],
|
|
18
|
+
['0.7.0', migrate_0_7_0_1.migrate_0_7_0]
|
|
19
|
+
];
|
|
20
|
+
// This is not used yet
|
|
21
|
+
const migrate = (storage) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
const lastSdkVersion = yield storage.get(octez_connect_types_1.StorageKey.BEACON_SDK_VERSION);
|
|
23
|
+
// Skip if we are on latest version
|
|
24
|
+
if (lastSdkVersion && lastSdkVersion === constants_1.SDK_VERSION) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
let addMigration = false;
|
|
28
|
+
for (const [version, migrationMethod] of migrations) {
|
|
29
|
+
if (version === lastSdkVersion) {
|
|
30
|
+
addMigration = true;
|
|
31
|
+
}
|
|
32
|
+
if (addMigration) {
|
|
33
|
+
try {
|
|
34
|
+
yield migrationMethod(storage);
|
|
35
|
+
}
|
|
36
|
+
catch (migrationError) {
|
|
37
|
+
console.log(`Migration for ${version} failed!`, migrationError);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
yield storage.set(octez_connect_types_1.StorageKey.BEACON_SDK_VERSION, constants_1.SDK_VERSION);
|
|
42
|
+
});
|
|
43
|
+
exports.migrate = migrate;
|
|
44
|
+
//# sourceMappingURL=migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/migrations/migrations.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0C;AAC1C,sEAAkE;AAClE,mDAA+C;AAE/C,MAAM,UAAU,GAAyB;IACvC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;IAC1B,CAAC,OAAO,EAAE,6BAAa,CAAC;CACzB,CAAA;AAED,uBAAuB;AAChB,MAAM,OAAO,GAAG,CAAO,OAAgB,EAAiB,EAAE;IAC/D,MAAM,cAAc,GAAuB,MAAM,OAAO,CAAC,GAAG,CAAC,gCAAU,CAAC,kBAAkB,CAAC,CAAA;IAE3F,mCAAmC;IACnC,IAAI,cAAc,IAAI,cAAc,KAAK,uBAAW,EAAE,CAAC;QACrD,OAAM;IACR,CAAC;IAED,IAAI,YAAY,GAAG,KAAK,CAAA;IACxB,KAAK,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,UAAU,EAAE,CAAC;QACpD,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YAC/B,YAAY,GAAG,IAAI,CAAA;QACrB,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;YAChC,CAAC;YAAC,OAAO,cAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,UAAU,EAAE,cAAc,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,gCAAU,CAAC,kBAAkB,EAAE,uBAAW,CAAC,CAAA;AAC/D,CAAC,CAAA,CAAA;AAxBY,QAAA,OAAO,WAwBnB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Storage, StorageKey, StorageKeyReturnType } from '@tezos-x/octez.connect-types';
|
|
2
|
+
/**
|
|
3
|
+
* @internalapi
|
|
4
|
+
*
|
|
5
|
+
* A storage that can be used in chrome extensions
|
|
6
|
+
*/
|
|
7
|
+
export declare class ChromeStorage implements Storage {
|
|
8
|
+
static isSupported(): Promise<boolean>;
|
|
9
|
+
get<K extends StorageKey>(key: K): Promise<StorageKeyReturnType[K]>;
|
|
10
|
+
set<K extends StorageKey>(key: K, value: StorageKeyReturnType[K]): Promise<void>;
|
|
11
|
+
delete<K extends StorageKey>(key: K): Promise<void>;
|
|
12
|
+
subscribeToStorageChanged(_callback: (arg: {
|
|
13
|
+
eventType: 'storageCleared' | 'entryModified';
|
|
14
|
+
key: string | null;
|
|
15
|
+
oldValue: string | null;
|
|
16
|
+
newValue: string | null;
|
|
17
|
+
}) => {}): Promise<void>;
|
|
18
|
+
getPrefixedKey(key: string): string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ChromeStorage = void 0;
|
|
13
|
+
const octez_connect_types_1 = require("@tezos-x/octez.connect-types");
|
|
14
|
+
/**
|
|
15
|
+
* @internalapi
|
|
16
|
+
*
|
|
17
|
+
* A storage that can be used in chrome extensions
|
|
18
|
+
*/
|
|
19
|
+
class ChromeStorage {
|
|
20
|
+
static isSupported() {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
return (typeof window !== 'undefined' &&
|
|
23
|
+
typeof chrome !== 'undefined' &&
|
|
24
|
+
Boolean(chrome) &&
|
|
25
|
+
Boolean(chrome.runtime) &&
|
|
26
|
+
Boolean(chrome.runtime.id));
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
get(key) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
return new Promise((resolve) => {
|
|
32
|
+
chrome.storage.local.get(null, (storageContent) => {
|
|
33
|
+
if (storageContent[key]) {
|
|
34
|
+
resolve(storageContent[key]);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
if (typeof octez_connect_types_1.defaultValues[key] === 'object') {
|
|
38
|
+
resolve(JSON.parse(JSON.stringify(octez_connect_types_1.defaultValues[key])));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
resolve(octez_connect_types_1.defaultValues[key]);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
set(key, value) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
return new Promise((resolve) => {
|
|
51
|
+
chrome.storage.local.set({ [key]: value }, () => {
|
|
52
|
+
resolve();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
delete(key) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
return new Promise((resolve) => {
|
|
60
|
+
chrome.storage.local.set({ [key]: undefined }, () => {
|
|
61
|
+
resolve();
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
subscribeToStorageChanged(_callback) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
// TODO
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
getPrefixedKey(key) {
|
|
72
|
+
return key;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.ChromeStorage = ChromeStorage;
|
|
76
|
+
//# sourceMappingURL=ChromeStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChromeStorage.js","sourceRoot":"","sources":["../../../src/storage/ChromeStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sEAAuG;AAEvG;;;;GAIG;AACH,MAAa,aAAa;IACjB,MAAM,CAAO,WAAW;;YAC7B,OAAO,CACL,OAAO,MAAM,KAAK,WAAW;gBAC7B,OAAO,MAAM,KAAK,WAAW;gBAC7B,OAAO,CAAC,MAAM,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAC3B,CAAA;QACH,CAAC;KAAA;IAEY,GAAG,CAAuB,GAAM;;YAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE;oBAChD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxB,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;oBAC9B,CAAC;yBAAM,CAAC;wBACN,IAAI,OAAO,mCAAa,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;4BAC3C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,mCAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;wBACzD,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,mCAAa,CAAC,GAAG,CAAC,CAAC,CAAA;wBAC7B,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAEY,GAAG,CAAuB,GAAM,EAAE,KAA8B;;YAC3E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE;oBAC9C,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAEY,MAAM,CAAuB,GAAM;;YAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE;oBAClD,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAEY,yBAAyB,CACpC,SAKQ;;YAER,OAAO;QACT,CAAC;KAAA;IAEM,cAAc,CAAC,GAAW;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAzDD,sCAyDC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Storage, StorageKey, StorageKeyReturnType } from '@tezos-x/octez.connect-types';
|
|
2
|
+
export declare class IndexedDBStorage extends Storage {
|
|
3
|
+
private readonly dbName;
|
|
4
|
+
private readonly storeNames;
|
|
5
|
+
private db;
|
|
6
|
+
private isSupported;
|
|
7
|
+
/**
|
|
8
|
+
* @param dbName Name of the database.
|
|
9
|
+
* @param storeNames An array of object store names to create in the database.
|
|
10
|
+
* The first store in the array will be used as the default if none is specified.
|
|
11
|
+
*/
|
|
12
|
+
constructor(dbName?: string, storeNames?: string[]);
|
|
13
|
+
private isIndexedDBSupported;
|
|
14
|
+
private initDB;
|
|
15
|
+
/**
|
|
16
|
+
* Performs a transaction on the given object store.
|
|
17
|
+
* @param mode Transaction mode.
|
|
18
|
+
* @param storeName The name of the object store.
|
|
19
|
+
* @param operation The operation to perform with the object store.
|
|
20
|
+
*/
|
|
21
|
+
private transaction;
|
|
22
|
+
/**
|
|
23
|
+
* Retrieves a value by key from the specified object store.
|
|
24
|
+
* If no store is specified, the default (first in the list) is used.
|
|
25
|
+
*/
|
|
26
|
+
get<K extends StorageKey>(key: K, storeName?: string): Promise<StorageKeyReturnType[K]>;
|
|
27
|
+
get(key: string, storeName?: string): Promise<string | undefined>;
|
|
28
|
+
/**
|
|
29
|
+
* Stores a key/value pair in the specified object store.
|
|
30
|
+
*/
|
|
31
|
+
set<K extends StorageKey>(key: K, value: StorageKeyReturnType[K], storeName?: string): Promise<void>;
|
|
32
|
+
set(key: string, value: string, storeName?: string): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Deletes an entry by key from the specified object store.
|
|
35
|
+
*/
|
|
36
|
+
delete<K extends StorageKey>(key: K, storeName?: string): Promise<void>;
|
|
37
|
+
delete(key: string, storeName?: string): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Retrieves all values from the specified object store.
|
|
40
|
+
*/
|
|
41
|
+
getAll(storeName?: string): Promise<string[]>;
|
|
42
|
+
/**
|
|
43
|
+
* Retrieves all keys from the specified object store.
|
|
44
|
+
*/
|
|
45
|
+
getAllKeys(storeName?: string): Promise<IDBValidKey[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Clears all entries from the specified object store.
|
|
48
|
+
*/
|
|
49
|
+
clearStore(storeName?: string): Promise<void>;
|
|
50
|
+
getPrefixedKey<K extends StorageKey>(key: K): string;
|
|
51
|
+
subscribeToStorageChanged(callback: (arg: {
|
|
52
|
+
eventType: 'storageCleared' | 'entryModified';
|
|
53
|
+
key: string | null;
|
|
54
|
+
oldValue: string | null;
|
|
55
|
+
newValue: string | null;
|
|
56
|
+
}) => {}): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Copies all key/value pairs from the source store into a target store.
|
|
59
|
+
* @param targetDBName Name of the target database.
|
|
60
|
+
* @param targetStoreName Name of the target object store.
|
|
61
|
+
* @param skipKeys Keys to skip.
|
|
62
|
+
* @param sourceStoreName (Optional) Source store name – defaults to the default store.
|
|
63
|
+
*/
|
|
64
|
+
fillStore(targetDBName: string, targetStoreName: string, skipKeys?: string[], sourceStoreName?: string): Promise<void>;
|
|
65
|
+
}
|