Este repositório contém os principais contratos inteligentes para o protocolo Uniswap V3. Para contratos de nível superior, consulte o repositório uniswap-v3-periferia.
Este repositório está sujeito ao programa de recompensas de bugs Uniswap V3, de acordo com os termos definidos aqui.
Para implantar este código em uma testnet local, você deve instalar o pacote npm @uniswap/v3-core
e importar o bytecode de fábrica localizado em @uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json
. Por exemplo:
import {
abi as FACTORY_ABI ,
bytecode as FACTORY_BYTECODE ,
} from '@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json'
// deploy the bytecode
Isso garantirá que você esteja testando o mesmo bytecode implantado na rede principal e nas redes de teste públicas, e que todo o código Uniswap interoperará corretamente com sua implantação local.
As interfaces Uniswap v3 estão disponíveis para importação em contratos inteligentes de solidez por meio do artefato npm @uniswap/v3-core
, por exemplo:
import ' @uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol ' ;
contract MyContract {
IUniswapV3Pool pool;
function doSomethingWithPool () {
// pool.swap(...);
}
}
A licença principal do Uniswap V3 Core é a Business Source License 1.1 ( BUSL-1.1
), consulte LICENSE
. No entanto, alguns arquivos têm licença dupla sob GPL-2.0-or-later
:
contracts/interfaces/
também podem ser licenciados sob GPL-2.0-or-later
(conforme indicado em seus cabeçalhos SPDX), consulte contracts/interfaces/LICENSE
contracts/libraries/
também podem ser licenciados sob GPL-2.0-or-later
(conforme indicado em seus cabeçalhos SPDX), consulte contracts/libraries/LICENSE
contracts/libraries/FullMath.sol
é licenciado pelo MIT
(conforme indicado em seu cabeçalho SPDX), consulte contracts/libraries/LICENSE_MIT
contracts/test
permanecem sem licença (conforme indicado em seus cabeçalhos SPDX).