UNPKG

@tezos-x/octez.connect-dapp

Version:

Use this package on your dApp to instanciate a DAppClient object and communicate to wallets.

35 lines • 1.49 kB
import { StorageKey, TransportStatus } from '@tezos-x/octez.connect-types'; import { Logger } from '@tezos-x/octez.connect-core'; import { WalletConnectTransport } from '@tezos-x/octez.connect-transport-walletconnect'; import { isMobileOS } from '@tezos-x/octez.connect-ui'; const logger = new Logger('DappWalletConnectTransport'); /** * @internalapi * * */ export class DappWalletConnectTransport extends WalletConnectTransport { constructor(name, keyPair, storage, wcOptions, isLeader) { super(name, keyPair, storage, StorageKey.TRANSPORT_WALLETCONNECT_PEERS_DAPP, wcOptions, isLeader); this.client.listenForChannelOpening(async (peer) => { await this.addPeer(peer); this._isConnected = isMobileOS(window) || (await isLeader()) ? TransportStatus.CONNECTED : TransportStatus.SECONDARY_TAB_CONNECTED; this.isReady.isPending() && this.isReady.resolve(true); if (this.newPeerListener) { this.newPeerListener(peer); this.newPeerListener = undefined; // TODO: Remove this once we use the id } }); } async listenForNewPeer(newPeerListener) { // logger.log('listenForNewPeer') this.newPeerListener = newPeerListener; } async stopListeningForNewPeers() { logger.log('stopListeningForNewPeers'); this.newPeerListener = undefined; } } //# sourceMappingURL=DappWalletConnectTransport.js.map