94 lines
2.2 KiB
TypeScript
94 lines
2.2 KiB
TypeScript
|
import 'hardhat-typechain'
|
||
|
import '@nomiclabs/hardhat-ethers'
|
||
|
import '@nomiclabs/hardhat-waffle'
|
||
|
import '@nomiclabs/hardhat-etherscan'
|
||
|
import 'hardhat-watcher'
|
||
|
|
||
|
const LOW_OPTIMIZER_COMPILER_SETTINGS = {
|
||
|
version: '0.7.6',
|
||
|
settings: {
|
||
|
optimizer: {
|
||
|
enabled: true,
|
||
|
runs: 2_000,
|
||
|
},
|
||
|
metadata: {
|
||
|
bytecodeHash: 'none',
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
const LOWEST_OPTIMIZER_COMPILER_SETTINGS = {
|
||
|
version: '0.7.6',
|
||
|
settings: {
|
||
|
optimizer: {
|
||
|
enabled: true,
|
||
|
runs: 1_000,
|
||
|
},
|
||
|
metadata: {
|
||
|
bytecodeHash: 'none',
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
const DEFAULT_COMPILER_SETTINGS = {
|
||
|
version: '0.7.6',
|
||
|
settings: {
|
||
|
optimizer: {
|
||
|
enabled: true,
|
||
|
runs: 1_000_000,
|
||
|
},
|
||
|
metadata: {
|
||
|
bytecodeHash: 'none',
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
export default {
|
||
|
networks: {
|
||
|
hardhat: {
|
||
|
allowUnlimitedContractSize: false,
|
||
|
},
|
||
|
mainnet: {
|
||
|
url: `https://mainnet.infura.io/v3/${process.env.INFURA_API_KEY}`,
|
||
|
},
|
||
|
ropsten: {
|
||
|
url: `https://ropsten.infura.io/v3/${process.env.INFURA_API_KEY}`,
|
||
|
},
|
||
|
rinkeby: {
|
||
|
url: `https://rinkeby.infura.io/v3/${process.env.INFURA_API_KEY}`,
|
||
|
},
|
||
|
goerli: {
|
||
|
url: `https://goerli.infura.io/v3/${process.env.INFURA_API_KEY}`,
|
||
|
},
|
||
|
kovan: {
|
||
|
url: `https://kovan.infura.io/v3/${process.env.INFURA_API_KEY}`,
|
||
|
},
|
||
|
arbitrum: {
|
||
|
url: `http://localhost:8547`,
|
||
|
gas: 8000000,
|
||
|
},
|
||
|
},
|
||
|
etherscan: {
|
||
|
// Your API key for Etherscan
|
||
|
// Obtain one at https://etherscan.io/
|
||
|
apiKey: process.env.ETHERSCAN_API_KEY,
|
||
|
},
|
||
|
solidity: {
|
||
|
compilers: [DEFAULT_COMPILER_SETTINGS],
|
||
|
overrides: {
|
||
|
'contracts/NonfungiblePositionManager.sol': LOW_OPTIMIZER_COMPILER_SETTINGS,
|
||
|
'contracts/test/MockTimeNonfungiblePositionManager.sol': LOW_OPTIMIZER_COMPILER_SETTINGS,
|
||
|
'contracts/test/NFTDescriptorTest.sol': LOWEST_OPTIMIZER_COMPILER_SETTINGS,
|
||
|
'contracts/NonfungibleTokenPositionDescriptor.sol': LOWEST_OPTIMIZER_COMPILER_SETTINGS,
|
||
|
'contracts/libraries/NFTDescriptor.sol': LOWEST_OPTIMIZER_COMPILER_SETTINGS,
|
||
|
},
|
||
|
},
|
||
|
watcher: {
|
||
|
test: {
|
||
|
tasks: [{ command: 'test', params: { testFiles: ['{path}'] } }],
|
||
|
files: ['./test/**/*'],
|
||
|
verbose: true,
|
||
|
},
|
||
|
},
|
||
|
}
|