open-index/open-npm huggingface dataset:
npm package: @metis.io/core-utils
Description: [![codecov](https://codecov.io/gh/ethereum-optimism/optimism/branch/master/graph/badge.svg?token=0VTG7PG7YR&flag=core-utils)](https://codecov.io/gh/ethereum-optimism/optimism)
Author: Optimism PBC, Metis.io
Latest version: 0.7.8

[![codecov](https://codecov.io/gh/ethereum-optimism/optimism/branch/master/graph/badge.svg?token=0VTG7PG7YR&flag=core-utils)](https://codecov.io/gh/ethereum-optimism/optimism)

# @eth-optimism/core-utils

## What is this?

`@eth-optimism/core-utils` contains the Optimistic Virtual Machine core utilities.

## Getting started

### Building and usage

After cloning and switching to the repository, install dependencies:

```bash
$ yarn
```

Use the following commands to build, use, test, and lint:

```bash
$ yarn build
$ yarn start
$ yarn test
$ yarn lint
```

### L2 Fees

`TxGasLimit` can be used to `encode` and `decode` the L2 Gas Limit
locally.

```typescript
import { TxGasLimit } from '@eth-optimism/core-utils'
import { JsonRpcProvider } from 'ethers'

const L2Provider = new JsonRpcProvider('https://mainnet.optimism.io')
const L1Provider = new JsonRpcProvider('http://127.0.0.1:8545')

const l2GasLimit = await L2Provider.send('eth_estimateExecutionGas', [tx])
const l1GasPrice = await L1Provider.getGasPrice()

const encoded = TxGasLimit.encode({
  data: '0x',
  l1GasPrice,
  l2GasLimit,
  l2GasPrice: 10000000,
})

const decoded = TxGasLimit.decode(encoded)
assert(decoded.eq(gasLimit))

const estimate = await L2Provider.estimateGas()
assert(estimate.eq(encoded))
```
npm package: @metis.io/hardhat-mvm
Description: A plugin that brings OVM compiler support to Hardhat projects.
Author: Metis.io ORG
Latest version: 0.2.7

# @eth-optimism/hardhat-ovm

A plugin that brings OVM compiler support to Hardhat projects.

## Installation

```
yarn add --dev @eth-optimism/hardhat-ovm
```

Next, import the plugin inside your `hardhat.config.js`:

```js
// hardhat.config.js

require("@eth-optimism/hardhat-ovm")
```

Or if using TypeScript:

```ts
// hardhat.config.ts

import "@eth-optimism/hardhat-ovm"
```

## Configuration

**By default, this plugin will use OVM compiler version 0.7.6**.
Configure this plugin by adding an `ovm` field to your Hardhat config:

```js
// hardhat.config.js

require("@eth-optimism/hardhat-ovm")

module.exports = {
    ovm: {
        solcVersion: 'X.Y.Z' // Your version goes here.
    }
}

```

This package also has typings so it won't break your Hardhat config if you're using TypeScript.
npm package: @metisjs/icons
Description: metis 图标集，基于heroicons
Latest version: 1.1.0

# @metisjs/icons

[![NPM version](https://img.shields.io/npm/v/@metisjs/icons.svg?style=flat)](https://npmjs.org/package/@metisjs/icons)
[![NPM downloads](http://img.shields.io/npm/dm/@metisjs/icons.svg?style=flat)](https://npmjs.org/package/@metisjs/icons)

metis 图标集，基于 heroicons

## Usage

TODO

## Options

TODO

## Development

```bash
# install dependencies
$ pnpm install

# develop library by docs demo
$ pnpm start

# build library source code
$ pnpm run build

# build library source code in watch mode
$ pnpm run build:watch

# build docs
$ pnpm run docs:build

# check your project for potential problems
$ pnpm run doctor
```

## LICENSE

MIT
npm package: @metisjs/umi-plugins
Description: A umi plugin
Author: 王建明
Latest version: 1.0.1

# @metisjs/umi-plugins

A umi plugin

## Install

```bash
pnpm i @metisjs/umi-plugins
```

## Usage

Configure in `.umirc.ts`,

```js
export default {
  plugins: [
    ["@metisjs/umi-plugins/dist/metisui", "@metisjs/umi-plugins/dist/locale"],
  ],
};
```

## LICENSE

MIT
npm package: @metlo/cli
Description: <p align="center">   <picture>     <source media="(prefers-color-scheme: dark)" srcset="https://storage.googleapis.com/metlo-security-public-images/metlo_logo_horiz_negative%404x.png" height="80">     <img alt="logo" src="https://storage.googleapis.com/me
Latest version: 0.2.35

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://storage.googleapis.com/metlo-security-public-images/metlo_logo_horiz_negative%404x.png" height="80">
    <img alt="logo" src="https://storage.googleapis.com/metlo-security-public-images/metlo_logo_horiz%404x.png" height="80">
  </picture>
  <h1 align="center">Metlo API Security</h1>
  <p align="center">Secure Your API.</p>
</p>

## Installation

You can install Metlo's CLI tool by running:
```bash
npm install -g @metlo/cli
```
npm package: @metmirr/hydra-indexer
Description: Block index builder for substrate based chains
Latest version: 2.0.1-beta.17

# Hydra Indexer

Hydra Indexer is a daemon that ingests raw substrate data such as events and extrinsics from a substrate chain and saves it into a Postgres database. It is typically used in conjunction with [Hydra Indexer Gateway](./../hydra-indexer-gateway/README.md) providing a GraphQL API interface.

## Installation

The indexer exits if an unrecoverable error occurs. It is therefore advisable to run the indexer with a process manager, such as [PM2](https://pm2.keymetrics.io/) or Docker.

### Prerequisites

- Node 12.x
- Postgres database
- Redis instances
- (Optional) Docker

### Environment variables

The indexer is set up using the following environment variables

| Variable        | Default           | Required  | Description |
| -------|:------:| --------:| ---------------------------:|
| WS_PROVIDER_ENDPOINT_URI      | - | **Yes** | Substrate API endpoint to connect |
| REDIS_URI      | -      | **Yes** | Redis instance URI |
| DB_NAME | - | **Yes** | Database name |
| DB_PORT | - | **Yes** | Database port |
| DB_HOST | - | **Yes** | Database host |
| DB_USER | - | **Yes** | Database user |
| DB_PASS | - | **Yes** | Database password |
| TYPES_JSON | -      | No | Path to a JSON type definition with custom Substrate types |
| BLOCK_HEIGHT | 0 | No | Block height to start indexing. Ignored if the database already contains indexed blocks |

### Manual setup

Run

```bash
yarn && yarn build
```

For setting up the database and running the migrations, run `yarn db:bootstrap`. Make sure the environment variables `DB_*` are set.

For starting the indexer, run `yarn start:prod`.

### Docker image

There are pre-built runnable docker images in `joystream/hydra-indexer` docker repo. The default command is `yarn start:prod`.

First, bootstrap the database:

```bash
docker run -e DB_HOST=... -e DB_PORT=... -e DB_NAME=... -e DB_PASS=... -e DB_USER=... joystream/hydra-indexer sh -c 'yarn db:bootstrap'
```

Then run the indexer (make sure that all the required environment variables are set)

```bash
docker run -e ... joystream/hydra-indexer
```

## Advanced environment variables

Some optional environment variables are available for fine-tuning.

| Variable        | Default           |  Description |
| -------|:--------------:| ---------------------------:|
| BLOCK_CACHE_TTL_SEC      | `60*60` | TTL for processed blocks in the Redis cache |
| INDEXER_HEAD_TTL_SEC      | `60*15` | TTL for the indexer head block entry |
| WORKERS_NUMBER | 5 |  Number of concurrent workers fetching the blocks |
| BLOCK_PRODUCER_FETCH_RETRIES | 3 | Number of attempts fetching each a block before throwing an error. Set to `-1` for indefinite attempts |
| SUBSTRATE_API_TIMEOUT | `1000 * 60 * 5` | Timeout in (milliseconds) for API calls |
| NEW_BLOCK_TIMEOUT_MS | `60 * 10 * 1000` | Panic if no blockchain blocks have been received within this time |
npm package: @metocean/timelord
Description: Control time with strings like '(Pacific/Auckland)now/d+5d6h'
Author: MetOcean Solutions Ltd
Latest version: 2.0.0

# Timelord
Control time with strings like '(Pacific/Auckland)now/d+5d6h'

## Parsing
1. The string is checked against iso8601 and returned if valid
2. (optional) "(Timezone)" at the start (defaults to UTC)
3. (optional) "now" or another identifier (defaults to now)
4. A series of operations that add or remove durations, round to the start of duration mesurements and change the timezone of the operations.

## Examples
- `now` = The current timestamp in UTC
- `(Pacific/Auckland)now` = The current timestamp in the current timezone for Pacific/Auckland
- `+1day` = The current timestamp plus one day in UTC
- `/day+1day` = The start of today plus one day, so the start of tomorrow in UTC
- `(Pacific/Auckland)/week` = The start of the week in Pacific/Auckland
- `/w+d5h` = One day 5 hours after the start of the week in UTC
- `+5h/d` = The start of the day in five hours time in UTC
- `(UTC)/w(Pacific/Auckland)+4h` = The start of the UTC week, plus four hours in the Pacific/Auckland timezone (e.g. for daylight savings)
- `/d(Pacific/Auckland)` = The start of UTC today in Pacific/Auckland time
npm package: @metocherry/eslint-config-joy
Description: for clean code
Author: jinseok
Latest version: 0.0.8

# Eslint Config

## Install peer dependencies

```bash
yarn add --dev \
  eslint \
  typescript \
  eslint-import-resolver-node \
  eslint-plugin-import \
  eslint-plugin-react \
  @typescript-eslint/parser \
  @typescript-eslint/eslint-plugin \
  @metocherry/eslint-config-joy
```