Socket
Socket
Sign inDemoInstall

@hyperledger/cactus-core-api

Package Overview
Dependencies
Maintainers
7
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hyperledger/cactus-core-api - npm Package Compare versions

Comparing version 0.10.1-fix-quorum-no-keychain-endpoints.bf5e0403.1 to 1.0.0-main.334593a7.46

dist/lib/main/typescript/generated/proto/protoc-gen-ts/weaver/common/protos/common/access_control.d.ts

19

dist/lib/main/json/openapi.json

@@ -27,3 +27,4 @@ {

"packageName",
"type"
"type",
"action"
],

@@ -42,2 +43,7 @@ "properties": {

},
"action": {
"nullable": false,
"description": "",
"$ref": "#/components/schemas/PluginImportAction"
},
"options": {}

@@ -53,2 +59,9 @@ }

},
"PluginImportAction": {
"type": "string",
"enum": [
"org.hyperledger.cactus.plugin_import_action.INSTANTIATE",
"org.hyperledger.cactus.plugin_import_action.INSTALL"
]
},
"ConsensusAlgorithmFamily": {

@@ -533,2 +546,3 @@ "type": "string",

],
"additionalProperties": false,
"properties": {

@@ -550,3 +564,2 @@ "key": {

],
"additionalProperties": false,
"properties": {

@@ -613,2 +626,3 @@ "key": {

],
"additionalProperties": false,
"properties": {

@@ -629,3 +643,2 @@ "key": {

],
"additionalProperties": false,
"properties": {

@@ -632,0 +645,0 @@ "key": {

@@ -517,2 +517,8 @@ /**

*
* @type {PluginImportAction}
* @memberof PluginImport
*/
action: PluginImportAction;
/**
*
* @type {any}

@@ -528,2 +534,11 @@ * @memberof PluginImport

*/
export declare enum PluginImportAction {
Instantiate = "org.hyperledger.cactus.plugin_import_action.INSTANTIATE",
Install = "org.hyperledger.cactus.plugin_import_action.INSTALL"
}
/**
*
* @export
* @enum {string}
*/
export declare enum PluginImportType {

@@ -530,0 +545,0 @@ Local = "org.hyperledger.cactus.plugin_import_type.LOCAL",

@@ -16,3 +16,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.PluginImportType = exports.LedgerType = exports.Constants = exports.ConsensusAlgorithmFamily = exports.ConsensusAlgorithmFamiliesWithTxFinality = exports.ConsensusAlgorithmFamiliesWithOutTxFinality = void 0;
exports.PluginImportType = exports.PluginImportAction = exports.LedgerType = exports.Constants = exports.ConsensusAlgorithmFamily = exports.ConsensusAlgorithmFamiliesWithTxFinality = exports.ConsensusAlgorithmFamiliesWithOutTxFinality = void 0;
/**

@@ -78,2 +78,12 @@ * Enumerates a list of consensus algorithm families that do not provide immediate finality

*/
var PluginImportAction;
(function (PluginImportAction) {
PluginImportAction["Instantiate"] = "org.hyperledger.cactus.plugin_import_action.INSTANTIATE";
PluginImportAction["Install"] = "org.hyperledger.cactus.plugin_import_action.INSTALL";
})(PluginImportAction = exports.PluginImportAction || (exports.PluginImportAction = {}));
/**
*
* @export
* @enum {string}
*/
var PluginImportType;

@@ -84,2 +94,2 @@ (function (PluginImportType) {

})(PluginImportType = exports.PluginImportType || (exports.PluginImportType = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21haW4vdHlwZXNjcmlwdC9nZW5lcmF0ZWQvb3BlbmFwaS90eXBlc2NyaXB0LWF4aW9zL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQjs7Ozs7Ozs7OztHQVVHOzs7QUFvSEg7Ozs7R0FJRztBQUVILElBQVksMkNBRVg7QUFGRCxXQUFZLDJDQUEyQztJQUNuRCwrR0FBZ0UsQ0FBQTtBQUNwRSxDQUFDLEVBRlcsMkNBQTJDLEdBQTNDLG1EQUEyQyxLQUEzQyxtREFBMkMsUUFFdEQ7QUFFRDs7OztHQUlHO0FBRUgsSUFBWSx3Q0FHWDtBQUhELFdBQVksd0NBQXdDO0lBQ2hELHNIQUEwRSxDQUFBO0lBQzFFLDhHQUFrRSxDQUFBO0FBQ3RFLENBQUMsRUFIVyx3Q0FBd0MsR0FBeEMsZ0RBQXdDLEtBQXhDLGdEQUF3QyxRQUduRDtBQUVEOzs7O0dBSUc7QUFFSCxJQUFZLHdCQUlYO0FBSkQsV0FBWSx3QkFBd0I7SUFDaEMsc0dBQTBFLENBQUE7SUFDMUUsOEZBQWtFLENBQUE7SUFDbEUsNEZBQWdFLENBQUE7QUFDcEUsQ0FBQyxFQUpXLHdCQUF3QixHQUF4QixnQ0FBd0IsS0FBeEIsZ0NBQXdCLFFBSW5DO0FBK0ZEOzs7O0dBSUc7QUFFSCxJQUFZLFNBRVg7QUFGRCxXQUFZLFNBQVM7SUFDakIseUVBQTRELENBQUE7QUFDaEUsQ0FBQyxFQUZXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBRXBCO0FBNk9EOzs7O0dBSUc7QUFFSCxJQUFZLFVBU1g7QUFURCxXQUFZLFVBQVU7SUFDbEIsZ0NBQWtCLENBQUE7SUFDbEIsZ0NBQWtCLENBQUE7SUFDbEIsb0NBQXNCLENBQUE7SUFDdEIsa0NBQW9CLENBQUE7SUFDcEIsc0NBQXdCLENBQUE7SUFDeEIsa0NBQW9CLENBQUE7SUFDcEIsb0NBQXNCLENBQUE7SUFDdEIsd0NBQTBCLENBQUE7QUFDOUIsQ0FBQyxFQVRXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBU3JCO0FBMkJEOzs7O0dBSUc7QUFFSCxJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDeEIsNkVBQXlELENBQUE7SUFDekQsK0VBQTJELENBQUE7QUFDL0QsQ0FBQyxFQUhXLGdCQUFnQixHQUFoQix3QkFBZ0IsS0FBaEIsd0JBQWdCLFFBRzNCIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21haW4vdHlwZXNjcmlwdC9nZW5lcmF0ZWQvb3BlbmFwaS90eXBlc2NyaXB0LWF4aW9zL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQjs7Ozs7Ozs7OztHQVVHOzs7QUFvSEg7Ozs7R0FJRztBQUVILElBQVksMkNBRVg7QUFGRCxXQUFZLDJDQUEyQztJQUNuRCwrR0FBZ0UsQ0FBQTtBQUNwRSxDQUFDLEVBRlcsMkNBQTJDLEdBQTNDLG1EQUEyQyxLQUEzQyxtREFBMkMsUUFFdEQ7QUFFRDs7OztHQUlHO0FBRUgsSUFBWSx3Q0FHWDtBQUhELFdBQVksd0NBQXdDO0lBQ2hELHNIQUEwRSxDQUFBO0lBQzFFLDhHQUFrRSxDQUFBO0FBQ3RFLENBQUMsRUFIVyx3Q0FBd0MsR0FBeEMsZ0RBQXdDLEtBQXhDLGdEQUF3QyxRQUduRDtBQUVEOzs7O0dBSUc7QUFFSCxJQUFZLHdCQUlYO0FBSkQsV0FBWSx3QkFBd0I7SUFDaEMsc0dBQTBFLENBQUE7SUFDMUUsOEZBQWtFLENBQUE7SUFDbEUsNEZBQWdFLENBQUE7QUFDcEUsQ0FBQyxFQUpXLHdCQUF3QixHQUF4QixnQ0FBd0IsS0FBeEIsZ0NBQXdCLFFBSW5DO0FBK0ZEOzs7O0dBSUc7QUFFSCxJQUFZLFNBRVg7QUFGRCxXQUFZLFNBQVM7SUFDakIseUVBQTRELENBQUE7QUFDaEUsQ0FBQyxFQUZXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBRXBCO0FBNk9EOzs7O0dBSUc7QUFFSCxJQUFZLFVBU1g7QUFURCxXQUFZLFVBQVU7SUFDbEIsZ0NBQWtCLENBQUE7SUFDbEIsZ0NBQWtCLENBQUE7SUFDbEIsb0NBQXNCLENBQUE7SUFDdEIsa0NBQW9CLENBQUE7SUFDcEIsc0NBQXdCLENBQUE7SUFDeEIsa0NBQW9CLENBQUE7SUFDcEIsb0NBQXNCLENBQUE7SUFDdEIsd0NBQTBCLENBQUE7QUFDOUIsQ0FBQyxFQVRXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBU3JCO0FBaUNEOzs7O0dBSUc7QUFFSCxJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDMUIsNkZBQXVFLENBQUE7SUFDdkUscUZBQStELENBQUE7QUFDbkUsQ0FBQyxFQUhXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBRzdCO0FBRUQ7Ozs7R0FJRztBQUVILElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUN4Qiw2RUFBeUQsQ0FBQTtJQUN6RCwrRUFBMkQsQ0FBQTtBQUMvRCxDQUFDLEVBSFcsZ0JBQWdCLEdBQWhCLHdCQUFnQixLQUFoQix3QkFBZ0IsUUFHM0IifQ==

2

dist/lib/main/typescript/plugin-factory-factory.d.ts

@@ -10,2 +10,2 @@ import { IPluginFactoryOptions } from "./i-plugin-factory-options";

*/
export declare type PluginFactoryFactory = (pluginFactoryOptions: IPluginFactoryOptions) => Promise<PluginFactory<ICactusPlugin, any, IPluginFactoryOptions>>;
export declare type PluginFactoryFactory = (pluginFactoryOptions: IPluginFactoryOptions) => Promise<PluginFactory<ICactusPlugin, unknown, IPluginFactoryOptions>>;

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

export declare type IExpressRequestHandler = (req: any, res: any, next: (err: any) => void) => void;
import type { Request, Response, NextFunction } from "express";
export declare type IExpressRequestHandler = (req: Request, res: Response, next: NextFunction) => void;

@@ -6,2 +6,3 @@ import * as OpenApiJson from "../json/openapi.json";

export { IPluginLedgerConnector } from "./plugin/ledger-connector/i-plugin-ledger-connector";
export { ISocketApiClient } from "./plugin/ledger-connector/i-socket-api-client";
export { IPluginConsortium } from "./plugin/consortium/i-plugin-consortium";

@@ -8,0 +9,0 @@ export { IPluginKeychain } from "./plugin/keychain/i-plugin-keychain";

@@ -42,2 +42,2 @@ "use strict";

Object.defineProperty(exports, "isIPluginObjectStore", { enumerable: true, get: function () { return is_i_plugin_object_store_1.isIPluginObjectStore; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWluL3R5cGVzY3JpcHQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0VBQW9EO0FBQzNDLGtDQUFXO0FBRXBCLDZFQUEyRDtBQUMzRCw0RUFBMEQ7QUFLMUQsK0VBQTJFO0FBQWxFLHlIQUFBLGlCQUFpQixPQUFBO0FBRzFCLGtGQUdtRDtBQURqRCwySEFBQSxtQkFBbUIsT0FBQTtBQUlyQiwwREFBd0Q7QUFBL0MsK0dBQUEsYUFBYSxPQUFBO0FBRXRCLDREQUlrQztBQURoQyxrSEFBQSxlQUFlLE9BQUE7QUFPakIsMEZBR3VEO0FBRHJELG1JQUFBLHVCQUF1QixPQUFBO0FBSXpCLDJGQUFzRjtBQUE3RSxnSUFBQSxvQkFBb0IsT0FBQSJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYWluL3R5cGVzY3JpcHQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0VBQW9EO0FBQzNDLGtDQUFXO0FBRXBCLDZFQUEyRDtBQUMzRCw0RUFBMEQ7QUFNMUQsK0VBQTJFO0FBQWxFLHlIQUFBLGlCQUFpQixPQUFBO0FBRzFCLGtGQUdtRDtBQURqRCwySEFBQSxtQkFBbUIsT0FBQTtBQUlyQiwwREFBd0Q7QUFBL0MsK0dBQUEsYUFBYSxPQUFBO0FBRXRCLDREQUlrQztBQURoQyxrSEFBQSxlQUFlLE9BQUE7QUFPakIsMEZBR3VEO0FBRHJELG1JQUFBLHVCQUF1QixPQUFBO0FBSXpCLDJGQUFzRjtBQUE3RSxnSUFBQSxvQkFBb0IsT0FBQSJ9

@@ -1,1 +0,1 @@

export {};
import "jest-extended";

@@ -21,12 +21,8 @@ "use strict";

};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const tape_1 = __importDefault(require("tape-promise/tape"));
const apiSurface = __importStar(require("../../../main/typescript/public-api"));
tape_1.default("Library can be loaded", (t) => {
t.ok(apiSurface, "apiSurface truthy OK");
t.end();
require("jest-extended");
test("Library can be loaded", async () => {
expect(apiSurface).toBeTruthy();
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXN1cmZhY2UudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZXN0L3R5cGVzY3JpcHQvaW50ZWdyYXRpb24vYXBpLXN1cmZhY2UudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2REFBK0M7QUFFL0MsZ0ZBQWtFO0FBRWxFLGNBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQU8sRUFBRSxFQUFFO0lBQ3hDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDekMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ1YsQ0FBQyxDQUFDLENBQUMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXN1cmZhY2UudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZXN0L3R5cGVzY3JpcHQvaW50ZWdyYXRpb24vYXBpLXN1cmZhY2UudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRkFBa0U7QUFDbEUseUJBQXVCO0FBRXZCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLElBQUksRUFBRTtJQUN2QyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMifQ==

@@ -1,1 +0,1 @@

export {};
import "jest-extended";

@@ -21,12 +21,8 @@ "use strict";

};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const tape_1 = __importDefault(require("tape-promise/tape"));
const apiSurface = __importStar(require("../../../main/typescript/public-api"));
tape_1.default("Library can be loaded", (t) => {
t.ok(apiSurface, "apiSurface truthy OK");
t.end();
require("jest-extended");
test("Library can be loaded", async () => {
expect(apiSurface).toBeTruthy();
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXN1cmZhY2UudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZXN0L3R5cGVzY3JpcHQvdW5pdC9hcGktc3VyZmFjZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUErQztBQUUvQyxnRkFBa0U7QUFFbEUsY0FBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBTyxFQUFFLEVBQUU7SUFDeEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUN6QyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDVixDQUFDLENBQUMsQ0FBQyJ9
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXN1cmZhY2UudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy90ZXN0L3R5cGVzY3JpcHQvdW5pdC9hcGktc3VyZmFjZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdGQUFrRTtBQUNsRSx5QkFBdUI7QUFFdkIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEtBQUssSUFBSSxFQUFFO0lBQ3ZDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQyJ9
{
"name": "@hyperledger/cactus-core-api",
"version": "0.10.1-fix-quorum-no-keychain-endpoints.bf5e0403.1+bf5e0403",
"version": "1.0.0-main.334593a7.46+334593a7",
"description": "Contains type definitions/interfaces for the kernel of the codebase. Kept separate from the implementation so that it is easier to use it as a dependency.",

@@ -17,11 +17,11 @@ "main": "dist/lib/main/typescript/index.js",

"codegen:openapi": "npm run generate-sdk",
"preproto:protoc-gen-ts": "make-dir ./src/main/typescript/generated/proto/protoc-gen-ts/weaver/common/protos/",
"proto:protoc-gen-ts": "yarn run grpc_tools_node_protoc --plugin=protoc-gen-ts=../../node_modules/.bin/protoc-gen-ts --ts_out=grpc_js:./src/main/typescript/generated/proto/protoc-gen-ts/weaver/common/protos/ --proto_path ./src/main/proto/weaver/common/protos/ ./src/main/proto/weaver/common/protos/common/*.proto ./src/main/proto/weaver/common/protos/corda/*.proto ./src/main/proto/weaver/common/protos/driver/*.proto ./src/main/proto/weaver/common/protos/networks/*.proto ./src/main/proto/weaver/common/protos/relay/*.proto",
"codegen:proto": "run-s proto:protoc-gen-ts",
"codegen": "run-p 'codegen:*'",
"watch": "npm-watch",
"webpack": "npm-run-all webpack:dev webpack:prod",
"webpack": "npm-run-all webpack:dev",
"webpack:dev": "npm-run-all webpack:dev:node webpack:dev:web",
"webpack:dev:web": "webpack --env=dev --target=web --config ../../webpack.config.js",
"webpack:dev:node": "webpack --env=dev --target=node --config ../../webpack.config.js",
"webpack:prod": "npm-run-all webpack:prod:node webpack:prod:web",
"webpack:prod:web": "webpack --env=prod --target=web --config ../../webpack.config.js",
"webpack:prod:node": "webpack --env=prod --target=node --config ../../webpack.config.js"
"webpack:dev:node": "webpack --env=dev --target=node --config ../../webpack.config.js"
},

@@ -76,3 +76,7 @@ "watch": {

"devDependencies": {
"@grpc/grpc-js": "1.3.6",
"@grpc/proto-loader": "0.6.4",
"@types/express": "4.17.13",
"make-dir-cli": "3.0.0",
"rxjs": "7.3.0",
"socket.io": "4.1.3",

@@ -82,6 +86,6 @@ "typescript-optional": "2.0.1"

"dependencies": {
"@hyperledger/cactus-common": "^0.10.1-fix-quorum-no-keychain-endpoints.bf5e0403.1+bf5e0403",
"@hyperledger/cactus-common": "^1.0.0-main.334593a7.46+334593a7",
"axios": "0.21.4"
},
"gitHead": "bf5e0403907bef8d84e52eb945a71713f4c8385f"
"gitHead": "334593a74e9ba454a5e5b2511f1784a569564aaa"
}
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