diff --git a/contracts/polygon/connectors/uniswap/v3/events.sol b/contracts/polygon/connectors/uniswap/v3/events.sol index 829fadd2..b464e28e 100644 --- a/contracts/polygon/connectors/uniswap/v3/events.sol +++ b/contracts/polygon/connectors/uniswap/v3/events.sol @@ -1,6 +1,14 @@ pragma solidity ^0.7.0; contract Events { + event LogcreateAndInitializePool ( + address tokenA, + address tokenB, + address pool, + uint24 fee, + int24 initialTick + ); + event LogMint( uint256 indexed tokenId, uint256 liquidity, diff --git a/contracts/polygon/connectors/uniswap/v3/helpers.sol b/contracts/polygon/connectors/uniswap/v3/helpers.sol index f43be452..f1ae3324 100644 --- a/contracts/polygon/connectors/uniswap/v3/helpers.sol +++ b/contracts/polygon/connectors/uniswap/v3/helpers.sol @@ -1,9 +1,9 @@ pragma solidity ^0.7.6; pragma abicoder v2; -import {TokenInterface} from "../../../common/interfaces.sol"; -import {DSMath} from "../../../common/math.sol"; -import {Basic} from "../../../common/basic.sol"; +import { TokenInterface} from "../../../common/interfaces.sol"; +import { DSMath } from "../../../common/math.sol"; +import { Basic } from "../../../common/basic.sol"; import "./interface.sol"; import "@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol"; import "@uniswap/v3-core/contracts/libraries/TickMath.sol"; @@ -65,6 +65,27 @@ abstract contract Helpers is DSMath, Basic { } } + function _createAndInitializePoolIfNecessary ( + address tokenA, + address tokenB, + uint24 fee, + int24 initialTick + ) internal returns (address pool) { + (TokenInterface token0Contract_, TokenInterface token1Contract_) = changeMaticAddress( + tokenA, + tokenB + ); + + (address token0_, address token1_) = sortTokenAddress(address(token0Contract_), address(token1Contract_)); + + return nftManager.createAndInitializePoolIfNecessary( + token0_, + token1_, + fee, + TickMath.getSqrtRatioAtTick(initialTick) + ); + } + /** * @dev Mint function which interact with Uniswap v3 */ diff --git a/contracts/polygon/connectors/uniswap/v3/main.sol b/contracts/polygon/connectors/uniswap/v3/main.sol index b6195a6f..4cb74195 100644 --- a/contracts/polygon/connectors/uniswap/v3/main.sol +++ b/contracts/polygon/connectors/uniswap/v3/main.sol @@ -11,6 +11,43 @@ import {Helpers} from "./helpers.sol"; import {Events} from "./events.sol"; abstract contract UniswapResolver is Helpers, Events { + + /** + * @dev Create and Initialize pool + * @notice Create and Initialize new pool if required + * @param tokenA tokenA addreess + * @param tokenB tokenB addreess + * @param fee fee percentage + * @param initialTick Initial tick for the pool + */ + function createAndInitializePool ( + address tokenA, + address tokenB, + uint24 fee, + int24 initialTick + ) + external + payable + returns (string memory _eventName, bytes memory _eventParam) + { + + address pool = _createAndInitializePoolIfNecessary( + tokenA, + tokenB, + fee, + initialTick + ); + + _eventName = "LogcreateAndInitializePool(address,address,address,uint24,int24)"; + _eventParam = abi.encode( + tokenA, + tokenB, + pool, + fee, + initialTick + ); + } + /** * @dev Mint New Position * @notice Mint New NFT LP Position diff --git a/hardhat.config.ts b/hardhat.config.ts index 1c102759..a8e617e1 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -39,15 +39,22 @@ const mnemonic = process.env.MNEMONIC ?? "test test test test test test test test test test test junk"; +const networkGasPriceConfig: Record = { + "mainnet": "160", + "polygon": "50", + "avalanche": "50", + "arbitrum": "2" +} + function createConfig(network: string) { return { url: getNetworkUrl(network), accounts: !!PRIVATE_KEY ? [`0x${PRIVATE_KEY}`] : { mnemonic }, + gasPrice: utils.parseUnits(networkGasPriceConfig[network], "gwei").toNumber(), }; } function getNetworkUrl(networkType: string) { - //console.log(process.env); if (networkType === "avalanche") return "https://api.avax.network/ext/bc/C/rpc"; else if (networkType === "polygon") @@ -112,7 +119,7 @@ const config: HardhatUserConfig = { tests: "./test", }, etherscan: { - apiKey: getScanApiKey(getNetworkUrl(String(process.env.networkType))), + apiKey: getScanApiKey(String(process.env.networkType)), }, typechain: { outDir: "typechain", diff --git a/yarn.lock b/yarn.lock index a5bbacb4..42a9309f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,27 @@ # yarn lockfile v1 +"@babel/code-frame@^7.0.0": + "integrity" "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz" + "version" "7.16.0" + dependencies: + "@babel/highlight" "^7.16.0" + +"@babel/helper-validator-identifier@^7.15.7": + "integrity" "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz" + "version" "7.15.7" + +"@babel/highlight@^7.16.0": + "integrity" "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz" + "version" "7.16.0" + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + "chalk" "^2.0.0" + "js-tokens" "^4.0.0" + "@babel/runtime@^7.4.4": "integrity" "sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA==" "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.5.tgz" @@ -1700,6 +1721,11 @@ dependencies: "acorn" "^4.0.3" +"acorn-jsx@^5.0.0": + "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + "version" "5.3.2" + "acorn-walk@^8.1.1": "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" @@ -1715,7 +1741,7 @@ "resolved" "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz" "version" "5.7.4" -"acorn@^6.4.1": +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^6.0.7", "acorn@^6.4.1": "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" "version" "6.4.2" @@ -1760,7 +1786,7 @@ "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" "version" "3.5.2" -"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.3", "ajv@^6.9.1", "ajv@>=5.0.0": +"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.3", "ajv@^6.6.1", "ajv@^6.9.1", "ajv@>=5.0.0": "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" "version" "6.12.6" @@ -1799,6 +1825,11 @@ "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz" "version" "3.2.3" +"ansi-escapes@^3.2.0": + "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" + "version" "3.2.0" + "ansi-escapes@^4.2.1", "ansi-escapes@^4.3.0": "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" @@ -1854,6 +1885,11 @@ dependencies: "color-convert" "^2.0.1" +"antlr4@4.7.1": + "integrity" "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==" + "resolved" "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz" + "version" "4.7.1" + "antlr4ts@^0.5.0-alpha.4": "integrity" "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==" "resolved" "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz" @@ -1996,6 +2032,16 @@ "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" "version" "1.0.0" +"ast-parents@0.0.1": + "integrity" "sha1-UI/Q8F0MSHddnszaLhdEIyYejdM=" + "resolved" "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz" + "version" "0.0.1" + +"astral-regex@^1.0.0": + "integrity" "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" + "version" "1.0.0" + "async-each@^1.0.1": "integrity" "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" "resolved" "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" @@ -2940,6 +2986,30 @@ "function-bind" "^1.1.1" "get-intrinsic" "^1.0.2" +"caller-callsite@^2.0.0": + "integrity" "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=" + "resolved" "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "callsites" "^2.0.0" + +"caller-path@^2.0.0": + "integrity" "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=" + "resolved" "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "caller-callsite" "^2.0.0" + +"callsites@^2.0.0": + "integrity" "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" + "version" "2.0.0" + +"callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + "camel-case@^3.0.0", "camel-case@3.0.x": "integrity" "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=" "resolved" "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz" @@ -3030,6 +3100,24 @@ "strip-ansi" "^3.0.0" "supports-color" "^2.0.0" +"chalk@^2.0.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^2.1.0", "chalk@^2.4.2": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + "chalk@^2.3.2": "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" @@ -3048,15 +3136,6 @@ "escape-string-regexp" "^1.0.5" "supports-color" "^5.3.0" -"chalk@^2.4.2": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - "chalk@^4.1.0": "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" @@ -3254,6 +3333,13 @@ dependencies: "source-map" "~0.6.0" +"cli-cursor@^2.1.0": + "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "restore-cursor" "^2.0.0" + "cli-cursor@^3.1.0": "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" @@ -3266,6 +3352,11 @@ "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz" "version" "2.6.1" +"cli-width@^2.0.0": + "integrity" "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" + "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz" + "version" "2.2.1" + "cli-width@^3.0.0": "integrity" "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" @@ -3396,6 +3487,11 @@ "resolved" "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz" "version" "2.17.1" +"commander@2.18.0": + "integrity" "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz" + "version" "2.18.0" + "commander@3.0.2": "integrity" "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" "resolved" "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz" @@ -3548,6 +3644,16 @@ "object-assign" "^4" "vary" "^1" +"cosmiconfig@^5.0.7": + "integrity" "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "import-fresh" "^2.0.0" + "is-directory" "^0.3.1" + "js-yaml" "^3.13.1" + "parse-json" "^4.0.0" + "crc-32@^1.2.0": "integrity" "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==" "resolved" "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz" @@ -3765,7 +3871,7 @@ dependencies: "ms" "^2.1.1" -"debug@^4.1.1", "debug@^4.3.1", "debug@4": +"debug@^4.0.1", "debug@^4.1.1", "debug@^4.3.1", "debug@4": "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==" "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" "version" "4.3.1" @@ -3984,6 +4090,13 @@ dependencies: "path-type" "^4.0.0" +"doctrine@^3.0.0": + "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" + "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "esutils" "^2.0.2" + "dom-converter@^0.2.0": "integrity" "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==" "resolved" "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" @@ -4103,6 +4216,11 @@ "minimalistic-assert" "^1.0.0" "minimalistic-crypto-utils" "^1.0.0" +"emoji-regex@^10.0.0": + "integrity" "sha512-KmJa8l6uHi1HrBI34udwlzZY1jOEuID/ft4d8BSSEdRyap7PwBEt910453PJa5MuGvxkLqlt4Uvhu7tttFHViw==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.0.0.tgz" + "version" "10.0.0" + "emoji-regex@^7.0.1": "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" @@ -4207,7 +4325,7 @@ dependencies: "prr" "~1.0.1" -"error-ex@^1.2.0": +"error-ex@^1.2.0", "error-ex@^1.3.1": "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" "version" "1.3.2" @@ -4357,6 +4475,11 @@ "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" "version" "1.0.5" +"escape-string-regexp@^4.0.0": + "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + "version" "4.0.0" + "escodegen@1.8.x": "integrity" "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=" "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz" @@ -4387,6 +4510,69 @@ "esrecurse" "^4.1.0" "estraverse" "^4.1.1" +"eslint-utils@^1.3.1": + "integrity" "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==" + "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz" + "version" "1.4.3" + dependencies: + "eslint-visitor-keys" "^1.1.0" + +"eslint-visitor-keys@^1.0.0", "eslint-visitor-keys@^1.1.0": + "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + "version" "1.3.0" + +"eslint@^5.6.0": + "integrity" "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==" + "resolved" "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz" + "version" "5.16.0" + dependencies: + "@babel/code-frame" "^7.0.0" + "ajv" "^6.9.1" + "chalk" "^2.1.0" + "cross-spawn" "^6.0.5" + "debug" "^4.0.1" + "doctrine" "^3.0.0" + "eslint-scope" "^4.0.3" + "eslint-utils" "^1.3.1" + "eslint-visitor-keys" "^1.0.0" + "espree" "^5.0.1" + "esquery" "^1.0.1" + "esutils" "^2.0.2" + "file-entry-cache" "^5.0.1" + "functional-red-black-tree" "^1.0.1" + "glob" "^7.1.2" + "globals" "^11.7.0" + "ignore" "^4.0.6" + "import-fresh" "^3.0.0" + "imurmurhash" "^0.1.4" + "inquirer" "^6.2.2" + "js-yaml" "^3.13.0" + "json-stable-stringify-without-jsonify" "^1.0.1" + "levn" "^0.3.0" + "lodash" "^4.17.11" + "minimatch" "^3.0.4" + "mkdirp" "^0.5.1" + "natural-compare" "^1.4.0" + "optionator" "^0.8.2" + "path-is-inside" "^1.0.2" + "progress" "^2.0.0" + "regexpp" "^2.0.1" + "semver" "^5.5.1" + "strip-ansi" "^4.0.0" + "strip-json-comments" "^2.0.1" + "table" "^5.2.3" + "text-table" "^0.2.0" + +"espree@^5.0.1": + "integrity" "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==" + "resolved" "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "acorn" "^6.0.7" + "acorn-jsx" "^5.0.0" + "eslint-visitor-keys" "^1.0.0" + "esprima@^2.7.1": "integrity" "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=" "resolved" "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz" @@ -4402,6 +4588,13 @@ "resolved" "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz" "version" "2.7.3" +"esquery@^1.0.1": + "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==" + "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "estraverse" "^5.1.0" + "esrecurse@^4.1.0": "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" @@ -4419,6 +4612,11 @@ "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" "version" "4.3.0" +"estraverse@^5.1.0": + "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + "version" "5.3.0" + "estraverse@^5.2.0": "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" @@ -4897,7 +5095,7 @@ "uuid" "2.0.1" "xmlhttprequest" "1.8.0" -"ethers@^5.0.0", "ethers@^5.0.1", "ethers@^5.0.13", "ethers@^5.0.2", "ethers@^5.1.0", "ethers@^5.1.3", "ethers@^5.4.7", "ethers@^5.5.2": +"ethers@^5.0.0", "ethers@^5.0.1", "ethers@^5.0.13", "ethers@^5.1.0", "ethers@^5.1.3", "ethers@^5.4.7", "ethers@^5.5.2": "integrity" "sha512-EF5W+6Wwcu6BqVwpgmyR5U2+L4c1FQzlM/02dkZOugN3KF0cG9bzHZP+TDJglmPm2/IzCEJDT7KBxzayk7SAHw==" "resolved" "https://registry.npmjs.org/ethers/-/ethers-5.5.2.tgz" "version" "5.5.2" @@ -5151,6 +5349,11 @@ "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" "version" "3.1.3" +"fast-diff@^1.1.2": + "integrity" "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" + "resolved" "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" + "version" "1.2.0" + "fast-glob@^3.0.3": "integrity" "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==" "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" @@ -5189,6 +5392,13 @@ "resolved" "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" "version" "3.5.2" +"figures@^2.0.0": + "integrity" "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=" + "resolved" "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "escape-string-regexp" "^1.0.5" + "figures@^3.0.0": "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" @@ -5196,6 +5406,13 @@ dependencies: "escape-string-regexp" "^1.0.5" +"file-entry-cache@^5.0.1": + "integrity" "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==" + "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "flat-cache" "^2.0.1" + "file-uri-to-path@1.0.0": "integrity" "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" @@ -5298,6 +5515,15 @@ dependencies: "micromatch" "^4.0.2" +"flat-cache@^2.0.1": + "integrity" "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==" + "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "flatted" "^2.0.0" + "rimraf" "2.6.3" + "write" "1.0.3" + "flat@^4.1.0": "integrity" "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==" "resolved" "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz" @@ -5305,6 +5531,11 @@ dependencies: "is-buffer" "~2.0.3" +"flatted@^2.0.0": + "integrity" "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + "resolved" "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz" + "version" "2.0.2" + "flow-stoplight@^1.0.0": "version" "1.0.0" @@ -5766,6 +5997,11 @@ "min-document" "^2.19.0" "process" "^0.11.10" +"globals@^11.7.0": + "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + "version" "11.12.0" + "globals@^9.18.0": "version" "9.18.0" @@ -6279,6 +6515,11 @@ "resolved" "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" "version" "0.1.5" +"ignore@^4.0.6": + "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + "version" "4.0.6" + "ignore@^5.1.1": "integrity" "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==" "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz" @@ -6299,6 +6540,22 @@ "resolved" "https://registry.npmjs.org/immutable/-/immutable-4.0.0-rc.12.tgz" "version" "4.0.0-rc.12" +"import-fresh@^2.0.0": + "integrity" "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "caller-path" "^2.0.0" + "resolve-from" "^3.0.0" + +"import-fresh@^3.0.0": + "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "parent-module" "^1.0.0" + "resolve-from" "^4.0.0" + "imul@^1.0.0": "integrity" "sha1-nVhnFh6LPelsLDjV3HyxAvNeKsk=" "resolved" "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz" @@ -6342,6 +6599,25 @@ "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" "version" "1.3.8" +"inquirer@^6.2.2": + "integrity" "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==" + "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz" + "version" "6.5.2" + dependencies: + "ansi-escapes" "^3.2.0" + "chalk" "^2.4.2" + "cli-cursor" "^2.1.0" + "cli-width" "^2.0.0" + "external-editor" "^3.0.3" + "figures" "^2.0.0" + "lodash" "^4.17.12" + "mute-stream" "0.0.7" + "run-async" "^2.2.0" + "rxjs" "^6.4.0" + "string-width" "^2.1.0" + "strip-ansi" "^5.1.0" + "through" "^2.3.6" + "inquirer@^8.2.0": "integrity" "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==" "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz" @@ -6525,6 +6801,11 @@ "is-data-descriptor" "^1.0.0" "kind-of" "^6.0.2" +"is-directory@^0.3.1": + "integrity" "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + "resolved" "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" + "version" "0.3.1" + "is-docker@^2.0.0": "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" @@ -6825,7 +7106,7 @@ "resolved" "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" "version" "0.8.0" -"js-tokens@^3.0.0 || ^4.0.0": +"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" "version" "4.0.0" @@ -6833,7 +7114,7 @@ "js-tokens@^3.0.2": "version" "3.0.2" -"js-yaml@^3.14.0", "js-yaml@3.x": +"js-yaml@^3.12.0", "js-yaml@^3.13.0", "js-yaml@^3.13.1", "js-yaml@^3.14.0", "js-yaml@3.x": "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" "version" "3.14.1" @@ -6870,7 +7151,7 @@ "resolved" "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz" "version" "0.5.7" -"json-parse-better-errors@^1.0.2": +"json-parse-better-errors@^1.0.1", "json-parse-better-errors@^1.0.2": "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" "version" "1.0.2" @@ -6903,6 +7184,11 @@ "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" "version" "0.2.3" +"json-stable-stringify-without-jsonify@^1.0.1": + "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + "version" "1.0.1" + "json-stable-stringify@^1.0.1": "version" "1.0.1" dependencies: @@ -7214,7 +7500,7 @@ "level-supports" "~1.0.0" "xtend" "~4.0.0" -"levn@~0.3.0": +"levn@^0.3.0", "levn@~0.3.0": "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=" "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" "version" "0.3.0" @@ -7325,7 +7611,7 @@ "resolved" "https://registry.npmjs.org/lodash.sum/-/lodash.sum-4.0.2.tgz" "version" "4.0.2" -"lodash@^4.17.11", "lodash@^4.17.14", "lodash@^4.17.15", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@^4.17.3": +"lodash@^4.17.11", "lodash@^4.17.12", "lodash@^4.17.14", "lodash@^4.17.15", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@^4.17.3": "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" "version" "4.17.21" @@ -7929,6 +8215,11 @@ "fmix" "^0.1.0" "imul" "^1.0.0" +"mute-stream@0.0.7": + "integrity" "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz" + "version" "0.0.7" + "mute-stream@0.0.8": "integrity" "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" @@ -7976,6 +8267,11 @@ "resolved" "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" "version" "1.0.2" +"natural-compare@^1.4.0": + "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + "version" "1.4.0" + "negotiator@0.6.2": "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" @@ -8314,6 +8610,13 @@ dependencies: "wrappy" "1" +"onetime@^2.0.0": + "integrity" "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "mimic-fn" "^1.0.0" + "onetime@^5.1.0": "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" @@ -8329,7 +8632,7 @@ "is-docker" "^2.0.0" "is-wsl" "^2.1.1" -"optionator@^0.8.1": +"optionator@^0.8.1", "optionator@^0.8.2": "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" "version" "0.8.3" @@ -8499,6 +8802,13 @@ dependencies: "no-case" "^2.2.0" +"parent-module@^1.0.0": + "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" + "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "callsites" "^3.0.0" + "parse-asn1@^5.0.0", "parse-asn1@^5.1.5": "integrity" "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==" "resolved" "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" @@ -8522,6 +8832,14 @@ dependencies: "error-ex" "^1.2.0" +"parse-json@^4.0.0": + "integrity" "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "error-ex" "^1.3.1" + "json-parse-better-errors" "^1.0.1" + "parse5-htmlparser2-tree-adapter@^6.0.1": "integrity" "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==" "resolved" "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz" @@ -8631,6 +8949,11 @@ "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" "version" "1.0.1" +"path-is-inside@^1.0.2": + "integrity" "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + "version" "1.0.2" + "path-key@^2.0.0", "path-key@^2.0.1": "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" @@ -8848,15 +9171,32 @@ "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" "version" "2.0.0" +"prettier-plugin-solidity@^1.0.0-beta.18": + "integrity" "sha512-xxRQ5ZiiZyUoMFLE9h7HnUDXI/daf1tnmL1msEdcKmyh7ZGQ4YklkYLC71bfBpYU2WruTb5/SFLUaEb3RApg5g==" + "resolved" "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.19.tgz" + "version" "1.0.0-beta.19" + dependencies: + "@solidity-parser/parser" "^0.14.0" + "emoji-regex" "^10.0.0" + "escape-string-regexp" "^4.0.0" + "semver" "^7.3.5" + "solidity-comments-extractor" "^0.0.7" + "string-width" "^4.2.3" + +"prettier@^1.14.3": + "integrity" "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" + "resolved" "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" + "version" "1.19.1" + "prettier@^1.18.2": "integrity" "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" "resolved" "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" "version" "1.19.1" -"prettier@^2.1.2": - "integrity" "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==" - "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz" - "version" "2.3.2" +"prettier@^2.1.2", "prettier@^2.3.0", "prettier@^2.4.1": + "integrity" "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==" + "resolved" "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz" + "version" "2.5.1" "pretty-error@^2.0.2": "integrity" "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==" @@ -8884,6 +9224,11 @@ "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" "version" "0.11.10" +"progress@^2.0.0": + "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + "version" "2.0.3" + "promise-inflight@^1.0.1": "integrity" "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" @@ -9283,6 +9628,11 @@ "define-properties" "^1.1.3" "es-abstract" "^1.17.0-next.1" +"regexpp@^2.0.1": + "integrity" "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz" + "version" "2.0.1" + "regexpu-core@^2.0.0": "version" "2.0.0" dependencies: @@ -9385,6 +9735,16 @@ "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" "version" "2.0.0" +"resolve-from@^3.0.0": + "integrity" "sha1-six699nWiBvItuZTM17rywoYh0g=" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" + "version" "3.0.0" + +"resolve-from@^4.0.0": + "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + "version" "4.0.0" + "resolve-url@^0.2.1": "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" @@ -9414,6 +9774,14 @@ dependencies: "lowercase-keys" "^1.0.0" +"restore-cursor@^2.0.0": + "integrity" "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "onetime" "^2.0.0" + "signal-exit" "^3.0.2" + "restore-cursor@^3.1.0": "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" @@ -9451,6 +9819,13 @@ dependencies: "glob" "^7.1.3" +"rimraf@2.6.3": + "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" + "version" "2.6.3" + dependencies: + "glob" "^7.1.3" + "ripemd160-min@0.0.6": "integrity" "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==" "resolved" "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz" @@ -9471,7 +9846,7 @@ dependencies: "bn.js" "^4.11.1" -"run-async@^2.4.0": +"run-async@^2.2.0", "run-async@^2.4.0": "integrity" "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" "version" "2.4.1" @@ -9495,6 +9870,13 @@ "resolved" "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz" "version" "0.2.0" +"rxjs@^6.4.0", "rxjs@6": + "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" + "version" "6.6.7" + dependencies: + "tslib" "^1.9.0" + "rxjs@^7.2.0": "integrity" "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==" "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz" @@ -9502,13 +9884,6 @@ dependencies: "tslib" "~2.1.0" -"rxjs@6": - "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - "version" "6.6.7" - dependencies: - "tslib" "^1.9.0" - "safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@^5.2.0", "safe-buffer@^5.2.1", "safe-buffer@~5.2.0": "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" @@ -9625,6 +10000,11 @@ "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" "version" "5.7.1" +"semver@^5.5.1": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + "semver@^5.7.0": "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" @@ -9831,6 +10211,15 @@ "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" "version" "3.0.0" +"slice-ansi@^2.1.0": + "integrity" "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==" + "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "ansi-styles" "^3.2.0" + "astral-regex" "^1.0.0" + "is-fullwidth-code-point" "^2.0.0" + "snake-case@^2.1.0": "integrity" "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=" "resolved" "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz" @@ -9923,6 +10312,33 @@ "semver" "^5.5.0" "tmp" "0.0.33" +"solhint@^3.3.6": + "integrity" "sha512-HWUxTAv2h7hx3s3hAab3ifnlwb02ZWhwFU/wSudUHqteMS3ll9c+m1FlGn9V8ztE2rf3Z82fQZA005Wv7KpcFA==" + "resolved" "https://registry.npmjs.org/solhint/-/solhint-3.3.6.tgz" + "version" "3.3.6" + dependencies: + "@solidity-parser/parser" "^0.13.2" + "ajv" "^6.6.1" + "antlr4" "4.7.1" + "ast-parents" "0.0.1" + "chalk" "^2.4.2" + "commander" "2.18.0" + "cosmiconfig" "^5.0.7" + "eslint" "^5.6.0" + "fast-diff" "^1.1.2" + "glob" "^7.1.3" + "ignore" "^4.0.6" + "js-yaml" "^3.12.0" + "lodash" "^4.17.11" + "semver" "^6.3.0" + optionalDependencies: + "prettier" "^1.14.3" + +"solidity-comments-extractor@^0.0.7": + "integrity" "sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==" + "resolved" "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz" + "version" "0.0.7" + "solidity-coverage@0.7.17": "integrity" "sha512-Erw2hd2xdACAvDX8jUdYkmgJlIIazGznwDJA5dhRaw4def2SisXN9jUjneeyOZnl/E7j6D3XJYug4Zg9iwodsg==" "resolved" "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.7.17.tgz" @@ -10147,7 +10563,7 @@ "is-fullwidth-code-point" "^1.0.0" "strip-ansi" "^3.0.0" -"string-width@^1.0.2 || 2", "string-width@^2.0.0": +"string-width@^1.0.2 || 2", "string-width@^2.0.0", "string-width@^2.1.0": "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" "version" "2.1.1" @@ -10173,6 +10589,15 @@ "is-fullwidth-code-point" "^3.0.0" "strip-ansi" "^6.0.1" +"string-width@^4.2.3": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" + "string.prototype.trim@~1.2.1": "version" "1.2.3" dependencies: @@ -10265,7 +10690,7 @@ "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz" "version" "2.0.0" -"strip-json-comments@~2.0.1", "strip-json-comments@2.0.1": +"strip-json-comments@^2.0.1", "strip-json-comments@~2.0.1", "strip-json-comments@2.0.1": "integrity" "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" "version" "2.0.1" @@ -10345,6 +10770,16 @@ "tar" "^4.0.2" "xhr-request" "^1.0.1" +"table@^5.2.3": + "integrity" "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==" + "resolved" "https://registry.npmjs.org/table/-/table-5.4.6.tgz" + "version" "5.4.6" + dependencies: + "ajv" "^6.10.2" + "lodash" "^4.17.14" + "slice-ansi" "^2.1.0" + "string-width" "^3.0.0" + "tapable@^0.2.7": "integrity" "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==" "resolved" "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz" @@ -10445,6 +10880,11 @@ "resolved" "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz" "version" "0.0.1" +"text-table@^0.2.0": + "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + "version" "0.2.0" + "through@^2.3.6": "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" @@ -12034,6 +12474,13 @@ "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" "version" "1.0.2" +"write@1.0.3": + "integrity" "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==" + "resolved" "https://registry.npmjs.org/write/-/write-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "mkdirp" "^0.5.1" + "ws@^3.0.0": "integrity" "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==" "resolved" "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz"