Этот репозиторий содержит основные смарт-контракты для протокола Uniswap V3. Контракты более высокого уровня см. в репозитории uniswap-v3-periphery.
На этот репозиторий распространяется программа вознаграждения за ошибки Uniswap V3 в соответствии с условиями, определенными здесь.
Чтобы развернуть этот код в локальной тестовой сети, вам необходимо установить пакет npm @uniswap/v3-core
и импортировать заводской байт-код, расположенный по адресу @uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json
. Например:
import {
abi as FACTORY_ABI ,
bytecode as FACTORY_BYTECODE ,
} from '@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json'
// deploy the bytecode
Это гарантирует, что вы тестируете тот же байт-код, который развернут в основной сети и общедоступных тестовых сетях, и весь код Uniswap будет правильно взаимодействовать с вашим локальным развертыванием.
Интерфейсы Uniswap v3 доступны для импорта в смарт-контракты Solidity через артефакт npm @uniswap/v3-core
, например:
import ' @uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol ' ;
contract MyContract {
IUniswapV3Pool pool;
function doSomethingWithPool () {
// pool.swap(...);
}
}
Основной лицензией для Uniswap V3 Core является лицензия Business Source 1.1 ( BUSL-1.1
), см. LICENSE
. Однако некоторые файлы имеют двойную лицензию GPL-2.0-or-later
:
contracts/interfaces/
также могут лицензироваться по лицензии GPL-2.0-or-later
(как указано в их заголовках SPDX), см. contracts/interfaces/LICENSE
contracts/libraries/
также могут лицензироваться по лицензии GPL-2.0-or-later
(как указано в их заголовках SPDX), см. contracts/libraries/LICENSE
contracts/libraries/FullMath.sol
лицензируется в соответствии с MIT
(как указано в заголовке SPDX), см. contracts/libraries/LICENSE_MIT
contracts/test
остаются нелицензионными (как указано в их заголовках SPDX).