Repositori ini berisi kontrak pintar inti untuk Protokol Uniswap V3. Untuk kontrak tingkat yang lebih tinggi, lihat repositori uniswap-v3-periphery.
Repositori ini tunduk pada program bug bounty Uniswap V3, sesuai ketentuan yang ditentukan di sini.
Untuk menerapkan kode ini ke testnet lokal, Anda harus menginstal paket npm @uniswap/v3-core
dan mengimpor bytecode pabrik yang terletak di @uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json
. Misalnya:
import {
abi as FACTORY_ABI ,
bytecode as FACTORY_BYTECODE ,
} from '@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json'
// deploy the bytecode
Ini akan memastikan bahwa Anda melakukan pengujian terhadap bytecode yang sama yang diterapkan ke mainnet dan testnet publik, dan semua kode Uniswap akan beroperasi dengan benar dengan penerapan lokal Anda.
Antarmuka Uniswap v3 tersedia untuk diimpor ke kontrak pintar soliditas melalui artefak npm @uniswap/v3-core
, misalnya:
import ' @uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol ' ;
contract MyContract {
IUniswapV3Pool pool;
function doSomethingWithPool () {
// pool.swap(...);
}
}
Lisensi utama untuk Uniswap V3 Core adalah Lisensi Sumber Bisnis 1.1 ( BUSL-1.1
), lihat LICENSE
. Namun, beberapa file memiliki lisensi ganda di bawah GPL-2.0-or-later
:
contracts/interfaces/
juga dapat dilisensikan di bawah GPL-2.0-or-later
(seperti yang ditunjukkan dalam header SPDX), lihat contracts/interfaces/LICENSE
contracts/libraries/
mungkin juga dilisensikan di bawah GPL-2.0-or-later
(seperti yang ditunjukkan dalam header SPDX), lihat contracts/libraries/LICENSE
contracts/libraries/FullMath.sol
dilisensikan di bawah MIT
(seperti yang ditunjukkan dalam header SPDX-nya), lihat contracts/libraries/LICENSE_MIT
contracts/test
tetap tidak berlisensi (seperti yang ditunjukkan dalam header SPDX).