Socket
Socket
Sign inDemoInstall

@onekeyfe/hd-core

Package Overview
Dependencies
Maintainers
2
Versions
249
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@onekeyfe/hd-core - npm Package Compare versions

Comparing version 0.1.19 to 0.1.20

11

dist/events/firmware.d.ts
import { MessageFactoryFn } from './utils';
import { getBleFirmwareReleaseInfo, getFirmwareReleaseInfo } from '../api/firmware/releaseHelper';
import { Features } from '../types';
export declare const FIRMWARE_EVENT = "FIRMWARE_EVENT";

@@ -8,9 +9,15 @@ export declare const FIRMWARE: {

};
export declare type ReleaseInfoPayload = ReturnType<typeof getFirmwareReleaseInfo> & {
features: Features;
};
export interface ReleaseInfoEvent {
type: typeof FIRMWARE.RELEASE_INFO;
payload: ReturnType<typeof getFirmwareReleaseInfo>;
payload: ReleaseInfoPayload;
}
export declare type BleReleaseInfoPayload = ReturnType<typeof getBleFirmwareReleaseInfo> & {
features: Features;
};
export interface BleReleaseInfoEvent {
type: typeof FIRMWARE.BLE_RELEASE_INFO;
payload: ReturnType<typeof getBleFirmwareReleaseInfo>;
payload: BleReleaseInfoPayload;
}

@@ -17,0 +24,0 @@ export declare type FirmwareEvent = ReleaseInfoEvent | BleReleaseInfoEvent;

12

dist/index.d.ts

@@ -1149,9 +1149,15 @@ import EventEmitter, { EventEmitter as EventEmitter$1 } from 'events';

};
declare type ReleaseInfoPayload = ReturnType<typeof getFirmwareReleaseInfo> & {
features: Features;
};
interface ReleaseInfoEvent {
type: typeof FIRMWARE.RELEASE_INFO;
payload: ReturnType<typeof getFirmwareReleaseInfo>;
payload: ReleaseInfoPayload;
}
declare type BleReleaseInfoPayload = ReturnType<typeof getBleFirmwareReleaseInfo> & {
features: Features;
};
interface BleReleaseInfoEvent {
type: typeof FIRMWARE.BLE_RELEASE_INFO;
payload: ReturnType<typeof getBleFirmwareReleaseInfo>;
payload: BleReleaseInfoPayload;
}

@@ -1404,2 +1410,2 @@ declare type FirmwareEvent = ReleaseInfoEvent | BleReleaseInfoEvent;

export { AccountAddress, AccountAddresses, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BleReleaseInfoEvent, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConnectSettings, Core, CoreApi, CoreMessage, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesPayload, DeviceFirmwareRange, DeviceFlagsParams, DeviceMode, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSettingsParams, DeviceStatus, DeviceTypeMap, DeviceVerifyParams, DeviceVerifySignature, EVMAccessList, EVMAddress, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FirmwareEvent, FirmwareMessage, FirmwareProgress, FirmwareRange, FirmwareRelease, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareReleaseInfo, IFrameBridge, IFrameCallMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, ILocale, ITransportStatus, IVersionArray, KnownDevice, LOG, LOG_EVENT, LogEvent, LogEventMessage, LogOutput, LoggerNames, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, Params, PostMessageEvent, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, RemoteConfigResponse, Response, SearchDevice, SignedTransaction, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, TransactionOptions, TransportReleaseStatus, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePin, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createResponseMessage, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getHDPath, getLog, getLogger, getScriptType, getTimeStamp, httpRequest, init as initCore, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, versionCompare, versionSplit };
export { AccountAddress, AccountAddresses, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BleReleaseInfoEvent, BleReleaseInfoPayload, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConnectSettings, Core, CoreApi, CoreMessage, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesPayload, DeviceFirmwareRange, DeviceFlagsParams, DeviceMode, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSettingsParams, DeviceStatus, DeviceTypeMap, DeviceVerifyParams, DeviceVerifySignature, EVMAccessList, EVMAddress, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FirmwareEvent, FirmwareMessage, FirmwareProgress, FirmwareRange, FirmwareRelease, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareReleaseInfo, IFrameBridge, IFrameCallMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, ILocale, ITransportStatus, IVersionArray, KnownDevice, LOG, LOG_EVENT, LogEvent, LogEventMessage, LogOutput, LoggerNames, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, Params, PostMessageEvent, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, ReleaseInfoPayload, RemoteConfigResponse, Response, SearchDevice, SignedTransaction, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, TransactionOptions, TransportReleaseStatus, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePin, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createResponseMessage, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getHDPath, getLog, getLogger, getScriptType, getTimeStamp, httpRequest, init as initCore, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, versionCompare, versionSplit };
{
"name": "@onekeyfe/hd-core",
"version": "0.1.19",
"version": "0.1.20",
"description": "> TODO: description",

@@ -28,4 +28,4 @@ "author": "OneKey",

"dependencies": {
"@onekeyfe/hd-shared": "^0.1.19",
"@onekeyfe/hd-transport": "^0.1.19",
"@onekeyfe/hd-shared": "^0.1.20",
"@onekeyfe/hd-transport": "^0.1.20",
"axios": "^0.27.2",

@@ -41,3 +41,3 @@ "bignumber.js": "^9.0.2",

},
"gitHead": "bec3f099bb54a945e46941796e24ab7e7b739566"
"gitHead": "084ac7c73ede259f48702e4d3ffd4c146c37ecf6"
}

@@ -99,9 +99,15 @@ import { UI_REQUEST } from '../constants/ui-request';

const releaseInfo = getFirmwareReleaseInfo(this.device.features);
if (['outdated', 'required'].includes(releaseInfo.status)) {
this.postMessage(createFirmwareMessage(FIRMWARE.RELEASE_INFO, releaseInfo));
}
this.postMessage(
createFirmwareMessage(FIRMWARE.RELEASE_INFO, {
...releaseInfo,
features: this.device.features,
})
);
const bleReleaseInfo = getBleFirmwareReleaseInfo(this.device.features);
if (['outdated', 'required'].includes(bleReleaseInfo.status)) {
this.postMessage(createFirmwareMessage(FIRMWARE.BLE_RELEASE_INFO, bleReleaseInfo));
}
this.postMessage(
createFirmwareMessage(FIRMWARE.BLE_RELEASE_INFO, {
...bleReleaseInfo,
features: this.device.features,
})
);
}

@@ -108,0 +114,0 @@

@@ -13,2 +13,3 @@ import { GetAddress } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -15,0 +16,0 @@

@@ -14,2 +14,3 @@ import { GetPublicKey } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -16,0 +17,0 @@

@@ -11,2 +11,3 @@ import { SignMessage } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -13,0 +14,0 @@

@@ -28,2 +28,3 @@ import { TxInputType, TxOutputType } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -30,0 +31,0 @@

@@ -11,2 +11,3 @@ import { VerifyMessage } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -13,0 +14,0 @@

@@ -13,2 +13,3 @@ import { CipherKeyValue as HardwareCipherKeyValue } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -15,0 +16,0 @@

@@ -12,2 +12,3 @@ import { EthereumGetAddress } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -14,0 +15,0 @@

@@ -12,2 +12,3 @@ import { EthereumGetPublicKey } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -14,0 +15,0 @@

@@ -10,2 +10,3 @@ import { EthereumSignMessage } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -12,0 +13,0 @@

@@ -10,2 +10,3 @@ import { EthereumSignMessageEIP712 } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -12,0 +13,0 @@

@@ -25,2 +25,3 @@ import { EthereumSignTx, EthereumSignTxEIP1559, EthereumTxRequest } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -27,0 +28,0 @@

@@ -29,2 +29,3 @@ import semver from 'semver';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -31,0 +32,0 @@

@@ -9,2 +9,3 @@ import { EthereumVerifyMessage } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -11,0 +12,0 @@

@@ -14,2 +14,3 @@ import { NEMGetAddress as HardwareNEMGetAddress } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -16,0 +17,0 @@

@@ -230,2 +230,3 @@ import {

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -232,0 +233,0 @@

@@ -12,2 +12,3 @@ import { SolanaGetAddress } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -14,0 +15,0 @@

@@ -13,2 +13,3 @@ import { SolanaSignTx as HardwareSolanaSignTx } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -15,0 +16,0 @@

@@ -12,2 +12,3 @@ import { StarcoinGetAddress as HardwareStarcoinGetAddress } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -14,0 +15,0 @@

@@ -15,2 +15,3 @@ import { StarcoinGetPublicKey as HardwareStarcoinGetPublicKey } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -17,0 +18,0 @@

@@ -10,2 +10,3 @@ import { StarcoinSignMessage as HardwareStarcoinSignMessage } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -12,0 +13,0 @@

@@ -10,2 +10,3 @@ import { StarcoinSignTx } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -12,0 +13,0 @@

@@ -9,2 +9,3 @@ import { StarcoinVerifyMessage as HardwareStarcoinVerifyMessage } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -11,0 +12,0 @@

@@ -12,2 +12,3 @@ import { StellarGetAddress as HardwareStellarGetAddress } from '@onekeyfe/hd-transport';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -14,0 +15,0 @@

@@ -1,5 +0,2 @@

import {
StellarSignedTx,
StellarSignTx as HardwareStellarSignTx,
} from '@onekeyfe/hd-transport';
import { StellarSignedTx, StellarSignTx as HardwareStellarSignTx } from '@onekeyfe/hd-transport';
import { UI_REQUEST } from '../../constants/ui-request';

@@ -149,2 +146,3 @@ import { validatePath } from '../helpers/pathUtils';

init() {
this.checkDeviceId = true;
this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];

@@ -151,0 +149,0 @@

@@ -98,5 +98,3 @@ import semver from 'semver';

device.on(DEVICE.PIN, onDevicePinHandler);
device.on(DEVICE.BUTTON, (d, code) => {
onDeviceButtonHandler(d, code);
});
device.on(DEVICE.BUTTON, onDeviceButtonHandler);
device.on(DEVICE.FEATURES, onDeviceFeaturesHandler);

@@ -219,2 +217,4 @@

cleanup();
removeDeviceListener(device);
// TODO: 方法执行后,检查队列内是否有等待调用的 API,依次调用

@@ -322,3 +322,8 @@ }

Log.debug('device list error: ', error);
if (error.errorCode === HardwareErrorCode.BridgeNotInstalled) {
if (
[HardwareErrorCode.BridgeNotInstalled, HardwareErrorCode.BridgeTimeoutError].includes(
error.errorCode
)
) {
_deviceList = undefined;
reject(error);

@@ -403,2 +408,8 @@ return;

const removeDeviceListener = (device: Device) => {
device.removeListener(DEVICE.PIN, onDevicePinHandler);
device.removeListener(DEVICE.BUTTON, onDeviceButtonHandler);
device.removeListener(DEVICE.FEATURES, onDeviceFeaturesHandler);
};
/**

@@ -405,0 +416,0 @@ * Force close popup

import EventEmitter from 'events';
import { OneKeyDeviceInfo as DeviceDescriptor } from '@onekeyfe/hd-transport';
import { createDeferred, Deferred, HardwareErrorCode, ERRORS } from '@onekeyfe/hd-shared';
import {
createDeferred,
Deferred,
HardwareErrorCode,
ERRORS,
HardwareError,
} from '@onekeyfe/hd-shared';

@@ -322,2 +328,5 @@ import DeviceConnector from './DeviceConnector';

this.runPromise = null;
if (error instanceof HardwareError) {
return Promise.reject(error);
}
return Promise.reject(

@@ -324,0 +333,0 @@ ERRORS.TypedError(

import { MessageFactoryFn } from './utils';
import { getBleFirmwareReleaseInfo, getFirmwareReleaseInfo } from '../api/firmware/releaseHelper';
import { Features } from '../types';

@@ -10,10 +11,15 @@ export const FIRMWARE_EVENT = 'FIRMWARE_EVENT';

export type ReleaseInfoPayload = ReturnType<typeof getFirmwareReleaseInfo> & { features: Features };
export interface ReleaseInfoEvent {
type: typeof FIRMWARE.RELEASE_INFO;
payload: ReturnType<typeof getFirmwareReleaseInfo>;
payload: ReleaseInfoPayload;
}
export type BleReleaseInfoPayload = ReturnType<typeof getBleFirmwareReleaseInfo> & {
features: Features;
};
export interface BleReleaseInfoEvent {
type: typeof FIRMWARE.BLE_RELEASE_INFO;
payload: ReturnType<typeof getBleFirmwareReleaseInfo>;
payload: BleReleaseInfoPayload;
}

@@ -20,0 +26,0 @@

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 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 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 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 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 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 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