# @uniswap/v3-core

> 🦄 Core smart contracts of Uniswap V3

Latest version **1.0.1** (published 2022-01-26) · BUSL-1.1 license · 0 weekly downloads

## Install

```sh
npm install @uniswap/v3-core
pnpm add @uniswap/v3-core
yarn add @uniswap/v3-core
bun add @uniswap/v3-core
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2022-01-26 |
| First published | 2021-02-19 |
| Weekly downloads | 0 |
| License | BUSL-1.1 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=10 |
| Dependencies | 0 |
| Unpacked size | 416.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 5022 |
| Maintainers | asood123, justindomingue, sarareynolds, noahwz, moodysalem, ianlapham, callil, haydenadams, towering-elsie, emag3m, willpote |
| Keywords | uniswap, core, v3 |

## Links

- npm: https://www.npmjs.com/package/@uniswap/v3-core
- Repository: https://github.com/Uniswap/uniswap-v3-core
- Homepage: https://uniswap.org
- Issues: https://github.com/Uniswap/uniswap-v3-core/issues
- npm.io page: https://npm.io/package/@uniswap/v3-core

## Alternatives

- [lodash.assign](https://npm.io/package/lodash.assign.md) — 2.3M weekly downloads
- [lodash.chunk](https://npm.io/package/lodash.chunk.md) — 1.8M weekly downloads
- [react-native-ios-utilities](https://npm.io/package/react-native-ios-utilities.md) — 138.5K weekly downloads
- [@technically/lodash](https://npm.io/package/@technically/lodash.md) — 50.9K weekly downloads
- [@fluid-topics/ft-icon](https://npm.io/package/@fluid-topics/ft-icon.md) — 20.6K weekly downloads

## Recent versions

- 1.0.1 (latest) — 2022-01-26
- 1.0.2-solc-0.8-simulate (simulate) — 2022-06-02
- 1.0.1-solc-0.8-simulate — 2022-06-02
- 1.0.0 — 2021-05-04
- 1.0.0-rc.2 — 2021-04-20
- 1.0.0-rc.1 — 2021-03-31
- 1.0.0-rc.0 — 2021-03-22
- 1.0.0-beta.10 — 2021-03-12
- 1.0.0-beta.9 — 2021-03-05
- 1.0.0-beta.8 — 2021-03-05
- 1.0.0-beta.7 — 2021-03-01
- 1.0.0-beta.6 — 2021-03-01
- 1.0.0-beta.5 — 2021-03-01
- 1.0.0-beta.4 — 2021-02-25
- 1.0.0-beta.3 — 2021-02-23
- … 3 more at https://npm.io/package/@uniswap/v3-core/versions

## README

# Uniswap V3

[![Lint](https://github.com/Uniswap/uniswap-v3-core/actions/workflows/lint.yml/badge.svg)](https://github.com/Uniswap/uniswap-v3-core/actions/workflows/lint.yml)
[![Tests](https://github.com/Uniswap/uniswap-v3-core/actions/workflows/tests.yml/badge.svg)](https://github.com/Uniswap/uniswap-v3-core/actions/workflows/tests.yml)
[![Fuzz Testing](https://github.com/Uniswap/uniswap-v3-core/actions/workflows/fuzz-testing.yml/badge.svg)](https://github.com/Uniswap/uniswap-v3-core/actions/workflows/fuzz-testing.yml)
[![Mythx](https://github.com/Uniswap/uniswap-v3-core/actions/workflows/mythx.yml/badge.svg)](https://github.com/Uniswap/uniswap-v3-core/actions/workflows/mythx.yml)
[![npm version](https://img.shields.io/npm/v/@uniswap/v3-core/latest.svg)](https://www.npmjs.com/package/@uniswap/v3-core/v/latest)

This repository contains the core smart contracts for the Uniswap V3 Protocol.
For higher level contracts, see the [uniswap-v3-periphery](https://github.com/Uniswap/uniswap-v3-periphery)
repository.

## Bug bounty

This repository is subject to the Uniswap V3 bug bounty program, per the terms defined [here](./bug-bounty.md).

## Local deployment

In order to deploy this code to a local testnet, you should install the npm package
`@uniswap/v3-core`
and import the factory bytecode located at
`@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json`.
For example:

```typescript
import {
  abi as FACTORY_ABI,
  bytecode as FACTORY_BYTECODE,
} from '@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json'

// deploy the bytecode
```

This will ensure that you are testing against the same bytecode that is deployed to
mainnet and public testnets, and all Uniswap code will correctly interoperate with
your local deployment.

## Using solidity interfaces

The Uniswap v3 interfaces are available for import into solidity smart contracts
via the npm artifact `@uniswap/v3-core`, e.g.:

```solidity
import '@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol';

contract MyContract {
  IUniswapV3Pool pool;

  function doSomethingWithPool() {
    // pool.swap(...);
  }
}

```

## Licensing

The primary license for Uniswap V3 Core is the Business Source License 1.1 (`BUSL-1.1`), see [`LICENSE`](./LICENSE).

### Exceptions

- All files in `contracts/interfaces/` are licensed under `GPL-2.0-or-later` (as indicated in their SPDX headers), see [`contracts/interfaces/LICENSE`](./contracts/interfaces/LICENSE)
- Several files in `contracts/libraries/` are licensed under `GPL-2.0-or-later` (as indicated in their SPDX headers), see [`contracts/libraries/LICENSE_GPL`](contracts/libraries/LICENSE_GPL)
- `contracts/libraries/FullMath.sol` is licensed under `MIT` (as indicated in its SPDX header), see [`contracts/libraries/LICENSE_MIT`](contracts/libraries/LICENSE_MIT)
- All files in `contracts/test` remain unlicensed.

---
_Source: https://npm.io/package/@uniswap/v3-core · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
