open-index/open-npm huggingface dataset:
npm package: @rumblefishdev/hardhat
Description: Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.
Author: Nomic Labs LLC
Latest version: 2.22.18

![](https://user-images.githubusercontent.com/176499/96893278-ebc67580-1460-11eb-9530-d5df3a3d65d0.png) [![NPM Package](https://img.shields.io/npm/v/hardhat.svg?style=flat-square)](https://www.npmjs.org/package/hardhat) [![GitPOAP Badge](https://public-api.gitpoap.io/v1/repo/NomicFoundation/hardhat/badge)](https://www.gitpoap.io/gh/NomicFoundation/hardhat)

---

Hardhat is an Ethereum development environment for professionals. It facilitates performing frequent tasks, such as running tests, automatically checking code for mistakes or interacting with a smart contract. Check out the [plugin list](https://hardhat.org/plugins/) to use it with your existing tools.

Built by the [Nomic Foundation](https://nomic.foundation/) for the Ethereum community.

Join our [Hardhat Support Discord server](https://hardhat.org/discord) to stay up to date on new releases, plugins and tutorials.

---

> 💡 **The Nomic Foundation is hiring! Check [our open positions](https://www.nomic.foundation/jobs?utm_source=myALpQnzlM).**

---

## Installation

To install Hardhat, go to an empty folder, initialize an `npm` project (i.e. `npm init`), and run

```
npm install --save-dev hardhat
```

Once it's installed, just run this command and follow its instructions:

```
npx hardhat init
```

## Documentation

On [Hardhat's website](https://hardhat.org) you will find:

- [Guides to get started](https://hardhat.org/getting-started/)
- [Hardhat Network](https://hardhat.org/hardhat-network/)
- [Plugin list](https://hardhat.org/plugins/)

## Contributing

Contributions are always welcome! Feel free to open any issue or send a pull request.

Go to [CONTRIBUTING.md](https://github.com/NomicFoundation/hardhat/blob/main/CONTRIBUTING.md) to learn about how to set up Hardhat's development environment.

## Feedback, help and news

[Hardhat Support Discord server](https://hardhat.org/discord): for questions and feedback.

[Follow Hardhat on Twitter.](https://twitter.com/HardhatHQ)

## Happy building!

👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️👷‍♀️👷‍♂️
npm package: @rumblefishdev/hardhat-kms-signer
Description: Sign Hardhat deployment transactions using KMS key
Author: Rumblefish Software Development
Latest version: 2.0.0

# Hardhat KMS Signer

This plugin signs Ethereum transaction using KMS key during deployments.

## Usage

It's assumed that you have AWS access configured and your role perform kms:sign using KMS key.

In `hardhat.config.ts` do:

```
import "@rumblefishdev/hardhat-kms-signer";

...

const config: HardhatUserConfig = {
  networks: {
    ropsten: {
      url: `https://ropsten.infura.io/v3/${process.env.INFURA_KEY}`,
      kmsKeyId: "YOUR KMS KEY ID"
    }
  }
}
```

### Learn your address

```
$ node_modules/.bin/hardhat console --network ropsten
Creating Typechain artifacts in directory types for target ethers-v5
Successfully generated Typechain artifacts!
Welcome to Node.js v12.22.6.
> getNamedAccounts().then(console.log)
Promise { <pending> }
> { deployer: '0x541dD0eC22fB1213d2C2B1fc83B5F302cEFF79A2' }
```

Remember to fund your address with some ETH before deploying.

### Minimal EIP1559 gas values

On less crowded networks (such as Sepolia) there may be situations where automatic gas provider will set 
`maxFeePerGas` & `maxPriorityFeePerGas` near 0 (when empty blocks are mined). To prevent this you can
set minimal values for them in config:

```
import "@rumblefishdev/hardhat-kms-signer";

...

const config: HardhatUserConfig = {
  networks: {
    ropsten: {
      url: `https://ropsten.infura.io/v3/${process.env.INFURA_KEY}`,
      kmsKeyId: "YOUR KMS KEY ID",
      minMaxFeePerGas: 1600000000,
      mixMaxPriorityFeePerGas: 1200000000
    }
  }
}
```
npm package: @rumblefishdev/hardhat-network-helpers
Description: fork from @nomicfoundation/hardhat-network-helpers
Author: Nomic Foundation
Latest version: 1.0.15

[![npm](https://img.shields.io/npm/v/@nomicfoundation/hardhat-network-helpers.svg)](https://www.npmjs.com/package/@nomicfoundation/hardhat-network-helpers)

# Hardhat Network Helpers

Hardhat Network Helpers is a library that provides a set of utility functions to interact with the [Hardhat Network](https://hardhat.org/hardhat-network/docs). You can read their full documentation [here](https://hardhat.org/hardhat-network-helpers/docs).

### Installation

We recommend using npm 7 or later:

```
npm install --save-dev @nomicfoundation/hardhat-network-helpers
```

### Usage

Import it and use it in any of your files. For example, this [Hardhat script](https://hardhat.org/hardhat-runner/docs/advanced/scripts) mines some blocks and then prints the block number.

```js
const helpers = require("@nomicfoundation/hardhat-network-helpers");

async function main() {
  // mine 100 blocks
  await helpers.mine(100);

  console.log("The current block number is", await helpers.time.latestBlock());
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});
```
npm package: @rumblehan/plugin-file
Description: 文件插件
Author: rumblehan
Latest version: 1.0.9

# @aomao/plugin-file

文件插件

## 安装

```bash
$ yarn add @aomao/plugin-file
```

添加到引擎

```ts
import Engine, { EngineInterface } from '@aomao/engine';
import File , { FileComponent , FileUploader } from '@aomao/plugin-file';

new Engine(...,{ plugins:[ File , FileUploader ] , cards:[ FileComponent ]})
```

`FileUploader` 插件主要功能：选择文件、上传文件

## `File` 可选项

`onBeforeRender` 预览附近或者下载附件时可对地址修改

```ts
onBeforeRender?: (action: 'download' | 'preview', url: string, editor: EditorInterface) => string;
```

## `FileUploader` 可选项

```ts
//使用配置
new Engine(...,{
    config:{
        [FileUploader.pluginName]:{
            //...相关配置
        }
    }
 })
```

### 文件上传

`action`: 上传地址，始终使用 `POST` 请求

`crossOrigin`: 是否跨域

`withCredentials`: https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/withCredentials

`headers`: 请求头

`contentType`: 文件上传默认以 `multipart/form-data;` 类型上传

`accept`: 限制用户文件选择框选择的文件类型，默认 `*` 所有的

`limitSize`: 限制用户选择的文件大小，超过限制将不请求上传。默认：`1024 * 1024 * 5` 5M

`multiple`: `false` 一次只能上传一个文件，`true` 默认一次最多 100 个文件。可以指定具体数量，但是文件选择框无法限制，只能上传的时候限制上传最前面的张数

`data`: 文件上传时同时将这些数据一起`POST`到服务端

`name`: 文件上传请求时，请求参数在 `FormData` 中的名称，默认 `file`

```ts
/**
 * 文件上传地址
 */
action:string
/**
 * 是否跨域
 */
crossOrigin?: boolean;
/**
 * https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/withCredentials
 */
withCredentials?: boolean;
/**
* 请求头
*/
headers?: RequestHeaders;
/**
 * 数据返回类型，默认 json
 */
type?: '*' | 'json' | 'xml' | 'html' | 'text' | 'js';
/**
 * 文件上传时 FormData 的名称，默认 file
 */
name?: string
/**
 * 额外携带数据上传
 */
data?: RequestData;
/**
 * 请求类型，默认 multipart/form-data;
 */
contentType?:string
/**
 * 文件接收的格式，默认 "*" 所有的
 */
accept?: string | Array<string>;
/**
 * 文件选择限制数量
 */
multiple?: boolean | number;
/**
 * 上传大小限制，默认 1024 * 1024 * 5 就是5M
 */
limitSize?: number;

```

### 解析服务端响应数据

默认会查找

文件地址：response.url || response.data && response.data.url
预览地址：response.preview || response.data && response.data.preview 后端转换后可以预览一些复杂的文件，如果有可以返回地址
下载地址：response.download || response.data && response.data.download 文件的下载地址，可以加权限、时间限制等等，如果有可以返回地址

`result`: true 上传成功，data 为文件地址。false 上传失败，data 为错误消息

```ts
/**
 * 解析上传后的Respone，返回 result:是否成功，data:成功：文件地址，失败：错误信息
 */
parse?: (
    response: any,
) => {
    result: boolean;
    data: string;
};
```

## 命令

### `File` 插件命令

插入一个文件

参数 1：文件状态`uploading` | `done` | `error` 上传中、上传完成、上传错误

参数 2：在状态非 `error` 下，为展示文件，否则展示错误消息

```ts
//'uploading' | 'done' | 'error'
engine.command.execute(
	File.pluginName,
	'done',
	'文件地址',
	'文件名称', //可选、默认为url地址
	'文件大小', //可选
	'预览地址', //可选
	'下载地址', //可选
);
```

### `FileUploader` 插件命令

弹出文件选择框，并执行上传

可选参数 1：传入文件列表，将上传这些文件。否则弹出文件选择框并，选择文件后执行上传

```ts
//方法签名
async execute(files?: Array<File> | MouseEvent):void
//执行命令
engine.command.execute(FileUploader.pluginName);
```
npm package: @rumblesan/virgil
Description: A library for helping you build recursive descent parsers and regex-based lexers
Author: Guy John
Latest version: 0.0.10

# Virgil

[![Build Status](https://travis-ci.org/rumblesan/virgil.svg?branch=master)](https://travis-ci.org/rumblesan/virgil)

A library to make building parsers and lexers easier.


## Description

Heavily based on [Canto 34](https://github.com/stevecooperorg/canto34) by [Steve Cooper](http://www.stevecooper.org). I've used it plenty for my own projects but kept finding there were a few more things I was always adding, so decided to spin off my own version.


## Contact

Drop me an email at guy@rumblesan.com


## License

MIT License.

Original code Copyright 2013 - present Steve Cooper
Further changes Copyright 2020 - present Guy John
npm package: @rumblewikis/wikipages-deno-bundler-middleware
Description: Bundles .jsx, .tsx, .js, and .ts files into .js files using the Deno bundler for WikiPages.
Author: rumblewikis
Latest version: 0.3.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

See the [WikiPages README](https://github.com/RumbleWikis/WikiPages), and [Middlewares README](https://github.com/RumbleWikis/WikiPages-Middleware)

[npm](https://npmjs.com/package/@rumblewikis/wikipages-deno-bundler-middleware)
[GitHub](https://github.com/RumbleWikis/WikiPages-Middleware/tree/master/middleware/deno-bundler)

Bundles `.jsx`, `.tsx`, `.js`, and `.ts` files into `.js` files using the Deno bundler.

Settings index: `denoBundler`

Settings parameters:
* `parameters?: []`
  * Extra parameters for Deno Bundle.
* `useBabel?: boolean`
  * Whether or not it use should use Babel.transform afterwards.
npm package: @rumblewikis/wikipages-sass-compiler-middleware
Description: Compiles SASS/SCSS code for WikiPages.
Author: rumblewikis
Latest version: 0.3.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

See the [WikiPages README](https://github.com/RumbleWikis/WikiPages), and [Middlewares README](https://github.com/RumbleWikis/WikiPages-Middleware)

[npm](https://npmjs.com/package/@rumblewikis/wikipages-sass-compiler-middleware)
[GitHub](https://github.com/RumbleWikis/WikiPages-Middleware/tree/master/middleware/sass-compiler)

Compiles SASS/SCSS code for WikiPages.

Settings index: `sassCompiler`

Settings parameters are the same as `sass.Options` from [@types/sass](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/sass/index.d.ts)
npm package: @rumblr/dns
Description: Resolve .mito domains powered by the Rumblr protocol
Author: Rumblr
Latest version: 1.0.5

# Rumblr DNS for .mito Domains

[![npm version](https://rumblr.io/logo.png)](https://www.npmjs.com/package/@rumblr/dns)

---

**Rumblr DNS** helps you resolve `.mito` domains powered by the Rumblr protocol. It is simple to use, secure, and pretty fast!

## Installation

You'll need [Node.js](https://nodejs.org/) installed to get started.

**1. Install the package:**

You can install this package using `npm` or `yarn`.

```bash
# Install using npm
npm install @rumblr/dns

# For use from the command line
yarn add @rumblr/dns
```

## Usage

To utilize the DNS, simply import the package, initialize the class, and use the `resolve()` method as shown below:

```js
import RumblrDNS from '@rumblr/dns';

async function resolveDomain(domain) {

    try {
        
        const rumblrDNS = new RumblrDNS();
        const resolved = await rumblrDNS.resolve(domain);

        console.log('Resolution Result: ', resolved);

    } catch (error) {
        
        console.error('Resolution failed:', error);

    }

}

resolveDomain('harry.mito');
```

## Contributing

Found a bug or have an idea? Please open an issue or submit a pull request!

## License

This project is licensed under the MIT License.
npm package: @rumess/payload-audit-log
Description: Audit log plugin for PayloadCMS with changes tracking
Author: Rumesh Udash
Latest version: 1.1.0

# PayloadCMS Audit Log Plugin

This plugin adds comprehensive audit logging functionality to your PayloadCMS application. It logs create, update, and delete operations for specified collections, including detailed changes for update operations.

## Features

-   Log create, update, and delete operations for specified collections
-   Detailed change tracking for update operations
-   Option to include the auth collection (users) in the audit
-   Stores full document data for create and delete operations

## Installation

```bash
npm install @rumess/payload-audit-log
```

## Usage

In your Payload configuration file:

```javascript
import { buildConfig } from "payload/config";
import auditLogPlugin from "@rumess/payload-audit-log";

export default buildConfig({
    plugins: [
        auditLogPlugin({
            collections: ["posts", "products"],
            includeAuth: true,
        }),
    ],
    // ... rest of your config
});
```

## Options

-   `collections`: An array of collection slugs to be audited. Default: `[]`
-   `includeAuth`: Whether to include the auth collection (users) in the audit. Default: `false`

## Audit Log Structure

The plugin creates an `audit-logs` collection with the following fields:

-   `collection`: The name of the collection being audited
-   `action`: The type of operation (create, update, delete)
-   `documentId`: The ID of the document being operated on
-   `timestamp`: The time of the operation
-   `user`: The user who performed the operation (if available)
-   `changes`:
    -   For create: The entire new document
    -   For update: An object showing old and new values of changed fields
    -   For delete: The entire deleted document

## Example

After an update operation on a `posts` collection, an audit log entry might look like this:

```json
{
    "collection": "posts",
    "action": "update",
    "documentId": "123456789",
    "timestamp": "2023-05-20T14:30:00Z",
    "user": "user123",
    "changes": {
        "title": {
            "old": "Old Title",
            "new": "New Title"
        },
        "content": {
            "old": "Old content here",
            "new": "Updated content here"
        }
    }
}
```

## License

MIT
npm package: @rumess/react-light-gallery
Description: A light weight responsive react gallery.
Author: rumess
Latest version: 1.0.9

# @rumess/react-light-gallery

> 

[![NPM](https://img.shields.io/npm/v/@rumess/react-light-gallery)](https://www.npmjs.com/package/@rumess/react-light-gallery) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

[DEMO](https://rumess.github.io/react-light-gallery/)

## Install

```bash
npm install --save @rumess/react-light-gallery
```

## Usage

### Basic Usage
```jsx
import React, { Component } from 'react'

import Gallery from '@rumess/react-light-gallery'

class Example extends Component {
  render () {
    const items = [
      {
        name: 'Name here', // Optional
        image: '/path/to/image',
        thumbnail: '/path/to/image', // Optional
        caption: 'Caption here' // Optional
      },
      {
        name: 'Name here', // Optional
        image: '/path/to/image',
        thumbnail: '/path/to/image', // Optional
        caption: 'Caption here' // Optional
      },
      ...
    ];

    return (
      <Gallery items={ items } overlay={ true } overlayColor="rgba( 255,0,0,.5 )" />
    )
  }
}

```

### With overlay Contents
```jsx
import React, { Component } from 'react'

import Gallery from '@rumess/react-light-gallery'

class Example extends Component {
  overlayContent = ( item, index ) => {
    return <h1 style={{textAlign: "center"}}>{item.caption}</h1>
  }
  render () {
    const items = [
      {
        name: 'Name here', // Optional
        image: '/path/to/image',
        thumbnail: '/path/to/image', // Optional
        caption: 'Caption here' // Optional
      },
      {
        name: 'Name here', // Optional
        image: '/path/to/image',
        thumbnail: '/path/to/image', // Optional
        caption: 'Caption here' // Optional
      },
      ...
    ];

    return (
      <Gallery items={ items } overlay={ this.overlayContent } overlayColor="rgba( 255,0,0,.5 )" />
    )
  }
}
```

## License

MIT © [rumess](https://github.com/rumess)