Este repositorio contiene los contratos inteligentes principales para el protocolo Uniswap V3. Para contratos de nivel superior, consulte el repositorio uniswap-v3-periphery.
Este repositorio está sujeto al programa de recompensas por errores de Uniswap V3, según los términos definidos aquí.
Para implementar este código en una red de prueba local, debe instalar el paquete npm @uniswap/v3-core
e importar el código de bytes de fábrica ubicado en @uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json
. Por ejemplo:
import {
abi as FACTORY_ABI ,
bytecode as FACTORY_BYTECODE ,
} from '@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json'
// deploy the bytecode
Esto garantizará que esté realizando pruebas con el mismo código de bytes que se implementa en la red principal y en las redes de prueba públicas, y que todo el código Uniswap interoperará correctamente con su implementación local.
Las interfaces Uniswap v3 están disponibles para importar en contratos inteligentes de solidity a través del artefacto npm @uniswap/v3-core
, por ejemplo:
import ' @uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol ' ;
contract MyContract {
IUniswapV3Pool pool;
function doSomethingWithPool () {
// pool.swap(...);
}
}
La licencia principal para Uniswap V3 Core es Business Source License 1.1 ( BUSL-1.1
), consulte LICENSE
. Sin embargo, algunos archivos tienen doble licencia GPL-2.0-or-later
:
contracts/interfaces/
también pueden tener licencia bajo GPL-2.0-or-later
(como se indica en sus encabezados SPDX), consulte contracts/interfaces/LICENSE
contracts/libraries/
también pueden tener licencia GPL-2.0-or-later
(como se indica en sus encabezados SPDX), consulte contracts/libraries/LICENSE
contracts/libraries/FullMath.sol
tiene licencia del MIT
(como se indica en su encabezado SPDX), consulte contracts/libraries/LICENSE_MIT
contracts/test
permanecen sin licencia (como se indica en sus encabezados SPDX).