v3 core
1.0.0
该存储库包含 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 接口可通过 npm 工件@uniswap/v3-core
导入到 Solidity 智能合约中,例如:
import ' @uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol ' ;
contract MyContract {
IUniswapV3Pool pool;
function doSomethingWithPool () {
// pool.swap(...);
}
}
Uniswap V3 Core 的主要许可证是商业源许可证 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 标头所示)。