open-index/open-npm huggingface dataset:
npm package: @kalycoinproject/exchange-contracts
Description: Contracts for the KalySwap Dex.
Author: Nico
Latest version: 2.0.3

# KalySwap Smart Contracts
This repo contains all of the smart contracts used to run [KalySwap](https://kalyswap.io).

## Deployed Kalychain Mainnet Contracts
Factory address: `0xb7b7a31C69199EB3D7378E84499c5335A9E99311`

Router address: `0xA39723dC2713C9eECe0CecC74AC519Aa2dFB4206`

InitHash: `0x91b0fa855886c040a2fba5b67e7149d8d4d774e27c10798019a4ae8e3e83c5e0`

## Running
These contracts are compiled and deployed using [Hardhat](https://hardhat.org/). They can also be run using the Remix IDE.

To prepare the dev environment, run `yarn install`. To compile the contracts, run `yarn compile`. Yarn is available to install [here](https://classic.yarnpkg.com/en/docs/install/#debian-stable) if you need it.

## Accessing the ABI
If you need to use any of the contract ABIs, you can install this repo as an npm package with `npm install --dev @kalycoinproject/exchange-contracts`. Then import the ABI like so: `import { abi as IKalyswapPairABI } from '@kalycoinproject/exchange-contracts/artifacts/contracts/kalyswap-core/interfaces/IKalyswapPair.sol/IKalyswapPair.json'`.

## Attribution
These contracts were adapted from these Uniswap repos: [uniswap-v2-core](https://github.com/Uniswap/uniswap-v2-core), [uniswap-v2-periphery](https://github.com/Uniswap/uniswap-v2-core), and [uniswap-lib](https://github.com/Uniswap/uniswap-lib).
npm package: @kalycoinproject/governance
Description: 🏛 Governance contracts for the Kalyswap protocol
Author: Nico
Latest version: 1.2.0

# Kalyswap Governance

This repo contains all of the governance contracts for Kalyswap.

## Testnet Deployment Addresses

KSWAP: `0xaE6Ed167e3995f23C83aF4B33ca36f0cFA548Ec8`

TreasuryVester: `0x92AAFDE783461a80bF5dcE4b8C4644C2eb86CEde`

CommunityTreasury: `0x6196E2Cd450e2747f94F24311D17eE1bEC8e8D8b`

Timelock:          `0xf90F0Bd56558Ac12F7FC285571D38181d2feD69b`

GovernorAlpha:     `0xf00A4b733093C21b0892eae0578F0a926f9370b3`

LiquidityPoolManager:         `0x53E2f15BD8843a13c080F8AeD1F13C95Bee0ea96`

KalyswapVoteCalculator: `0xAE9D046c27A824dE4B5BABEA75D0754132664d9F`

MiniChefV2: `0xe6828eF9923943899199dc4464B791499025d5aC`

TreasuryVesterProxy: `0x4b23F591E12257539D396137dF3c88FD1778e6C6`

KalyswapVoteCalculator: `0xDA2A7a2D504949896e709F546B6Bc06C2E7c5982`

## Attribution

Forked from
[Compound Governance](https://github.com/compound-finance/compound-protocol/tree/v2.8.1) and [Uniswap Governance](https://github.com/Uniswap/governance)
npm package: @kalycoinproject/sdk
Description: 🛠 An SDK for building applications on top of Kalyswap.
Latest version: 2.2.4

# Kalyswap SDK
This repo contains tools for developing with [Kalyswap](app.kalyswap.io).

## Running
This project uses standard npm and yarn workflows.

Install dependencies

```sh
yarn
```

Compile
```sh
yarn build
```

Yarn is available to install [here](https://classic.yarnpkg.com/en/docs/install/#debian-stable) if you need it.

## Installation
This project is available as an npm packege. Add to your project with `npm install @kalycoinproject/sdk`

## Attribution
This code was adapted from this Uniswap repo: [uniswap-sdk](https://github.com/Uniswap/sdk).
npm package: @kalytex-alex/homebridge-hikvision
Description: > **The original plugin that is based on handles IP cameras, this plugin handles Analog cameras.
Latest version: 1.0.7

# Homebridge Hikvision plugin

> **The original plugin that is based on handles IP cameras, this plugin handles Analog cameras.

Homebridge plugin that connects to your HikVision DVR and exposes your cameras in Homebridge. The plugin is heavily based on excellent [homebridge-camera-ffmpeg](https://github.com/Sunoo/homebridge-camera-ffmpeg).

This plugin will automatically discover all cameras connected to your DVR and will expose them to homebridge. You will get access to stream video (including sound) directly from your home app, will get push notification with screenshots of the motion events - this needs to be configured in HikVision DVR and additionally in Home app under home settings - you will need to enable notifications.

## Intent
This is fork from https://github.com/node-packages/homebridge-hikvision project the purpose to add support for cloudflare access, to be able to access remotely.

## Installation

In order to use this plugin, you need to install `homebridge-camera-ffmpeg` and `homebridge-hikvision` as per below:

```bash
sudo npm install -g homebridge-camera-ffmpeg @xarrar/homebridge-hikvision --unsafe-perm
```

## Configuration

To configure, add this to your `config.json` for homebridge under platforms node:

```json
{
  "platforms": [
    {
      "platform": "Hikvision",
      "host": "nvr-host",
      "port": 443,
      "username": "admin",
      "password": "very-secure-password",
      "cf_id":"CF-Access-Client-Id:",
      "cf_secrect":"CF-Access-Client-Secret"
    }
  ]
}
```

At this time, these are the only configuration options available. Once you've added the platform to your config, (re)start your homebridge instance, and configure your cameras on your iPhone or iPad, iOS will prompt you for each camera in your system.

## Enable notifications in HikVision DVR

The plugin does not detect motion itself, it responds to events generated by the DVR using HTTP Event API. The relevant code for this lives at https://github.com/node-packages/homebridge-hikvision/blob/master/src/HikvisionApi.ts#L73. 

You must set up notifications in the DVR configuration as per below screenshot:

![image](https://user-images.githubusercontent.com/47468/103291461-af287480-49e3-11eb-9db9-18708b35b3c3.png)

You might also find this YouTube video useful:

https://www.youtube.com/watch?v=-R_dtE9o9WI

[![Setup Notifications](https://img.youtube.com/vi/-R_dtE9o9WI/0.jpg)](https://www.youtube.com/watch?v=-R_dtE9o9WI)
npm package: @kamaal111/react-native-user-defaults
Description: An wrapper for iOS UserDefaults
Author: Kamaal Farah
Latest version: 0.2.1

# react-native-user-defaults

An wrapper for iOS UserDefaults

- [Installation](#Installation)
- [Usage](#Usage)
- [License](./LICENSE)

## Installation

### Install the library

Using either Yarn:

```bash
yarn add @kamaal111/react-native-user-defaults
```

Or npm:

```bash
npm install @kamaal111/react-native-user-defaults
```

### Link

- **React Native 0.60+**

[CLI autolink feature](https://github.com/react-native-community/cli/blob/master/docs/autolinking.md) links the module while building the app.

_Note_ For `iOS` using `cocoapods`, run:

```bash
$ cd ios && pod install
```

- **React Native <= 0.59**

The following steps are only necessary if you are working with a version of React Native lower than 0.60:

```bash
$ react-native link @kamaal111/react-native-user-defaults
```

#### iOS

1. In Xcode in the project navigator, right click `Libraries` > `Add Files to [your project's name]`
2. Go to `node_modules` > `@kamaal111/react-native-user-defaults` and add `RNUserdefaults.xcodeproj`
3. In XCode, in the project navigator, select your project. Add `libRNUserdefaults.a` to your project's `BuildPhases` > `Link Binary With Libraries`
4. Run your project (`cmd+R`)

#### Android

No configuration needed

## Usage

Import RNUserdefaults from `@kamaal111/react-native-user-defaults`:

```javascript
import RNUserdefaults from '@kamaal111/react-native-user-defaults';
```

### Set value in user defaults

```javascript
// This is the value you want to save
// Make sure the value is an string
const value = JSON.stringify({ hallo: 'world' });
// The key to get or remove the value
const key = 'key-for-value';
// To set the value in standard UserDefaults
RNUserdefaults.set(value, key);
// The UserDefaults suite indetifier
const suite = 'group.example.app';
// iOS only: To set the value in a self defined UserDefaults suite.
RNUserdefaults.setFromSuite(value, key, suite);
```

### Get value in user defaults

```javascript
// The key to get or remove the value
const key = 'key-for-value';
// To get the value in standard UserDefaults
const value = await RNUserdefaults.get(key);
// The UserDefaults suite indetifier
const suite = 'group.example.app';
//iOS only: To get the value in a self defined UserDefaults suite
const value = await RNUserdefaults.getFromSuite(key, suite);
```

### Remove value in user defaults

```javascript
// The key to get or remove the value
const key = 'key-for-value';
// To remove the value in standard UserDefaults
RNUserdefaults.remove(key);
// The UserDefaults suite indetifier
const suite = 'group.example.app';
// iOS only: To remove the value in a self defined UserDefaults suite
RNUserdefaults.removeFromSuite(key, suite);
```
npm package: @kamaalio/prettier-config
Description: Shared Prettier configuration for Kamaalio projects.
Author: Kamaal Farah
Latest version: 0.1.2

# Prettier config

Shared Prettier configuration for Kamaalio projects.

## Installation

Install the package as a dev dependency:

```bash
npm install --save-dev @kamaalio/prettier-config
# or
yarn add --dev @kamaalio/prettier-config
# or
pnpm add --save-dev @kamaalio/prettier-config
```

## Usage

### package.json

Add the following to your `package.json`:

```json
{
    "prettier": "@kamaalio/prettier-config"
}
```

### .prettierrc.json

Define the following in your `.prettierrc.json`

```
"@kamaalio/prettier-config"
```
npm package: @kamado/router
Description: A command router for Kamado Framework.
Latest version: 0.0.1

### Kamado Router

A simple command router for [Kamado Framework](https://github.com/discord-kamado).

#### Usage

```ts
import { KamadoRouter, KamadoRequestParser } from '@kamado/router'
import { Client, Message } from 'discord.js'

type Command = {
    name: string
    alias?: string | string[]
    execute: (message: Message, args: string[]) => Promise<any>
}

const sayCommand: Command = {
    name: 'say', // <string> `name` is required.
    alias: 's', // <string[] | string> `alias` is optional.
    execute: async (message: Message, args: string[]) => {
        return message.reply(args.join(' '))
    }
}

const prefix = '?'
const kommander = new KamadoRouter<Command>({
    parser: new KamadoRequestParser(prefix), // A `parser` is required. If you don't want to create a custom parser, you can use `KamadoRequestParser` from `@kamado/router` library
    commands: [sayCommand]
})

const client = new Client()

client.on('message', async (message: Message) => {
    if (message.author.bot || !message.content.startsWith(prefix)) return
    const queryResult = kommander.query(message.content)

    //         `queryResult` === undefined: cannot parse given string
    // `queryResult.command` === undefined: command not found
    if (queryResult && queryResult.command) {
        return queryResult.command.execute(message, queryResult.arguments)
    } else {
        return message.channel.send('Command not found.')
    }
})

client.login(process.env.DISCORD_TOKEN)
```

#### License

[MIT](/LICENSE) &copy; Kamado Framework
npm package: @kamahl19/zsa
Description: `zsa` is a library for building typesafe server actions in Next.js. It provides a simple, scalable developer experience with features like validated inputs/outputs, procedures (middleware) for passing context to server actions, and React Query integration
Latest version: 0.5.2

# zsa

`zsa` is a library for building typesafe server actions in Next.js. It provides a simple, scalable developer experience with features like validated inputs/outputs, procedures (middleware) for passing context to server actions, and React Query integration for querying server actions in client components.

## Installation

Install `zsa` using your preferred package manager:

```bash
npm i zsa zsa-react zsa-react-query zsa-openapi zod
```

## Features

- Validated inputs and outputs using Zod schemas
- Procedures for adding context and authorization to server actions
- Callbacks for running additional logic based on server action lifecycle
- Built-in loading states and error handling
- React Query integration for querying server actions on the client side
- Support for FormData as input type
- Retry functionality and timeouts for server actions
- TypeScript support for a fully typesafe experience

## Documentation

View the full documentation and examples on [zsa.vercel.app](https://zsa.vercel.app/docs/introduction).

## Support

If you need help with anything, feel free to DM ([@ido_pesok](https://twitter.com/ido_pesok)) on X.

## Disclaimer

This is a personal project and is not associated with any company or organization. While I strive to make this project as reliable and useful as possible, it is provided "as is" without any guarantees or warranties.

**Use at your own risk.** You are responsible for reviewing, testing, and validating the code to ensure it meets your requirements and for any consequences that may arise from its use.

I will do my best to maintain and improve this project, but please understand that as a personal project, support and updates may be limited.

## [Contributors](https://github.com/IdoPesok/zsa/graphs/contributors)
npm package: @kamal-02/audit-logger
Description: A lightweight audit logger using Winston and Loki
Author: kamal-02
Latest version: 1.0.5

# @kamal-02/audit-logger

A lightweight, secure and very simple audit logging package for Node.js applications, designed to send structured audit logs to Grafana Loki.

## Features

- Simple integration with Winston and Loki
- Standardized audit log format for user actions
- Configurable logging environment and service name

## Installation

```bash
npm install @kamal-02/audit-logger
```

## Setup

1. First, set up your environment variables in a `.env` file (recommended):

```
LOKI_USERNAME=your_loki_username
LOKI_API_KEY=your_loki_api_key
LOKI_HOST=https://your-loki-instance.grafana.net
```

2. Initialize the logger in your application:

```javascript
const { initAuditLogger, logUserAction } = require('@kamal-02/audit-logger');

initAuditLogger({
  service: 'my-service',
  environment: 'production',
  lokiHost: 'https://logs-prod-XXX.grafana.net' || process.env.LOKI_HOST,
  user: 'your_loki_username' || process.env.LOKI_USERNAME,
  apikey: 'your_loki_api_key' || process.env.LOKI_API_KEY,
  labels: { job: 'my-audit-logs' }
});
```

## Usage

```javascript
// Log a user action
logUserAction({
  actor: {
    id: 'user123',
    type: 'user',
    name: 'John Doe'
  },
  action: 'DOCUMENT_UPDATE',
  target: {
    id: 'doc456',
    type: 'document',
    name: 'Important Contract'
  },
  source: {
    ip: '192.168.1.1',
    userAgent: 'Mozilla/5.0...'
  },
  metadata: {
    changes: ['title', 'content'],
    previousState: 'DRAFT',
    newState: 'PUBLISHED'
  }
});
```

## API Reference

### `initAuditLogger(options)`

Initializes the audit logger with the provided options.

| Parameter   | Type   | Description | Required | Default |
|-------------|--------|-------------|----------|---------|
| service     | string | Service name | No | 'unknown-service' |
| environment | string | Environment name | No | 'development' |
| lokiHost    | string | Grafana Loki host URL | Yes | None |
| user        | string | Loki username | Yes | None |
| apikey      | string | Loki API key | Yes | None |
| labels      | object | Additional Loki labels | No | { job: 'audit-log' } |

### `logUserAction(logData)`

Logs a user action to Loki.

| Parameter | Type | Description | Required |
|-----------|------|-------------|----------|
| actor | object/string | The user or system performing the action | Yes |
| action | string | The action being performed | Yes |
| target | object/string | The resource being acted upon | Yes |
| source | object | Source information (IP, user agent) | No |
| timestamp | string | ISO timestamp | No |
| metadata | object | Additional contextual information | No |

## License

MIT
npm package: @kamalion/eslint-config
Description: ESLint configuration used by Kamalion's devs.
Latest version: 1.0.2

# Kamalion ESLint config

## Whats included?

- Standard config base;
- React plugin;
- React Hooks plugin;
- JSX a11y plugin;
- Prettier;

## Setup

### React (with Next.js)

Install dependencies:
```
npm i -D eslint @kamalion/eslint-config
```
Inside `.eslintrc.json`
```
{
  "extends": [
    "@kamalion/eslint-config/next", 
    "next/core-web-vitals"
  ]
}
```

### React (without Next.js)

Install dependencies:
```
npm i -D eslint @kamalion/eslint-config
```
Inside `.eslintrc.json`
```
{
  "extends": "@kamalion/eslint-config/react"
}
```

### Node.js

Install dependencies:
```
npm i -D eslint @kamalion/eslint-config
```
Inside `.eslintrc.json`
```
{
  "extends": "@kamalion/eslint-config/node"
}
```
npm package: @kamalnrf/generator
Description: Express application generator
Author: kamalnrf
Latest version: 1.1.1

## Installation

```sh
$ npm install -g @kamalnrf/generator
```

## Quick Start

The quickest way to generate an application as shown below:

Create the app:

```bash
$ generate-express
? Do you want new direcotry (Yes/No): yes
? Project name: _enter_your_project_name
```

Install dependencies:

```bash
$ npm install
```

Start your Express.js app at `http://localhost:3000/`:

```bash
$ npm start
```
npm package: @kamarajcalm/react-native-root-detection
Description: @kamarajcalm/react-native-root-detection is a React Native library to check whether a mobile device is rooted (Android) or jailbroken (iOS). Its purpose is to help apps verify that they are running in a secure / unmodified environment, so that sensitive o
Author: Kamaraj
Latest version: 0.1.3

# react-native-root-detection

`@kamarajcalm/react-native-root-detection` is a React Native library to check whether a mobile device is rooted (Android) or jailbroken (iOS). It helps apps verify that they are running in a secure, unmodified environment, so sensitive operations can be protected.

## Features

- Detects root (Android) and jailbreak (iOS)
- Detects developer options (Android & iOS)
- Promise-based API

## Installation

## Installation

```sh
npm install @kamarajcalm/react-native-root-detection
```

## Usage

```typescript
import RootDetection from '@kamarajcalm/react-native-root-detection';

// Check if device is rooted/jailbroken
const isRooted = await RootDetection.isDeviceRooted();

// Check if developer options are enabled
const isDevOptions = await RootDetection.isDeveloperOptionsEnabled();
```

## API

### `RootDetection.isDeviceRooted(): Promise<boolean>`

Checks if the device is rooted (Android) or jailbroken (iOS).

### `RootDetection.isDeveloperOptionsEnabled(): Promise<boolean>`

Checks if developer options are enabled (Android) or if the app is running under a debugger (iOS).

## Contributing

- [Development workflow](CONTRIBUTING.md#development-workflow)
- [Sending a pull request](CONTRIBUTING.md#sending-a-pull-request)
- [Code of conduct](CODE_OF_CONDUCT.md)

## License

MIT

---

Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)