open-index/open-npm huggingface dataset:
npm package: @nftchance/mev
Description: A MEV bot engine designed specifically for individuals that need high data stream throughput paired with the ability to craft new strategies in as few lines of code possible.
Author: nftchance
Latest version: 0.0.16

# 🥵 MEV

A Typescript-based "process-parallel" MEV bot that has been evolved throughout the years. What this means, is that instead of creating new scripts and collectors for each of your strategies you can simply reuse the streams of data that already exist. Instead of needing a new `block` collector for every single strategy you run within the EVM ecosystem you can simply reuse a constant feed from one RPC endpoint. By doing this your RPC interactions remain far more managable and you are less limited by scale and throughput.

![Installation image](https://github.com/nftchance/mev/blob/main/install.png)

Inspired by [Artemis](https://github.com/paradigmxyz/artemis), the key pieces of this engine can be broken down into:

-   Collectors: Streams of data that consume and forward onchain and offchain events/triggers.
-   Executors: Actions taken when an event is received.
-   Strategies: Organization of Collectors and Executors to form a single-lane outcome.

## Getting Started

> [!NOTE]
> When using the bot you will want to create a playground that contains all the individual pieces of your strategies, this repository contains the core engine that is needed to get you up and running. There are no default strategies included at this time. However, you can see an example of implementation at `src/core/strategies/block.log.ts`.

To get started, we will use `pnpm` to install the dependencies and run the bot.

First, install the dependencies:

```bash
pnpm install
```

If you are starting a new bot or do not have a configuration to import, you can run the following command to generate a new configuration file:

```bash
pnpm mev init
```

As your strategies become more complex you will need local interfaces to the contracts that you interact with. To do so, simply run:

```bash
pnpm mev references
```

By running `mev init` a configuration with a base example has been generated at `mev.config.ts` folder of your project root. Just like that, you are up and running. Of course, if there was no configuration to run a money-making bot that would be awesome, wouldn't it? That is not the case here.

With a passing test suite, you are cleared to enable the bot and let it run. With all the effort leading up to here, just run:

```bash
pnpm mev start
```
npm package: @nftchance/plug-types
Description: > [!NOTE] > This repository is a submodule of the larger [Plug monorepo](https://github.com/nftchance/plug) that contains all the required pieces to run the entire Plug stack yourself.
Latest version: 0.10.2

# 🔌 Plug Types

> [!NOTE]
> This repository is a submodule of the larger [Plug monorepo](https://github.com/nftchance/plug) that contains all the required pieces to run the entire Plug stack yourself.

The `types` package of Plug is a separate piece of the repository that contains the key building blocks to create and verify signatures that consume the EIP712 types both onchain and offchain. Using automated generation these types operate as the base of the shape definition through all pieces of the broader monorepo.

## Dependencies

In order to run `@nftchance/plug-types` it is necessary to install all of the following dependencies first:

```ml
└─ pnpm — "Efficient package manager for Node modules."
```

## Developer Usage

In practice, the usage of this package should be exceptionally minimal when in isolated environments. Really, this package is intended to be used in a greater setting where your generated `Types.sol` smart contract is inherited into a larger framework. During generation `solady` is used to recover the signer of a message from the deterministic `EIP712` digest.

When using `foundry` it is recommended that you use `node_modules` to manage your dependencies as submodules are a terrible pattern to follow and offer subpar user experience. To do this, you will update your `foundry.toml` file to include the following:

```toml
[profile.default]
    remappings = [
        "solady/=node_modules/solady/src/",
    ]
```

With this taken care of you have two options:

1. Use the `Types.sol` smart contract distributed with this package.
2. Generate your own `Types.sol` smart contract using the `plug init` command followed by `plug generate` after you have defined your desired `plug.config.ts` file.

## Building & Publishing

When you've made changes to the repository you will need to build the package so that it can be distributed to your users. To do this you can run the following command:

```bash
pnpm build
```

This will generate the `dist` folder which contains the `Types.sol` smart contract and the `index.js` file that is the entrypoint for the package.

The deployable package is automatically managed by `changesets` enabling the ability to publish the later version of the library through a pull request. Notably, you do not need to run anything yourself to do this outside of creating a changeset when there is a key change that end-users should be aware of. Not all changes require a changeset, but when they do you can generate one with:

```bash
pnpm changeset add
```
npm package: @nftcloner/contracts
Description: NFT Cloner Smart Contracts
Author: Yann Guineau
Latest version: 1.0.0-dev.0

# NFT Cloner - Smart Contracts

## Development

### Install dependencies

```sh
yarn
```

### Compile typescript, contracts, and generate typechain wrappers

```sh
yarn build
```

### Run tests

```sh
yarn test
```

### Environment Setup

Copy `.env.example` to `.env` and fill in fields

### Commands

```sh
# compiling
npx hardhat compile

# deploying
npx hardhat deploy

# verifying on etherscan
npx hardhat verify --network goerli {DEPLOYED_ADDRESS}

# replace `goerli` with `mainnet` to productionize
```

### Automated Testnet Deployments

The contracts are deployed to Rinkeby on each push to master and each PR using the account `0x7f686f9B2740e09469a4A5A0F2eDE2d317D4aeE5`. This account's mnemonic is stored in GitHub Actions as a secret and is injected as the environment variable `MNEMONIC`. This mnemonic _shouldn't be considered safe for mainnet use_.
npm package: @nfte/handler
Description: A function to allow you to self-host the api portion of NFTE in your own infrastructure.
Author: Sam Mason de Caires
Latest version: 1.0.5

# `@nfte/handler`

A function to allow you to self-host the api portion of NFTE in your own infrastructure
https://nfte.app

---

## Documentation

For full documentation, visit https://nfte.app

## Authors

- Sam Mason de Caires
npm package: @nfte/react
Description: A React component for rendering NFT's in your app
Author: Sam Mason de Caires
Latest version: 1.0.4

# `@nfte/react`

A small, customisable React component for rendering NFT's in your site/app
https://nfte.app

---

## Documentation

For full documentation, visit https://nfte.app

## Authors

- Sam Mason de Caires