UNPKG

@airgap/beacon-dapp

Version:

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

34 lines • 1.3 kB
import { TransportStatus, StorageKey } from '@airgap/beacon-types'; import { Logger } from '@airgap/beacon-core'; import { PostMessageTransport } from '@airgap/beacon-transport-postmessage'; const logger = new Logger('DappPostMessageTransport'); /** * @internalapi * * */ export class DappPostMessageTransport extends PostMessageTransport { constructor(name, keyPair, storage) { super(name, keyPair, storage, StorageKey.TRANSPORT_POSTMESSAGE_PEERS_DAPP); } async startOpenChannelListener() { return this.client.listenForChannelOpening(async (peer) => { logger.log('connect', `received PostMessagePairingResponse`, peer); await this.addPeer(peer); this._isConnected = TransportStatus.CONNECTED; 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=DappPostMessageTransport.js.map