@tezos-x/octez.connect-core 0.9.0 → 4.8.1
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/README.md +1 -1
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/package.json +46 -0
- package/dist/cjs/src/MockAnalytics.d.ts +4 -0
- package/dist/cjs/src/MockAnalytics.js +11 -0
- package/dist/cjs/src/MockAnalytics.js.map +1 -0
- package/dist/cjs/src/MockWindow.d.ts +14 -0
- package/dist/cjs/src/MockWindow.js +39 -0
- package/dist/cjs/src/MockWindow.js.map +1 -0
- package/dist/cjs/src/Serializer.d.ts +21 -0
- package/dist/cjs/src/Serializer.js +69 -0
- package/dist/cjs/src/Serializer.js.map +1 -0
- package/dist/cjs/src/clients/beacon-client/BeaconClient.d.ts +53 -0
- package/dist/cjs/src/clients/beacon-client/BeaconClient.js +111 -0
- package/dist/cjs/src/clients/beacon-client/BeaconClient.js.map +1 -0
- package/dist/cjs/src/clients/beacon-client/BeaconClientOptions.d.ts +26 -0
- package/dist/cjs/src/clients/beacon-client/BeaconClientOptions.js +3 -0
- package/dist/cjs/src/clients/beacon-client/BeaconClientOptions.js.map +1 -0
- package/dist/cjs/src/clients/client/Client.d.ts +106 -0
- package/dist/cjs/src/clients/client/Client.js +305 -0
- package/dist/cjs/src/clients/client/Client.js.map +1 -0
- package/dist/cjs/src/clients/client/ClientOptions.d.ts +42 -0
- package/dist/cjs/src/clients/client/ClientOptions.js +3 -0
- package/dist/cjs/src/clients/client/ClientOptions.js.map +1 -0
- package/dist/cjs/src/constants.d.ts +8 -0
- package/dist/cjs/src/constants.js +12 -0
- package/dist/cjs/src/constants.js.map +1 -0
- package/dist/cjs/src/debug.d.ts +2 -0
- package/dist/cjs/src/debug.js +17 -0
- package/dist/cjs/src/debug.js.map +1 -0
- package/dist/cjs/src/errors/AbortedBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/AbortedBeaconError.js +18 -0
- package/dist/cjs/src/errors/AbortedBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/BeaconError.d.ts +18 -0
- package/dist/cjs/src/errors/BeaconError.js +25 -0
- package/dist/cjs/src/errors/BeaconError.js.map +1 -0
- package/dist/cjs/src/errors/BroadcastBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/BroadcastBeaconError.js +18 -0
- package/dist/cjs/src/errors/BroadcastBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/EncryptionTypeNotSupportedBeaconError.d.ts +3 -0
- package/dist/cjs/src/errors/EncryptionTypeNotSupportedBeaconError.js +18 -0
- package/dist/cjs/src/errors/EncryptionTypeNotSupportedBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/NetworkNotSupportedBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/NetworkNotSupportedBeaconError.js +18 -0
- package/dist/cjs/src/errors/NetworkNotSupportedBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/NoAddressBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/NoAddressBeaconError.js +18 -0
- package/dist/cjs/src/errors/NoAddressBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/NoPrivateKeyBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/NoPrivateKeyBeaconError.js +18 -0
- package/dist/cjs/src/errors/NoPrivateKeyBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/NotGrantedBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/NotGrantedBeaconError.js +18 -0
- package/dist/cjs/src/errors/NotGrantedBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/ParametersInvalidBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/ParametersInvalidBeaconError.js +18 -0
- package/dist/cjs/src/errors/ParametersInvalidBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/SignatureTypeNotSupportedBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/SignatureTypeNotSupportedBeaconError.js +18 -0
- package/dist/cjs/src/errors/SignatureTypeNotSupportedBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/TooManyOperationsBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/TooManyOperationsBeaconError.js +18 -0
- package/dist/cjs/src/errors/TooManyOperationsBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/TransactionInvalidBeaconError.d.ts +14 -0
- package/dist/cjs/src/errors/TransactionInvalidBeaconError.js +23 -0
- package/dist/cjs/src/errors/TransactionInvalidBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/UnknownBeaconError.d.ts +9 -0
- package/dist/cjs/src/errors/UnknownBeaconError.js +18 -0
- package/dist/cjs/src/errors/UnknownBeaconError.js.map +1 -0
- package/dist/cjs/src/errors/error-codes.d.ts +170 -0
- package/dist/cjs/src/errors/error-codes.js +108 -0
- package/dist/cjs/src/errors/error-codes.js.map +1 -0
- package/dist/cjs/src/errors/get-error.d.ts +8 -0
- package/dist/cjs/src/errors/get-error.js +53 -0
- package/dist/cjs/src/errors/get-error.js.map +1 -0
- package/dist/cjs/src/index.d.ts +58 -0
- package/dist/cjs/src/index.js +119 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/managers/AccountManager.d.ts +18 -0
- package/dist/cjs/src/managers/AccountManager.js +73 -0
- package/dist/cjs/src/managers/AccountManager.js.map +1 -0
- package/dist/cjs/src/managers/AppMetadataManager.d.ts +16 -0
- package/dist/cjs/src/managers/AppMetadataManager.js +57 -0
- package/dist/cjs/src/managers/AppMetadataManager.js.map +1 -0
- package/dist/cjs/src/managers/PeerManager.d.ts +18 -0
- package/dist/cjs/src/managers/PeerManager.js +61 -0
- package/dist/cjs/src/managers/PeerManager.js.map +1 -0
- package/dist/cjs/src/managers/PermissionManager.d.ts +17 -0
- package/dist/cjs/src/managers/PermissionManager.js +64 -0
- package/dist/cjs/src/managers/PermissionManager.js.map +1 -0
- package/dist/cjs/src/managers/PermissionValidator.d.ts +16 -0
- package/dist/cjs/src/managers/PermissionValidator.js +58 -0
- package/dist/cjs/src/managers/PermissionValidator.js.map +1 -0
- package/dist/cjs/src/managers/StorageManager.d.ts +18 -0
- package/dist/cjs/src/managers/StorageManager.js +72 -0
- package/dist/cjs/src/managers/StorageManager.js.map +1 -0
- package/dist/cjs/src/message-protocol.d.ts +2 -0
- package/dist/cjs/src/message-protocol.js +12 -0
- package/dist/cjs/src/message-protocol.js.map +1 -0
- package/dist/cjs/src/migrations/migrate-0.7.0.d.ts +20 -0
- package/dist/cjs/src/migrations/migrate-0.7.0.js +44 -0
- package/dist/cjs/src/migrations/migrate-0.7.0.js.map +1 -0
- package/dist/cjs/src/migrations/migrations.d.ts +2 -0
- package/dist/cjs/src/migrations/migrations.js +44 -0
- package/dist/cjs/src/migrations/migrations.js.map +1 -0
- package/dist/cjs/src/storage/ChromeStorage.d.ts +19 -0
- package/dist/cjs/src/storage/ChromeStorage.js +77 -0
- package/dist/cjs/src/storage/ChromeStorage.js.map +1 -0
- package/dist/cjs/src/storage/IndexedDBStorage.d.ts +65 -0
- package/dist/cjs/src/storage/IndexedDBStorage.js +230 -0
- package/dist/cjs/src/storage/IndexedDBStorage.js.map +1 -0
- package/dist/cjs/src/storage/LocalStorage.d.ts +21 -0
- package/dist/cjs/src/storage/LocalStorage.js +92 -0
- package/dist/cjs/src/storage/LocalStorage.js.map +1 -0
- package/dist/cjs/src/storage/StorageValidator.d.ts +12 -0
- package/dist/cjs/src/storage/StorageValidator.js +110 -0
- package/dist/cjs/src/storage/StorageValidator.js.map +1 -0
- package/dist/cjs/src/storage/WCStorage.d.ts +15 -0
- package/dist/cjs/src/storage/WCStorage.js +84 -0
- package/dist/cjs/src/storage/WCStorage.js.map +1 -0
- package/dist/cjs/src/storage/getStorage.d.ts +5 -0
- package/dist/cjs/src/storage/getStorage.js +34 -0
- package/dist/cjs/src/storage/getStorage.js.map +1 -0
- package/dist/cjs/src/transports/Transport.d.ts +85 -0
- package/dist/cjs/src/transports/Transport.js +171 -0
- package/dist/cjs/src/transports/Transport.js.map +1 -0
- package/dist/cjs/src/transports/clients/ClientEvents.d.ts +6 -0
- package/dist/cjs/src/transports/clients/ClientEvents.js +3 -0
- package/dist/cjs/src/transports/clients/ClientEvents.js.map +1 -0
- package/dist/cjs/src/transports/clients/CommunicationClient.d.ts +47 -0
- package/dist/cjs/src/transports/clients/CommunicationClient.js +86 -0
- package/dist/cjs/src/transports/clients/CommunicationClient.js.map +1 -0
- package/dist/cjs/src/transports/clients/MessageBasedClient.d.ts +56 -0
- package/dist/cjs/src/transports/clients/MessageBasedClient.js +110 -0
- package/dist/cjs/src/transports/clients/MessageBasedClient.js.map +1 -0
- package/dist/cjs/src/utils/Logger.d.ts +33 -0
- package/dist/cjs/src/utils/Logger.js +98 -0
- package/dist/cjs/src/utils/Logger.js.map +1 -0
- package/dist/cjs/src/utils/assert-never.d.ts +6 -0
- package/dist/cjs/src/utils/assert-never.js +14 -0
- package/dist/cjs/src/utils/assert-never.js.map +1 -0
- package/dist/cjs/src/utils/diagnostics.d.ts +38 -0
- package/dist/cjs/src/utils/diagnostics.js +208 -0
- package/dist/cjs/src/utils/diagnostics.js.map +1 -0
- package/dist/cjs/src/utils/get-account-identifier.d.ts +10 -0
- package/dist/cjs/src/utils/get-account-identifier.js +39 -0
- package/dist/cjs/src/utils/get-account-identifier.js.map +1 -0
- package/dist/cjs/src/utils/get-sender-id.d.ts +8 -0
- package/dist/cjs/src/utils/get-sender-id.js +34 -0
- package/dist/cjs/src/utils/get-sender-id.js.map +1 -0
- package/dist/cjs/src/utils/message-utils.d.ts +2 -0
- package/dist/cjs/src/utils/message-utils.js +13 -0
- package/dist/cjs/src/utils/message-utils.js.map +1 -0
- package/dist/cjs/src/utils/multi-tab-channel.d.ts +17 -0
- package/dist/cjs/src/utils/multi-tab-channel.js +85 -0
- package/dist/cjs/src/utils/multi-tab-channel.js.map +1 -0
- package/dist/esm/constants.js +1 -1
- package/dist/esm/package.json +46 -0
- package/dist/esm/src/MockAnalytics.d.ts +4 -0
- package/dist/esm/src/MockAnalytics.js +7 -0
- package/dist/esm/src/MockAnalytics.js.map +1 -0
- package/dist/esm/src/MockWindow.d.ts +14 -0
- package/dist/esm/src/MockWindow.js +35 -0
- package/dist/esm/src/MockWindow.js.map +1 -0
- package/dist/esm/src/Serializer.d.ts +21 -0
- package/dist/esm/src/Serializer.js +50 -0
- package/dist/esm/src/Serializer.js.map +1 -0
- package/dist/esm/src/clients/beacon-client/BeaconClient.d.ts +53 -0
- package/dist/esm/src/clients/beacon-client/BeaconClient.js +103 -0
- package/dist/esm/src/clients/beacon-client/BeaconClient.js.map +1 -0
- package/dist/esm/src/clients/beacon-client/BeaconClientOptions.d.ts +26 -0
- package/dist/esm/src/clients/beacon-client/BeaconClientOptions.js +2 -0
- package/dist/esm/src/clients/beacon-client/BeaconClientOptions.js.map +1 -0
- package/dist/esm/src/clients/client/Client.d.ts +106 -0
- package/dist/esm/src/clients/client/Client.js +260 -0
- package/dist/esm/src/clients/client/Client.js.map +1 -0
- package/dist/esm/src/clients/client/ClientOptions.d.ts +42 -0
- package/dist/esm/src/clients/client/ClientOptions.js +2 -0
- package/dist/esm/src/clients/client/ClientOptions.js.map +1 -0
- package/dist/esm/src/constants.d.ts +8 -0
- package/dist/esm/src/constants.js +9 -0
- package/dist/esm/src/constants.js.map +1 -0
- package/dist/esm/src/debug.d.ts +2 -0
- package/dist/esm/src/debug.js +12 -0
- package/dist/esm/src/debug.js.map +1 -0
- package/dist/esm/src/errors/AbortedBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/AbortedBeaconError.js +14 -0
- package/dist/esm/src/errors/AbortedBeaconError.js.map +1 -0
- package/dist/esm/src/errors/BeaconError.d.ts +18 -0
- package/dist/esm/src/errors/BeaconError.js +24 -0
- package/dist/esm/src/errors/BeaconError.js.map +1 -0
- package/dist/esm/src/errors/BroadcastBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/BroadcastBeaconError.js +14 -0
- package/dist/esm/src/errors/BroadcastBeaconError.js.map +1 -0
- package/dist/esm/src/errors/EncryptionTypeNotSupportedBeaconError.d.ts +3 -0
- package/dist/esm/src/errors/EncryptionTypeNotSupportedBeaconError.js +18 -0
- package/dist/esm/src/errors/EncryptionTypeNotSupportedBeaconError.js.map +1 -0
- package/dist/esm/src/errors/NetworkNotSupportedBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/NetworkNotSupportedBeaconError.js +14 -0
- package/dist/esm/src/errors/NetworkNotSupportedBeaconError.js.map +1 -0
- package/dist/esm/src/errors/NoAddressBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/NoAddressBeaconError.js +14 -0
- package/dist/esm/src/errors/NoAddressBeaconError.js.map +1 -0
- package/dist/esm/src/errors/NoPrivateKeyBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/NoPrivateKeyBeaconError.js +14 -0
- package/dist/esm/src/errors/NoPrivateKeyBeaconError.js.map +1 -0
- package/dist/esm/src/errors/NotGrantedBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/NotGrantedBeaconError.js +14 -0
- package/dist/esm/src/errors/NotGrantedBeaconError.js.map +1 -0
- package/dist/esm/src/errors/ParametersInvalidBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/ParametersInvalidBeaconError.js +14 -0
- package/dist/esm/src/errors/ParametersInvalidBeaconError.js.map +1 -0
- package/dist/esm/src/errors/SignatureTypeNotSupportedBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/SignatureTypeNotSupportedBeaconError.js +14 -0
- package/dist/esm/src/errors/SignatureTypeNotSupportedBeaconError.js.map +1 -0
- package/dist/esm/src/errors/TooManyOperationsBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/TooManyOperationsBeaconError.js +14 -0
- package/dist/esm/src/errors/TooManyOperationsBeaconError.js.map +1 -0
- package/dist/esm/src/errors/TransactionInvalidBeaconError.d.ts +14 -0
- package/dist/esm/src/errors/TransactionInvalidBeaconError.js +20 -0
- package/dist/esm/src/errors/TransactionInvalidBeaconError.js.map +1 -0
- package/dist/esm/src/errors/UnknownBeaconError.d.ts +9 -0
- package/dist/esm/src/errors/UnknownBeaconError.js +14 -0
- package/dist/esm/src/errors/UnknownBeaconError.js.map +1 -0
- package/dist/esm/src/errors/error-codes.d.ts +170 -0
- package/dist/esm/src/errors/error-codes.js +111 -0
- package/dist/esm/src/errors/error-codes.js.map +1 -0
- package/dist/esm/src/errors/get-error.d.ts +8 -0
- package/dist/esm/src/errors/get-error.js +49 -0
- package/dist/esm/src/errors/get-error.js.map +1 -0
- package/dist/esm/src/index.d.ts +58 -0
- package/dist/esm/src/index.js +73 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/managers/AccountManager.d.ts +18 -0
- package/dist/esm/src/managers/AccountManager.js +44 -0
- package/dist/esm/src/managers/AccountManager.js.map +1 -0
- package/dist/esm/src/managers/AppMetadataManager.d.ts +16 -0
- package/dist/esm/src/managers/AppMetadataManager.js +32 -0
- package/dist/esm/src/managers/AppMetadataManager.js.map +1 -0
- package/dist/esm/src/managers/PeerManager.d.ts +18 -0
- package/dist/esm/src/managers/PeerManager.js +34 -0
- package/dist/esm/src/managers/PeerManager.js.map +1 -0
- package/dist/esm/src/managers/PermissionManager.d.ts +17 -0
- package/dist/esm/src/managers/PermissionManager.js +37 -0
- package/dist/esm/src/managers/PermissionManager.js.map +1 -0
- package/dist/esm/src/managers/PermissionValidator.d.ts +16 -0
- package/dist/esm/src/managers/PermissionValidator.js +43 -0
- package/dist/esm/src/managers/PermissionValidator.js.map +1 -0
- package/dist/esm/src/managers/StorageManager.d.ts +18 -0
- package/dist/esm/src/managers/StorageManager.js +50 -0
- package/dist/esm/src/managers/StorageManager.js.map +1 -0
- package/dist/esm/src/message-protocol.d.ts +2 -0
- package/dist/esm/src/message-protocol.js +7 -0
- package/dist/esm/src/message-protocol.js.map +1 -0
- package/dist/esm/src/migrations/migrate-0.7.0.d.ts +20 -0
- package/dist/esm/src/migrations/migrate-0.7.0.js +31 -0
- package/dist/esm/src/migrations/migrate-0.7.0.js.map +1 -0
- package/dist/esm/src/migrations/migrations.d.ts +2 -0
- package/dist/esm/src/migrations/migrations.js +31 -0
- package/dist/esm/src/migrations/migrations.js.map +1 -0
- package/dist/esm/src/storage/ChromeStorage.d.ts +19 -0
- package/dist/esm/src/storage/ChromeStorage.js +54 -0
- package/dist/esm/src/storage/ChromeStorage.js.map +1 -0
- package/dist/esm/src/storage/IndexedDBStorage.d.ts +65 -0
- package/dist/esm/src/storage/IndexedDBStorage.js +212 -0
- package/dist/esm/src/storage/IndexedDBStorage.js.map +1 -0
- package/dist/esm/src/storage/LocalStorage.d.ts +21 -0
- package/dist/esm/src/storage/LocalStorage.js +70 -0
- package/dist/esm/src/storage/LocalStorage.js.map +1 -0
- package/dist/esm/src/storage/StorageValidator.d.ts +12 -0
- package/dist/esm/src/storage/StorageValidator.js +96 -0
- package/dist/esm/src/storage/StorageValidator.js.map +1 -0
- package/dist/esm/src/storage/WCStorage.d.ts +15 -0
- package/dist/esm/src/storage/WCStorage.js +64 -0
- package/dist/esm/src/storage/WCStorage.js.map +1 -0
- package/dist/esm/src/storage/getStorage.d.ts +5 -0
- package/dist/esm/src/storage/getStorage.js +21 -0
- package/dist/esm/src/storage/getStorage.js.map +1 -0
- package/dist/esm/src/transports/Transport.d.ts +85 -0
- package/dist/esm/src/transports/Transport.js +149 -0
- package/dist/esm/src/transports/Transport.js.map +1 -0
- package/dist/esm/src/transports/clients/ClientEvents.d.ts +6 -0
- package/dist/esm/src/transports/clients/ClientEvents.js +2 -0
- package/dist/esm/src/transports/clients/ClientEvents.js.map +1 -0
- package/dist/esm/src/transports/clients/CommunicationClient.d.ts +47 -0
- package/dist/esm/src/transports/clients/CommunicationClient.js +63 -0
- package/dist/esm/src/transports/clients/CommunicationClient.js.map +1 -0
- package/dist/esm/src/transports/clients/MessageBasedClient.d.ts +56 -0
- package/dist/esm/src/transports/clients/MessageBasedClient.js +84 -0
- package/dist/esm/src/transports/clients/MessageBasedClient.js.map +1 -0
- package/dist/esm/src/utils/Logger.d.ts +33 -0
- package/dist/esm/src/utils/Logger.js +92 -0
- package/dist/esm/src/utils/Logger.js.map +1 -0
- package/dist/esm/src/utils/assert-never.d.ts +6 -0
- package/dist/esm/src/utils/assert-never.js +11 -0
- package/dist/esm/src/utils/assert-never.js.map +1 -0
- package/dist/esm/src/utils/diagnostics.d.ts +38 -0
- package/dist/esm/src/utils/diagnostics.js +183 -0
- package/dist/esm/src/utils/diagnostics.js.map +1 -0
- package/dist/esm/src/utils/get-account-identifier.d.ts +10 -0
- package/dist/esm/src/utils/get-account-identifier.js +23 -0
- package/dist/esm/src/utils/get-account-identifier.js.map +1 -0
- package/dist/esm/src/utils/get-sender-id.d.ts +8 -0
- package/dist/esm/src/utils/get-sender-id.js +18 -0
- package/dist/esm/src/utils/get-sender-id.js.map +1 -0
- package/dist/esm/src/utils/message-utils.d.ts +2 -0
- package/dist/esm/src/utils/message-utils.js +9 -0
- package/dist/esm/src/utils/message-utils.js.map +1 -0
- package/dist/esm/src/utils/multi-tab-channel.d.ts +17 -0
- package/dist/esm/src/utils/multi-tab-channel.js +66 -0
- package/dist/esm/src/utils/multi-tab-channel.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,171 @@
|
|
|
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.Transport = void 0;
|
|
13
|
+
const Logger_1 = require("../utils/Logger");
|
|
14
|
+
const octez_connect_types_1 = require("@tezos-x/octez.connect-types");
|
|
15
|
+
const logger = new Logger_1.Logger('Transport');
|
|
16
|
+
/**
|
|
17
|
+
* @internalapi
|
|
18
|
+
*
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
class Transport {
|
|
22
|
+
setEventHandler(event, fun) {
|
|
23
|
+
this.client.eventHandlers.set(event, fun);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Return the status of the connection
|
|
27
|
+
*/
|
|
28
|
+
get connectionStatus() {
|
|
29
|
+
return this._isConnected;
|
|
30
|
+
}
|
|
31
|
+
constructor(name, client, peerManager) {
|
|
32
|
+
/**
|
|
33
|
+
* The type of the transport
|
|
34
|
+
*/
|
|
35
|
+
this.type = octez_connect_types_1.TransportType.POST_MESSAGE;
|
|
36
|
+
/**
|
|
37
|
+
* The status of the transport
|
|
38
|
+
*/
|
|
39
|
+
this._isConnected = octez_connect_types_1.TransportStatus.NOT_CONNECTED;
|
|
40
|
+
/**
|
|
41
|
+
* The listeners that will be notified when new messages are coming in
|
|
42
|
+
*/
|
|
43
|
+
this.listeners = [];
|
|
44
|
+
this.name = name;
|
|
45
|
+
this.client = client;
|
|
46
|
+
this.peerManager = peerManager;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Returns a promise that resolves to true if the transport is available, false if it is not
|
|
50
|
+
*/
|
|
51
|
+
static isAvailable() {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
return Promise.resolve(false);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Connect the transport
|
|
58
|
+
*/
|
|
59
|
+
connect() {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
logger.log('connect');
|
|
62
|
+
this._isConnected = octez_connect_types_1.TransportStatus.CONNECTED;
|
|
63
|
+
return;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Disconnect the transport
|
|
68
|
+
*/
|
|
69
|
+
disconnect() {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
logger.log('disconnect');
|
|
72
|
+
this._isConnected = octez_connect_types_1.TransportStatus.NOT_CONNECTED;
|
|
73
|
+
return;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Send a message through the transport
|
|
78
|
+
*
|
|
79
|
+
* @param message The message to send
|
|
80
|
+
* @param recipient The recipient of the message
|
|
81
|
+
*/
|
|
82
|
+
send(message, peer) {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
if (peer) {
|
|
85
|
+
return this.client.sendMessage(message, peer);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const knownPeers = yield this.getPeers();
|
|
89
|
+
// A broadcast request has to be sent everywhere.
|
|
90
|
+
const promises = knownPeers.map((peerEl) => this.client.sendMessage(message, peerEl));
|
|
91
|
+
return (yield Promise.all(promises))[0];
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Add a listener to be called when a new message is received
|
|
97
|
+
*
|
|
98
|
+
* @param listener The listener that will be registered
|
|
99
|
+
*/
|
|
100
|
+
addListener(listener) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
logger.debug('addListener');
|
|
103
|
+
this.listeners.push(listener);
|
|
104
|
+
return;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Remove a listener
|
|
109
|
+
*
|
|
110
|
+
* @param listener
|
|
111
|
+
*/
|
|
112
|
+
removeListener(listener) {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
logger.log('removeListener');
|
|
115
|
+
this.listeners = this.listeners.filter((element) => element !== listener);
|
|
116
|
+
return;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
getPeers() {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
return this.peerManager.getPeers(); // TODO: Fix type
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
addPeer(newPeer_1) {
|
|
125
|
+
return __awaiter(this, arguments, void 0, function* (newPeer, _sendPairingResponse = true) {
|
|
126
|
+
logger.log('addPeer', 'adding peer', newPeer);
|
|
127
|
+
yield this.peerManager.addPeer(newPeer); // TODO: Fix type
|
|
128
|
+
yield this.listen(newPeer.publicKey);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
removePeer(peerToBeRemoved) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
logger.log('removePeer', 'removing peer', peerToBeRemoved);
|
|
134
|
+
yield this.peerManager.removePeer(peerToBeRemoved.publicKey);
|
|
135
|
+
if (this.client) {
|
|
136
|
+
yield this.client.unsubscribeFromEncryptedMessage(peerToBeRemoved.publicKey);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
removeAllPeers() {
|
|
141
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
142
|
+
logger.log('removeAllPeers');
|
|
143
|
+
yield this.peerManager.removeAllPeers();
|
|
144
|
+
if (this.client) {
|
|
145
|
+
yield this.client.unsubscribeFromEncryptedMessages();
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Notify the listeners when a new message comes in
|
|
151
|
+
*
|
|
152
|
+
* @param message Message
|
|
153
|
+
* @param connectionInfo Context info about the connection
|
|
154
|
+
*/
|
|
155
|
+
notifyListeners(message, connectionInfo) {
|
|
156
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
157
|
+
if (this.listeners.length === 0) {
|
|
158
|
+
logger.warn('notifyListeners', '0 listeners notified!', this);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
logger.log('notifyListeners', `Notifying ${this.listeners.length} listeners`, this);
|
|
162
|
+
}
|
|
163
|
+
this.listeners.forEach((listener) => {
|
|
164
|
+
listener(message, connectionInfo);
|
|
165
|
+
});
|
|
166
|
+
return;
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
exports.Transport = Transport;
|
|
171
|
+
//# sourceMappingURL=Transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../../../src/transports/Transport.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwC;AACxC,sEAOqC;AAMrC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,WAAW,CAAC,CAAA;AAEtC;;;;GAIG;AACH,MAAsB,SAAS;IAqC7B,eAAe,CAAC,KAAmB,EAAE,GAAa;QAChD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC3C,CAAC;IAOD;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,YAAY,IAAY,EAAE,MAAS,EAAE,WAA2B;QA3ChE;;WAEG;QACa,SAAI,GAAkB,mCAAa,CAAC,YAAY,CAAA;QAOhE;;WAEG;QACO,iBAAY,GAAoB,qCAAe,CAAC,aAAa,CAAA;QAkBvE;;WAEG;QACK,cAAS,GAAsE,EAAE,CAAA;QAUvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;IAED;;OAEG;IACI,MAAM,CAAO,WAAW;;YAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;KAAA;IAED;;OAEG;IACU,OAAO;;YAClB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACrB,IAAI,CAAC,YAAY,GAAG,qCAAe,CAAC,SAAS,CAAA;YAE7C,OAAM;QACR,CAAC;KAAA;IAED;;OAEG;IACU,UAAU;;YACrB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACxB,IAAI,CAAC,YAAY,GAAG,qCAAe,CAAC,aAAa,CAAA;YAEjD,OAAM;QACR,CAAC;KAAA;IAED;;;;;OAKG;IACU,IAAI,CAAC,OAAe,EAAE,IAAe;;YAChD,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACxC,iDAAiD;gBACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;gBAErF,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;KAAA;IAED;;;;OAIG;IACU,WAAW,CACtB,QAAuE;;YAEvE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAE3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAE7B,OAAM;QACR,CAAC;KAAA;IAED;;;;OAIG;IACU,cAAc,CACzB,QAAsE;;YAEtE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;YAE5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAA;YAEzE,OAAM;QACR,CAAC;KAAA;IAEY,QAAQ;;YACnB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAS,CAAA,CAAC,iBAAiB;QAC7D,CAAC;KAAA;IAEY,OAAO;6DAAC,OAAU,EAAE,uBAAgC,IAAI;YACnE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;YAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAA6C,CAAC,CAAA,CAAC,iBAAiB;YAC/F,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACtC,CAAC;KAAA;IAEY,UAAU,CAAC,eAAkB;;YACxC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;YAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC5D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC;KAAA;IAEY,cAAc;;YACzB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;YAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAA;YACvC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,gCAAgC,EAAE,CAAA;YACtD,CAAC;QACH,CAAC;KAAA;IAED;;;;;OAKG;IACa,eAAe,CAC7B,OAAgB,EAChB,cAAiC;;YAEjC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAA;YAC/D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,YAAY,EAAE,IAAI,CAAC,CAAA;YACrF,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;YACnC,CAAC,CAAC,CAAA;YAEF,OAAM;QACR,CAAC;KAAA;CAGF;AAxLD,8BAwLC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientEvents.js","sourceRoot":"","sources":["../../../../../src/transports/clients/ClientEvents.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PeerInfoType } from '@tezos-x/octez.connect-types';
|
|
2
|
+
import { KeyPair } from '@stablelib/ed25519';
|
|
3
|
+
import { SessionKeys } from '@stablelib/x25519-session';
|
|
4
|
+
import { ClientEvents } from './ClientEvents';
|
|
5
|
+
/**
|
|
6
|
+
* @internalapi
|
|
7
|
+
*
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class CommunicationClient {
|
|
11
|
+
protected keyPair?: KeyPair | undefined;
|
|
12
|
+
constructor(keyPair?: KeyPair | undefined);
|
|
13
|
+
eventHandlers: Map<ClientEvents, Function>;
|
|
14
|
+
protected isMobileOS: () => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Get the public key
|
|
17
|
+
*/
|
|
18
|
+
getPublicKey(): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* get the public key hash
|
|
21
|
+
*/
|
|
22
|
+
getPublicKeyHash(): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Create a cryptobox server
|
|
25
|
+
*
|
|
26
|
+
* @param otherPublicKey
|
|
27
|
+
* @param selfKeypair
|
|
28
|
+
*/
|
|
29
|
+
protected createCryptoBoxServer(otherPublicKey: string, selfKeypair: KeyPair): Promise<SessionKeys>;
|
|
30
|
+
/**
|
|
31
|
+
* Create a cryptobox client
|
|
32
|
+
*
|
|
33
|
+
* @param otherPublicKey
|
|
34
|
+
* @param selfKeypair
|
|
35
|
+
*/
|
|
36
|
+
protected createCryptoBoxClient(otherPublicKey: string, selfKeypair: KeyPair): Promise<SessionKeys>;
|
|
37
|
+
/**
|
|
38
|
+
* Encrypt a message for a specific publicKey (receiver, asymmetric)
|
|
39
|
+
*
|
|
40
|
+
* @param recipientPublicKey
|
|
41
|
+
* @param message
|
|
42
|
+
*/
|
|
43
|
+
protected encryptMessageAsymmetric(recipientPublicKey: string, message: string): Promise<string>;
|
|
44
|
+
abstract unsubscribeFromEncryptedMessages(): Promise<void>;
|
|
45
|
+
abstract unsubscribeFromEncryptedMessage(senderPublicKey: string): Promise<void>;
|
|
46
|
+
abstract sendMessage(message: string, peer?: PeerInfoType): Promise<void>;
|
|
47
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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.CommunicationClient = void 0;
|
|
13
|
+
const octez_connect_utils_1 = require("@tezos-x/octez.connect-utils");
|
|
14
|
+
const ed25519_1 = require("@stablelib/ed25519");
|
|
15
|
+
const x25519_session_1 = require("@stablelib/x25519-session");
|
|
16
|
+
/**
|
|
17
|
+
* @internalapi
|
|
18
|
+
*
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
class CommunicationClient {
|
|
22
|
+
constructor(keyPair) {
|
|
23
|
+
this.keyPair = keyPair;
|
|
24
|
+
this.eventHandlers = new Map();
|
|
25
|
+
// todo move OS
|
|
26
|
+
this.isMobileOS = () => /(Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|Tablet|Windows Phone|SymbianOS|Kindle)/i.test(navigator.userAgent);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the public key
|
|
30
|
+
*/
|
|
31
|
+
getPublicKey() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
var _a;
|
|
34
|
+
return (0, octez_connect_utils_1.toHex)((_a = this.keyPair) === null || _a === void 0 ? void 0 : _a.publicKey);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* get the public key hash
|
|
39
|
+
*/
|
|
40
|
+
getPublicKeyHash() {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
return (0, octez_connect_utils_1.getHexHash)(this.keyPair.publicKey);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a cryptobox server
|
|
47
|
+
*
|
|
48
|
+
* @param otherPublicKey
|
|
49
|
+
* @param selfKeypair
|
|
50
|
+
*/
|
|
51
|
+
createCryptoBoxServer(otherPublicKey, selfKeypair) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
return (0, x25519_session_1.serverSessionKeys)({
|
|
54
|
+
publicKey: (0, ed25519_1.convertPublicKeyToX25519)(selfKeypair.publicKey),
|
|
55
|
+
secretKey: (0, ed25519_1.convertSecretKeyToX25519)(selfKeypair.secretKey)
|
|
56
|
+
}, (0, ed25519_1.convertPublicKeyToX25519)(Buffer.from(otherPublicKey, 'hex')));
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create a cryptobox client
|
|
61
|
+
*
|
|
62
|
+
* @param otherPublicKey
|
|
63
|
+
* @param selfKeypair
|
|
64
|
+
*/
|
|
65
|
+
createCryptoBoxClient(otherPublicKey, selfKeypair) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
return (0, x25519_session_1.clientSessionKeys)({
|
|
68
|
+
publicKey: (0, ed25519_1.convertPublicKeyToX25519)(selfKeypair.publicKey),
|
|
69
|
+
secretKey: (0, ed25519_1.convertSecretKeyToX25519)(selfKeypair.secretKey)
|
|
70
|
+
}, (0, ed25519_1.convertPublicKeyToX25519)(Buffer.from(otherPublicKey, 'hex')));
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Encrypt a message for a specific publicKey (receiver, asymmetric)
|
|
75
|
+
*
|
|
76
|
+
* @param recipientPublicKey
|
|
77
|
+
* @param message
|
|
78
|
+
*/
|
|
79
|
+
encryptMessageAsymmetric(recipientPublicKey, message) {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
return (0, octez_connect_utils_1.sealCryptobox)(message, Buffer.from(recipientPublicKey, 'hex'));
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.CommunicationClient = CommunicationClient;
|
|
86
|
+
//# sourceMappingURL=CommunicationClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationClient.js","sourceRoot":"","sources":["../../../../../src/transports/clients/CommunicationClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,sEAA+E;AAC/E,gDAAgG;AAChG,8DAA6F;AAE7F;;;;GAIG;AACH,MAAsB,mBAAmB;IACvC,YAAsB,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;QAEhC,kBAAa,GAAgC,IAAI,GAAG,EAAE,CAAA;QAE7D,eAAe;QACL,eAAU,GAAG,GAAY,EAAE,CACnC,+GAA+G,CAAC,IAAI,CAClH,SAAS,CAAC,SAAS,CACpB,CAAA;IARuC,CAAC;IAU3C;;OAEG;IACU,YAAY;;;YACvB,OAAO,IAAA,2BAAK,EAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,CAAC,CAAA;QACvC,CAAC;KAAA;IAED;;OAEG;IACU,gBAAgB;;YAC3B,OAAO,IAAA,gCAAU,EAAC,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC;KAAA;IAED;;;;;OAKG;IACa,qBAAqB,CACnC,cAAsB,EACtB,WAAoB;;YAEpB,OAAO,IAAA,kCAAiB,EACtB;gBACE,SAAS,EAAE,IAAA,kCAAwB,EAAC,WAAW,CAAC,SAAS,CAAC;gBAC1D,SAAS,EAAE,IAAA,kCAAwB,EAAC,WAAW,CAAC,SAAS,CAAC;aAC3D,EACD,IAAA,kCAAwB,EAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAC7D,CAAA;QACH,CAAC;KAAA;IAED;;;;;OAKG;IACa,qBAAqB,CACnC,cAAsB,EACtB,WAAoB;;YAEpB,OAAO,IAAA,kCAAiB,EACtB;gBACE,SAAS,EAAE,IAAA,kCAAwB,EAAC,WAAW,CAAC,SAAS,CAAC;gBAC1D,SAAS,EAAE,IAAA,kCAAwB,EAAC,WAAW,CAAC,SAAS,CAAC;aAC3D,EACD,IAAA,kCAAwB,EAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAC7D,CAAA;QACH,CAAC;KAAA;IAED;;;;;OAKG;IACa,wBAAwB,CACtC,kBAA0B,EAC1B,OAAe;;YAEf,OAAO,IAAA,mCAAa,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAA;QACvE,CAAC;KAAA;CAMF;AAhFD,kDAgFC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CommunicationClient } from './CommunicationClient';
|
|
2
|
+
import { PostMessagePairingRequest, PostMessagePairingResponse } from '@tezos-x/octez.connect-types';
|
|
3
|
+
import { KeyPair } from '@stablelib/ed25519';
|
|
4
|
+
/**
|
|
5
|
+
* @internalapi
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class MessageBasedClient extends CommunicationClient {
|
|
10
|
+
protected readonly name: string;
|
|
11
|
+
/**
|
|
12
|
+
* The listeners that will be notified of new messages
|
|
13
|
+
*/
|
|
14
|
+
protected abstract readonly activeListeners: Map<string, unknown>;
|
|
15
|
+
constructor(name: string, keyPair: KeyPair);
|
|
16
|
+
/**
|
|
17
|
+
* start the client and make sure all dependencies are ready
|
|
18
|
+
*/
|
|
19
|
+
start(): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Get the pairing request information. This will be shared with the peer during the connection setup
|
|
22
|
+
*/
|
|
23
|
+
getPairingRequestInfo(): Promise<PostMessagePairingRequest>;
|
|
24
|
+
/**
|
|
25
|
+
* Get the pairing response information. This will be shared with the peer during the connection setup
|
|
26
|
+
*/
|
|
27
|
+
getPairingResponseInfo(request: PostMessagePairingRequest): Promise<PostMessagePairingResponse>;
|
|
28
|
+
/**
|
|
29
|
+
* Unsubscribe from encrypted messages from a specific peer
|
|
30
|
+
*
|
|
31
|
+
* @param senderPublicKey
|
|
32
|
+
*/
|
|
33
|
+
unsubscribeFromEncryptedMessage(senderPublicKey: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Unsubscribe from all encrypted messages
|
|
36
|
+
*/
|
|
37
|
+
unsubscribeFromEncryptedMessages(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Decrypt a message from a specific peer
|
|
40
|
+
*
|
|
41
|
+
* @param senderPublicKey
|
|
42
|
+
* @param payload
|
|
43
|
+
*/
|
|
44
|
+
protected decryptMessage(senderPublicKey: string, payload: string): Promise<string>;
|
|
45
|
+
/**
|
|
46
|
+
* Encrypt a message for a specific publicKey (receiver)
|
|
47
|
+
*
|
|
48
|
+
* @param recipientPublicKey
|
|
49
|
+
* @param message
|
|
50
|
+
*/
|
|
51
|
+
protected encryptMessage(recipientPublicKey: string, message: string): Promise<string>;
|
|
52
|
+
/**
|
|
53
|
+
* Initialize the connection
|
|
54
|
+
*/
|
|
55
|
+
abstract init(): Promise<void>;
|
|
56
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
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.MessageBasedClient = void 0;
|
|
13
|
+
const constants_1 = require("../../constants");
|
|
14
|
+
const message_protocol_1 = require("../../message-protocol");
|
|
15
|
+
const octez_connect_utils_1 = require("@tezos-x/octez.connect-utils");
|
|
16
|
+
const CommunicationClient_1 = require("./CommunicationClient");
|
|
17
|
+
const octez_connect_types_1 = require("@tezos-x/octez.connect-types");
|
|
18
|
+
/**
|
|
19
|
+
* @internalapi
|
|
20
|
+
*
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
class MessageBasedClient extends CommunicationClient_1.CommunicationClient {
|
|
24
|
+
constructor(name, keyPair) {
|
|
25
|
+
super(keyPair);
|
|
26
|
+
this.name = name;
|
|
27
|
+
this.init().catch(console.error);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* start the client and make sure all dependencies are ready
|
|
31
|
+
*/
|
|
32
|
+
start() {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
yield Promise.resolve();
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get the pairing request information. This will be shared with the peer during the connection setup
|
|
39
|
+
*/
|
|
40
|
+
getPairingRequestInfo() {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
return new octez_connect_types_1.PostMessagePairingRequest(yield (0, octez_connect_utils_1.generateGUID)(), this.name, yield this.getPublicKey(), constants_1.BEACON_VERSION, (0, message_protocol_1.getPreferredMessageProtocolVersion)());
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get the pairing response information. This will be shared with the peer during the connection setup
|
|
47
|
+
*/
|
|
48
|
+
getPairingResponseInfo(request) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
return new octez_connect_types_1.PostMessagePairingResponse(request.id, this.name, yield this.getPublicKey(), request.version, (0, message_protocol_1.getPreferredMessageProtocolVersion)());
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Unsubscribe from encrypted messages from a specific peer
|
|
55
|
+
*
|
|
56
|
+
* @param senderPublicKey
|
|
57
|
+
*/
|
|
58
|
+
unsubscribeFromEncryptedMessage(senderPublicKey) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
const listener = this.activeListeners.get(senderPublicKey);
|
|
61
|
+
if (!listener) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
this.activeListeners.delete(senderPublicKey);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Unsubscribe from all encrypted messages
|
|
69
|
+
*/
|
|
70
|
+
unsubscribeFromEncryptedMessages() {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
this.activeListeners.clear();
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Decrypt a message from a specific peer
|
|
77
|
+
*
|
|
78
|
+
* @param senderPublicKey
|
|
79
|
+
* @param payload
|
|
80
|
+
*/
|
|
81
|
+
decryptMessage(senderPublicKey, payload) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const sharedKey = yield this.createCryptoBoxServer(senderPublicKey, this.keyPair);
|
|
84
|
+
const hexPayload = Buffer.from(payload, 'hex');
|
|
85
|
+
if (hexPayload.length >= octez_connect_utils_1.secretbox_NONCEBYTES + octez_connect_utils_1.secretbox_MACBYTES) {
|
|
86
|
+
try {
|
|
87
|
+
return yield (0, octez_connect_utils_1.decryptCryptoboxPayload)(hexPayload, sharedKey.receive);
|
|
88
|
+
}
|
|
89
|
+
catch (decryptionError) {
|
|
90
|
+
/* NO-OP. We try to decode every message, but some might not be addressed to us. */
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
throw new Error('Could not decrypt message');
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Encrypt a message for a specific publicKey (receiver)
|
|
98
|
+
*
|
|
99
|
+
* @param recipientPublicKey
|
|
100
|
+
* @param message
|
|
101
|
+
*/
|
|
102
|
+
encryptMessage(recipientPublicKey, message) {
|
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
const sharedKey = yield this.createCryptoBoxClient(recipientPublicKey, this.keyPair);
|
|
105
|
+
return (0, octez_connect_utils_1.encryptCryptoboxPayload)(message, sharedKey.send);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.MessageBasedClient = MessageBasedClient;
|
|
110
|
+
//# sourceMappingURL=MessageBasedClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageBasedClient.js","sourceRoot":"","sources":["../../../../../src/transports/clients/MessageBasedClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAgD;AAChD,6DAA2E;AAC3E,sEAMqC;AACrC,+DAA2D;AAC3D,sEAAoG;AAGpG;;;;GAIG;AACH,MAAsB,kBAAmB,SAAQ,yCAAmB;IAMlE,YACqB,IAAY,EAC/B,OAAgB;QAEhB,KAAK,CAAC,OAAO,CAAC,CAAA;QAHK,SAAI,GAAJ,IAAI,CAAQ;QAI/B,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED;;OAEG;IACU,KAAK;;YAChB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACzB,CAAC;KAAA;IAED;;OAEG;IACU,qBAAqB;;YAChC,OAAO,IAAI,+CAAyB,CAClC,MAAM,IAAA,kCAAY,GAAE,EACpB,IAAI,CAAC,IAAI,EACT,MAAM,IAAI,CAAC,YAAY,EAAE,EACzB,0BAAc,EACd,IAAA,qDAAkC,GAAE,CACrC,CAAA;QACH,CAAC;KAAA;IAED;;OAEG;IACU,sBAAsB,CACjC,OAAkC;;YAElC,OAAO,IAAI,gDAA0B,CACnC,OAAO,CAAC,EAAE,EACV,IAAI,CAAC,IAAI,EACT,MAAM,IAAI,CAAC,YAAY,EAAE,EACzB,OAAO,CAAC,OAAO,EACf,IAAA,qDAAkC,GAAE,CACrC,CAAA;QACH,CAAC;KAAA;IAED;;;;OAIG;IACU,+BAA+B,CAAC,eAAuB;;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;YAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAM;YACR,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QAC9C,CAAC;KAAA;IAED;;OAEG;IACU,gCAAgC;;YAC3C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAC9B,CAAC;KAAA;IAED;;;;;OAKG;IACa,cAAc,CAAC,eAAuB,EAAE,OAAe;;YACrE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,IAAI,CAAC,OAAQ,CAAC,CAAA;YAElF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAE9C,IAAI,UAAU,CAAC,MAAM,IAAI,0CAAoB,GAAG,wCAAkB,EAAE,CAAC;gBACnE,IAAI,CAAC;oBACH,OAAO,MAAM,IAAA,6CAAuB,EAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;gBACrE,CAAC;gBAAC,OAAO,eAAe,EAAE,CAAC;oBACzB,mFAAmF;gBACrF,CAAC;YACH,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;KAAA;IAED;;;;;OAKG;IACa,cAAc,CAAC,kBAA0B,EAAE,OAAe;;YACxE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAQ,CAAC,CAAA;YAErF,OAAO,IAAA,6CAAuB,EAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC;KAAA;CAMF;AA5GD,gDA4GC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface LoggerInterface {
|
|
2
|
+
debug(method: string, ...args: any[]): void;
|
|
3
|
+
log(method: string, ...args: any[]): void;
|
|
4
|
+
warn(method: string, ...args: any[]): void;
|
|
5
|
+
error(method: string, ...args: any[]): void;
|
|
6
|
+
time(start: boolean, label?: string): void;
|
|
7
|
+
timeLog(method: string, ...args: any[]): void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The logger that is used internally
|
|
11
|
+
*/
|
|
12
|
+
export declare class InternalLogger implements LoggerInterface {
|
|
13
|
+
constructor();
|
|
14
|
+
debug(name: string, method: string, ...args: any[]): void;
|
|
15
|
+
log(name: string, method: string, ...args: any[]): void;
|
|
16
|
+
warn(name: string, method: string, ...args: any[]): void;
|
|
17
|
+
error(name: string, method: string, ...args: any[]): void;
|
|
18
|
+
time(start: boolean, label?: string | undefined): void;
|
|
19
|
+
timeLog(name: string, method: string, ...args: any[]): void;
|
|
20
|
+
private _log;
|
|
21
|
+
}
|
|
22
|
+
export declare class Logger implements LoggerInterface {
|
|
23
|
+
private readonly name;
|
|
24
|
+
constructor(service: string);
|
|
25
|
+
debug(method: string, ...args: any[]): void;
|
|
26
|
+
log(method: string, ...args: any[]): void;
|
|
27
|
+
warn(method: string, ...args: any[]): void;
|
|
28
|
+
error(method: string, ...args: any[]): void;
|
|
29
|
+
time(start: boolean, label?: string | undefined): void;
|
|
30
|
+
timeLog(method: string, ...args: any[]): void;
|
|
31
|
+
}
|
|
32
|
+
export declare const setLogger: (newLogger: LoggerInterface) => void;
|
|
33
|
+
export declare const getLogger: () => LoggerInterface;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLogger = exports.setLogger = exports.Logger = exports.InternalLogger = void 0;
|
|
4
|
+
const debug_1 = require("../debug");
|
|
5
|
+
/**
|
|
6
|
+
* The logger that is used internally
|
|
7
|
+
*/
|
|
8
|
+
class InternalLogger {
|
|
9
|
+
constructor() { }
|
|
10
|
+
debug(name, method, ...args) {
|
|
11
|
+
this._log('debug', name, method, args);
|
|
12
|
+
}
|
|
13
|
+
log(name, method, ...args) {
|
|
14
|
+
this._log('log', name, method, args);
|
|
15
|
+
}
|
|
16
|
+
warn(name, method, ...args) {
|
|
17
|
+
this._log('warn', name, method, args);
|
|
18
|
+
}
|
|
19
|
+
error(name, method, ...args) {
|
|
20
|
+
this._log('error', name, method, args);
|
|
21
|
+
}
|
|
22
|
+
time(start, label) {
|
|
23
|
+
start ? console.time(label) : console.timeEnd(label);
|
|
24
|
+
}
|
|
25
|
+
timeLog(name, method, ...args) {
|
|
26
|
+
this._log('timeLog', name, method, args);
|
|
27
|
+
}
|
|
28
|
+
_log(type, name, method, args = []) {
|
|
29
|
+
if (!(0, debug_1.getDebugEnabled)()) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
let groupText = `[BEACON] ${new Date().toISOString()} [${name}](${method})`;
|
|
33
|
+
let data = args;
|
|
34
|
+
if (args[0] && typeof args[0] === 'string') {
|
|
35
|
+
groupText += ` ${args[0]}`;
|
|
36
|
+
data = args.slice(1);
|
|
37
|
+
}
|
|
38
|
+
switch (type) {
|
|
39
|
+
case 'error':
|
|
40
|
+
console.group(groupText);
|
|
41
|
+
console.error(...data);
|
|
42
|
+
break;
|
|
43
|
+
case 'warn':
|
|
44
|
+
console.group(groupText);
|
|
45
|
+
console.warn(...data);
|
|
46
|
+
break;
|
|
47
|
+
case 'debug':
|
|
48
|
+
console.groupCollapsed(groupText);
|
|
49
|
+
console.debug(...data);
|
|
50
|
+
break;
|
|
51
|
+
case 'timeLog':
|
|
52
|
+
console.group(groupText);
|
|
53
|
+
console.timeLog(...data);
|
|
54
|
+
break;
|
|
55
|
+
default:
|
|
56
|
+
console.group(groupText);
|
|
57
|
+
console.log(...data);
|
|
58
|
+
}
|
|
59
|
+
console.groupEnd();
|
|
60
|
+
// echo.group(echo.asWarning(`[BEACON] ${message}`))
|
|
61
|
+
// echo.log(echo.asWarning(`[${this.name}]`), echo.asAlert(`(${method})`), ...args)
|
|
62
|
+
// echo.groupEnd()
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.InternalLogger = InternalLogger;
|
|
66
|
+
class Logger {
|
|
67
|
+
constructor(service) {
|
|
68
|
+
this.name = service;
|
|
69
|
+
}
|
|
70
|
+
debug(method, ...args) {
|
|
71
|
+
logger.debug(this.name, method, args);
|
|
72
|
+
}
|
|
73
|
+
log(method, ...args) {
|
|
74
|
+
logger.log(this.name, method, args);
|
|
75
|
+
}
|
|
76
|
+
warn(method, ...args) {
|
|
77
|
+
logger.warn(this.name, method, args);
|
|
78
|
+
}
|
|
79
|
+
error(method, ...args) {
|
|
80
|
+
logger.error(this.name, method, args);
|
|
81
|
+
}
|
|
82
|
+
time(start, label) {
|
|
83
|
+
logger.time(start, label);
|
|
84
|
+
}
|
|
85
|
+
timeLog(method, ...args) {
|
|
86
|
+
logger.timeLog(method, args);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.Logger = Logger;
|
|
90
|
+
const loggerWrapper = new Logger('');
|
|
91
|
+
let logger = new InternalLogger();
|
|
92
|
+
const setLogger = (newLogger) => {
|
|
93
|
+
logger = newLogger;
|
|
94
|
+
};
|
|
95
|
+
exports.setLogger = setLogger;
|
|
96
|
+
const getLogger = () => loggerWrapper;
|
|
97
|
+
exports.getLogger = getLogger;
|
|
98
|
+
//# sourceMappingURL=Logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../../src/utils/Logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable prefer-arrow/prefer-arrow-functions */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.assertNever = assertNever;
|
|
5
|
+
/**
|
|
6
|
+
* A helper function to make sure if/elses and switch/cases are exhaustive
|
|
7
|
+
*
|
|
8
|
+
* @param empty The data that has to be empty
|
|
9
|
+
*/
|
|
10
|
+
function assertNever(empty) {
|
|
11
|
+
return empty;
|
|
12
|
+
}
|
|
13
|
+
/* eslint-enable prefer-arrow/prefer-arrow-functions */
|
|
14
|
+
//# sourceMappingURL=assert-never.js.map
|