New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@airgap/beacon-dapp

Package Overview
Dependencies
Maintainers
1
Versions
122
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@airgap/beacon-dapp - npm Package Compare versions

Comparing version 2.5.0-beta.4 to 3.0.0-beta.0

4

dist/cjs/utils/tezblock-blockexplorer.js

@@ -68,4 +68,4 @@ "use strict";

_a[beacon_types_1.NetworkType.HANGZHOUNET] = 'https://hangzhounet.tezblock.io',
_a[beacon_types_1.NetworkType.IDIAZABALNET] = 'https://idiazabalnet.tezblock.io',
_a[beacon_types_1.NetworkType.CUSTOM] = 'https://granadanet.tezblock.io',
_a[beacon_types_1.NetworkType.ITHACANET] = 'https://ithacanet.tezblock.io',
_a[beacon_types_1.NetworkType.CUSTOM] = 'https://ithacanet.tezblock.io',
_a); }

@@ -72,0 +72,0 @@ var _this = _super.call(this, rpcUrls) || this;

@@ -21,3 +21,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

import { PostMessageTransport } from '@airgap/beacon-transport-postmessage';
import { getColorMode, setColorMode } from '@airgap/beacon-ui';
import { getColorMode, setColorMode, setDesktopList, setExtensionList, setWebList, setiOSList, getDesktopList, getExtensionList, getWebList, getiOSList } from '@airgap/beacon-ui';
const logger = new Logger('DAppClient');

@@ -75,53 +75,107 @@ /**

logger.log('handleResponse', 'Received message', message, connectionInfo);
if ((openRequest && message.type === BeaconMessageType.Acknowledge) ||
message.message.type === BeaconMessageType.Acknowledge // TODO: TYPE
) {
logger.log(`acknowledge message received for ${message.id}`);
console.timeLog(message.id, 'acknowledge');
this.events
.emit(BeaconEvent.ACKNOWLEDGE_RECEIVED, {
message: (_e = message.message) !== null && _e !== void 0 ? _e : message,
extraInfo: {},
walletInfo: yield this.getWalletInfo()
})
.catch(console.error);
}
else if (openRequest) {
if (message.type === BeaconMessageType.PermissionResponse && message.appMetadata) {
yield this.appMetadataManager.addAppMetadata(message.appMetadata);
if (message.version === '3') {
const typedMessage = message;
if (openRequest && typedMessage.message.type === BeaconMessageType.Acknowledge) {
logger.log(`acknowledge message received for ${message.id}`);
console.timeLog(message.id, 'acknowledge');
this.events
.emit(BeaconEvent.ACKNOWLEDGE_RECEIVED, {
message: typedMessage.message,
extraInfo: {},
walletInfo: yield this.getWalletInfo()
})
.catch(console.error);
}
console.timeLog(message.id, 'response');
console.timeEnd(message.id);
if (message.type === BeaconMessageType.Error || message.errorType) {
// TODO: Remove "any" once we remove support for v1 wallets
openRequest.reject(message);
else if (openRequest) {
const appMetadata = typedMessage.message /* Why is this unkown cast needed? */.blockchainData.appMetadata;
if (typedMessage.message.type === BeaconMessageType.PermissionResponse && appMetadata) {
yield this.appMetadataManager.addAppMetadata(appMetadata);
}
console.timeLog(typedMessage.id, 'response');
console.timeEnd(typedMessage.id);
if (typedMessage.message.type === BeaconMessageType.Error) {
openRequest.reject(typedMessage.message);
}
else {
openRequest.resolve({ message, connectionInfo });
}
this.openRequests.delete(typedMessage.id);
}
else {
openRequest.resolve({ message, connectionInfo });
if (typedMessage.message.type === BeaconMessageType.Disconnect) {
const relevantTransport = connectionInfo.origin === Origin.P2P
? this.p2pTransport
: (_e = this.postMessageTransport) !== null && _e !== void 0 ? _e : (yield this.transport);
if (relevantTransport) {
// TODO: Handle removing it from the right transport (if it was received from the non-active transport)
const peers = yield relevantTransport.getPeers();
const peer = peers.find((peerEl) => peerEl.senderId === message.senderId);
if (peer) {
yield relevantTransport.removePeer(peer);
yield this.removeAccountsForPeers([peer]);
yield this.events.emit(BeaconEvent.CHANNEL_CLOSED);
}
else {
logger.error('handleDisconnect', 'cannot find peer for sender ID', message.senderId);
}
}
}
else {
logger.error('handleResponse', 'no request found for id ', message.id);
}
}
this.openRequests.delete(message.id);
}
else {
if (message.type === BeaconMessageType.Disconnect ||
message.message.type === BeaconMessageType.Disconnect // TODO: TYPE
) {
const relevantTransport = connectionInfo.origin === Origin.P2P
? this.p2pTransport
: (_f = this.postMessageTransport) !== null && _f !== void 0 ? _f : (yield this.transport);
if (relevantTransport) {
// TODO: Handle removing it from the right transport (if it was received from the non-active transport)
const peers = yield relevantTransport.getPeers();
const peer = peers.find((peerEl) => peerEl.senderId === message.senderId);
if (peer) {
yield relevantTransport.removePeer(peer);
yield this.removeAccountsForPeers([peer]);
yield this.events.emit(BeaconEvent.CHANNEL_CLOSED);
}
else {
logger.error('handleDisconnect', 'cannot find peer for sender ID', message.senderId);
}
const typedMessage = message;
if (openRequest && typedMessage.type === BeaconMessageType.Acknowledge) {
logger.log(`acknowledge message received for ${message.id}`);
console.timeLog(message.id, 'acknowledge');
this.events
.emit(BeaconEvent.ACKNOWLEDGE_RECEIVED, {
message: typedMessage,
extraInfo: {},
walletInfo: yield this.getWalletInfo()
})
.catch(console.error);
}
else if (openRequest) {
if (typedMessage.type === BeaconMessageType.PermissionResponse &&
typedMessage.appMetadata) {
yield this.appMetadataManager.addAppMetadata(typedMessage.appMetadata);
}
console.timeLog(typedMessage.id, 'response');
console.timeEnd(typedMessage.id);
if (typedMessage.type === BeaconMessageType.Error || message.errorType) {
// TODO: Remove "any" once we remove support for v1 wallets
openRequest.reject(typedMessage);
}
else {
openRequest.resolve({ message, connectionInfo });
}
this.openRequests.delete(typedMessage.id);
}
else {
logger.error('handleResponse', 'no request found for id ', message.id);
if (typedMessage.type === BeaconMessageType.Disconnect ||
message.typedMessage.type === BeaconMessageType.Disconnect // TODO: TYPE
) {
const relevantTransport = connectionInfo.origin === Origin.P2P
? this.p2pTransport
: (_f = this.postMessageTransport) !== null && _f !== void 0 ? _f : (yield this.transport);
if (relevantTransport) {
// TODO: Handle removing it from the right transport (if it was received from the non-active transport)
const peers = yield relevantTransport.getPeers();
const peer = peers.find((peerEl) => peerEl.senderId === message.senderId);
if (peer) {
yield relevantTransport.removePeer(peer);
yield this.removeAccountsForPeers([peer]);
yield this.events.emit(BeaconEvent.CHANNEL_CLOSED);
}
else {
logger.error('handleDisconnect', 'cannot find peer for sender ID', message.senderId);
}
}
}
else {
logger.error('handleResponse', 'no request found for id ', message.id);
}
}

@@ -439,2 +493,8 @@ }

this.blockchains.set(chain.identifier, chain);
chain.getWalletLists().then((walletLists) => {
setDesktopList(walletLists.desktopList);
setExtensionList(walletLists.extensionList);
setWebList(walletLists.webList);
setiOSList(walletLists.iOSList);
});
}

@@ -876,2 +936,3 @@ removeBlockchain(chainIdentifier) {

getWalletInfo(peer, account) {
var _a, _b;
return __awaiter(this, void 0, void 0, function* () {

@@ -891,40 +952,42 @@ const selectedAccount = account ? account : yield this.getActiveAccount();

}
// const lowerCaseCompare = (str1?: string, str2?: string): boolean => {
// if (str1 && str2) {
// return str1.toLowerCase() === str2.toLowerCase()
// }
// return false
// }
// let selectedApp: WebApp | App | DesktopApp | ExtensionApp | undefined
// let type: 'extension' | 'mobile' | 'web' | 'desktop' | undefined
// // TODO: Remove once all wallets send the icon?
// if (iOSList.find((app) => lowerCaseCompare(app.name, walletInfo?.name))) {
// selectedApp = iOSList.find((app) => lowerCaseCompare(app.name, walletInfo?.name))
// type = 'mobile'
// } else if (webList.find((app) => lowerCaseCompare(app.name, walletInfo?.name))) {
// selectedApp = webList.find((app) => lowerCaseCompare(app.name, walletInfo?.name))
// type = 'web'
// } else if (desktopList.find((app) => lowerCaseCompare(app.name, walletInfo?.name))) {
// selectedApp = desktopList.find((app) => lowerCaseCompare(app.name, walletInfo?.name))
// type = 'desktop'
// } else if (extensionList.find((app) => lowerCaseCompare(app.name, walletInfo?.name))) {
// selectedApp = extensionList.find((app) => lowerCaseCompare(app.name, walletInfo?.name))
// type = 'extension'
// }
// if (selectedApp) {
// let deeplink: string | undefined
// if (selectedApp.hasOwnProperty('links')) {
// deeplink = (selectedApp as WebApp).links[
// selectedAccount?.network.type ?? this.preferredNetwork
// ]
// } else if (selectedApp.hasOwnProperty('deepLink')) {
// deeplink = (selectedApp as App).deepLink
// }
// return {
// name: walletInfo.name,
// icon: walletInfo.icon ?? selectedApp.logo,
// deeplink,
// type
// }
// }
const lowerCaseCompare = (str1, str2) => {
if (str1 && str2) {
return str1.toLowerCase() === str2.toLowerCase();
}
return false;
};
let selectedApp;
let type;
// TODO: Remove once all wallets send the icon?
if (getiOSList().find((app) => lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name))) {
selectedApp = getiOSList().find((app) => lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name));
type = 'mobile';
}
else if (getWebList().find((app) => lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name))) {
selectedApp = getWebList().find((app) => lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name));
type = 'web';
}
else if (getDesktopList().find((app) => lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name))) {
selectedApp = getDesktopList().find((app) => lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name));
type = 'desktop';
}
else if (getExtensionList().find((app) => lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name))) {
selectedApp = getExtensionList().find((app) => lowerCaseCompare(app.name, walletInfo === null || walletInfo === void 0 ? void 0 : walletInfo.name));
type = 'extension';
}
if (selectedApp) {
let deeplink;
if (selectedApp.hasOwnProperty('links')) {
deeplink = selectedApp.links[(_a = selectedAccount === null || selectedAccount === void 0 ? void 0 : selectedAccount.network.type) !== null && _a !== void 0 ? _a : this.preferredNetwork];
}
else if (selectedApp.hasOwnProperty('deepLink')) {
deeplink = selectedApp.deepLink;
}
return {
name: walletInfo.name,
icon: (_b = walletInfo.icon) !== null && _b !== void 0 ? _b : selectedApp.logo,
deeplink,
type
};
}
return walletInfo;

@@ -931,0 +994,0 @@ });

@@ -20,4 +20,4 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

[NetworkType.HANGZHOUNET]: 'https://hangzhounet.tezblock.io',
[NetworkType.IDIAZABALNET]: 'https://idiazabalnet.tezblock.io',
[NetworkType.CUSTOM]: 'https://granadanet.tezblock.io'
[NetworkType.ITHACANET]: 'https://ithacanet.tezblock.io',
[NetworkType.CUSTOM]: 'https://ithacanet.tezblock.io'
}) {

@@ -24,0 +24,0 @@ super(rpcUrls);

{
"name": "@airgap/beacon-dapp",
"version": "2.5.0-beta.4",
"version": "3.0.0-beta.0",
"description": "> TODO: description",

@@ -38,9 +38,9 @@ "author": "Andreas Gassmann <a.gassmann@papers.ch>",

"dependencies": {
"@airgap/beacon-core": "^2.5.0-beta.4",
"@airgap/beacon-transport-matrix": "^2.5.0-beta.4",
"@airgap/beacon-transport-postmessage": "^2.5.0-beta.4",
"@airgap/beacon-ui": "^2.5.0-beta.4",
"@airgap/beacon-core": "^3.0.0-beta.0",
"@airgap/beacon-transport-matrix": "^3.0.0-beta.0",
"@airgap/beacon-transport-postmessage": "^3.0.0-beta.0",
"@airgap/beacon-ui": "^3.0.0-beta.0",
"qrcode-generator": "1.4.4"
},
"gitHead": "90acde43c43ea6bab8ea06ff7b282124b35585c9"
"gitHead": "ffcd36eac1b9d227c31820d2d1ebdc53eedcee9e"
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc