@tezos-x/octez.connect-core 0.9.0 → 5.0.0-beta.3
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 +3 -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 +13 -12
package/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# `@tezos-x/octez.connect-core`
|
|
2
2
|
|
|
3
|
-
This package is part of the `@tezos-x/octez.connect-sdk` project. [Read more](https://github.com/trilitech/octez.connect
|
|
3
|
+
This package is part of the `@tezos-x/octez.connect-sdk` project. [Read more](https://github.com/trilitech/octez.connect)
|
|
4
4
|
|
|
5
5
|
## Introduction
|
|
6
6
|
|
|
7
7
|
This package contains internal methods that are used by both the dApp and wallet client.
|
|
8
8
|
|
|
9
9
|
Unless you need to import types from this package, you probably don't need to add it to your project.
|
|
10
|
+
|
|
11
|
+
Check our documentation for more information. [Documentation](https://octez-connect.tezos.com)
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BACKEND_URL = exports.NOTIFICATION_ORACLE_URL = exports.BEACON_VERSION = exports.SDK_VERSION = void 0;
|
|
4
|
-
exports.SDK_VERSION = '0.
|
|
4
|
+
exports.SDK_VERSION = '1.0.0';
|
|
5
5
|
exports.BEACON_VERSION = '3';
|
|
6
6
|
exports.NOTIFICATION_ORACLE_URL = 'https://beacon-notification-oracle.dev.gke.papers.tech';
|
|
7
7
|
exports.BACKEND_URL = 'https://beacon-backend.prod.gke.papers.tech';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tezos-x/octez.connect-core",
|
|
3
|
+
"version": "5.0.0-beta.3",
|
|
4
|
+
"description": "This package contains internal methods that are used by both the dApp and wallet client.",
|
|
5
|
+
"author": "Blockchain Infra <blockchain.infra@trili.tech>",
|
|
6
|
+
"homepage": "https://octez-connect.tezos.com",
|
|
7
|
+
"license": "ISC",
|
|
8
|
+
"main": "dist/cjs/src/index.js",
|
|
9
|
+
"module": "dist/esm/src/index.js",
|
|
10
|
+
"types": "dist/esm/src/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
"require": "./dist/cjs/src/index.js",
|
|
13
|
+
"import": "./dist/esm/src/index.js"
|
|
14
|
+
},
|
|
15
|
+
"directories": {
|
|
16
|
+
"lib": "dist/esm",
|
|
17
|
+
"test": "__tests__"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"access": "public"
|
|
24
|
+
},
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/trilitech/octez.connect.git"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"tsc": "tsc -p tsconfig.json && tsc -p tsconfig-cjs.json",
|
|
31
|
+
"test": "jest"
|
|
32
|
+
},
|
|
33
|
+
"bugs": {
|
|
34
|
+
"url": "https://github.com/trilitech/octez.connect/issues"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@stablelib/ed25519": "^2.0.2",
|
|
38
|
+
"@stablelib/nacl": "^2.0.1",
|
|
39
|
+
"@stablelib/utf8": "^2.0.1",
|
|
40
|
+
"@stablelib/x25519-session": "^2.0.1",
|
|
41
|
+
"@tezos-x/octez.connect-types": "5.0.0-beta.3",
|
|
42
|
+
"@tezos-x/octez.connect-utils": "5.0.0-beta.3",
|
|
43
|
+
"broadcast-channel": "^7.1.0",
|
|
44
|
+
"bs58check": "4.0.0"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockAnalytics = void 0;
|
|
4
|
+
class MockAnalytics {
|
|
5
|
+
track(_trigger, _section, _label, _data) {
|
|
6
|
+
// console.log('##### TRACK', trigger, section, label, data)
|
|
7
|
+
// noop
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.MockAnalytics = MockAnalytics;
|
|
11
|
+
//# sourceMappingURL=MockAnalytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockAnalytics.js","sourceRoot":"","sources":["../../../src/MockAnalytics.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACxB,KAAK,CACH,QAA2B,EAC3B,QAAgB,EAChB,MAAc,EACd,KAA2B;QAE3B,4DAA4D;QAC5D,OAAO;IACT,CAAC;CACF;AAVD,sCAUC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type Callback = (message: unknown) => void;
|
|
2
|
+
/**
|
|
3
|
+
* A mock for postmessage if run in node.js environment
|
|
4
|
+
*/
|
|
5
|
+
declare let windowRef: {
|
|
6
|
+
postMessage: (message: string | Record<string, unknown>, _target?: string) => void;
|
|
7
|
+
addEventListener: (_name: string, eventCallback: Callback) => void;
|
|
8
|
+
removeEventListener: (_name: string, eventCallback: Callback) => void;
|
|
9
|
+
location: {
|
|
10
|
+
origin: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
declare const clearMockWindowState: () => void;
|
|
14
|
+
export { windowRef, clearMockWindowState };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.clearMockWindowState = exports.windowRef = void 0;
|
|
4
|
+
const cbs = [(_) => undefined];
|
|
5
|
+
/**
|
|
6
|
+
* A mock for postmessage if run in node.js environment
|
|
7
|
+
*/
|
|
8
|
+
let windowRef = {
|
|
9
|
+
postMessage: (message, _target) => {
|
|
10
|
+
console.log('GOT MOCK POST MESSAGE', message);
|
|
11
|
+
cbs.forEach((callbackElement) => {
|
|
12
|
+
callbackElement({ data: message });
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
addEventListener: (_name, eventCallback) => {
|
|
16
|
+
cbs.push(eventCallback);
|
|
17
|
+
},
|
|
18
|
+
removeEventListener: (_name, eventCallback) => {
|
|
19
|
+
cbs.splice(cbs.indexOf((element) => element === eventCallback), 1);
|
|
20
|
+
},
|
|
21
|
+
location: {
|
|
22
|
+
origin: '*'
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.windowRef = windowRef;
|
|
26
|
+
try {
|
|
27
|
+
if (typeof window !== 'undefined') {
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
|
+
exports.windowRef = windowRef = window;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch (windowError) {
|
|
33
|
+
console.log(`not defined: ${windowError}`);
|
|
34
|
+
}
|
|
35
|
+
const clearMockWindowState = () => {
|
|
36
|
+
cbs.length = 0;
|
|
37
|
+
};
|
|
38
|
+
exports.clearMockWindowState = clearMockWindowState;
|
|
39
|
+
//# sourceMappingURL=MockWindow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockWindow.js","sourceRoot":"","sources":["../../../src/MockWindow.ts"],"names":[],"mappings":";;;AAEA,MAAM,GAAG,GAAe,CAAC,CAAC,CAAU,EAAQ,EAAE,CAAC,SAAS,CAAC,CAAA;AAEzD;;GAEG;AACH,IAAI,SAAS,GAAG;IACd,WAAW,EAAE,CAAC,OAAyC,EAAE,OAAgB,EAAQ,EAAE;QACjF,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAA;QAC7C,GAAG,CAAC,OAAO,CAAC,CAAC,eAAyB,EAAE,EAAE;YACxC,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,gBAAgB,EAAE,CAAC,KAAa,EAAE,aAAuB,EAAQ,EAAE;QACjE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACzB,CAAC;IACD,mBAAmB,EAAE,CAAC,KAAa,EAAE,aAAuB,EAAQ,EAAE;QACpE,GAAG,CAAC,MAAM,CACR,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,EACnD,CAAC,CACF,CAAA;IACH,CAAC;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,GAAG;KACZ;CACF,CAAA;AAeQ,8BAAS;AAblB,IAAI,CAAC;IACH,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,8DAA8D;QAC9D,oBAAA,SAAS,GAAG,MAAa,CAAA;IAC3B,CAAC;AACH,CAAC;AAAC,OAAO,WAAW,EAAE,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,oBAAoB,GAAe,GAAS,EAAE;IAClD,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;AAChB,CAAC,CAAA;AAEmB,oDAAoB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internalapi
|
|
3
|
+
*
|
|
4
|
+
* The Serializer handles message serialization/deserialization based on protocol version
|
|
5
|
+
* - Protocol v1: Base58check encoding
|
|
6
|
+
* - Protocol v2+: Plain JSON
|
|
7
|
+
*/
|
|
8
|
+
export declare class Serializer {
|
|
9
|
+
private readonly protocolVersion;
|
|
10
|
+
constructor(protocolVersion?: number);
|
|
11
|
+
/**
|
|
12
|
+
* Serialize a message based on protocol version
|
|
13
|
+
* @param message JSON object to serialize
|
|
14
|
+
*/
|
|
15
|
+
serialize(message: unknown): Promise<string>;
|
|
16
|
+
/**
|
|
17
|
+
* Deserialize a message based on protocol version
|
|
18
|
+
* @param encoded String to be deserialized
|
|
19
|
+
*/
|
|
20
|
+
deserialize(encoded: string): Promise<unknown>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Serializer = void 0;
|
|
16
|
+
const bs58check_1 = __importDefault(require("bs58check"));
|
|
17
|
+
const constants_1 = require("./constants");
|
|
18
|
+
/**
|
|
19
|
+
* @internalapi
|
|
20
|
+
*
|
|
21
|
+
* The Serializer handles message serialization/deserialization based on protocol version
|
|
22
|
+
* - Protocol v1: Base58check encoding
|
|
23
|
+
* - Protocol v2+: Plain JSON
|
|
24
|
+
*/
|
|
25
|
+
class Serializer {
|
|
26
|
+
constructor(protocolVersion = constants_1.DEFAULT_PROTOCOL_VERSION) {
|
|
27
|
+
this.protocolVersion = protocolVersion;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Serialize a message based on protocol version
|
|
31
|
+
* @param message JSON object to serialize
|
|
32
|
+
*/
|
|
33
|
+
serialize(message) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const str = JSON.stringify(message);
|
|
36
|
+
if (this.protocolVersion >= constants_1.PROTOCOL_VERSION_V2) {
|
|
37
|
+
// v2+: Plain JSON
|
|
38
|
+
return str;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// v1: Base58check encoding
|
|
42
|
+
return bs58check_1.default.encode(Buffer.from(str));
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Deserialize a message based on protocol version
|
|
48
|
+
* @param encoded String to be deserialized
|
|
49
|
+
*/
|
|
50
|
+
deserialize(encoded) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
if (typeof encoded !== 'string') {
|
|
53
|
+
throw new Error('Encoded payload needs to be a string');
|
|
54
|
+
}
|
|
55
|
+
if (this.protocolVersion >= constants_1.PROTOCOL_VERSION_V2) {
|
|
56
|
+
// v2+: Plain JSON
|
|
57
|
+
return JSON.parse(encoded);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// v1: Base58check decoding
|
|
61
|
+
const decodedBytes = bs58check_1.default.decode(encoded);
|
|
62
|
+
const jsonString = Buffer.from(decodedBytes).toString('utf8');
|
|
63
|
+
return JSON.parse(jsonString);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.Serializer = Serializer;
|
|
69
|
+
//# sourceMappingURL=Serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../../../src/Serializer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAiC;AACjC,2CAA2E;AAE3E;;;;;;GAMG;AACH,MAAa,UAAU;IAGrB,YAAY,kBAA0B,oCAAwB;QAC5D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACxC,CAAC;IAED;;;OAGG;IACU,SAAS,CAAC,OAAgB;;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAEnC,IAAI,IAAI,CAAC,eAAe,IAAI,+BAAmB,EAAE,CAAC;gBAChD,kBAAkB;gBAClB,OAAO,GAAG,CAAA;YACZ,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,OAAO,mBAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;KAAA;IAED;;;OAGG;IACU,WAAW,CAAC,OAAe;;YACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACzD,CAAC;YAED,IAAI,IAAI,CAAC,eAAe,IAAI,+BAAmB,EAAE,CAAC;gBAChD,kBAAkB;gBAClB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,MAAM,YAAY,GAAG,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;KAAA;CACF;AA1CD,gCA0CC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ExposedPromise } from '@tezos-x/octez.connect-utils';
|
|
2
|
+
import { AnalyticsInterface, Storage } from '@tezos-x/octez.connect-types';
|
|
3
|
+
import { BeaconClientOptions } from './BeaconClientOptions';
|
|
4
|
+
import { KeyPair } from '@stablelib/ed25519';
|
|
5
|
+
/**
|
|
6
|
+
* @internalapi
|
|
7
|
+
*
|
|
8
|
+
* The beacon client is an abstract client that handles everything that is shared between all other clients.
|
|
9
|
+
* Specifically, it handles managing the beaconId and and the local keypair.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class BeaconClient {
|
|
12
|
+
/**
|
|
13
|
+
* The name of the client
|
|
14
|
+
*/
|
|
15
|
+
readonly name: string;
|
|
16
|
+
/**
|
|
17
|
+
* The URL of the dApp Icon. This can be used to display the icon of the dApp on in the wallet
|
|
18
|
+
*/
|
|
19
|
+
readonly iconUrl?: string;
|
|
20
|
+
/**
|
|
21
|
+
* The URL of the dApp.
|
|
22
|
+
*/
|
|
23
|
+
readonly appUrl?: string;
|
|
24
|
+
/** The beaconId is a public key that is used to identify one specific application (dapp or wallet).
|
|
25
|
+
* This is used inside a message to specify the sender, for example.
|
|
26
|
+
*/
|
|
27
|
+
protected _beaconId: ExposedPromise<string>;
|
|
28
|
+
get beaconId(): Promise<string>;
|
|
29
|
+
protected storage: Storage;
|
|
30
|
+
protected analytics: AnalyticsInterface;
|
|
31
|
+
/**
|
|
32
|
+
* The local keypair that is used for the communication encryption
|
|
33
|
+
*/
|
|
34
|
+
protected _keyPair: ExposedPromise<KeyPair>;
|
|
35
|
+
protected get keyPair(): Promise<KeyPair>;
|
|
36
|
+
constructor(config: BeaconClientOptions);
|
|
37
|
+
/**
|
|
38
|
+
* This resets the SDK. After using this method, this instance is no longer usable. You will have to instanciate a new client.
|
|
39
|
+
*/
|
|
40
|
+
destroy(): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* This method initializes the SDK by setting some values in the storage and generating a keypair.
|
|
43
|
+
*/
|
|
44
|
+
protected initSDK(): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Removes all beacon values from the storage.
|
|
47
|
+
*/
|
|
48
|
+
private removeBeaconEntriesFromStorage;
|
|
49
|
+
/**
|
|
50
|
+
* This method tries to load the seed from storage, if it doesn't exist, a new one will be created and persisted.
|
|
51
|
+
*/
|
|
52
|
+
private loadOrCreateBeaconSecret;
|
|
53
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
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.BeaconClient = void 0;
|
|
13
|
+
const octez_connect_utils_1 = require("@tezos-x/octez.connect-utils");
|
|
14
|
+
const octez_connect_utils_2 = require("@tezos-x/octez.connect-utils");
|
|
15
|
+
const octez_connect_types_1 = require("@tezos-x/octez.connect-types");
|
|
16
|
+
const constants_1 = require("../../constants");
|
|
17
|
+
const MockWindow_1 = require("../../MockWindow");
|
|
18
|
+
const MockAnalytics_1 = require("../../MockAnalytics");
|
|
19
|
+
/**
|
|
20
|
+
* @internalapi
|
|
21
|
+
*
|
|
22
|
+
* The beacon client is an abstract client that handles everything that is shared between all other clients.
|
|
23
|
+
* Specifically, it handles managing the beaconId and and the local keypair.
|
|
24
|
+
*/
|
|
25
|
+
class BeaconClient {
|
|
26
|
+
get beaconId() {
|
|
27
|
+
return this._beaconId.promise;
|
|
28
|
+
}
|
|
29
|
+
get keyPair() {
|
|
30
|
+
return this._keyPair.promise;
|
|
31
|
+
}
|
|
32
|
+
constructor(config) {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
/** The beaconId is a public key that is used to identify one specific application (dapp or wallet).
|
|
35
|
+
* This is used inside a message to specify the sender, for example.
|
|
36
|
+
*/
|
|
37
|
+
this._beaconId = new octez_connect_utils_1.ExposedPromise();
|
|
38
|
+
/**
|
|
39
|
+
* The local keypair that is used for the communication encryption
|
|
40
|
+
*/
|
|
41
|
+
this._keyPair = new octez_connect_utils_1.ExposedPromise();
|
|
42
|
+
if (!config.name) {
|
|
43
|
+
throw new Error('Name not set');
|
|
44
|
+
}
|
|
45
|
+
if (!config.storage) {
|
|
46
|
+
throw new Error('Storage not set');
|
|
47
|
+
}
|
|
48
|
+
this.name = config.name;
|
|
49
|
+
this.iconUrl = config.iconUrl;
|
|
50
|
+
this.appUrl = (_a = config.appUrl) !== null && _a !== void 0 ? _a : MockWindow_1.windowRef.location.origin;
|
|
51
|
+
this.storage = config.storage;
|
|
52
|
+
this.analytics = (_b = config.analytics) !== null && _b !== void 0 ? _b : new MockAnalytics_1.MockAnalytics();
|
|
53
|
+
// TODO: This is a temporary "workaround" to prevent users from creating multiple Client instances
|
|
54
|
+
if (MockWindow_1.windowRef.beaconCreatedClientInstance) {
|
|
55
|
+
console.error('[OCTEZ.CONNECT] It looks like you created multiple octez.connect SDK Client instances. This can lead to problems. Only create one instance and re-use it everywhere.');
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
;
|
|
59
|
+
MockWindow_1.windowRef.beaconCreatedClientInstance = true;
|
|
60
|
+
}
|
|
61
|
+
this.initSDK().catch(console.error);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* This resets the SDK. After using this method, this instance is no longer usable. You will have to instanciate a new client.
|
|
65
|
+
*/
|
|
66
|
+
destroy() {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
yield this.removeBeaconEntriesFromStorage();
|
|
69
|
+
MockWindow_1.windowRef.beaconCreatedClientInstance = false;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* This method initializes the SDK by setting some values in the storage and generating a keypair.
|
|
74
|
+
*/
|
|
75
|
+
initSDK() {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
this.storage.set(octez_connect_types_1.StorageKey.BEACON_SDK_VERSION, constants_1.SDK_VERSION).catch(console.error);
|
|
78
|
+
this.loadOrCreateBeaconSecret().catch(console.error);
|
|
79
|
+
return this.keyPair.then((keyPair) => {
|
|
80
|
+
this._beaconId.resolve((0, octez_connect_utils_2.toHex)(keyPair.publicKey));
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Removes all beacon values from the storage.
|
|
86
|
+
*/
|
|
87
|
+
removeBeaconEntriesFromStorage() {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
const allKeys = Object.values(octez_connect_types_1.StorageKey);
|
|
90
|
+
yield Promise.all(allKeys.map((key) => this.storage.delete(key)));
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* This method tries to load the seed from storage, if it doesn't exist, a new one will be created and persisted.
|
|
95
|
+
*/
|
|
96
|
+
loadOrCreateBeaconSecret() {
|
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
const storageValue = yield this.storage.get(octez_connect_types_1.StorageKey.BEACON_SDK_SECRET_SEED);
|
|
99
|
+
if (storageValue && typeof storageValue === 'string') {
|
|
100
|
+
this._keyPair.resolve(yield (0, octez_connect_utils_2.getKeypairFromSeed)(storageValue));
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
const key = yield (0, octez_connect_utils_2.generateGUID)();
|
|
104
|
+
yield this.storage.set(octez_connect_types_1.StorageKey.BEACON_SDK_SECRET_SEED, key);
|
|
105
|
+
this._keyPair.resolve(yield (0, octez_connect_utils_2.getKeypairFromSeed)(key));
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.BeaconClient = BeaconClient;
|
|
111
|
+
//# sourceMappingURL=BeaconClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BeaconClient.js","sourceRoot":"","sources":["../../../../../src/clients/beacon-client/BeaconClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AnalyticsInterface, Storage } from '@tezos-x/octez.connect-types';
|
|
2
|
+
/**
|
|
3
|
+
* @internalapi
|
|
4
|
+
*/
|
|
5
|
+
export interface BeaconClientOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Name of the application
|
|
8
|
+
*/
|
|
9
|
+
name: string;
|
|
10
|
+
/**
|
|
11
|
+
* A URL to the icon of the application
|
|
12
|
+
*/
|
|
13
|
+
iconUrl?: string;
|
|
14
|
+
/**
|
|
15
|
+
* A URL to the website of the application
|
|
16
|
+
*/
|
|
17
|
+
appUrl?: string;
|
|
18
|
+
/**
|
|
19
|
+
* The storage that will be used by the SDK
|
|
20
|
+
*/
|
|
21
|
+
storage: Storage;
|
|
22
|
+
/**
|
|
23
|
+
* The analytics instance that will be used by the SDK
|
|
24
|
+
*/
|
|
25
|
+
analytics?: AnalyticsInterface;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BeaconClientOptions.js","sourceRoot":"","sources":["../../../../../src/clients/beacon-client/BeaconClientOptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { ExposedPromise } from '@tezos-x/octez.connect-utils';
|
|
2
|
+
import { ConnectionContext, TransportType, TransportStatus, BeaconBaseMessage, AccountInfo, PeerInfo, AppMetadata, BeaconRequestMessage, BeaconMessageWrapper, NodeDistributions, Blockchain } from '@tezos-x/octez.connect-types';
|
|
3
|
+
import { BeaconClient } from '../beacon-client/BeaconClient';
|
|
4
|
+
import { AccountManager } from '../../managers/AccountManager';
|
|
5
|
+
import { ClientOptions } from './ClientOptions';
|
|
6
|
+
import { Transport } from '../../transports/Transport';
|
|
7
|
+
/**
|
|
8
|
+
* @internalapi
|
|
9
|
+
*
|
|
10
|
+
* This abstract class handles the a big part of the logic that is shared between the dapp and wallet client.
|
|
11
|
+
* For example, it selects and manages the transport and accounts.
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class Client extends BeaconClient {
|
|
14
|
+
protected readonly accountManager: AccountManager;
|
|
15
|
+
protected readonly blockchains: Map<string, Blockchain>;
|
|
16
|
+
protected handleResponse: (_event: BeaconRequestMessage | BeaconMessageWrapper<BeaconBaseMessage>, connectionInfo: ConnectionContext) => void;
|
|
17
|
+
/**
|
|
18
|
+
* How many requests can be sent after another
|
|
19
|
+
*/
|
|
20
|
+
protected readonly rateLimit: number;
|
|
21
|
+
/**
|
|
22
|
+
* The time window in seconds in which the "rateLimit" is checked
|
|
23
|
+
*/
|
|
24
|
+
protected readonly rateLimitWindowInSeconds: number;
|
|
25
|
+
/**
|
|
26
|
+
* Stores the times when requests have been made to determine if the rate limit has been reached
|
|
27
|
+
*/
|
|
28
|
+
protected requestCounter: number[];
|
|
29
|
+
protected readonly matrixNodes: NodeDistributions;
|
|
30
|
+
private transportListeners;
|
|
31
|
+
protected _transport: ExposedPromise<Transport<any>>;
|
|
32
|
+
protected get transport(): Promise<Transport<any>>;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the connection status of the Client
|
|
35
|
+
*/
|
|
36
|
+
get connectionStatus(): TransportStatus;
|
|
37
|
+
/**
|
|
38
|
+
* Returns whether or not the transaport is ready
|
|
39
|
+
*/
|
|
40
|
+
get ready(): Promise<void>;
|
|
41
|
+
constructor(config: ClientOptions);
|
|
42
|
+
protected cleanup(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Register a blockchain to the client
|
|
45
|
+
* @param chain The blockchain to register
|
|
46
|
+
*/
|
|
47
|
+
addBlockchain(chain: Blockchain): void;
|
|
48
|
+
/**
|
|
49
|
+
* Remove a blockchain from the client by its identifier
|
|
50
|
+
* @param chainIdentifier The identifier of the blockchain to remove
|
|
51
|
+
*/
|
|
52
|
+
removeBlockchain(chainIdentifier: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Return all locally known accounts
|
|
55
|
+
*/
|
|
56
|
+
getAccounts(): Promise<AccountInfo[]>;
|
|
57
|
+
/**
|
|
58
|
+
* Return the account by ID
|
|
59
|
+
* @param accountIdentifier The ID of an account
|
|
60
|
+
*/
|
|
61
|
+
getAccount(accountIdentifier: string): Promise<AccountInfo | undefined>;
|
|
62
|
+
/**
|
|
63
|
+
* Remove the account by ID
|
|
64
|
+
* @param accountIdentifier The ID of an account
|
|
65
|
+
*/
|
|
66
|
+
removeAccount(accountIdentifier: string): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Remove all locally stored accounts
|
|
69
|
+
*/
|
|
70
|
+
removeAllAccounts(): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Add a new request (current timestamp) to the pending requests, remove old ones and check if we are above the limit
|
|
73
|
+
*/
|
|
74
|
+
addRequestAndCheckIfRateLimited(): Promise<boolean>;
|
|
75
|
+
/**
|
|
76
|
+
* This method initializes the client. It will check if the connection should be established to a
|
|
77
|
+
* browser extension or if the P2P transport should be used.
|
|
78
|
+
*
|
|
79
|
+
* @param transport A transport that can be provided by the user
|
|
80
|
+
*/
|
|
81
|
+
init(transport: Transport<any, any, any>): Promise<TransportType>;
|
|
82
|
+
/**
|
|
83
|
+
* Returns the metadata of this DApp
|
|
84
|
+
*/
|
|
85
|
+
getOwnAppMetadata(): Promise<AppMetadata>;
|
|
86
|
+
/**
|
|
87
|
+
* Return all known peers
|
|
88
|
+
*/
|
|
89
|
+
getPeers(): Promise<PeerInfo[]>;
|
|
90
|
+
/**
|
|
91
|
+
* Add a new peer to the known peers
|
|
92
|
+
* @param peer The new peer to add
|
|
93
|
+
*/
|
|
94
|
+
addPeer(peer: PeerInfo): Promise<void>;
|
|
95
|
+
destroy(): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* A "setter" for when the transport needs to be changed.
|
|
98
|
+
*/
|
|
99
|
+
protected setTransport(transport?: Transport<any>): Promise<void>;
|
|
100
|
+
protected addListener(transport: Transport<any>): Promise<void>;
|
|
101
|
+
protected sendDisconnectToPeer(peer: PeerInfo, transport?: Transport<any>): Promise<void>;
|
|
102
|
+
protected findPeer(publicKey?: string): Promise<PeerInfo | undefined>;
|
|
103
|
+
private getLocalProtocolVersion;
|
|
104
|
+
private extractPeerProtocolVersion;
|
|
105
|
+
protected getPeerProtocolVersion(peer?: PeerInfo): number;
|
|
106
|
+
}
|