Dieses Repository enthält die wichtigsten Smart Contracts für das Uniswap V3-Protokoll. Informationen zu Verträgen höherer Ebene finden Sie im Repository uniswap-v3-periphery.
Dieses Repository unterliegt dem Bug-Bounty-Programm von Uniswap V3 gemäß den hier definierten Bedingungen.
Um diesen Code in einem lokalen Testnetz bereitzustellen, sollten Sie das npm-Paket @uniswap/v3-core
installieren und den Factory-Bytecode importieren, der sich unter @uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json
befindet. Zum Beispiel:
import {
abi as FACTORY_ABI ,
bytecode as FACTORY_BYTECODE ,
} from '@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json'
// deploy the bytecode
Dadurch wird sichergestellt, dass Sie mit demselben Bytecode testen, der im Mainnet und in öffentlichen Testnetzen bereitgestellt wird, und dass der gesamte Uniswap-Code korrekt mit Ihrer lokalen Bereitstellung interoperiert.
Die Uniswap v3-Schnittstellen stehen für den Import in Solidity Smart Contracts über das npm-Artefakt @uniswap/v3-core
zur Verfügung, z. B.:
import ' @uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol ' ;
contract MyContract {
IUniswapV3Pool pool;
function doSomethingWithPool () {
// pool.swap(...);
}
}
Die primäre Lizenz für Uniswap V3 Core ist die Business Source License 1.1 ( BUSL-1.1
), siehe LICENSE
. Einige Dateien sind jedoch unter GPL-2.0-or-later
doppelt lizenziert:
contracts/interfaces/
können auch unter GPL-2.0-or-later
lizenziert sein (wie in ihren SPDX-Headern angegeben), siehe contracts/interfaces/LICENSE
contracts/libraries/
können auch unter GPL-2.0-or-later
lizenziert sein (wie in ihren SPDX-Headern angegeben), siehe contracts/libraries/LICENSE
contracts/libraries/FullMath.sol
ist unter MIT
lizenziert (wie im SPDX-Header angegeben), siehe contracts/libraries/LICENSE_MIT
contracts/test
bleiben unlizenziert (wie in ihren SPDX-Headern angegeben).