open-index/open-npm huggingface dataset:
npm package: @klaytn/contracts
Description: Secure Smart Contract library for Solidity
Author: Klaytn Community
Latest version: 1.0.6

# Branch name will be changed

We will change the `master` branch to `main` on Dec 15, 2022.
After the branch policy change, please check your local or forked repository settings.

# Klaytn Contracts

[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.klaytn.foundation/)
[![NPM Package](https://badge.fury.io/js/@klaytn%2Fcontracts.svg)](https://www.npmjs.com/package/@klaytn/contracts)
[![Gitter](https://badges.gitter.im/klaytn/klaytn-contracts.svg)](https://gitter.im/klaytn/klaytn-contracts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

**A library for secure smart contract development.** Build on a solid foundation of community-vetted code.
It is a fork of openzepplin contracts. In addition to that, this repository contains Klaytn's token standards such as KIP-7, KIP-17, and KIP-37 compatible with ERC-20, ERC-721, and ERC-1155 respectively.

Please refer to [this](https://kips.klaytn.com/token) link for the mapping of Ethereum to Klaytn token standards.

## Overview

### Installation

```console
$ npm install @klaytn/contracts
```

An alternative to npm is to use the GitHub repository `klaytn/klaytn-contracts` to retrieve the contracts. When doing this, make sure to specify the tag for a release such as `v1.0.0`, instead of using the `master` branch.

### Usage

Once installed, you can use the contracts in the library by importing them:

```solidity
pragma solidity ^0.8.0;

import "@klaytn/contracts/KIP/token/KIP17/KIP17.sol";

contract MyCollectible is KIP17 {
    constructor() KIP17("MyCollectible", "MCO") {
    }
}
```

To keep your system secure, you should **always** use the installed code as-is, and neither copy-paste it from online sources, nor modify it yourself. The library is designed so that only the contracts and functions you use are deployed, so you don't need to worry about it needlessly increasing gas costs.

## Contribute

In line with our commitment to decentralization, all Klaytn codebase and its documentations are completely open source. Klaytn always welcomes your contribution. Anyone can view, edit, fix its contents and make suggestions. You can either create a pull request on GitHub or use GitBook. Make sure to sign our Contributor License Agreement (CLA) first and there are also a few guidelines our contributors would check out before contributing:

- [Contribution Guide](./CONTRIBUTING.md)
- [License](./LICENSE)
- [Code of Conducts](./code-of-conduct.md)

## Need Help? <a href="#need-help" id="need-help"></a>

If you have any questions, please visit our [Gitter channel](https://gitter.im/klaytn/klaytn-contracts?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge), [Klaytn Developers Forum](https://forum.klaytn.foundation/) and [Discord channel](https://discord.gg/mWsHFqN5Zf).

## License

 Contracts is released under the [MIT License](LICENSE).

## Acknowledgments 

Thanks for Openzepplin Team for providing the  contracts.
npm package: @klaytn/js-ext-core
Description: Sub-components of Klaytn JavaScript SDKs.
Latest version: 1.0.2

# JavaScript Extension Core for Klaytn

Sub-components of Klaytn JavaScript SDKs.

For dApp developers and blockchain users, use the SDKs like [@klaytn/ethers-ext](https://www.npmjs.com/package/@klaytn/ethers-ext) and [@klaytn/web3js-ext](https://www.npmjs.com/package/@klaytn/web3js-ext).

- `FieldSetFactory` to easily build custom RLP-encodable types
- `AccountKeyFactory` for Klaytn account objects
- `KlaytnTxFactory` for Klaytn transaction objects
- `AccountKeyType` and `TxType` enums
- `getRpcTxObject` to normalize `eth_call` RPC parameters
- `getCompressedPublicKey` and `getSignatureTuple` to normalize cryptographic data
- `splitKeystoreKIP3` for handling KIP-3 JSON keystore
- `formatKlay` and `parseKlay` to convert KLAY denominations
- `asyncOpenApi` to promisify [@klaytn/web3rpc](https://www.npmjs.com/package/@klaytn/web3rpc) methods

## Install

```
npm install --save @klaytn/js-ext-core
```

## Usage

See test.
npm package: @klaytn/kds-cli
Description: klaytn developer sdk command line
Author: Klaytn Community
Latest version: 0.0.5
Deprecated: deprecated

# Klaytn Developer SDK CLI

kds-cli is a command line utility for klaytn developer sdk. <br/>
kds-cli supports below features.
* `Oracles` - Hardhat project containing Chainlink, Witnet integrations with klaytn.

## Install

```typescript
npm install -g @klaytn/kds-cli --force
```

## Quick Usage

### Version

```bash
> kds-cli --version 
0.0.1
```

### Help

```typescript
> kds-cli --help
> kds-cli help oracle
```
### Setup

#### Oracles

To download the Klaytn's integration with Chainlink, witnet oracle hardhat project, please follow below steps

```typescript
> kds-cli oracle init

> cd oracle-starter-kit
> npm install --force
```

Above command downloads the `oracle-starter-kit` hardhat folder structure in the current project directory. 
Enter inside the generated folder and install the packages as mentioned and please follow the `oracle-starter-kit` README description.
npm package: @klaytn/kds-dexs
Description: Includes dex-contracts integration & use-cases
Author: Klaytn Community
Latest version: 0.0.5
Deprecated: deprecated

# DEX Starter Kit
This module of Klaytn-SDK includes the integration of [@klaytn/dex-contracts](https://github.com/klaytn/klaytn-dex-contracts).

# How to setup locally
 `npm install`

# Overview
For details information & documentation of each module of this package please refer to the docs linked below.
- #### [Folder Structure of the package](https://github.com/klaytn/klaytn-developer-sdk/blob/main/packages/dexs-starter-kit/docs/FolderStructure.md)
- #### [Prerequisites](https://github.com/klaytn/klaytn-developer-sdk/blob/main/packages/dexs-starter-kit/docs/Prerequisites.md)
- #### [How To use](https://github.com/klaytn/klaytn-developer-sdk/blob/main/packages/dexs-starter-kit/docs/HowToUse.md)
npm package: @klaytn/kss-cli
Description: klaytn service sdk command line
Author: Klaytn Community
Latest version: 1.0.0

# Klaytn Service SDK CLI

kss-cli is a command line utility for klaytn service sdk. <br/>
kss-cli supports below features.
* `Oracles` - Hardhat project containing Witnet integrations with klaytn.

## Install

```typescript
npm install -g @klaytn/kss-cli --force
```

## Quick Usage

### Version

```bash
> kss-cli --version 
0.0.1
```

### Help

```typescript
> kss-cli --help
> kss-cli help oracle
```
### Setup

#### Oracles

To download the Klaytn's integration with witnet oracle hardhat project, please follow below steps

```typescript
> kss-cli oracle init

> cd oracle-starter-kit
> npm install --force
```

Above command downloads the `oracle-starter-kit` hardhat folder structure in the current project directory. 
Enter inside the generated folder and install the packages as mentioned and please follow the `oracle-starter-kit` README description.
npm package: @klaytn/kss-dexs
Description: Includes dex-contracts integration & use-cases
Author: Klaytn Community
Latest version: 1.0.0

# DEX Starter Kit
This module includes the integration of [@klaytn/dex-contracts](https://github.com/klaytn/klaytn-dex-contracts).

# How to setup locally
 `npm install`

# Overview
For details information & documentation of each module of this package please refer to the docs linked below.
- #### [Folder Structure of the package](https://github.com/klaytn/klaytn-service-sdk/blob/main/packages/dexs-starter-kit/docs/FolderStructure.md)
- #### [Prerequisites](https://github.com/klaytn/klaytn-service-sdk/blob/main/packages/dexs-starter-kit/docs/Prerequisites.md)
- #### [How To use](https://github.com/klaytn/klaytn-service-sdk/blob/main/packages/dexs-starter-kit/docs/HowToUse.md)
npm package: @klaytn/web3js-ext
Description: web3.js extension for Klaytn blockchain
Latest version: 1.0.2

# Web3.js Extension for Klaytn

Web3.js Extension for Klaytn offers:

- Drop-in replacement to `new Web3(...)` that supports both Ethereum and Klaytn transaction types involving AccountKey and TxTypes. See [Modifications to the Web3 object](#modifications-to-the-web3-object) section for details

## Install

### Node.js

- Install
    ```sh
    npm install --save @klaytn/web3js-ext
    ```
- ESM or TypeScript
    ```ts
    import { Web3 } from "@klaytn/web3js-ext";
    const web3 = new Web3("https://public-en-baobab.klaytn.net");
    ```
- CommonJS
    ```js
    const { Web3 } = require("@klaytn/web3js-ext");
    const web3 = new Web3("https://public-en-baobab.klaytn.net");
    ```

### Browser

It is not recommended to use CDNs in production, But you can use below for quick prototyping.

```html
<script src="https://cdn.jsdelivr.net/npm/@klaytn/web3js-ext@latest/dist/web3js-ext.bundle.js"></script>
<script>
const web3 = new web3_ext.Web3(window.klaytn);
</script>
```

## Usage

See [example](./example) and [test](./test).

## Modifications to the Web3 object

See [DESIGN](./DESIGN.md) for source code organization.

### Accounts

- Following functions can handle Klaytn TxTypes. See [src/account/index.ts](./src/account/index.ts)
  ```js
  // account independent functions
  web3.eth.accounts.recoverTransaction(rlp)
  web3.eth.accounts.signTransaction(obj or rlp)
  web3.eth.accounts.signTransactionAsFeePayer(obj or rlp)

  // account-bound functions
  var account = web3.eth.accounts.create()
  var account = web3.eth.accounts.privateKeyToAccount(priv)
  var account = web3.eth.accounts.decrypt(keystore)
  account.signTransaction(obj or rlp)
  account.signTransactionAsFeePayer(obj or rlp)
  ```
- Following functions can handle the [KIP-3 Klaytn keystore format v4](https://kips.klaytn.foundation/KIPs/kip-3)
  ```js
  web3.eth.accounts.decrypt(keystore)
  web3.eth.accounts.decryptList(keystore)
  ```

### Eth RPC wrappers

- Following functions calls different RPC, and handle Klaytn TxTypes. See [src/eth/index.ts](./src/eth/index.ts)
  ```js
  // Try klay_protocolVersion, falls back to eth_protocolVersion
  web3.eth.getProtocolVersion()

  // klay_sendTransaction if Klaytn TxType, otherwise eth_sendTransaction
  // Additional treatment for Kaikas compatibility
  web3.eth.sendTransaction(obj)

  // klay_sendRawTransaction if Klaytn TxType, otherwise eth_sendRawTransaction
  web3.eth.sendSignedTransaction(rlp)

  // klay_signTransaction if Klaytn TxType, otherwise eth_signTransaction
  // Additional treatment for Kaikas compatibility
  web3.eth.signTransaction(obj)
  ```

### Klaytn RPCs

- Following functions calls Klaytn RPCs. See [src/web3.ts](./src/web3.ts)
  ```js
  web3.klay.blockNumber() // klay_blockNumber
  web3.net.networkID() // net_networkID
  ```
npm package: @klayver/poe-itemtext-parser
Description: Parser for Path of Exile clipboard item texts.
Author: Tobias Hoffmann
Latest version: 1.0.1

# Path of Exile Itemtext Parser

[![NPM version](https://img.shields.io/npm/v/@klayver/poe-itemtext-parser?style=for-the-badge)](https://www.npmjs.com/package/@klayver/poe-itemtext-parser) [![NPM license](https://img.shields.io/npm/l/@klayver/poe-itemtext-parser?style=for-the-badge)](https://github.com/klayveR/poe-itemtext-parser/blob/main/LICENSE) [![GitHub issues](https://img.shields.io/github/issues/klayveR/poe-itemtext-parser?style=for-the-badge)](https://github.com/klayveR/poe-itemtext-parser/issues) [![GitHub language](https://img.shields.io/github/languages/top/klayveR/poe-itemtext-parser?style=for-the-badge)](https://github.com/klayveR/poe-itemtext-parser)

Parses itemtexts from the Path of Exile client (obtained via CTRL+C).

Please check out the [documentation](https://klayver.github.io/poe-itemtext-parser/) for more information.

# Getting started

**Install with npm:**

```bash
$ npm i @klayver/poe-itemtext-parser --save
```

# Known issues

-   Affixes are parsed incorrectly for magic, rare and unique items that have no explicit affixes

# Example

```typescript
import fs from "fs";
import util from "util";

import { Parser } from "@klayver/poe-itemtext-parser";

const readFile = util.promisify(fs.readFile);

void (async () => {
    const itemtext = await readFile("some_itemtext.txt", "UTF-8");
    const item = new Parser(itemtext);

    const data = {
        rarity: item.rarity,
        name: item.name,
        flags: item.flags,
        sockets: item.sockets,
        note: item.note,
        itemLevel: item.itemLevel,
        quality: item.quality,
        stackSize: item.stackSize,
        gem: item.gem,
        requirements: item.requirements,
        map: item.map,
        talisman: item.talisman,
        beast: item.beast,
        affixes: item.affixes,
        flask: item.flask,
        offense: item.offense,
        defense: item.defense,
        baseItem: item.baseItem,
        map: item.map,
        quality: item.quality,
        divinationCard: item.divinationCard,
        prophecy: item.prophecy,
        metamorph: item.metamorph,
    };

    console.log(JSON.stringify(data));
})();
```