Uniswap v3 Deploy Hardhat Plugin не работает
Я выполнил шаги по развертыванию в https://www.youtube.com/watch?v=cZ7QMmm7hJc для настройки Uniswap v3 на основе Hardhat.
При создании нового проекта:
npm init
npm add --save-dev hardhat
npx hardhat - select create an empty config file
npm install --save-dev @nomiclabs/hardhat-ethers
// add: require("uniswap-v3-deploy-plugin"); to hardhat.config.js
// add: require("@nomiclabs/hardhat-ethers"); to hardhat.config.js
Первая проблема, с которой я столкнулся, заключалась в том, что мне пришлось понизить версию Node до версии 16.3.1.
npx hardhat
- я вижу "deploy-uniswap" в ДОСТУПНЫХ ЗАДАЧАХ
npx hardhat deploy-uniswap
приводит к неприятной ошибке, полной байт-кода и некоторых дополнительных деталей:
...3000706000a", code=INVALID_ARGUMENT, version=contracts/5.5.0)
at Logger.makeError (C:\DEV\uniswap-example2\node_modules\@ethersproject\logger\src.ts\index.ts:225:28)
at Logger.throwError (C:\DEV\uniswap-example2\node_modules\@ethersproject\logger\src.ts\index.ts:237:20)
at Logger.throwArgumentError (C:\DEV\uniswap-example2\node_modules\@ethersproject\logger\src.ts\index.ts:241:21)
at new ContractFactory (C:\DEV\uniswap-example2\node_modules\@ethersproject\contracts\src.ts\index.ts:1162:20)
at UniswapV3Deployer.deployContract (C:\DEV\uniswap-example2\node_modules\uniswap-v3-deploy-plugin\src\deployer\UniswapV3Deployer.ts:139:21)
at UniswapV3Deployer.deployPositionDescriptor (C:\DEV\uniswap-example2\node_modules\uniswap-v3-deploy-plugin\src\deployer\UniswapV3Deployer.ts:112:24)
at Function.deploy (C:\DEV\uniswap-example2\node_modules\uniswap-v3-deploy-plugin\src\deployer\UniswapV3Deployer.ts:27:47)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at runNextTicks (node:internal/process/task_queues:65:3)
at listOnTimeout (node:internal/timers:526:9) {
reason: 'invalid bytecode',
code: 'INVALID_ARGUMENT',
argument: 'bytecode',
value: '0x60c06040523480156100105760008...
Кажется, я не могу найти никакой другой информации по этому поводу.
2 ответа
Есть некоторые критические изменения в
uniswap/v3-periphery
и я решил это, переопределив зависимость в
package.json
:
"overrides": {
"@uniswap/v3-periphery": "1.0.1"
}
Подробности о переопределении здесь.
Попробуйте с:
"dependencies": {
"@openzeppelin/contracts": "4.4.2",
"@openzeppelin/contracts-upgradeable": "4.4.2",
"@uniswap/v3-core": "1.0.0",
"@uniswap/v3-periphery": "1.0.1",
"bignumber.js": "9.0.2",
"dotenv": "11.0.0",
"uniswap-v3-deploy-plugin": "0.1.0"
}